Presentation is loading. Please wait.

Presentation is loading. Please wait.

Univ. of TehranIntroduction to Computer Network1 An Introduction Computer Networks An Introduction to Computer Networks University of Tehran Dept. of EE.

Similar presentations


Presentation on theme: "Univ. of TehranIntroduction to Computer Network1 An Introduction Computer Networks An Introduction to Computer Networks University of Tehran Dept. of EE."— Presentation transcript:

1 Univ. of TehranIntroduction to Computer Network1 An Introduction Computer Networks An Introduction to Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani Lecture 9: Multicasting

2 Univ. of TehranIntroduction to Computer Network2 Outline Multicasting Why? Problems, initial solutions. IP multicast Application level multicast.

3 Univ. of TehranIntroduction to Computer Network3 Multicasting What’s multicast? Why do we need it? Conventional Approach: IP Multicast Why it has met with limited success so far A fresh approach gaining popularity among researchers Overlay Multicast Open Research Questions

4 Univ. of TehranIntroduction to Computer Network4 Modes of Communication Unicast – one source one receiver Broadcast – one source, everyone is a receiver What if I want to send the data only to a subset of all the possible receivers? Can I just broadcast? Example: Checking out your favorite website on the net. Example: Ethernet/LAN

5 Univ. of TehranIntroduction to Computer Network5 Broadcast: Does not scale Imagine trying to broadcast packets to everyone on Internet! Wastes network resources We are sending packets to people who will ignore them. We clearly need something different… Problems

6 Univ. of TehranIntroduction to Computer Network6 Solution: Multicast Specify a set of receivers and only send the data to them. Has a lot of applications: Audio/video conferencing Distance lectures Internet TV Stock quotes and…

7 Univ. of TehranIntroduction to Computer Network7 Unicast So we can’t use Broadcast.. How about just the opposite – unicast One sender, N receivers Sender sends N duplicated unicast packets, one to each receiver. ST1T3T4 R1 R2 T2 R4R3 Example: Multicast to R i by using unicast

8 Univ. of TehranIntroduction to Computer Network8 Problems? Links carry multiple copies of the same packet. The link closest to the source flooded with packets. Server needs to know the list of receivers to send the packet to. How to handle receivers joining and leaving? - How to define/manage groups? Ideas?

9 Univ. of TehranIntroduction to Computer Network9 Maintaining a Receiver List at Source Wastes bandwidth Introduces complexity – now the source needs to handle receiver crashes, link failures, etc… Source will be “flooded” with messages if a lot of receivers join at once. Not the best way to do Multicast…

10 Univ. of TehranIntroduction to Computer Network10 Multiple Destination Addresses Imagine having an IP header of the form: Any router along the way, forwards a packet if at least one of the destinations is downstream from it. Do you see any potential problems? R 1 R 2 R 3 R 4 ……..R n S sourcedestination

11 Univ. of TehranIntroduction to Computer Network11 Problems What if a group has 1000s of recipients? Again we need to keep a list at the sender – this comes with all the management issues. Routers will spend more time doing forwarding lookup since they will need to search the forwarding table for each address.

12 Univ. of TehranIntroduction to Computer Network12 IP Multicast Model Main idea  Multicast groups Each group has a name which also is a multicast address. Receivers can join or leave at any time. Any host can send to any group at any time – open architecture So the IP header now looks like this: Multicast AddressS sourcedestination

13 Univ. of TehranIntroduction to Computer Network13 IP Multicast Model The routers duplicate the packets instead of the source. Routers therefore will need to: Keep state: which groups are there waiting packets from me? Participate in IGMP* Keep a separate routing table*

14 Univ. of TehranIntroduction to Computer Network14 Multicast Address Allocation Currently no standardized method for address allocation (even though an RFC exists about this) There are a lot of proposed solutions to this Try searching for Multicast Address Allocation on the net (MALLOC for short)

15 Univ. of TehranIntroduction to Computer Network15 Link Layer Multicast On LANs Exploits the fact that LAN is a broadcast medium. Ethernet multicast addresses: 01:00:5e:00:00:00 – 01:00:5e:7f:ff:ff How would an application join a group? Just tell link layer not to discard packets targeted at the group of interest.

16 Univ. of TehranIntroduction to Computer Network16 Internet Multicast Group D addresses are used for multicast: 224.0.0.0 – 239.255.255.255 If you do an NSLOOKUP on these addresses you will see that they are registered as *.MCAST.NET Set the highest 4 bits to 1110 use the remaining 28 Some well known addresses: 224.0.0.0 ~ 224.0.0.25 224.0.0.1 (ALL-SYSTEMS.MCAST.NET): all multicast hosts on the subnet 224.0.0.2 (ALL-ROUTERS.MCAST.NET): all multicast routers on the subnet Need a suite of protocols to take care of the various aspects of Multicast (membership management, routing, etc..)

17 Univ. of TehranIntroduction to Computer Network17 IP Multicast Protocol Suite A protocol that distributes membership information – IGMP A protocol that performs the routing – DVMRP, PIM-SM, PIM-DM, etc… Protocols that deal with address allocation, reliability, congestion

18 Univ. of TehranIntroduction to Computer Network18 IGMPv2 Internet Group Management Protocol RFC 2236 IGMP operates locally between end hosts and their border router The goal is allowing the border router to learn what groups are presented on the attached subnets. S R1 R2 AC B IGMP <G1> Border Router <G1> <G1> Ethernet/Lan IGMP Example

19 Univ. of TehranIntroduction to Computer Network19 IGMP protocol A soft-state protocol with 3 types of messages: membership_query (MQ): sent by the router Determines the set of joined multicast groups on the LAN membership_report (MR): sent by the hosts When a host joins a group or When a host responds to a MQ Leave_group (LG): sent by the hosts When a host leaves a group All of these messages are broadcasted over the LAN router host timeline MR:join MQ MR MQ MR LG:leave

20 Univ. of TehranIntroduction to Computer Network20 IGMP Protocol Border router does not need to know which host(s) have joined a given multicast group. Only one host needs to report Why? Potentially MR messages sent by the hosts could be problematic. How? Solution: Use feedback supression Each host waits randomly between 0 and max_resp_time Send the report if no one else has sent in that period Leave Group message (LG) optional… Why?

21 Univ. of TehranIntroduction to Computer Network21 DVMRP Distance Vector Multicast Routing Algorithm Now that we are done with membership issues, it’s time to look at routing…

22 Univ. of TehranIntroduction to Computer Network22 DVMRP Builds a multicast routing table By exchanging distance information amongst routers. Gives consistent view of multicast tree among all routers Stores ‘dependent routers’ info If there are multiple routers on the same LAN lower IP address becomes the designated forwarder.

23 Univ. of TehranIntroduction to Computer Network23 DVMRP Multicast packets are forwarded based on Reverse Path Forwarding. coming on the next slide! Leaf routers check and send prune message when no group member on the network. Upstream router prune the interface with no downstream router. Graft message sent to create a new routing branch for late members. Restart forwarding after a set prune lifetime (typical value 12 hours)

24 Univ. of TehranIntroduction to Computer Network24 Reverse Path Forwarding (RPF) Procedure: 1. A packet is received through interface I, from S (source) to G (multicast group) - packet (S,G) 2. A router looks into the routing table to find an interface used to send packet to S, I (parent). 3. If I != I (parent), I is a wrong interface to receive (S,G). 4. if I = I(parent), I is a correct interface to receive (S, G). If the procedure succeeds, the datagram is forwarded to all interfaces except I Otherwise, typically it is silently discarded. Packet is never forwarded back out I.

25 Univ. of TehranIntroduction to Computer Network25 DVMRP in Action - 1 Source Receiver 1 S R1 DF source tree Forming a source tree

26 Univ. of TehranIntroduction to Computer Network26 DVMRP in Action - 2 Source Receiver 1 S R1 DF source tree datagram Broadcast/flood

27 Univ. of TehranIntroduction to Computer Network27 DVMRP in Action - 3 Source Receiver 1 S R1 DF source tree datagram IGMP DVMRP-Prune prune

28 Univ. of TehranIntroduction to Computer Network28 DVMRP in Action - 4 Source Receiver 1 S R1 DFX Y source tree datagram X and Y are Pruned

29 Univ. of TehranIntroduction to Computer Network29 DVMRP in Action - 5 Source Receiver 1 S R1 DFX Y source tree datagram R2 Receiver 2 IGMP DVMRP-Graft New Member

30 Univ. of TehranIntroduction to Computer Network30 DVMRP in Action - 6 Source Receiver 1 S R1 DFX Y source tree datagram R2 Receiver 2 New branch

31 Univ. of TehranIntroduction to Computer Network31 Possible Problems with IP Multicast Doesn’t scale well with number of multicast groups Each router has to maintain state for every “active” multicast group. Flooding in the beginning (bandwidth waste) Open to DoS attacks by malicious senders. Multicast address assignment problems – how to be globally consistent? Providing TCP-like reliability is hard Deployment problems as not all routers can do multicast. Also, lack of business incentive as not clear how to make money on this.

32 Univ. of TehranIntroduction to Computer Network32 Another Approach to Multicast Routing PIM – Protocol Independent Multicast Protocol Designed to provide scalable interdomain routing across internet Can be independent of the underlying unicast routing protocol. DVMRP dependent on the unicast routing protocol to find the multicast source. Optimizes traffic depending on the density of receivers in the region. Two main modes: Dense Mode – Similar to DVMRP, works with flooding Builds source rooted distribution tree Sparse Mode – Introduces Rendezvous Points – receivers “meet” new sources at the RPs Builds a shared tree

33 Univ. of TehranIntroduction to Computer Network33 Shared Tree Example (PIM-SM) SF1 F3 RP F2G R3 R5 R4 Sender registers with RP G sets up state to RP

34 Univ. of TehranIntroduction to Computer Network34 Shared Tree Example (PIM-SM) SF1 F3 RP F2G R3 R5 R4 S -> RP unicast RP -> G multicast

35 Univ. of TehranIntroduction to Computer Network35 Application Level Multicast Is what Netmeeting does based on IP multicast? The idea is – don’t mess with IP, let the applications handle the multicast. Used very widely today: Sources send packets to a central server which forwards them to all receivers for the group Efficient application layer multicast Apps self-organize into a multicast distribution structure Data replication and management only performed by group members.

36 Univ. of TehranIntroduction to Computer Network36 Application Level Multicast Pros: Easy to develop Pushes complexy towards the end systems No address assignment problems Can support a large number of groups Cons Duplicate packets on the same link Higher delay due to distribution along longer than optimal paths Longer reaction time to group joins Can potentially be complex

37 Univ. of TehranIntroduction to Computer Network37 Current Status IP Multicast Many IETF groups work on various multicast related protocols. New routers have implementations of DVMRP Only a few ISPs have multicast feature turned on in the routers. MBone (Multicast backBone) A transient infrastructure before IP Multicast is fully deployed. A virtual network of multicast-capable islands connected by tunnels (unicast encapsulated between islands) Runs DVMRP Some enterprise networks have deployed multicast.


Download ppt "Univ. of TehranIntroduction to Computer Network1 An Introduction Computer Networks An Introduction to Computer Networks University of Tehran Dept. of EE."

Similar presentations


Ads by Google