ECE544: Communication Networks-II Spring 2013

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.
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.
Multicasting CSE April Internet Multicast Service Model Multicast group concept: use of indirection a host “sends” IP datagrams to multicast.
Multicast1 Instructor: Anirban Mahanti Office: ICT Slides are adapted from the companion web site of the textbook “
Multicast Routing: Problem Statement r Goal: find a tree (or trees) connecting routers having local mcast group members m tree: not all paths between routers.
Network Layer4-1 Spanning trees r Suppose you have a connected undirected graph m Connected: every node is reachable from every other node m Undirected:
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.
Computer Networking Lecture 24 – Multicast.
ECE544: Communication Networks-II Spring 2011
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.
ECE544: Communication Networks-II Spring 2010 D. Raychaudhuri Lecture 6 Includes teaching materials from L. Peterson, J. Kurose, K. Almeroth.
© J. Liebeherr, All rights reserved 1 IP Multicasting.
Computer Networks 2 Lecture 1 Multicast.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Multicast routing.
Network Layer4-1 R1 R2 R3R4 source duplication R1 R2 R3R4 in-network duplication duplicate creation/transmission duplicate Broadcast Routing r Deliver.
Multicast Sources: Kurose and Ross cast/addresstranslation_01.html.
1 IP Multicasting By Behzad Akbari These slides are based on the slides of J. Kurose (UMASS) and Shivkumar (RPI)
Network Layer introduction 4.2 virtual circuit and datagram networks 4.3 what’s inside a router 4.4 IP: Internet Protocol  datagram format  IPv4.
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.
CS 5565 Network Architecture and Protocols Godmar Back Lecture 22.
Broadcast and Multicast. Overview Last time: routing protocols for the Internet  Hierarchical routing  RIP, OSPF, BGP This time: broadcast and multicast.
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks  4.3 What ’ s inside a router r 4.4 IP: Internet.
Chapter 22 Network Layer: Delivery, Forwarding, and Routing Part 5 Multicasting protocol.
Multicast Routing Protocols. The Need for Multicast Routing n Routing based on member information –Whenever a multicast router receives a multicast packet.
IPv6. r Initial motivation: 32-bit address space soon to be completely allocated. r Additional motivation: m header format helps speed processing/forwarding.
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.
Broadcast and multicast routing. R1 R2 R3R4 source duplication R1 R2 R3R4 in-network duplication duplicate creation/transmission duplicate Broadcast Routing.
Introduction to Multicast Routing Protocols
© J. Liebeherr, All rights reserved 1 IP Multicasting.
1 © 2000, Cisco Systems, Inc _05_2000_c2 Server Router Unicast Server Router Multicast Unicast vs. Multicast.
Network Layer4-1 Chapter 4 roadmap 4.1 Introduction and Network Service Models 4.2 Routing Principles 4.3 Hierarchical Routing 4.4 The Internet (IP) Protocol.
Multicasting CSE 6590 Winter December 2015.
1 IP Multicasting Relates to Lab 10. It covers IP multicasting, including multicast addressing, IGMP, and multicast routing.
Network Layer4-1 Chapter 4 roadmap 4.1 Introduction and Network Service Models 4.2 Routing Principles 4.3 Hierarchical Routing 4.4 The Internet (IP) Protocol.
4.6 Multicast at the Network Layer Introduction: The Internet multicast abstraction and multicast groups The IGMP Protocol Multicast.
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.
Multicasting EECS June Multicast One-to-many, many-to-many communications Applications: – Teleconferencing – Database – Distributed computing.
Communication Networks Recitation 11. Multicast & QoS Routing.
Application Layer 2-1 Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A.
1 CMPT 471 Networking II Multicasting © Janice Regan,
DMET 602: Networks and Media Lab
IPv6 Initial motivation: 32-bit address space completely allocated by Additional motivation: header format helps speed processing/forwarding header.
Multicasting protocols
Computer Networking Multicast.
Multicast Outline Multicast Introduction and Motivation DVRMP.
(How the routers’ tables are filled in)
CMPE 252A: Computer Networks
Chapter 4: Network Layer
Multicast Outline Homework #4 - posted later today, due in one week
Some slides have been taken from:
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…
Multicast Instructor: Anirban Mahanti Office: ICT 745
IP Multicast COSC /5/2019.
Implementing Multicast
Optional Read Slides: Network Multicast
Presentation transcript:

ECE544: Communication Networks-II Spring 2013 D. Reininger Lecture 6 Includes teaching materials from L. Peterson, J. Kurose, K. Almeroth

IP Multicast Introduction Internet Group Management Protocol (IGMP) Routing Protocols Intra-domain (DVMRP, MOSPF, PIM) Inter-domain (MBGP, MSDP) – not covered here

Multicast: one sender to many receivers Multicast: act of sending datagram to multiple receivers with single “transmit” operation One-to-many, many-to-many Question: how to achieve multicast Multicast via unicast source sends N unicast datagrams, one addressed to each of N receivers Redundant traffic around sender Keep track of all the IP addresses to send to Routers forward unicast datagrams multicast receiver (red) not a multicast receiver

Multicast: one sender to many receivers Multicast: act of sending datagram to multiple receivers with single “transmit” operation One-to-many, many-to-many Question: how to achieve multicast Network multicast (IP Multicast) Routers actively participate in multicast, making copies of packets as needed and forwarding towards multicast receivers Multicast routers (red) duplicate and forward multicast datagrams

Multicast: one sender to many receivers Multicast: act of sending datagram to multiple receivers with single “transmit” operation One-to-many, many-to-many Question: how to achieve multicast Application-layer multicast (P2P) end systems (“hosts”) involved in multicast copy and forward unicast datagrams among themselves “host” becomes router P2P hosts duplicate and forward multicast datagrams

Internet Multicast Service Model 128.59.16.12 128.119.40.186 multicast group 226.17.30.197 128.34.108.63 128.34.108.60 multicast group concept: Each group has its own IP multicast address A host can join or leave freely Routers forward multicast datagrams (with destination address of the group’s multicast address) to hosts that have “joined” that multicast group Notes: The Internet multicast service model and addressing/group management ideas have their foundation in the PhD thesis of S. Deering: “Multicast Routing in a Datagram Network,” Dept. of Computer Science, Stanford University, 1991. 3.1 Network Layer: Introduction 3-2

Multicast groups class D Internet addresses reserved for multicast: host group semantics: anyone can “join” (receive) or leave multicast group anyone (not even a member) can send to multicast group no network-layer identification of hosts members needed: infrastructure to deliver mcast-addressed datagrams to all hosts that have joined that multicast group Notes: 3.1 Network Layer: Introduction 3-3

Mapping IP Multicast Address to Ethernet Address Ethernet MAC Addresses: 48 bits broadcast: all 1s, ff:ff:ff:ff:ff:ff multicast: multicast flag (the lowest bit of the 1st octet)= 1 01-00-5E-00-00-00 to 01-00-5E-7F-FF-FF for IP multicast IP multicast group address mapped to the lower order 23 bits of MAC address not one-to-one mapping, one Ethernet mcast addr  32 IP mcast addrs

IPv6 Multicast Addresses (RFC 2375) 11111111 flags scope group ID 8 4 4 112 bits low-order flag indicates permanent / transient group; three other flags reserved scope field: 1 - node local 2 - link-local 5 - site-local 8 - organization-local B - community-local E - global (all other values reserved)

Joining a mcast group: two-step process local: host informs local mcast router of desire to join group: IGMP (Internet Group Management Protocol) wide area: local router interacts with other routers to receive mcast datagram flow many protocols (e.g., DVMRP, MOSPF, PIM) IGMP IGMP Notes: 3.2 Network Layer: Multicast Addressing and Group Management 3-5 wide-area multicast routing IGMP

IGMP: Internet Group Management Protocol host: sends IGMP report when application joins mcast group IP_ADD_MEMBERSHIP socket option host need not explicitly “unjoin” group when leaving router: sends IGMP query at regular intervals host belonging to a mcast group must reply to query Notes: 3.2 Network Layer: Multicast Addressing and Group Management 3-6 query report

How IGMP Works on each link, one router is elected the “querier” 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

How IGMP Works (cont.) Q 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

Source Specific Multicast Source Specific Multicast: a receiving host specifies (source, mcast group) to join receive multicast packets addressed to the group and only if they are from the specific sender (one-to-many) Any source multicast (ASM): many-to-many

IGMP IGMP version 1 IGMP v2: additions include router: Host Membership Query msg broadcast on LAN to all hosts host: Host Membership Report msg to indicate group membership randomized delay before responding implicit leave via no reply to Query RFC 1112 IGMP v2: additions include group-specific Query Leave Group msg last host replying to Query can send explicit Leave Group msg router performs group-specific query to see if any hosts left in group RFC 2236 IGMP v3: Join/Leave specific S in G RFC 3376 Notes: RFC-1112: S. Deering, “Host Extension for IP Multicasting,” August 1989 RFC 2236: R. Fenner, “Internet Group Management Protocol, Version 2”, November 1997. B. Cain, S. Deering, A. Thyagarajan, “Internet Group Management Protocol, Version 3,” work in progress, draft-ietf-idmr-igmp-v3-00.txt 3.2 Network Layer: Multicast Addressing and Group Management 3-7

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-based: different tree from each sender to rcvrs shared-tree: same tree used by all group members Source-based trees Shared tree Notes: 3.3 Network Layer: Multicast Routing Algorithms 3-9

Approaches for building mcast trees source-based tree: one tree per source shortest path trees reverse path forwarding group-shared tree: group uses one tree minimal spanning (Steiner) center-based trees Notes: 3.3 Network Layer: Multicast Routing Algorithms 3-11 …we first look at basic approaches, then specific protocols adopting these approaches

Shortest Path Tree mcast forwarding tree: tree of shortest path routes from source to all receivers Dijkstra’s algorithm S: source LEGEND R1 2 R4 router with attached group member 1 R2 5 Notes: 3.3 Network Layer: Multicast Routing Algorithms 3-12 router with no attached group member 3 4 R5 6 link used for forwarding, i indicates order link added by algorithm R3 i R6 R7

Reverse Path Forwarding rely on router’s knowledge of unicast shortest path from it to sender each router has simple forwarding behavior: if (mcast datagram received on incoming link on shortest path back to source) then flood datagram onto all outgoing links else ignore datagram Notes: 3.3 Network Layer: Multicast Routing Algorithms 3-13

Building the Reverse Path source

Building a Reverse Path Tree source

Reverse Path Forwarding: example S: source LEGEND R1 R4 router with attached group member R2 router with no attached group member R5 R3 datagram will be forwarded R6 R7 datagram will not be forwarded Notes: 3.3 Network Layer: Multicast Routing Algorithms 3-14 result is a source-specific reverse SPT may be a bad choice with asymmetric links

Reverse Path Forwarding: 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 LEGEND S: source R1 router with attached group member R4 router with no attached group member R2 Notes: 3.3 Network Layer: Multicast Routing Algorithms 3-15 P P R5 prune message P links with multicast forwarding R3 R6 R7

Shared-Tree: Steiner Tree Steiner Tree: minimum cost tree connecting all routers with attached group members problem is NP-complete excellent heuristics exists not used in practice: computational complexity information about entire network needed monolithic: rerun whenever a router needs to join/leave Notes: 1. See L. Wei and D. Estrin, “A Comparison of multicast trees and algorithms,” TR USC-CD-93-560, Dept. Computer Science, University of California, Sept 1993 for a comparison of heuristic approaches. 3.3 Network Layer: Multicast Routing Algorithms 3-16

Center-based trees single delivery tree shared by all one router identified as “center” of tree to join: edge router sends unicast join-msg addressed to center router join-msg “processed” by intermediate routers and forwarded towards center join-msg either hits existing tree branch for this center, or arrives at center path taken by join-msg becomes new branch of tree for this router Notes: 1. It’s always nice to see a PhD dissertation with impact. The earliest discussion of center-based trees for multicast appears to be D. Wall, “Mechanisms for Broadcast and Selective Broadcast,” PhD dissertation, Stanford U., June 1980. 3.3 Network Layer: Multicast Routing Algorithms 3-17

Center-based trees: an example Suppose R6 chosen as center: LEGEND R1 router with attached group member R4 3 router with no attached group member R2 2 1 R5 path order in which join messages generated Notes: 3.3 Network Layer: Multicast Routing Algorithms 3-18 R3 1 R6 R7

Current Intra-Domain Multicast Routing Protocols DVMRP — Distance-Vector Multicast Routing Protocol flood-and-prune, unidirectional per-source trees, builds own routing table MOSPF — Multicast Extensions to Open Shortest-Path First Protocol broadcast membership, unidirectional per-source trees, uses OSPF routing table

Current Intra-Domain Multicast Routing Protocols (cont.) PIM-DM — Protocol-Independent Multicast, Dense-Mode broadcast-and-prune, unidirectional per-source trees, uses unicast routing table (Protocol Independent) PIM-SM — Protocol-Independent Multicast, Sparse-Mode uses meeting places (“rendezvous points”), unidirectional per-group or shared trees, uses unicast routing table (Protocol Independent) CBT — Core-Based Trees uses meeting places (“cores”), bidirectional shared trees, uses unicast routing table

The First Intra-Domain Routing Protocol: DVMRP

Distance-Vector Multicast Routing Protocol (DVMRP) DVMRP consists of two major components: a conventional distance-vector routing protocol (like RIP) which builds, in each router, a routing table like this: (2) a protocol for determining how to forward multicast packets, based on the routing table and routing messages Subnet (Destination) shortest dist (cost) via interface (NextHop) a 1 i1 b 5 c 3 i2 …

Example Topology g g s g

Phase 1: Truncated Broadcast g g s flood iff the packet arrives over the link that is on the shortest path to S g

Phase 2: Pruning g g prune (s,g) prune (s,g) s g

Steady State g g g s g

Grafting on New Receivers report (g) graft (s,g) graft (s,g) s g

Steady State after Grafting

Multicast Routing: MOSPF

Multicast OSPF (MOSPF) an extension to OSPF (Open Shortest-Path First), a link-state, intra-domain routing protocol specified in RFCs 1584 & 1585 multicast-capable routers indicate that capability with a flag in their link-state messages routers include in their link-state messages a list of all groups that have members on the router’s directly-attached links (as learned through IGMP)

S1 Z X R1 Y R2 Link state: each router floods link-state advertisement Multicast: add membership information to “link state” Each router then has a complete map of the topology, including which links have members of which multicast groups S1 Z X R1 Y R2 10

Z has network map, including membership at X and Y Z computes shortest path tree from S1 to X and Y Z builds multicast entry with one outgoing interface W, Q, R, each build multicast entries S1 Z W Q X R R1 Y R2 11

Link-state advertisement with new topology (may be due to link failure) may require recomputation of tree and forwarding entry. Link WZ failed in the diagram below. S1 Z W Q X R R1 Y R2 12

Link state advertisement (T) with new membership (R3) may require incremental computation and addition of interface to outgoing interface list (Z) (Similarly, disappearance of a membership may cause deletion an interface from an outgoing interface list). Link WZ is back to normal. S1 Z R3 W T Q X R R1 Y R2 13

Multicast Routing: PIM

Protocol Independent Multicast (PIM) does not perform its own routing information exchange uses unicast routing table made by any of the existing unicast routing protocols PIM-DM (Dense Mode) - similar to DVMRP, but: without the routing information exchange part differs in some minor details PIM-SM (Sparse Mode), or just PIM - instead of directly building per-source, shortest-path trees: initially builds a single (unidirectional) tree per group , shared by all senders to that group once data is flowing, the shared tree can be converted to a per-source, shortest-path tree if needed 73

PIM Protocol Overview Basic protocol steps routers with local members send Join messages towards a Rendezvous Point (RP) to join shared tree routers with local sources encapsulate data to RP routers with local members may initiate data-driven switch to source-specific, shortest-path tree 76

Phase 1: Build Shared Tree Shared tree after R1,R2,R3 join Join message toward RP Join G RP R1 R4 R2 R3 77

Phase 2: Sources Send to RP unicast encapsulated data packet to RP RP decapsulates, forwards down Shared tree PIM Register S2 RP R1 R4 R2 R3 78

Phase 3: Stop Encapsulation (S1,G) (S1,G) S2 (S2,G) Join G for S1 Join G for S2 RP (*.G) R1 R4 R2 R3 78

Phase 4: Switch to Shortest Path Tree shared tree S2 Join messages toward S2 RP R1 R4 R2 R3 79

Phase 5: Prune (S2 off) Shared Tree where iif of S2 and RP entries differ S2 distribution tree Shared tree S2 RP R1 R4 R2 R3 81

Today’s Homework Peterson & Davie, Chap 4 4.46 4.52 4.58