IPv6报头:这是基本的IPv6头。
头敌手选择:当使用此报头时,它将被包路径上的所有跳(路由器)处理。例如路由器警报,包括资源保留协议(RSVP)和多播侦听器发现(MLD)消息(如rfc2711中定义的,IPv6路由器警报选项),以及IPv6 jumbograms(如RFC 2147所定义,IPv6 Jumbograms)。
目的地选项报头(当使用路由报头时):此标题(具有下一个标头值= 60)遵循任何跳跃选项标题,在那么情况下,目的地选项标题在最终目标处处理,也在路由标题指定的每个目的地。或者,目的地选项标题可以遵循任何封装安全有效载荷(ESP)标题,在这种情况下,目的地选项标题仅在最终目标处处理。移动IPv6是使用此标头时的示例。
路由标题:此标题(具有下一个标头值= 43)用于源路由和移动IPv6。IPv6源列出了在此标题中的数据包目的地的路上访问一个或多个中间节点。
片段标题:当源必须对大于其与目的设备之间路径的最大传输单元(MTU)的数据包进行分片时,使用此头(next-header值为44)。片段头用于每个片段包。
认证头和封装安全有效负载头:AH头(next-header值为51)和ESP头(next-header值为50)在IPsec中用于对报文进行认证、完整性和保密性。这些头对于IPv4和IPv6都是相同的。
上层头:上层(传输)头部是在数据包内使用的典型标题以传输数据。两个主要传输协议是TCP(具有下一个标题值= 6)和UDP(具有下一个标题值= 17)。
MTU发现
在IPv4中,路由器处理碎片,导致各种处理问题。
IPv6路由器不再执行碎片;相反,发现过程用于确定在给定会话期间使用的最佳MTU。在该发现过程中,源IPv6设备尝试以上IP层指定的大小的尺寸发送分组,例如,传输和应用层。如果设备接收到Internet控制消息协议(ICMP)“数据包太大”消息,则它将MTU发送了较小的MTU;重复该过程直到设备接收到发现分组到达完整的响应。然后,该设备设置会话的MTU。
ICMP“数据包太大”消息包含路径的正确MTU大小。每个源设备追踪每个会话的MTU大小。通常,通过基于目标地址创建高速缓存来完成跟踪;但是,它也可以通过使用流标签来完成。或者,如果执行基于源的路由,则可以通过使用源地址来完成MTU大小的跟踪。
发现过程是有益的,因为作为路由路径的变化,新的MTU可能更合适。如果设备接收ICMP“数据包太大”消息,则如果ICMP消息包含少于设备的当前MTU的推荐MTU,则会降低其MTU大小。设备每五分钟执行MTU发现,以查看MTU是否沿路径增加。用于IPv6的应用程序和传输层接受来自IPv6层的MTU还原通知。如果由于某种原因,这些上层不接受通知,IPv6具有太大的片段数据包的机制;但是,鼓励上层以避免发送需要碎片的消息。
IPv6地址表示
IPv6地址不是使用点分十进制格式,而是写成4个十六进制数字(16位)之间有冒号的十六进制数字;我们喜欢称之为“冒号十六进制”格式。的格式是x:: x x:: x:: x,在那里x是16位的十六进制字段。地址示例如下:
2035:0001:2BC5:0000:0000:087C: 0000:000A
重点 | IPv6地址格式 幸运的是,您可以缩短IPv6地址的书面形式。每组4个十六进制数字中的前导0可以省略,并且可以在一个地址中使用一对冒号("::")来表示任意数量的连续0。 |
例如,前面的地址可以缩写为:
2035:1:2BC5 :: 87C:0:a
可以写入全部0S地址::.
重点 | 只允许一对冒号 在一个IPv6地址中,一对冒号(::)只能使用一次。这是因为地址解析器通过将两个部分分开并输入0直到128位完成来标识缺失0的数量。如果在地址中放置两个::符号,将无法确定每个0块的大小。 |
类似于IPv4子网掩码如何写入前缀(例如,/ 24),IPv6使用前缀来指示网络或子网位数。
注意:IPv6地址中的十六进制数字A、B、C、D、E、F不区分大小写。
IPv6地址类型
IPv6地址主要有以下三种类型:
单播—与IPv4单播地址类似,IPv6单播地址用于单个接口。发送到单播地址的数据包将进入由该地址标识的接口。目前定义的两种单播地址类型是全球聚合地址(也称为全球单播地址)和链路本地地址。和IPv4一样,IPv6中的子网前缀与一个链路相关联。IPv6单播地址空间包括整个IPv6地址范围,除了FF00::/8范围(以二进制1111 1111开头的地址),它用于多播地址。
Anycast—IPv6任播地址是分配给a的一种新的地址类型集不同设备上的接口;Anycast地址识别多个接口。发送到Anycast地址的数据包转到最近的由任播地址标识的接口(由所使用的路由协议决定)。因此,具有相同任播地址的所有节点都应提供统一的服务。可以使用anycast地址的例子有负载平衡和内容交付服务。
Anycast地址在语法上与全球单播地址没有区别,因为Anycast地址是从全球单播地址空间分配的。
任意播地址不能作为IPv6报文的源地址。
多播- IPv6组播地址用于标识不同设备上的一组接口。发送到多播地址的数据包将被传送到全部由组播地址标识的接口。IPv6的组播地址范围比IPv4的大,在可预见的将来,IPv6组播地址的分配不会受到限制。
在IPv4中,广播会导致许多问题,包括在网络上的每台计算机中产生中断,在某些情况下还会引发故障广播风暴,它可以完全停止整个网络。
重点 | IPv6没有广播地址 IPv6中不存在广播;广播被组播和任意广播所取代。 |
多播通过使用一些特定的多播组向网络上有限数量的计算机发送请求,从而实现高效的网络操作。多播组阻止了IPv4中大多数与广播风暴相关的问题。
重点 | IPv6接口可能有多个地址 可以为单个接口分配任何类型的多个IPv6地址(单播,yourcast和组播)。 每个使能ipv6的接口必须至少包含一个loopback(::1/128)和一个link-local地址。一个接口可以有多个唯一的本地和全局地址。 |
IPv6地址中的接口标识符
在IPv6中,链路是网络节点使用链路层进行通信的一种网络介质。IPv6地址中的接口标识符(Interface identifier)用来标识链路上唯一的接口。它们也可以被认为是IPv6地址的“主机部分”。接口id要求在链路上是唯一的,也可以在更广的范围内是唯一的。当接口标识符直接从接口的数据链路层地址派生时,该标识符的作用域被假定为通用的(全局的)。
接口标识符始终为64位,并且基于第2层介质和封装动态创建。
IPv6定义在当前大多数数据链路层上,如表10-1所示。
表10-1 IPv6支持的数据链路图层
以太网1 |
点对点协议(PPP)1 |
高级数据链路控制(HDLC)1 |
光纤分布式数据接口(FDDI) |
令牌环 |
附加资源计算机网络(ArcNet) |
Nonbroadcast多路存取(NBMA) |
异步传输模式(ATM)2 |
框架继电器3. |
IEEE 13944 |
1思科支持的数据链路层。 2思科仅支持ATM永久虚拟电路(PVC)和ATM LAN仿真(车道)。 3.思科仅支持帧中继PVC。 4一种高性能串行总线标准,支持高达800mbps的数据速率(在IEEE 1394b中)。 |
数据链接层定义了如何创建IPv6接口标识符以及邻居发现如何处理数据链路层地址分辨率。RFCS描述了每个特定数据链路层中IPv6的行为,但Cisco IOS软件不一定支持它们中的所有数据。
重点 | 以太网接口标识符 对于以太网,使用的接口ID基于接口的MAC (Media Access Control)地址,采用扩展的64位通用标识符(EUI-64)格式。EUI-64格式的接口ID是通过在链路层地址的上3个字节(组织唯一标识符[OUI]字段)和下3个字节(厂商代码或序列号字段)之间插入16进制数FFFE而得到的48位链路层MAC地址。高阶字节的第7位设置为1(相当于IEEE G/L位),以表示48位地址的唯一性。 |
这个过程在图的纯.
EUI-64格式IPv6接口标识符
IPv6接口标识符中的第七位被称为通用/本地(U / L)位。该位标识此接口标识符是否在链接上是本地唯一的唯一唯一唯一独特。当从以太网MAC地址创建接口标识符时,假设MAC地址是普遍之唯的,因此,接口标识符是普遍之唯的。U / L位的目的是为了将来的上层协议使用来唯一地识别连接,即使在地址的最左侧部分的变化的上下文中也是如此。但是,此功能尚未使用。
IPv6接口标识符的第8位,也称为“G”位,是组/个人位,用于管理组。
由于隐私和安全问题,主机可以使用MAC地址作为基础创建随机接口标识符。这被视为隐私扩展,因为没有它,从MAC地址创建接口标识符允许跟踪到连接点的活动。Microsoft Windows XP目前是唯一已知这种能力的实现,并更喜欢使用此地址进行传出通信,因为地址具有短暂的寿命,并且将定期重新生成。此过程在RFC 3041中定义,IPv6中无状态地址自动配置的隐私扩展.
IPv6全球单播地址
IPv6寻址架构在RFC 4291中定义。
重点 | IPv6全球聚合单播地址 IPv6全球可聚合单播地址,也称为IPv6全球单播地址,相当于IPv4全球单播地址。 |
全球单播地址是来自全局单播前缀的IPv6地址。全局单播地址的结构使得路由前缀的聚合可以减少全局路由表中的路由表条目的数量。链接上使用的全局单播地址通过组织向上汇总,并最终汇到ISP,如图所示图10 - 6.这提供了在Internet内更有效和可扩展的路由,以及改进用户流量的带宽和功能。
IPv6的较大的地址空间可以实现地址聚合
全局单播地址通常由48位全局路由前缀,16位子网ID和64位接口ID(通常以EUI-64位格式)组成,如示例中所示图10-7.
单个组织可以使用子网ID来标识子网并创建它们自己的本地寻址层次结构。该字段允许一个组织使用多达65,536个独立子网。
IPv6全球单播地址示例
使用2000 :: / 3 [二进制001]至e000 :: / 3 [二进制111]的地址,不包括FF00:/ 8 [二进制1111 1111]多播地址,所以需要具有64位接口标识符eui-64格式。
当前由IANA (Internet Assigned Numbers Authority)分配的全球单播地址使用以二进制值001(2000::/3)开头的地址范围。这是总IPv6地址空间的八分之一,是最大的分配地址块。
IANA正在分配IPv6地址空间给注册表,范围是2001::/16。
在现在已经过量的RFC 2374,一个IPv6可聚合全球单播地址格式,全局路由前缀包括另外两个层次结构的字段,分别是顶层聚合器和下一层聚合器。因为这些字段是基于策略的,所以IETF决定从rfc中删除这些字段。然而,一些在早期部署的现有IPv6网络可能仍在使用基于旧架构的网络。(RFC 2374已经被RFC 3587取代,IPv6可聚合的全局单播地址格式。)
IPv6链路本地单播地址
链路本地地址的作用域限制在本地链路上,并通过使用特定的链路本地前缀FE80::/10和64位接口标识符在所有IPv6接口上动态创建图可达.链路本地地址用于自动地址配置、邻居发现、路由器发现和许多路由协议。
IPv6链接 - 本地地址结构
重点 | 链接的单播地址 链接本地单播地址可以用作在同一本地网络上连接设备而不需要全局地址的方法。 |
当与链路本地地址通信时,必须指定出接口,因为每个接口都连接到FE80::/10。
IPv6 Anycast地址
IPv6任播地址是分配给多个接口的全球单播地址;格式如下所示图- 9.对于IPv6, anycast被定义为一种将数据包发送到anycast组中最近(或最近)的接口的方法,从而提供到最近点的发现机制。
IPv6任播地址结构