TCP/IP协议族:网络层与ICMP重定向

需积分: 50 118 下载量 52 浏览量 更新于2024-08-06 收藏 12.68MB PDF 举报
"IP数据报-软件无线电原理与应用第二版" TCP/IP协议是计算机通信的基础,它使得不同操作系统和硬件平台的计算机能够相互通信。TCP/IP起源于20世纪60年代末的美国政府项目,现在是全球互联网的基础,连接了超过1亿台设备。这个协议族分为四个层次:链路层、网络层、传输层和应用层。 链路层,也称为数据链路层或网络接口层,处理与物理传输介质如电缆的接口,包括操作系统设备驱动和网络接口卡。 网络层,又称互联网层,负责分组在互联网中的路由。在这个层次,IP(网际协议)是核心,用于地址解析和数据包传输。此外,ICMP(互联网控制报文协议)用于错误报告和路径控制,IGMP(Internet组管理协议)用于多播管理。 传输层主要负责两端应用程序之间的通信。TCP(传输控制协议)提供了可靠的、面向连接的服务,包括数据分片、确认接收、超时重传等功能。而UDP(用户数据报协议)则是一种无连接的服务,简单高效,但不保证数据的可靠传输。 在IP数据报的处理中,主机一般不会转发数据报,除非被配置为路由器。在多数伯克利派生的系统中,有一个内核变量`ip_forwarding`来控制这个行为。不同的系统对这个变量有不同的设置方式,例如在SunOS 4.1.x和Solaris 2.x中,有不同的转发模式。早期的4.2 BSD主机默认允许转发,但可能导致安全问题,所以后来的系统默认设置为不转发,除非管理员特别配置。 ICMP重定向错误是网络层的一种机制,当路由器检测到IP数据报应由另一个路由器转发时,会发送ICMP重定向报文给源主机,指导它更改下一跳的路由选择。这个过程通常发生在主机可以选择多个路由器进行通信时。图9-3展示了ICMP重定向的一个例子,其中主机原本发送数据报给R1,但R1发现R2是更好的下一跳,于是向主机发送重定向报文,指示主机直接将数据报发送给R2。 TCP/IP协议族的分层设计和这些基本概念对于理解网络通信的本质至关重要,无论是简单的文件传输,还是复杂的网络服务,都建立在这套协议的基础上。在实际应用中,理解这些基本原理有助于诊断网络问题,优化通信效率,并确保网络安全。