IP Multicasting. Applications with multiple receivers



Similar documents
CHAPTER 10 IP MULTICAST

- Multicast - Types of packets

Introduction to IP Multicast Routing

Übungen zu Kommunikationssysteme Multicast

Configuration Examples. D-Link Switches L3 Features and Examples IP Multicast Routing

Internet Protocol Multicast

Introduction to IP v6

Efficient Video Distribution Networks with.multicast: IGMP Querier and PIM-DM

Multicast: Conformance and Performance Testing

Multicast for Enterprise Video Streaming

Border Gateway Protocol, Route Manipulation, and IP Multicast

The Benefits of Layer 3 Routing at the Network Edge. Peter McNeil Product Marketing Manager L-com Global Connectivity

Internet Packets. Forwarding Datagrams

Performance Evaluation of Multicast Transmission on MPLS Network Using PIM SM

CS335 Sample Questions for Exam #2

Transport and Network Layer

Route Discovery Protocols

Datagram-based network layer: forwarding; routing. Additional function of VCbased network layer: call setup.

Integrating Internet Protocol (IP) Multicast over Multiprotocol Label Switching (MPLS) for Real Time Video Conferencing Data Transmission

IP - The Internet Protocol

Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme. Auxiliary Protocols

Data Networking and Architecture. Delegates should have some basic knowledge of Internet Protocol and Data Networking principles.

Definition. A Historical Example

order ateway Sicherheit im Internet, Patrick Lederer,,

VXLAN: Scaling Data Center Capacity. White Paper

Layer 3 Routing User s Manual

Explicit Multicast Routing

Objectives. The Role of Redundancy in a Switched Network. Layer 2 Loops. Broadcast Storms. More problems with Layer 2 loops

Cisco CCNP Optimizing Converged Cisco Networks (ONT)

Design of An Global Multicast Demonstrator for Live Video Streaming on Adobe s Flash Platform

Chapter 6 Configuring IP

Internet Firewall CSIS Packet Filtering. Internet Firewall. Examples. Spring 2011 CSIS net15 1. Routers can implement packet filtering

SECURE IP MULTICASTING WITH ENCRYPTION KEY MANAGEMENT

Guide to Network Defense and Countermeasures Third Edition. Chapter 2 TCP/IP

CSE331: Introduction to Networks and Security. Lecture 8 Fall 2006

Computer Networks. Main Functions

BUILDING MPLS-BASED MULTICAST VPN SOLUTION. DENOG3 Meeting, /Frankfurt Carsten Michel

Ethernet (LAN switching)

Dynamic Routing Protocols II OSPF. Distance Vector vs. Link State Routing

Faculty of Engineering Computer Engineering Department Islamic University of Gaza Network Chapter# 19 INTERNETWORK OPERATION

8.2 The Internet Protocol

Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network.

IPv4 multicast Setup in Campus Networks

CHAPTER. IP Multicast Configuration

Routing. An Engineering Approach to Computer Networking

Introduction to TCP/IP

Cisco Certified Network Associate Exam. Operation of IP Data Networks. LAN Switching Technologies. IP addressing (IPv4 / IPv6)

CCT vs. CCENT Skill Set Comparison

RARP: Reverse Address Resolution Protocol

Chapter 11. User Datagram Protocol (UDP)

Mobile IP Network Layer Lesson 02 TCP/IP Suite and IP Protocol

IP Network Layer. Datagram ID FLAG Fragment Offset. IP Datagrams. IP Addresses. IP Addresses. CSCE 515: Computer Network Programming TCP/IP

Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ

6LoWPAN Technical Overview

Guide to TCP/IP, Third Edition. Chapter 3: Data Link and Network Layer TCP/IP Protocols

The necessity of multicast for IPTV streaming

VMware Virtual SAN Layer 2 and Layer 3 Network Topologies

College 5, Routing, Internet. Host A. Host B. The Network Layer: functions

Internet Protocol (IP) IP - Network Layer. IP Routing. Advantages of Connectionless. CSCE 515: Computer Network Programming IP routing

Final for ECE374 05/06/13 Solution!!

Overview. Lecture 16: IP variations: IPv6, multicast, anycast. I think we have a problem. IPv6. IPv6 Key Features

Internet Protocol version 4 Part I

Christian Huitema, Routing in the Internet, Prentice Hall, Crowcroft/Handley/Wakeman, Internetworking Multimedia, 2000.

IP Routing Features. Contents

Multicast in IPv6. David Larrabeiti López Departament of Telematic Engineering University Carlos III, Madrid ://

Link Failure Recovery. for MPLS Networks with Multicasting

20. Switched Local Area Networks

Ethernet. Ethernet. Network Devices

CS 5480/6480: Computer Networks Spring 2012 Homework 3 Due by 1:25 PM MT, Monday March 5 th 2012

- Multiprotocol Label Switching -

Multicast in Wireless Mesh Networks

EINDHOVEN UNIVERSITY OF TECHNOLOGY Department of Mathematics and Computer Science

Names & Addresses. Names & Addresses. Hop-by-Hop Packet Forwarding. Longest-Prefix-Match Forwarding. Longest-Prefix-Match Forwarding

Introduction to Routing and Packet Forwarding. Routing Protocols and Concepts Chapter 1

Lecture Computer Networks

Internet Architecture and Philosophy

Variable length subnetting

Network layer: Overview. Network layer functions IP Routing and forwarding

Answers to Sample Questions on Network Layer

Optimizing Enterprise Network Bandwidth For Security Applications. Improving Performance Using Antaira s Management Features

Juniper / Cisco Interoperability Tests. August 2014

Hands on Workshop. Network Performance Monitoring and Multicast Routing. Yasuichi Kitamura NICT Jin Tanaka KDDI/NICT APAN-JP NOC

ICS 351: Today's plan

CS 457 Lecture 19 Global Internet - BGP. Fall 2011

Interconnecting Cisco Networking Devices Part 2

Internet Control Protocols Reading: Chapter 3

Computer Networks CS321

Protocol Specification & Design. The Internet and its Protocols. Course Outline (trivia) Introduction to the Subject Teaching Methods

Network-Oriented Software Development. Course: CSc4360/CSc6360 Instructor: Dr. Beyah Sessions: M-W, 3:00 4:40pm Lecture 2

Advanced VSAT Solutions Bridge Point-to-Multipoint (BPM) Overview

OVERLAYING VIRTUALIZED LAYER 2 NETWORKS OVER LAYER 3 NETWORKS

IP Addressing A Simplified Tutorial

Internet Protocol Version 6 (IPv6)

: Interconnecting Cisco Networking Devices Part 1 v2.0 (ICND1)

Technical Support Information Belkin internal use only

TRILL for Data Center Networks

Ref: A. Leon Garcia and I. Widjaja, Communication Networks, 2 nd Ed. McGraw Hill, 2006 Latest update of this lecture was on

Data Communication Networks and Converged Networks

Juniper Networks EX Series/ Cisco Catalyst Interoperability Test Results. May 1, 2009

Chapter 4 Network Layer

Transcription:

IP Multicasting Relates to Lab 10. It covers IP multicasting, including multicast addressing, IGMP, and multicast routing. 1 Applications with multiple receivers Many applications transmit the same data at one time to multiple receivers Broadcasts of Radio or Video Videoconferencing Shared Applications A network must have mechanisms to support such applications in an efficient manner 2 1

Motivation "Together, Internet broadcasting and multicasting are the next chapters in the evolution of the Internet as a revolutionary catalyst for the information age." Vint Cerf,Senior vice president of MCI/Worldcom,April 1999. 3 Multicasting Multicast communications refers to one-to-many or many-tomany communications. Unicast Broadcast Multicast IP Multicasting refers to the implementation of multicast communication in the Internet 4 2

Multicasting over a Packet Network Without support for multicast at the network layer: Multiple copies of the same message is transmitted on the same link 5 Multicasting over a Packet Network With support for multicast at the network layer: Requires a set of mechanisms: (1) Packet forwarding can send multiple copies of same packet (2) Multicast routing algorithm which builds a spanning tree (dynamically) 6 3

Semantics of IP Multicast IP multicast works as follows: Multicast groups are identified by IP addresses in the range 224.0.0.0-239.255.255.255 (class D address) Every host (more precisely: interface) can join and leave a multicast group dynamically» no access control Every IP datagram send to a multicast group is transmitted to all members of the group» no security, no floor control The IP Multicast service is unreliable 7 The IP Protocol Stack IP Multicasting only supports UDP as higher layer There is no multicast TCP! User Layer Socket Layer Stream Sockets Datagram Sockets Multicast Sockets TCP UDP IP IP Multicast Network Interface 8 4

IP Multicasting There are three essential components of the IP Multicast service: IP Multicast Addressing IP Group Management Multicast Routing 9 Multicast Addressing All Class D addresses are multicast addresses: Class D 1 1 1 0 multicast group id 28 bits Class From To D 224.0.0.0 239.255.255.255 Multicast addresses are dynamically assigned. An IP datagram sent to a multicast address is forwarded to everyone who has the multicast group If an application is terminated, the multicast address is (implicitly) released. 10 5

Types of Multicast addresses The range of addresses between 224.0.0.0 and 224.0.0.255, inclusive, is reserved for the use of routing protocols and other low-level topology discovery or maintenance protocols Multicast routers should not forward any multicast datagram with destination addresses in this range. Examples of special and reserved Class D addresses, e.g, 224.0.0.1 All systems on this subnet 224.0.0.2 All routers on this subnet 224.0.1.1 NTP (Network Time Protocol) 224.0.0.9 RIP-2 (a routing protocol) 11 Multicast Address Translation In Ethernet MAC addresses, a multicast address is identified by setting the lowest bit of the most left byte -------1-------- -------- -------- -------- -------- Not all Ethernet cards can filter multicast addresses in hardware - Then: Filtering is done in software by device driver. 12 6

Multicast Address Mapping Identifes Class D Ignored 23-bit address Ethernet Addresses with 01:00:5e in the first 3 bytes are reserved for IP multicast 1110xxxxx------- -------- -------- Class D IP Address 0000000100000000 01011110 0------- -------- -------- Ethernet Address 13 IGMP The Internet Group Management Protocol (IGMP) is a simple protocol for the support of IP multicast. IGMP is defined in RFC 1112. IGMP operates on a physical network (e.g., single Ethernet Segment. IGMP is used by multicast routers to keep track of membership in a multicast group. Support for: Joining a multicast group Query membership Send membership reports 14 7

IGMP Protocol A host sends an IGMP report when it joins a multicast group (Note: multiple processes on a host can join. A report is sent only for the first process). No report is sent when a process leaves a group A multicast router regularly multicasts an IGMP query to all hosts (group address is set to zero). A host responds to an IGMP query with an IGMP report. Multicast router keeps a table on the multicast groups that have hosts. The router only forwards a packet, if there is a host still. Note: Router does not keep track which host is. 15 IGMP Packet Format IGMP messages are only 8 bytes long 14 bytes 20 bytes 8 bytes Ethernet Header IP header IGMP Message Version (= 0) Type (=1-2) (unused) 32-bit Class D address Checksum Type: 1 = sent by router, 2 = sent by host 16 8

IGMP Protocol 17 IGMP Protocol 18 9

Networks with multiple multicast routers Only one router responds to IGMP queries (Querier) Router with smallest IP address becomes the querier on a network. One router forwards multicast packets to the network (Forwarder). 19 Multicast Routing Protocols Goal: Build a spanning tree between all members of a multicast group 20 10

Multicast routing as a graph problem Problem: Embed a tree such that all multicast group members are connected by the tree 21 Multicast routing as a graph problem Problem: Embed a tree such that all multicast group members are connected by the tree Solution 1: Shortest Path Tree or source-based tree Build a tree that minimizes the path cost from the source to each receiver Good tree if there is a single sender If there are multiple senders, need one tree per sender Easy to compute 22 11

Multicast routing as a graph problem Problem: Embed a tree such that all multicast group members are connected by the tree Solution 2: Minimum-Cost Tree Build a tree that minimizes the total cost of the edges Good solution if there are multiple senders Very expensive to compute (not practical for more than 30 nodes) 23 Multicast routing in practice Routing Protocols implement one of two approaches: 1. Source Based Tree: Essentially implements Solution 1. Builds one shortest path tree for each sender Tree is built from receiver to the sender reverse shortest path / reverse path forwarding 2. Core-based Tree: Build a single distribution tree that is shared by all senders Does not use Solution 2 (because it is too expensive) Selects one router as a core (also called rendezvous point ) All receivers build a shortest path to the core reverse shortest path / reverse path forwarding 24 12

Reverse Path Forwarding (RPF) RPF builds a shortest path tree in a distributed fashion by taking advantage of the unicast routing tables. Main idea:given the address of the root of the tree, a router selects as its upstream neighbor in the tree the router which is the next-hop neighbor for forwarding unicast packets to the root. How can this be used to build a tree? 1. RPF Forwarding: Forward a packet only if it is receives from an RPF neighbor R1 2. Set up multicast routing table in according from receiver to sender along the reverse shortest path tree RPF neighbor of R3 for H2 RPF interface for H2 R3 Source R2 H1 Unicast routing table of router R3: Destination Next Hop H1 R2 R4 R5 25 Multicast routing in practice Routing algorithms in practice implement one of two approaches: 1. Source Based Tree Tree: Establish a reverse path to the source 2. Core-based Tree: Establish a reverse path to the core router 26 13

Multicast Routing table Routing table entries for source-based trees and for core-based trees are different Source-based tree: (Source, Group) or (S, G) entry. Core-based tree: (*, G) entry. Source IP address Multicast group Incoming interface (RPF interface) Outgoing interface list S1 G1 I1 I2, I3 * G2 I2 I1, I3 27 Building a source-based tree Set routing tables according to RPF forwarding Source H1 R1 Flood-and-Prune R2 R3 H2 R4 R5 R6 H3 R7 R8 H4 H5 28 14

Building a source-based tree Set routing tables according to RPF forwarding Flood-and-Prune Flood= Forward packets that arrive on RPF interface on all non-rpf interfaces 29 Building a source-based tree Set routing tables according to RPF forwarding Flood-and-Prune Flood= Forward packets on all non-rpf interfaces Receiver drops packets not received on RPF interface 30 15

Building a source-based tree Set routing tables according to RPF forwarding 6RXUFH + Flood-and-Prune Prune= Send a prune message when a packet is 5 received on a non-rpf interface or when there are no receivers downstream Prune message disables routing table entry + MRLQHG 5 5 3UXQH 5 3 UXQH3UXQH 3UXQH 3 UXQH 3UXQH 5 3UXQH 3 UXQH 5 3 UXQH + 5 5 + MRLQHG + 31 Pruning Prune message temporarily disables a routing table entry Effect: Removes a link from the multicast tree No multicast messages are sent on a pruned link Prune message is sent in response to a multicast packet Question: Why is routing table only temporarily disabled? Who sends prune messages? A router with no group members in its local network and no connection to other routers A router with no group members in its local network which has received a prune message on all non-rpf interfaces A router with group members which has received a packet from a non-rpf neighbor 32 16

Building a source-based tree When a receiver joins, one needs to re-activate a pruned routing table entry Grafting Sending a Graft message disables prune, and re-activates routing table entry. 33 Alternative method for building a source-based tree This only works if the receiver knows the source Explicit-Join Receiver sends a Join message to RPF neighbor Join message creates (S,G) routing table entry Join message is passed on Join R5 H3 R2 Source Join H1 R1 R4 Join R7 H4 Join R3 H5 H2 R6 R8 34 17

Building a core-based tree One route is the core Source H1 Receiver sends a Join message to RPF neighbor with respect to core R2 R1 Core R4 H2 R5 Join Join R3 Join message creates (*, G) routing table entry Join Join R6 H3 R7 Join R8 H4 H5 35 Building a core-based tree Source sends data to the core Core forwards data according to routing table entry R2 Source H1 R1 Core R3 H2 R4 R5 R6 H3 R7 R8 H4 H5 36 18

Multicast routing protocols in the Internet Distance Vector Multicast Routing Protocol (DVMRP): First multicast routing protocol Implements flood-and-prune Multicast Open Shortest Path First (MOSPF): Multicast extensions to OSPF. Each router calculates a shortest-path tree based on link state database Not widely used Core Based Tree (CBT): First core-based tree routing protocol Protocol Independent Multicast (PIM):[1] Runs in two modes: PIM Dense Mode (PIM-DM) and PIM Sparse Mode (PIM- SM). PIM-DM builds source-based trees using flood-and-prune PIM-SM builds core-based trees as well as source-based trees with explicit joins. [1] RFC2362 37 PIM Messages (PIM version 2) 32 bit Version (= 2) Type Reserved Checksum Message type specific part PIM-DM messages Hello Register Type 0 1 PIM-DM PIM-SM Encapsulated in IP datagrams with protocol number 103. Register-Stop Join/Prune Bootstrap Assert Graft Graft-Ack 2 3 4 5 6 7 PIM messages can be sent as unicast or multicast packet 224.0.0.13 is reserved as the ALL-PIM-Routers group Candidate-RP- Advertisement 8 38 19

PIM-DM: PIM Dense Mode PIM-DM implements flood-and-prune Source S1 Orange packet: Multicast packet (=Data) Blue packet: PIM message R1 R2 I1 I1 I3 prune (H1, G) R3 R4 H2 H3 39 PIM-SM: PIM Sparse Mode Core is called rendezvous-point (RP) Receivers know RP (statically configured or dynamically elected) When receiver joins, a Join message is sent to RP on RPF. 40 20

PIM-SM: PIM Sparse Mode Host H3 joins: Join message is only forwarded until the first router that is part of the core-based tree. 41 PIM-SM: Data transmission Source sends multicast packet to RP Packet is attached to an RP Register message Source R1 S1 register (S1, G) When packet reaches RP, it is forwarded in the tree R2 I1 I1 I3 join (S1,G) R5 RP R3 R4 Also: RP sends a Join message on reverse path to S1 H2 H3 (a) PIM-SM: Register message to RP 42 21

PIM-SM: Data transmission When Join messages reaches R1, it sends a native multicast packet to the RP (in addition to the packet attached to the register message) 43 PIM-SM: Data transmission When RP receives native multicast packet it sends a register stop message to R1. This message stops the transmission of register messages from R1. 44 22

PIM-SM: Switching to source-based tree When data to receivers exceeds a threshold, routers switch to a source-based tree Source R1 S1 This is done by sending an explicit join message to the source join (S1,G) join (S1,G) R2 I1 I1 I3 RP R5 R3 R4 There may be duplicate packets being sent for some time H2 H3 (a) PIM-SM: R3 switches to a SPT 45 PIM-SM: Switching to source-based tree When data arrives from source (as opposed to RP), a Prune message is sent to the RPT Now: data is forwarded only along the shortestpath tree 46 23