计算机网络(十三)IPv4首部及IPv6首部格式

1.IPv4首部

通过IP进行通信时,需要在数据的前面加入IP首部信息。
IP首部中包含着用于IP协议进行发包控制时所必有的必要信息。

IP数据包格式(IPv4)

a.版本(Version)

由4比特构成,表示标识IP首部的版本号。
IPv4的版本号即为4,因此在这个字段上的值也是“4”。
IP首部的版本号

b.首部长度(IHL)

由4比特构成,表明IP首部的大小,单位为4字节(32比特)。
对于没有可选项的IP包,首部长度则设置为"5"。即当没有可选项时,IP首部的长度为20字节(4x5=20)。

c.区分服务(TOS)

由8比特构成,用来表明服务质量。
这个值常由应用制定,实现TOS控制极其复杂,导致TOS整个互联网几乎就没有被投入使用。
服务类型中各比特的含义

d.DSCP段与ECN段

DSCP段与ECN段
DSCP(差分服务代码点)是TOS的一部分。现在统称为DiffServ, 用来进行质量控制。
如果3-5位的值为0,0-2位则被称作类别选择代码点。这样就可以像TOS的优先度那样提供8种类型的质量控级别。
果第5位为1,表示实验或本地使用的意思。
ECN (显式拥塞通告)用来报告网络拥堵情况,由两个比特构成。
第6位的ECT用以通告上层TCP层协议是否处理ECN 。
当路由器在转发ECN为1的包的过程中,如果出现网络拥堵的情况,就将CE位设置为1
ECN域

e.总长度(Total Length)

表示IP首部与数据部分合起来的总字节数。该字段长16比特。 因此IP包的最大长度为65535字节。

f.标识(ID)

由16比特构成,用于分片重组。
同一个分片的标识值相同,不同分片的标识值不同。
通常,每发送一个IP包,它的值也逐渐递增。
即使ID相同,如果目标地址、源地址或协议不同的话,也会被认为是不同的分片。

g.标志(Flags)

由3比特构成,表示包被分片的相关信息。
标志段各位含义

h.片偏移(FO)

由13比特构成,用来标识被分片的每一个分段相对于原始数据的位置。
第一个分片对应的值为0。
由于FO域占13位,因此最多可以表示8192个相对位置。
单位为8字节,因此最大可表示原始数据8x8192=65536字节的位置。

i.生存时间(TTL)

由8比特构成,它最初的意思是以秒为单位记录当前包在网络上应该生存的期限。
在实际中它是指可以中转多少个路由器的意思。每经过一个路由器,TTL会减少1, 直到变成0则丢弃该包。

j.协议(Protocol)

由8比特构成,表示IP首部的下一个首部隶属于哪个协议。
IP协议编号
IP协议编号

k.首部校验和(Header Checksum)

由16比特构成,也叫IP首部校验和。
该字段只校验数据报的首部,不校验数据部分。确保IP数据报不被破坏。
校验和的计算过程:
1.首先要将该校验和的所有位置设置为0
2.以16比特为单位划分IP首部
3.并用1补数计算所有16位字的和
4.最后将所得到这个和的1补数赋给首部校验和字段。

l.源地址(Source Address)

由32比特构成,表示发送端IP地址。

m.目标地址(Destination Address)

由32比特构成,表示接收端IP地址。

n.可选项(Options)

长度可变,通常只在进行实验或诊断时使用。该字段包含如下几点信息:
1.安全级别
2.源路径
3.路径记录
4.时间戳

o.填充(Padding)

也称作填补物。在有可选项的情况下,首部长度可能不是32比特的整数倍。为此,通过向字段填充0, 调整为32比特的整数倍。

p.数据(Data)

存入数据。将IP上层协议的首部也作为数据进行处理。

2.IPv6首部格式

IPv6中为了减轻路由器的负担,省略了首部校验和字段,路由器不再需要计算校验和,从而也提高了包的转发效率。
分片处理所用的识别码成为可选项。
IPv6的首部及可选项都由8字节构成。
IPv6数据包格式

a. 版本(Version)

与IPv4一样,由4比特构成。IPv6其版本号为6,因此在这个字段上的值为"6" 。

b.通信量类(Traffic Class)

相当于IPv4的TOS字段,也由8比特构成。

c.流标号(Flow Label)

由20比特构成,准备用于服务质量控制(QoS)。
在进行服务质量控制时,将流标号设置为一个随机数;
然后利用一种可以设置流的协议RSVP在路由器上进行QoS设置。
流标号、源地址以及目标地址三项完全一致时,才被认为是一个流。

d.有效载荷长度(Payload Length)

有效载荷是指包的数据部分。
IPv4的TL是指包括首部在内的所有长度。然而IPv6中的这个Playload Length不包括首部,只表示数据部分的长度。
由于IPv6的可选项是指连接IPv6首部的数据,因此当 有可选项时,此处包含可选项数据的所有长度就是Playload Length。

e.下一个首部(Next Header)

相当于IPv4中的协议字段。由8比特构成。
通常表示IP的上一层协议是TCP或UDP。
在有IPv6扩展首部的情况下,该字段表示后面第一个扩展首部的协议类型。

f.跳数限制(Hop Limit)

由8比特构成。与 IPv4中的TTL意思相同。
数据每经过一次路由器就减1, 减到0则丢弃数据。

g.源地址(Source Address)

由128比特构成。表示发送端IP地址。

h.目标地址(Destination Address)

由128比特构成。表示接收端IP地址。

3.IPv6扩展首部

IPv6的首部长度固定,无法将可选项加入其中。取而代之的是通过扩展首部对功能进行了有效扩展。
扩展首部通常介于IPv6首部与TCP/UDP首部中间。
IPv6的扩展首部可以是任意长度。
扩展首部当中还可以包含扩展首部协议以及下一个扩展首部字段。
IPv6首部中没有标识以及标志字段,在需要对IP数据报进行分片时,可以使用扩展首部。
IPv6扩展首部
当需要对IPv6的数据报进行分片时,可以设置为扩展域为44 (Fragemant Header)。
使用IPsec时,可以使用50、 51的ESP、AH。
Mobile IPv6的情况下可以采用60与135的目标地址选项与移动首部。
IPv6扩展首部与协议号

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IPv6(Internet Protocol Version 6)和IPv4(Internet Protocol Version 4)是网络协议栈中的两个版本,IPv6是为了解决IPv4地址空间耗尽的问题而设计的。IPv6首部(Header)与IPv4首部相比有显著的不同之处: 1. **地址长度**: - IPv4使用32位地址,总共4个字节,最大能支持约42亿个地址。 - IPv6使用128位地址,分为8组,每个组占用16比特,总共16字节,提供了几乎无限数量的地址。 2. **头部结构**: - IPv4首部相对简单,固定大小为20字节或20个字节加上可选的扩展首部。 - IPv6首部采用灵活的头部模式,有固定部分(包括流量标签、版本字段、头部长度等)和可选扩展首部首部长度从40字节到1280字节不等。 3. **选项**: - IPv4使用可变长度的选项字段,但在实践中很少使用,因为可能会导致解析困难。 - IPv6引入了扩展头部,它们放置在IPv6头之后,提供更灵活的功能,如路由信息、认证等,这些功能以前由IPv4的可选字段实现。 4. **流标签**: - IPv6增加了流标签(Traffic Class and Flow Label),用于区分不同类型的流量,并支持多播和QoS(服务质量)。 5. **安全性和完整性**: - IPv6默认启用IPsec(Internet Protocol Security),提供加密和验证功能,而IPv4通常需要手动配置或部署IPsec。 - IPv6的头部设计使得IPsec更容易嵌入和实现。 相关问题: 1. IPv6是如何解决IPv4地址空间不足问题的? 2. IPv6的流标签对网络性能有什么影响? 3. IPv6为什么默认启用IPsec?

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值