Hitachi Corporation
I will first give you the overview of IPv6 multicast. I will explain its difference from unicast, its advantages and disadvantages. Then I will talk about multicast components such as transmission nodes, routers, ethernet, and receiving nodes, as well as multicast address format.
Multicast Overview
Multicast is the technology to send packets with a special destination address called "group address" to multiple nodes participating in this group. Unlike repeated unicast transmission of packets to multiple nodes, sending node needs to send multicast packet only once to reach multiple destinations (Figure 1).

Figure 1 Difference between multicast and unicast
Compared with repeated unicast transmission, multicast transmission has the following advantages:
- Packet transmission needs to be done only once.
Sending node needs to send packets only once. It leads to reduced load for sending node and network. It also contributes to realtime-ness of transmitted data. - Easier address management
Sending node only needs to know the group address. It can conduct communication without knowing all the addresses of receiving nodes.
- It can't be applied for TCP communications
But we can realize something close to TCP communications by packet loss prevention technology such as Forward Error Correction (FEC) or bandwidth management technology such as Datagram Congestion Control Protocol (DCCP). - All routers need to support multicast
All routers in the multicast network needs to be able to relay multicast packets.
Multicast Components
Multicast communication is composed of sending node, receiving nodes and routers in between (Figure 2). Although not necessary, Ethernet plays an important role in multicast.

Figure 2 Multicast components and protocols
-Sending Node
Sending node transmits IP packets to networks just like normal unicast communication. The only difference that it uses group address, a special address for multicast, as destination address. Details of IPv6 multicast address is explained later.
-Router
Upon receiving multicast packet from sending node, the router outputs the packet to all interfaces that reaches receiving nodes. Multiple copies are made from one packet, for output to more than one interface.When routers relay multicast packets, it refers to multicast route table (Figure 3) to determine output interfaces.
Multicast route table is different from unicast route table, in that it contains information of sending node as well as destination group address. It is because packets to the same multicast address can be output to different route, depending on the sending node.
Figure 3 Multicast route table
Routers use two protocols to build multicast route table. One is router-host protocol, which is used for routers to learn multicast request from receiving nodes. The other is router-router protocol, with which routers exchange multicast requests obtained with router-host protocol, in order to determine how to relay multicast packets. Details of these protocols are explained in PART2.
-Ethernet
When routers output packets to Ethernet interfaces, characteristics of Ethernet media offers significant advantages to multicast communications. If the destination address of an Ethernet frame has a physical address in which 6th bit of the first octet is ON, then the frame is broadcast to all nodes on the same Ethernet network, regardless of higher-layer protocols (Figure 4).

Figure 4 Broadcast on Ethernet
-Receiving Node
Receiving node considers all packets to multicast group address it participates as destined to itself, and receives them.
Receiving node uses host-router protocol to send multicast join request for its own address to the network, when it wants to start receiving packets to a specific multicast group. With multicast, unlike unicast, receiving node needs to receive packets with destination address that is different from its own address. Therefore, receiving terminals need to send join request to the network before starting to receive multicast packets.
IPv6 Multicast Address
Multicast address is an IP address to specify a multicast group. In IPv6, upper 8 bits of multicast address are all 1 (FF00::/8).
Figure 5 is the address format of FF00::/8.

Figure 5 IPv6 multicast format
9th to 12th bit is a flag field to show the meaning of multicast address. Flag bit value defines group ID field format.
If T=0, the address is fixed multicast address allocated by IANA. A good example is ff02::1 (all-nodes link-local multicast address).
If P=1, prefix information (provider-owned address block) of the network which allocated this multicast address is embedded at the front part of group ID field. Figure 6 shows how the information is embedded. In this case, T=1 without exception, because different network means different address.

Figure 6 IPv6 Multicast address format when P=1
13th to 16th bit is called scope. This is a field to show the valid scope of a specific multicast address. For example, 2 (link-local scope) means that this multicast address is valid only on the local link. Therefore, link-local multicast address applied to different link can be considered different group although the multicast address may be the same (Figure 7).

Figure 7 Multicast address scope
References on multicast overview:
[1]draft-ietf-dccp-spec-06.txt Datagram Congestion Control Protocol(DCCP)
[2]RFC3452 Forward Error Correction(FEC)Building Block
[3]RFC3306 Unicast-Prefix-based IPv6 Multicast Addresses
[4]RFC3307 Allocation Guidelines for IPv6 Multicast Addresses
[5]RFC3513 Internet Protocol Version 6(IPv6)Addressing Architecture
この記事のトラックバックURL
http://www.ipv6style.jp/trackback/525


