Posted on January 8, 2014
Introduction to IP Multicasting
Basic Definition: “Sending a message from a single source to a selected multiple destinations across a Layer 3 network in one data stream”
Problem with Unicast and Broadcast Networks
- Unicast would send one copy of each packet to every group member’s unicast address. With a few receivers this isn’t an issue, but try scaling to 1000′s of users. Your bandwidth connections would quickly become oversaturated
- Broadcast requires the transmission of the data only once, but it has some serious issues! First, if receivers are in different broadcast domains from the sender, routers will need to forward the broadcasts. However this can lead to wasted bandwidth as well as an increase in processing load on all the network devices. Obviously this is not ideal if only a small group of hosts needs to receive that broadcast packet.
Although Multicast offers many advantages , it also has some disadvantages. Multicast is UDP based and hence unreliable. Lack of TCP windowing can result in network congestion. Some multicast multicast protocol mechanisms occasionally generate duplicate packets and deliver packets out of order.
Requirements for supporting multicast across a routed network
Multicast IP Addresses
A multicast address used as destination address on an IP packet signifies that the packet is carrying traffic for a specific multicast application. A multicast address is never used as a source address.
Multicast Address Ranges
- Permanent Groups: 188.8.131.52 – 184.108.40.206
- There are two ranges in permanent multicast addresses. 220.127.116.11 through 18.104.22.168 is used for local (not routed) purposes. Think routing protocol multicasts. The other range 22.214.171.124 through 126.96.36.199 is used when the packets should be routed.
- Source-Specific Multicast (SSM): 188.8.131.52 – 184.108.40.206
- GLOP Addressing: 220.127.116.11 – 18.104.22.168
- Can be used by anyone who owns a registered ASN to create 256 global multicast addresses that can be owned and used by the entity
- Private Multicast addresses: 22.214.171.124 – 126.96.36.199
- Allowed for use in private multicast domains.
- Transient Multicast Addresses
- Remaining multicast addresses are referred to as this. These address are not permanently assigned to any application. Any enterprise can use these multicast addresses without requiring any registration or permission from IANA, but the enterprise is expected to release these multicast addresses after their use.
Manage Distribution of Multicast Traffic with IGMP
When a router receives a multicast packet it needs to make a decision about where to forward that multicast. A mechanism is required for hosts and a local router to communicate with eachother. IGMP was designed to enable communication between a router and connected hosts.
Switches also need to know on which ports they should forward traffic. By default, a switch will flood a multicast throughout the VLAN. The reason for this is because a switch will never find a multicast MAC in its CAM table. This is because a multicast MAC is never used as a source address. This of course defeats the purpose of using multicast.
CGMP, IGMP snooping/IGMP, and RGMP are tools used to optimize multicast forwarding logic by solving the above issues.
***RGMP has been removed from the CCIEv5 blueprint***
Joining a Group
Before a host can receive any multicast traffic, a multicast application must be installed and running on that host. The process of installing and running a multicast application is referred to as launching an application or joining a multicast group. After a host joins a group, the host software calculates the multicast MAC address, and its NIC then starts listening to the multicast MAC address, in addition to its BIA.
Internet Group Management Protocol
IGMP packets pass only over LAN and are not forwarded by routers, due to their TTL values. IGMP messages are sent in IP datagrams with IP protocol number 2, with the IP TTL set to 1.
Two Goals of IGMP
- To inform a local multicast router that a host wants to receive multicast traffic for a specific group
- To inform local multicast routers that a host wants to leave a multicast group
IGMP Version 2
- Host Membership Queries – these messages are sent out LAN interfaces to determine whether a multicast group member is on any interface. Routers send this message every Query Interval, by default 60 seconds.
- Host Membership Reports – these messages are send by hosts in response to IGMP queries and communicate to a local router for which multicast group they want to receive traffic.
- Leave Group and Group Specific Query Messages - when a host leaves a group, it sends an IGMPv2 Leave message. When an IGMPv2 router receives a Leave message, it immediately sends a Group-Specific Query for that group. The Group-Specific Query asks only whether any remaining hosts still want to receive packets for that single multicast group. As a result, the router quickly knows whether to continue to forward traffic for that multicast group.
- When IGMPv2 routers start, they each send an IGMPv2 General Query message to the well-known All Hosts group 188.8.131.52. When an IGMPv2 router receives a General Query message, it compares the source IP address of the General Query message with its own interface address. The router with the lowest IP address on the subnet is elected as the IGMP querier. The nonquerier routers do not send queries but monitor how frequently the querier is sending general IGMPv2 Queries. When the elected querier does not send a query for two consecutive Query Intervals plus one half of one Query Response Interval, it is considered to be dead, and a new querier is elected.
- Query Interval – 125 seconds – time between General Queries sent by a router
- Query Response Interval – 10 seconds – maximum response time for hosts to respond to the periodic general queries.
- Group Membership Interval – 260 seconds – if a router does not receive an IGMP Report, the router concludes that there are no more members of the group on the subnet
- Other Querier Present Interval – 255 seconds – time period during which, if the IGMPv2 nonquerier routers do not receive an IGMP Query from the querier router, the nonquerier routers conclude that the querier is dead.
- Last Member Query Interval – 1 second – maximum response time inserted by IGMPv2 routers into the Group-Specific Queries and the time period between two consecutive Group-Specific Queries sent for the same group.
IGMP Version 3
- To use the new features of IGMPv3, last-hop routers have to be updated, host operating systems have to be modified, and applications have to be specially designed and written.
- IGMPv3 allows a host to filter incoming traffic based on the source IP addresses from which it is willing to receive packets, through a feature called Source-Specific Multicast (SSM).