IP网际协议
IP协议位于网络层,它是TCP/IP协议族中最为核心的协议,所有的TCP、UDP、ICMP及IGMP数据都以IP数据报格式传输。IP协议提供的是不可靠、无连接
的数据报传送服务。
不可靠
:IP协议不能保证数据报能成功地到达目的地,它仅提供传输服务。当发生某种错误时,IP协议会丢弃该数据报。传输的可靠性由上层协议来提供。无连接
:IP协议对每个数据报的处理是相互独立的。这也说明,IP数据报可以不按发送顺序接收。如果发送方向接收方发送了两个连续的数据报(先是A,然后是B),每个数据报可以选择不同的路线,因此B可能在A到达之前先达到。
一、IP数据报
首先看一下IP数据报的格式,其中没有一个字段是多余的。
如上图所示,普通的IP数据报的报头长度20字节(除非有选项字段),各部分的作用:
版本号
:4位,用于标明IP版本号,0100
表示IPv4,0110
表示IPv6。目前常见的是IPv4;首部长度
:4位,表示IP报头长度,包括选项字段;服务类型(TOS)
: 分别由:最小时延、最大吞吐量、最大可靠性、最小花费4种服务,4个标识位只能有一个被置为1;总长度
: 16位,报头长度加上数据部分长度,便是数据报的总长度。IP数据报最长可达65535
字节;标识
:16位,接收方根据分片中的标识字段相不相同来判断这些分片是不是同一个数据报的分片,从而进行分片的重组,通常每发送一份报文它的值就会加1;标志
:3位,用于标识数据报是否分片。其中的第2位是不分段(DF)位。当DF位被设置为1时,则不对数据报进行分段处理;第3位是分段(MF)位,除了最后一个分段的MF位被设置为0外,其他的分段的MF位均设置为1;偏移
:13位&