1、TCP/IP协议栈
2、最大传送单元MTU
(1)最大传送单元MTU:链路层数据可封装数据的上限。如以太网的MTU是1500字节。
(2)如果所传送的数据报长度超过某链路的MTU值,要怎么处理?
答:当IP数据报比链路的最大传输单元大时,就可以被分解为很多的足够小片段,以便能够在其上进行传输。即分片。
3、IP数据报格式
版本字段:IPv4或IPv6。
首部长度字段:单位是4B,最小为5。
区分服务字段:指示期望获得哪种类型的服务。
总长度字段:首部+数据,单位是1B。
标识字段:同一数据报的分片使用同一标识。
标志字段:只有2位有意义。即X _ _ 。
MF = 1,后面"还有分片"。
MF = 0,代表最后一片/没分片。
DF = 1,禁止分片。
DF = 0,允许分片。
中间位 DF(Don't Fragment):
最低位 MF (More Fragment):
片偏移字段:指出较长分组分片后,某片在原分组中的相对位置。以8B为单位。除了最后一个分片,每个分片长度一定是8B的整数倍。
生存时间字段(TTL):IP分组的保质期。经过一个路由器 -1,变成0则丢弃。
协议字段:数据部分的协议。
首部检验和字段:只检查首部。
源IP地址和目的IP地址字段:32位。
可选字段:0~40B,用来支持排错、测量以及安全等措施。
填充字段:全0,把首部补成4B的整数倍。
# 注意:
1. 总长度单位是1B。即比如总长度字段的值为125,相乘得,总长度的实际长度为125B。
2. 片偏移单位是8B。
3. 首部长度单位是4B。
文章转载自花间剑指编程,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。