Multicast Routing, Error Control, and Congestion Control.

Slides:



Advertisements
Similar presentations
1April 16, 2002 Layer 3 Multicast Addressing IP group addresses – “Class D” addresses = high order bits of “1110” Special reserved.
Advertisements

Computer Networking A Top-Down Approach Chapter 4.7.
Multicasting 1. Multicast Applications News/sports/stock/weather updates Distance learning Configuration, routing updates, service location Pointcast-type.
1  Changes in IPv6 – Expanded addressing capabilities (32 to 128 bits), anycast address – A streamlined 40-byte header – Flow labeling and priority –
Multicast on the Internet CSE April 2015.
COS 420 Day 15. Agenda Assignment 3 Due Assignment 4 Posted Chap Due April 6 Individual Project Presentations Due IEPREP - Jeff MANETS - Donnie.
1 Internet Networking Spring 2004 Tutorial 7 Multicast Routing Protocols.
1 Internet Networking Spring 2006 Tutorial 7 DVMRP.
TCP/IP Protocol Suite 1 Chapter 15 Upon completion you will be able to: Multicasting and Multicast Routing Protocols Differentiate between a unicast, multicast,
School of Information Technologies Internet Multicasting NETS3303/3603 Week 10.
COS 420 Day 18. Agenda Group Project Discussion Program Requirements Rejected Resubmit by Friday Noon Protocol Definition Due April 12 Assignment 3 Due.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 22 Introduction to Computer Networks.
COS 420 Day 14. Agenda Assignment 3 Posted Covers chapters Due March 23 Assignment 4 Posted Chap Due April 6 Individual Project Papers due.
Chapter 4 IP Multicast Professor Rick Han University of Colorado at Boulder
Slide Set 15: IP Multicast. In this set What is multicasting ? Issues related to IP Multicast Section 4.4.
CS335 Networking & Network Administration Tuesday, May 18, 2010.
Internet Networking Spring 2002
1 IP Multicasting. 2 IP Multicasting: Motivation Problem: Want to deliver a packet from a source to multiple receivers Applications: –Streaming of Continuous.
EE689 Lecture 12 Review of last lecture Multicast basics.
Delivery, Forwarding, and Routing
MULTICASTING Network Security.
Spanning Tree and Multicast. The Story So Far Switched ethernet is good – Besides switching needed to join even multiple classical ethernet networks Routing.
© J. Liebeherr, All rights reserved 1 IP Multicasting.
CSE679: Multicast and Multimedia r Basics r Addressing r Routing r Hierarchical multicast r QoS multicast.
Multicast An Engineering Approach to Computer Networking.
1 Computer Networks IP Multicast. 2 Recall Unicast Broadcast Multicast sends to a specific group.
1 Chapter 27 Internetwork Routing (Static and automatic routing; route propagation; BGP, RIP, OSPF; multicast routing)
Computer Networks 2 Lecture 1 Multicast.
Multicasting  A message can be unicast, multicast, or broadcast.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Multicast routing.
22.1 Chapter 22 Network Layer: Delivery, Forwarding, and Routing Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Multicast Routing Protocols NETE0514 Presented by Dr.Apichan Kanjanavapastit.
Network Layer4-1 R1 R2 R3R4 source duplication R1 R2 R3R4 in-network duplication duplicate creation/transmission duplicate Broadcast Routing r Deliver.
AD HOC WIRELESS MUTICAST ROUTING. Multicasting in wired networks In wired networks changes in network topology is rare In wired networks changes in network.
1 Chapter 27 Internetwork Routing (Static and automatic routing; route propagation; BGP, RIP, OSPF; multicast routing)
CMPT 471 Networking II Address Resolution IPv4 ARP RARP 1© Janice Regan, 2012.
CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001.
1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.
Broadcast and Multicast. Overview Last time: routing protocols for the Internet  Hierarchical routing  RIP, OSPF, BGP This time: broadcast and multicast.
Multicast Routing Algorithms n Multicast routing n Flooding and Spanning Tree n Forward Shortest Path algorithm n Reversed Path Forwarding (RPF) algorithms.
Chapter 22 Network Layer: Delivery, Forwarding, and Routing Part 5 Multicasting protocol.
Chapter 15 Multicasting and Multicast Routing
Multicast Routing Protocols. The Need for Multicast Routing n Routing based on member information –Whenever a multicast router receives a multicast packet.
© J. Liebeherr, All rights reserved 1 Multicast Routing.
IP Multicast COSC Addressing Class D address Ethernet broadcast address (all 1’s) IP multicast using –Link-layer (Ethernet) broadcast –Link-layer.
Introduction to Multicast Routing Protocols
© J. Liebeherr, All rights reserved 1 IP Multicasting.
1 Spring Semester 2009, Dept. of Computer Science, Technion Internet Networking recitation #7 DVMRP.
11 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Lecture 21: Multicast Routing Slides used with.
1 IP Multicasting Relates to Lab 10. It covers IP multicasting, including multicast addressing, IGMP, and multicast routing.
Multicasting  A message can be unicast, multicast, or broadcast. Let us clarify these terms as they relate to the Internet.
Chapter 21 Multicast Routing
Multicast Communications
Spring 2006CS 3321 Multicast Outline Link-state Multicast Distance-vector Multicast Protocol Independent Multicast.
Chapter 25 Internet Routing. Static Routing manually configured routes that do not change Used by hosts whose routing table contains one static route.
Multicasting EECS June Multicast One-to-many, many-to-many communications Applications: – Teleconferencing – Database – Distributed computing.
1 Group Communications: Reverse Path Multicast Dr. Rocky K. C. Chang 19 March, 2002.
22.1 Network Layer Delivery, Forwarding, and Routing.
1 Group Communications: Host Group and IGMP Dr. Rocky K. C. Chang 19 March, 2002.
COMP/ELEC 429 Introduction to Computer Networks
Multicast Outline Multicast Introduction and Motivation DVRMP.
(How the routers’ tables are filled in)
CMPE 252A: Computer Networks
Multicasting and Multicast Routing Protocols
Other Routing Protocols
IP Multicast COSC /5/2019.
EE 122: Lecture 13 (IP Multicast Routing)
Implementing Multicast
Optional Read Slides: Network Multicast
Presentation transcript:

Multicast Routing, Error Control, and Congestion Control

A Comparison of *cast Unicast: A packet is intended for only a particular receiver. Broadcast: A packet is intended for all receivers. Multicast: A packet is intended for multiple receivers. Anycast: A packet is intended for only and any one receiver that can provide a desired service.

The Concept of a Multicast Group A multicast group consists of senders and receivers. A multicast group is associated with an IP multicast address. –Senders send packets with the destination address field set to this address. –Receivers request routers to forward packets with this address to them. Packets sent from a sender will be received by all receivers. (The job of multicast routing.)

Multicast Groups May Have Various Properties Open v.s. close –Open: Any one (either sender or receiver) can join –Close: Only restricted ones can join Some hosts may join as both a sender and a receiver Some hosts may join only as a receiver. Want to deliver a packet to only a particular set to receivers v.s. Want to receive packets from only a particular set of senders. At any time, only one sender can send it packets out v.s. every sender can send its packets out. (In a video conference, you probably do not want more than one person to speak at the same time )

The Job of Multicast Can be Divided into the Following Problems Discover the set of current multicast groups –Before joining a group, you must first know its existence. Express the interest in receiving packets from a group Discover the set of receivers in a group –So that a packet can be delivered to every member. Deliver packets to every member of the group. –Efficiently to save bandwidth consumption Error control for reliable multicast Congestion control for competing with TCP traffic

Why Multicasting ? (I) Save bandwidth –On a shared media link, instead of using N unicast to send a packet to N receivers, we can use only one multicast to do the same job. –On a WAN, instead of using N unicast to send a packet to N receivers, a multicast tree can be constructed so that each packet only needs to be transmitted on a link once.

Why Multicasting ? (II) Discover Resource/Service –Hosts that provide a particular service S can be configured to pick up packets with multicast address B as their addresses. –Clients, looking for any host that provides service S, can send their requests or queries to multicast address B. (using a tree) Clients thus do not need to know the IP addresses of the many hosts that provide service S. Can use broadcast to do the same job. But broadcasting is too costly. (see next slide) R R

Layer-2 Multicast Take advantage of the broadcast property of a shared media –Send once and everyone can receive it Do not want to use the IP broadcast address because that would bother every host on the LAN. –Require a hardware interrupt and a software interrupt Instead, use an IP multicast address to send a packet to only those hosts that use the same multicast address to receive packets. –Hosts that are not using the same multicast address will immediately discard the packets at the hardware level. –Hosts that are using the same address will pick up the packet. (Require a hardware and a software interrupt)

Mapping between Layer 2 and 3’s Multicast Address 32 different layer-3 (IP) multicast addresses will map to the same multicast address at layer 2.

How to Receive Multicast Packets on a Host? Suppose that on a host there is an application program that want to receive packets with the multicast address A1. The host maps A1 to the Ethernet’s corresponding multicast address B. The host configures the Ethernet asking it to pick up packets with B as their layer-2 addresses. Because A1 and A2 may both map to B, a packet picked up by the Ethernet still needs to be examined by the OS. If the packet is for A2, it will be discarded. Because on a host there may be multiple multicast application programs, an Ethernet interface needs to keep a list of layer-2 multicast addresses that it should watch.

Actually Layer-2 Multicast Is Not Cheap Now As more and more LANs are using switches, a multicast packet will need to be sent out on each port of switches. (even though there is no receiver on that port) Sometimes using multiple unicasts may be more efficient than using one multicast. Most switches or routers today limit the percentage of multicast and broadcast traffic to only 10~20% because they may consume too much bandwidth. LAN

The Job of Layer-3 Multicast Is to Build a Multicast Tree to Deliver Packets Any spanning tree will do, but shortest-path tree is preferred. Using layer-2 multicast here

Dimensions to Consider When Designing a Layer-3 Multicast Routing Protocol Number of sources –One ? hundred, thousand, or million? Per-source multicast tree or a shared tree for all source? Number of receivers –One ? hundred, thousand, or million? If normally there is only a few (e.g., less than 10) receivers, unicast can solve the problem.

Dimensions to Consider When Designing a Layer-3 Multicast Routing Protocol Amount of data –If the needed bandwidth is small, unicast can solve the problem. Lifetime of a multicast group –If this is a very short time, is it worth the overhead of creating a tree. Length of quiet period –Is it worth keeping the state about a tree during quiet period? Or should a new tree is created for the next active period? Number of simultaneous group expected –How many groups is a router likely to need to support simultaneously?

Dimensions to Consider When Designing a Layer-3 Multicast Routing Protocol Denseness of members –If almost every router is a member of a group, flooding can solve the problem. –If only 5 routers that are very far away from each other are in a group, flooding the whole network should not be done. Volatility of membership –How frequently do members join and leave a group?

Internet Group Management Protocol A host on a LAN uses IGMP report messages to let a router know it is interested in receiving a multicast group’s packets. A router uses IGMP query messages to know which hosts on a LAN is interested in receiving a multicast group’s packets. Once a router knows that there is at least one receiver for a multicast group’s packets, it will start forwarding that group’s multicast packets on the LAN.

IGMP Query/Reply Mechanism to Avoid Sudden Congestion The router broadcasts a query on the LAN. Each host that is interested in the group sets a timer to a random value and replies when the timer expires. The reply is broadcast to the LAN. Other hosts cancel their timers when they see the reply.

Centralized v.s. Decentralized Multicast Centralized (ATM-style) –A central node manages the group. –A central node can control who joins. –A central node can know the membership and thus the size of the group. –The solution seems simpler and requires less overhead Decentralized (IP-style) –No central node. Members can join and leave without permission. –There is no single point of failure. –There maybe groups that are so large that a single node can not handle all membership in any one place

ATM’s Multicast Tree Construction Each group has one node N in charge. When a host E wants to become a member, it sends a message to node N. Node N then sends a “add member” control message toward the host E. The links and routers on the way become part of the multicast tree.

IP Method 1: Flooding and Pruning Do not need to build a multicast tree. Flood the multicast packets from the source to all routers. –The same one used in Link-State Routing If there is no receiver on the LAN attached to a router, uses “prune” message to cut the flooding tree. A reasonable solution when most routers of a network participate in the multicast group

Problems of Flooding A router may receive duplicate packets. –From multiple paths A router need to store an identifier for every packet it received in the past, so that it can identify duplicate packets and won’t forward them. –This is very expensive both in router memory and CPU cycles.

Reverse-Path Forwarding Solves the Forwarding Duplicates Problem. A router forwards a packet from a source S to all of its interfaces if and only if the packets arrive on the interface that corresponds to the router’s shortest path to S. Save storage in routers but still receive duplicates.

Extended Reverse-Path Forwarding Further Reduces Duplicates A router R should send a packet to a downstream router only if the shortest path from the downstream router to the source includes R. May have problem when a downstream route has multiple equal-length paths to a source. E.g., node E in Fig may receive no packets.

A Packet Still Needs To Reach Every Router In Extended Reverse-Path Forwarding, In extended reverse- path forwarding, a router will not receive duplicates. However a packet will still reach every router even though they do not need to participate in the multicast (e.g., node B and C)

Pruning Is Needed to Cut the Flooding Tree Suppose that the there is not interested receiver on the LAN attached to node C, C can send a “prune” message to B saying that “No need to forward multicast packet to me.” Node B then also sends a “prune” message to A asking it to stop forwarding packets to B.

IP Method 2: Constructing a Multicast Tree to Deliver Packets In extended reverse-path forwarding, each router needs to know its shortest path to the source and the shortest paths of its neighbor nodes to the source. (Actually knowing the next hop of the shortest path is good enough) This information is available from the unicast routing protocols: –RIP From its own DV, a node know the next hop of its shortest path to a source. From the DV received from a neighbor node I, a node knows the next hop of the shortest path of node I to the source. –OSPF Because each node has the whole topology of the network, each node can compute this information.

Multicast-Bone (Mbone) Is An Overlay on the Internet Not every router in the Internet supports multicast. Multicast-capable routers form the nodes of the Mbone network. If there is multicast- incapable routers between two multicast-capable routers, a tunnel is set up between them to “unicastly” forward multicast packets between them.

DVMRP and MOSPF Are Two IP Multicast Routing Protocols Because not every router is on the Mbone, the shortest path information reported from unicast routing protocols cannot be used. E.g., in figure 11.27, the shortest path from A to E is via F, not via C. Thus multicast routing protocols should run on Mbone and have their own protocols: –DVMRP (Distance Vector for Multicast Routing Protocol) Use flood-and-prune –MOSPF (Multicast Open Shortest Path First) Use LSP to flood the information to all other routers that there is a receiver on a particular subnet. Every node computes its own per-source per-group pruned shortest path tree.

Problems of DVMRP and MOSPF DVMRP’s problems: –Periodic flooding and pruning Waste bandwidth –Need to store per-source, per-group prune records at each router. MOSPF –LSP database size grows a lot. –Computation required at each router grows a lot.

Core –Based Tree (CBT) Define core routers that coordinate multicasts. When a router discovers that one host wants to receive packets from a multicast group, it sends a “join” message toward the core. Each router along the path to the core, on seeing this request, marks the interface on which the request arrives as the interface on which to forward packets for that group.

Core –Based Tree (CBT)

Advantages and Disadvantages of CBT Advantages: –Routers that are not members of the multicast tree never know of its existence. Flooding expense thus can be saved. –Not Like MSOPF, no need to compute shortest paths CPU cycles expense thus can be saved. Disadvantages: –If the core goes down, every multicast group that goes through it also goes down.

Protocol-independent Multicast (PIM) Dense mode –Use Flood-and-prune Sparse mode –Use improved CBT. Node B detects that arriving packets are not from the node E, which is on the its shortest path to the source E, it can send a join message directly to E.

Error Control for Reliable Multicasts Multicast can be used for reliable transfer or unreliable transfer. For example: –Reliable: Microsoft program patch distribution. –Unreliable: Video conferencing Packets may be dropped or corrupted on their ways to every receiver. Error control needs to be done to provide reliable transfer. –This better be done in a distributed and multicast way. –Otherwise, if all receivers send back their ACK packets (either negative or positive) to the single sender, the single sender will suffer the “ACK implosion” problem.

Congestion Control To be TCP’s Friend In the one-to-multipoint multicast situation, the single source’s data sending rate determines the sending rate of data to every receiver. However, not every receiver has the same amount of available bandwidth between it and source. What should the sender do? Keep decreasing the sending rate until there is no packet drop due to congestion for every receiver? Also, the congestion control for a multicast should be TCP-friendly. But how to implement? The TCP congestion control only works when there is a single receiver!

Still an Active Research Area Most people agree that multicast is the right way to go. Many issues still need to be studied. For example, what is the appropriate definition of fairness for multicast traffic? –Should a multicast sender that has N receivers uses only 1/N times of the bandwidth achieved by a unicast TCP sender?