Network Broadcasting and Multicasting
Network interface cards are usually programmed to listen for three types of messages. They are messages sent to their specific address, messages broadcast to all NICs, and messages that qualify as a multicast for the specific card. There are three types of addressing:
- Unicast - A transmission to a single interface card.
- Multicast - A transmission to a group of interface cards on the network.
- Broadcast - A transmission to all interface cards on the network. RFC 919 and 922 describe IP broadcast datagrams.
- Limited Broadcast - Sent to all NICs on the some network segment as the source NIC. It is represented with the 255.255.255.255 TCP/IP address. This broadcast is not forwarded by routers so will only appear on one network segment.
- Direct broadcast - Sent to all hosts on a network. Routers may be configured to forward directed broadcasts on large networks. For network 192.168.0.0, the broadcast is 192.168.255.255.
All other messages are filtered out by the NIC software unless the card is programmed to operate in promiscuous mode to perform network sniffing.
The types of broadcasting uses on TCP/IP that I know about are:
- ARP on IP
- DHCP on IP
- Routing table updates. Broadcasts sent by routers with routing table updates to other routers.
The ethernet broadcast address in hexadecimal is FF:FF:FF:FF:FF:FF. There are several types of IP broadcasting:
- The IP limited broadcast address is 255.255.255.255. This broadcast is not forwarded by a router.
- A broadcast directed to a network has a form of x.255.255.255 where x is the address of a Class A network. This broadcast may be forwarded depending on the router program.
- A broadcast sent to all subnetworks. If the broadcast is 10.1.255.255 on network 10.1.0.0 and the network is subnetted with multiple networks 10.1.x.0, then the broadcast is a broadcast to all subnetworks.
- A broadcast sent to a subnet in the form 10.1.1.255 is a subnet broadcast if the subnet mask is 255.255.255.0.
Multicasting may be used for streaming multimedia, video conferencing, shared white boards and more as the internet grows. Multicasting is still new to the internet and not widely supported by routers. New routing protocols are being developed to enable multicast traffic to be routed. Some of these routing protocols are:
- Hierarchical Distance Vector Multicast Routing Protocol (HDVMRP)
- Multicast Border Gateway
- Protocol Independent Multicast
Since IP is not a reliable network protocol, a new reliable multicast protocol that works at the transport layer and uses IP at the network layer has been developed. It is called Multicast Transport Protocol (MTP)
The internet assigned numbers authority (IANA) allocates ethernet addresses from 01:00:5E:00:00:00 through 01:00:5E:7F:FF:FF for multicasting. This means there are 23 bits available for the multicast group ID.
An IP multicast address is in the range 188.8.131.52 through 184.108.40.206. In hexadecimal that is E0.00.00.00 to EF.FF.FF.FF. To be a multicast address, the first three bits of the most significant byte must be set and the fourth bit must be clear. In the IP address, there are 28 bits for multicasting. Therefore there are 5 multicasting bits that cannot be mapped into an ethernet data packet. The 5 bits that are not mapped are the 5 most significant bits.
The 28 IP multicast bits are called the multicast group ID. A host group listening to a multicast can span multiple networks. There are some assigned hostgroup addresses by the internet assigned numbers authority (IANA). Some of the assignments are listed below:
- 220.127.116.11 = All systems on the subnet
- 18.104.22.168 = All routers on the subnet
- 22.214.171.124 = Network time protocol (NTP)
- 126.96.36.199 = For RIPv2
- 188.8.131.52 = Silicon graphic's dogfight application
Being on the MBONE means you are on a network that supports multicasting. Usually you must check with your internet service provider (ISP) to see if you have this capability. IGMP described in the next section is used to manage broadcast groups.