IPv6数据报格式

合集下载

RFC6282(中文版)基于IEEE 802.15.4网路的IPv6报文压缩格式(6LoWPAN)

RFC6282(中文版)基于IEEE 802.15.4网路的IPv6报文压缩格式(6LoWPAN)

基于IEEE 802.15.4网路的IPv6报文压缩格式摘要本文更新了RFC4944,“在IEEE 802.15.4网路上传送IPv6报文”。

本文描述了一个在低功耗无线个人局域网(6LoWPANs)上传送IPv6报文的IPv6报头压缩格式。

这种压缩格式可以进行任意前缀的压缩因为它是依赖于共享上下文的。

至于共享上下文的信息是如何维护的不在本文讨论范围内。

本文描述的是多播地址的压缩和一个用于压缩下一报头的框架。

UDP 报头压缩正是在这个框架内描述的。

文档说明本文是一份因特网标准文档。

本文由因特网工程任务组(IETF)发布。

它代表IETF社区言论。

本文接收了公众的建议并由因特网工程指导委员会(IESG)改进和发行。

关于因特网标准的更多信息请参阅RFC5741的节2。

本文档的当前状态,勘误表和如何提供反馈等信息可以从这个网址得到:/info/rfc6282。

版权声明Copyright(c)2011,本文版权归IETF组织和文档的指明作者所有。

本文从属于BCP 78 和IETF组织法律相关的IETF文档(/license-info)从本文发布之日起生效。

请仔细审查这些文档,它们描述了你对本文的权利和约束。

从本文引用的代码必须包含简化BSD许可说明,如信托法律规定4.e节所描述的那样,本文提供的代码不会给出警告,如简化BSD许可里描述的那样。

1、简介[IEEE802.15.4]标准指定一个MTU是127字节,只留下大概80字节用于带有安全选项的介质访问控制(MAC)载荷,在一个最高速率只有250kbps或更少的无线链路上进行传输。

考虑到在如无线传感器网路这样的应用中要求有限的带宽,存储容量或电力资源,6LoWPAN 适配层格式[RFC4944]描述了在这样一个受限的链路上传送IPv6报文。

[RFC4944]定义了一个Mesh寻址报头以支持sub-IP转发,一个分片报头用于支持IPv6最小MTU的要求[RFC2460],和IPv6报文的无状态报头压缩(LOWPAN_HC1和LOWPAN_HC2)以便把相对较大的IPv6和UDP报头减小到几个字节(在最好情况下)。

IPv6协议格式解析

IPv6协议格式解析

Ver Traffic Class
4bits
8bits
Payload Length
16bits
Flow Label
20bits
Next Header Hop Limit
8bits
8bits
Source Address 128bits
Destination Address 128bits
.
21
IPv6报头和IPv4比
E
组播组ID
F
预留 节点本地范围 链路本地范围 站点本地范围 企业本地范围 全局范围 预留
.
13
预定义的组播地址
IPv6预定义组播地址
FF01::1 FF01::2
FF02::1 FF02::2 FF02::5 FF02::6 FF02::9 FF02::13
FF05::2
FF0x::101
IPv4预定义组播地址 节点本地范围 224.0.0.1 224.0.0.2 链路本地范围 224.0.0.1 224.0.0.2 224.0.0.5 224.0.0.6 224.0.0.9 224.0.0.13 站点本地范围 224.0.0.2 全局 224.0.1.1
FF02:0:0:0:0:1:FFXX:XXXX
例:主机的MAC地址为 00-02-b3-1e-83-29
IPv6地址为 fe80::02. 02:b3ff:fe1e:8329
16
IPv6地址新类型 — 任播 被分配给多(个A接n口y,ca仅s用t)于路由器
发往任播地址的数据包被路由转发给 分配了任播地址的接口中距离最近的 一个
二进制前缀 00...0 (128 bits) 00...1 (128 bits) 11111111 1111111010 1111111011 (其他)

详谈IPv6与IPv4数据报格式

详谈IPv6与IPv4数据报格式

详谈IPv6与IPv4数据报格式1.IPv6数据包每一个分组由必须要有的基本首部和跟随在后面的有效载荷组成。

有效载荷有两部分组成:可选的扩展首部和从上层来的数据(不超65535字节)。

具体如图所示:详细说明:Version:和ipv4包头中的一样,4个bit区域表示ip的版本(0110)优先级:即Traffic Class是一个8位bit的区域,同ipv4中的tos区域一样。

但是在这些年中随着TOS区域的进化,这个区域也可以用来被 DifferentiatedClass of Service (DiffServ)使用。

但是尽管这里这样的标识仍然符合老的Tos的格式,只不过Traffic Class这个名字更符合当前的应用。

流标记:Flow Label流量标签是在ipv6中独有的区域。

这个20个bit的区域设计的目的在于可以给一些特殊的数据做标记。

也就是说尽管数据包并非是从原来的源发到目的,但是仍然包含原有的源和目的的应用。

区分数据流有很多好处,可以确保不同类别服务的处理方式得以区分,在数据流经多个路径的负载均衡时,在同一个数据流的数据包将使用经由同一个路径转发,从而避免了数据包可能继续查找路径的现象。

典型的flow(更加精确一点的说法是微流)就是在源地址和目的地址上加一个团体的源地址和目的地址。

如果使用定义源和目的端口号,路由器必须识别ip包头还要进一步识别tcp或者udp(或者其他传输层协议)的头,这样就增加了转发进程的复杂性,可能会影响路由器的处理。

因为出现扩展包头(下一段介绍),所以在ipv6数据包中查找传输层协议的头就成为一个特殊的问题。

支持ipv6的路由器必须从按照数据包格式的顺序从头到位查找,可能会经过很多扩展包头再会找到传输层地址(这样的话影响查找时间)。

如果在数据包发起是适当的加入流量标签,路由器更比查找数据包头更容易辨识数据流。

然而,在本书书写时,如何使用流量标签区域的完全详细文档仍在讨论中,所以当前路由器读取数据时忽略这个区域。

IPv6报文格式浅析

IPv6报文格式浅析

IPv6报文格式浅析作者:尚建贞来源:《无线互联科技》2013年第06期摘要:文章论述了IPv6基本报头的格式,以及所包含的8个域的定义以及功能。

同时,对6个扩展报头和完整的IPv6数据报文格式也进行了说明。

关键词:IPv6;报文格式;基本报头;扩展报头1 引言随着计算机网络特别是Internet的飞速发展,目前基于IPv4的互联网在实际运行中暴露出越来越多的不足和缺憾,例如:网络安全性差,服务质量低下,地址空间规划不合理等。

这些问题严重制约着当代互联网的进一步发展,现行的网络层协议IPv4无法从根本上解决这些问题,于是一种全新的网络层协议IPv6应运而生。

2 IPv6报文格式IPv6数据包的基本报头长度固定为40个字节,其格式如图2.1。

基本包头包括8个域,去掉了IPv4报头中所有的可选项。

所包含的8个域简要介绍如下:(1)版本Version(4bits):表示与数据包对应的IP协议的版本号,IPv4的版本号为4,IPv6的版本号固定为6;(2)业务流类别Traffic Class(8bits):或者称为数据包优先级(Packet priority),可以赋予数据包不同的优先级,提供不同的服务,主要用于实时类的数据传输如音频视频等,有助于提升QoS,该字段用以代替IPv4中的TOS(Type of Server)字段。

RFC2460文档中对该字段进行定义。

(3)流标签Flow Label(20bits):是IPv6的新增字段,源节点用此字段识别同一个流的数据包。

源地址和一个非0的Flow Label可以标识同一个流的数据包。

源节点和同一个目的节点可以同时存在多个活动的流业务,并且互不干涉。

网络上的IPv6路由器要给与属于同一个流的数据包同样的资源分配,提供同样的服务质量(QoS)。

(4)净荷长度Payload Length(16bits):此字段标明除去基本首部外数据包的总长度,包括所有的扩展报头和上层PDU数据所占的字节数。

Ipv4和Ipv6数据报格式详解

Ipv4和Ipv6数据报格式详解

IPv4和IPv6数据报格式一、IPv4数据报格式1)数据报可以分为报头区和数据区,数据区的数据来自上一层。

说明:首部和报头和头等字眼是同一意思。

2)版本:指明IP协议是哪个版本,IPv4为0100。

3)报头长度:也叫首部长度,指明报头区的长度。

最小值为20个字节,最大值为60字节。

说明:a.当没有选项和填充字段时,32位(每行的长度)*5(5行固有的)=160位=20字节,这个时候4个比特位的值为0101,为什么呢?因为这里规定以4个字节为单位,如果把0101用换算成十进制,0101=5,5*4=20字节。

如果4个比特位为1111,把1111换算成十进制则等于15,则它表示15*4=60个字节。

(简单记成换算成十进制后乘以4才等于它报头区的字节数)b.当 IP 分组的首部长度不是4字节的整数倍时,必须利用最后的填充字段加以填充。

4)服务类型:转发过程中对该数据报的处理方式。

5)总长度:等于报头区及数据区的长度相加。

说明:a.最大长度为65535个字节(当8个bit都等于1时),2^16-1=65535个字节。

b. IP数据报的最大长度的确是65535字节。

但是实践中最大长度很少用,因为大多物理网络都有长度限制,例如,数据链路层有自己的帧格式,其中包括了数据字段的最大长度,即最大数据传输单元MTU,当一个数据报封装成链路层的帧时,此数据报的总长度一定不能超过下面的数据链路层的MTU 值,以太网把载荷长度限制在1500字节。

6)标识:IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加 1,并将此值赋给标识字段。

但这个“标识”并不是序号,因为 IP是无连接的服务,数据报不存在按序接收的问题。

当数据报由于长度超过网络的 MTU 而必须分片时,这个标识字段的值就被复制到所有的数据报的标识字段中。

相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报。

附加:IP数据报在各个物理网络中需要重新封装:与路由器连接的各个网络的MTU可能不同:当数据报超过网络的MTU进行分片后,路由器可以为每个分片独立选路:7)标志:占三位,但目前只有两位有意义。

IPv6帧结构

IPv6帧结构
IPv6数据报首部与 IPv4数据报首部的对比
版本(version)——4bit。它指明了协议的版本,对 IPv6该字段总是6。 通信量类(traffic class)——8bit。这是为了区分不同的 IPv6数据报的类别或优先级。目前正在进行不同的通信量类性能的实 验。 流标号(flow label)——20bit。“流”是互联网络上从特定源点到特定终点的一系列数据报,“流”所经过的路径上的路由器都 保证指明的服务质量。所有属于同一个流的数据报都具有同样的流标号。 有效载荷长度(payload length)——16bit。它指明 IPv6数据报除基本首部以外的字节数(所有扩展首部都算在有效载荷之内), 其最大值是64KB。 下一个首部(next header)——8bit。它相当于 IPv4的协议字段或可选字段。 跳数限制(hop limit)——8bit。源站在数据报发出时即设定跳数限制。路由器在转发数据报时将跳数限制字段中的值减1。当跳 数限制的值为零时,就要将此数据报丢弃。 源地址——128bit。是数据报的发送站的 IP 地址。
点分十进制记法的后缀
0:0:0:0:0:0:128.10.2.1 再使用零压缩即可得出: ::128.10.2.1
CIDR 的斜线表示法仍然可用。 60bit 的前缀12AB00000000CD3可记为:12AB:0000:0000:CD30:0000:0000:0000:0000/60或12AB::CD30:0:0:0:0/60 或12AB:0:0:CD30::/60
(4)IPv6的地址空间 128bit 的地址空间 IPv6数据报的目的地址可以是以下三种基本类型地址之一: (1)单播(unicast)单播就是传统的点对点通信。
(2)多播(multicast)多播是一点对多点的通信。 (3)任播(anycast)这是 IPv6增加的一种类型。任播的目的站是一组计算机,但数据报在交付时只交付给其中的一个,通常 是距离最近的一个。 结点与接口

IPv6

IPv6

链路本地地址(Link-Local Address)
相当于v4中的169.254.0.0/16,不能被路由,以FE0ห้องสมุดไป่ตู้开头
站点本地地址(Site-Local Address)
相当于v4中的私有地址,仅局域网使用,以FEC0~FEFF开头
本地环回地址(Local Loopback Address)
IPv6 扩展报文
Next Header value 0
6 17 43 44 50 51 58 59 60
Type 逐跳选项扩展报头
TCP UDP 路由扩展报头 分片扩展报头 封装安全有效载荷扩展报头 认证扩展报头 ICMPv6信息报文扩展报头 无下一报头 目的选项扩展报头
IPv6 扩展报文应用
IPv6报文头长度固定为40字节,分为8个字段 Version:4比特,值为6表示IPv6报文 Traffic Class:8比特,类似于IPv4中的TOS域 Flow Label:20比特。IPv6中新增。流标签可用来标记特定流的报文,以便在网络 层区分不同的报文。转发路径上的路由器可以根据流标签来区分流并进行处理。由 于流标签在IPv6报文头中携带,转发路由器可以不必根据报文内容来识别不同的流, 目的节点也同样可以根据流标签识别流,同时由于流标签在报文头中,因此使用 IPSec后仍然可以根据流标签进行QoS处理。
IPv6 报文头格式Ⅱ
0 1 2 3 4 5 6 7 8 9 a b c d e f 0 1 2 3 4 5 6 7 8 9 a b c d e f
Version
Traffic Class Payload Length
Flow Label Next Header Hop limit

网络基础 IPv6数据报

网络基础  IPv6数据报

网络基础IPv6数据报IPv6包由IPv6包头(40字节固定长度)、扩展包头和上层协议数据单元三部分组成。

IPv6包扩展包头中的分段包头中指名了IPv6包的分段情况。

其中,不可分段部分包括IPv6包头、Hop-by-Hop选项包头、目的地选项包头(适用于中转路由器)和路由包头;可分段部分包括认证包头、ESP协议包头、目的地选项包头(适用于最终目的地)和上层协议数据单元。

但是需要注意的是,在IPv6中,只有源节点才能对负载进行分段,并且IPv6超大包不能使用该项服务。

1.IPv6数据包:包头IPv6包头长度固定为40字节,去掉了IPv4中一切可选项,只包括8个必要的字段,因此尽管IPv6地址长度为IPv4的四倍,IPv6包头长度仅为IPv4包头长度的两倍。

其中的各●TrafficeClass(通信类别):8位,指示IPv6数据流通信类别或优先级。

功能类似于IPv4的服务类型(TOS)字段。

●FlowLabel(流标记):20位,IPv6新增字段,标记需要IPv6路由器特殊处理的数据流。

该字段用于某些对连接的服务质量有特殊要求的通信,诸如音频或视频等实时数据传输。

在IPv6中,同一信源和信宿之间可以有多种不同的数据流,彼此之间以非“0”流标记区分。

如果不要求路由器做特殊处理,则该字段值置为“0”。

●PayloadLength(负载长度):16位负载长度。

负载长度包括扩展头和上层PDU,16位最多可表示65535字节负载长度。

超过这一字节数的负载,该字段值置为“0”,使用扩展头逐个跳段(Hop-by-Hop)选项中的巨量负载(JumboPayload)选项。

●NextHeader(下一包头):8位,识别紧跟IPv6头后的包头类型,如扩展头(有的话)或某个传输层协议头(诸如TCP,UDP或着ICMPIPv6)。

●HopLimit(跳段数限制):8位,类似于IPv4的TTL(生命期)字段。

与IPv4用时间来限定包的生命期不同,IPv6用包在路由器之间的转发次数来限定包的生命期。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

IPv6数据报的扩展首部
0 3 载荷长度(16 位) 11 传输类别 (8 位) 源地址(128 位) 流标识(20 位) 下一首部(8 位) 跳数极限(8 位) 31 版本号(4位)
目的地址(128 位)
下一首部 首部长度 第一个扩展首部 下一首部 首部长度
第二个扩展首部
… …
其它扩展首部或数据部分
IPv6数据报格式
仲恺农业技术学院
• IPv6数据报的基本首部为长度固定的40字 节,首部只有8个字段,用扩展首部取代了 IPv4数据报首部中的可选项,便于中间节 点高效率对其进行处理。
有效载荷
IPv6基本首部 (40 字节) IPv6扩展首部 (可变) IPv6数据报格式 数据部分
仲恺农业技术学院
仲恺农业技术学院
⑹ 跳数极限(hop limit),8位。其作用类 似于IPv4的TTL字段。 ⑺ 源地址(source address),128位。标 识发送数据报节点的IPv6地址。 ⑻ 目的地址(destination address), 128位。标识接收数据报的节点的IPv6地 址。
仲恺农业技术学院
仲恺农业技术学院Biblioteka IPv6数据报的基本首部• IPv6数据报的基本首部是40字节的固定首部, 其携带的信息为数据报传输途中经过的节点都 必须处理的信息。
0 3 11 31
版本号(4位)
传输类别 (8 位)
流标识(20 位)
下一首部(8 位) 跳数极限(8 位)
载荷长度(16 位)
源地址(128 位) 目的地址(128 位) IPv6数据报的基本首部格式
• IPv6数据报格式的变化主要有: ⑴ 取消了数据报首部的校验和字段。提高数据 报的传输效率。 ⑵ 基本首部增加了流标识(flow label)和传 输类别(traffic class)字段,以加强对多媒 体实时数据传送的支持。 ⑶ 增加了鉴别扩展首部(Authentication Header,AH)和加密安全载荷扩展首部 (Encapsulating Security Payload header, ESP),以增强安全性。
仲恺农业技术学院
• 扩展首部的出现顺序为: – ① IPv6基本首部; – ② 跳到跳首部 ; – ③ 目的选项首部(若携带的TLV可选项需要 中间节点处理); – ④ 源路径选择首部 ; – ⑤ 分片首部; – ⑥ 鉴别首部; – ⑦ 加密安全载荷首部; – ⑧ 目的选项首部(若携带的TLV可选项仅在 目的节点处理); – ⑨上层协议首部。
仲恺农业技术学院
仲恺农业技术学院
• RFC 2460定义了六种扩展首部: – 跳到跳首部(hop-by-hop header) – 源路由选择首部(routing header) – 分片首部(fragment header) – 目的选项首部(destination option header) – 鉴别首部 – 加密安全载荷首部。 • 并不是每个扩展首部的都需要路由器处理。 • 路由器按照扩展首部的出现顺序,依次进行处 理。扩展首部出现顺序的规则: – 需要中间路由器处理的在前面; – 只需要目的节点处理的在后面。
仲恺农业技术学院
⑸ 下一首部(next header),8位。定义了紧 跟在基本首部后面的扩展首部的数字标识号 或数据部分的协议类型。 • 若没有扩展首部,相当于IPv4中的协议字 段。 • 若有扩展首部,用来说明紧跟在基本首部 后的第一个扩展首部的数字标识号,即是 扩展首部的类型。 • 每个扩展首部也包含下一首部字段,下一 首部的数字标识号在RFC 1700中定义。
仲恺农业技术学院
• IPv6数据报基本首部的8个字段的意义: ⑴ 版本号(version),4位。 ⑵ 传输类别(traffic class),8位。用来区分不 同的IPv6数据报的类别或优先级。 ⑶ 流标识(flow label),20位。所谓流就是因特 网上从特定源到特定目的的一系列数据报。而在 这个“流”所经过的路径上的路由器都保证指定 的服务质量(QoS)。所有属于同一个流的数据 报都有相同的流标识。 ⑷ 载荷长度(payload length),16 位。基本首 部以外的字节数,包括扩展首部和数据部分。
相关文档
最新文档