网络层解析

个人博客传送门

网络层提供的服务

网络层的任务是将多个网络通过路由器互连成一个互连网络,让网络中的多台计算机可以互相通信。其中网络层最重要的协议是IP协议。在网络层需要实现数据报文的分片与组装、同时需要提供路由选择。IP层中使用的物理器件是路由器。

网络的特点是:向上提供简单灵活的、无连接的、尽最大努力交付的数据包服务。所传送的分组可能出错、丢失、重复和失序,同时也不保证分组交付的时限。但是这样做的话,就可以让路由器做的比较廉价。那么可靠性就需要网络中的主机传输层保证。

IP协议

IP协议是网络层中最重要的协议,跟IP协议搭配使用的协议还有三个:ARP(地址解析协议)、ICMP(网际控制报文协议)、IGMP(网际管理协议)。本来还有一个RARP(逆地址解析协议)但是现在已经被淘汰使用。

IP数据报头格式

数据报头格式

  • 四位版本号:当前使用的IP协议的版本号,现在通用的是IPv4(4字节),还有IPv6(16字节)
  • 四位首部长度:每位代表32个比特位,所以字段可以最多可以表示60字节。最小是20字节,也就是(0101),这个是首部的固定长度。这里的区别是有没有选项。这里不进行数据的校验是因为IP报不保证可靠性,数据的正确由上层的传输层保证。
  • 八位区分服务:用来获得更好的服务,但是通常不使用。
  • 十六位总长度:总长度包括首部和数据。总长度为16位,所以最大长度为2^16-1=65535字节。但是实际上不会发送那么大。因为下层的数据链路层中有一个MTU(最大传送单元)。常用的以太网规定MTU的值是1500字节。如果超过了就会进行分片。分片的概念会在待会讲到。
  • 十六位标识符:这个是IP数据报的唯一id。这个id不是序号,他的作用是:当数据报被分片的时候,同一个数据报的小片部分都是使用同一个id,这样到达目的主机的网路层,就可以根据数据报的id进行组装。
  • 三位标志位:第一位保留,没有使用;第二位称为DF,如果DF=1,表示不能分片。此时如果IP数据报超过了MTU,只能被丢弃,因为不能分片,数据链路层没有办法接收;第三位称为MF,这个标志位只有DF=0的时候有意义,表示后面还有分片,最后一个分片的MF=0,表示分片的数据报中,当前是最后一个。
  • 十三位偏偏移:用于分片的时候,指定当前分片数据报在原来分组中的偏移位置。这个偏移位置以8个字节为偏移单位。见下图例子:

    分片举例

  • 八位生存期:跳数(TTL),指明数据报在网络中的生存时间。数据报每经过一个路由器,当前的TTL就减一,当TTL减为0的时候,数据报被丢弃。这样是防止数据报在网络中循环路由,从而影响网络。

  • 八位协议࿱
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值