Title: IP%20Multicasting
1IP Multicasting
- Part of this presentation based on Cisco,
Forouzan TCP/IP textbook, Anthony Chung, Dale
Buchholz.
2Topics
- 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)
3Practical 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.
4Multicasting 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 01005E IANA
defined range available - 0100.5E00.0000 to 0100.5E7F.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
5IP 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
6MAC 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.5E01.0101
- 224.1.1.1
- 224.129.1.1
- 225.1.1.1
- 225.129.1.1
-
- 238.1.1.1
- 238.129.1.1
- 239.1.1.1
- 239.129.1.1
7Multicast Strategies across routers
8Multicast Strategies across routers
- Broadcast
- Multiple Unicasts
- True Multicast
9Broadcast
- 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
10S
Multicast Strategies Broadcast send one copy to
each network (not knowing which network has
members)
11Multiple 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)
12S
Multicast Strategies Multiple Unicast send one
copy to each network where there is a member.
13True 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
14Multicast Strategies Multicast along a spanning
tree (A sub-graph that reaches all nodes without
cycles) to networks with members only
S
15Multicast Transmission Example
16Requirements 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
17Requirements 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
18IGMP 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
19IGMP a protocol designed to help a multicast
router identify the hosts in a LAN that are the
members of a group.
Figure 10.2 IGMP (v2) message types
20IGMP 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
21Reserved Link Local Addresses
- IANA reserved 224.0.0.0 through 224.0.0.255 for
routing protocols on local networks. These
packets should NEVER be forwarded and should have
TTL of 1.
22IP multicast address Description
224.0.0.0 Base address (reserved)
224.0.0.1 The All Hosts multicast group that contains all systems on the same network segment
224.0.0.2 The All Routers multicast group that contains all routers on the same network segment
224.0.0.5 The Open Shortest Path First (OSPF) AllSPFRouters address. Used to send Hello packets to all OSPF routers on a network segment
224.0.0.6 The OSPF AllDRouters address. Used to send OSPF routing information to OSPF designated routers on a network segment
224.0.0.9 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
224.0.0.10 EIGRP group address. Used to send EIGRP routing information to all EIGRP routers on a network segment
224.0.0.13 PIM Version 2 (Protocol Independent Multicast)
224.0.0.18 Virtual Router Redundancy Protocol
224.0.0.19 - 21 IS-IS over IP
224.0.0.22 IGMP Version 3 (Internet Group Management Protocol)
224.0.0.102 Hot Standby Router Protocol Version 2
224.0.0.251 Multicast DNS address
224.0.0.252 Link-local Multicast Name Resolution address
224.0.1.1 Network Time Protocol address
224.0.1.39 Cisco Auto-RP-Announce address
224.0.1.40 Cisco Auto-RP-Discovery address
224.0.1.41 H.323 Gatekeeper discovery address
23Glop Addressing (RFC 2770)
- RFC 2770 (revised 3180) proposes that 233.0.0.0/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 62010 0xF23A
- F2 is 2nd octet 242
- 3A is 3rd octet 58
- 233.242.58.0 is globally reserved for AS 62010 to
use - Question what does GLOP stands for?
24Using 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.
25Four situations of IGMP operations VERSION 1!!
(initially)
(periodic)
(in response to a query)
(time out) Router erase after no responses to 3
queries
26(A host waits for a random period of time before
sending out a report)
(they hear that the group has been reported)
27(No Transcript)
28IGMP 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 IGMPs leave
latency) - IGMPv3
- - Enables hosts to listen only to a specified
subset of the hosts sending to the group
29IGMP v2 and V3 improvements
30Multicast 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??? ?
31Multicast 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)
32- 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
33Multicast 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.
34Multicast 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.
35(No Transcript)
36- 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
37Figure 15.7 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.
38Multicast 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
39DVRMPv3 (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 TBTs
- TBT branches are pruned where traffic is
unwanted. - Prunes periodically time-out causing reflooding.
40Multicast 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
41Forwarding 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
42Equal 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
43Inter-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 areas border routers forward group
membership information and multicast datagrams
between areas - Interarea multicast forwarders
44Inter-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
45MOSPF (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 Dijkstras algorithm to compute
shortest-path tree for each multicast group.
46Protocol 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 ?
47PIM 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
48PIM-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
49PIM-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.
50Sparse 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
51Group 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
52PIM 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
53(No Transcript)
54MBONE consists of multicast islands connected by
tunnels
55L2 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
56CGMP
- 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. Id rather just enable Mcast flooding on VLAN
and if switch too low end to support such high
Mcast, we have architecture issue.
57IGMP 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)
58Sparse 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
59Enabling and configuring Mcast
- Global command
- Ip multicast-routing
- Per interface/VLAN
- Ip pim sparse-mode dense-mode
sparse-dense-mode - If you dont know use sparse-dense will work
with all.
60Troubleshooting 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.
61Troubleshooting 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 ltsourcegt (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
- show ip igmp groups interface-name
- show ip igmp Interface interface-name
- Advanced CLI tool
- Mstat
- mtrace