Exercises to Communication Systems

Similar documents
DATA COMMUNICATOIN NETWORKING

Broadcast Routing. Multicast. Flooding. In-network duplication. deliver packets from source to all other nodes source duplication is inefficient:

Exercises to Communication Systems

Network Layer II. Getting IP addresses. DHCP client-server scenario. DHCP client-server scenario. C compiler. You writing assignment 2

IP Multicast. Falko Dressler Regionales Rechenzentrum Grundzüge der Datenkommunikation IP Multicast

Lecture 6. TCP/IP Network Layer (4)

Review. Some slides are in courtesy of J. Kurose and K. Ross

Multicast Communications

Multicast Communications. Slide Set were original prepared by Dr. Tatsuya Susa

Master Course Computer Networks IN2097

Computer Networks. Wenzhong Li. Nanjing University

Multicast. Midterm. EECS 122: Lecture 16. University of California Berkeley. Exam was not meant to be easy

IP Multicast Concepts and Applications

CSCE 463/612 Networks and Distributed Processing Spring 2018

Topic: Multicast routing

Why multicast? The concept of multicast Multicast groups Multicast addressing Multicast routing protocols MBONE Multicast applications Conclusions

Chapter 4 roadmap. CS555, Spring /14/2005. WMU-CS, Dr. Gupta 1. Multicast Routing: Problem Statement. Approaches for building mcast trees

List of groups known at each router. Router gets those using IGMP. And where they are in use Where members are located. Enhancement to OSPF

Advanced Network Training Multicast

What is Multicasting? Multicasting Fundamentals. Unicast Transmission. Agenda. L70 - Multicasting Fundamentals. L70 - Multicasting Fundamentals

Advanced Networking. Multicast

Broadcast and Multicast Routing

CSE 123A Computer Networks

IP Multicast Technology Overview

Chapter 4: outline. 4.5 routing algorithms link state distance vector hierarchical routing. 4.6 routing in the Internet RIP OSPF BGP

DD2490 p IP Multicast routing. Multicast routing. Olof Hagsand KTH CSC

IP Multicast. What is multicast?

Multicast service model Host interface Host-router interactions (IGMP) Multicast Routing Distance Vector Link State. Shared tree.

ICS 351: Today's plan. routing protocol comparison encapsulation network dynamics multicasting in general IP multicasting IGMP PIM

Configuring IP Multicast Routing

Module 7 Implementing Multicast

IP Multicasting: Explaining Multicast Cisco Systems, Inc. All rights reserved. Cisco Academy

Multicast Technology White Paper

IP Multicast Technology Overview

IP Multicast: Does It Really Work? Wayne M. Pecena, CPBE, CBNE

Data Communications & Networks. Session 7 Main Theme Networks: Part II Circuit Switching, Packet Switching, The Network Layer

Internet Multicast Routing

FSOS Multicast Configuration Guide

IP Multicast: PIM Configuration Guide, Cisco IOS Release 15S

Multicast overview. Introduction to multicast. Information transmission techniques. Unicast

Configuring IP Multicast Routing

The Internet network layer

IP Multicast: PIM Configuration Guide, Cisco IOS Release 12.4T

IP Multicast: PIM Configuration Guide, Cisco IOS Release 15SY

Multicast overview. Introduction to multicast. Information transmission techniques. Unicast

Multicast EECS 122: Lecture 16

IP Multicast: PIM Configuration Guide, Cisco IOS Release 15M&T

IP Multicast Routing Protocols

IPv6 PIM. Based on the forwarding mechanism, IPv6 PIM falls into two modes:

IP Multicast: PIM Configuration Guide, Cisco IOS XE Release 3S

Configuring IP Multicast Routing

Configuring IP Multicast Routing

Deliver packets from srce to all other nodes Source duplication is inefficient: creation/transmission. in-network duplication

ASM. Engineering Workshops

Contents. Overview Multicast = Send to a group of hosts. Overview. Overview. Implementation Issues. Motivation: ISPs charge by bandwidth

IP Multicast: PIM Configuration Guide

Multicast Communications. Tarik Čičić, 4. March. 2016

Multicast routing protocols

Configuring Bidirectional PIM

Configuring PIM. Information About PIM. Send document comments to CHAPTER

IP Multicast Routing Technology Overview

Muhammad Jaseemuddin Dept. of Electrical & Computer Engineering Ryerson University Toronto, Canada

IP Multicast: PIM Configuration Guide

Lecture 19: Multicast. CSE 123: Computer Networks Stefan Savage

ITEC310 Computer Networks II

Table of Contents 1 PIM Configuration 1-1

Developing IP Muiticast Networks

Implementing Multicast Service Reflection

Multicast Overview. IP Multicasting: Explaining Multicast. Lesson Cisco Systems, Inc. All rights reserved. Cisco Public. BSCI Module 7 Lesson 1

Configuring Router-Port Group Management Protocol

Lab 7-3 Routing IP Multicast with PIM Sparse Mode

Table of Contents Chapter 1 Multicast Routing and Forwarding Configuration

PIM Configuration. Page 1 of 9

IP Multicast Optimization: Optimizing PIM Sparse Mode in a Large IP Multicast Deployment

Financial Services Design for High Availability

Multicast H3C Low-End Ethernet Switches Configuration Examples. Table of Contents

Distributed Core Multicast (DCM): a multicast routing protocol for many groups with few receivers

Computer Networks. Routing

IP Multicast. Overview. Casts. Tarik Čičić University of Oslo December 2001

Distributed Core Multicast (DCM): a multicast routing protocol for many groups with few receivers

Multicast routing Draft

Configuring Basic IP Multicast

Lab 7-1 Implementing IGMP and IGMP Snooping

FiberstoreOS IPv6 Multicast Configuration Guide

Internet2 Multicast Workshop

Examination IP routning inom enkla datornät, DD2490 IP routing in simple networks, DD2490 KTH/CSC. Date: 20 May :00 19:00 SOLUTIONS

ETSF10 Internet Protocols Routing on the Internet

ETSF10 Internet Protocols Routing on the Internet

EECS 122, Lecture 13. Multicast Delivery. Multicast Delivery. Reasons for Multicast. Why not just Machine Gun? Multicast Example

Configuring IGMP Snooping

Table of Contents 1 IGMP Configuration 1-1

HP 5920 & 5900 Switch Series

4.2 Multicast IP supports multicast to support one-to-many (radio, news, IP multicast was originally a many-to-many (any source MC or

IPv6 PIM-DM configuration example 36 IPv6 PIM-SM non-scoped zone configuration example 39 IPv6 PIM-SM admin-scoped zone configuration example 42 IPv6

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

IPv6 and Multicast. Outline. IPv6 Multicast. S Computer Networks - Spring 2005

BASIC MULTICAST TROUBLESHOOTING. Piotr Wojciechowski (CCIE #25543)

Hierarchical Routing. Our routing study thus far - idealization all routers identical network flat not true in practice

Chapter 4: Network Layer. Chapter 4: Network Layer

Table of Contents 1 MSDP Configuration 1-1

Transcription:

Exercises to Communication Systems IP Multicast Dr.-Ing. Falko Dressler Kai-Steffen Hielscher Department of Computer Science 7 University of Erlangen

Group Communication Multiple partners communicate in a closed group Types of group communication Unicast: 1:1 Concast: m:1 Multicast: 1:m Multipeer: m:n (typically emulated using multicast) Other types of communication Broadcast Anycast Scalability Group size Topology Dynamics Multicast 2

IP Multicast Broadcast Routing Multicast Routing Principles Building Multicast Trees DVMRP PIM SM and DM Multicast 3

Broadcast Bradcast: act of sending datagram to all receivers with single transmit operation analogy: TV Question: how to achieve broadcast? Multicast 4

Flooding the network Uncontrolled flooding eventually will shut down the network Controlled flooding sequence-number-controlled flooding source and broadcast sequence number are stored on each node if a broadcast packet is on the stored list, it is dropped reverse path forwarding Multicast 5

Broadcast Routing Algorithms duplicate R1 duplicate creation/transmission R1 R2 R2 duplicate R3 R4 R3 R4 source duplication in-network duplication Source-duplication vs. in-network duplication. Multicast 6

Reverse path forwarding A forward packet to all neighbors F C E B D if a packet comes from the node which is the first node on the path towards the source G drop packet otherwise Multicast 7

Spanning-tree broadcast spanning tree each and every node in a graph no cycles A A Any node can be the source C B C B F E D F E D Broadcast initiated at A G G Broadcast initiated at D minimum spanning tree if the cost of all links is minimal Multicast 8

Constructing a spanning tree numerous algorithms have been developed here: center-based construction select a center point (rendezvous point - RP)»how? active research; e.g., select any send tree-join message to the center from each node (unicast) either gets to the center or gets to an existing branch F C 1 A 3 4 E 2 B D 5 Stepwise construction of spanning tree with E as an RP) G F C A E B Constructed spanning tree D G Multicast 9

IP Multicast Broadcast Routing Multicast Routing Principles Building Multicast Trees DVMRP PIM DM and SM Multicast 10

Principles of Multicast Source Source n point-to-point connections single multicast connection Unicast receivers Multicast receivers Multicast 11

Typical Scenarios: one-to-many TV broadcast time synchronization (NTP) distribution of data, e.g., stock exchange rates Receiver Receiver Receiver Receiver Sender Receiver Sender Receiver Receiver Receiver Multicast 12

Typical Scenarios: many-to-many video conferences multiplayer games Participant Participant Participant Participant Participant 5 5 5 5 Participant 4 4 4 4 5 5 5 5 4 4 5 Participant 5 5 5 Participant 5 1 1 5 Participant 2 2 2 2 5 1 1 5 2 2 5 Participant 5 1 1 Number of flows on the link Unicast Participant Participant Multicast Multicast 13

Multicast: one sender to many receivers Multicast: act of sending datagram to multiple receivers with single transmit operation analogy: one teacher to many students Question: how to achieve multicast Multicast via unicast source sends N unicast datagrams, one addressed to each of N receivers same as in broadcast via unicast routers forward unicast datagrams multicast receiver (red) not a multicast receiver (red) Multicast 14

Multicast: one sender to many receivers Multicast: act of sending datagram to multiple receivers with single transmit operation analogy: one teacher to many students Question: how to achieve multicast Network multicast Router actively participate in multicast, making copies of packets as needed and forwarding towards multicast receivers Multicast routers (red) duplicate and forward multicast datagrams Multicast 15

Multicast: one sender to many receivers Multicast: act of sending datagram to multiple receivers with single transmit operation analogy: one teacher to many students Question: how to achieve multicast Application-layer multicast end systems involved in multicast copy and forward unicast datagrams among themselves Multicast 16

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: use of indirection hosts addresses IP datagram to multicast group routers forward multicast datagrams to hosts that have joined that multicast group Multicast 17

Aspects of Group Communication Addressing IP Multicast addresses Group maintenance Internet Group Management Protocol Layer 2 Routing Distribution trees Routing protocols Multicast 18

Multicast groups class D Internet addresses reserved for multicast: host group semantics: o anyone can join (receive) multicast group o anyone can send to multicast group o no network-layer identification to hosts of members needed: infrastructure to deliver mcast-addressed datagrams to all hosts that have joined that multicast group Multicast 19

IP Multicast Addressing Multicast addresses = Class D addresses address range: 224.0.0.0/4 only for destination address source address is still the unicast source address Link-Local multicast addresses only available in the subnet (will not be forwarded) address range: 224.0.0.0/24 reserved addresses (examples): 224.0.0.1 - all systems 224.0.0.2 - all routers 224.0.0.5 - OSPF routers 224.0.0.6 - OSPF designated routers Multicast 20

Address Scoping Globally scoped addresses 224.0.1.0-238.255.255.255 are to be used globally in the internet Source-specific multicast 232.0.0.0/8 GLOP addresses (RFC2770) 233.0.0.0/8 reserved for statically defined addresses by organizations that already have an AS number reserved address: 233.<AS>.0/24 Administratively scoped addresses 239.0.0.0/8 like RFC1918 addresses for local use only not routed in the internet Multicast 21

TTL Thresholds same principle as in IP unicast thresholds are also used to limit multicast traffic to a particular region TTL scope Local net Site Region World Initial TTL value 1 15 63 127 TTL threshold - 16 64 128 Multicast 22

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 wide-area multicast routing IGMP Multicast 23

IGMP: Internet Group Management Protocol host: sends IGMP report when application joins mcast group IP_ADD_MEMBERSHIP socket option in the C socket library 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 query report Multicast 24

IGMP IGMP version 1 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: under development as Internet draft Multicast 25

Sample multicast receiver // Import some needed classes import sun.net.*; import java.net.*; int port = 5555; // Port to listen to String mcastgroup = "225.4.5.6"; // Multicast address // Create a socket and bind it to the port MulticastSocket socket = new MulticastSocket(port); // join the multicast group socket.joingroup(inetaddress.getbyname(mcastgroup)); // Create a DatagramPacket and a receive data byte buffer[] = new byte[1024]; DatagramPacket packet = new DatagramPacket(buffer, buffer.length); socket.receive(packet); // Print the received data System.out.println("Received data from: + packet.getaddress().tostring() + ":" + packet.getport() + " with length: " + packet.getlength()); System.out.println(new String(packet.getData())); System.out.println(); // Leave the multicast group and close the socket socket.leavegroup(inetaddress.getbyname(mcastgroup)); socket.close(); Multicast 26

Sample multicast sender import sun.net.*; // Import some needed classes import java.net.*; int port = 5555; // Port to send to String mcastgroup = "225.4.5.6"; // Multicast address // Create a socket MulticastSocket socket = new MulticastSocket(); // We are only sending data and not receiving, // so we don't have to join the multicast group String hi = Hello! // Create a DatagramPacket DatagramPacket packet = new DatagramPacket(hi.getBytes(), hi.length(), InetAddress.getByName(mcastGroup), port); s.send(packet, timetolive); // Send the packet s.close(); // Close the socekt when finished Multicast 27

Layer 2: Multicast Ethernet Addresses Multicast IP addresses mapped to special Ethernet MAC addresses Octet 0 Octet 1 Octet 2 Octet 3 Octet 4 Octet 5 xxxxxxx1 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx broadcast / multicast bit Multicast 28

IP Multicast to Ethernet Address Mapping Why only 23 bit? In the early 90s Steve Deering tried to get 16 OUIs from the IEEE but could not pay for it. Any problems? 32 IP multicast addresses can be mapped to a single ethernet address. This may lead to performance problems! 32 Bit 28 Bit IP multicast address Header: 1110 239.255.0.1 Ethernet multicast address Header: 01-00-5e 01-00-5e-7f-00-01 23 Bit 48 Bit Multicast 29

Layer-2 Multicast Mechanisms Normal case: multicast = broadcast, i.e. flooding trough the LAN IGMP snooping Intelligent switches process all multicast packets, look for IGMP messages and analyze them Prerequisite for a broad use: layer-3-aware switches Cisco Group Management Protocol (CGMP) Intelligence only at the router, which informs its local switches Multicast 30

CGMP Cisco Group Management Protocol Messages via the well-known CGMP MAC multicast address 0x0100.0cdd.dddd The router processes the information for the switch(es) No processing power at the switch is required Multicast 31

CGMP Messages GDA USA Join/Leave Meaning (Group Destination Address) (Unicast Source Address) Mcst MAC Client MAC Join Add port to group Mcst MAC Client MAC Leave Delete port from group 0000...0000 Router MAC Join Assign router port 0000...0000 Router MAC Leave Deassign router port Mact MAC 0000...0000 Leave Delete group 0000...0000 0000...0000 Leave Delete all grouos Multicast 32

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 Shared tree Source-based trees Multicast 33

Approaches for building mcast trees Approaches: 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 we first look at basic approaches, then specific protocols adopting these approaches Multicast 34

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

Reverse Path Forwarding relies 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 center) then flood datagram onto all outgoing links else ignore datagram Multicast 36

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

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 S: source LEGEND R1 R4 router with attached group member R3 R2 R6 P P R7 R5 P router with no attached group member prune message links with multicast forwarding Multicast 38

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 Multicast 39

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 Multicast 40

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

Internet Multicasting Routing: DVMRP DVMRP: distance vector multicast routing protocol RFC1075 flood and prune: reverse path forwarding, source-based tree RPF tree based on DVMRP s own routing tables constructed by communicating DVMRP routers no assumptions about underlying unicast initial datagram to mcast group flooded everywhere via RPF routers not wanting group: send upstream prune msgs Multicast 42

DVMRP: continued soft state: DVMRP router periodically (1 min.) forgets branches are pruned: mcast data again flows down unpruned branch downstream router: reprune or else continue to receive data routers can quickly regraft to tree following IGMP join at leaf odds and ends commonly implemented in commercial routers Mbone routing done using DVMRP Multicast 43

Tunneling Q: How to connect islands of multicast routers in a sea of unicast routers? physical topology logical topology mcast datagram encapsulated inside normal (non-multicastaddressed) datagram normal IP datagram sent thru tunnel via regular IP unicast to receiving mcast router receiving mcast router unencapsulates to get mcast datagram Multicast 44

PIM: Protocol Independent Multicast not dependent on any specific underlying unicast routing algorithm (works with all) two different multicast distribution scenarios : Dense: group members densely packed, in close proximity. bandwidth more plentiful Sparse: # networks with group members small wrt # interconnected networks group members widely dispersed bandwidth not plentiful Multicast 45

Consequences of Sparse-Dense Dichotomy: Dense group membership by routers assumed until routers explicitly prune data-driven construction on mcast tree (e.g., RPF) bandwidth and non-grouprouter processing profligate Sparse: no membership until routers explicitly join receiver- driven construction of mcast tree (e.g., centerbased) bandwidth and non-grouprouter processing conservative Multicast 46

PIM- Dense Mode flood-and-prune RPF, similar to DVMRP but underlying unicast protocol provides RPF info for incoming datagram less complicated (less efficient) downstream flood than DVMRP reduces reliance on underlying routing algorithm no list of PIM neighbors (receivers from the same router) request for pruning sent to all PIM local routers ( neighbors ) response to request to prune from any receiver delayed 3 seconds, so other PIM routers can override (if they want to receive packets) has protocol mechanism for router to detect it is a leafnode router Multicast 47

PIM - Sparse Mode center-based approach router sends join msg to rendezvous point (RP) intermediate routers update state and forward join after joining via RP, router can switch to source-specific tree increased performance: less concentration, shorter paths R3 R2 R1 join join all data multicast from rendezvous point R6 join R4 R5 R7 rendezvous point Multicast 48

PIM - Sparse Mode sender(s): unicast data to RP, which distributes down RProoted tree RP can extend mcast tree upstream to source the source need not to be a receiver! RP can send stop msg if no attached receivers no one is listening! R3 R2 R1 join join all data multicast from rendezvous point R6 join R4 R5 R7 rendezvous point Multicast 49