1. 认识IPv6地址
IPv4地址是类似 A.B.C.D 的格式,它是32位,用\".\"分成四段,用10进制表示;而IPv6地址类似X:X:X:X:X:X:X:X的格式,它是128位的,用\":\"分成8段,用16进制表示;可见,IPv6地址空间相对于IPv4地址有了极大的扩充。
RFC2373 中详细定义了IPv6地址,按照定义,一个完整的IPv6地址的表示法:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
例如: 2001:0000: 1F 1F :0000:0000:0100: 11A 0:ADDF
为了简化其表示法, rfc2373提出每段中前面的0可以省略,连续的0可省略为\"::\",但只能出现一次。例如:
1080:0:0:0:8:800: 200C : 417A 可简写为 1080::8:800: 200C : 417A
FF01:0:0:0:0:0:0:101 可简写为 FF01::101
0:0:0:0:0:0:0:1 可简写为 ::1
0:0:0:0:0:0:0:0 可简写为 ::
类似于 IPv4中的CDIR表示法,IPv6用前缀来表示网络地址空间,比如:
2001:251:e000::/48 表示前缀为48位的地址空间,其后的80位可分配给网络中的主机,共有2的80次方个地址。
为了使您更好的理解 IPv6,在这里给出一个表格,以比较IPv4和IPv6地址对应关系和区别。
IPv4地址 |
IPv6地址 |
组播地址( 224.0.0.0/4) |
IPv6组播地址(FF00::/8) |
广播地址 |
无,只有任播( anycast)地址 |
未指定地址为 0.0.0 .0 |
未指定地址为 :: |
回路地址为 127.0.0.1 |
回路地址为 ::1 |
公用 IP地址 |
可汇聚全球单播地址 |
私有地址( 10.0.0 .0/8、172.16.0.0/12和192.168.0.0/16) |
本地站点地址( FEC0::/48) |
Microsoft自动专用IP寻址自动配置的地址(169.254.0.0/16) |
本地链路地址( FE80::/64) |
表达方式:点分十进制 |
表达方式:冒号十六进制式(取消前置零、零压缩) |
子网掩码表示:以点阵十进制表示法或前缀长度表示法( CIDR) |
子网掩码表示:仅使用前缀长度表示法( CIDR) |
2. IPv6地址作用域和地址分类
• IPv6地址指定给接口,一个接口可以指定多个地址。
• IPv6地址有作用域:
link local地址 本链路有效
site local地址 本区域(站点)内有效,一个site通常是个校园网
global地址 全球有效,即可汇聚全球单播地址
• IPv6地址分类:
unicast 单播(单点传送)地址
multicast 组播(多点传送)地址
anycast 任播(任意点传送)地址
IPv6没有定义广播地址,其功能由组播地址替代
3. 常见的IPv6地址及其前缀
• ::/128 即0:0:0:0:0:0:0:0,只能作为尚未获得正式地址的主机的源地址,不能作为目的地址,不能分配给真实的网络接口。
• ::1/128 即0:0:0:0:0:0:0:1,回环地址,相当于IPv4中的localhost(127.0.0.1),ping locahost可得到此地址。
• 2001::/16 全球可聚合地址,由 IANA 按地域和ISP进行分配,是最常用的IPv6地址,属于单播地址。
• 2002::/16 6 to 4 地址,用于6to4自动构造隧道技术的地址,属于单播地址。
• 3ffe::/16 早期开始的IPv6 6bone试验网 地址,属于单播地址。
• fe80::/10 本地链路地址,用于单一链路,适用于自动配置、邻机发现等,路由器不转发以fe80开头的地址。
• ff00::/8 组播地址。
• ::A.B.C.D 兼容IPv4的IPv6地址,其中<A.B.C.D>代表IPv4地址。自动将IPv6包以隧道方式在IPv4网络中传送的IPv4/IPv6节点将使用这些地址。
• ::FFFF:A.B.C.D 是IPv4映射过来的IPv6地址,其中<A.B.C.D>代表IPv4地址,例如 ::ffff:202.120.2.30 ,它是在不支持IPv6的网上用于表示IPv4节点。
4. 综合组网技术
在目前 IPv6和IPv4共存的情况下,实现V4和V6互联互通的综合组网技术和策略有:
1) 双栈策略
双栈策略是指在网元中同时具有 IPv4和IPv6两个协议栈,它既可以接收、处理、收发IPv4的分组,也可以接收、处理、收发IPv6的分组。对于主机(终端)来讲,“双栈”是指其可以根据需要来对业务产生的数据进行IPv4封装或者IPv6封装。对于路由器来讲,“双栈”是指在一个路由器设备中维护IPv6和IPv4两套路由协议栈,使得路由器既能与IPv4主机也能与IPv6主机通信,分别支持独立的IPv6和IPv4路由协议,IPv4和IPv6路由信息按照各自的路由协议进行计算,维护不同的路由表。IPv6数据报按照IPv6路由协议得到的路由表转发,IPv4数据报按照IPv4路由协议得到的路由表转发。
2) 隧道策略
隧道策略是 IPv4/v6综合组网技术中经常使用到的一种机制。所谓“隧道”,简单地讲就是利用一种协议来传输另一种协议的数据技术。隧道包括隧道入口和隧道出口(隧道终点),这些隧道端点通常都是双栈节点。在隧道入口以一种协议的形式来对另外一种协议数据进行封装,并发送。在隧道出口对接收到的协议数据解封装,并做相应的处理。在隧道的入口通常要维护一些与隧道相关的信息,如记录隧道MTU等参数。在隧道的出口通常出于安全性的考虑要对封装的数据进行过滤,以防止来自外部的恶意攻击。
隧道的配置方法分为手工配置隧道和自动配置隧道,而自动配置隧道又可以分为兼容地址自动隧道、 6to4隧道、6over4、ISATAP、MPLS隧道、GRE隧道等,这些隧道的实现原理和技术细节都不相同,相应的,其应用场景也就不同。