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节点。