UDP 协议 - ICMP 错误生成

UDP 协议 - ICMP 错误生成

我知道 UDP 除了静默丢弃校验不合格的数据包之外,没有真正的错误控制功能。

我是否正确地认为,到达路由器的 TTL = 1 的 UDP 数据包将生成“ICMP 超时”消息,而到达终端主机的未使用端口号(54823 或类似端口号)的 UDP 数据包将被拒绝,从而导致“ICMP 端口不可达”消息 - 并且这两个 ICMP 消息都将被发送回消息的发送者?

我很确定事情就是这样的,但我想确保自己不会因此感到困惑

答案1

是的,你说得对。traceroute 也是这么做的。

答案2

没错,但如果您想在您的应用程序中接收这些消息,您必须使用connect套接字。

相关内容