Presentation is loading. Please wait.

Presentation is loading. Please wait.

DMET 602: Networks and Media Lab

Similar presentations


Presentation on theme: "DMET 602: Networks and Media Lab"— Presentation transcript:

1 DMET 602: Networks and Media Lab
Amr El Mougy Yasmeen Essam Mohamed Karam

2 Exp 5: Multicast

3 Unicast vs Multicast

4 Unicast vs Multicast TCP Unicast but NOT Multicast
– TCP is connection orientated protocol – Requires 3 way Handshake – Reliable due to sequence numbers + Ack – Flow control UDP Unicast and Multicast – Connectionless – Unreliable (application layer awareness)

5 Multicast is based on UDP
Best Effort Delivery: Drops are to be expected. Multicast applications should not expect reliable delivery of data and should be designed accordingly. Reliable Multicast is still an area for much research. Expect to see more developments in this area. No Congestion Avoidance: Lack of TCP windowing and “slow-start” mechanisms can result in network congestion. If possible, Multicast applications should attempt to detect and avoid congestion conditions. Duplicates: Some multicast protocol mechanisms (e.g. Asserts, Registers and SPT Transitions) result in the occasional generation of duplicate packets. Multicast applications should be designed to expect occasional duplicate packets. Out of Order Delivery: Some protocol mechanisms may also result in out of order delivery of packets.

6 Multicast Advantages Enhanced Efficiency: Controls network traffic and reduces server and CPU loads Optimized Performance: Eliminates traffic redundancy Distributed Applications: Makes multipoint applications possible

7 Multicast Architecture
Campus Multicast: IGMP used for group management (host-to-routers). PIM or DVMRP used for routing Inter-domain multicast: PIM-SSM used for routing

8 How Multicast Works 1. You must be a “member” of a group to receive its data 2. If you send to a group address, all members receive it 3. You do not have to be a member of a group to send to a group

9 Multicast IP Addresses
Source address is just the host’s IP address Destination address is the group address. One of the D class addresses Some addresses in the D class are reserved for control operations (ex: is reserved for IGMPv3 packets). Some addresses have local scope (within an AS), while other have a global scope (inter-domain) Typically assigned manually or using part of the address of the AS

10 Choosing the TTL Value TTL is a value that is decremented at each router along a path. When it reaches zero, the router drops the packet In multicast, packets reach devices in different paths. How does the source choose the TTL Some multicast IP addresses have local scope. For those, the multicast router never forwards them, regardless of the TTL TTl Value Scope 1 Same subnet 32 Same site 64 Same region 128 Same continent 255 Unrestricted

11 Multicast MAC Addresses
Low-order 23-bits of IP address map into low-order 23 bits of IEEE address

12 Internet Group Management Protocol (IGMP)
How hosts tell routers about group membership Routers solicit group membership from directly connected hosts IGMP v1 IGMP v2 IGMP v3 Queries Querier sends IGMP messages to with ttl = 1 One router on LAN designated/elected to send queries Query interval 60–120 seconds Reports IGMP report sent by one host suppresses sending by others Restrict to one report per group per LAN Unsolicited reports sent by host, when it first joins the group Host sends leave message if it leaves the group and is the last member (reduces leave latency in comparison to v1) Router sends group specific queries to make sure there are no members present before stopping to forward data for the group for that subnet Standard querier election Adds Include/Exclude Source Lists Enables hosts to listen only to a specified subset of the hosts sending to the group New Membership Report address: (IGMPv3 Routers) All IGMPv3 Hosts send reports to this address Instead of the target group address as in IGMPv1/v2 All IGMPv3 Routers listen to this address Hosts do not listen or respond to this address No Report Suppression All Hosts on wire respond to Queries (Host’s complete IGMP state sent in single response) Response Interval may be tuned over broad range (Useful when large numbers of hosts reside on subnet)

13 Include/exclude sources
Joining a Group IGMP v1/v2 IGMP v3 Include/exclude sources

14 Leaving a Group (IGMP v2)
1. Host sends Leave message to 2. Router sends Group specific query to 3. No IGMP Report is received within ~3 seconds 4. Group times out

15 Maintaining a Group (IGMP v3)
• Router sends periodic queries • All IGMPv3 members respond • Reports contain multiple Group state records

16 IGMPv3 Message Format Query Report

17 Multicast Routing Multicast Routing is backwards from Unicast Routing
Unicast Routing is concerned about where the packet is going Multicast Routing is concerned about where the packet came from Unicast Forwarding Destination IP address directly indicates where to forward packet Forwarding is hop-by-hop Unicast routing table determines interface and next-hop router to forward packet Multicast Forwarding Destination IP address (group) doesn’t directly indicate where to forward packet Forwarding is connection-oriented Receivers must first be “connected” to the source before traffic begins to flow Connection messages (PIM Joins) follow unicast routing table toward multicast source Build Multicast Distribution Trees that determine where to forward packets Distribution Trees rebuilt dynamically in case of network topology changes

18 Reverse Path Forwarding
A router forwards a multicast datagram if received on the interface used to send unicast datagrams to the source RPF Calculation The multicast source address is checked against the unicast routing table. This determines the interface and upstream router in the direction of the source to which PIM Joins are sent This interface becomes the “Incoming” or RPF interface A router forwards a multicast datagram only if received on the RPF interface

19 RPF Calculation Based on Source Address
Best path to source found in Unicast Route Table Determines where to send Join Joins continue towards Source to build multicast tree Multicast data flows down tree Repeat for other receivers First receiver Second receiver Tie Breaker

20 Spanning Tree First construct a spanning tree
Nodes forward copies only along spanning tree To create: define a center node Each node sends “join” unicast message to center node Nodes forward the message until it reaches a node that already belongs to the spanning tree Broadcast initiated at A Broadcast initiated at D Stepwise construction of tree Constructed tree

21 Multicast Routing: Problem Statement
Goal: find a tree (or trees) connecting routers having local mcast group members Tree: not all paths between routers used Source distribution: Different tree from each sender to (one tree per source) Reverse path forwarding More memory but optimal paths to all receivers (minimum delay) Group shared-tree: Same tree used by all group members Less memory but sub-optimal paths

22 Distribution Trees Source Tree Shared Tree

23 Joining a Tree PIM Join/Prune Control Messages
Used to create/remove Distribution Trees Shortest Path trees PIM control messages are sent toward the Source Shared trees PIM control messages are sent toward RP RP can be static (problematic in case of failures) or using auto discovery

24 Types of Multicast Protocols
Dense Mode Sparse mode Broadcast and prune behavior Similar to radio broadcast Assumes dense group membership Branches that are pruned don’t get data Pruned branches can later be grafted to reduce join latency Ex: DVMRP—Distance Vector Multicast Routing Protocol and Dense-mode PIM—Protocol Independent Multicast DVMRP: source tree created on-demand based on RPF Dense PIM: same as DVMRP bus if source goes inactive, the tree is torn down. Also, branches that do not care for data are pruned and grafts are used to join existing trees Explicit join behavior Similar to pay-per-view Assumes group membership is sparsely populated across a large region Uses either source or shared distribution trees Explicit join behavior—assumes no one wants the packet unless asked Joins propagate from receiver to source or Rendezvous Point Ex: Sparse mode PIM or CBT (Core Based Tree)

25 RPF: Pruning Forwarding tree contains subtrees with no mcast group members No need to forward datagrams down subtree “Prune” msgs sent upstream by router with no downstream group members

26 Dense PIM: Example

27 Dense PIM: Example

28 Dense PIM: Example

29 Dense PIM: Example

30 Dense PIM: Example

31 Dense PIM: Example

32 Dense PIM: Example

33 Sparse PIM Explicit join model
Receivers join to the Rendezvous Point (RP) Senders register with the RP Data flows down the shared tree and goes only to places that need the data from the sources Last hop routers can join source tree if the data rate warrants by sending joins to the source RPF check for the shared tree uses the RP RPF check for the source tree uses the source Only one RP is chosen for a particular group RP statically configured or dynamically learned (Auto-RP, PIM v2 candidate RP advertisements) Data forwarded based on the source state (S, G) if it exists, otherwise use the shared state (*, G)

34 Sparse PIM: Example

35 Sparse PIM: Example

36 Sparse PIM: Example

37 Sparse PIM: Example

38 Sparse PIM: Example

39 Sparse PIM: Example

40 Sparse PIM: Example

41 Sparse PIM: Example

42 Sparse PIM: Example

43 Sparse PIM: Example

44 Sparse PIM: Example


Download ppt "DMET 602: Networks and Media Lab"

Similar presentations


Ads by Google