Lecture 11 No class on Tuesday (Oct. 3) - instructor out of town. Reminder: Homework 4, Wireshark Project 2 due next Thursday. Questions? Thursday, September 29 CS 475 Networks - Lecture 11 1 Outline Chapter 4 - Advanced Internetworking 4.1 The Global Internet 4.2 Multicast 4.3 Multiprotocol label Switching (MPLS) 4.4 Routing among Mobile Devices 4.5 Summary Thursday, September 29 CS 475 Networks - Lecture 11 2 The Global Internet Routing protocols like those discussed in Chapter 3 do not scale to the Internet. To begin discussion of the protocols that are used, we will initially assume the Internet has the tree-like structure shown below. (The Internet had this structure in the early 90s.) Thursday, September 29 CS 475 Networks - Lecture 11 3 The Global Internet In the 90s, end users connected to regional networks (service providers) that were connected to a common backbone. Provider and end user networks are administratively independent entities known as autonomous systems (AS). Thursday, September 29 CS 475 Networks - Lecture 11 4 Routing Areas A LS (OSPF) protocol allows partitioning of an AS into areas. This topic will not be discussed further here. Refer to section 4.1.1 of the text for details on routing areas. Thursday, September 29 CS 475 Networks - Lecture 11 5 Interdomain Routing (BGP) As noted previously the Internet is made up of autonomous systems (AS) or routing domains. Each AS can choose its own intradomain routing protocol (RIP or OSPF), but ASs must share routing information to enable interdomain routing. An interdomain routing protocol must allow for routing policies. An AS with connections to AS X and AS Y may prefer to always route through X when it can. It can also choose to never be used to route traffic to either X or Y. Thursday, September 29 CS 475 Networks - Lecture 11 6 Interdomain Routing (BGP) An example network with two ASs. Routers R2 and R4 are border gateways (routers through which traffic enters and leaves the AS). Thursday, September 29 CS 475 Networks - Lecture 11 7 Interdomain Routing (BGP) The modern Internet is more complex than indicated previously. It consists of (1) Stub ASs (single connection to other ASs), (2) Multihomed ASs (multiple connections, no transit traffic) and (3) Transit ASs. It also has multiple backbones. Peering points are connection points between multiple providers. Thursday, September 29 CS 475 Networks - Lecture 11 8 Interdomain Routing (BGP) Two interdomain routing protocols have been used. The Exterior Gateway Protocol (EGP) did not extend to the modern structure of the Internet. EGP was replaced by the Border Gateway Protocol (BGP-4). BGP requires one node in an AS to act as the “BGP speaker”. An AS also has one or more border gateways. BGP is neither a DV or LS algorithm. BGP advertises complete paths to a given network as a list of ASs. Thursday, September 29 CS 475 Networks - Lecture 11 9 Interdomain Routing (BGP) Assume that the providers are transit ASs and all customers are stubs. The BGP speaker for AS2 would advertise that AS2 could be used to reach the networks assigned to Customers P and Q. AS1 would advertise those networks could be reached along the path <AS1, AS2>. Thursday, September 29 CS 475 Networks - Lecture 11 10 Interdomain Routing (BGP) One important job of BGP is to prevent looping paths from forming. Loops are prevented by carrying the complete AS path in the routing messages. When an AS sees itself in the advertised path, it can conclude that the path is not useful to it. Thursday, September 29 CS 475 Networks - Lecture 11 11 Interdomain Routing (BGP) Numbers assigned to ASs are unique. AS numbers are 16 bits. This allows for 65,000 ASs. (Stub ASs do not need numbers). An AS will only advertise a route if it satisfies the policies of that AS. An AS may only advertise a preferred route or choose not to advertise a route at all. Thursday, September 29 CS 475 Networks - Lecture 11 BGP-4 Update Packet Format 12 Interdomain Routing (BGP) There are three common AS relationships. (1) Provider-Customer, provider advertises all learned routes to customer and all routes learned from customer to everyone. (2) CustomerProvider, customer advertises its own prefixes to provider and learned routes to its customers, but not to other providers. (3) Peer, providers advertise customer routes to each other, but not other providers. Thursday, September 29 CS 475 Networks - Lecture 11 13 Interdomain Routing (BGP) Border routers actually communicate using exterior BGP (eBGP). Routers within an AS can use interior BGP (iBGP) to distribute information learned from border routers to routers within the AS. Routers within the AS also use an interior gateway protocol (IGP), usually RIP or OSPF to distribute information about how to reach routers within the AS. A stub AS would normally just run an IGP with a default route to the (one) border router. Thursday, September 29 CS 475 Networks - Lecture 11 14 Interdomain Routing (BGP) Routing table for Router B. The BGP table is constructed using iBGP to communicate with the border routers. Routers A, D, and E also run eBGP to communicate with routers in neighboring ASs. All routers run the ASs preferred IGP. Thursday, September 29 CS 475 Networks - Lecture 11 15 IP Version 6 (IPv6) The effort that led to IPv6 was known as IP Next Generation (IPng). In addition to moving to a 128-bit IP number, IPv6 was designed to provide better support for realtime services, better security, autoconfiguration, and enhanced routing (including better support for mobile hosts). Support for these new features has also been added to IPv4 in recent years. Thursday, September 29 CS 475 Networks - Lecture 11 16 IP Version 6 (IPv6) - Addresses IPv6 is classless, but certain address prefixes have been reserved as shown in the table below. 99% of the address space is available for global unicast addressing. Prefix 00...0 (128 bits) 00...1 (128 bits) 1111 1111 1111 1110 10 1111 1110 11 Everything else Thursday, September 29 Use Unspecified Loopback Multicast Link local unicast Site local unicast Global unicast CS 475 Networks - Lecture 11 17 IP Version 6 (IPv6) - Addresses An IPv4 compatible address is obtained by zero extending a 32-bit IPv4 address to 128 bits. A node that understands only IPv4 can be assigned an IPv6 address by prefixing the IPv4 address with 2 bytes of all 1s and zero extending to 128 bits. An IPv6 address is written (using hex) as: 47CD:1234:0000:0000:0022:1234:A456:0124 Double colons can be used to represent (one set of) contiguous zeros in the address: 47CD:1234::0022:1234:A456:0124 Thursday, September 29 CS 475 Networks - Lecture 11 18 IP Version 6 (IPv6) - Addresses IPv6 addresses are allocated in a manner similar to which IPv4 is being deployed with CIDR. Service providers will be assigned IPv6 address blocks with a certain prefix. The providers can then give address blocks with longer prefixes to subscribers. IPv6 routes are specified with a prefix and slash (like CIDR routes). This method allows for route aggregation similar to CIDR. Thursday, September 29 CS 475 Networks - Lecture 11 19 IP Version 6 (IPv6) - Addresses Routing table for Router B. The BGP table is constructed using iBGP to communicate with the border routers. Routers A, D, and E also run eBGP to communicate with routers in neighboring ASs. All routers run the ASs preferred IGP. Thursday, September 29 CS 475 Networks - Lecture 11 20 IP Version 6 (IPv6) - Packet Format An IPv6 packet header is at right. The Version field is in the same location as the Version field of an IPv4 packet. TrafficClass and FlowLabel provide for Quality of Service. The NextHeader field is an ID for the next header if there are multiple headers, if not, it is a protocol demux key (TCP, UDP, etc). Thursday, September 29 CS 475 Networks - Lecture 11 21 IP Version 6 (IPv6) Autoconfiguration A simple way to obtain a global IPv6 number for a host is to just prefix the 48 bit Ethernet address with the network address. Such a method allows for automatic IP assignment without the use of a DHCP server. A router can be configured to periodically broadcast the appropriate network prefix. Until the correct prefix is known, the host can use a link local prefix. (Many hosts may never need a global address and could just always use a link local address.) Thursday, September 29 CS 475 Networks - Lecture 11 22 IP Version 6 (IPv6) Advanced Routing One of IPv6's extension headers is a routing header. The routing header lists a set of IPv6 addresses that the packet should pass through on its way to its destination. This allows for sourcebased routing on a packet-by-packet basis. A routing header list can contain an anycast address. An anycast address represents a set of interfaces (typically interfaces to a particular network). The packet would be routed through the nearest interface in the list. Thursday, September 29 CS 475 Networks - Lecture 11 23 In-class Exercises Homework 4 Wireshark Project 2 Thursday, September 29 CS 475 Networks - Lecture 11 24