打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
网络层协议,TCP/IP之IP协议

IP是TCP/IP协议族中最为核心的协议。IP位于网络层,处于链路层之上,传输层之下。IP是一种无连接、不可靠的报文传送方式。

IP首部

我们知道,链路层以太网帧中的Type字段如果是0x0800,则表示该以太网帧中封装的是IP报文。

下面来看一下IP报文的封装结构:

不含option选项的普通IP数据报文的头部共20个字节,下面分别说明每个字段的含义。

4bit版本:表示IP协议版本号,0100即4表示IPV4。

4bit首部长度:表示IP头的长度,这个长度指的是IP头有多少个32bit。如果不携带option选项,IP头长度为20个字节,即有5个32bit,那么这4个bit的首部长度就是0101,也就是5。由于首部长度占用4个bit,因此最大是1111(15),也就是说IP头的长度最大是15个4字节,即60字节。

8bit服务类型TOS:早期RFC定义TOS字段包括3bit的优先权、4bit的TOS子字段和1bit的未用位(必须置0)。4bit的TOS分别代表:最小时延、最大吞吐量、最高可靠性和最小费用,4bit中只能有一个bit置1。使得报文获得更好的服务。

但是在RFC2474中,对TOS字段进行了重新定义,用TOS字段的前6bit表示DSCP(差分服务代码点(DifferentiatedServices Code Point),用来区分服务的优先级,保证QoS。

RFC3168中又定义了最后2个bit为ECN(Explicit Congestion Notification显式拥塞指示),用来指示当发生拥塞时,报文如何处理。

16bit总长度:指整个IP报文的长度,包括IP头长度。由于该字段长16个bit,所以IP报文最长是65535个字节。但实际网络中的报文没有这么长,超长报文会根据MTU进行分片。

16bit标识符IDID字段唯一标识主机发送的一个IP报文,通常情况下,每发送一个报文,这个ID值会加1。

3bit标志:3bit标识是报文的分片标识,第一个bit保留,第二个bit表示报文是否可以分片,如果置1,则表示报文不允许分片,第三个bit表示报文是否存在其他分片,如果置1,表示报文还有其他分片,最后一个分片该位置0。

13bit片偏移:指该片偏移原始报文开头处的位置,用于重组时,确定分片在整个报文中的位置。

8bit TTLTTL即time to live 生存时间,初始值一般是64,每经过一个路由器该值会减1,当TTL为0时,报文要被丢弃。防止报文在网络中不断环回。同时,丢弃报文的设备会根据报文头中的源IP地址向源端发送ICMP错误消息。

8bit协议:协议字段表示在IP层之上的协议类型。例如01表示ICMP,17表示UDP,6表示TCP。

16bit首部校验和:即checksum,计算时,先把校验和字段置为0,然后对首部中每个16bit进行二进制反码求和,将结果存到校验和字段中。接收方收到报文后,直接对IP首部每个16bit进行二进制反码求和,如果计算结果为全1,则报文校验正确。如果不是全1,则校验和错误,丢弃报文。

32bit源IP地址:发送方IP地址。

32bit目的IP地址:接收方IP地址。

Option选项:根据需要加入Option选项,可以是时间戳、记录路径、安全和处理限制等。Option选项必须是32bit的整数倍。

IP分片和重组

网络中转发的IP报文的长度可以不同,但如果报文长度超过了数据链路所支持的最大长度,则报文需要分割成若干个较小的片段才能够在链路上传输。将报文分割成多个片段的过程叫做分片。

接收端根据分片报文中的标识符(Identification),标志(Flags),及片偏移(Fragment Offset)字段对分片报文进行重组。同一个报文的多个分片的标识符ID相同。标识符ID用于识别属于同一个数据包的分片,以区别于同一主机或其他主机发送的其它数据包分片,保证分片被正确的重新组合。3bit标志字段用于判断是否已经收到最后一个分片。最后一个分片的标志字段设置为0,其他分片的标志字段设置为1,目的端在收到标志字段为0的分片后,开始重组报文。片偏移字段表示每个分片在原始报文中的位置。第一个分片的片偏移为0,第二个分片的片偏移表示紧跟第一个分片后的第一个比特的位置。比如,如果首片报文包含1259比特,那么第二片报文的片偏移字段值就应该为1260。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
TCP、UDP、IP 协议分析
最详细的的IP报头注释
TCP/IP数据报格式
网络抓包分析
网络基础——网络层(ip协议详解)
IP数据报格式详解
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服