Multicast (multicast) transfer:
A point-to-multipoint network connection is implemented between the sender and each receiver.
If a sender transmits the same data to multiple receivers at the same time, only one copy of the same packet is copied. It improves the efficiency of data transfer. Reduces the likelihood of congestion in the backbone network.
The differences between unicast, multicast, and broadcast can be seen:
- Unicast (unicast): refers to the packet in the transmission of the computer network, the destination address is a single target transmission mode. It is one of the most widely used Web applications today, and most of the network protocols or services they use are mostly unicast transmissions, such as all TCP-based protocols.
- Multicast (multicast): Also known as multicast, multicast, or multicast. means to pass information to a set of destination addresses at the same time. It is most efficient to use policies because messages are passed only once on each network link, and the message is copied only when the link is forked.
- Broadcast (broadcast): Refers to the packet in the computer network transmission, the destination address is a network of all devices in a transmission mode. In fact, the "all devices" described here are also confined to a range called "Broadcast domains".
Determine if the NIC supports multicast
When running Ifconfig on Linux, broadcast and multicast are supported if the NIC information contains up broadcast RUNNING multicast.
Reference: Http://colobu.com/2014/10/21/udp-and-unicast-multicast-broadcast-anycast
Multicast IP Address
A multicast IP address is used to identify an IP multicast group.
The IANA (Internet assigned number Authority) assigns the Class D address space to IP multicast, ranging from 224.0.0.0 to 239.255.255.255.
- 224.0.0.0~224.0.0.255 for reserved multicast address (Permanent group address), address 224.0.0.0 reserved do not allocate, other address for routing protocol use;
- 224.0.1.0~224.0.1.255 is a public multicast address that can be used for the Internet;
- 224.0.2.0~238.255.255.255 for the user's available multicast address (Temporary group address), the whole network is valid;
- The 239.0.0.0~239.255.255.255 manages the multicast address locally and is valid only on a specific local scope.
Reference: http://baike.baidu.com/view/492256.htm
Permanent multicast Address:
- 224.0.0.0 Base Address (reserved)
- 224.0.0.1 Address of all hosts (including all router addresses)
- 224.0.0.2 address of all multicast routers
- 224.0.0.3 not assigned
- 224.0.0.4 DVMRP Router
- 224.0.0.5 all OSPF routers
- 224.0.0.6 OSPF DR/BDR
- 224.0.0.7 St Router
- 224.0.0.8 St Host
- 224.0.0.9 rip-2 Router
- 224.0.0.10 EIGRP Router
- 224.0.0.11 Activity Agent
- 224.0.0.12 DHCP server/relay Agent
- 224.0.0.13 All PIM routers
- 224.0.0.14 RSVP Package
- 224.0.0.15 All CBT Routers
- 224.0.0.16 Specifying SBM
- 224.0.0.17 All Sbms
- 224.0.0.18 VRRP
When the Ethernet transmits the unicast IP message, the destination MAC address uses the recipient's MAC address. However, in the transmission group broadcast, the transmission is no longer a specific recipient, but a member of the group is indeterminate, so the use of multicast MAC address.
The multicast MAC address is corresponding to the multicast IP address. The IANA (Internet assigned number Authority) stipulates that a high 24bit multicast MAC address is a low 23bit of 0X01005E,MAC addresses for a multicast IP address of low 23bit.
Since only 23 bits in the last 28 bits of the IP multicast address are mapped to the MAC address, there will be 32 IP multicast addresses mapped to the same MAC address.
Examples of Java multicast
MulticastSocket is a (UDP) Datagramsocket that has additional functionality to join the "group" of other multicast hosts on the Internet.
You can join a multicast group by first creating the MulticastSocket with the required ports, and then calling the Joingroup (inetaddress groupaddr) method:
The example code is taken from:
http://colobu.com/2014/10/21/udp-and-unicast-multicast-broadcast-anycast/#0-tsina-1-67000-397232819ff9a47a7b7e80a40613cfe1
Through Wireshark monitoring
To monitor multicast requests through Wireshark, you can use the following filter conditions
Multicast (multicast) transfer