Lecture 14 Homework 5, due next Thursday (October 20) at the beginning of class for Midterm exam review Wireshark Project 3 posted, due next Thursday (October 20) Programming Project 3 posted, due following Tuesday (October 25) Questions? Tuesday, October 13 CS 475 Networks - Lecture 14 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 Tuesday, October 13 CS 475 Networks - Lecture 14 2 Multicast IP supports multicast to support one-to-many (radio, news, updates) and many-to-many (teleconf, gaming) communication. IP multicast (MC) uses MC groups, where each group has its own IP MC address. A sending host sends a single copy of a packet to the MC address. The network routers copy the packet whenever it needs to be forwarded over more than one link. Tuesday, October 13 CS 475 Networks - Lecture 14 3 Multicast IP multicast was originally a many-to-many (any source MC or ASM) model. A one-to-many MC model (source-specific MC or SSM) was developed in which a receiver specifies a MC group and a specific host. A host joins and leaves an MC group by using (IPv4) Internet Group Management Protocol (IGMP) or (IPv6) MC Listener Discovery (MLD) to communicate to the local router. Tuesday, October 13 CS 475 Networks - Lecture 14 4 Multicast Addresses IPv4 uses addresses 224.0.0.0 through 239.255.255.255 (Class D) for multicast. This address range uses a 4-bit prefix (1110) leaving 28 bits to specify an MC group. Ethernet supports multicast (in addition to unicast and broadcast) but uses only 23 bits for an MC address. 32 (25) IP MC addresses map into each Ethernet MC address. After receiving an MC packet a host must examine the entire IP address to either accept or reject the MC packet. Tuesday, October 13 CS 475 Networks - Lecture 14 5 Multicast Routing While a unicast propagates along a path, a multicast propagates along a tree. Multicast routing is the process by which the multicast distribution tree is determined. Tuesday, October 13 CS 475 Networks - Lecture 14 6 Multicast Routing - DVMRP The Distance Vector Multicast Routing Protocol (DVMRP) is an extension of distance vector routing to support multicast. DVMRP is a flood-and-prune protocol. In a flood protocol each router would copy and forward a multicast packet along all links except the one on which the packet arrived if and only if the packet arrived over the link that is on the shortest path to the source. Tuesday, October 13 CS 475 Networks - Lecture 14 7 Multicast Routing - DVMRP Members of MC group G circled in red Tuesday, October 13 CS 475 Networks - Lecture 14 8 Multicast Routing - DVMRP Duplicate packets can still be sent to LANs connected to more than one router. DVMRP solves this by requiring one router on a LAN to be designated as the parent. Only the parent forwards packets to the LAN. We want to prune networks that contain no members of the MC group. This can be accomplished by having each member of the group periodically announce that it is a group member. Parent routers can prune networks that contain no members. Tuesday, October 13 CS 475 Networks - Lecture 14 9 Multicast Routing - PIM SM DVMRP does not scale well and Protocol Independent MC (PIM) was developed in response. There are dense and sparse modes (PIM-DM and PIM-SM). PIM-SM is the dominant MC routing protocol and is the only one discussed here. In PIM-SM, routers join the MC tree by sending a Join message to a special router known as the rendezvous point (RP). Tuesday, October 13 CS 475 Networks - Lecture 14 10 Multicast Routing - PIM SM Here R4 sends a join message to the RP. R2 will forward MC traffic only along the path from RP to R4. R5's Join will not propagate farther than R2. R2 will add the path to R5 to the MC tree. Tuesday, October 13 CS 475 Networks - Lecture 14 11 Multicast Routing - PIM SM For MC group G, each router looks at the Join and creates a forwarding table entry for the shared tree, called a (*, G) entry. To send a message to the group a host sends a packet addressed to the MC group to a local designated router (DR) which encapsulates the message in a Register message which is tunneled to the RP. The RP removes the packet and sends it out to the shared tree. Tuesday, October 13 CS 475 Networks - Lecture 14 12 Multicast Routing - PIM SM R1 is the DR for the host. The message is unicast from R1 to RP at which point it is multicast along the distribution tree. Tuesday, October 13 CS 475 Networks - Lecture 14 13 Multicast Routing - PIM SM A host sending a lot of data to the MC group can trigger construction of a source-specific tree rooted at the DR. A high data rate from a single source can trigger construction of a more optimal source specific tree that replaces the shared tree. The DR in this case effectively replaces the RP. This tree can be significantly shorter than the original shared tree. Tuesday, October 13 CS 475 Networks - Lecture 14 14 Multicast Routing - PIM SM A source specific tree that uses the shared tree is shown in (c). A shorter source specific tree that replaces the shared tree is shown in (d). Tuesday, October 13 CS 475 Networks - Lecture 14 15 Multicast Routing - MSDP PIM-SM is typically used only within a domain. The Multicast Source Discovery Protocol (MSDP) was developed to extend MC across domains that use PIM-SIM. Each domain has an RP with peer RPs in other domains. An RP sends Source Active messages periodically to its peers on behalf of the sources. A peer can join the MC group by sending a Join message to DR for the source. Tuesday, October 13 CS 475 Networks - Lecture 14 16 Multicast Routing - MSDP Construction of a source specific MC tree across domains using MSDP. Tuesday, October 13 CS 475 Networks - Lecture 14 17 Multicast Routing - PIM SSM PIM was originally designed as a many-to-many protocol. PIM source-specific multicast (PIMSSM) was developed to support the demand for a one-to-many protocol. PIM-SSM required changes only to IGMP rather than PIM. In PIM-SSM a source specific tree is constructed first, bypassing the construction of a shared tree. Tuesday, October 13 CS 475 Networks - Lecture 14 18 Multicast Routing - BIDIR-PIM Bidirectional PIM (BIDIR-PIM) is an enhancement to PIM that is better suited for many-to-many multicasting within a domain when the senders and receivers may be the same (multiparty videoconference). Tuesday, October 13 CS 475 Networks - Lecture 14 19 Multiprotocol Label Switching (MPLS) MPLS tries to combine some of the properties of virtual circuits with those of a datagram network. MPLS-enabled routers forward packets by examining short, fixed-length labels. MPLS is primarily used for (1) destination-based forwarding, (2) explicit routing, and (3) virtual private networks and tunnels. Tuesday, October 13 CS 475 Networks - Lecture 14 20 MPLS - Destination-Based Forwarding Router R2 has assigned and advertised labels for certain network prefixes. Arriving packets have labels attached by R1 (the label edge router or LER). Tuesday, October 13 CS 475 Networks - Lecture 14 21 MPLS - Destination-Based Forwarding The IP longest match lookup algorithm has been replaced by exact match lookup. MPLS allows internal ATM switches to be used as IP routers. (This can be a cost effective way to carry IP traffic on an existing ATM network.) The switches are now called Label Switched Routers (LSRs). Each MPLS label is associated with a forwarding equivalence class (FEC). In this example, the FECs are network prefixes. Tuesday, October 13 CS 475 Networks - Lecture 14 22 MPLS - Destination-Based Forwarding Conversion of an overlay network that uses ATM switches to a peer network (no hardware changes are involved). R1 now has one next hop instead of five, resulting in simpler forwarding tables. Tuesday, October 13 CS 475 Networks - Lecture 14 23 MPLS – Explicit Routing MPLS enabled routers also allow a network to use explicit routing (similar to source routing). R1 can use the Resource Reservation Protocol (RSVP) to specify the R4-R5 path to R7. R2 can specify the R6 path. R1 and R2 attach different labels to their packets. The FEC is now based on the source router instead of the destination Tuesday, October 13 CS 475 Networks - Lecture 14 24 MPLS - Virtual Private Networks and Tunnels MPLS enabled routers allow tunnels through a network that can carry layer 2 data (ATM cells, Ethernet or Frame Relay frames). IP tunnels can be used similarly, but MPLS tunnels use a much shorter packet header. Tuesday, October 13 CS 475 Networks - Lecture 14 25 MPLS - Virtual Private Networks and Tunnels Tunneling of ATM cells through an MPLS tunnel. A demux label (DL) identifies the virtual circuit. The tunnel label (TL) is a standard MPLS label. Tuesday, October 13 CS 475 Networks - Lecture 14 26 MPLS - Virtual Private Networks and Tunnels An ISP can use a network of MPLS enabled routers to create private networks for customers. A common infrastructure is used, but each customer appears to have their own private network. Tuesday, October 13 CS 475 Networks - Lecture 14 27 Routing among Mobile Devices DHCP has been a key enabling technology that has made wireless hotspots feasible. It provides an IP address and the identities of a default router and DNS server for new devices on a network. This is adequate for a large class of applications. Other applications would break if we assigned a new IP address to a host when it moves to a new network. For example, Voice over IP telephone calls, when a device moves between hotspots or switches from wireless to 3G Tuesday, October 13 CS 475 Networks - Lecture 14 28 Routing to Mobile Hosts (Mobile IP) An example is shown at the right. The correspondent's packets need to be rerouted to the receiver's new network. The Mobile IP group developed a procedure that allows a host to keep its original IP address as it moves between networks. Applications then continue to work seamlessly. Tuesday, October 13 CS 475 Networks - Lecture 14 29 Routing to Mobile Hosts (Mobile IP) Mobile IP requires special routers known as the home agent and foreign agent respectively. The home agent intercepts packets intended for the mobile host and tunnels the packets to the foreign agent. The foreign agent delivers the packets to the host. Tuesday, October 13 CS 475 Networks - Lecture 14 30 Routing to Mobile Hosts (Mobile IP) Optimization Optimizing routes between correspondent node and mobile nodes is referred to as the triangle routing problem, since Mobile IP path takes two side of a triangle rather than the direct path. The solution is to tell the correspondent node the care-of address of the mobile node. Then the correspondent node can create its own tunnel directly to the mobile node. In the best case, if they are on the same network, the packets are addressed directly. Tuesday, October 13 CS 475 Networks - Lecture 14 31 Routing to Mobile Hosts (Mobile IP) Mobility in IPv6 Mobility is designed into IPv6. Any IPv6capable host can acquire an address whenever it is attached to a foreign network and can act as a foreign agent. Packets to the care-of address can contain an extension header with the home address. This allows the mobile node to present the illusion that its IP address is fixed to the higher protocol layers. Tuesday, October 13 CS 475 Networks - Lecture 14 32 In-class Exercises Start Homework 5 Tuesday, October 13 CS 475 Networks - Lecture 14 33