If a UDP datagram is sent from host \(\mathrm{A}\), port \(\mathrm{P}\) to host
\(\mathrm{B}\), port \(\mathrm{Q}\), but at host \(\mathrm{B}\) there is no process
listening to port \(Q\), then \(B\) is to send back an ICMP Port Unreachable
message to A. Like all ICMP messages, this is addressed to A as a whole, not
to port \(\mathrm{P}\) on \(\mathrm{A}\).
(a) Give an example of when an application might want to receive such ICMP
messages.
(b) Find out what an application has to do, on the operating system of your
choice, to receive such messages.
(c) Why might it not be a good idea to send such messages directly back to the
originating port \(\mathrm{P}\) on \(\mathrm{A}\) ?