IPv6地址格式
128位地址:冒分十六进制表示法
步骤:
- 分成8块,每堆16bits
- 每块将其转成4个16进制,并且用冒号隔开
- 每4个16进制数可以忽略前导0,并且如果一段全是0,可以全部忽略并用双冒号代替(例如X:0000:0000:0000:X → X::X),但是注意双冒号只能出现一次
- 最后要加上网络前缀,网络前缀长度用"/xx"来表示,如:1::1/64
IPv6地址分类:
- 单播地址(Unicast Address)
- 组播地址(Multicast Address):可以理解为一个QQ群,只有群内的人才需要这个报文,广播替代品
- 任播地址(Anycast Address):(暂略)
特殊地址:
- 全0地址(::/128):未指定地址,还没有获取地址前用其代替,还可以用于路由表的目的网络,代表默认路由
- 0…01(::1/128):环回地址,和127.0.0.1一样,代表本机
- 11111111……(FF00::/8):高8位全为1,组播
- 1111111010……(FE80::/10):链路本地地址(非常重要的单播地址)
- 1111111011……(FEC0::/10):网点本地地址
一些众所周知的组播地址:
链路本地地址
如果一个分组的源/目的地址是链路本地地址,那么这个分组只在本地链路有效
链路本地地址构造:
- 高64位:FE80:0:0:0
- 低64位:EUI-64地址(用MAC地址生成的)
MAC地址如何生成EUI-64地址
可聚合全球单播地址
→用来标识主机的接口
由IANA分配的可在全球路由的公网IP地址
- TLA:顶级聚类地址,主要分给各大地区的网络中心
- RES:保留位
- NLA:次级聚类
- SLA:站点级聚类地址,可以用来作为子网的规划
如何做到即插即用
启动时,生成链路本地地址,这个地址可以和它所在的链路的其他的节点进行通信
其中有个特殊的节点叫做默认网关,该地址和默认网关通信,可以获得全球IPv6地址前缀
有了这个前缀,就可以加上后面的interface id构成全球的单播地址
各类地址应用范围