我是靠谱客的博主 典雅舞蹈,最近开发中收集的这篇文章主要介绍IPv6知识概述 - IPv6地址IPv6知识概述 - IPv6地址,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

IPv6知识概述 - IPv6地址

IPv6地址表示

根据RFC4291,IPv6地址有3中格式:首选格式,压缩表示和内嵌IPv4地址的IPv6地址表示。

首选格式

IPv6的地址长度是128位(bit),将这128位的地址按每16位划分为一个段,将每个段转换成十六进制数字,并用冒号隔开,格式如下:

x:x:x:x:x:x:x:x 	(x表示一个4位十六进制数) 

典型的例子如下所示:
2000:0000:0000:0000:0001:2345:6789:ABCD
IPv6地址每段中的前导0是可以去掉的,但是至少要保证每一段有一个数字。将不必要的前导0去掉后,上述地址可以表示为:
2000:0:0:0:1:2345:6789:ABCD

压缩表示

当一个或多个连续的段内各位全为0时,为了缩短地址长度,用::(双冒号)表示,但是一个IPv6地址中只允许用一次,例如下列地址:
2000::1:2345:6789:abcd
FF01::101
::1
::

内嵌IPv4地址的IPv6地址表示

这是IPv4向IPv6过渡的一种特殊表示方法,在这种表示方法中,IPv6地址的第一部分使用十六进制表示,而IPv4地址部分是十进制格式:

x:x:x:x:x:x:d.d.d.d (d表示IPv4地址中的一个十进制数)

IPv6地址分类

IPv6地址整体上分为三类:单播地址,任播地址,组播地址。
单播地址:一个单播地址对应一个接口,发往单播地址的数据包会被对应的接口接收;
任播地址:一个任播地址对应一组接口,发往任播地址的数据包会被这组接口的其中一个接收,被哪个接口接收由具体的路由协议确定;
组播地址:一个组播地址对应一组接口,发往组播地址的数据包会被这组的所有接口接收;
在这里插入图片描述

单播地址

单播地址只能分配给一个节点上的一个接口,即寻址到该单播地址的数据报文最终会被发送到一个唯一的接口。单播地址可以分为链路本地地址,站点本地地址,可聚合全球单播地址等。

单播地址结构

一个主机接口上的128位IPv6单笔地址一般可以被看做成一个整体来代表这台主机,而当要表示这个主机上的接口所连接的网络时,将这个128位IPv6单播地址分成两部分来表示:
在这里插入图片描述其中各字段的含义如下:

  • Subnet Prefix:n位子网前缀,表示接口所属的网络。
  • Interface ID:接口标识,用以区分连接在一条链路上的不同接口。

可聚合全球单播地址

IPv6公网地址,可聚合全球单播地址前缀的最高3位固定为001,其结构如下图所示:
在这里插入图片描述其中各字段的含义如下:

  • Global Routing Prefix:全球可路由前缀,表示了站点所得到的前缀值。全球可路由前缀是由IANA下属的组织分配给ISP或其他机构的,前3位时001。该部分包含有严格的等级结构,用以区分不同地区,不同等级的机构或者ISP,便于路由聚合。
  • Subnet ID:子网ID,表示全球可路由前缀所代表的站点内的子网。
  • Interface ID:接口标识,用于表示链路上不同的接口,并具有唯一性。接口ID可以有设备随机生成或手动配置,在以太网中还可以按EUI-64格式自动生成。

链路本地地址

链路本地地址的应用范围受限,只能在连接到同一本地链路的节点之间使用。在IPv6邻居节点之间的通信协议中广泛使用了该地址,如邻居发现协议,动态路由协议等。
链路本地地址有固定的格式,如下图所示:
在这里插入图片描述链路本地地址由一个特定的前缀和接口ID两部分组成,它使用了特定的链路本地前缀FE80::/64,同事将接口ID添加在后面作为地址的低64位。
当一个节点启动IPv6协议栈时,节点的每个接口会配置一个链路本地地址。这种机制使得两个连接到同一链路的IPv6节点不需要做任何配置就可以通信。链路本地地址使用固定的前缀FE80::/64,接口ID部分使用EUI-64地址。

站点本地地址

站点本地地址是另一种应用范围受限的地址,它只能在一个站点内使用。目前已被废弃,不再使用。

唯一本地地址

唯一本地赋值的结构如下图所示:
在这里插入图片描述其中各字段的含义如下:
1)固定前缀为FC00::/7
2)L:表示地址的范围,如果取值为1,表示本地范围,0保留
3)Global ID:全球唯一前缀,随机方式生成
4)Subnet ID:划分子网时使用

唯一本地地址具有以下特性:
1)具有全球唯一前缀
2)可用于构建VPN
3)具有众所知周的前缀,边界路由器可以很容易对其过滤
4)其地址与ISP分配的地址无关,任何人都可以随意使用
5)一旦出现路由泄露,不会与Internet路由产生冲突,因为其是全球唯一的
6)在应用中,上层协议将其当成全球单播地址对待,简化上层协议

特殊地址

特殊地址主要有两类:未指定地址和环回地址。

  • 未指定地址
    全0,表示某一地址不可用,特别时在报文中的源地址为指定时使用。未指定地址不能用于目的地址。
  • 环回地址
    与IPv4的127.0.0.1功能相同,只在节点内部有效。当路由器收到目的地址是其环回地址的报文时,不能再向链路上转发。

IEEE EUI-64接口ID

EUI-64接口ID时IEEE定义的一种64位的扩展唯一标识符。目前IPv6单播地址基本上都要求接口标识符为64位。IEEE EUI-64格式的接口标识符是从接口的链路层地址(MAC地址)变化而来的。IPv6地址中的接口标识符是64位,而MAC地址是48位,因此需要在MAC地址的中间位置(从高位开始的第24位后)插入十六进制数FFFE(1111111111111110)。为了确保这个从MAC地址得到的接口标识符是唯一的,还要将Universal/Local (U/L)位(从高位开始的第7位)设置为“1”。最后得到的这组数就作为EUI-64格式的接口标识符。如下图所示:
在这里插入图片描述

组播地址

组播地址基本机构

所谓组播,是指一个源节点发送的单个数据报文能被特定的多个目的节点接收到。在IPv6网络中,组播地址有特定的前缀FF::/8来标识,其结构如下图所示:
在这里插入图片描述其中各字段含义如下:
1)Flgs(标志):该段有4位,|0|R|P|T|

  • Flgs的高1位为保留位,必须设置为0;
  • T位如果为置0表示永久分配或者是well-known组播地址,如果置1表示临时分配动态的地址,不固定。
  • P位如果置1的话表示此组播地址是一个基于单播前缀的ipv6组播地址,默认为0,如果P位设置为1,那么T位必须为1。
  • R位如果置1的话表示此组播地址是一个内嵌RP地址的ipv6组播地址,默认为0。

2)Scop(范围):该字段占有4位,用来限制组播数据流在网络中发送的范围。

  • 0 reserved
  • 1 Interface-Local scope–节点本地范围
  • 2 Link-Local scope–链路本地范围
  • 3 reserved
  • 4 Admin-Local scope-管理本地范围
  • 5 Site-Local scope–站点本地范围
  • 6 (unassigned)
  • 7 (unassigned)
  • 8 Organization-Local scope-组织本地范围
  • 9 (unassigned)
  • A (unassigned)
  • B (unassigned)
  • C (unassigned)
  • D (unassigned)
  • E Global scope–全局范围的
  • F reserved

3)Group ID(组ID):该字段长度为112位,用以标识组播组。

被请求节点组播地址

在IPv6组播地址中,有一种特别的组播地址,被称为请求节点组播地址(Solicitted-node Address)。被请求节点组播地址时一种具有特殊用途的地址,主要用于在重复地址检测和获取邻居节点的链路层地址时,代替IPv4中使用的广播地址。
被请求节点组播地址由前缀FF02::1:FF00::/104和单播地址的最后24位组成,如下图所示:
在这里插入图片描述对于节点或路由器的接口上配置的每个单播和任播地址,都自动启用一个对应的被请求节点组播地址。被请求节点组播地址使用范围为链路本地。

众所周知的组播地址

IPv6具有一些众所周知的组播地址,他们具有特殊的含义,如下表所示:

组播地址范围含义描述
FF01::1节点所有节点在本地接口范围的所有节点
FF01::2节点所有路由器在本地接口范围的所有路由器
FF02::1链路本地所有节点在本地链路范围的所有节点
FF02::2链路本地所有路由器在本地链路范围的所有路由器
FF02::5链路本地OSPF路由器所有OSPF路由器组播地址
FF02::6链路本地OSPF DR路由器所有OSPF的DR路由器组播地址
FF02::9本地链路RIP路由器所有RIP路由器组播地址
FF02::13本地链路PIM路由器所有PIM路由器组播地址
FF05::2站点所有路由器在一个站点范围内的所有路由器

任播地址

IPv6特有的地址类型,用于标识一组网络接口。但是与组播地址不同,路由器会将目的地址为任播地址的数据报文,发送给距本路由器最近的一个网络即可。任播适合于“One-to-One-of-Many”的通信场合,接收方只要时一组接口中的任意一个即可。
任播地址从单播地址空间中进行分配,使用单播地址的格式。仅通过地址本身,节点时无法区分任播地址和单播地址的,所以,节点必须使用明确的配置而知名它是一个任播地址。目前,任播地址仅被用做目的地址,且仅分配给路由器。

接口上的IPv6地址

IPv6的一个优点就是在节点的一个接口上可以配置多个IPv6地址,包括单播地址,组播地址等。

最后

以上就是典雅舞蹈为你收集整理的IPv6知识概述 - IPv6地址IPv6知识概述 - IPv6地址的全部内容,希望文章能够帮你解决IPv6知识概述 - IPv6地址IPv6知识概述 - IPv6地址所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部