1 ipv6 地址架构
Ipv6 分为单播(unicast),任播(anycast),组播(multicast)地址。ipv6无广播地址。
单播:为单接口定义。发送单播数据包即向指定地址的接口发送数据包
任播:为一组接口定义。发送任播数据包即在一组指定的接口中向指定接口地址发送数据包。
组播:为一组接口定义。发送组播数据包即在一组指定接口中向所有接口地址发送数据包。
2 地址格式
Ipv6 通常有三种地址表示格式:
2.1 x:x:x:x:x:x:x:x 其中x表示16 bit的16进制值。 如:
FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
1080:0:0:0:8:800:200C:417A
2.2 第一种表现形式中,如果连续出现多个0,可将其“压缩”。通常使用”::”表示一组或多组16 bit的0。单”::”在地址中最多只能出现一次。如:
单播地址:1080:0:0:0:8:800:200C:417A -> 1080::8:800:200C:417A
组播地址:FF01:0:0:0:0:0:0:101 -> FF01::101
Loopback地址:0:0:0:0:0:0:0:1 -> ::1
0:0:0:0:0:0:0:0 -> ::
2.3 ipv4 和ipv6 组合表达。格式: x:x:x:x:x:x:d.d.d.d。x表示6个高位16bits的地址十六进制值。d表示4个低位8 bit地址的十进制值。如:
0:0:0:0:0:0:13.1.68.3 -> ::13.1.68.3
0:0:0:0:0:FFFF:129.144.52.38 -> ::FFFF:129.144.52.38
3 地址前缀表示
表示格式: ipv6-address/prefix-length 如表示60比特前缀为12AB00000000CD3的地址:
12AB:0000:0000:CD30:0000:0000:0000:0000/60
12AB::CD30:0:0:0:0/60
12AB:0:0:CD30::/60
4 地址类型定义:
5 单播地址:
单播地址可分为:全局单播地址(global unicast)、site-local单播地址和link-local单播地址。
5.1 EUI 格式生成:过mac地址生成ipv6地址。生成的ipv6地址路由是不会转发的。
5.2 未指定地址:0:0:0:0:0:0:0:0。该地址不会分配给任何节点,也不会被ipv6 路由转发,也不会用作目的ipv6地址。
5.3 loopback地址:::1.轮询地址,不作为源地址,不进行转发,不发送出节点。
5.4 全球单播地址(global unicast address):
格式:
Global routing profix: 分配给一个site(clusters of subnets/links) Subnet id: site 中定义的link id
全局单播地址已000开头,interface id无长度和结构约束。
5.5 ipv6嵌入ipv4地址(IPv4-compatible IPv6 address)。
全球唯一嵌入ipv4地址的ipv6地址格式:
其中 ipv4地址必须为全球唯一的公网ipv4地址。
自定义的嵌入ipv4地址的ipv6地址格式:
5.6 本地使用的ipv6单播地址(local-use)
分为Link-Local and Site-Local两种.
Link-local 地址格式:
源地址、目的地址为link-local地址时,该地址不被路由转发。只能在一个二层域中使用。如用于自动地址配置,邻居发现等。
Site-local 地址格式:
该地址设计用于同一个site内,且没有global prefix。并且ipv6路由只在相同的site内对地址进行转发。如果前缀为global prefix,一般使用相同的subnet id。
6 任播地址
约束: 任播地址不设置为ipv6 包的源地址。任播地址不会分配给任何ipv6 ho主机,只分配ipv6 router。
格式:
Subnet prefix定义了一个指定的链接。
发送给子网路由任播地址的数据包将被转发到子网上的一个路由。子网路由任播地址设计用来节点与一组路由中的任意一个进行通信。
7 组播地址
格式:
组播地址前8bits全为1。
Flags 为4bits,前3bits预留且必须置为0,最后1bit为0表示永久指派的组播地址,有IANA分配。最后1bit为1,表明临时性的组播地址。格式:
Scop是组播的范围值,即作用域。为4bits。值范围0-15.值对应含义:
节点收到scop为0的包将丢弃,节点收到scop为F的包,将其与scop为E的包对待。
7.1 预定义组播地址
预留组播地址:
所有node组播地址:
所有路由组播地址:
请求节点组播地址,格式:
其组成为前缀FF02:0:0:0:0:1:FF00::/104 + ipv6地址的低24bits。值范围:
如ipv6组播地址:4037::01:800:200E:8C6C is FF02::1:FF0E:8C6C
8 一个节点需要识别的地址
host:
1 link-local 地址
2 单播和任播地址
3 lookback地址
4 all-node 组播地址
5 其单播和任播地址对应的请求组播地址
6 node属于其他组的组播地址
一个router需要识别的地址除了节点需要识别的地址外,还需要识别一下地址:
1 配置作为路由的所有接口的子网路由任播地址。
2 路由配置的其他所有任播地址
3 所有路由的组播地址