Top Banner
Ming Liu mgliu@cs.wisc.edu Introduction to Computer Networks CS640 https://pages.cs.wisc.edu/~mgliu/CS640/F21/ Introduction 1
31

Introduction to Computer Networks CS640 Introduction

Mar 14, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introduction to Computer Networks CS640 Introduction

Ming Liu [email protected]

Introduction to Computer Networks

CS640 https://pages.cs.wisc.edu/~mgliu/CS640/F21/

Introduction

1

Page 2: Introduction to Computer Networks CS640 Introduction

Today

Course logistics

Networks and applications

Network Requirements: a HW/SW View

2

Page 3: Introduction to Computer Networks CS640 Introduction

Administrative details

Graders • Aditya Kaushik Kota

[email protected]

• Srinivas Pothuraju

[email protected]

Teaching assistants • Hailey Johnson

- [email protected]

- Office: #3215, MW 1:00 to 2:00PM

• Partho Sarthi - [email protected]

- Office: #3209, WF 1:00 to 2:00PM

Instructors • Ming Liu

- [email protected]

- Office: #7379, TuTh 2:00 to 3:00PM

Course web site • https://pages.cs.wisc.edu/~mgliu/CS640/F21/

• Slides, readings, announcements, …

3

Page 4: Introduction to Computer Networks CS640 Introduction

Grading

5 programming labs (50%) • related to socket api, link layer, routing, forwarding, SDN, and transport • implementations (Java)

• teams of 2-3 people

4 written problem sets (10%) • exercises from the textbook • individual

2 in-class midterms (40%) • midterm1: 20%, 10/28/2021

• midterm2: 20%, 12/14/2021

4

Page 5: Introduction to Computer Networks CS640 Introduction

Reading and references

Required readings posted on the course web page • Complete each reading before the lecture of which it is assigned

Textbook • Larry Peterson and Bruce Davie, Computer Networks: A Systems Approach, Fifth

edition, Morgan Kauffmann, 2011, ISBN: 978-0123850591

Additional references • Check course web page

5

Page 6: Introduction to Computer Networks CS640 Introduction

Collaboration & late submission & advice

Participate • Ask and answer questions

Meet deadlines • Turn assignments in on time; Late penalty (see each assignment) • Start lab sooner than you think you need to

• Follow instructions for submitting codes (we have to be able to run and test it)

Working together is encouraged • Discussion of course materials, debugging issues, …

But final submission must be your own work! • Labs, homework, midterm …

6

Page 7: Introduction to Computer Networks CS640 Introduction

Goals of this class

#1: Understand principles and practice of networking

#2: How do network applications work? How to write applications that use the network?

#3: Performance and design trade-offs in network protocols and applications

7

Page 8: Introduction to Computer Networks CS640 Introduction

Today

Course logistics

Networks and applications

Network Requirements: a HW/SW View

8

Page 9: Introduction to Computer Networks CS640 Introduction

Goal of networking

Enable communication between networked applications on different end-points

9

Page 10: Introduction to Computer Networks CS640 Introduction

Goal of networking

Enable communication between networked applications on different end-points • End-points: computers, cell phones, …

• Networked applications: Web, video streaming, social networking, …

• Communication: transfer bits or information across a “network"

9

Page 11: Introduction to Computer Networks CS640 Introduction

How applications use network?

Applications use the network to send and receive messages

10

App A App B

Page 12: Introduction to Computer Networks CS640 Introduction

A popular application

World Wide Web, accessed using a browsers • https://pages.cs.wisc.edu/~mgliu/CS640/F21/index.html —> Uniform Resource Locator (URL) that locates objects on the Web

• https://pages.cs.wisc.edu/~mgliu/ —> host or machine that serves the page

• In retrieving this page, many messages are exchanged

• Retrieving an address for the host — 128.104.80.16

• Set up a connection to the host • Request object • Receive object • …

• Most of the objects are sent/recieved between your browser and a Web server running at 128.104.80.16

11

Page 13: Introduction to Computer Networks CS640 Introduction

Other application examples

On-demand streaming audio/video • Once delivery of content starts, we want “glitch-free” experience

• Different from WWW, where data is not consumed in a “continuous” manner

Real-time video/audio or cloud gaming • Tight timing constraints — millisecond scale

• When someone speaks at one end, the service should guarantee that heard at the

other end near simultaneously

12

Page 14: Introduction to Computer Networks CS640 Introduction

Network must understand application needs

What data rate ?

13

Traffic pattern (bursty or constant bit rate) ?

Traffic target? (multipoint or single destination, mobile or fixed)

Page 15: Introduction to Computer Networks CS640 Introduction

Network must understand application needs

What data rate ?

13

Traffic pattern (bursty or constant bit rate) ?

Traffic target? (multipoint or single destination, mobile or fixed)

But, we don’t know these in the first place!

Page 16: Introduction to Computer Networks CS640 Introduction

Uniqueness of computer networks

Older networks built for one application • Ratio, TV, …

Computer networks • Support very different applications with very different requirements • One of the key factors that drive the field

When a new application rise, • Basic communication support • Enhance the network design to provide unique performance (or others) requirements

14

Page 17: Introduction to Computer Networks CS640 Introduction

Three perspectives of “using” network

Network designers • Cost efficiency • How to build the hardware network fabric and design the software protocol?

Application developers • Performance

• How to achieve reliable message delivery within a certain amount of time?

Network operator • Manageability • How to detect a failure when there is no connections?

• How to add/remove/upgrade devices without breaking the service?15

Page 18: Introduction to Computer Networks CS640 Introduction

Three perspectives of “using” network

Network designers • Cost efficiency • How to build the hardware network fabric and design the software protocol?

Application developers • Performance

• How to achieve reliable message delivery within a certain amount of time?

Network operator • Manageability • How to detect a failure when there is no connections?

• How to add/remove/upgrade devices without breaking the service15

Page 19: Introduction to Computer Networks CS640 Introduction

Design requirements

#1: Scalable connectivity • Internet grows in the number of machines it connects every day. How do we connect them all?

16

Page 20: Introduction to Computer Networks CS640 Introduction

Design requirements

#1: Scalable connectivity • Internet grows in the number of machines it connects every day. How do we connect them all?

#2: Cost-efficient resource usage • When multiple devices communicate over the Internet, how do we ensure sharing the

network resources (e.g., limited bandwidth)?

• Ensure the network is used in an efficient and fair manner

16

Page 21: Introduction to Computer Networks CS640 Introduction

Design requirements

#1: Scalable connectivity • Internet grows in the number of machines it connects every day. How do we connect them all?

#2: Cost-efficient resource usage • When multiple devices communicate over the Internet, how do we ensure sharing the

network resources (e.g., limited bandwidth)?

• Ensure the network is used in an efficient and fair manner

16

#3: Support for common services • Many applications may need the same set of mechanisms • Extract the common requirements and make them available for many applications

Page 22: Introduction to Computer Networks CS640 Introduction

Today

Course logistics

Networks and applications

Network Requirements: a HW/SW View

17

Page 23: Introduction to Computer Networks CS640 Introduction

What hardware elements are used to build a network?

18

Page 24: Introduction to Computer Networks CS640 Introduction

What makes the network — node and link

Network = nodes + links • Node: PC, phone, sensor, server, …

• Link: coaxial cable, optical cable, wireless channel, …

Direct

Shared

End Point

Link

19

Page 25: Introduction to Computer Networks CS640 Introduction

What makes the network — switch

Network = nodes + links + switch • Switch: a multi-port bridge connecting different hardware

elements (like end points, switches, etc.)

End Point

Link

Switch

20

Page 26: Introduction to Computer Networks CS640 Introduction

Circuit switching v.s. Packet switching

Circuit switching • Establish an end-to-end connection before data transmission

• Example: telephone system

Disadvantages • The signaling overhead (between node) adds latency • Bandwidth waste due to resource reservation

• Reconfiguration is slow

Advantages • Fast and simple data transfer • Predictable performance due to channel isolation

21

Page 27: Introduction to Computer Networks CS640 Introduction

Circuit switching v.s. Packet switching

Packet switching • Divide each message into a sequence of discrete blocks of data

• Each block is called a packet, where the maximize size depends on the link capability • A packet carries information about the sender and receiver • Switches receive each packet and then decides where to forward based on addresses

Advantages • No setup time, no need to reserve resources • More efficient

Disadvantages • No isolation: congestion

• Address look up and forwarding22

Page 28: Introduction to Computer Networks CS640 Introduction

Circuit switching v.s. Packet switching

Packet switching • Divide each message into a sequence of discrete blocks of data

• Each block is called a packet, where the maximize size depends on the link capability • A packet carries information about the sender and receiver • Switches receive each packet and then decides where to forward based on addresses

Advantages • No setup time, no need to reserve resources • More efficient

Disadvantages • No isolation: congestion

• Address look up and forwarding

• We focus on packet switching for this course • We have seen a resurgence of circuit switching for optical networks used in data centers • Sirius: A Flat Datacenter Network with Nanosecond Optical Switching (Sigcomm’20)

23

Page 29: Introduction to Computer Networks CS640 Introduction

What makes the network — router

Network = nodes + links + switch + router • router: a multi-port bridge connecting different switched network

End Point

Link

Switch

Router

Switched network 1

Switched network 2

Switched network 3Internetwork

24

Page 30: Introduction to Computer Networks CS640 Introduction

The Internet

Recursively grouped interconnection of internetworks

End Point

Link

Switch

Router

ISP1

Campus

ISP2

Host A

Host C

Host B

25

Page 31: Introduction to Computer Networks CS640 Introduction

Summary

Today • Applications and their impact on networks and network design

• Network requirements: the hardware view

Next lecture • Network requirements: the software view

• Layering and protocols

26

Office hour: #3310, 2-3pm