一、IPv6地址类型
IPv6地址分为单播地址、组播地址、任播地址
1、单播地址
①全球单播地址
全球唯一地址,类似于IPv4的公网IP地址,以2000:: /3开头
②链路本地地址
以FE80::/10开头,用于同一链路内通信,不可路由
③唯一本地地址
以FC00::/7开头,用于私有网络,避免地址冲突
④环回地址
以::1/128,等同于IPv4中的127.0.0.1
⑤未指定地址
以::/128开头,用于初始化或默认路由,等同于IPv4的0.0.0.0
2.组播地址
地址结构:
范围:FF00::/8 FF00--FFFF
11111111:固定前缀8bit
- flags 4bit
- 用来表示永久或临时组播地址
- 0000表示永久组播地址
- 0001表示临时组播地址
- Scope(范围)4bit
- Reserved(必须为0)80bit
- Group ID组播组 32bit
-
IPv6组播有自己的MAC地址
- 1、IPv4组播MAC地址的高24bit为0x01005E,第25bit为0,低23bit为IPv4组播地址的低23bit映射。
- 由于IPv4组播地址的高4bit是1110,代表组播标识,而低28bit中只有23bit被映射到IPv4组播MAC地址,这样IPv4组播地址中就有5bit信息丢失。于是,就有32个IPv4组播地址映射到了同一个IPv4组播MAC地址上,因此在二层处理过程中,设备可能要接收一些本IPv4组播组以外的组播数据,而这些多余的组播数据就需要上层进行过滤了。
- 1、IPv4组播MAC地址的高24bit为0x01005E,第25bit为0,低23bit为IPv4组播地址的低23bit映射。
3、任播地址
作用:可以实现最优路径备份
一般用在DNS和HTTP
不开启DAD(重复地址检测)功能
二、无状态地址自动配置(SLAAC)
1、原理:
设备通过接收路由器发送的路由器通告(RA)报文,获取网络前缀(Prefix)和默认网关信息,结合自身接口标识符(EUI-64或随机生成)生成IPv6地址。
2、怎么使用EUI-64生成接口?
- 从MAC地址中间插入FFFE,组成64bit,将第七bit取反,生成64bit接口标识
- MAC地址,第1bit为0,叫做全局管理地址
- MAC地址,第1bit为1,叫做本地管理地址
- 华为设备中第7bit不管是0还是1,进行EUI-64规范时,要求取反
- 思科设备中,不管是0还是1,都要变成1
三、邻居发现协议(NDP)
功能:
替代IPv4的ARP和ICMP路由发现,实现地址解析,重复地址检测(DAD),路由器发现等
关键报文:
路由器请求(RS):主机请求路由器发送RA报文
路由器通告(RA):路由器广播网络前缀和参数
邻居请求(NS):解析链路层地址或检测地址冲突
邻居通告(NA):响应NS或主动更新链路层地址
四、地址冲突检测(DAD)
类似于IPv4的ARP报文
原理:
设备在配置地址前,发送NS报文(目标地址为待配置地址)若收到其他节点的NA报文(源地址相同),则地址冲突需重新配置。
五、ICMP不同消息类型
1、差错消息(0-127)
1---目的不可达:数据包无法送达
2---数据包过长:数据包超过链路MTU
3---超时:跳数限制耗尽
4---参数错误
2、信息消息(128-255)
128/129---回显请求/应答:类似于IPv4的ping
133/134---路由器请求/通告:NDP核心功能
135/136---邻居请求/通告:地址解析和可达性确认
137---重定向:路由器通知主机更优路劲