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