1 / 27

CMPT 371

CMPT 371. Data Communications and Networking Multicast routing. Reverse path forwarding. When a source wishes to flood a message across the network to reach all routers Determine which interface the packet should arrive through Extract the source address

Télécharger la présentation

CMPT 371

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CMPT 371 Data Communications and Networking Multicast routing

  2. Reverse path forwarding • When a source wishes to flood a message across the network to reach all routers • Determine which interface the packet should arrive through • Extract the source address • Consult the routing table to determine which interface the packet would be sent through in if was to be forwarded to the source address. This is the reverse path interface • If the packet arrives on the reverse path interface flood it through all other interfaces • If the packet arrives on any interface other than the reverse path interface drop it

  3. mrouted mrouted mrouted mrouted mrouted mrouted mrouted mrouted A DVMRP example: RPF • STEP 1: RPF at A F s A C B P D A E Q A

  4. mrouted mrouted mrouted mrouted mrouted mrouted mrouted mrouted A DVMRP example: RPF • STEP 2: RPF from B, C, and F F s A C B P D A E Q A

  5. mrouted mrouted mrouted mrouted mrouted mrouted mrouted mrouted A DVMRP example: RPF • STEP 2: RPF from E, P, and Q F s A C B P D A E Q A

  6. Reverse path forwarding: problems • Using the RPF algorithm the packet will be flooding throughout the internet reaching all potential group members • Multiple copies of each packet may reach any given network. • Copies of the packet are sent to networks that are not part of the path from source to receiver and have no members in the multicast group

  7. True Multicast (spanning tree broadcast) • Determine least cost path to each network that has host in group • Gives spanning tree configuration containing networks with group members • Transmit single packet along spanning tree • Routers replicate packets at branch points of spanning tree

  8. Multicast Example Stallings 2003:figure 19.2

  9. Stallings 2003: Table 19.1

  10. Building a CBT (center based tree) • A spanning tree avoids the problems of reverse path forwarding. The spanning tree includes a single least cost path to each other router in the network. So only one copy of the packet will reach each destination. • A core based tree is one possible type of spanning tree, let’s consider how to build such a tree • Begin with a rendezvous point (RP) • A rendezvous point is a preselected router that will become the ‘core’ or centre of our spanning tree • A receiver is added to the tree by adding links one by one, along the unicast route to the rendezvous point. • Links are added until a router that is already part of the receiver portion of the shared distribution tree to all receivers is encountered. • Packets can be sent from the RP to all receivers by broadcasting down the constructed core based tree

  11. pim-SM pim-SM pim-SM pim-SM pim-SM pim-SM pim-SM pim-SM pim-SM pim-SM Adding a receiver to the CBT: PIM F • PIM (Protocol idependent multicast) • New receiver unicasts join to RP. At each router RP Unicast join message Resulting shared tree New receiver

  12. pim-SM pim-SM pim-SM pim-SM pim-SM pim-SM pim-SM pim-SM pim-SM pim-SM Adding a receiver to the CBT • New receiver unicasts join to RP. At each router New receiver RP Unicast join message Resulting shared tree

  13. Adding a source to the CBT • A multicast sender sends data . • The sender's local router (DR) takes those data packets, unicast-encapsulates them, and sends them directly to the RP. • The RP receives these encapsulated data packets, decapsulates them, and forwards them onto the shared tree to the receivers • The packets then follow the shared multicast tree, being replicated wherever the RP Tree branches, and eventually reaching all the receivers for that multicast group. • The process of encapsulating data packets to the RP is called registering, and the encapsulation packets are known as PIM Register packets

  14. pim-SM pim-SM pim-SM pim-SM pim-SM pim-SM pim-SM pim-SM pim-SM pim-SM pim-SM Adding a source • Unicast encapsulated data from local router to RP . • Continue to unicast encapsulated data directly to RP while building a source based tree New source F RP RP Data distribution down shared tree Source tree join messages receiver shared tree

  15. Adding a Source The RP sends messages to the local router of the new sender. These messages build a branch of the tree that connects the sender to the rendezvous point. Once the new branch of the tree is built the RP send a stop registration message to the local router of the new sender. The router of the new sender then begins sending packets through the new CBT branch rather than sending them inside registration packets

  16. pim-SM pim-SM pim-SM pim-SM pim-SM pim-SM pim-SM pim-SM pim-SM pim-SM Adding a source • Multicast data can now travel through the source based tree. Send register stop message to stop encapsulated delivery New source F Data distribution down shared tree RP source tree receiver shared tree

  17. Multicasting • Multicasting is useful in several contexts • SSM, source specific multicast: Information is sent to all members or the multicast group from a single source , members do not communicate directly with each other. • Multimedia “broadcast” to many destinations (hosts and networks) • Multicast to hosts on a local network for resource discovery • ASM, any source multicast: many sources and many destinations • Teleconferencing, gaming, distributed computing • SFM, source filtered multicast: • Specify the group and the members of the group from which incoming data will be accepted, • Specify hosts from which multicast data will not be accepted

  18. Multicasting • Transmit to a group of hosts on several networks. • This group of hosts includes a subset of hosts on each of the several networks. • Membership in the group is dynamic. Hosts may join or leave groups as they wish. • A multicast router is used to route packets between networks with members in a multicast group, Unicast routers may or may not be multicast routers • It is the responsibility of the multicast router to monitor and update changes in membership of groups, both within and outside the attached networks • A single multicast address refers to the group of hosts

  19. Multicasting Within a Local LAN • Many LANs provide hardware support for broadcast or multicast • To send Protocol stack on the host must map the IP multicast address onto the appropriate (MAC) multicast or broadcast addresses. • To receive the protocol’s network layer must keep track of processes belonging to each multicast group (allowing processes to join or leave the group) • If the LAN does not provide hardware support map the multicast addresses to local link layer address of a multicast router. The router can then send the appropriate unicast messages to group members

  20. Implementing multicast: N-way-Unicast • Send packet to each member of the multicast group using the members unicast address • Limits the need for extra protocols, but adds some complexity to the unicast routing protocols. • May require multiple copies of the packet to be sent through the same link (inefficient) • Must know destination addresses of all members of the multicast group • NOT DESIRABLE: However, • May be needed locally in networks with hardware that does not support broadcast. In this case it would be the local router that translates from multicast to M-way unicast for the M member of the multicast group on its local network.

  21. Multicasting Requirements 1 • Addressing Scheme: locally autonomous assignment of addresses with global applicability • IPv4 - Class D - start 1110 Address range 224.0.0.0 – 239.255.255.255 • IPv6 - 8 bit prefix, all 1, 4 bit flags field (permanently assigned or dynamic using IGMP), 4 bit scope field (single network to global), 112 bit group identifier • A multicast address can only be a destination address, not a source address. • A multicast datagram cannot generate an ICMP message

  22. Multicasting Requirements 2 • Effective notification and delivery • Hosts need a mechanism to notify routers about which groups are of interests to them (IGMP), that is a mechanism to join and leave multicast groups • Routers need a mechanism to deliver the multicast packets to the hosts on their directly attached networks • Router must translate between IP multicast address and network multicast address (reception) in networks with hardware support for multicasting • Router must deliver packets by broadcast or multiple unicast in networks that do not have hardware support

  23. IGMP • Internet Group Management Protocol • Governs exchange of multicast group information between hosts and multicast routers, • Two types of Messages transmitted in IP datagrams • Membership Query: sent by router to monitor group membership • Membership Report: sent by hosts to join or leave groups, or to reply to a membership query and indicate desire to remain a member of the group

  24. IGMP Operation – Joining • To join group, host sends IGMP membership report message • Sent in IP datagram with IP Destination Address in the encapsulating IP header being the multicast group address of the multicast group to be joined. • The multicast routers attached directly to the hosts network segment will then add the host to the list of hosts connected to its attached networks that are already part of the requested multicast group

  25. IGMPv2 Operation – Remaining • Routers periodically issue IGMP general query message to all group members on their attached nets • Hosts that wish to remain in groups must read datagrams with this all-hosts address • Host responds by preparing areport message for each group to which it claims membership. One host on each network will send its prepared report. • Router does not need to know every host in a group • Needs to know at least one group member still active • Each host in group sets timer with random delay • Host that hears another claim membership cancels own report • If timer expires, host sends report • Only one member of each group reports to router • Hosts periodically update information with

  26. Multicasting Requirements 3 • An Efficient, Dynamic Forwarding Facility • Router must translate between IP multicast addresses and list of networks containing group members • Routers must exchange information • Which networks include members of given group at a given time • Sufficient path cost information to work out shortest path to each network • Routers must determine ‘shortest’ routing paths based on source and destination addresses

  27. Delivering to a multicast group • Constraints for efficient multicast routing: • Every member host of a multicast group should receive one copy of the packet • No host not a member of the multicast group should receive the packet • Each router should receive the packet only once • Determine least cost path to each network that has host in group subject to these constraints • Gives spanning tree configuration containing networks with group members • Transmit packets along the resulting spanning tree

More Related