Presentation is loading. Please wait.

Presentation is loading. Please wait.

DMET 602: Networks and Media Lab Amr El Mougy Yasmeen EssamAlaa Tarek.

Similar presentations


Presentation on theme: "DMET 602: Networks and Media Lab Amr El Mougy Yasmeen EssamAlaa Tarek."— Presentation transcript:

1 DMET 602: Networks and Media Lab Amr El Mougy Yasmeen EssamAlaa Tarek

2 Exp 5: Multicast

3 Unicast vs Multicast

4  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  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. PGM offers reliability!  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. Multicast is based on UDP

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 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 How Multicast Works

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: 224.0.0.22 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 ValueScope 1Same subnet 32Same site 64Same region 128Same continent 255Unrestricted

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

12 How hosts tell routers about group membership Routers solicit group membership from directly connected hosts Internet Group Management Protocol (IGMP) IGMP v1IGMP v2IGMP v3 Queries Querier sends IGMP messages to 224.0.0.1 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: 224.0.0.22 (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 Joining a Group IGMP v1/v2 IGMP v3 Include/exclude sources

14 Leaving a Group (IGMP v2) 1. Host sends Leave message to 224.0.0.2 2. Router sends Group specific query to 3. No IGMP Report is received within ~3 seconds 4. Group 224.1.1.1 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  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 RPF Calculation First receiver Tie Breaker Second receiver

20 Spanning Tree Broadcast initiated at A Broadcast initiated at D  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 Stepwise construction of tree Constructed tree

21 Goal: find a tree (or trees) connecting routers having local mcast group members Tree: not all paths between routers used Multicast Routing: Problem Statement 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  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 Joining a Tree

24 Types of Multicast Protocols Dense ModeSparse 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 but 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

28

29

30

31

32

33  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) Sparse PIM

34 Sparse PIM: Example

35

36

37

38

39

40

41

42

43

44


Download ppt "DMET 602: Networks and Media Lab Amr El Mougy Yasmeen EssamAlaa Tarek."

Similar presentations


Ads by Google