430 likes | 600 Views
CSCI 6433 Internet Protocols Class 7. David C. Roberts. Topics. Internet Multicasting MPLS. IP Datagram Messaging. Unicast: datagram from one source device to one recipient device Broadcast: datagram from one source to all recipients on a network
E N D
CSCI 6433Internet ProtocolsClass 7 David C. Roberts
Topics • Internet Multicasting • MPLS
IP Datagram Messaging • Unicast: datagram from one source device to one recipient device • Broadcast: datagram from one source to all recipients on a network • Multicast: datagram from one source to a collection of recipient devices
Functions Needed • Multicast addressing • Class D of IPv4 addresses • Multicast group management • IGMP—Internet Group Management Protocol • Multicast datagram routing • Multicast routing protocols are employed
Group Management • IGMP, Internet Group Management Protocol, is used to manage groups
Multicast addressing • ARP is designed for unicast only • ARP for multicast would be very inefficient • Direct mapping to data link layer multicast groups is used • 23 of the 28 bits in the multicast group address in Ethernet are used
Routing • Routing is complicated! • Must create multiple copies of the datagram for multicasting • Routers need special algorithms to handle these multiple copies with efficiency • Routers must be able to handle datagrams to a multicast group even if the source is not a group member
IP Multicast • Group address—each group has a unique class D address, permanent or temporary • Number of groups—addresses for up to 228 simultaneous multicast groups • Dynamic group membership—host can join, leave a group any time • Hardware—can use hardware multicast • Internetwork forwarding—multicast routers needed to forward multicast between networks • Transmission—any host can send to any group
Building Blocks • Multicast addressing scheme • Effective notification and delivery mechanisms • Internetwork forwarding facility
The Concept • Multicast addresses • One IP multicast address per group • Addresses useful worldwide • Notification and delivery mechanism • Inform routers about groups • Transfer multicast packets to hosts • Internetwork forwarding • Efficient routing along shortest paths • Don’t route to networks with no group members
Multicast Semantics • Multicast address only a destination address • No ICMP error messages generated about multicast datagrams • TTL field in an multicast datagram is honored Question: what happens when I ping a multicast address? Why?
Multicast Routing • Not all routers are multicast routers • Host does not know which are multicast • Host sends packet using local network multicast address • Multicast routers listen for all multicast datagrams, route them appropriately • Host does not have to address multicast datagram to a multicast router • Multicast capability is provided by routers, not hosts
Multicast Scope • Scope of a multicast group—range of group members • All on same network: scope is restricted to one network • All in same organization: scope limited to one organization • Methods of controlling scope: • TTL controls the range • Administrative scoping: routers forbidden to forward to the restricted space
Host Participation Possible levels of participation of a host in multicasting: For an application to multicast, host must have an API for application to declare intent to join or leave a multicast group. Host must track application participation in groups, remember that it leaves a group when all applications leave.
IGMP—Internet Group Management Protocol • IGMP carries group membership information • Thought of as a part of IP, like ICMP • IGMP is required for all machines that receive IP multicast • Phase 1: host joins a group, sends IGMP message to multicast address declaring membership • Phase 2: multicast routers poll hosts to determine whether any are still members of each group, stops advertising to other routers after no response to several polls
IGMP Implementation • All communications between hosts and multicast routers use IGMP • Every 125 seconds, multicast routers poll all groups for membership information, not just one • Multicast routers on a single network choose just one to do all polling • Hosts don’t all respond to a query at the same time • Each host listens for responses from other hosts in the group, suppresses unnecessary response traffic Question: Why are hosts listening? What would they not send?
Special Properties of Multicast Routing • Multicast routes can change simply because an application decides to leave or join a group • Multicast forwarding requires a router to examine more than the destination address • A multicast datagram may originate on a host that is not part of the group, and may be routed across networks with no group members attached
Multicast Forwarding and Routing Dot, X are two different multicast groups
Multicast Routing Paradigms • RPF—reverse path forwarding • Router looks up interface that leads to source address (interface I) • Forwards datagram over all interfaces other than I • If datagram arrived other than through I, discard it • RPF sends datagrams to networks with no members • TRPF—truncated reverse path forwarding • Uses list of multicast groups reachable through each interface • First, RPF is applied • Then, interfaces that do not lead to members of the group are skipped Multicast routing is based on the datagram’s source and destination addresses
Consequences of TRPF Consider the case where a multicast datagram headed for host B is sent by host A
Multicast Trees Number of copies received depends on the source
Multicast Routing • TRPF doesn’t forward to network if it has no members of the group • Thus router must know about group membership • Membership information must be communicated across the Internet • Multicast design a tradeoff of routing traffic overhead and inefficient data transmission
Reverse Path Multicasting • Basis: • First priority given to reach all group members rather than avoid retransmission • Presume that multicast routers have a routing table that is correct • Routing should improve performance where possible • Use RPF to send across all networks • Use RPM to identify routers that don’t reach members • Cease forwarding to routers that don’t reach members • RPM is called broadcast and prune strategy
Where It’s Used • Multicasting is widely used within organizations for video and audio distribution • Use on the Internet has begun with Internet radio and television
Summary • IP multicasting an abstraction of hardware multicasting • IP multicasting uses class D addresses • Hosts communicate group membership to multicast routers using IGMP • IGMP introduces periodic message from a multicast router and a reply for each group • Several protocols have been designed for multicast routing
Disadvantages of Table Routing • Takes log2 n probes to find an address in forwarding table of n entries • Array index can be performed in one step • Switching methods use a label from a packet as in index to a table that gives action to take
Multi-Protocol Label Switching • Data packets are assigned labels • Packet-forwarding decisions made based on the label, no need to examine the packet • Can create end-to-end circuits across any transport medium with any protocol • Can carry many types of packets • Traffic management is improved • Loss of visibility to IT departments • Path labels identify virtual links between distant nodes, not necessarily endpoints
MPLS Routers • Routers that carry MPLS traffic are called label switch routers (LSRs) • Entry and exit point routers are called label edge routers (LERs), which push an MPLS label onto a packet and pop it off an outgoing packet
MPLS in the Stack MPLS is called a “layer 2.5” protocol
Understanding MPLS • Instead of focusing on destinations, focus on packet flows • Instead of thinking about forwarding tables that are relatively static, think about a system that can change forwarding tables quickly Switching technologies like MPLS use the flow abstraction and create forwarding for flows rather than for destinations
How It Works • Each packet is prefixed by an MPLS header, called a label stack with some number of these: • 20-bit label value • 3-bit traffic class field for QoS • 1-bit bottom of stack flag • 8-bit TTL field • Label edge router pushes label, pops at other edge of MPLS network • Label switch router routes based on the label only
Label Distribution Protocol • LDP used to distribute labels between LERs and LSRs • LSRs exchange reachability and label information to build a complete diagram of the MPLS network • Label switch paths are used to create virtual paths through MPLS networks • LER determines forwarding class of a packet, pushes label into MPLS header • LSR looks at topmost label, does a label swap, push or pop to label stack
Use of the Label Stack • Label swap • Label is swapped with a new label • Packet is forwarded along path of new label • Label push • New label pushed on top of existing label • Encapsulates packet in another layer of MPLS • Allows hierarchical routing of MPLS packets • Label pop • Label is removed from packet • May reveal an inner label • If label is last one, packet leaves MPLS tunnel • At egress router, only original payload remains, so that router must be able to process it
Multi-Protocol Label Switching Use of labels to direct forwarding
Traffic Engineering • Can use MPLS to define full mesh between two ISPs, can monitor traffic to other ISPs • Can use MPLS to use fastest routes for most critical traffic
Summary • Indexing can be used instead of table lookup to determine routing, saving router time • Paths can be defined and engineered • MPLS prepends a header onto each message • LSRs along the route use labels to forward the datagram without lookups • MPLS was defined to save router time, is less important today because of faster routers • MPLS is mostly used today to provide VPNs