功能:地址解析、重复地址检测、邻居发现
路由器发现、无状态自动配置、前缀重编制
重定向
NDP协议报文:RS报文、RA报文、NS报文、NA报文、重定向报文
--------------------------------------------------------------------------------------------------------------------
一、NS报文、NA报文的格式以及对应实现的功能
NS报文格式:
ICMPv6头部:Type 135 Code 0 Checksum
ICMPv6 Data:1.保留字段 2.目标地址:携带进行解析的IP地址 3.Options(源MAC地址选项)
NA报文格式:
ICMPv6头部:Type 136 Code 0 Checksum
ICMPv6 Data:1.R路由器标记位,表示发送者是否为路由器
2.S请求标记位,表示是否为对RS的回应
3.O替代/覆写位,表示是否进行表项信息更新
4.保留字段
5.目标地址:携带进行解析的IP地址
6.Options(源MAC地址,携带发送者MAC地址)
基于NS/NA实现的功能:
1.地址解析:获取下一跳设备的MAC地址
原理:组播向解析的IP地址对应的被请求节点组播地址发送NS邻居请求消息
对端收到后,回应NA邻居通告消息,该消息携带回应者的MAC地址
特点:1.基于组播方式进行地址解析,不在依赖广播机制
2.地址解析在网络层实现(IPv6基本包头 IPv6扩展包头 ICMPv6(NDP报文))
IPv6扩展包头可以为地址解析提供安全功能(认证、加密)
2.DAD重复地址检测:检测地址是否存在冲突
原理:向新获取单播地址对应的被请求节点组播地址发送NS请求(解析自身MAC地址)
如果收到NA回应,则说明网络存在使用相同单播地址的设备,则新获取的地址为不可用地址
3.邻居状态追踪:记录IPv6邻居状态信息,并检测邻居是否可达
IPv4怎么判断邻居是否可达?
ARP协议:维护ARP缓存表(1200s)
IPv4依赖计时器被动判断邻居是否可达
IPv6为邻居维护IPv6邻居表,表中记录邻居IP地址、MAC地址、邻居状态等信息
未完成Incomplete:向邻居发送NS邻居请求报文,未收到来自邻居的NA邻居通告报文
可达Reachable: 收到来自邻居的NA邻居通告报文,则邻居状态为可达状态
陈旧Stale:可达状态时30s内未进行通信,则邻居状态由可达状态变为陈旧状态,表示邻居是否可达 未知
延迟Delay:当陈旧状态时再次和邻居通信时,立马发送NS邻居请求进行解析,并进入延迟状态
如果在5s内收到邻居回应的NA邻居通告报文,则邻居状态迁移到可达状态
如果在5s内未收到邻居回应的NA邻居通告报文,则邻居状态迁移到探查状态
探查Probe:处于该状态时,持续1s/次向邻居发送NS邻居请求报文,共发送3次
如果在3s内收到邻居回应的NA邻居通告报文,则邻居状态迁移到可达状态
如果在3s内未收到邻居回应的NA邻居通告报文,则删除邻居