Chapter 5. The Network Layer

Similar documents
Network Layer Chapter 5

Chapter 5. The Network Layer. Network Layer Design Isues. Store-and-Forward Packet Switching 10/7/2010. Implementation of Connectionless Service

Chapter 5. The Network Layer

Chapter 5. The Network Layer. CEN Chapter 5 1

Chapter 6. The Network Layer

Chapter 5. The Network Layer FATİH ŞAHİN Network Layer Design Isues. Store-and-Forward Packet Switching

Chapter 6. The Network Layer

Chapter 5. The Network Layer

Computer Networks Prof. Ashok K. Agrawala

Chapter 5 (Week 9) The Network Layer ANDREW S. TANENBAUM COMPUTER NETWORKS FOURTH EDITION PP BLM431 Computer Networks Dr.

Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ

EEC-484/584 Computer Networks

Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ

Outline EEC-682/782 Computer Networks I. Midterm 1 Statistics. Midterm 1 Statistics. High 99, Low 34, Average 66

CSEP 561 Internetworking. David Wetherall

Chapter 5 (Week 10) The Network Layer (CONTINUATION) ANDREW S. TANENBAUM COMPUTER NETWORKS FOURTH EDITION PP

EEC-684/584 Computer Networks

Integrated Services. Integrated Services. RSVP Resource reservation Protocol. Expedited Forwarding. Assured Forwarding.

CHAPTER 9: PACKET SWITCHING N/W & CONGESTION CONTROL

II. Principles of Computer Communications Network and Transport Layer

IP - The Internet Protocol. Based on the slides of Dr. Jorg Liebeherr, University of Virginia

Networking: Network layer

Chapter 19 Network Layer: Logical Addressing

Lecture 19: Network Layer Routing in the Internet

5.2 Routing Algorithms

Inter-networking. Problem. 3&4-Internetworking.key - September 20, LAN s are great but. We want to connect them together. ...

internet technologies and standards

Last time. Network layer. Introduction. Virtual circuit vs. datagram details. IP: the Internet Protocol. forwarding vs. routing

IPv6 Protocols and Networks Hadassah College Spring 2018 Wireless Dr. Martin Land

Network Layer (Routing)

Jaringan Komputer. Network Layer. Network Layer. Network Layer. Network Layer Design Issues. Store-and-Forward Packet Switching

IPv6. IPv4 & IPv6 Header Comparison. Types of IPv6 Addresses. IPv6 Address Scope. IPv6 Header. IPv4 Header. Link-Local

ITEC310 Computer Networks II

Internetworking Part 2

Telecommunication Protocols Laboratory Course. Lecture 3

Outline. Routing. Introduction to Wide Area Routing. Classification of Routing Algorithms. Introduction. Broadcasting and Multicasting

CS610 Computer Network Final Term Papers Solved MCQs with reference by Virtualians Social Network

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala October 9, 2018 (a) October 18 October 9,

EC441 Fall 2018 Introduction to Computer Networking Chapter4: Network Layer Data Plane

Example questions for the Final Exam, part A

C13b: Routing Problem and Algorithms

Where we are in the Course

Lecture 4 - Network Layer. Transport Layer. Outline. Introduction. Notes. Notes. Notes. Notes. Networks and Security. Jacob Aae Mikkelsen

Lecture 4 The Network Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

On Distributed Communications, Rand Report RM-3420-PR, Paul Baran, August 1964

Unit 3: Dynamic Routing

HY 335 Φροντιστήριο 8 ο

The Interconnection Structure of. The Internet. EECC694 - Shaaban

Lecture 3: Packet Forwarding

Chapter 4: network layer

CS 356: Computer Network Architectures. Lecture 14: Switching hardware, IP auxiliary functions, and midterm review. [PD] chapter 3.4.1, 3.2.

Network layer: Overview. Network layer functions IP Routing and forwarding NAT ARP IPv6 Routing

Internetworking Terms. Internet Structure. Internet Structure. Chapter 15&16 Internetworking. Internetwork Structure & Terms

ICMP, ARP, RARP, IGMP

Internet Multicast Routing

Router Architecture Overview

Lecture 8. Network Layer (cont d) Network Layer 1-1

EPL606. Internetworking. Part 2a. 1Network Layer

Network layer: Overview. Network Layer Functions

Da t e: August 2 0 th a t 9: :00 SOLUTIONS

Multicast Communications

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

CS 138: Communication I. CS 138 V 1 Copyright 2012 Thomas W. Doeppner. All rights reserved.

ETSF05/ETSF10 Internet Protocols Network Layer Protocols

Quality of Service in the Internet

IPv6: An Introduction

Multicast Technology White Paper

Chapter 12 Network Protocols

Network Layer: Internet Protocol

Chapter 22 Network Layer: Delivery, Forwarding, and Routing 22.1

Fundamental Questions to Answer About Computer Networking, Jan 2009 Prof. Ying-Dar Lin,

Lecture 3. The Network Layer (cont d) Network Layer 1-1

CSCE 463/612 Networks and Distributed Processing Spring 2018

Computer Network Architectures and Multimedia. Guy Leduc. Chapter 2 MPLS networks. Chapter 2: MPLS

Chapter 09 Network Protocols

Quality of Service (QoS)

Topics for This Week

UNIT 2 ROUTING ALGORITHMS

Computer Network Fundamentals Spring Week 4 Network Layer Andreas Terzis

Computer Networking Introduction

Multicast and Quality of Service. Internet Technologies and Applications

Communication Networks ( ) / Fall 2013 The Blavatnik School of Computer Science, Tel-Aviv University. Allon Wagner

Quality of Service in the Internet

Course Routing Classification Properties Routing Protocols 1/39

IP - The Internet Protocol

Quality of Service in the Internet. QoS Parameters. Keeping the QoS. Leaky Bucket Algorithm

To contain/reduce broadcast traffic, we need to reduce the size of the network (i.e., LAN).

Computer Networks. Wenzhong Li. Nanjing University

Chapter 4: Network Layer

CPSC 826 Internetworking. The Network Layer: Routing & Addressing Outline. The Network Layer

Network Layer Protocols

ECE 428 Internet Protocols (Network Layer: Layer 3)

Information Network Systems The network layer. Stephan Sigg

Date: June 4 th a t 1 4:00 1 7:00

Lecture 8. Basic Internetworking (IP) Outline. Basic Internetworking (IP) Basic Internetworking (IP) Service Model

Routing. Advanced Computer Networks: Routing 1

RAJIV GANDHI COLLEGE OF ENGINEERING AND TECHNOLOGY

King Fahd University of Petroleum & Minerals Computer Engineering Dept

Chapter 4: network layer. Network service model. Two key network-layer functions. Network layer. Input port functions. Router architecture overview

CSCD58 WINTER 2018 WEEK 6 - NETWORK LAYER PART 1. Brian Harrington. February 13, University of Toronto Scarborough

Transcription:

Chapter 5 The Network Layer

Network Layer Design Isues Store-and-Forward Packet Switching Services Provided to the Transport Layer Implementation of Connectionless Service Implementation of Connection-Oriented Service Comparison of Virtual-Circuit and Datagram Subnets

Store-and-Forward Packet Switching fig 5-1 The environment of the network layer protocols.

Implementation of Connectionless Service Routing within a diagram subnet.

Implementation of Connection-Oriented Service H1 has established connection 1 with H2; 1,1,1,1,1,1 H3 wants to establish a connection with H2;1(no other connection),2,2,2,2,2

Comparison of Virtual-Circuit and Datagram Subnets 5-4

Routing Algorithms The Optimality Principle Shortest Path Routing Flooding Distance Vector Routing Link State Routing Hierarchical Routing Broadcast Routing Multicast Routing Routing for Mobile Hosts Routing in Ad Hoc Networks

Routing Algorithms (2) Conflict between fairness and optimality: To maximize the total flow, X and X should be shut off altogether. However, fairness is a problem. Compromise is needed; **Static routing v.s. adaptive(dynamic) routing;

The Optimality Principle: If router J is on the optimal path from I to router K, then the optimal path from J to K also falls along the same route. (a) A subnet. (b) A sink tree for router B.

Shortest Path Algorithm (1) Dijkstra s algorithm computes a sink tree on the graph: Each link is assigned a non-negative weight/distance Shortest path is the one with lowest total weight Using weights of 1 gives paths with fewest hops Algorithm: Start with sink, set distance at other nodes to infinity CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and D. Wetherall, 2011 Relax distance to other nodes

Shortest Path Algorithm (2) A network and first five steps in computing the shortest paths from A to D. Pink arrows show the sink tree so far. CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and

Shortest Path Algorithm (3)... Start with the sink, all other nodes are unreachable... Relaxation step. Lower distance to nodes linked to newest member of the sink tree CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and

Shortest Path Algorithm (4)... Find the lowest distance, add it to the sink tree, and repeat until done CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and

Flooding A simple method to send a packet to all network nodes Each node floods a new packet received on an incoming link by sending it out all of the other links Nodes need to keep track of flooded packets to stop the flood; even using a hop limit can blow up exponentially CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and D. Wetherall, 2011

Distance Vector Routing Distance vector is a distributed routing algorithm Shortest path computation is split across nodes Algorithm: Each node knows distance of links to its neighbors Each node advertises vector of lowest known distances to all neighbors Each node uses received vectors to update its own Repeat periodically CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and D. Wetherall, 2011

Distance Vector Routing (exchange small # of large msg) (a) A subnet. (b) Input from A, I, H, K, and the new routing table for J.

DV reacts rapidly to good news but leisurely to bad news: count-to-infinity (a)(1) A is down initially and all the other routers have the delay to A as infinity; (2) When A comes up, assuming that there is a gigantic gong, all routers exchange simultaneously. See the figure (a); (b) (1) All routers are initially up. B, C, D and E have the delay to A of 1,2,3 and 4. (2) Suddenly, A goes down. See the figure (b);

Link State Routing Link state is an alternative to distance vector More computation but simpler dynamics Widely used in the Internet (OSPF, ISIS) Algorithm: Each node floods information about its neighbors in LSPs (Link State Packets); all nodes learn the full network graph Each node runs Dijkstra s algorithm to compute the path to take for each destination CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and D. Wetherall, 2011

Link State Routing (exchange large # of small msg) Each router must do the following: 1. Discover its neighbors, learn their network address. 2. Measure the delay or cost to each of its neighbors. 3. Construct a packet telling all it has just learned. 4. Send this packet to all other routers. 5. Compute the shortest path to every other router.

Learning about the Neighbors (a) Nine routers and a LAN. (b) A graph model of (a).

Measuring Line Cost (1) Suppose that most of traffic is using CF; (2) EI is more attractive for shortest path; (3) EI has most of traffic; (4) CF is now more attractive; routing tables may oscillate wildly; not consider load, just BW or load balancing

Building Link State Packets (a) A subnet. (b) The link state packets for this subnet.

Distributing the Link State Packets The packet buffer for router B in the previous slide (Fig. 5-13). B has three lines A,C,F; Send flags: pkt must be forwarded on the indicated line; ACK flags; B must send ACK to the line; E arrives twice, once via EAB and once via EFB; D is similar to E;

Hierarchical Routing Hierarchical routing.

Broadcast Routing Reverse path forwarding: When a broadcast pkt arrives at a router, the router checks to see if the pkt arrived on the line that is normally used for sending pkts to the source of the broadcast. If so, the router forwards copies of it onto all the other lines; (a) A subnet. (b) a Sink tree (normally used). (c) The tree built by reverse path forwarding: (1) F,H,J,N circle; (2) eight pkts are generated, two by each of the four routers, A,D,G,O,M circle (3) Six pkts are generated; E, C, K circle (4)

Multicast Routing Dense Case a) Multicast sends to a subset of the nodes called a group Uses a different tree for each group and source S Network with groups 1 & 2 S Spanning tree from source S S Multicast tree from S to group 1 Multicast tree from S to group 2 CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and

Multicast Routing Sparse Case Sink tree from core to group 1 Multicast is send to the core then down when it reaches the sink tree a) CBT (Core-Based Tree) uses a single tree to multicast Tree is the sink tree from core node to group members Multicast heads to the core until it reaches the CBT

Anycast Routing Anycast sends a packet to one (nearest) group member Falls out of regular routing with a node in many places Anycast routes to group 1 Apparent topology of sink tree to node 1 CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and D. Wetherall, 2011

Multicast Routing (a) A network. (b) A spanning tree for the leftmost router. (c) A multicast tree for group 1. (d) A multicast tree for group 2. Scalable, Core-based trees

Routing for Mobile Hosts a) Mobile hosts can be reached via a home agent Fixed home agent tunnels packets to reach the mobile host; reply can optimize path for subsequent packets No changes to routers or fixed hosts CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and

Routing for Mobile Hosts A WAN to which LANs, MANs, and wireless cells are attached.

Routing in Ad Hoc Networks Possibilities when the routers are mobile: 1. Military vehicles on battlefield. No infrastructure. 2. A fleet of ships at sea. All moving all the time 3. Emergency works at earthquake. The infrastructure destroyed. 4. A gathering of people with notebook computers. In an area lacking 802.11.

Route Discovery a) (a) Range of A's broadcast. b) (b) After B and D have received A's broadcast. c) (c) After C, F, and G have received A's broadcast. d) (d) After E, H, and I have received A's broadcast. Shaded nodes are new recipients. Arrows show possible reverse routes.

Route Discovery (2) Format of a ROUTE REQUEST packet. 1. Source address and Request ID uniquely identify the RREQ pkt; 2. Source and Dest. seq#: like a clock to tell new routes from old routes; 3. Hop count: keep track of how many hops the pkt has made; initially 0;

Route Discovery (3): When an RREQ arrives at a node 1. (Source address, Req ID) is looked up in a local history table to see if this request has already been processed; If duplicate, it is discarded; If not, the pair is entered into the history table for future duplicate check; 2. The receive looks up the dest in its routing table. If a fresh route exists, an RREP is sent back; Fresh? Dest. Seq# stored >= that in the RREQ pkt; If not fresh, perform step 3; 3. Increment the Hop count field and rebroadcasts the RREQ pkt; Extract the data from the pkt and store it as a new entry in its reverse route table. The info is used to construct the reverse route so that the reply can get back to the source.

Route Discovery (4) Format of a ROUTE REPLY packet. Dest. Seq#: taken from the counter of Dest. in memory; Hop count: set to 0 by Dest; incremented by the intermediate node; Lifetime: how long the route is valid; This pkt is unicast to the node that the RREQ pkt came from;

Route Maintenance if G is switched off, A will not realize that the route it was using to I (ADGI) is no longer valid. Periodically, each node broadcasts a Hello message. Each of its neighbors is expected to respond to it. For each possible destination, each node, N, keeps track of its neighbors that have fed it a packet for that destination during the last ΔT seconds. These are called N s active neighbors for that destination. N does this by having a routing table keyed by destination and containing the outgoing node to use to reach the destination, the hop count to the destination, the most recent destination sequence number, and the list of active neighbors for that destination.( 到 destination 要經過我的 neighbors)

Route Maintenance (a) D's routing table before G goes down. (b) The graph after G has gone down. Each node broadcasts Hello msg periodically; If no response, the route may have problem. For each possible dest., each node keeps track of its neighbors that have fed it a pkt for that dest. during the last observing period active neighbors for that dest. If G is down, D finds E,G,I the union of active neighbors for E,G,I is {A,B}. D purges the entries of E,G,I from the routing table and tells A and B

Structured P2P: Chord a) SHA-1: a hash function to produce a highly-random 160-bit number; SHA-1(any IP address) a 160-bit number (node identifier) b) Conceptually, all the 2^160 node identifiers are arranged in ascending order in a big circle. However, not all nodes exist. c) For the next graph, only 1,4,7,12,15,20 and 27 actual nodes; d) successor(k): the node identifier of the first actual node following k around the circle clockwise, e.g., successor(6)=7, successor(8)=12, successor(22)=27; e) The names of the records (song names) are also hashed to generate a 160-bit number (called key); key=hash(name); f) If a person want to let a record for name of his to be available, he builds a tuple consisting of (name, my-ip-address) and then ask successor(hash(name)) to store the tuple;

g) If some user wants to look up name, he hashes it to get key (this step is easy) and then uses successor(key) to find the IP address of the node storing its index tuples (the second step is not easy). h) To do this, each node must maintain certain administrative data structures. One of these is the IP address of its successor node, e.g., in the next graph, node 4 s successor is 7, node 7 s successor is 12; i) Lookup requesting node sends a pkt to its successor containing its IP address and the key it is looking for go on and on; may use bi-direction search, however, still need avg. n/2 per search; finger table is proposed; j) Finger table has m entries, indexed by 0 ~ m 1, each one pointing to a different actual node. Each entry has two fields: start and the IP address of successor(start); For entry i at node k start[i] = k + 2 i (modulo 2 m ); IP address of succesor(start[i]) k) avg. # of lookups = log 2 n

l) Ex. 1, looking key=3 at node 1 3 lies betw it and its successor, 4 found, returning node 4 s IP address; m) Ex. 2, looking key=14 at node 1 the closest predecessor to 14 is 9, the request is forwarded to the IP address of 9 s entry, 12 12 found that 14 lies betw it and its successor 15 found, returning node 15 s IP address; n) Ex. 3, looking key=16 at node 1 as Ex.2, a query is sent to node 12 the node most closely preceding 16 = 14, which yields IP address of node 15 a query is sent to node 15 node 15 found that 16 lies betw it and its successor 20 found, returning node 20 s IP address;

o) When a new node, r, wants to join, it must contact some existing node and ask it took up the IP address of successor(r) for it. The new node then asks successor(r) for its predecessor. The new node asks both of these to insert r in betw them; e.g., r=24 ask any node successor(24)=27 ask 27, its predecessor=20 27 hands over those keys in the range 21-24 to 24 done however, many finger tables are now wrong recompute each finger by calling successor; p) When a node leaves gracefully, it hands its keys over to its successor and informs its predecessor of its departure linking the predecessor to the successor; q) When a node crashes, its predecessor no longer has a valid successor. each node keeps track s direct successors, to allow it to skip over up to s-1 consecutive failed nodes and reconnect the circle;

Node Lookup in Peer-to-Peer Networks (a) A set of 32 node identifiers arranged in a circle. The shaded ones correspond to actual machines. The arcs show the fingers from nodes 1, 4, and 12. The labels on the arcs are the table indices. (b) Examples of the finger tables.

Congestion Control Algorithms General Principles of Congestion Control Congestion Prevention Policies Congestion Control in Virtual-Circuit Subnets Congestion Control in Datagram Subnets Load Shedding Jitter Control

Congestion Control (2) Congestion results when too much traffic is offered; performance degrades due to loss/retransmissions Goodput (=useful packets) trails offered load CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and D. Wetherall, 2011

General Principles of Congestion Control 1. Monitor the system. detect when and where congestion occurs. 2. Pass information to where action can be taken. 3. Adjust system operation to correct the problem.

Congestion Prevention Policies 5-26 Policies that affect congestion.

Congestion Control Approaches Network must do its best with the offered load Different approaches at different timescales Nodes should also reduce offered load (Transport) CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and D. Wetherall, 2011

Traffic-Aware Routing Choose routes depending on traffic, not just topology E.g., use EI for West-to-East traffic if CF is loaded But take care to avoid oscillations CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and D. Wetherall, 2011

Admission Control a) Admission control allows a new traffic load only if the network has sufficient capacity, e.g., with virtual circuits Can combine with looking for an uncongested route Network with some congested nodes Uncongested portion and route AB around congestion CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and

Traffic Throttling Congested routers signal hosts to slow down traffic ECN (Explicit Congestion Notification) marks packets and receiver returns signal to sender CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and D. Wetherall, 2011

Load Shedding (1) When all else fails, network will drop packets (shed load) Can be done end-to-end or linkby-link Link-by-link (right) produces rapid relief 1 2 3 4 5 CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and

Load Shedding (2) End-to-end (right) takes longer to have an effect, but can better target the cause of congestion 1 2 5 6 3 4 7 CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and

Jitter Control (a) High jitter. (b) Low jitter.

Quality of Service Requirements Techniques for Achieving Good Quality of Service Integrated Services Differentiated Services Label Switching and MPLS

Requirements 5-30 How stringent the quality-of-service requirements are.

Traffic Shaping (1) Traffic shaping regulates the average rate and burstiness of data entering the network Lets us make guarantees Shape traffic here CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and

Traffic Shaping (2) Token/Leaky bucket limits both the average rate (R) and short-term burst (B) of traffic For token, bucket size is B, water enters at rate R and is removed to send; opposite for leaky. to send to send Leaky bucket (need not full to send) CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and D. Wetherall, 2011 Token bucket (need some water to send)

Traffic Shaping (3) Host traffic R=200 Mbps B=16000 KB Shaped by R=200 Mbps B=9600 KB Shaped by R=200 Mbps B=0 KB Smaller bucket size delays traffic and reduces burstiness CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and

Buffering Smoothing the output stream by buffering packets. (playback buffering)

The Leaky Bucket Algorithm (a) A leaky bucket with water. (b) a leaky bucket with packets.

The Token Bucket Algorithm 5-34 (a) Before. (b) After.

(a) Input to a leaky bucket. (b) Output from a leaky bucket (2MB/sec, capacity>=1mb). Output from a token bucket with capacities of (c) 250 KB, (d) 500 KB, (e) 750 KB, (f) Output from a 500KB token bucket feeding a 10-MB/sec leaky bucket. (a leaky bucket after the token bucket) (c) 250KB+2MB*11ms ~ 25MB*11ms; note: token bucket cap. C bytes, token arrival rate ρ bytes/sec, maximum output rate M bytes/sec, burst length S sec C+ρS = MS;

Packet Scheduling (1) Packet scheduling divides router/link resources among traffic flows with alternatives to FIFO (First In First Out) 1 1 1 2 2 3 3 3 Example of round-robin queuing CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and D. Wetherall, 2011

Packet Scheduling (2) Fair Queueing approximates bit-level fairness with different packet sizes; weights change target levels Result is WFQ (Weighted Fair Queueing) Packets may be sent out of arrival order F i = max(a i, F i-1 ) + L i /W Finish virtual times determine transmission order CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and D. Wetherall, 2011

Admission Control 5-34 An example of flow specification.

Packet Scheduling: byte-by-byte round robin (a) A router with five packets with length 2 ~6 bytes queued for line O. (b) Finishing times for the five packets.

RSVP-The ReSerVation Protocol (a) A network, (b) The multicast spanning tree for host 1. (c) The multicast spanning tree for host 2.

RSVP-The ReSerVation Protocol (2) (a) Host 3 requests a channel to host 1. (b) Host 3 then requests a second channel, to host 2. (c) Host 5 requests a channel to host 1.

Expedited Forwarding Expedited packets experience a traffic-free network.

Assured Forwarding A possible implementation of the data flow for assured forwarding.

Label Switching and MPLS Transmitting a TCP segment using IP, MPLS, and PPP.

Label Switching and MPLS MPLS does not work as ATM because there is no setup phase for each connection (because that would break too much existing Internet software). There are two ways for the forwarding table: In the data-driven approach, when a packet arrives, the first router it hits contacts the router downstream where the packet has to go and asks it to generate a label for the flow. This method is applied recursively. Effectively, this is on-demand virtual-circuit creation. The other way, used on networks not based on ATM, is the controldriven approach. When a router is booted, it checks to see for which routes it is the final destination (e.g., which hosts are on its LAN). It then creates one or more FECs for them, allocates a label for each one, and passes the labels to its neighbors. They, in turn, enter the labels in their forwarding tables and send new labels to their neighbors, until all the routers have acquired the path..

Internetworking How Networks Differ How Networks Can Be Connected Concatenated Virtual Circuits Connectionless Internetworking Tunneling Internetwork Routing Fragmentation

Connecting Networks A collection of interconnected networks.

How Networks Differ 5-43 Some of the many ways networks can differ.

How Networks Can Be Connected Internetworking based on a common network layer IP Packet mapped to a VC here Common protocol (IP) carried all the way CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and D. Wetherall, 2011

How Networks Can Be Connected (a) Two Ethernets connected by a switch. (b) Two Ethernets connected by routers.

Concatenated Virtual Circuits Internetworking using concatenated virtual circuits.

Connectionless Internetworking A connectionless internet.

Tunneling Tunneling a packet from Paris to London.

Tunneling (2) Tunneling a car from France to England.

Internetwork Routing (a) An internetwork. (b) A graph of the internetwork.

Fragmentation (a) Transparent fragmentation (ATM). (b) Nontransparent fragmentation (IP).

Fragmentation (2) Fragmentation when the elementary data size is 1 byte. (a) Original packet, containing 10 data bytes. (b) Fragments after passing through a network with maximum packet size of 8 payload bytes plus header. (c) Fragments after passing through a size 5 gateway.

Packet Fragmentation (3) Path MTU Discovery avoids network fragmentation Routers return MTU (Max. Transmission Unit) to source and discard large packets Try 1200 Try 900 CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and D. Wetherall, 2011

The Network Layer in the Internet The IP Protocol IP Addresses Internet Control Protocols OSPF The Interior Gateway Routing Protocol BGP The Exterior Gateway Routing Protocol Internet Multicasting Mobile IP IPv6

Design Principles for Internet 1. Make sure it works. 2. Keep it simple. 3. Make clear choices. 4. Exploit modularity: replacing a module is easier. 5. Expect heterogeneity: different type of hardware, transmission facilities, and applications must work. 6. Avoid static options and parameters:negotiability. 7. Look for a good design; it need not be perfect. 8. Be strict when sending and tolerant when receiving. 9. Think about scalability. 10. Consider performance and cost.

Collection of Subnetworks The Internet is an interconnected collection of many networks.

The IP Protocol The IPv4 (Internet Protocol) header.

The IP Protocol (2) 5-54 Some of the IP options.

IP Addresses IP address formats.

IP Addresses (2) Special IP addresses.

Subnets A campus network consisting of LANs for various departments.

Subnets (2) A class B network subnetted into 64 subnets.

IP Addresses Subnets Subnetting splits up IP prefix to help with management Looks like a single prefix outside the network ISP gives network a single prefix Network divides it into subnets internally CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and D. Wetherall, 2011

IP Addresses Aggregation Aggregation joins multiple IP prefixes into a single larger prefix to reduce routing table size ISP advertises a single prefix CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and D. Wetherall, 2011 ISP customers have different prefixes

CDR Classless InterDomain Routing 5-59 A set of IP address assignments.

IP Addresses Longest Matching Prefix Packets are forwarded to the entry with the longest matching prefix or smallest address block Complicates forwarding but adds flexibility Except for this part! Main prefix goes this way CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and D. Wetherall, 2011

IP Addresses NAT NAT (Network Address Translation) box maps one external IP address to many internal IP addresses Uses TCP/UDP port to tell connections apart Violates layering; very common in homes, etc. CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and D. Wetherall, 2011

NAT Network Address Translation Placement and operation of a NAT box.

Dynamic Host Configuration Protocol Operation of DHCP.

IP Version 6 (1) Major upgrade in the 1990s due to impending address exhaustion, with various other goals: Support billions of hosts Reduce routing table size Simplify protocol Better security Attention to type of service Aid multicasting Roaming host without changing address Allow future protocol evolution Permit coexistence of old, new protocols, Deployment has been slow & painful, but may pick up pace now that addresses are all but exhausted

IP Version 6 (2 ) IPv6 protocol header has much longer addresses (128 vs. 32 bits) and is simpler (by using extension headers) CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and D. Wetherall, 2011

IP Version 6 (3) IPv6 extension headers handles other functionality CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and D. Wetherall, 2011

IPv6 Header a) Version: 6 for IPv6; b) Traffic class: different real-time delivery requirements; for multimedia delivery; c) Flow label: allow source and destination to set up a pseudoconnection; d) Payload: how many bytes follow the 40-byte header; e) Next header: tells which of the six extension headers, if any, follow this one; if the last IP header, the Next header tells which transport protocol handler to pass the packet to; f) Hop limit: the same as TTL in IPv4; g) No IHL since the header length is fixed; h) No Checksum;

Extension Headers 5-69 IPv6 extension headers. (Only the source can fragment a packet)

Extension Headers (2) The hop-by-hop extension header for large datagrams (jumbograms); Payload length =0; Code 194; 4-byte number;

Extension Headers (3) The extension header for routing. Like IPv4 loose source routing; Routing type: format of the rest of the header; Segments left: how many of the addresses in the list have not yet been visited;

Internet Control Protocols (1) IP works with the help of several control protocols: ICMP is a companion to IP that returns error info Required, and used in many ways, e.g., for traceroute ARP finds Ethernet address of a local IP address Glue that is needed to send any IP packets Host queries an address and the owner replies DHCP assigns a local IP address to a host Gets host started by automatically configuring it Host sends request to server, which grants a lease

Internet Control Protocols (2) Main ICMP (Internet Control Message Protocol) types: CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and D. Wetherall, 2011

Internet Control Protocols (3) a) ARP (Address Resolution Protocol) lets nodes find target Ethernet addresses [pink] from CN5E their by Tanenbaum IP addresses & Wetherall, Pearson Education-Prentice Hall and

Label Switching and MPLS (1) MPLS (Multi-Protocol Label Switching) sends packets along established paths; ISPs can use for QoS Path indicated with label below the IP layer CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and D. Wetherall, 2011

Label Switching and MPLS (2) Label added based on IP address on entering an MPLS network (e.g., ISP) and removed when leaving it Forwarding only uses label inside MPLS network CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and D. Wetherall, 2011

OSPF Interior Routing Protocol (1) OSPF computes routes for a single network (e.g., ISP) Network: Models network as a graph of weighted edges Graph: 3 CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and D. Wetherall, 2011 Broadcast LAN modeled as a wellconnected node

OSPF Interior Routing Protocol (2) OSPF divides one large network (Autonomous System) into areas connected to a backbone area Helps to scale; summaries go over area borders CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and D. Wetherall, 2011

OSPF Interior Routing Protocol (3) OSPF (Open Shortest Path First) is link-state routing: Uses messages below to reliably flood topology Then runs Dijkstra to compute routes CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and D. Wetherall, 2011

BGP Exterior Routing Protocol (1) BGP (Border Gateway Protocol) computes routes across interconnected, autonomous networks Key role is to respect networks policy constraints Example policy constraints: No commercial traffic for educational network Never put Iraq on route starting at Pentagon Choose cheaper network Choose better performing network Don t go from Apple to Google to Apple CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and D. Wetherall, 2011

BGP Exterior Routing Protocol (2) Common policy distinction is transit vs. peering: Transit carries traffic for pay; peers for mutual benefit AS1 carries AS2 AS4 (Transit) but not AS3 (Peer) CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and D. Wetherall, 2011

BGP Exterior Routing Protocol (3) a) BGP propagates messages along policy-compliant routes Message has prefix, AS path (to detect loops) and nexthop IP (to send over the local network)

BGP The Exterior Gateway Routing Protocol (a) A set of BGP routers. (b) Information sent to F.

Internet Multicasting Groups have a reserved IP address range (class D) Membership in a group handled by IGMP (Internet Group Management Protocol) that runs at routers Routes computed by protocols such as PIM: Dense mode uses RPF with pruning Sparse mode uses core-based trees IP multicasting is not widely used except within a single network, e.g., datacenter, cable TV network. CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and D. Wetherall, 2011

Mobile IP a) Mobile hosts can be reached at fixed IP via a home agent Home agent tunnels packets to reach the mobile host; reply can optimize path for subsequent packets No changes to routers or fixed hosts CN5E by Tanenbaum & Wetherall, Pearson Education-Prentice Hall and

End Chapter 5 CN5E by Tanenbaum & Wetherall, Pearson