IP 是TCP/IP 协议族中最为核心的协议。所有的TCP、UDP、ICMP 及IGMP数据都以IP 数据报格式传输(见图3-24),IP 协议提供不可靠、无连接的数据报传送服务。
不可靠(Unreliable)的意思是它不能保证IP 数据报能成功地到达目的地。IP 仅提供最好的传输服务。如果发生某种错误时,如某个路由器暂时用完了缓冲区,IP 有一个简单的错误处理算法:丢弃该数据报,然后发送ICMP 消息报给信源端。任何要求的可靠性必须由上层来提供(如TCP)。
无连接(Connectionless)这个术语的意思是IP 并不维护任何关于后续数据报的状态信息,每个数据报的处理是相互独立的。这也说明,IP 数据报可以不按发送顺序接收。如果一信源向相同的信宿发送两个连续的数据报(先是A,然后是B),每个数据报都是独立地进行路由选择,可能选择不同的路线,因此B 可能在A 到达之前先到达。
IP 数据报的格式如图3-27 所示,普通的IP 首部长为20 个字节,除非含有选项字段。4 个字节的32 bit 值以下面的次序传输:首先是0~7 bit,其次8~15 bit,然后16~23 bit,最后是24~31 bit。这种传输次序称作big endian 字节序。TCP/IP 首部中所有的二进制整数在网络中传输时都要求以这种次序,因此它又称作网络字节序。以其他形式存储二进制整数的机器,如little endian 格式,则必须在传输数据之前把首部转换成网络字节序。目前的协议版本号是4,因此IP 有时也称作IPv 4。(https://www.xing528.com)

图3-27 IP 数据报格式及首部中的各字段
在图3-27 中,需要注意TTL(Time-to-Live)生存时间字段设置了数据报可以经过的最多路由器数。它指定了数据报的生存时间。TTL 的初始值由源主机设置(通常为32 或64),一旦经过一个处理它的路由器,它的值就减去1。当该字段的值为0 时,数据报就被丢弃,并发送ICMP 报文通知源主机。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
