Ip网络APP广泛普及了。 我自己和Ip接触了很多年。 在空闲的时候,我想作文分享一下Ip头的设计有哪些特点。
Ip报头这些字段分为三个类别:分片重组( ip len、ipid、DF、MF、ip off )、地址( src addr、dst addr )、tos和其他。
让我一个一个地介绍一下。
版本
目前,网络使用的协议ipv4 /v6、ipv1 v2 v3仅存在实验室,v5为流预约。
Version字段总共有4个比特,可以支持15个版本。 幸运的是,ip是一个基本协议,版本并不多。 四个就足够了。
本文只讨论ipv4。
Ip hdr len
对于ipv4,此字段缺省为5,最小值为5,数值表示4字节的倍数。 例如,5,ip标头长度5*4=20个字节。
类似于ip,其他协议经常具有4字节的对准,例如udp报头8字节、tcp报头20字节等。
另外,4位、最大值为15,ip报头最多可选择60字节,ip报头最多可选择40字节。
tos
qos、dscp相关。
ip len
整个ip消息的长度最多为65536字节,但很少看到这么长的消息。
ttl
防止环路用的。
windows默认值128、linux默认值64
专业人士
协议类型,例如tcp=6、udp=17、gre=47
IP cksum
ip消息的校验和,以16位为单位计算
addr
ipv4消息地址为4字节
瓷砖相关
IP id
DF
中场
偏移
瓷砖图像
如图所示,分片对包含udp标头的udp payload进行分片。
消息片,df ( don’tfragment )始终为0。
MF(morefragment )=1指示当前消息的后面有分片包,设定0指示没有后续分片。
Offset表示分片前一条消息中当前分片的字节偏移。 除以8,分片以8字节对齐。
分割三元组
由三元组src addr dst addr ip id唯一确定的组。 在特定瓦片服务器和重组服务器的情况下,如果确定src addr和dst addr,则ip id用于标识不同的瓦片组。
该标志为16bit,取值范围为65536,一般会增加。
ipid识别分片组
Ipid用于在一个网元或服务器中标识不同的分片组。
如果多个服务器(或网元)的分片由一个服务器(网元)重新组织,则它们的ipid可能会出现相同的情况。 例如,如图中的ipid1=ipid2=ipid3(在这种情况下,src addr用于标识不同的服务器。
如下图所示。
Src addr区分不同的服务器
Tcp通常不平铺
应该注意的是,虽然瓦片一般是udp消息,但tcp不以瓦片形式划分以估计路径拥塞。
因此,DF通常被设置为tcp消息的ip报头中的1。
Tcp的路径拥塞估计
如上所述,tcp通常使用t1 (发送数据的时刻t1 )与t2 (接收相应的ack的时刻)之差来估计路径是否拥塞。
tcp平铺后,时间估计将不准确,如下图所示。
步骤1(t1 )和步骤6 ) t2的时间点)的时间差相对较大(估计为路径拥塞)是步骤3的"拥塞路径"造成的,tcp估计路径如上所述拥塞,但图中的瓦片2的路径是非拥塞的
Ipid的划分
在框式网元中,也有ipid需要避免设备内的冲突的情况。
例如,下图的边框式的设备,在一个框中插入了很多线卡,这些线卡是同一个网元,即一个设备。
在这种设备上,常见的ipid分配是分段的。
如下图所示。
网元中的ipid段配置
以上是ip报头中几个字段的方案的说明,后面是。