目录
一.IPv6基础
1.IPv6地址介绍
IPv6地址压缩表示:
4003:0550:0000:0001:0000:0000:0000:52ff
压缩 4003:0550:0000:0001::52ff (注意:”::”只能出现一次)
4003:550::0:1::52ff地址前缀长度用”/xx”来表示,如:4003:550::0:1::52ff/64
2.IPv6地址分类
单播地址(Unicast Address)
全球单播地址 (Global Unicast Address)
IPv6公网地址,类似IPv4的公网单播地址,前缀前三位固定为001,有效地址范围前缀: (2000~3FFF)
目前只是用了下面两个前缀的地址段,其余为保留地址段:
2001::/64 首批使用的可聚合全球单播地址
2002::/64 IPv4网络中建立6to4隧道的地址
3ffe::/16 用于6bone测试目的前缀
链路本地地址(Link Local Address)
前缀: FE80::/10
节点的每个接口自动生成一个link-local address 前缀64位为标准指定,后64位按EUI-64格式生成(目前windows已不采用EUI-64)
使用:DHCPv6, 邻居发现等都需要使用链路本地地址,因为它能唯一标识节点接口 概念类似IPv4地址的169.254.x.x,用于同一链路上的节点间通信,路由不转发
站点本地地址(Site Local Address)
前缀: FEC0::/10
IPv6私网地址,概念类似于IPv4中的私网保留地址,RFC3879已不建议使用,RFC4193新定义唯一本地地址(FC00::/7)替代站点本地地址
只可在本地私有局域网中通讯
未指定地址(Unspecified Address)
形式:::
表示地址未指定,或者在写默认路由时代表所有路由
回环地址(Lookback Address)
形式:::1
同IPV4中127.0.0.1地址的含义一样,表示节点自已
组播地址(Multicast Address)
IPv6中没有广播,用组播来代替
常用组播指定地址
FF02::1 链路本地范围所有节点组播地址
FF02::2 链路本地范围所有路由器组播地址
FF02::1:2 链路范围内所有DHCPv6服务器和中继
其它组播指定地址:
FF02::5 所有运行OSPF的路由器
FF02::9 所有运行RIP的路由器
FF02::A 所有运行EIGRP的路由器
被请求节点的组播地址
前缀:FF02::1:FFxx:xxxx/104
产生:被请求节点组播地址的前104位固定,将IP地址的后24位移下来填充到后面
例:IPv6---2001::1234:5678/64
被请求节点组播地址---FF02::1:FF34:5678/104
作用:
1. 被请求节点组播地址在邻居发现协议地址解析(同IPv4的ARP)中被用来获得本地链路上邻居节点的链路层地址
2. 在重复地址检测DAD中,节点以自己的IPv6地址生成的被请求节点组播地址作为目的地址,验证在本地链路上该地址是否已经被使用
地址解析:
DAD检测:
二. IPv6报文格式
Version(4-bit):IP版本,该字段值为6
Traffic Class(8-bit):流量分类,与IPv4包头的TOS类似
Flow Label(20-bit):流标签,用来标记IPv6数据包的一个流
Payload Length(16-bit):有效载荷的长度,扩展报头