CS 4470 Computer Networking Protocols 2 Introduction 2

  • Slides: 25
Download presentation
CS 4470 Computer Networking Protocols 2. Introduction 2 Huiping Guo Department of Computer Science

CS 4470 Computer Networking Protocols 2. Introduction 2 Huiping Guo Department of Computer Science California State University, Los Angeles

Outline r Protocols and layering r Internet architecture r Network performance 2. Introduction 2

Outline r Protocols and layering r Internet architecture r Network performance 2. Introduction 2 2 -2

Protocols and layering r What is layering m Modular approach to network functionality r

Protocols and layering r What is layering m Modular approach to network functionality r Example Application-to-application channels Host-to-host connectivity Link hardware 2. Introduction 2 2 -3

Why layering? r Networks are complex! r We need a way to organize the

Why layering? r Networks are complex! r We need a way to organize the structure of network functionalities and to reduce the design complexities r Benefits of layering m m m Interoperability Reuse Hiding underlying details 2. Introduction 2 2 -4

Many many Network Components Application Operating System Application Router Software (many protocols) Operating System

Many many Network Components Application Operating System Application Router Software (many protocols) Operating System Links Computer Protocol Software Router Hardware 2. Introduction 2 Network Interface Computer Bridge HW/SW 2 -5

Protocols and layering r What is a Protocol m Module in layered structure m

Protocols and layering r What is a Protocol m Module in layered structure m Set of rules governing communication between network elements (applications, hosts, routers) r Protocols define: m Interface to higher layers (API) m Interface to peer • Format and order of messages • Actions taken on receipt of a message 2. Introduction 2 1 -6

A human protocol and a computer network protocol TCP connection request Hi Hi TCP

A human protocol and a computer network protocol TCP connection request Hi Hi TCP connection response Got the time? Get http: //www. abc. com/img 1. jpg 2: 00 <file> time 2. Introduction 2 2 -7

Protocol interfaces r Each protocol offers an interface to its users, and expects one

Protocol interfaces r Each protocol offers an interface to its users, and expects one from the layers on which it builds m Syntax and semantics • Data formats • Interface characteristics, e. g. IP service model r Protocols build upon each other m Add value • E. g. , a reliable protocol running on top of IP m Reuse • E. g. , OS provides TCP, so apps don’t have to rewrite 2. Introduction 2 2 -8

Outline r Protocols and layering r Internet model r Network performance 2. Introduction 2

Outline r Protocols and layering r Internet model r Network performance 2. Introduction 2 2 -9

TCP/IP Model: the Internet model r Each layer relies on services from layer below

TCP/IP Model: the Internet model r Each layer relies on services from layer below r Each layer exports services to layer above r Interface between layers defines interaction m Hides implementation details m Layers can change without disturbing other layers 5 Application 4 Transport 3 Network 2 Data link 1 Physical 2. Introduction 2 2 -10

TCP/IP Model: the Internet model r application: supporting network applications m FTP, SMTP, HTTP

TCP/IP Model: the Internet model r application: supporting network applications m FTP, SMTP, HTTP r transport: application-application data transfer m TCP, UDP r network: routing of datagrams from source to destination. Node-node data transfer m IP, routing protocols r link: data transfer between neighboring network elements m PPP, Ethernet r physical: bits “on the wire” 2. Introduction 2 2 -11

TCP/IP protocols suite FTP HTTP NV TCP TFTP Applications UDP TCP UDP Waist IP

TCP/IP protocols suite FTP HTTP NV TCP TFTP Applications UDP TCP UDP Waist IP Data Link NET 1 NET 2 … NETn Physical The Hourglass Model The waist facilitates interoperability 2. Introduction 2 2 -12

Protocols for Interoperability r Many implementations of many technologies: m Hosts running Free. BSD,

Protocols for Interoperability r Many implementations of many technologies: m Hosts running Free. BSD, Linux, Windows, Mac. OS, m People using Mozilla, Explorer, Opera, … m Routers made by cisco, juniper, … m Hardware made by IBM, Dell, Apple, … r And they change all the time. r But they can all talk together because they use the same protocol(s) m m Application level protocols: HTTP, SMTP, POP, IMAP, etc. Hardware protocols (ethernet, etc) 2. Introduction 2 2 -13

Protocols for Abstraction & Reuse r Multiple choices of protocol at many layers m

Protocols for Abstraction & Reuse r Multiple choices of protocol at many layers m Physical: copper, fiber, air, carrier pigeon m Link: ethernet, token ring, SONET, FDDI m Transport: TCP, UDP, SCTP r But we don’t want to have to write “a web (HTTP) browser for TCP networks running IP over Ethernet on Copper” and another for the fiber version… m m m Reuse! Abstraction! Protocols provide a standard interface to write to Layers hide the details of the protocols below 2. Introduction 2 2 -14

TCP/IP protocols suite B A HTTP message HTTP TCP segment TCP router IP Ethernet

TCP/IP protocols suite B A HTTP message HTTP TCP segment TCP router IP Ethernet interface HTTP IP packet IP Ethernet interface TCP router IP packet SONET interface 2. Introduction 2 SONET interface IP IP packet Ethernet interface IP Ethernet interface 2 -15

Layer Encapsulation User A User B Get index. html Connection ID Source/Destination Link Address

Layer Encapsulation User A User B Get index. html Connection ID Source/Destination Link Address 2. Introduction 2 2 -16

Outline r Protocols and layering r Internet architecture r Network performance 2. Introduction 2

Outline r Protocols and layering r Internet architecture r Network performance 2. Introduction 2 2 -17

Delay A B 2. Introduction 2 2 -18

Delay A B 2. Introduction 2 2 -18

Delay r Queuing r Processing m m check bit errors determine output link m

Delay r Queuing r Processing m m check bit errors determine output link m m time waiting at output link for transmission depends on congestion level of router transmission A propagation C B nodal processing 2. Introduction 2 D queueing 2 -19

Delay r Transmission delay m m m R=link bandwidth (bps) L=packet length (bits) time

Delay r Transmission delay m m m R=link bandwidth (bps) L=packet length (bits) time to send bits into link = L/R r Propagation delay m m m d = length of physical link s = propagation speed in medium (~2 x 108 m/sec) propagation delay = d/s transmission A propagation B nodal processing 2. Introduction 2 queueing 2 -20

Nodal Delay r dproc = processing delay m typically a few microsecs or less

Nodal Delay r dproc = processing delay m typically a few microsecs or less r dqueue = queuing delay m depends on congestion r dtrans = transmission delay m = L/R, significant for low-speed links r dprop = propagation delay m = distance/propagation speed m a few microsecs to hundreds of msecs http: //mediaplayer. pearsoncmg. com/_ph_cc_ecs_set. title. Propagation _Delay_and_Transmission_Delay_(Chapter_01)__/aw/streaming/ecs_ kurose_compnetw_6/Prop. And. Transmit. m 4 v 2. Introduction 2 2 -21

Queueing delay r R=link bandwidth (bps) r L=packet length (bits) r a=average packet arrival

Queueing delay r R=link bandwidth (bps) r L=packet length (bits) r a=average packet arrival rate traffic intensity = La/R r La/R ~ 0: average queueing delay small r La/R -> 1: delays become large r La/R > 1: more “work” arriving than can be serviced, average delay infinite! 2. Introduction 2 2 -22

Packet loss r queue (aka buffer) preceding link in buffer has finite capacity r

Packet loss r queue (aka buffer) preceding link in buffer has finite capacity r when packet arrives to full queue, packet is dropped ( lost) r lost packet may be retransmitted by previous node, by source end system, or not retransmitted at all 2. Introduction 2 2 -23

Traceroute r Diagnostic tool r http: //www. traceroute. org/ m m m sends three

Traceroute r Diagnostic tool r http: //www. traceroute. org/ m m m sends three packets that will reach router i on path towards destination router i will return packets to sender times interval between transmission and reply. 3 probes 2. Introduction 2 2 -24

“Real” Internet delays and routes traceroute: gaia. cs. umass. edu to www. eurecom. fr

“Real” Internet delays and routes traceroute: gaia. cs. umass. edu to www. eurecom. fr Three delay measurements from gaia. cs. umass. edu to cs-gw. cs. umass. edu 1 cs-gw (128. 119. 240. 254) 1 ms 2 border 1 -rt-fa 5 -1 -0. gw. umass. edu (128. 119. 3. 145) 1 ms 2 ms 3 cht-vbns. gw. umass. edu (128. 119. 3. 130) 6 ms 5 ms 4 jn 1 -at 1 -0 -0 -19. wor. vbns. net (204. 147. 132. 129) 16 ms 11 ms 13 ms 5 jn 1 -so 7 -0 -0 -0. wae. vbns. net (204. 147. 136) 21 ms 18 ms 6 abilene-vbns. abilene. ucaid. edu (198. 32. 11. 9) 22 ms 18 ms 22 ms 7 nycm-wash. abilene. ucaid. edu (198. 32. 8. 46) 22 ms trans-oceanic 8 62. 40. 103. 253 (62. 40. 103. 253) 104 ms 109 ms 106 ms link 9 de 2 -1. de. geant. net (62. 40. 96. 129) 109 ms 102 ms 104 ms 10 de. fr 1. fr. geant. net (62. 40. 96. 50) 113 ms 121 ms 114 ms 11 renater-gw. fr 1. fr. geant. net (62. 40. 103. 54) 112 ms 114 ms 112 ms 12 nio-n 2. cssi. renater. fr (193. 51. 206. 13) 111 ms 114 ms 116 ms 13 nice. cssi. renater. fr (195. 220. 98. 102) 123 ms 125 ms 124 ms 14 r 3 t 2 -nice. cssi. renater. fr (195. 220. 98. 110) 126 ms 124 ms 15 eurecom-valbonne. r 3 t 2. ft. net (193. 48. 50. 54) 135 ms 128 ms 133 ms 16 194. 211. 25 (194. 211. 25) 126 ms 128 ms 126 ms 17 * * means no response (probe lost, router not replying) 18 * * * 19 fantasia. eurecom. fr (193. 55. 113. 142) 132 ms 128 ms 136 ms 2. Introduction 2 2 -25