首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

IP头情景分析

IP头情景分析

Ip网络应用广泛普及了,我本人和ip接触很多年,闲暇之余,想来ip头设计有哪些特点,作文分享。

Ip头

这些字段分为三大类:分片重组(ip len,ipid,DF,MF,ip off)、地址(src addr,dst addr)、tos,其它。下面逐个介绍一下。

Version

现网使用的协议ipv4 /v6, ipv1 v2 v3仅仅存在实验室,v5为流媒体预留。Version字段总共4个bit,可以支持15个版本,还好ip是基础协议,版本不会太多,四个够用了。

本文仅讨论ipv4。

Ip hdr len

对于ipv4,这个字段默认是5,最小值5,数值代表4个字节的倍数,比如5,ip头长度5*4 = 20字节。

和ip类似,其它协议多四字节对齐,比如udp头8字节,tcp头20字节。

另外,4个bit,最大值是15,ip 头最大60字节,ip头最大40字节可选项。

tos

qos、dscp相关的。

ip len

整个ip报文的长度,最大65536字节,但是你很少见到这么长的报文。

ttl

防止环路用的。windows默认128,linux默认64

pro

协议类型,比如tcp=6,udp=17,gre=47

IP cksum

ip报文的校验和,16bit为单位计算

addr

ipv4报文地址是4字节

分片相关

IP id

DF

MF

offset

分片

分片示意图

如图,分片对“udp+payload”进行分片(包括udp头)。

报文分片,DF(don’t fragment)必为0。

MF(more fragment)=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为了估算路径拥塞,一般不会分片。所以tcp报文的ip头里DF一般置位1。

Tcp的路径拥塞估算

如上图,tcp一般使用t1(发送data的时刻t1)和t2(接收对应ack的时刻)差来估算路径是否拥塞。如果tcp分片后,时间估算会不准确,如下图。

第1步(t1时刻)和第6步(t2时刻)的时间差会比较大(估算为路径拥塞),这是由于第3步的“拥塞路径”造成,这样tcp估算路径是拥塞的,而图中分片第2步的路径是非拥塞,分片后,实际的路径拥塞估算出现了偏差。

Ipid的划分

有些框式网元中,ipid要避免设备内冲突。比如下图框式设备,一个框中插满线卡,这些线卡同为一个网元,也就是一个设备。

在这种设备中,一般ipid的赋值采用分段划分。如下图。

网元内ipid分段配置

以上为ip头某些字段情景讲解,待续。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190425A0JKFW00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券