Build the program shown in Figure 20.9 and run it specifying an IP address on the command line of 18.104.22.168. What happens?
Modify the program in the previous example to bind 22.214.171.124 and port 0 to its socket. Run it. Are you allowed to bind a multicast address to the socket? If you have a tool such as tcpdump, watch the packets on the network. What is the source IP address of the datagram you send?
One way to tell which hosts on your subnet are multicast-capable is to ping the all-hosts group: 126.96.36.199. Try this.
One way to tell if your host is connected to the IP multicast infrastructure is to run our program from Section 21.9, wait a few minutes, and see if any session announcements appear. Try this and see if you receive any announcements.
Go through the calculations in Figure 21.22 when the fractional part of the NTP timestamp is 1,073,741,824 (one-quarter of 232).
Redo these calculations for the largest possible integer fraction (232 – 1).
Modify the implementation of mcast_set_if for IPv4 to remember each interface name for which it obtains the IP address to prevent calling ioctl again for that interface.