20.6 Summary
Broadcasting sends a datagram that all hosts on
the attached subnet receive. The disadvantage in broadcasting is
that every host on the subnet must process the datagram, up through
the UDP layer in the case of a UDP datagram, even if the host is
not participating in the application. For high data rate
applications, such as audio or video, this can place an excessive
processing load on these hosts. We will see in the next chapter
that multicasting solves this problem because only the hosts that
are interested in the application receive the datagram.
Using a version of our UDP echo client that
sends a broadcast to the daytime server and then prints all the
replies that are received within five seconds, we looked at race
conditions with the SIGALRM signal. Since the use of the
alarm function and the SIGALRM signal is a common
way to place a timeout on a read operation, this subtle error is
common in networking applications. We showed one incorrect way to
solve the problem, and three correct ways:
|