ICMP Destination Unreachable: PortUnreachable Error Messages

In order to effectively debug problems with UDP delivery, you should rely on the ICMP protocol. It is the function of ICMP to report on problems that will keep IP datagrams (or UDP messages) from getting delivered to their destination effectively. For more information on ICMP, refer to Chapter 5.

Figure 6.8 shows a problem with a TFTP client being unable to send data to a TFTP server. In this example, Greywolf has attempted to send data to Arachnid using TFTP. However, Arachnid is not running a TFTP server at this moment, so it returns an ICMP Destination Unreachable: Port Unreachable Error Message back to Greywolf.

An ICMP Destination Unreachable: Port Unreachable Error Message
Figure 6.8. An ICMP Destination Unreachable: Port Unreachable Error Message

If an application receives an ICMP error in response to an action, either it may try to send the data again or it may give up on the operation. Either way, any error-correction services must be implemented by the application, and not by UDP.

Another important point to make here is that many applications will not intercept or display ICMP Error Messages to the users of the application. Therefore, in order to diagnose problems such as this, it may be necessary to capture and decode the traffic on your network, using a tool such as Shomiti’s Surveyor Lite.

Get Internet Core Protocols: The Definitive Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.