php asp网站开发教程,信阳百度推广公司电话,百度网站托管,云南云南住房和城乡建设厅网站4.3.1 IPv4分组
IP协议定义数据传送的基本单元——IP分组及其确切的数据格式
1. IPv4分组的格式 IPv4分组由首部和数据部分#xff08;TCP、UDP段#xff09;组成#xff0c;其中首部分为固定部分#xff08;20字节#xff09;和可选字段#xff08;长度可变#xff0…4.3.1 IPv4分组
IP协议定义数据传送的基本单元——IP分组及其确切的数据格式
1. IPv4分组的格式 IPv4分组由首部和数据部分TCP、UDP段组成其中首部分为固定部分20字节和可选字段长度可变用于提供错误检测及安全等机制 1版本指IP协议的版本 2首部长度占4位可以表示最大的数为15。以32位为单位最大值为60B(32 * 15 / 8 64B),最常用的首部长度是20B最小为数字5即0101因此取值范围为0101 ~ 1111 3总长度占16位指首部和数据之和长度单位为字节因此IP数据报的最大长度为 2 16 − 1 65535 B 2^{16} - 1 65535B 216−165535B以太网帧的最大传送单元MTU为1500BIP数据报的长度不能超过此值 4标识占16位它是一个计数器每产生一个数据报就加1并赋值给标识字段。 5标志占3位标志字段最低位为MF等于1表示后面还有分片0表示最后一个分片标志位中间一位为DF当其为0时才允许分片 6片偏移占13位它指出较长的分组在分片后某片在原分组中的相对位置。片偏移以 8个字节为偏移单位。除最后一个分片外每个分片的长度一定是8B的整数倍 7生存时间TTL占8位数据报在网络中可通过的路由器数的最大值为了确保帧不会永远在网络中循环路由器在转发分组前先把TTL减1。 若TTL被减为0,则该分组必须丢弃。 8协议占8位指出此分组携带的数据使用何种协议其中TCP协议为6UDP协议为17 9 首部校验和占16位。首部校验和只校验分组的首部而不校验数据部分 10源地址字段占4B,标识发送方的IP地址 11 目的地址字段占4B,标识接收方的IP地址 首部长度、总长度、片偏移基本单位 分别为4B、1B、8B 2. IP数据报分片 一个链路层数据报能承载的最大数据量称为最大传送单元MTU 当IP数据报的总长度大于链路MTU时就需要将 IP数据报中的数据分装在多个较小的IP数据报中这些较小的数据报称为片 在目的主机上使用IP首部中的标识、标志、片偏移来完成对片的组装 原理 在将数据报进行分片时形成的每个数据报片都具有原始数据报的标识号。因此收到数据后IP首部的标识相同就说明这些数据属于同一个原始数据报的片IP首部中的标志位占3位但只有后2位有意义分别是MF位More Fragment 和DF位Don’t FragmentDF 0表示该IP数据报才可以被分片。MF则用来告知目的主机该IP数据报是否为原始数据报的最后一个片。当MF 1表示相应的原始数据报还有后续的片当MF 0表示该数据报是相应原始数据报的最后一个片使用片位移字段来确定该片应该在原始数据报的哪个位置 进行分片时除了最后一个片其他所有片的有效数据载荷都是8B的倍数 计算片偏移时第一个片的片偏移为0其往后每个片偏移的值为其起始值除以8B