Download presentation
Presentation is loading. Please wait.
1
Exterior Routing Protocols and Multicasting
IP Multicasting Part of this presentation based on: Cisco, Forouzan TCP/IP textbook, Anthony Chung, Dale Buchholz. Chapter 16 2
2
Exterior Routing Protocols and Multicasting
Topics IP Class D Group Addressing IGMP (Internet Group Management Protocol) Multicast Strategies: Broadcast/Flooding Multiple Unicast Distribution trees Multicast forwarding (based on Reverse Path Forwarding) Multicast Routing Protocols DVMRP (Distance Vector Multicast Routing Protocol) MOSPF (Multicast OSPF) PIM (Protocol Independent Multicast) MBONE (Multicast Backbone) Implementation and Configuration (for Cisco) Chapter 16
3
Practical Applications of IP Multicast
Exterior Routing Protocols and Multicasting Practical Applications of IP Multicast Multimedia: A number of users “tunes” to a video or audio transmission from a multimedia source station. Teleconferencing: A group of workstations form a multicast group such that a transmission from any member is received by all other group members. Database: All copies of a replicated file or database are updated at the same time. Distributed computation: Intermediate results are sent to all participants. Real-time workgroup: Files, graphics, and message are exchanged among active group members in real time. MOST prevalent usage right now: trading – Used to multicast market data. Can be VERY large; OPRA (Options Price Reporting Authority) feed is over 80 Mbps SUSTAINED Very latency sensitive. Trading platforms are trying to optimize at the micro-second levels. Chapter 16
4
Multicasting within single LAN
Exterior Routing Protocols and Multicasting Multicasting within single LAN In 802.3, MAC address can specify a broadcast/multicast 0xFFFF.FFFF.FFFF is for broadcast Bit 0 of octet 0 indicates Broadcast/Multicast Bit 1 of octet 0 indicates Locally Administer Address (LAA) vs use of Universally Administered Addresses (UAA) IANA was given MAC address block 01:00:5E IANA defined range available: 0100.5E to E7F.FFFF – That is 23 bits Multicast IP address is defined by 28 bits (1110 defines class D) The lowest 23 bits of the IP multicast address maps to a MAC address All stations that recognise the MAC address of the multicast address accept the packet – Done at L2 admission instead of L3 like it would be in broadcast. (a broadcast is accepted by all stations, then sent to L3 for processing where it will be dropped if no process uses it) Works because of broadcast nature of LAN Packet only sent once Much harder on Internet or routed infrastructure Chapter 16
5
Exterior Routing Protocols and Multicasting
IP Class D Group Addressing (multicast address or group ID) Mapping IP Multicast Address to Ethernet Address Figure 10.10 This prefix is given for multicast MAC addresses Chapter 16
6
MAC address Ambiguities
Exterior Routing Protocols and Multicasting MAC address Ambiguities Because upper 5 bits in IP multicast address are dropped, result MAC address is not unique: 32 multicast group IDs map to a single MAC address. Example all groups below maps to 0x0100.5E … Chapter 16
7
Multicast Strategies across routers
Exterior Routing Protocols and Multicasting Multicast Strategies across routers Chapter 16
8
Multicast Strategies across routers
Exterior Routing Protocols and Multicasting Multicast Strategies across routers Broadcast Multiple Unicasts True Multicast Chapter 16
9
Exterior Routing Protocols and Multicasting
Broadcast Assume location of recipients not know Send packet to every network Packet addressed to N3 traverses N1, link L3, N3 Router B translates IP multicast address to MAC multicast address Repeat for each network Generates lots of packets Delivery of packets done via Routing Protocols Chapter 16
10
Exterior Routing Protocols and Multicasting
Multicast Strategies Broadcast: send one copy to each network (not knowing which network has members) Chapter 16
11
Exterior Routing Protocols and Multicasting
Multiple Unicast Location of each member of multicast group known to source Table maps multicast address to list of networks Only need to send to networks containing members of multicast group Reduced traffic (a bit) Chapter 16
12
Exterior Routing Protocols and Multicasting
Multicast Strategies Multiple Unicast: send one copy to each network where there is a member. Chapter 16
13
Exterior Routing Protocols and Multicasting
True Multicast Least cost path from source to each network containing member of group is determined Gives spanning tree configuration For networks containing group members only Source transmits packet along spanning tree Packet replicated by routers at branch points of spanning tree Reduced traffic Chapter 16
14
Exterior Routing Protocols and Multicasting
Multicast Strategies Multicast along a spanning tree (A sub-graph that reaches all nodes without cycles) to networks with members only S Chapter 16
15
Multicast Transmission Example
Exterior Routing Protocols and Multicasting Multicast Transmission Example Chapter 16
16
Requirements for Multicasting
Exterior Routing Protocols and Multicasting Requirements for Multicasting Router must forward one or more copies of incoming packet Addressing IPv4 uses class D Start 1110 plus 28 bit group id IPv6 uses 8 bit prefix of all 1s, 4 bit flags field, 4 bit scope field 112 bit group id Router must translate between IP multicast address and list of networks containing members of group – router must keep track of membership subscriptions and tree. Multicast addresses may be permanent or dynamic Chapter 16
17
Requirements for Multicasting
Exterior Routing Protocols and Multicasting Requirements for Multicasting Individual hosts may join or leave dynamically Need mechanism to inform routers Routers exchange information on which subnets contain members of groups Routers exchange information to calculate shortest path to each network Need routing protocol and algorithm Routes determined based on source and destination addresses Avoids unnecessary duplication of packets Chapter 16
18
Exterior Routing Protocols and Multicasting
IGMP Operation Host uses IGMP (Internet Group Management Protocol) to make itself know as member of group to other hosts and routers To join, send IGMP membership report message Send to multicast destination of group being joined Routers periodically issue IGMP query To all-hosts multicast address Hosts respond with report message for each group to which it belongs Only one host in group needs to respond to keep group alive Host keeps timer and responds if no other reply heard in time Host sends leave group message Group specific query from router determines if any members remain Note IGMP v1 did not include “leave”: Multicast would be sent until a timer expires Chapter 16
19
Exterior Routing Protocols and Multicasting
IGMP – a protocol designed to help a multicast router identify the hosts in a LAN that are the members of a group. Figure IGMP (v2) message types Chapter 16
20
Exterior Routing Protocols and Multicasting
IGMP – a protocol designed to help a multicast router identify the hosts in a LAN that are the members of a group. From routers to hosts. Asking for group membership info From hosts to routers. Reporting group membership info Chapter 16
21
Reserved Link Local Addresses
Exterior Routing Protocols and Multicasting Reserved Link Local Addresses IANA reserved through for routing protocols on local networks. These packets should NEVER be forwarded and should have TTL of 1. Chapter 16
22
Exterior Routing Protocols and Multicasting
IP multicast address Description Base address (reserved) The All Hosts multicast group that contains all systems on the same network segment The All Routers multicast group that contains all routers on the same network segment The Open Shortest Path First (OSPF) AllSPFRouters address. Used to send Hello packets to all OSPF routers on a network segment The OSPF AllDRouters address. Used to send OSPF routing information to OSPF designated routers on a network segment The RIP version 2 group address. Used to send routing information using the RIP protocol to all RIP v2-aware routers on a network segment EIGRP group address. Used to send EIGRP routing information to all EIGRP routers on a network segment PIM Version 2 (Protocol Independent Multicast) Virtual Router Redundancy Protocol IS-IS over IP IGMP Version 3 (Internet Group Management Protocol) Hot Standby Router Protocol Version 2 Multicast DNS address Link-local Multicast Name Resolution address Network Time Protocol address Cisco Auto-RP-Announce address Cisco Auto-RP-Discovery address H.323 Gatekeeper discovery address Chapter 16
23
Exterior Routing Protocols and Multicasting
Glop Addressing (RFC 2770) RFC 2770 (revised 3180) proposes that /8 be reserved for static Multicast groups for organizations that have a reserved, registered public AS number. That AS # form the 2nd and 3rd Octet of the IP range. Gives an AS owner 255 unique static and global Multicast groups. Example: AS #62010 Decimal = 0xF23A F2 is 2nd octet = 242 3A is 3rd octet = 58 is globally reserved for AS to use Question: what does “GLOP” stands for? Chapter 16
24
Exterior Routing Protocols and Multicasting
Using IGMP, R learns about the list of groups on this LAN. When R receives a packet with a destination multicast address, it checks against the list and determine if the packet should be propagated to the LAN. Chapter 16
25
Exterior Routing Protocols and Multicasting
Four situations of IGMP operations VERSION 1!! (initially) (periodic) (in response to a query) (time out) Router erase after no responses to 3 queries Chapter 16
26
Exterior Routing Protocols and Multicasting
(A host waits for a random period of time before sending out a report) (they hear that the group has been reported) Chapter 16
27
Exterior Routing Protocols and Multicasting
Chapter 16
28
Exterior Routing Protocols and Multicasting
IGMP v2 improvements IGMPv2 Defines a procedure for the election of multicast queriers for each LAN (the router with the lowest IP address). Group-specific query message Leave group message (to lower IGMP’s “leave latency”) IGMPv3 - Enables hosts to listen only to a specified subset of the hosts sending to the group Chapter 16
29
IGMP v2 and V3 improvements
Exterior Routing Protocols and Multicasting IGMP v2 and V3 improvements Chapter 16
30
Multicast Distribution Trees
Exterior Routing Protocols and Multicasting Multicast Distribution Trees Multicast Distribution Trees Control the path which IP Multicast traffic takes through the network in order to deliver traffic to all receivers. Source Trees A source tree with its root at the source and branches forming a spanning tree through the network to the receivers. Also referred to as a shortest path tree (SPT). Remind you of anything??? Chapter 16
31
Exterior Routing Protocols and Multicasting
Multicast Source Tree Advantage of creating the optimal path between the source and the receivers. The routers must maintain path information for each source. Memory consumption: O(S * G) Chapter 16
32
Exterior Routing Protocols and Multicasting
Shared Trees A single common root placed at some chosen point in the network. This shared root is called a Rendezvous Point (RP). Advantage of requiring the minimum amount of state in each router. Memory requirements: O(G) The disadvantage of shared trees is that under certain circumstances the paths between the source and receivers might not be the optimal paths. The placement of the RP must be carefully considered. THIS IS THE PREFERED MANNER to implement Multicasts Chapter 16
33
Exterior Routing Protocols and Multicasting
Multicast Forwarding Multicast Forwarding In unicast routing, a router does not really care about the source address. In multicast routing, the multicast router must determine which direction is upstream (towards the source) and which direction (or directions) is downstream. Chapter 16
34
Exterior Routing Protocols and Multicasting
Multicast Forwarding Reverse Path Forwarding (RPF) An approximation of the source tree. Make use of the existing unicast routing table to determine the upstream and downstream neighbors. A router will only forward a multicast packet if it is received on the upstream interface. This RPF check helps to guarantee that the distribution tree will be loop free. Step 1. Router looks up the source address in the unicast routing table to determine if it has arrived on the interface that is on the reverse path back to the source. Step 2. If packet has arrived on the interface leading back to the source, the RPF check is successful and the packet will be forwarded. Step 3. If the RPF check in 2 fails, the packet is dropped. Chapter 16
35
Exterior Routing Protocols and Multicasting
Chapter 16
36
Exterior Routing Protocols and Multicasting
Enhancement Only forward to your neighbor on a link if the neighbor uses this link to reach the source. How does the node know? For link state routing: easy For distance vector routing Modify to include next hop information in messages; or “Poison reverse” Chapter 16
37
Exterior Routing Protocols and Multicasting
Figure Taxonomy of common multicast routing protocols JP note: Core Based Trees – Never seen live MOSPF (RFC 1584) Extension to OSPF unicast routing protocol Includes multicast information in OSPF link state advertisements to construct multicast distribution trees Group membership LSAs are flooded throughout the OSPF routing domain so MOSPF routers can compute outgoing interface lists Uses Dijkstra algorithm to compute shortest-path tree Separate calculation is required for each (S Net , G) pair (Source, Group address pair) Data-driven – a router construct a tree the first time it sees a (S Net , G) pair. Chapter 16
38
Multicast Routing Protocols
Exterior Routing Protocols and Multicasting Multicast Routing Protocols Dense-Mode (DM) Uses “Push” Model Traffic Flooded throughout network Pruned back where it is unwanted Flood & Prune behavior (typically every 3 minutes) Sparse-Mode (SM) Uses “Pull” Model Traffic sent only to where it is requested Explicit Join behavior Chapter 16
39
DVRMPv3 (Internet Draft)
Exterior Routing Protocols and Multicasting DVRMPv3 (Internet Draft) Dense Mode Protocol Distance vector-based Similar to RIP Infinity = 32 hops Subnet masks in route advertisements DVMRP Routes used: For RPF Check To build Truncated Broadcast Trees (TBTs) Uses special “Poison-Reverse” mechanism Uses Flood and Prune operation Traffic initially flooded down TBT’s TBT branches are pruned where traffic is unwanted. Prunes periodically time-out causing reflooding. Chapter 16
40
Multicast Extension to OSPF (MOSPF)
Exterior Routing Protocols and Multicasting Multicast Extension to OSPF (MOSPF) Enables routing of IP multicast datagrams within single AS Each router uses MOSPF to maintain local group membership information Each router periodically floods this to all routers in area Routers build shortest path spanning tree from a source network to all networks containing members of group (Dijkstra) Takes time, so on demand only Chapter 16
41
Forwarding Multicast Packets
Exterior Routing Protocols and Multicasting Forwarding Multicast Packets If multicast address not recognised, discard If router attaches to a network containing a member of group, transmit copy to that network Consult spanning tree for this source-destination pair and forward to other routers if required Chapter 16
42
Equal Cost Multipath Ambiguities
Exterior Routing Protocols and Multicasting Equal Cost Multipath Ambiguities Dijkstra’ algorithm will include one of multiple equal cost paths Which depends on order of processing nodes For multicast, all routers must have same spanning tree for given source node MOSPF has tiebreaker rule Chapter 16
43
Inter-Area Multicasting
Exterior Routing Protocols and Multicasting Inter-Area Multicasting Multicast groups may contain members from more than one area Routers only know about multicast groups with members in its area Subset of area’s border routers forward group membership information and multicast datagrams between areas Interarea multicast forwarders Chapter 16
44
Inter-AS Multicasting
Exterior Routing Protocols and Multicasting Inter-AS Multicasting Certain boundary routers act as inter-AS multicast forwarders Run an inter-AS multicast routing protocol as well as MOSPF and OSPF MOSPF makes sure they receive all multicast datagrams from within AS Each such router forwards if required Use reverse path routing to determine source Assume datagram from X enters AS at point advertising shortest route back to X Use this to determine path of datagram through MOSPF AS Chapter 16
45
Exterior Routing Protocols and Multicasting
MOSPF (RFC 1584) Extension to OSPF unicast routing protocol Includes multicast information in OSPF LSAs to construct multicast distribution trees Group membership LSAs are flooded throughout the OSPF routing domain so MOSPF routers can compute outgoing interface lists. Uses Dijkstra’s algorithm to compute shortest-path tree for each multicast group. Chapter 16
46
Protocol Independent Multicast (PIM)
Exterior Routing Protocols and Multicasting Protocol Independent Multicast (PIM) Independent of unicast routing protocols Extract required routing information from any unicast routing protocol Work across multiple AS with different unicast routing protocols JP Note: this is usually how we do Multicasting in real life Chapter 16
47
Exterior Routing Protocols and Multicasting
PIM Strategy Flooding is inefficient over large sparse internet Little opportunity for shared spanning trees Focus on providing multiple shortest path unicast routes Two operation modes Dense mode For intra-AS Alternative to MOSPF Sparse mode Inter-AS multicast routing Chapter 16
48
PIM-DM (Internet Draft)
Exterior Routing Protocols and Multicasting PIM-DM (Internet Draft) Protocol Independent Supports all underlying unicast routing protocols including: static, RIP, IGRP, EIGRP, IS-IS, BGP, and OSPF Uses reverse path forwarding Floods network and prunes back based on multicast group membership Assert mechanism used to prune off redundant flows Appropriate for... Smaller implementations and pilot networks Chapter 16
49
Exterior Routing Protocols and Multicasting
PIM-SM (RFC 2362) Supports both source and shared trees Assumes no host wants multicast traffic unless it specifically ask for it Uses a Rendezvous Point (RP) Senders and Receivers “rendezvous” at this point to learn of each others existence. Senders are “registered” with RP by their first-hop router. Receivers are “joined” to the Shared Tree (rooted at the RP) by their local Designated Router (DR). Appropriate for… Wide scale deployment for both densely and sparsely populated groups in the enterprise Optimal choice for all production networks regardless of size and membership density. Chapter 16
50
Exterior Routing Protocols and Multicasting
Sparse Mode A sparse group: Number of networks/domains with group members present significantly small than number of networks/domains in internet Internet spanned by group not sufficiently resource rich to ignore overhead of current multicast schemes Chapter 16
51
Exterior Routing Protocols and Multicasting
Group Routers Group Destination Router Has local group members Router becomes destination router for given group when at least one host joins group Using IGMP or similar Group source router Attaches to network with at least one host transmitting on multicast address via that router Chapter 16
52
Exterior Routing Protocols and Multicasting
PIM Approach For a group, one router designated rendezvous point (RP) Group destination router sends join message towards RP requesting its members be added to group Use unicast shortest path route to send Reverse path becomes part of distribution tree for this RP to listeners in this group Node sending to group sends towards RP using shortest path unicast route Destination router may replace group-shared tree with shortest path tree to any source By sending a join back to source router along unicast shortest path Selection of RP dynamic Not critical Chapter 16
53
Exterior Routing Protocols and Multicasting
Chapter 16
54
Exterior Routing Protocols and Multicasting
MBONE consists of multicast islands connected by tunnels Chapter 16
55
L2 switching implementation Considerations
Exterior Routing Protocols and Multicasting L2 switching implementation Considerations Issue: Default behavior of a l2 switch is to flood multicast to all port on a VLAN. This beats the purpose of a switch (to limit traffic) Solution: Cisco Group Management Protocol (CGMP) and IGMP Snooping Chapter 16
56
Exterior Routing Protocols and Multicasting
CGMP Proprietary Cisco solution Basically uses IGMP information to generate CGMP messages to tell a switch to enable a port for a Mcast group and add CAM entry. Disabled by default Must be configured on switch and routers Cisco recommend that for low end switches JP opinion: pretty poor and would not want to use it. I’d rather just enable Mcast flooding on VLAN and if switch too low end to support such high Mcast, we have architecture issue. Chapter 16
57
Exterior Routing Protocols and Multicasting
IGMP Snooping LAN switch looks at L3 information of multicast packet to see the “join” requests When it sees it: it enables forwarding on the port for that Mcast group Pro: transparent to administrator, enabled by default. Con: can get processor intensive unless you can do snooping in special ASIC (high end switches do that) Chapter 16
58
Exterior Routing Protocols and Multicasting
Sparse or Dense Mode? What is best? It depends! It is a global config for a given VLAN/interface What if you want both? Cisco: Sparse-Dense mode In this case it is by default Dense but if a group gets an RP, switch to Sparse Recommendation: Sparse mode Chapter 16
59
Enabling and configuring Mcast
Exterior Routing Protocols and Multicasting Enabling and configuring Mcast Global command: Ip multicast-routing Per interface/VLAN: Ip pim {sparse-mode; dense-mode; sparse-dense-mode} If you don’t know: use sparse-dense will work with all. Chapter 16
60
Troubleshooting Mcast
Exterior Routing Protocols and Multicasting Troubleshooting Mcast … Even more fun than troubleshooting VPN problems! (if you want an unforgettable life experience: try putting Multicast traffic in a GRE tunnel over an IPSEC VPN! You only have one life: you got to try it!) First make sure end-to-end unicast routing is fine. Then consider the mode and signaling used to propagate Mcast groups. Chapter 16
61
Troubleshooting Mcast
Exterior Routing Protocols and Multicasting Troubleshooting Mcast Different aspects to check: Source packet flow - At upstream router: “show ip igmp groups interface-name” “show ip igmp Interface interface-name” Check Multicast Signaling: Show ip pim neighbor Show ip pim rp mapping Show ip rpf <source> (to make sure RPF is correct – alternatively look at routing table) Look at active network mroutes: Show ip mroute active Show ip mroute count Check receiver: Advanced CLI tool: Mstat mtrace Chapter 16
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.