Chapter 1 Introduction

Similar documents
Chapter 3- parte B outline

10 minutes survey (anonymous)

Chapter 3 Transport Layer

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 9

Chapter 3 outline. 3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management

Chapter 3 Transport Layer

Chapter 3 Transport Layer

Chapter 3 Transport Layer

Computer Networking Introduction

CS 4390 Computer Networks. Pointers to Corresponding Section of Textbook

TCP (Part 2) Session 10 INST 346 Technologies, Infrastructure and Architecture

The Transport Layer: Review

Chapter 3 Transport Layer

CSC 401 Data and Computer Communications Networks

Chapter III: Transport Layer

Chapter III: Transport Layer

TCP reliable data transfer. Chapter 3 outline. TCP sender events: TCP sender (simplified) TCP: retransmission scenarios. TCP: retransmission scenarios

Application. Transport. Network. Link. Physical

CSE 4/589 Midterm Review. Hengtong Zhang SUNY Buffalo 10/30/2018

TCP: Overview RFCs: 793,1122,1323, 2018, 2581

Routers. Session 12 INST 346 Technologies, Infrastructure and Architecture

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

Computer Communication Networks Midterm Review

HW3 and Quiz. P14, P24, P26, P27, P28, P31, P37, P43, P46, P55, due at 3:00pm with both soft and hard copies, 11/11/2013 (Monday) TCP), 20 mins

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 11

rdt3.0: channels with errors and loss

internet technologies and standards

Pipelined protocols: overview

internet technologies and standards

Lecture 8. TCP/IP Transport Layer (2)

Chapter 3 Transport Layer

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 10

Outline. TCP: Overview RFCs: 793, 1122, 1323, 2018, Development of reliable protocol Sliding window protocols

CNT 6885 Network Review on Transport Layer

Outline. TCP: Overview RFCs: 793, 1122, 1323, 2018, steam: r Development of reliable protocol r Sliding window protocols

CC451 Computer Networks

Suprakash Datta. Office: CSEB 3043 Phone: ext Course page:

Course on Computer Communication and Networks. Lecture 5 Chapter 3; Transport Layer, Part B

Chapter 4 Network Layer

Lecture 12: Transport Layer TCP again

Lecture 08: The Transport Layer (Part 2) The Transport Layer Protocol (TCP) Dr. Anis Koubaa

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

CSE 3214: Computer Network Protocols and Applications Network Layer

Correcting mistakes. TCP: Overview RFCs: 793, 1122, 1323, 2018, TCP seq. # s and ACKs. GBN in action. TCP segment structure

CSE 4213: Computer Networks II

Chapter 4. Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, sl April 2009.

NT1210 Introduction to Networking. Unit 10

32 bits. source port # dest port # sequence number acknowledgement number not used. checksum. Options (variable length)

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control

Lecture 5. Transport Layer. Transport Layer 1-1

CS 3516: Computer Networks

Chapter 3 Transport Layer

Chapter 4 Network Layer: The Data Plane. Part A. Computer Networking: A Top Down Approach

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP

RSC Part III: Transport Layer 3. TCP

CSC358 Week 5. Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright J.F Kurose and K.W. Ross, All Rights Reserved

CMSC 332 Computer Networks Network Layer

ENEE 457: Computer Systems Security 11/07/16. Lecture 18 Computer Networking Basics

The Transport Layer: TCP & Congestion Control

CS118 Discussion 1A, Week 4. Zengwen Yuan Dodd Hall 78, Friday 10:00 11:50 a.m.

Transport Layer: outline

CSC 8560 Computer Networks: TCP

Last time. Wireless link-layer. Introduction. Characteristics of wireless links wireless LANs networking. Cellular Internet access

Computer Networking: A Top Down Approach

Fall 2012: FCM 708 Bridge Foundation I

Chapter 3 Transport Layer

CSCD 330 Network Programming

Chapter 3: Transport Layer. Chapter 3 Transport Layer. Chapter 3 outline. Transport services and protocols

Network layer overview

CSC 401 Data and Computer Communications Networks

Chapter 3 outline. Chapter 3: Transport Layer. Transport vs. network layer. Transport services and protocols. Internet transport-layer protocols

Chapter 6 Transport Layer

TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581

Foundations of Telematics

TCP. TCP: Overview. TCP Segment Structure. Maximum Segment Size (MSS) Computer Networks 10/19/2009. CSC 257/457 - Fall

LECTURE 3 - TRANSPORT LAYER

Transport Layer: Outline

Chapter 3 Transport Layer

CS450 Introduc0on to Networking Lecture 14 TCP. Phu Phung Feb 13, 2015

Chapter 3: Transport Layer

Chapter 3: Transport Layer

TSIN02 - Internetworking

CSC 4900 Computer Networks: TCP

Computer Communication Networks Midterm Review

Computer Networks. Instructor: Niklas Carlsson

COMP211 Chapter 3 Transport Layer

Master Course Computer Networks IN2097

Chapter 3 Transport Layer

TSIN02 - Internetworking

Chapter 3: Transport Layer

The Transport Layer: TCP & Reliable Data Transfer

Transport Layer. CMPS 4750/6750: Computer Networks

Chapter 4: network layer

Mid Term Exam Results

Chapter 3: Transport Layer

Go-Back-N. Pipelining: increased utilization. Pipelined protocols. GBN: sender extended FSM

Transmission Control Protocol

TCP : Fundamentals of Computer Networks Bill Nace

CSCE 463/612 Networks and Distributed Processing Spring 2017

Chapter 3: Transport Layer Part A

Transcription:

Reiew for Midterm

Chapter 1 Introduction Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Slides adopted from original ones proided by the textbook authors. Introduction 1-2

Chapter 1: roadmap 1.1 what is the Internet? 1.2 network edge end systems, access networks, links 1.3 network core packet switching, circuit switching, network structure 1.4 delay, loss, throughput in networks 1.5 protocol layers, serice models 1.6 networks under attack: security 1.7 history Introduction 1-3

Access networks DSL: seeral Mbps, dedicated access Cable: tens of Mbps, shared access Ethernet: up to Gbps, shared access Wireless: WIFI/cellular, shared access Keep in mind: bandwidth (bits per second) of access network? shared or dedicated? Introduction 1-4

Physical Media guided media Twisted pair: Ethernet Coax: cable networks Fiber: optical networks unguided media terrestrial microwae LAN (e.g., Wifi) wide-area (e.g., cellular) satellite Introduction 1-5

Chapter 1: roadmap 1.1 what is the Internet? 1.2 network edge end systems, access networks, links 1.3 network core circuit switching, packet switching, network structure 1.4 delay, loss, throughput in networks 1.5 protocol layers, serice models 1.6 networks under attack: security 1.7 history Introduction 1-6

Circuit switching end-end resources allocated to, resered for call between source & dest: link bandwidth, switch capacity dedicated resources: no sharing circuit-like (guaranteed) performance call setup required P3 Introduction 1-7

Network Core: Packet Switching each end-end data stream diided into packets user A, B packets share network resources each packet uses full link bandwidth resources used as needed resource contention: aggregate resource demand can exceed amount aailable congestion: packets queue, wait for link use store and forward: packets moe one hop at a time P5 P8 Introduction 1-8

Chapter 1: roadmap 1.1 what is the Internet? 1.2 network edge end systems, access networks, links 1.3 network core packet switching, circuit switching, network structure 1.4 delay, loss, throughput in networks 1.5 protocol layers, serice models 1.6 networks under attack: security 1.7 history Introduction 1-9

Nodal delay d = d + d + d + nodal proc queue trans d prop d proc = processing delay typically a few microsecs or less d queue = queuing delay depends on congestion d trans = transmission delay = L/R, significant for low-speed links d prop = propagation delay a few microsecs to hundreds of msecs P10 Introduction 1-10

Other Performance Metrics Packet loss: due to buffer oerflow Throughput: data transmission rate, constrained by bottleneck link Introduction 1-11

Chapter 1: roadmap 1.1 what is the Internet? 1.2 network edge end systems, access networks, links 1.3 network core packet switching, circuit switching, network structure 1.4 delay, loss, throughput in networks 1.5 protocol layers, serice models 1.6 networks under attack: security 1.7 history Introduction 1-12

Internet protocol stack application: supporting network applications FTP, SMTP, HTTP transport: process-process data transfer TCP, UDP network: routing of datagrams from source to destination IP, routing protocols link: data transfer between neighboring network elements Ethernet, 802.11 (WiFi), PPP physical: bits on the wire application transport network link physical Introduction 1-13

Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Slides adopted from original ones proided by the textbook authors. Application Layer 2-14

Chapter 2: outline 2.1 Principles of network applications 2.2 Web and HTTP 2.3 FTP 2.4 Electronic mail SMTP, POP3, IMAP 2.5 DNS 2.6 P2P applications 2.7 Socket programming with UDP and TCP Application Layer 2-15

Application architectures Client-serer Always-on serer, intermittently connected client. Serers are bottlenecks. Peer-to-peer (P2P) Peers intermittently connected. Highly scalable but difficult to manage. Application Layer 2-16

Internet transport protocols serices TCP serice: reliable transport between sending and receiing process flow control: sender won t oerwhelm receier congestion control: throttle sender when network oerloaded does not proide: timing, minimum throughput guarantee, security connection-oriented: setup required between client and serer processes UDP serice: unreliable data transfer between sending and receiing process does not proide: reliability, flow control, congestion control, timing, throughput guarantee, security, orconnection setup, Application Layer 2-17

Chapter 2: outline 2.1 principles of network applications app architectures app requirements 2.2 Web and HTTP (P4 P7 P8 P9) 2.3 FTP 2.4 electronic mail SMTP, POP3, IMAP 2.5 DNS 2.6 P2P applications (P22 P26) Basic info and techniques of each protocol. No programming questions. Application Layer 2-18

Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Slides adopted from original ones proided by the textbook authors. Transport Layer 3-19

Chapter 3 outline 3.1 transport-layer serices 3.2 multiplexing and demultiplexing 3.3 connectionless transport: UDP 3.4 principles of reliable data transfer 3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management 3.6 principles of congestion control 3.7 TCP congestion control Transport Layer 3-20

Transport s. network layer network layer: logical communication between hosts transport layer: logical communication between processes relies on, enhances, network layer serices two transport-layer protocols reliable, in-order deliery: TCP unreliable, unordered deliery: UDP Transport Layer 3-21

Chapter 3 outline 3.1 transport-layer serices 3.2 multiplexing and demultiplexing 3.3 connectionless transport: UDP 3.4 principles of reliable data transfer 3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management 3.6 principles of congestion control 3.7 TCP congestion control Transport Layer 3-22

Demultiplexing UDP socket identified by 2-tuple: dest IP address dest port number TCP socket identified by 4-tuple: source IP address source port number dest IP address dest port number Transport Layer 3-23

Chapter 3 outline 3.1 transport-layer serices 3.2 multiplexing and demultiplexing 3.3 connectionless transport: UDP 3.4 principles of reliable data transfer 3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management 3.6 principles of congestion control 3.7 TCP congestion control Transport Layer 3-24

UDP: User Datagram Protocol [RFC 768] best effort serice, UDP segments may be: lost deliered out-of-order to app connectionless: no handshaking between UDP sender, receier each UDP segment handled independently of others source port # dest port # length 32 bits application data (payload) checksum UDP segment format Transport Layer 3-25

Internet checksum (P4) Goal: detect errors (e.g., flipped bits) in transmitted segment When adding numbers, a carryout from the most significant bit needs to be added to the result checksum: 1s compliment of sum 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 wraparound sum checksum 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 Transport Layer 3-26

Chapter 3 outline 3.1 transport-layer serices 3.2 multiplexing and demultiplexing 3.3 connectionless transport: UDP 3.4 principles of reliable data transfer 3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management 3.6 principles of congestion control 3.7 TCP congestion control Transport Layer 3-27

Reliable Data Transfer TCP requires reliable data transfer, but IP is not reliable. Versions of rdt (P14) rdt1.0: oer a reliable channel rdt2.0: channel with bit errors -> checksum, ACK/NAK, retransmission rdt2.1: with corrupted ACK/NAKs -> retransmission, sequence # rdt2.2: without NAKs -> ACK retransmission rdt3.0: channels with packet loss -> timer Transport Layer 3-28

Pipelined protocols (P23, P24) increased utilization: go-back-n U sender = n L / R RR RTT + L / R always send ACK for correctly-receied pkt with highest inorder seq # timeout(n): retransmit pkt n and all higher seq # pkts in window seq # size = window size + 1 selectie repeat receier indiidually acknowledges all correctly receied pkts timeout(n): sender only resends pkts for which ACK not receied seq # size = window size * 2 Transport Layer 3-29

Chapter 3 outline 3.1 transport-layer serices 3.2 multiplexing and demultiplexing 3.3 connectionless transport: UDP 3.4 principles of reliable data transfer 3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management 3.6 principles of congestion control 3.7 TCP congestion control Transport Layer 3-30

TCP segment structure URG: urgent data (generally not used) ACK: ACK # alid PSH: push data now (generally not used) RST, SYN, FIN: connection estab (setup, teardown commands) Internet checksum (as in UDP) 32 bits source port # dest port # head len sequence number acknowledgement number not used UAP R S F checksum receie window application data (ariable length) Urg data pointer options (ariable length) counting by bytes of data (not segments!) # bytes rcr willing to accept Transport Layer 3-31

Maximum segment size (MSS) MSS: maximum bytes of TCP payload Sequence #: byte-stream # of first byte in segment E.g. file size 500,000 bytes, MSS 1,000 bytes Transport Layer 3-32

TCP seq. # s and ACKs (P27) Seq. # s: byte stream number of first byte in segment s data ACKs: seq # of next byte expected from other side cumulatie ACK Setting the time out TimeoutInteral = EstimatedRTT + 4*DeRTT EstimatedRTT = (1- α)*estimatedrtt + α*samplertt DeRTT = (1-β)*DeRTT + β* SampleRTT-EstimatedRTT Transport Layer 3-33

Chapter 3 outline 3.1 transport-layer serices 3.2 multiplexing and demultiplexing 3.3 connectionless transport: UDP 3.4 principles of reliable data transfer 3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management 3.6 principles of congestion control 3.7 TCP congestion control Transport Layer 3-34

TCP sender eents: data rcd from app: create segment with seq # seq # is byte-stream number of first data byte in segment start timer if not already running think of timer as for oldest unacked segment expiration interal: TimeOutInteral timeout: retransmit segment that caused timeout restart timer ack rcd: if ack acknowledges preiously unacked segments update ACK status start timer if there are still unacked segments triple duplicate ACKs: retransmit Transport Layer 3-35

TCP receier eents eent at receier arrial of in-order segment with expected seq #. All data up to expected seq # already ACKed arrial of in-order segment with expected seq #. One other segment has ACK pending arrial of out-of-order segment higher-than-expect seq. #. Gap detected arrial of segment that partially or completely fills gap TCP receier action delayed ACK. Wait up to 500ms for next segment. If no next segment, send ACK immediately send single cumulatie ACK, ACKing both in-order segments immediately send duplicate ACK, indicating seq. # of next expected byte immediate send ACK, proided that segment starts at lower end of gap Transport Layer 3-36

Chapter 3 outline 3.1 transport-layer serices 3.2 multiplexing and demultiplexing 3.3 connectionless transport: UDP 3.4 principles of reliable data transfer 3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management 3.6 principles of congestion control 3.7 TCP congestion control Transport Layer 3-37

TCP flow control receier adertises free buffer space by including rwnd alue in TCP header of receier-to-sender segments RcBuffer size set ia socket options (typical default is 4096 bytes) many operating systems autoadjust RcBuffer sender limits amount of unacked ( in-flight ) data to receier s rwnd alue guarantees receie buffer will not oerflow RcBuffer rwnd to application process buffered data free buffer space TCP segment payloads receier-side buffering Transport Layer 3-38

Chapter 3 outline 3.1 transport-layer serices 3.2 multiplexing and demultiplexing 3.3 connectionless transport: UDP 3.4 principles of reliable data transfer 3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management 3.6 principles of congestion control 3.7 TCP congestion control Transport Layer 3-39

TCP 3-way handshake client state LISTEN SYNSENT ESTAB choose init seq num, x send TCP SYN msg receied SYNACK(x) indicates serer is lie; send ACK for SYNACK; this segment may contain client-to-serer data SYNbit=1, Seq=x SYNbit=1, Seq=y ACKbit=1; ACKnum=x+1 ACKbit=1, ACKnum=y+1 choose init seq num, y send TCP SYNACK msg, acking SYN receied ACK(y) indicates client is lie serer state LISTEN SYN RCVD ESTAB Transport Layer 3-40

TCP: closing a connection client state serer state ESTAB ESTAB clientsocket.close() FIN_WAIT_1 FIN_WAIT_2 can no longer send but can receie data wait for serer close FINbit=1, seq=x ACKbit=1; ACKnum=x+1 can still send data CLOSE_WAIT TIMED_WAIT timed wait for 2*max segment lifetime FINbit=1, seq=y ACKbit=1; ACKnum=y+1 can no longer send data LAST_ACK CLOSED CLOSED Transport Layer 3-41

Chapter 3 outline 3.1 transport-layer serices 3.2 multiplexing and demultiplexing 3.3 connectionless transport: UDP 3.4 principles of reliable data transfer 3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management 3.6 principles of congestion control 3.7 TCP congestion control Transport Layer 3-42

Approaches towards congestion control two broad approaches towards congestion control: end-end congestion control: no explicit feedback from network congestion inferred from end-system obsered loss, delay approach taken by TCP network-assisted congestion control: routers proide feedback to end systems single bit indicating congestion (SNA, DECbit, TCP/IP ECN, ATM) explicit rate for sender to send at Transport Layer 3-43

Chapter 3 outline 3.1 transport-layer serices 3.2 multiplexing and demultiplexing 3.3 connectionless transport: UDP 3.4 principles of reliable data transfer 3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management 3.6 principles of congestion control 3.7 TCP congestion control Transport Layer 3-44

Summary: TCP Congestion Control (P40, P46) when cwnd < ssthresh, sender in slow-start phase, window grows exponentially. when cwnd >= ssthresh, sender is in congestionaoidance phase, window grows linearly. when triple duplicate ACK occurs, ssthresh set to cwnd/2, cwnd set to ssthresh+3 when timeout occurs, ssthresh set to cwnd/2, cwnd set to 1 MSS. Transport Layer 3-45

TCP Fairness fairness goal: if K TCP sessions share same bottleneck link of bandwidth R, each should hae aerage rate of R/K TCP connection 1 TCP connection 2 bottleneck router capacity R Transport Layer 3-46

Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Slides adopted from original ones proided by the textbook authors. Network Layer 4-47

Chapter 4: network layer chapter goals: understand principles behind network layer serices: network layer serice models forwarding ersus routing how a router works routing (path selection) broadcast, multicast instantiation, implementation in the Internet Network Layer 4-48

Chapter 4: outline 4.1 introduction 4.2 irtual circuit and datagram networks 4.3 what s inside a router 4.4 IP: Internet Protocol datagram format IP4 addressing ICMP IP6 4.5 routing algorithms link state distance ector hierarchical routing 4.6 routing in the Internet RIP OSPF BGP 4.7 broadcast and multicast routing Network Layer 4-49

Network layer transport segment from sending to receiing host on sending side encapsulates segments into datagrams on receiing side, deliers segments to transport layer network layer protocols in eery host, router router examines header fields in all IP datagrams passing through it application transport network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical application transport network data link physical Network Layer 4-50

Two key network-layer functions forwarding: moe packets from router s input to appropriate router output routing: determine route taken by packets from source to dest. routing algorithms analogy: routing: process of planning trip from source to dest forwarding: process of getting through single interchange Network Layer 4-51

A Interplay between routing and forwarding R3 R1 Destination Next Hop D R4 E R4 F R5 R4 D B E C R2 Destination D Next Hop R3 R5 F E R3 F R5 Network Layer 4-52

Interplay between routing and forwarding routing algorithm local forwarding table header alue output link 0100 0101 0111 1001 3 2 2 1 routing algorithm determines end-end-path through network forwarding table determines local forwarding at this router alue in arriing packet s header 0111 1 3 2 Network Layer 4-53

Connection setup 3 rd important function in some network architectures: ATM, frame relay, X.25 before datagrams flow, two end hosts and interening routers establish irtual connection routers get inoled network s transport layer connection serice: network: between two hosts (may also inole interening routers in case of VCs) transport: between two processes Network Layer 4-54

Network serice model Q: What serice model for channel transporting datagrams from sender to receier? example serices for indiidual datagrams: guaranteed deliery guaranteed deliery with less than 40 msec delay example serices for a flow of datagrams: in-order datagram deliery guaranteed minimum bandwidth to flow restrictions on changes in inter-packet spacing Network Layer 4-55

Network layer serice models: Network Architecture Serice Model Bandwidth Guarantees? Loss Order Timing Congestion feedback Internet ATM ATM ATM ATM best effort CBR VBR ABR UBR none constant rate guaranteed rate guaranteed minimum none no yes yes no no no yes yes yes yes no yes yes no no no (inferred ia loss) no congestion no congestion yes no Network Layer 4-56

Chapter 4: outline 4.1 introduction 4.2 irtual circuit and datagram networks 4.3 what s inside a router 4.4 IP: Internet Protocol datagram format IP4 addressing ICMP IP6 4.5 routing algorithms link state distance ector hierarchical routing 4.6 routing in the Internet RIP OSPF BGP 4.7 broadcast and multicast routing Network Layer 4-57

Connection, connection-less serice datagram network proides network-layer connectionless serice irtual-circuit network proides network-layer connection serice analogous to TCP/UDP connecton-oriented / connectionless transport-layer serices, but: serice: host-to-host no choice: network proides one or the other implementation: in network core Network Layer 4-58

Virtual circuits source-to-dest path behaes much like telephone circuit performance-wise network actions along source-to-dest path call setup, teardown for each call before data can flow each packet carries VC identifier (not destination host address) eery router on source-dest path maintains state for each passing connection link, router resources (bandwidth, buffers) may be allocated to VC (dedicated resources = predictable serice) Network Layer 4-59

VC implementation a VC consists of: 1. path from source to destination 2. VC numbers, one number for each link along path 3. entries in forwarding tables in routers along path packet belonging to VC carries VC number (rather than dest address) VC number can be changed on each link. new VC number comes from forwarding table Network Layer 4-60

VC forwarding table 12 22 32 forwarding table in northwest router: VC number interface number 1 2 3 Incoming interface Incoming VC # Outgoing interface Outgoing VC # 1 12 3 22 2 63 1 18 3 7 2 17 1 97 3 87 VC routers maintain connection state information! Network Layer 4-61

Virtual circuits: signaling protocols used to setup, maintain teardown VC used in ATM, frame-relay, X.25 not used in today s Internet application transport network data link physical 5. data flow begins 6. receie data 4. call connected 3. accept call 1. initiate call 2. incoming call application transport network data link physical Network Layer 4-62

Datagram networks no call setup at network layer routers: no state about end-to-end connections no network-leel concept of connection packets forwarded using destination host address application transport network data link physical 1. send datagrams 2. receie datagrams application transport network data link physical Network Layer 4-63

Datagram forwarding table routing algorithm local forwarding table dest address output link address-range 1 address-range 2 address-range 3 address-range 4 3 2 2 1 4 billion IP addresses, so rather than list indiidual destination address list range of addresses (aggregate table entries) IP destination address in arriing packet s header 1 3 2 Network Layer 4-64

Datagram forwarding table Destination Address Range 11001000 00010111 00010000 00000000 through 11001000 00010111 00010111 11111111 11001000 00010111 00011000 00000000 through 11001000 00010111 00011000 11111111 11001000 00010111 00011001 00000000 through 11001000 00010111 00011111 11111111 otherwise Link Interface 0 1 2 3 Q: but what happens if ranges don t diide up so nicely? Network Layer 4-65

Longest prefix matching longest prefix matching when looking for forwarding table entry for gien destination address, use longest address prefix that matches destination address. Destination Address Range 11001000 00010111 00010*** ********* 11001000 00010111 00011000 ********* 11001000 00010111 00011*** ********* otherwise examples: DA: 11001000 00010111 00010110 10100001 DA: 11001000 00010111 00011000 10101010 Link interface 0 1 2 3 which interface? which interface? Network Layer 4-66

Example Consider a datagram network using 8-bit host addresses. Suppose a router uses longest prefix matching and has the following forwarding table: Prefix Match 00 0 01 1 011 2 Interface For each of the interfaces, gie the associated range of destination host addresses and the number of addresses in the range. Network Layer 4-67