15-441 Computer Networking Multicast.

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

Introduction 1 Lecture 22 Network Layer (Broadcast and Multicast) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
Multicasting 1. Multicast Applications News/sports/stock/weather updates Distance learning Configuration, routing updates, service location Pointcast-type.
Introduction to IP Multicast 1 Cisco Systems Confidential 0810_04F7_c2.
Multicast on the Internet CSE April 2015.
Multicasting CSE April Internet Multicast Service Model Multicast group concept: use of indirection a host “sends” IP datagrams to multicast.
15-744: Computer Networking L-14 Multicast Routing.
TCP/IP Protocol Suite 1 Chapter 15 Upon completion you will be able to: Multicasting and Multicast Routing Protocols Differentiate between a unicast, multicast,
COS 420 Day 18. Agenda Group Project Discussion Program Requirements Rejected Resubmit by Friday Noon Protocol Definition Due April 12 Assignment 3 Due.
Computer Networking Lecture 12: Multicast Again ripped from Srini Seshan and Dave Anderson – thanks guys!
TDC375 Winter 2002John Kristoff - DePaul University1 Network Protocols IP Multicast.
Slide Set 15: IP Multicast. In this set What is multicasting ? Issues related to IP Multicast Section 4.4.
Computer Networking Lecture 24 – Multicast.
Internet Networking Spring 2002
CS 268: Computer Networking L-21 Multicast. 2 Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two.
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.
1 CSE 401N:Computer Network LECTURE-14 MULTICAST ROUTING.
MULTICASTING Network Security.
COMS/CSEE 4140 Networking Laboratory Lecture 11 Salman Abdul Baset Spring 2008.
© J. Liebeherr, All rights reserved 1 IP Multicasting.
1 Computer Networks IP Multicast. 2 Recall Unicast Broadcast Multicast sends to a specific group.
Computer Networking Lecture 11 – Multicast. Lecture 11: Multicast Routing Unicast: one source to one destination Multicast: one source to many.
Computer Networks 2 Lecture 1 Multicast.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Multicast routing.
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.
1 IP Multicasting By Behzad Akbari These slides are based on the slides of J. Kurose (UMASS) and Shivkumar (RPI)
CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001.
Broadcast and Multicast. Overview Last time: routing protocols for the Internet  Hierarchical routing  RIP, OSPF, BGP This time: broadcast and multicast.
Chapter 22 Network Layer: Delivery, Forwarding, and Routing Part 5 Multicasting protocol.
Chapter 15 Multicasting and Multicast Routing
Lecture 20 – Multicast University of Nevada – Reno Computer Science & Engineering Department Spring 2014 CPE 701 Internet Protocol Design.
Introduction to IP Multicast
Multicast Routing Protocols. The Need for Multicast Routing n Routing based on member information –Whenever a multicast router receives a multicast packet.
Distance-vector Multicast Routing Protocol (DVMRP)
© 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.
Multicast 1 Spencer Tsai Mobile Communication & Broadband Network Lab CSIE Fu-Jen Catholic University Introduction to Multicast.
CS 4396 Computer Networks Lab IP Multicast - Fundamentals.
Introduction to Multicast Routing Protocols
© J. Liebeherr, All rights reserved 1 IP Multicasting.
Computer Networking Lecture 12 – Multicast.
Multicast Routing. Unicast: one source to one destination Multicast: one source to many destinations Two main functions: – Efficient data distribution.
11 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
1 IP Multicasting Relates to Lab 10. It covers IP multicasting, including multicast addressing, IGMP, and multicast routing.
Multicast Communications
1 Protocol Independent Multicast (PIM) To develop a scalable protocol independent of any particular unicast protocol –ANY unicast protocol to provide routing.
2/25/20161 Multicast on the Internet CSE 6590 Fall 2009.
CS 640: Introduction to Computer Networks Aditya Akella Lecture 12 - Multicast.
Communication Networks Recitation 11. Multicast & QoS Routing.
1 CMPT 471 Networking II Multicasting © Janice Regan,
DMET 602: Networks and Media Lab
Multicasting protocols
Multicast Outline Multicast Introduction and Motivation DVRMP.
(How the routers’ tables are filled in)
CMPE 252A: Computer Networks
ECE544: Communication Networks-II Spring 2013
15-744: Computer Networking
Multicasting and Multicast Routing Protocols
ECE544: Communication Networks-II Spring 2018
IP Multicasting By Behzad Akbari Fall 2008
Multicast on the Internet
IP Multicasting Let one packet go to multiple addresses and you can save much bandwidth. That’s the promise of IP multicasting…
Computer Networking Lecture 11 – Multicast.
Introduction to IP Multicast
IP Multicast COSC /5/2019.
EE 122: Lecture 13 (IP Multicast Routing)
Implementing Multicast
Optional Read Slides: Network Multicast
Presentation transcript:

15-441 Computer Networking Multicast

Detour: Ethernet Spanning Tree Protocol Problem: Cycles in bridged Ethernet network can lead to broadcast storms. Example: LAN segment 1 bridge LAN segment 2 bridge LAN segment 3 Lecture #12: 10-04-01

Spanning Tree Solution: Disable some Ethernet links, leaving only a spanning tree in place. LAN segment 1 bridge LAN segment 2 bridge LAN segment 3 Lecture #12: 10-04-01

Spanning Tree Protocol (IEEE 802.1d) Each switch has a Bridge Identifier number, based on MAC address + configurable offset. Switch with smallest Bridge Identifier is the “root”. Each link has a cost. Port Type Duplex Cost 100BASE-TX / 100BASE-FX (VLT) Full 5 Half 12 10BASE-T (VLT) Full 24 Half 25 100BASE-TX / 100BASE-FX Full 15 Half 300 10BASE-T Full 6 Half 700 Lecture #12: 10-04-01

STP Algorithm Data is sent in Bridge Protocol Data Units (BPDUs). Bridge Identifiers percolate throughout the network. Forward smallest seen so far to neighbors each time it changes. Globally smallest becomes root. Distances to root then percolate throughout the network. Each switch keeps track of shortest path to root. Forward distance to root to neighbors each time it changes. Ties broken by Bridge Identifier values. Simpler than distance-vector protocol: only one destination. Root broadcasts “Hello” messages at regular intervals. Lecture #12: 10-04-01

Root port

Multicast Routing IP Multicast IGMP Multicast routing Lecture #12: 10-04-01

Multicast Routing Unicast: one source to one destination Multicast: one source to many destinations Two main functions: Efficient data distribution Logical naming of a group Lecture #12: 10-04-01

Overview What/Why Multicast IP Multicast Service Basics Host/Router Interaction Multicast Routing Basics DVMRP MOSPF PIM Lecture #12: 10-04-01

Multicast – Efficient Data Distribution Src Src Lecture #12: 10-04-01

Multicast Router Responsibilities Learn of the existence of multicast groups (through advertisement) Identify links with group members Establish state to route packets Replicate packets on appropriate interfaces Routing entry: Src, incoming interface List of outgoing interfaces Lecture #12: 10-04-01

Logical Naming Single name/address maps to logically related set of destinations Destination set = multicast group How to scale? Single name/address independent of group growth or changes Lecture #12: 10-04-01

Multicast Groups 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 Lecture #12: 10-04-01

Scope Groups can have different scope LAN (local scope) Campus/admin scoping TTL scoping Concept of scope important to multipoint protocols and applications Lecture #12: 10-04-01

Example Applications Broadcast audio/video Push-based systems Software distribution Web-cache updates Teleconferencing (audio, video, shared whiteboard, text editor) Multi-player games Server/service location Other distributed applications Lecture #12: 10-04-01

Overview What/Why Multicast IP Multicast Service Basics Host/Router Interaction Multicast Routing Basics DVMRP MOSPF PIM Lecture #12: 10-04-01

IP Multicast Architecture Service model Hosts Host-to-router protocol (IGMP) Routers Multicast routing protocols (various) Lecture #12: 10-04-01

IP Multicast Service Model (rfc1112) Each group identified by a single IP address Groups may be of any size Members of groups may be located anywhere in the Internet Members of groups can join and leave at will Senders need not be members Group membership not known explicitly Analogy: Each multicast address is like a radio frequency, on which anyone can transmit, and to which anyone can tune-in. Lecture #12: 10-04-01

IP Multicast Addresses Class D IP addresses 224.0.0.0 – 239.255.255.255 How to allocated these addresses? Well-known multicast addresses, assigned by IANA Transient multicast addresses, assigned and reclaimed dynamically, e.g., by “sdr” program 1 Group ID Lecture #12: 10-04-01

IP Multicast Service — Sending Uses normal IP-Send operation, with an IP multicast address specified as the destination Must provide sending application a way to: Specify outgoing network interface, if >1 available Specify IP time-to-live (TTL) on outgoing packet Enable/disable loop-back if the sending host is a member of the destination group on the outgoing interface Lecture #12: 10-04-01

IP Multicast Service — Receiving Two new operations Join-IP-Multicast-Group (group-address, interface) Leave-IP-Multicast-Group (group-address, interface) Receive multicast packets for joined groups via normal IP-Receive operation Lecture #12: 10-04-01

Multicast Scope Control – Small TTLs TTL expanding-ring search to reach or find a nearby subset of a group s 1 2 3 Lecture #12: 10-04-01

Multicast Scope Control – Large TTLs Administrative TTL Boundaries to keep multicast traffic within an administrative domain, e.g., for privacy or resource reasons The rest of the Internet TTL threshold set on interfaces to these links, greater than the diameter of the admin. domain An administrative domain Lecture #12: 10-04-01

Multicast Scope Control Administratively-Scoped Addresses (RFC 1112 ) Uses address range 239.0.0.0 — 239.255.255.255 Supports overlapping (not just nested) domains The rest of the Internet address boundary set on interfaces to these links An administrative domain Lecture #12: 10-04-01

Multicast Backbone (MBone) An overlay network of IP multicast-capable routers R R R H R Host/router R H MBone router H R Physical link Tunnel Part of MBone Lecture #12: 10-04-01

Transport header and data… MBone Tunnels A method for sending multicast packets through multicast-ignorant routers IP multicast packet is encapsulated in a unicast packet addressed to far end of tunnel: Tunnel acts like a virtual point-to-point link Each end of tunnel is manually configured with unicast address of the other end IP header, dest = unicast IP header, dest = multicast Transport header and data… Lecture #12: 10-04-01

Link-Layer Transmission/Reception IP multicast packet is transmitted as a link-layer multicast, on those links that support multicast Link-layer destination address is determined by an algorithm specific to the type of link Reception Necessary steps are taken to receive desired multicasts on a particular link, such as modifying address reception filters on LAN interfaces Multicast routers must be able to receive all IP multicasts on a link, without knowing in advance which groups will be used Lecture #12: 10-04-01

Using Link-Layer Multicast Addresses Ethernet and other LANs using 802 addresses: No mapping needed for point-to-point links 1 28 bits 23 bits IP multicast address Group bit LAN multicast address Lecture #12: 10-04-01

Overview What/Why Multicast IP Multicast Service Basics Host/Router Interaction Multicast Routing Basics DVMRP MOSPF PIM Lecture #12: 10-04-01

IP Multicast Architecture Service model Hosts Host-to-router protocol (IGMP) Routers Multicast routing protocols (various) Lecture #12: 10-04-01

Internet Group Management Protocol End system to router protocol is IGMP Each host keeps track of which mcast groups are subscribed to Socket API informs IGMP process of all joins Objective is to keep router up-to-date with group membership of entire LAN Routers need not know who all the members are, only that members exist Lecture #12: 10-04-01

How IGMP Works Routers: Q Hosts: On each link, one router is elected the “querier” Querier periodically sends a Membership Query message to the all-systems group (224.0.0.1), with TTL = 1 On receipt, hosts start random timers (between 0 and 10 seconds) for each multicast group to which they belong Lecture #12: 10-04-01

How IGMP Works (cont.) Routers: Q Hosts: G G G G When a host’s timer for group G expires, it sends a Membership Report to group G, with TTL = 1 Other members of G hear the report and stop their timers Routers hear all reports, and time out non-responding groups Lecture #12: 10-04-01

How IGMP Works (cont.) Note that, in normal case, only one report message per group present is sent in response to a query Query interval is typically 60-90 seconds When a host first joins a group, it sends one or two immediate reports, instead of waiting for a query Lecture #12: 10-04-01

Overview What/Why Multicast IP Multicast Service Basics Host/router Interaction Multicast Routing Basics DVMRP MOSPF PIM Lecture #12: 10-04-01

IP Multicast Architecture Service model Hosts Host-to-router protocol (IGMP) Routers Multicast routing protocols (various) Lecture #12: 10-04-01

Multicast Routing Basic objective – build distribution tree for multicast packets Multicast service model makes it hard Anonymity Dynamic join/leave Lecture #12: 10-04-01

Routing Techniques Flood and prune Link-state multicast protocols Begin by flooding traffic to entire network Prune branches with no receivers Examples: DVMRP, PIM-DM Unwanted state where there are no receivers Link-state multicast protocols Routers advertise groups for which they have receivers to entire network Compute trees on demand Example: MOSPF Unwanted state where there are no senders Lecture #12: 10-04-01

Routing Techniques Core based protocols Specify “meeting place” aka core Sources send initial packets to core Receivers join group at core Requires mapping between multicast group address and “meeting place” Examples: CBT, PIM-SM Lecture #12: 10-04-01

Shared vs. Source-based Trees Separate shortest path tree for each sender DVMRP, MOSPF, PIM-DM, PIM-SM Shared trees Single tree shared by all members Data flows on same tree regardless of sender CBT, PIM-SM Lecture #12: 10-04-01

Source-based Trees Router S Source R Receiver R R R S S R Lecture #12: 10-04-01

A Shared Tree Router S Source R Receiver R R R S S R RP Lecture #12: 10-04-01

Shared vs. Source-Based Trees Shortest path trees – low delay, better load distribution More state at routers (per-source state) Efficient for in dense-area multicast Shared trees Higher delay (bounded by factor of 2), traffic concentration Choice of core affects efficiency Per-group state at routers Efficient for sparse-area multicast Lecture #12: 10-04-01

Overview What/Why Multicast IP Multicast Service Basics Host/Router Interaction Multicast Routing Basics DVMRP MOSPF PIM Lecture #12: 10-04-01

Distance-Vector Multicast Routing DVMRP consists of two major components: A conventional distance-vector routing protocol (like RIP) A protocol for determining how to forward multicast packets, based on the routing table DVMRP router forwards a packet if The packet arrived from the link used to reach the source of the packet (reverse path forwarding check – RPF) If downstream links have not pruned the tree Lecture #12: 10-04-01

Example Topology G G S G Lecture #12: 10-04-01

Flood with Truncated Broadcast G G S G Lecture #12: 10-04-01

Prune G G Prune (s,g) Prune (s,g) S G Lecture #12: 10-04-01

Graft G G G S G Report (g) Graft (s,g) Graft (s,g) Lecture #12: 10-04-01

Steady State G G G S G Lecture #12: 10-04-01

Overview What/Why Multicast IP Multicast Service Basics Host/Router Interaction Multicast Routing Basics DVMRP MOSPF PIM Lecture #12: 10-04-01

Multicast OSPF (MOSPF) Add-on to OSPF (Open Shortest-Path First, a link-state, intra-domain routing protocol) Multicast-capable routers flag link state routing advertisements Link-state packets include multicast group addresses to which local members have joined Routing algorithm augmented to compute shortest-path distribution tree from a source to any set of destinations Lecture #12: 10-04-01

Example Source 1 Z W Q T Receiver 1 Receiver 2 Lecture #12: 10-04-01

Link Failure/Topology Change Source 1 Z W Q T Receiver 1 Receiver 2 Lecture #12: 10-04-01

Membership Change Source 1 Z Receiver 3 W Q T Receiver 1 Receiver 2 Lecture #12: 10-04-01

Impact on Route Computation Can’t pre-compute all source multicast trees Compute on demand when first packet from a source S to a group G arrives New link-state advertisement May lead to addition or deletion of outgoing interfaces if it contains different group addresses May lead to re-computation of entire tree if links are changed Lecture #12: 10-04-01

Overview What/Why Multicast IP Multicast Service Basics Host/Router Interaction Multicast Routing Basics DVMRP MOSPF PIM Lecture #12: 10-04-01

Protocol Independent Multicast (PIM) Support for both shared and per-source trees Dense mode (per-source tree) Similar to DVMRP Sparse mode (shared tree) Core = rendezvous point (RP) Independent of unicast routing protocol Just uses unicast forwarding table Lecture #12: 10-04-01

PIM Protocol Overview Basic protocol steps Routers with local members Join toward Rendezvous Point (RP) to join shared tree Routers with local sources encapsulate data in Register messages to RP Routers with local members may initiate data-driven switch to source-specific shortest path trees PIM v.2 Specification (RFC2362) Lecture #12: 10-04-01

PIM Example: Build Shared Tree Shared tree after R1,R2 join Source 1 Join message toward RP (*,G) (*,G) RP (*,G) (*,G) (*,G) (*,G) Receiver 1 Receiver 2 Receiver 3 Lecture #12: 10-04-01

Data Encapsulated in Register Unicast encapsulated data packet to RP in Register Source 1 (*,G) (*,G) RP (*,G) (*,G) (*,G) (*,G) Receiver 1 Receiver 2 Receiver 3 RP decapsulates, forwards down shared tree Lecture #12: 10-04-01

RP Send Join to High Rate Source Shared tree Source 1 Join message toward S1 (S1,G) RP Receiver 1 Receiver 2 Receiver 3 Lecture #12: 10-04-01

Build Source-Specific Distribution Tree Shared Tree Source 1 Join messages (S1, G) (S1,G),(*,G) (S1,G),(*,G) RP (S1,G),(*,G) Receiver 1 Receiver 2 Receiver 3 Build source-specific tree for high data rate source Lecture #12: 10-04-01

Forward On “Longest-match” Entry Shared Tree Source 1 Source 1 Distribution Tree (S1, G) (*, G) (S1,G),(*,G) (S1,G),(*,G) RP (S1,G),(*,G) Receiver 1 Receiver 2 Receiver 3 Source-specific entry is “longer match” for source S1 than is Shared tree entry that can be used by any source Lecture #12: 10-04-01

Prune S1 off Shared Tree Source 1 Receiver 1 Receiver 2 Receiver 3 Source 1 Distribution Tree Source 1 Prune S1 RP Receiver 1 Receiver 2 Receiver 3 Prune S1 off shared tree where of S1 and RP entries differ Lecture #12: 10-04-01

Register-Stop Source 1 Receiver 1 Receiver 2 Receiver 3 Shared Tree Source 1 Distribution Tree Source 1 Register-Stop RP Receiver 1 Receiver 2 Receiver 3 RP unicasts Register-Stop to S1 when packets received natively Lecture #12: 10-04-01