网络层常用协议

数据封装

在聊网络层协议之前,我们先回顾一下数据封装的过程:首先在应用层产生一个数据PDU,在传输层加上一些信息形成数据段,在网络层又添加一些字段形成数据包,在数据链路层再次添加一些字段形成数据帧,最后在物理层形成比特流

数据包分片

将报文分割成多个片段的过程叫做分片,网络中转发的IP报文长度可以不同,但如果报文长度超过了数据链路所支持的最大长度,则报文就需要分割成若干个较小的片段才能够在链路上传输。网络层常用协议_第1张图片
Identification:16 bit,发送主机赋予的标识,分片重组时会用到该字段。
Flags:3 bit,标志位。
保留段位:0,保留。
不分段位:1,表示“不能分片”;0,表示“能分片”。
更多段位:1,表示“后面还有分片”;0,表示“最后一个数据片”。
Fragment Offset:12 bit,片偏移,分片重组时会用到该字段。指出较长的分组在分片后,
该片在原分组中的相对位置,与更多段位组合,帮助接收方组合分段的报文。

主要协议

生存时间(TTL)
概念:生存时间,可经过的最多路由器,即数据包在网络中可通过的路由器数的最大值。
报文在网段间转发时,若网络设备上的路由规划不合理就看出现环路,导致报文在网络中无限循环,无法到达目的端。环路发生后,所有发往这个目的地的报文都会被循环转发,这种报文越多,网络越拥堵。
为了避免环路导致拥塞,IP报文头中包含一个TTL字段,即:报文每经过一台三层设备(比如路由器),TTL值就会-1,初始TTL值由源端设备设置,它占8bit,也就是有256种取值(0~255)。当报文中的TTL变成0时,报文就被丢弃。丢弃报文的设备会根据报文头中的源IP地址向源端发送ICMP错误消息。(但网络设备也可被配置为不向源端发送ICMP错误消息)
协议号(Protocol)
网络层常用协议_第2张图片
目的端的网络层在接收并处理报文以后,需要决定下一步对报文如何处理。IP报文头中的协议字段标识了将会继续处理报文的协议。

你可能感兴趣的:(新手,网络层,协议,网络)