Multicast Summary Why Using Multicast in your network? • Better

advertisement
Multicast Summary
Why Using Multicast in your network?
• Better bandwidth utilization
• Less router/host processing
• Used when received address unknown
• Used to deliver a fee to a group of receivers
How does the Multicast work?
• Send a copy of a packet addressed to a group of receivers (multicast group)
• Multicast Routers replicate and forward the packet where the receivers might exist
• Receivers express their interest in multicast traffic by sending control messages to the
routers
Multicast Advantages
• Enhanced Efficiency
• Optimize Performance
• Distributed Applications
• Foundation for a whole range of new services
Multicast Disadvantages
• Multicast is UDP based
• Best Effort Delivery
• No congestion avoidance
• Duplicates
• Out of sequence delivery
• Reliability
• Security
IP Applications
• One to Many: The single source send to a multicast group , typically there is no
feedback from the receivers and audio/video distribution
• Many to Many
• Many to One
Example of Multicast Applications:
• SDR: Session Directory is a tool that participants to view advertised multicast sessions
and launch appropriate multicast applications to join an existing session.
• VAT(Video Audio Tool): Allow Audio Conferencing to multiple users
• VIC(Video Conferencing): Video Conferencing allow multiple participants to share the
video and audio
• WB (White Board): Allow multiples users to share the text and graphical environment.
ITU/RFC Standards
• H.321 – Multimedia over ISDN
• H.323 – Multimedia over LAN
• H.324 – Multimedia over Analog
• G.7xx – Voice Codecs
• H.26x – Video Codecs
• T.12x – Whiteboarding
• RFC 1889/1890 – RTP (Real Time Protocol) Provide the sequence and timestamping
and syncronization.
• CRTP use about 5% of control
Multicast Network
• First Hop
• Last Hop
• Network functions:
1.
2.
3.
4.
Build appropriate tree
Forward according to the tree
Prevent loop
Maintain distribution tree and state of leaf segment
• Multicast Source
• Multicast Receiver
Multicast Protocols
• Source doesn’t have protocol
• Routing Protocol Intradomain: DMVRP, PIM, MOSPF, CBT
• Routing Protocol Interdomain: MBGP, MSDP
• Receiver use IGMP (Internet Group Management Protocol)
IP Multicast Addressing
• Range 224.0.0.0 through 239.255.255.255
• Reserved use by IANA 224.0.0.0 through 224.0.0.255







224.0.0.1 – All Multicast systems on subnet (All hosts)
224.0.0.2 – All routers on subnet (All Multicast Routers)
224.0.0.4 – All DMVRP routers
224.0.0.13 – All PIM v2 routers
224.0.0.5 – All OSPF routers
224.0.0.6 – All OSPF DR
224.0.0.9 and 224.0.0.10 used by unicast routing protocols
• Global scope addresses are 224.0.1.0 through 238.255.255.255
• Administrative and private domain addresses are 239.0.0.0 through 239.255.255.255
• Static Group Addressing for Interdomain Multicast
233.x.x.0 – 233.x.x.255 (Where the AS number is inserted in the middle of the 2 octets.
233/8 where the AS is inserted in the 2 middle octets.
The final octet is available for group assignment
Example of [FONT='Times New Roman','serif']Glop bit representation[/FONT] in
AS 789
[FONT='Times New Roman','serif']So 0×315 is AS 789[/FONT]
[FONT='Times New Roman','serif']Our Multicast Range is from 233.3.21.001 to
233.3.21.254[/FONT]
[FONT='Times New Roman','serif']03 in hex == 2 in dec[/FONT]
[FONT='Times New Roman','serif']15 in hex == 21 in dec[/FONT]
[FONT='Times New Roman','serif']The address used as the router ID would be:
233.3.21.0/24[/FONT]
[FONT='Times New Roman','serif']The IANA should allocate 233/8. The remaining 24
bits will be administered as described in RFC1797:[/FONT]
[FONT='Times New Roman','serif']Consider, for exampe, AS 5662. Written in binary,
left padded with 0s, we get 0001011000011110 Mapping the high order octet to the
second octet of the address, and the low order octect to the the third octet, we get
233.22.30/24.[/FONT]
[FONT='Times New Roman','serif']RFC 2770 proposes that the 233.0.0.0/8 address
range be reserved for statically defined addresses by organizations that already have an
AS number reserved. The AS number of the domain is embedded into the second and
third octets of the 233.0.0.0/8 range.[/FONT]
[FONT='Times New Roman','serif']For example, the AS 62010 is written in hex as F23A.
Separating out the two octets F2 and 3A, we get 242 and 58 in decimal. This would give
us a subnet of 233.242.58.0 that would be globally reserved for AS 62010 to use.
[/FONT]
• Source Specific Multicast Addressing Group address range for interdomain :
232.0.0.0/8
• Dynamic Group Address Assignment


SDR
MASC (Multicast Address Set Claim)
Multicast Sessions – Directory Services
• Learning about Multicast Sessions



The application may join predefined group
Some type of directory services
Some URL received by e-mail for example
• Mbone



Use the SDR at the sender and receiver side.
The SDR at the sender side is used to create a new session to avoid address
conflicts.
The SRD at the receiver side is used to learn about available sessions and groups
• Methods of Session Announced





SAP
SIP
RTSP
MIME
HTTP
Multicast BASICS
• Multicast Forwarding , the Multicast Routing is concern where the packet come from.
• RPF (Reverse Path Forward) – The packet is never sent back out to the RPF interface.
• TTL Threshold – If the TTL is bigger than the current TTL coming, the packet is
dropped.
• Scoping Address – If the packet doesn’t match the address, the packet it isn’t passed
either way.
Multicast Distribution Trees and Protocol Types
Distribution:


SPT (Shortest Path Trees) : Notation (S,G) S=IP address of Sender, G=Multicast
Group (The tree is per source)
Share Distribution Tree ( also called Rendezvous Point - RP ) : Notation (*,G)
*=any source, G=Multicast Group
Protocol:


Dense Mode : Push Model is implemented. Initial traffic flooded to all Branches,
and Branches without receivers get pruned and after timeout the traffic is flooded
again.
Sparse Mode : Pull Model is implemented. An explicit JOIN Model. The last
router pull the traffic from the “meeting point”(RP) or from the Source. Branches
without receivers never get traffic.
Multicast Protocols
Intradomain Multicast routing Protocols:
PIM DENSE MODE
• Routing Protocol Independent
• Flood and Prune Mechanism
• Appropriate for small implementation and pilot networks
• PIM-DM Assert Mechanism is used to shut off the duplicate flows onto the same
network
• Easy configuration
• Complex Assert Mechanism
• Inefficient flood and prune mechanism (time out of prune is 3 minutes)
PIM SPARSE MODE
• Protocol Independent
• Support both Source and Share Trees
• Based on pull model
• Use RP (Rendezvous Point)
• Bi-directional mode
• Traffic only sent down joined branches
• Basis for interdomain Multicast Routing
• Defined in RFC2362
DVMRP (Distance Vector Multicast Routing Protocol)
• Similar to RIP
• Infinity = 32 hops
• Subnet Mask is route Advertisement
• Push Model
• Uses DVMRP route table for RPF check
• The IGMP type code for DVMRP is 0×13
• The DVMRP is carried in the IGMP v.2
• The DVMRP build the Source Tree from the Truncated Broadcast Tree (TBT)
• The definition of TBT : The TBT represent the shortest path rooted from the source to
all routers in the network.
• When we have two path to get in the same network, the lowest IP Address will tie break
and avoid duplicated path.
• The PRUNE also is used to select the best path when we have two ways or when we
don’t have any traffic from the receivers.
- Considerations:





Slow convergence
Big multicast Routing Table
Max number of hops 32
Flood and prune behavior
Scaling problems
MOSPF (Multicast Extension of OSPF)
• The MOSPF use the new type of OSPF LSA called Group-Membership LSA.
• The Group-Membership LSA does not travel between areas . Intra Area Traffic.
• Inter Area Traffic
- Considerations:





OSPF Only
Multicast traffic not flooded everywhere
Scaling problem (run the Dijkstra Algorithm in every multicast)
Not appropriate for large number of senders
Not appropriate for dynamic group membership
CBT (Core Based Trees)
• Bi directional
• Efficiency using tree
• Interoperate with DVMRP
• Core can became a bottle neck
Interdomain Multicast routing Protocols:
• MBGP (Multicast BGP)
• MSDP (Multicast Source Discovery Protocol) is used to distribute the information on
the existence of active sources inside one PIM-SM domain to other domain.
Reporting Group Membership
• IGMP v1 RFC 1112 08/89 Many problems
• IGMP v2 RFC 2236 11/97
IGMP v1
• Query send the 224.0.0.1 to all hosts every 60 seconds
• Report sent by host to join a specific group.
• Type of IGMP packet could be Query 0×1 and Report 0×2
• Report Suppression is used to save bandwidth, it means that only one station per
Multicast group send a report and the other stations suppress their report to answer the
query.
• Leave IGMP v1 – There is no special method to leave the Multicast Group, we have
only to have to silence the host or no send the report for the query and the group timeout.
IGMPv1 Vs IGMPv2
• Group Specific Query: This version allows the IGMP to query only the group instead
query all hosts
• Leave Group Message: Allow the hosts to tell the router that they are leaving the group.
• Query Election Mechanism: An IGMP query router is elected and the election is based
on the lowest IP address. Only Query Router send the Queries
• Query Internal Response Time: The response time is sent together with the query in
order to report know the time the host have before the query timeout.
• The IGMPv2 is Backward compatible to IGMPv1
• IGMPv2 Packet: 0×11 Membership Query, 0×12 Membership Report IGMPv1, 0×16
Membership Report IGMPv2
• Router IGMPv1 and Host IGMPv2: The host MUST send IGMPv1 report in order to
the Router understand.
• Router IGMPv2 and Host IGMPv1: The router MUST be able to recognize that there
are IGMPv1 Hosts, the Router MUST ignore any leave process for Group Specific
Query, because the Host will not understand the IGMPv2 timeout sent by the router
(Must set the time out Timer as nothing)
• All the routers in the same segment MUST run the same IGMP version, and the default
IGMP version of the IOS is version 2.
IGMPv3 is draft standard
• Enable host to listen only to a specific send group
• Allow the routers in Sparse Mode to build source distribution trees directly (avoiding
RPs)
IP Multicasting Layer 2
• The mapping of IP Multicast to FDDI or Ethernet MAC address (01-00-5e) is mapping
the lowest 23 bits and we lost 5 bits, because we have 28 bits in the Multicast mask.
• 32:1 Overlapping
• The mapping of IP Multicast to Token Ring Functional Address (c0-00-00-04-00-00) or
Broadcast Address (ff-ff-ff-ff-ff-ff)
Layer 2 Frame Switching Solution
• CGMP (Cisco Group Management Protocol) : Simple, Proprietary , Run between
Router and Switches, and as soon the Router receive the IGMP, the router inform the
Switch.
• IGMP Snooping : Complex, Standardized, proprietary implementations – Switches
only. The Switch build the MAC table by intercepting the IGMP messages
• GMRP (GARP Multicast Registration Protocol) : Standardized, not widely deployed –
Switches and hosts . IEEE 802.1p GARP
• RGMP (Router-port Group Management Protocol) : Simple, proprietary, routers and
switches
PIM DENSE MODE
• Graft Message: Revert the Prune command, instead wait until next flood
• Assert Message: Which router should continue forward in the LAN or should stop.
• Prune Message: When data arrives in a non RPF, the prune message is sent to shut off
the flow off traffic.
• PIM V2 Packet use the IP TYPE Packet 103





PIM Packet Header
PIM Hello are sent every 30 seconds to All PIM Routers (224.0.0.13)
PIM Join/Prune
PIM Graft/Graft Ack
PIM Assert
• Mayor components of (S,G) entry


Incoming interface (non RPF)
List of Outgoing Interface (OIL)
Meaning of T, P, C and L flags?
• T = SPT
• P = Pruned
• C = Direct connected
• L = Router is a Group Member
Frequently Asked Questions
Q1: What is the difference between pruning point to point link compare to multi access
network?
A1: P2P the prune take effect immediately and multi-access take 3 seconds per router
Q2: Why do I need the GRAFT Ack packet?
A2: If we do not receive the ACK,we will not know if the sender stop send or if the
GRAFT packet was lost
Q3: What is the purpose of the State Refresh in PIM DM who originate it?
A3: The state refresh message originated by first hop sender allows routers to eliminate
periodic reflood in case of no group members in the network.
How to check PIM Configuration : show ip pim interface, show ip pim neighbors and
mrinfo
How to check the path toward : show ip rpf
How to check which groups are in the leaf router: show ip igmp groups
How to check the multicast forward state: show ip mroute
How to monitor PIM activities: debug ip pim
How to debug multicast forward state: debug ip mrouting
Which debug is needed take care to enable in high volume traffic: debug ip mpacket
PIM SPARSE MODE PROTOCOL RFC2362
• PIM SM v2 Packets:





PIM Hello every 30 seconds (224.0.0.13)
PIM Join/Prune
PIM Register/Register-Stop
Rendezvous Point Announced
RP reachability (Cisco)
• B- Directional PIM Mode for any number sources sources Only one (*,G) is created in
this mode.
How to check if the Multicast is sparse or dense mode? Show ip mroute
Debug RP? Show ip pim rp, show ip pim rp mapping , debug ip pim
The RP announcement: Manually Configured, Auto-RP and Bootstrap Mechanism
RP and Distribution of RP
• Manually Configured the RP
• Auto RP


Used in PIM v1, Cisco proprietary implementation which allow redundancy RP
and only require configuration in the Candidates RPs.
The Auto RP has two parts: RPs Candidates and Mapping Agents
• PIM v2 Bootstrap Mechanism
• PIM v2 Candidates : A single BSR (Boot Strap Router) is elected and can have
multiples backups. Sent RP-Announce-Interval every 60 seconds.
• The RPs candidate send the message to the BSR (every 60 seconds) and the BSR
maintain the update off all C-RPs. The RPs candidate also learn the IP address of the
BSR
• Debug PIM BSR: show ip pim bsr, debug ip pim bsr, show ip pim rp mapping, show ip
pim bsr-router
• To prevent the wrong Router to become an accept-rp function is used. This function
verify the join messages, check groups and RP combination against Access-List.
• When there is no known RP in the group, the group MUST operate in dense mode.
• A to decrease the load on the RPs:



Increasing the CPU and Memory
Switching to SPT, prevent the traffic going to the RP
Using Anycast-RP , mechanism to share the load between logicalRPs and several
physical RPs. This mechanism can be used in manual configuration of the RPs
Auto RP Mechanism


It is recommended to use the sparse mode in this mode
The C-RP with higher IP address is selected as actual RP.


If the Mapping Agent is not receiving the C-RP advertisements, probably the
problem is that the TTL is too low from the C-RP to reach the Mapping agent
The deny all statement is to force all groups to operate in dense mode even if
some C-RPs announce the group as sparse.
Bootstrap Mechanism




The highest IP address is used to select the BSR candidate, when all BSRs have
the same priority.
The C-RPs learn from the active BSR and send their candidacy information in
unicast manner to the active BSR.
In case of failure, the others C-RP can assume.
The same hash mask length has to be configured throughout the network to ensure
the same RP is selected
Controlling RP Information




The Auto-RP group must operate in dense mode and the value of the TTL has to
be set to the value at least equal to the diameter of the domain. To prevent the
Auto-RP from leaking outside the domain the ip multicast boundary has to be
configured for Auto-RP.
The BSR messages are stopped by ip pim bsr-border domain.
IP PIM ACCEPT-RP command can have 3 options: to control the group mode, to
filter join messages and to filter register messages
The IP PIM ACCEPT REGISTER command is used on the RP to prevent the first
hop router to register on the RP
Download