* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Chapter 4 slides
Survey
Document related concepts
Backpressure routing wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Network tap wikipedia , lookup
Computer network wikipedia , lookup
Deep packet inspection wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Internet protocol suite wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
Airborne Networking wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Multiprotocol Label Switching wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Transcript
Chapter 4 Network Layer A note on the use of these ppt slides: We’re making these slides freely available to all (faculty, students, readers). They’re in powerpoint form so you can add, modify, and delete slides (including this one) and slide content to suit your needs. They obviously represent a lot of work on our part. In return for use, we only ask the following: If you use these slides (e.g., in a class) in substantially unaltered form, that you mention their source (after all, we’d like people to use our book!) If you post any slides in substantially unaltered form on a www site, that you note that they are adapted from (or perhaps identical to) our slides, and note our copyright of this material. Thanks and enjoy! JFK/KWR Edited by Lindsay, Marga, and Sarah - March 2003 All material copyright 1996-2002 J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down Approach Featuring the Internet, 2nd edition. Jim Kurose, Keith Ross Addison-Wesley, July 2002. 1 Chapter 4 roadmap 4.1 Introduction and Network Service Models 4.2 Routing Principles 4.3 Hierarchical Routing 4.4 The Internet (IP) Protocol 4.5 Routing in the Internet 4.5.1 Intra-AS routing: RIP and OSPF 4.5.2 Inter-AS routing: BGP 4.6 What’s Inside a Router? 4.7 IPv6 4.8 Multicast Routing 4.9 Mobility 2 Intra-AS Routing Routing within an Autonomous System (AS) Also known as Interior Gateway Protocols (IGP) Most common Intra-AS routing protocols: RIP: Routing Information Protocol OSPF: Open Shortest Path First IGRP: Interior Gateway Routing Protocol (Cisco proprietary) 3 RIP ( Routing Information Protocol) Distance vector algorithm Distance/Cost metric: Each link has a cost of 1. Maximum path cost is 15 – limits use of RIP to AS’s with a diameter of fewer than 15 hops. Distance vectors: exchanged among neighbors every 30 sec via RIP Response Messages (also called advertisements) Each advertisement: list of up to 25 destination routers and their distances from the router Each forwarding table has at least one row for forwarding to networks outside the AS 4 RIP: Example z w x A y D B C Destination Network Next Router Num. of hops to dest. w y z x A B B -- 2 2 7 1 …. …. .... Routing table in D 5 RIP: Example Dest w x z …. Next C … w hops 4 ... Advertisement from A to D z y x A D B C Destination Network w y z x …. Next Router A B BA -…. Routing table in D Num. of hops to dest. 2 2 75 1 .... 6 RIP: Link Failure and Recovery If no advertisement heard after 180 sec --> neighbor/link declared dead routes via neighbor invalidated new advertisements sent to neighbors neighbors in turn send out new advertisements (if tables changed) link failure info quickly propagates to entire net poison reverse used to prevent ping-pong loops Routers can request info from neighbors about cost to a given destination using a request message Request and response messages are sent over UDP and UDP Packet is carried in a standard IP packet 7 RIP Table processing RIP routing tables managed by application-level process called routed routed routed Transprt (UDP) network (IP) link physical Transprt (UDP) forwarding table forwarding table network (IP) link physical 8 RIP Table example (continued) Router: giroflee.eurocom.fr Destination -------------------127.0.0.1 192.168.2. 193.55.114. 192.168.3. 224.0.0.0 default Gateway Flags Ref Use Interface -------------------- ----- ----- ------ --------127.0.0.1 UH 0 26492 lo0 192.168.2.5 U 2 13 fa0 193.55.114.6 U 3 58503 le0 192.168.3.5 U 2 25 qaa0 193.55.114.6 U 3 0 le0 193.55.114.129 UG 0 143454 Three attached destination networks (LANs) Router only knows routes to attached LANs Default router used to go to any network not explicitly entered in the forwarding table Route multicast address: 224.0.0.0 Loopback interface (for debugging) 9 OSPF (Open Shortest Path First) “open”: publicly available Uses Link State algorithm LS packet broadcasting Topology map (directed graph) at each node Route computation for forwarding table uses Dijkstra’s algorithm OSPF advertisement carries one entry per neighbor router. Individual link costs specified by the administrator If all are set to 1, we have minimum hop routing Link weights are set to be inversely proportional to link capacity. This discourages traffic on low bandwidth links Advertisements disseminated to entire AS (via flooding) Advertisements are carried in OSPF messages directly over IP (rather than TCP or UDP). Must implement RMT 10 OSPF “advanced” features (not in RIP) Security: all OSPF messages authenticated (to prevent malicious intrusion) Multiple same-cost paths allowed (only one path in RIP) Integrated uni- and multicast support: Multicast OSPF (MOSPF) uses same topology data base as OSPF Hierarchical OSPF in large domains. 11 Hierarchical OSPF Two-level hierarchy: local area, backbone. Link-state advertisements only in area each node has detailed area topology Area border routers: “summarize” distances to nets in own area, advertise to other Area Border routers. Backbone routers: run OSPF routing limited to backbone. Route between areas in the AS Boundary routers: in backbone all outgoing packets are routed to boundary router if going to another AS 12 Hierarchical OSPF 13 Inter-AS routing in the Internet: BGP BGP provides for routing among autonomous systems R4 R5 R3 AS1 BGP AS2 (RIP intra-AS routing) BGP R1 R2 (OSPF intra -AS routing) AS3 (OSPF intra -AS routing) 14 Internet inter-AS routing: BGP BGP (Border Gateway Protocol): the de facto standard Path Vector protocol: similar to Distance Vector protocol each Border Gateway broadcast to neighbors (peers) entire path (i.e., sequence of AS’s) to destination BGP routes to networks (ASs), not individual hosts E.g., Gateway X may send its path to dest. Z: Path (X,Z) = X,Y1,Y2,Y3,…,Z 15 Internet inter-AS routing: BGP Suppose: gateway X send its path to peer gateway W W may or may not select path offered by X cost, policy (don’t route via competitors AS), loop prevention reasons. If W selects path advertised by X, then: Path (W,Z) = w, Path (X,Z) Note: X can control incoming traffic by controlling its route advertisements to peers: e.g., don’t want to route traffic to Z -> don’t advertise any routes to Z 16 BGP: controlling who routes to you legend: B W X A C Y provider network customer network X,W,Y are stub networks (all traffic entering them must be destined for them and all traffic exiting them must have originated there.) X is dual-homed: attached to two networks X does not want to route from B via X to C .. so X will not advertise to B a route to C 17 BGP: controlling who routes to you legend: B W X A C Y provider network customer network A advertises to B the path AW B advertises to X the path BAW Should B advertise to C the path BAW? No way! B gets no “revenue” for routing CBAW since neither W nor C are B’s customers B wants to force C to route to w via A B wants to route only to/from its customers! 18 BGP operation Q: What does a BGP router do? Receiving and filtering route advertisements from directly attached neighbor(s). Route selection. To route to destination X, which path (of several advertised) will be taken? Sending route advertisements to neighbors. 19 BGP messages BGP messages exchanged using TCP. BGP messages: OPEN: opens TCP connection to peer and authenticates sender UPDATE: advertises new path (or withdraws old) KEEPALIVE: keeps connection alive in absence of UPDATES; also ACKs OPEN request NOTIFICATION: reports errors in previous msg; also used to close connection 20 Why different Intra- and Inter-AS routing ? Policy: Inter-AS: admin wants control over how its traffic routed, who routes through its net. Intra-AS: single admin, so no policy decisions needed Scale: hierarchical routing saves table size, reduced update traffic Performance: Intra-AS: can focus on performance Inter-AS: policy may dominate over performance 21 Chapter 4 roadmap 4.1 Introduction and Network Service Models 4.2 Routing Principles 4.3 Hierarchical Routing 4.4 The Internet (IP) Protocol 4.5 Routing in the Internet 4.6 What’s Inside a Router? 4.7 IPv6 4.8 Multicast Routing 4.9 Mobility 22 Router Architecture Overview Two basic router functions: run routing algorithms/protocol (RIP, OSPF, BGP) switching datagrams from incoming to outgoing link 23 High-Level Router Architecture Input Ports: Physical layer functionality, terminates incoming physical link Interoperates with the data link layer Performs lookup and forwarding functions In practice, multiple ports are often gathered together in a single line card within a router 24 High Level Router Architecture Switching Fabric: Connects the router’s input ports to its output ports Output Ports: Stores packets forwarded to it through the switching fabric Routing Processor: Executes the routing protocols Maintains the routing information and forwarding tables Performs network management functions within the router 25 Input Port Functions • Also known as Decentralized Switching Physical layer: bit-level reception Data link layer: e.g., Ethernet see chapter 5 A copy of the forwarding table is stored at each input port and updated as needed The switching decision can be made locally at each input port Decentralized switching avoids a forwarding bottleneck at a single point within the router 26 Complicating Factors Backbone routers must operate at high speeds, so they therefore must be capable of performing millions of lookups per second. Line speed: a lookup is performed in less than the amount of time needed to receive a packet at the input port. Example: Consider an OC48 link that runs at 2.5 Gbps. Assuming a packet size of 256 bytes, this implies a lookup speed of approximately a million lookups per second performed. 27 Switching Fabrics Move packets from the input ports to the output ports 28 Switching Via Memory First generation routers: packet copied by system’s (single) CPU speed limited by memory bandwidth (2 bus crossings per datagram) Input Port Memory Output Port System Bus Modern routers: input port processor performs lookup, copies into memory Cisco Catalyst 8500 29 Switching Via a Bus Datagram moved from input port memory to output port memory via a shared bus Switching speed limited by bus bandwidth 1 Gbps bus, Cisco 1900: sufficient speed for access and enterprise routers (not regional or backbone) 30 Switching Via An Interconnection Network Overcomes bus bandwidth limitations Some interconnection networks were initially developed to connect processors in a single multiprocessor Advanced design: fragments datagram into fixed length cells, then switches cells through the fabric. Cisco 12000: switches Gbps through the interconnection network 31 Output Ports Transmits the datagrams that have been stored in the output port’s memory and transports them over the outgoing link Buffering is required when datagrams arrive from fabric faster than the transmission rate of the output port Scheduling discipline is used to choose among queued datagrams for transmission onto network 32 Queuing at the Output Port Buffering occurs when arrival rate via the switching fabric exceeds output line speed Consequently, a delay due to queuing occurs and there is potential packet loss due to output port buffer overflow 33 Queuing at Input Port Switching fabric slower than input ports combined means that queueing may occur at input ports Head-of-the-Line (HOL) blocking: queued datagram at front of queue prevents others in queue from moving forward Consequently, queuing delay and packet loss due to input buffer overflow 34 Chapter 4 roadmap 4.1 Introduction and Network Service Models 4.2 Routing Principles 4.3 Hierarchical Routing 4.4 The Internet (IP) Protocol 4.5 Routing in the Internet 4.6 What’s Inside a Router? 4.7 IPv6 4.8 Multicast Routing 4.9 Mobility 35 IPv6 The 32-bit address space of IPv4 has begun to cause Initial Motivation concern. Why? for creating IPv6 32-bit address space means all possible addresses will be completely allocated by sometime between 2008 and 2018. Although there is a lot of time left until the current address space is exhausted, it will take considerable time to deploy a new technology on such an extensive scale so it is important to start now. IPv6 will have 128 bits for the IP address. This is enough to allow every grain of sand its own IP address! 36 IPv6 Additional motivation: header format helps speed processing/forwarding new “anycast” address: route to “best” of several replicated servers IPv6 datagram format: fixed-length 40 byte header no fragmentation allowed ICMPv6: new version of ICMP additional message types, e.g. “Packet Too Big” multicast group management functions 37 Header: IPv4 vs IPv6 head. type of length len service fragment 16-bit identifier flgs offset upper time to Internet layer live checksum ver 32 bit source IP address 32 bit destination IP address Options (if any) data (variable length, typically a TCP or UDP segment) 38 IPv6 Header A closer look at some of the fields: Priority: identify priority among datagrams in flow Flow Label: identify datagrams in same “flow.” (concept of“flow” not well defined). Next header: identify upper layer protocol for data Traffic Class: Similar idea to the type of service field in IPv4 Checksum: Does not exist in IPv6! It was removed entirely to reduce processing time at each hop Options: allowed, but outside of header, indicated by “Next Header” field 39 Transition From IPv4 To IPv6 Not all routers can be upgraded simultaneously no “flag days” How will the network operate with mixed IPv4 and IPv6 routers? Two proposed approaches: Dual Stack: some routers with dual stack (v6, v4) can “translate” between formats Tunneling: IPv6 carried as payload in IPv4 datagram among IPv4 routers 40 Dual Stack Approach IPv6 nodes have full IPv4 capabilities as well. When operating with an IPv4 node, the IPv6 node uses v4 datagrams. The node will be able to determine the capabilities of the node it is communicating with by looking at the address returned by the DNS. A B C D E F IPv6 IPv6 IPv4 IPv4 IPv6 IPv6 Flow: X Src: A Dest: F Src:A Dest: F Src:A Dest: F Flow: ?? Src: A Dest: F data data data data B-to-C: IPv4 D-to-E: IPv4 E-to-F: IPv6 A-to-B: IPv6 41 Tunneling Logical view: A B IPv6 IPv6 A B C IPv6 IPv6 IPv4 E F IPv6 IPv6 D E F IPv4 IPv6 IPv6 tunnel Physical view: Flow: X Src: A Dest: F data A-to-B: IPv6 Src:B Dest: E Src:B Dest: E Flow: X Src: A Dest: F Flow: X Src: A Dest: F data data B-to-C: IPv6 inside IPv4 D-to-E: IPv6 inside IPv4 Flow: X Src: A Dest: F data E-to-F: IPv6 42