CS/ECE 438, CSE 425 Communication Networks Nikita Borisov ECE - - PowerPoint PPT Presentation

cs ece 438 cse 425 communication networks
SMART_READER_LITE
LIVE PREVIEW

CS/ECE 438, CSE 425 Communication Networks Nikita Borisov ECE - - PowerPoint PPT Presentation

CS/ECE 438, CSE 425 Communication Networks Nikita Borisov ECE Department, UIUC Course Information Instructor Prof. Nikita Borisov Office Hours: 460 CSL, 244-5385 10-12 Tuesdays nikita@uiuc.edu or by appointment TA Monika


slide-1
SLIDE 1

CS/ECE 438, CSE 425 Communication Networks

Nikita Borisov ECE Department, UIUC

slide-2
SLIDE 2

8/25/06 UIUC - CS/ECE 438, Fall 2006 2

Course Information

Instructor

  • Prof. Nikita Borisov

Office Hours:

460 CSL, 244-5385 10-12 Tuesdays nikita@uiuc.edu

  • r by appointment

TA

Monika Battala, battala2@uiuc.edu

Office hours TBA

Webpage

http://www.cs.uiuc.edu/class/fa06/cs438

Newsgroup

class.cs438 on news.cs.uiuc.edu

slide-3
SLIDE 3

8/25/06 UIUC - CS/ECE 438, Fall 2006 3

Acknowledgments

 Slides are adapted from Prof. Kravets  Some material contributed by Profs.

Luo, Lumetta, Hajek, Vaidya

 Some material from Larry Peterson &

James Kurose & Keith Ross

slide-4
SLIDE 4

8/25/06 UIUC - CS/ECE 438, Fall 2006 4

Prerequisites

 C Programming (CS241)

 Pre-req for ECE students is ECE290, but

ECE391/398SSL or C experience highly recommended

 Probability and Statistics (MATH

461,463 or ECE 413)

slide-5
SLIDE 5

8/25/06 UIUC - CS/ECE 438, Fall 2006 5

Textbook

 Computer Networks: A Top-Down Approach

Featuring the Internet, by Kurose & Ross, 3rd Edition

 We will be covering this text out of order

Ch 1

Ch 5 + some of 6

Ch 4

Ch 3

Some of Ch 2

slide-6
SLIDE 6

8/25/06 UIUC - CS/ECE 438, Fall 2006 6

Recommended Text

 UNIX Network Programming,

Volume 1, by Stevens

 There are 3 editions

 Second & third edition more up-to-date  First edition (1990) contains more

background on general UNIX programming

slide-7
SLIDE 7

8/25/06 UIUC - CS/ECE 438, Fall 2006 7

Grading Policy

 Homework

15%

 7 homework assignments

 Mid-term Exam

20%

 Oct 12

 Programming Projects

35%

 4 Programming projects  2% off per hour late

 Final Exam

30%

slide-8
SLIDE 8

8/25/06 UIUC - CS/ECE 438, Fall 2006 8

Homework and Projects

 Homeworks:

Due Wednesdays at 2:00 in class.

General extension to Thursdays at 2:00pm (hard deadline).

No questions to TA or on newsgroup after class

  • n Tuesday.

 Projects:

Project 1: 5%, Projects 2- 4: 10%

Due Fridays at 9:00pm.

slide-9
SLIDE 9

8/25/06 UIUC - CS/ECE 438, Fall 2006 9

Academic Honesty

 Your work in this class must be your own.  Penalties for excessive collaboration and

cheating are severe

 Sharing strategies and small code

fragments (5-10 lines) OK

 Sharing homework answers and large

sections of code forbidden

Don’t post these to newsgroup!

 If in doubt, ask the professor

slide-10
SLIDE 10

8/25/06 UIUC - CS/ECE 438, Fall 2006 10

One Unit Students

 Graduate students MAY take an extra unit

project in conjunction with this class

Graduate students

Register for 4 credits

Write a survey paper in a networking research area of your choice.

Project proposal with list of 10+ academic references (no URL’s) due September 22

Paper due last day of class

Undergraduates may not take this project course

slide-11
SLIDE 11

8/25/06 UIUC - CS/ECE 438, Fall 2006 11

Course Objectives

 At the end of the semester, you should be

able to:

Identify the problems that arise in networked communication

Explain the advantages and disadvantages of existing solutions to these problems in the context of different networking regimes

Understand the implications of a given solution for performance in various networking regimes

Evaluate novel approaches to these problems

slide-12
SLIDE 12

8/25/06 UIUC - CS/ECE 438, Fall 2006 12

Programming Objectives

 At the end of the semester, you should

be able to

 Identify and describe the purpose of each

component of the TCP/IP protocol suite

 Develop solid client-server applications

using TCP/IP

 Understand the impact of trends in

network hardware on network software issues

slide-13
SLIDE 13

8/25/06 UIUC - CS/ECE 438, Fall 2006 13

Course Contents

 Overview  UNIX Network Programming  Direct Link Networks  Multiple Access  Packet Switched Networks  Internetworking  Reliable Transport  Congestion Control, QoS & Fair Sharing  Performance Analysis and Queueing Theory

slide-14
SLIDE 14

8/25/06 UIUC - CS/ECE 438, Fall 2006 14

Connectivity

 Building Block

 Links:

coax cable, optical fiber, …

 Nodes:

workstations, routers, …

 Links:

 Point-to-point  Multiple access

slide-15
SLIDE 15

8/25/06 UIUC - CS/ECE 438, Fall 2006 15

Indirect Connectivity

 Switched Networks  Internetworks  Recursive definition of a

network

Two or more nodes connected by a physical link

Two or more networks connected by one or more nodes

slide-16
SLIDE 16

8/25/06 UIUC - CS/ECE 438, Fall 2006 15

Indirect Connectivity

 Switched Networks  Internetworks  Recursive definition of a

network

Two or more nodes connected by a physical link

Two or more networks connected by one or more nodes

slide-17
SLIDE 17

8/25/06 UIUC - CS/ECE 438, Fall 2006 15

Indirect Connectivity

 Switched Networks  Internetworks  Recursive definition of a

network

Two or more nodes connected by a physical link

Two or more networks connected by one or more nodes

slide-18
SLIDE 18

8/25/06 UIUC - CS/ECE 438, Fall 2006 16

Network Problems

slide-19
SLIDE 19

8/25/06 UIUC - CS/ECE 438, Fall 2006 16

Network Problems

 What must a network provide?

 Connectivity  Cost-effective Resource Sharing  Functionality  Performance

slide-20
SLIDE 20

8/25/06 UIUC - CS/ECE 438, Fall 2006 17

Addressing

 Addressing

Unique byte-string used to indicate which node is the target of communication

 Routing

The process of determining how to forward messages toward the destination node based on its address

 Types of Addresses

Unicast: node-specific

Broadcast: all nodes on the network

Multicast: subset of nodes on the network

slide-21
SLIDE 21

8/25/06 UIUC - CS/ECE 438, Fall 2006 18

Effects of Indirect Connectivity

Nodes receive data on one link and forward it onto the next -> switching network

Circuit Switching

Telephone

Stream-based (dedicated circuit)

Links reserved for use by communication channel

Send/receive bit stream at constant rate

Packet Switching

Internet

Message-based (store-and-forward)

Links used dynamically

Admission policies and other traffic determine bandwidth

slide-22
SLIDE 22

8/25/06 UIUC - CS/ECE 438, Fall 2006 19

Cost-Effective Sharing of Resources

 Physical links and switches must be shared

among many users

 Common multiplexing strategies

(Synchronous) time-division multiplexing (TDM)

Frequency-division multiplexing (FDM)

slide-23
SLIDE 23

8/25/06 UIUC - CS/ECE 438, Fall 2006 20

Circuit Switching: FDM and TDM

slide-24
SLIDE 24

8/25/06 UIUC - CS/ECE 438, Fall 2006 20

Circuit Switching: FDM and TDM

FDM frequency time

slide-25
SLIDE 25

8/25/06 UIUC - CS/ECE 438, Fall 2006 20

Circuit Switching: FDM and TDM

FDM frequency time 4 users Example:

slide-26
SLIDE 26

8/25/06 UIUC - CS/ECE 438, Fall 2006 20

Circuit Switching: FDM and TDM

FDM frequency time 4 users Example:

slide-27
SLIDE 27

8/25/06 UIUC - CS/ECE 438, Fall 2006 20

Circuit Switching: FDM and TDM

FDM frequency time 4 users Example:

slide-28
SLIDE 28

8/25/06 UIUC - CS/ECE 438, Fall 2006 20

Circuit Switching: FDM and TDM

FDM frequency time TDM frequency time 4 users Example:

slide-29
SLIDE 29

8/25/06 UIUC - CS/ECE 438, Fall 2006 20

Circuit Switching: FDM and TDM

FDM frequency time TDM frequency time 4 users Example:

slide-30
SLIDE 30

8/25/06 UIUC - CS/ECE 438, Fall 2006 20

Circuit Switching: FDM and TDM

FDM frequency time TDM frequency time 4 users Example:

slide-31
SLIDE 31

8/25/06 UIUC - CS/ECE 438, Fall 2006 20

Circuit Switching: FDM and TDM

FDM frequency time TDM frequency time 4 users Example:

slide-32
SLIDE 32

8/25/06 UIUC - CS/ECE 438, Fall 2006 20

Circuit Switching: FDM and TDM

FDM frequency time TDM frequency time 4 users Example:

slide-33
SLIDE 33

8/25/06 UIUC - CS/ECE 438, Fall 2006 21

Statistical Multiplexing

 Statistical Multiplexing (SM)

 On-demand time-division multiplexing  Scheduled on a per-packet basis  Packets from different sources are

interleaved

 Uses upper bounds to limit transmission

 Queue size determines capacity per source

slide-34
SLIDE 34

8/25/06 UIUC - CS/ECE 438, Fall 2006 22

Statistical Multiplexing in a Switch

Packets buffered in switch until forwarded

Selection of next packet depends on policy

How do we make these decisions in a fair manner? Round Robin? FIFO?

How should the switch handle congestion?

slide-35
SLIDE 35

8/25/06 UIUC - CS/ECE 438, Fall 2006 23

Functionality

 Support For Common Services

Goal

Meaningful communication between hosts on a network

Idea

Common services simplify the role of applications

Hide the complexity of the network without overly constraining the application designer

Semantics and interface depend on applications

Request/reply: FTP, HTTP, DNS

Message stream: video-on-demand, video conferencing

slide-36
SLIDE 36

8/25/06 UIUC - CS/ECE 438, Fall 2006 24

Channels

Channel

The abstraction for application-level communication

Idea

Turn host-to-host connectivity into process-to-process communication

slide-37
SLIDE 37

8/25/06 UIUC - CS/ECE 438, Fall 2006 24

Channels

Channel

The abstraction for application-level communication

Idea

Turn host-to-host connectivity into process-to-process communication

Host Host Host Host Host

Channel Channel

slide-38
SLIDE 38

8/25/06 UIUC - CS/ECE 438, Fall 2006 24

Channels

Channel

The abstraction for application-level communication

Idea

Turn host-to-host connectivity into process-to-process communication

Host Host Host Host Host

Channel Channel

APP APP

slide-39
SLIDE 39

8/25/06 UIUC - CS/ECE 438, Fall 2006 24

Channels

Channel

The abstraction for application-level communication

Idea

Turn host-to-host connectivity into process-to-process communication

Host Host Host Host Host

Channel Channel

Channel Channel

APP APP

slide-40
SLIDE 40

8/25/06 UIUC - CS/ECE 438, Fall 2006 25

Channel Implementation

 Question

 Where does the functionality belong?

 Middle (switches)?

Telephone system

 Edges (end hosts)?

Internet

slide-41
SLIDE 41

8/25/06 UIUC - CS/ECE 438, Fall 2006 26

Inter-process Communication

 Problems typically masked by

communication channel abstractions

Bit errors (electrical interference)

Packet errors (congestion)

Link/node failures

Message delays

Out-of-order delivery

Eavesdropping

 Goal

Fill the gap between what applications expect and what the underlying technology provides

slide-42
SLIDE 42

8/25/06 UIUC - CS/ECE 438, Fall 2006 27

Performance

... and to do so while delivering “good” performance.

Bandwidth/throughput

Data transmitted per unit time

Example: 10 Mbps

Link bandwidth vs. end-to-end bandwidth

Notation

KB = 210 bytes

Mbps = 106 bits per second

slide-43
SLIDE 43

8/25/06 UIUC - CS/ECE 438, Fall 2006 28

Performance

slide-44
SLIDE 44

8/25/06 UIUC - CS/ECE 438, Fall 2006 28

Performance

Latency/delay

slide-45
SLIDE 45

8/25/06 UIUC - CS/ECE 438, Fall 2006 28

Performance

Latency/delay

Time from A to B

slide-46
SLIDE 46

8/25/06 UIUC - CS/ECE 438, Fall 2006 28

Performance

Latency/delay

Time from A to B

Example: 30 msec (milliseconds)

slide-47
SLIDE 47

8/25/06 UIUC - CS/ECE 438, Fall 2006 28

Performance

Latency/delay

Time from A to B

Example: 30 msec (milliseconds)

Many applications depend on round-trip time (RTT)

slide-48
SLIDE 48

8/25/06 UIUC - CS/ECE 438, Fall 2006 28

Performance

Latency/delay

Time from A to B

Example: 30 msec (milliseconds)

Many applications depend on round-trip time (RTT)

Components

Transmission time

Propagation delay over links

Queueing delays

Software processing overheads

slide-49
SLIDE 49

8/25/06 UIUC - CS/ECE 438, Fall 2006 29

Performance Notes

Speed of Light

3.0 x 108 meters/second in a vacuum

2.3 x 108 meters/second in a cable

2.0 x 108 meters/second in a fiber

Comments

No queueing delays in a direct link

Bandwidth is not relevant if size = 1bit

Software overhead can dominate when distance is small

Key Point

Latency dominates small transmissions

Bandwidth dominates large

slide-50
SLIDE 50

8/25/06 UIUC - CS/ECE 438, Fall 2006 30

Delay x Bandwidth Product

 channel = pipe  delay = length  bandwidth = area of a cross section  bandwidth x delay product = volume

slide-51
SLIDE 51

8/25/06 UIUC - CS/ECE 438, Fall 2006 30

Delay x Bandwidth Product

 channel = pipe  delay = length  bandwidth = area of a cross section  bandwidth x delay product = volume

slide-52
SLIDE 52

8/25/06 UIUC - CS/ECE 438, Fall 2006 30

Delay x Bandwidth Product

 channel = pipe  delay = length  bandwidth = area of a cross section  bandwidth x delay product = volume

Bandwidth

slide-53
SLIDE 53

8/25/06 UIUC - CS/ECE 438, Fall 2006 30

Delay x Bandwidth Product

 channel = pipe  delay = length  bandwidth = area of a cross section  bandwidth x delay product = volume

Bandwidth Delay

slide-54
SLIDE 54

8/25/06 UIUC - CS/ECE 438, Fall 2006 31

Delay x Bandwidth Product

 Example: Transcontinental Channel

BW = 45 Mbps

delay = 50ms

bandwidth x delay product = (45 x 106 bits/sec) x (50 x 10–3 sec) = 2.25 x 106 bits  Bandwidth x delay product

How many bits the sender must transmit before the first bit arrives at the receiver if the sender keeps the pipe full

Takes another one-way latency to receive a response from the receiver

slide-55
SLIDE 55

8/25/06 UIUC - CS/ECE 438, Fall 2006 32

Bandwidth vs. Latency

 Relative importance

1-byte: Latency bound

1ms vs 100ms latency dominates 1Mbps vs 100Mbps BW

25MB: Bandwidth bound

1Mbps vs 100Mbps BW dominates 1ms vs 100ms latency

slide-56
SLIDE 56

8/25/06 UIUC - CS/ECE 438, Fall 2006 32

Bandwidth vs. Latency

 Relative importance

1-byte: Latency bound

1ms vs 100ms latency dominates 1Mbps vs 100Mbps BW

25MB: Bandwidth bound

1Mbps vs 100Mbps BW dominates 1ms vs 100ms latency 25MB 1 Mbps 1b 1Mbps 1ms 100 Mbps 1Mbps 100ms

slide-57
SLIDE 57

8/25/06 UIUC - CS/ECE 438, Fall 2006 33

Bandwidth vs. Latency

 Infinite bandwidth

 RTT dominates

 Throughput = TransferSize / TransferTime  TransferTime = RTT + 1/Bandwidth x

TransferSize

 Its all relative

 1-MB file to 1-Gbps link looks like a 1-KB

packet to 1-Mbps link

slide-58
SLIDE 58

8/25/06 UIUC - CS/ECE 438, Fall 2006 34

Network Architecture

 Challenge

Fill the gap between hardware capabilities and application expectations, and to do so while delivering “good” performance.

 Hardware and expectations are moving

targets.

 How do network designers cope with

complexity?

Layering

Protocols

Standards

slide-59
SLIDE 59

8/25/06 UIUC - CS/ECE 438, Fall 2006 35

Abstraction through Layering

Abstract system into layers:

Decompose the problem of building a network into manageable components

Each layer provides some functionality

Modular design provides flexibility

Modify layer independently

Allows alternative abstractions

slide-60
SLIDE 60

8/25/06 UIUC - CS/ECE 438, Fall 2006 35

Abstraction through Layering

Abstract system into layers:

Decompose the problem of building a network into manageable components

Each layer provides some functionality

Modular design provides flexibility

Modify layer independently

Allows alternative abstractions

Application programs Hardware Host-to-host connectivity Request/reply channel Message stream channel

slide-61
SLIDE 61

8/25/06 UIUC - CS/ECE 438, Fall 2006 36

Protocols

 Definition

A protocol is an abstract object that makes up the layers of a network system

A protocol provides a communication service that higher-layer objects use to exchange messages

Service interface:

To objects on the same computer that want to use its communication services

Peer interface:

To its counterpart on a different machine. peers communicate using the services of lower-level protocols

slide-62
SLIDE 62

8/25/06 UIUC - CS/ECE 438, Fall 2006 37

Interfaces

Host 1 Host 2

slide-63
SLIDE 63

8/25/06 UIUC - CS/ECE 438, Fall 2006 37

Interfaces

Host 1 Host 2

Lower-level Protocol (IP) Lower-level Protocol (IP)

slide-64
SLIDE 64

8/25/06 UIUC - CS/ECE 438, Fall 2006 37

Interfaces

Host 1 Host 2 Peer-to-peer interface

Lower-level Protocol (IP) Lower-level Protocol (IP)

slide-65
SLIDE 65

8/25/06 UIUC - CS/ECE 438, Fall 2006 37

Interfaces

Host 1 Host 2

Higher- level protocol (TCP) Higher- level protocol (TCP)

Peer-to-peer interface

Lower-level Protocol (IP) Lower-level Protocol (IP)

slide-66
SLIDE 66

8/25/06 UIUC - CS/ECE 438, Fall 2006 37

Interfaces

Host 1 Host 2 Service interface

Higher- level protocol (TCP) Higher- level protocol (TCP)

Peer-to-peer interface

Lower-level Protocol (IP) Lower-level Protocol (IP)

slide-67
SLIDE 67

8/25/06 UIUC - CS/ECE 438, Fall 2006 38

Terminology

 Term “protocol” is overloaded

 specification of peer-to-peer interface  module that implements this interface

slide-68
SLIDE 68

8/25/06 UIUC - CS/ECE 438, Fall 2006 39

Layering Concepts

 Encapsulation

Higher layer protocols create messages and send them via the lower layer protocols

These messages are treated as data by the lower-level protocol

Higher-layer protocol adds its own control information in the form of headers or trailers

 Multiplexing and Demultiplexing

Use protocol keys in the header to determine correct upper-layer protocol

slide-69
SLIDE 69

8/25/06 UIUC - CS/ECE 438, Fall 2006 40

Encapsulation

Application program

Request/ Reply Host-to-Host

DATA RRP HDR DATA

Application program

Request/ Reply Host-to-Host

DATA RRP HDR DATA HHP HDR RRP HDR DATA

slide-70
SLIDE 70

8/25/06 UIUC - CS/ECE 438, Fall 2006 41

OSI Architecture

 Open Systems Interconnect (OSI)

Architecture

 International Standards Organization

(ISO)

 International Telecommunications Union

(ITU, formerly CCITT)

 “X dot” series: X.25, X.400, X.500  Primarily a reference model

slide-71
SLIDE 71

8/25/06 UIUC - CS/ECE 438, Fall 2006 42

OSI Protocol Stack

Application Presentation Physical Transport Session Data Link Network

Application: Application specific protocols

Presentation: Format of exchanged data

Session: Name space for connection mgmt

Transport: Process-to-process channel

Network: Host-to-host packet delivery

Data Link: Framing of data bits

Physical: Transmission of raw bits

slide-72
SLIDE 72

8/25/06 UIUC - CS/ECE 438, Fall 2006 43

OSI Protocol Stack

Application Presentation Physical Transport Session Data Link Network Physical Data Link Network Application Presentation Physical Transport Session Data Link Network Host User- Level Host OS Kernel Router

slide-73
SLIDE 73

8/25/06 UIUC - CS/ECE 438, Fall 2006 44

Internet Architecture

 Internet Architecture (TCP/IP)

Developed with ARPANET and NSFNET

Internet Engineering Task Force (IETF)

Culture: implement, then standardize

OSI culture: standardize, then implement

Popular with release of Berkeley Software Distribution (BSD) Unix; i.e., frees software

Standard suggestions debated publicly through “requests for comments” (RFC’s)

We reject kings, presidents, and voting. We believe in rough consensus and running code. – David Clark

slide-74
SLIDE 74

8/25/06 UIUC - CS/ECE 438, Fall 2006 45

Internet Architecture – Hourglass Design

FTP TCP Modem ATM FDDI Ethernet IP UDP VoIP DNS HTTP

slide-75
SLIDE 75

8/25/06 UIUC - CS/ECE 438, Fall 2006 46

Internet Architecture

 Features:

 No strict layering  Hourglass shape – IP is the focal point

Application Network IP UDP TCP

slide-76
SLIDE 76

8/25/06 UIUC - CS/ECE 438, Fall 2006 47

Protocol Acronyms

(T)FTP - (Trivial) File Transfer Protocol

HTTP - HyperText Transport Protocol

DNS - Domain Name Service

SMTP – Simple Mail Transfer Protocol

NTP - Network Time Protocol

TCP - Transmission Control Protocol

UDP - User Datagram Protocol

IP - Internet Protocol

FDDI - Fiber Distributed Data Interface

ATM - Asynchronous Transfer Mode

slide-77
SLIDE 77

8/25/06 UIUC - CS/ECE 438, Fall 2006 48

Summary

 Goal

Understanding of computer network functionality, with experience building and using computer networks

 Steps

Identify what concepts we expect from a network

Define a layered architecture

Implement network protocols and application programs

slide-78
SLIDE 78

8/25/06 UIUC - CS/ECE 438, Fall 2006 49

Assignments

 Homework 1

 Due Wednesday September 6 at

2:00pm.

 Project 1

 Due Friday September 8 at 9:00pm.

 Both will be on website by end of

day today.