ICMP错误报文:主机与网络不可达

需积分: 50 118 下载量 22 浏览量 更新于2024-08-06 收藏 12.68MB PDF 举报
"TCP/IP协议.pdf" 本文档主要讨论了TCP/IP协议的相关知识,特别是关于ICMP主机与网络不可达差错的情况。ICMP(Internet Control Message Protocol,互联网控制消息协议)是TCP/IP协议族的一部分,用于在IP网络中报告错误和提供有关异常情况的信息。在9.3章节中,提到了当路由器无法转发IP数据报时,会发送ICMP“主机不可达”或“网络不可达”差错报文。这个场景通常是由于目标主机或网络路径的问题导致的。 例如,如果路由器sun的SLIP链路(Serial Line Internet Protocol)被断开,而尝试通过该链路发送数据给依赖sun作为默认路由器的主机,将会触发ICMP主机不可达报文的生成。旧版本的BSD系统会根据目标是否在局域子网上产生主机不可达或网络不可达错误,但在4.4 BSD版本中,只会产生主机不可达错误。 通过在主机svr4上运行ping命令并观察主机bsd上的tcpdump输出,可以分析出ICMP主机不可达报文的工作机制。当路由器solaris发现无法到达gemini主机时,会回应一个主机不可达的ICMP报文。此外,文档还提到,如果通过SLIP链路尝试ping一个与Internet没有连接的IP地址,分组会在Internet上传输一定距离,直到到达能够检测到错误的NSFNET骨干网边界。 TCP/IP协议族是一个四层模型,包括链路层、网络层、运输层和应用层。在这些层中,网络层的IP协议负责分组的传输,ICMP和IGMP则属于这一层,提供错误报告和组管理功能。运输层的TCP和UDP协议为应用层提供通信服务,TCP提供可靠的数据传输,而UDP则简单直接,不保证数据的顺序或可靠性。 TCP/IP协议族的开放性和标准化使得不同操作系统和设备之间的通信成为可能,这也是它成为互联网基础的原因。通过理解这些协议的工作原理,可以更好地调试和优化网络通信问题,提高网络的稳定性和效率。