630 likes | 831 Views
Multicast Routing in the Internet. Student: Mozafar bag mohammadi Advisor: Dr. Yazdani Co-advisor: Dr. Rezaee. Outline. Introduction to multicast routing BP idea NBM Explicit multicast Linkcast Bcast Conclusion. Multicast Applications. Small groups
E N D
Multicast Routing in the Internet Student: Mozafar bag mohammadi Advisor: Dr. Yazdani Co-advisor: Dr. Rezaee
Outline • Introduction to multicast routing • BP idea • NBM • Explicit multicast • Linkcast • Bcast • Conclusion
Multicast Applications • Small groups • Teleconferencing (audio, video, shared whiteboard, text editor) • Multi-player games • Medium size groups • Software distribution • Web-cache updates • Push-based systems • Server/service location • Large groups • Broadcast audio/video
Multicast Main Benefits • Elimination of duplicate copy over some networks links • Decreases load on sender Src Src
Multicast Model • Single name/address maps to logically related set of destinations • Destination set = multicast group • Members are the intended receivers • Senders may or may not be members • Hosts may belong to many groups • Hosts may send to many groups • Support: • dynamic creation of groups • dynamic membership • dynamic sources
IP Multicast Concepts Host-to-router Protocol (IGMP): keep router up-to-date with group membership of entire LAN receivers sender Designated Router On-Tree router Multicast routing protocols (various):build distribution tree for multicast packets On-Tree Link Branching router
SPT vs. Steiner Tree Source S Router Receiver R 2 2 1 1 1 1 R1 R1 1 1 R2 R2 3 3 1 1 4 4 1 1 1 1 R5 R5 R3 R3 1 1 2 2 S S 1 1 1 1 R4 R4 SPT (Shortest Path Tree) Steiner
Shared vs. Source-Based Trees Source Router S Receiver R R R R R R R RP S S S S R R Source-Based Tree Shared Tree
Tree types • Shortest Path Tree • Simplicity of construction method • Distributed solutions • High cost • Source Based Tree • low delay, better load distribution, • Per-source state at routers • Shared trees • Higher delay, traffic concentration, • Per-group state at routers • Steiner trees • Lowest cost, highest delay • NP-complete, • Centralized solutions
Basic Routing Techniques • Flood & prune: DVMRP, PIM-DM • RSPT, Periodic Flooding, inter-domain routing difficulties, • Link-state multicast protocols: MOSPF • SPT, High memory consumption, tree calculation in every node. • Core based protocols: CBT, PIM-SM • Comply well with the basic model, Sub-optimal tree, inter-domain routing difficulties, traffic concentration, sensitivity to core selection method, RSPT,
Alternative Routing Techniques • Explicit Multicast: Xcast, Bcast • Deployment, stateless, scalable,waste of data space, processing overhead, small groups only. • Application Level Multicast: ESM, NICE • Deployment, stateless, no control burden on network, scalable, overlay construction difficulties,stress, sub-optimal trees, stretch, high failure rate of host, cheating • Branching Point Based: NHBH , REUNITE, HBH • SPT, low memory requirement, incremental deployment, using unicast forwarding, high availability, Superfluous lookups.
Multicast Routing Parameters Parameters: • Bandwidth consumptions • Data delivery latency • Processing overhead • Memory overhead • Join latency • Reverse or direct path • Hosts load Desires or conditions: • Receivers number and distribution • Security support • Reliability support • QoS support • Loop avoidance • Resilience • MPRorSPR • Intra or inter domain
Two Main Problems • State maintenance • Memory shortage when number of groups increase significantly • State invalidation due to routes changes • Need for complex inter-domain routing and management (PIM-SM/MSDP/MBGP)
Branching Point Idea • Node types: • Member nodes • Relay nodes • Branching points • More than 80% of tree nodes are relay nodes.
Problems with current methods • Unnecessary lookups for unicast and multicast packets
Problems with current methods • REUNITE • Asymmetries may result in creation of duplicate packets • The departure of one receiver may change the route for others • Route changes invalidate MCT • Route change may disconnect a subset of receivers from the tree even though all nodes and links work properly • HBH • All relay nodes between every two adjacent BPs must keep MFT • Duplicate packets creation duo to asymmetries • Route changes invalidate MCT • SEM • The whole multicast tree must be constructed again if: • a new member joins the multicast session • one of the existing members leaves the session • The number of receivers is inherently limited due to packet size limit
NBM Principals • NBM main ideas: • Build message contains IP addresses of: • the new receiver • the next BP in the tree • Children of a failed BP detect failure of their parent and repair it locally by asking their grandpa to find a new parent for them.
NBM Principals • Six Messages Type: • Join • to announce receiver desire to join the tree • Leave • to announce receiver desire to leave tree • Build • to find associated BP of the new receiver • Replace • To inform parent BP about creation of a new BP in the tree • Parent • to inform a receiver or a BP about its parent and grandpa • Repair • to locally repair the tree
MFT r1 Tree construction: r1 join s rn1 B1 rn3 rn2 Join Build Parent Replace r1 rn5 rn6 B2 rn4 r2 r3
MFT r1 r2 Tree construction: r2 join s MFT r1 r2 B1 rn1 B1 rn3 rn2 Join Build Parent Replace r1 rn5 rn6 B2 rn4 r2 r3
MFT r2 r3 Tree construction: r3 join s MFT B1 rn1 MFT B1 rn3 rn2 r2 B2 r1 r1 Join Build Parent Replace rn5 rn6 B2 rn4 r2 r3
Tree Maintenance • Each BP refresh its children periodically. • Refresh message contains IP address of grandpa • Refresh rates of higher level BPs increase linearly • If a BP or a receiver misses three consecutive refresh (parent) messages: • it sends a repair message toward the grandpa • Grandpa deal with repair requests in the same way as source do with receiver join messages: • It sends a Build message toward the orphaned node • or adds it to its MFT
MFT r2 r3 Tree Maintenance s MFT Repiar Build Parent Replace B1 rn1 B1 rn3 rn2 r1 rn8 MFT rn5 rn9 r1 B3 B2 rn6 rn7 B2 r4 B3 rn4 r2 r3
MFT r2 r3 MFT B2 r4 Tree Maintenance s MFT Join Build Parent Replace B1 rn1 B1 rn3 rn2 r1 rn8 MFT rn5 rn9 r1 B3 rn6 rn6 rn7 B2 r4 B3 rn4 r2 r3
Height estimation • Dependent Receivers (DR) • A BP can estimate DR of a branch by counting the number of Build messages passing through it. • Height of the branch (in reduced tree) is approximately logXDR. • Each branch has a different refresh rate • Refresh period = MTI/logXDR • Higher level BPs refresh their children more frequently. • NMTI=NMEM*X2/(X-1)2
Packet Forwarding in NBM Node B received a packet with unicast destination Hi
Simulation Setup • GenMcast and NS-2: verification • myns: large-scale simulations • GT-ITM: graph generation • Transit-Stub model (10100 nodes) • 10 transit domains • Each transit domain has 10 nodes • Each transit domain has 5 stub domains • Each stub domain has 20 nodes • Average node degree: 3.5 • 50 simulation runs for each point
Simulation Metrics • Number of required table lookups • Multicast Forwarding Gain (MFG): the ratio between the number of required lookups in OBP and NBM • Overall Forwarding Gain (OFG): OFG takes unicast traffic into consideration as well • Number of required MFT entries • SPT: NBP+NRN+NMEM • RT: NBP+NMEM. • MFT Reduction Gain (MRG): the ratio between SPT and RT values. • Tree availability • Tree Availability Gain (TAG): the ratio of non-leaf components of SPT to non-leaf components of RT or: NBP+NRN/NBP • Stress
Explicit Multicast • The sender generates explicit multicast header using appropriate information about receivers and attaches it to every multicast data packet. • multicast packets are forwarded by routers using the explicit multicast header
Explicit Multicast • Benefits • Stateless design • Support for unlimited number of concurrent groups • High scalability • More availability and reliability • Avoid tree construction cost which is not reasonable for small size group. • Support for access control • Using unicast forwarding • Independency from unicast routing hierarchy • No multicast address allocation required • Helping reliable multicast protocols • Disadvantages • Header size overhead • Group size is limited (less than 50) • Useful data space of packet is less • Processing overhead
Tree Information • Tree information are gathered using join messages of receivers • Xcast and Xcast+: receivers IP address • Bcast and ERM: routers on the path between each receiver and the sender • Linkcast: Links on the path between each receiver and the sender
Xcast and Xcast+ • In Xcast, a list of destination’ IP addresses is sent with each multicast packet. • In Xcast+, a list of designated routers is sent with each multicast packet
An Example of Xcast • Number of lookups in Xcast:37 • Number of lookups in Xcast+:32 (37 -5)
Xcast Pros and Cons • Lowest header size • Simplicity • Unicast fate-sharing • Lack of appropriate incremental deployment mechanism. • The header size is multiplied by a factor of 4 in the case of IPV6 deployment • Highest processing overhead • The unicast engine must perform an unicast table lookup for each IP address that exists in the header
Linkcast • Linkcast header contains IDs of all on-tree links and some numbers. • The numbers help routers to interpret the header correctly. • The link IDs are assigned locally by routers when they process JOIN request of a receiver
Linkcast Pros and Cons • Lowest processing overhead • Linkcast is more efficient when number of receivers increases (more than 10) thanks to Chuang-Sirbu scaling low • The header size dose not increase in the case of IPV6 deployment. • Moderate header size • Lack of Incremental Deployment • Failures of on-tree links and routers disrupts the multicast service for a subset of receivers.
ERM and Bcast • In ERM and Bcast, IP addresses of the designated routers and BPs (H1 … H4) are encoded in a special header and is sent with each packet. • The packet is always sent toward next BP in the tree. • When packet reaches next BP, it decodes the header to find next BPs or receivers and send a copy of received packet toward them.
An Example of Bcast • Number of lookups :14 • More than 200% improvement
ERM assigns an ID (1 byte) to each destination (a receiver or a BP) The ID determines the location of its parent in the code. Bcast assigns a number (1 byte) to each BP The number resolves: the position of the branching point in the tree code, number of its children and their positions in the tree code. The size of generated header in Bcast is less. This increases useful data space of data packets. Tree Encoding
Bypassing feature will approximately decrease header size by half Link stress: The overhead of this mechanism is presence of duplicate packets on the routers between S and H1 Bypassing First BP in Bcast
Bcast Pros and Cons • Incremental Deployment • Low processing overhead • Efficient Billing and Accounting Capability • The header size is multiplied by a factor of 4 in the case of IPV6 deployment. • Moderate header size • ERM code size is highest among all