概述
结构
全球路由前缀:全局路由前缀为提供商分配给客户或场点的地址前缀(网络部分)。
子网ID:组织使用子网ID表示其场点的子网。
接口ID:类似于IPv4的主机号。使用术语‘接口ID’是因为单台主机可能有多个接口,而每个接口又有一个或多个IPv6地址。
格式
首选格式:将128位二进制数按每16位划分为一组,可以划分为8个组,每组使用四位16进制整数表示,各组之间用冒号相隔。[X:X:X:X:X:X:X:X]
压缩格式:对每个"组"进行化简,将无关紧要的'0'去除掉
内嵌格式:规定当地址中存在一个或多个连续的16的倍数个比特的字符'0'时,可以使用两个冒号(双冒号)表示,注意在内嵌格式中只允许出现一个双冒号,如果出现两个双冒号,那么两个双冒号各代表了几位0就会存在二义性。
例:
原始数据:
1010101111001101 0000101010111100 0000000010101011 0000000000001010
0000000000000000 0000000000000000 0000000000000000 0001000000000000
首选格式:ABCD:0ABC:00AB:000A:0000:0000:0000:1000
压缩格式:ABCD:ABC:AB:A:0:0:0:1000
内嵌格式:ABCD:ABC:AB:A::1000
IPv6采用类似于IPv4中的无分间路由CIDR机制中的地址前缀,地址前缀用来标识网络,子网和路由(选路)。
格式:{前缀/接口标识符}
前缀类比IPv4中的网络号,接口标识符类比IPv4中的主机号。
全球IPv6地址规划:
注:为了方便查看,前缀(内嵌)一栏没有完全按照内嵌规则来写。
EUI-64规范
由设备将48比特的MAC地址转化为64比特的接口标识符(MAC唯一所以接口标识符也唯一)。
例:
MAC地址:00:11:22:33:44:55
二进制:00000000 00010001 00100010 00110011 01000100 01010101
插入FFFE:00000000 00010001 00100010 11111111 11111110 00110011 01000100 01010101
反转U/L位:00000010 00010001 00100010 11111111 11111110 00110011 01000100 01010101(也就是第七位)
EUI-64地址:0211:22FF:FE33:4455
根据使用的操作系统,设备可以随机生成接口ID,而不使用MAC地址和EUI-64流程。WindowsXP和之前的Windows操作系统都使用EUI-64。
分类
单播地址:
用来标识单一网络接口。一个节点可以具有多个IPv6网络接口,每个接口必须有一个与之相关的单播地址,一个IPv6单播地址可以看成是一个两字段实体,其中一个字段用来标识网络,另一个字段用来标识该网络上节点的接口。网络标识符可被划分为几部分,分别标识不同的网络部分。IPv6单播地址的类型包括可汇聚全球单播地址、本地使用单播地址、内嵌IPv4的IPv6地址。
可汇聚全球单播地址
这些地址具有全局唯一性,是 Internet 可路由的地址。全局单播地址可以静态配置,也可动态分配。设备动态获得IPv6地址的方式与IPv4的DHCP相比有重要差异。
公共拓扑
FP:ISP提供商分配的前缀、标注着全球5个ISP,占3位。
TLAID:顶级汇聚标识符、包含最高级地址选路信息,占13位。
RES:保留字段、占8位。
NLAID:下一级汇聚标识符、被一些机构用于控制顶级汇聚以安排地址空间。
站点拓扑
SLAID:站点级汇聚标识符、组织机构使用提供商分配的一个48位前缀,可以用前缀的第49~64(一共16位)划分子网。
接口ID:接口标识符
本地使用单播地址
本地链路地址
本地链路地址用于与同一链路中的其他设备通信。在IPv6中,术语链路指的是子网。本地链路地址仅限于单个链路。它们的唯一性仅在该链路上得到保证,因为它们在该链路之外不具有可路由性。换句话说,路由器不会转发将本地链路地址用作源地址或目的地址的数据包。
网络中结点启动IPv6协议栈时,结点的每个接口会自动分配一个本地链路地址在本地网络中使用,前缀FE80::/64是特定的,后64位是EUI-64地址,这种机制的特点是连接在同一链路上的两个IPv6结点不需要任何配置即可通信,也就是“即插即用”。
本地站点地址:
相当于IPv4中的私网地址,前48位固定,以FEC0::/48开始,然后是提供单位构建16位子网ID字段,最后是64位接口ID。应用范围受限,仅能在一个单位的网络内使用,本地站点地址可以供任何没有申请ISP提供商分配的可聚合类全球单播地址的组织机构和单位使用。
在IPv4中,使用NAT/PAT将多个私有地址转换为一个公有地址。这样做是由于Iv4地址空间有限。许多场点也利用地址的私有性质来帮助保护或隐藏网络,使其免遭潜在的安全风险。然而,这绝不是开发这些技术的初衷,IETF始终推荐各场点在面向 Internet 的路由器上采取妥善的安全预防措施。虽然,IPv6的确提供了特定场点编址,但其初衷并非对IPv6 intemet 隐藏支持Pv6的内部设备。IETF建议通过采用适当的最佳实践安全措施来限制对设备的访间。
内嵌IPv4的IPv6地址
这些地址有助于IPv4向IPv6的过滤。IPv6的最低32位可以用于表示IPv4地址,该地址可以按照一种混合方式表示:[X:X:X:X:X:X:D.D.D.D],其中X代表16位二进制数,D代表8位二进制数。例如:[::10.6.65.120]就是一个合法的IPv4地址。
IPv6提供两类嵌有IPv4地址的特殊地址。这两类地址高80位均为'0',低32位为IPv4地址。当中间16位被置为FFFF时,表示该地址为IPv4映像的IPv6地址。
IPv4兼容地址:被节点用于通过IPv4路由器并以隧道方式传送IPv6包。这些节点即能解析IPv4又能解析IPv6
IPv4映像地址:被IPv6节点用于访问只支持IPv4的节点
需要指出的是IPv4兼容IPv6地址已经在RFC4213中废除,一起废除的还有使用该格式的自动隧道配置机制。
IPv4兼容的IPv6地址
IPv4映射的IPv6地址
多播地址:
用来标识一组网络接口(通常属于不同的节点),替代了IPv4中的广播地址。用最高8位是11111111二进制位组合来标识多播地址。多播地址只能用作目的地址。
标识位:全一表示为多播地址,占地址空间的1/256。
标志位:用来标识永久(permanent)或临时(transient)多播组。RFC4291中定义0:最高位必须是0,R:标识是否为内嵌汇聚结点地址的多播地址,P:标识是否为基于单播网络前缀的多播地址,T:用来标识该地址是由因特网编号机构ICANN指定的熟知多播地址。
范围:限制多播数据流在网络中发送位置,例如多播组是只包括同一本地网、同一站点、同一机构的节点,还是包括IPv6全球空间中任何位置的节点。
组ID:表示多播组的序列号,用来标识多播组。
分配的多播地址
FF02::1 本地链路全节点多播组:这是一个包含所有支持IPv6的设备的多播组。发送到该组的数据包由该链路或网络上的全部IPv6接口接收和处理。这与IPv4中的广播地址具有相同的效果。IPv6路由器将 Internet 控制消息协议第6版(ICMPv6)RA消息发送给全节点多播组。RA消息通知网络中所有支持IPv6的设备有关路由的信息,如前缀、前缀长度和默认网关。
FF02::2 本地链路所有路由多播组:这是一个所有IPv6路由器都会加入的多播组。使用ipv6 unicast - routing 全局配置命令将路由器配置为IPv6路由器后,该路由器即成为该多播组的一员。发送到该组的数据包由该链路或网络上的所有IPv6路由器接收和处理。
支持IPv6的设备发送 ICMPv6路由器请求(RS)消息到所有路由器多播地址。RS消息请求Pv6路由器发出RA消息,以帮助设备配置地址。
FF02::5 OSPFv3 all SPF routers多播地址
FF02::6 OSPFv3 all DR routers多播地址
FF02::9 RIP routers多播地址
FF01::1 本地结点全节点多播组
FF01::2 本地结点所有路由多播组
FF05::2 本地站点所有路由多播组
IPV6请求节点多播地址
请求节点多播地址类似于本地链路全节点多播地址,主要用于重复地址检测和获取邻居结点的链路层地址。全节点多播地址在本质上与IPv4广播相同。网络中的所有设备都必须处理发送到全节点地址的流量。要减少必须处理流量的设备数量,可使用请求节点多播地址。
请求节点多播地址是仅与设备IPv6全局单播地址的最后24位匹配的地址。需要处理这些数据包的设备仅是接口ID具有相同最低24位(最右边的部分)的设备。
分配全局单播或本地链路单播地址后,会自动创建IPv6请求节点多播地址。Pv6请求节点多播地址的创建方法是,合并前缀FF02:0:0:0:0:1:FF00::/104和单播地址最右边的24位。
请求节点多播地址由以下两部分组成:
FF02:0:0:0:0:1:FF00::/104多播前缀:这是请求节点多播地址的前104位。
最低24位:这是请求节点多播地址的最后(最右边)24位。这些位是从设备的全局单播或链路本地地址的最右边24位复制而来的。多台设备的请求节点多播地址可能相同。虽然少见,但当设备的接口ID的最后24位相同时,就出现这种情况。这不会造成任何问题,因为设备依然会处理封装的消息,其中包含目标设备的IPv6地址。
IPv6多播地址映射为Ethernet地址:RCF规定,如果目的地址是一个多播地址,那么MAC地址前两个字节置为3333,而最后4字节是IPv6目的多播地址的最后四个字节。如果目的地址是被请求结点的多播地址,那么MAC首部包含多播前缀0x3333,而第3个字节为FF,最后3个字节包含IPv6请求结点多播地址的最后3个字节,IPv6地址格式为FF02::1:FFXX:XXXX。
任播地址:
用来标识一组网络接口,IPv6任意播地址是可分配给多台设备的IPv6单播地址。发送至任意播地址的数据包会路由到拥有该地址的最近设备。任播使一种到最近结点的发现机制成为可能。一个客户机发出请求到任播地址,响应的应该是与该任播地址相关联最近的服务器。
RFC2526规定在每个子网内,接口标识符0~127为子网任播地址分配而保留,0~125和127保留,126用于家乡代理任播。
特殊地址
环回地址
主机使用环回地址发送数据包到其自身,环回地址不能分配给物理接口。与IPv4环回地址类似,您可以 ping IPv6环回地址,以测试本地主机的TCP/IP配置。Pv6环回地址除最后一位外全为0,使用压缩格式表示为::1/128或::1
未指定地址
未指定地址是全0地址,使用压缩格式表示为::/128或::。它不能分配给接口,仅可作为IPv6数据包的源地址。在设备尚无永久IPv6地址或数据包的源地址与目的地址不相关时,将未指定地址用作源地址。
IPv4与IPv6对比
IPv6地址配置
全状态自动配置:在IPv4中DHCP实现了IP地址的自动设置,IPv6继承了IPv4的这种自动配置服务,并将其称为全状态自动配置。
无状态自动配置:首先主机将其网卡MAC地址附加在链路本地地址前缀1111 1110 10之后产生一个本地链路地址,并发出一个ICMPv6邻居发现报文,用来验证其地址的唯一性,如果请求没有回应,则表明主机自我配置的本地链路地址是唯一的。否则,主机将使用一个随机产生的接口ID组成一个新的本地链路地址。获得本地链路地址后,主机以该地址为源地址,向本地链路中所有路由器组播ICMPv6路由请求报文,路由器以一个包含可聚合全球单播地址前缀的路由器公告报文响应。主机从路由器得到的地址前缀加上自己的接口ID,自动配置一个全球单播地址。
地址分配
全球有5个RIR负责所在的区域的IPv6的地址分配
欧洲网络资讯中心(RIPE-NCC):负责欧洲、中东、部分亚洲地区的地址分配
亚太互联网络信息中心(APNIC):负责亚洲和太平洋地区的地址分配
非洲互联网络信息中心(AfriNIC):负责非洲地区的地址分配
美洲网络编号注册局(ARIN):负责加拿、美国以及加勒比海和北大西洋的一些岛屿的地址分配
拉丁美洲和加勒比互联网络信息中心(LACNIC):负责拉丁美洲和加勒比海地区的地址分配
最后
以上就是忧心面包为你收集整理的IPv6地址技术结构格式全球IPv6地址规划:EUI-64规范分类IPv4与IPv6对比IPv6地址配置地址分配的全部内容,希望文章能够帮你解决IPv6地址技术结构格式全球IPv6地址规划:EUI-64规范分类IPv4与IPv6对比IPv6地址配置地址分配所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复