ICMPv6 路由器请求和通告(ICMPv6类型 133, 134)

ICMPv6路由器请求(RS:类型为133)报文用于请求链路上的路由器发送RA报文。RS报文被发送到所有路由器组播地址ff02::2。

ICMPv6 路由器通告(RA:类型为134)报文表明附近路由器的存在及其功能。它定期被路由器发送,或者是响应一个路由器请求(RS)报文。RS报文用于请求链路上的路由器发送RA报文。RS报文被发送到所有路由器组播地址ff02::2。

RS报文非常简单:如下:

RESTFUL 生产的报文格式 ra报文格式_网络

wireshark包如下:

RESTFUL 生产的报文格式 ra报文格式_字段_02

路由器通告(RA)报文是路由器发送到所有节点的组播地址(FF02::1)的,或者是发送到请求逐级的单播地址——如果该通告是为了响应一个请求。RA报文通知本地主机和其他路由器关于本地链路的有关配置细节。

RA报文如下:

RESTFUL 生产的报文格式 ra报文格式_字段_03

 

当前跳数限制(Current Hop Limit)字段指定主机发送IPv6数据报的默认跳数限制。值为0表示发送路由器并不关心,跳数限制(hlim)。

下一个字节包含了位字段数:

M(Managed address configuration:托管)字段表明本地IPv6地址分配是由有状态的配置来处理的,主机应避免使用无状态的自动配置。

O(Other configuration:其他)字段表示其他有状态的信息(即IPv6地址以外的)使用一个有状态的配置机制。

H(Home Agent:本地代理)字段表示发送路由器愿意充当一个移动IPv6节点的本地代理。

P(Prf Default Router Preference:优先级)字段给出了将报文发送者作为一个默认路由器来使用的优先级层次:01,高;00,中(默认);11,低;10,保留(未使用)。

P(Proxy:代理)字段表示当需要和实验性质的ND代理工具配合使用时才会被设置。它为IPv6提供了一个类似代理ARP的功能。

R(Reserved:保留)字段未被使用

路由器生命周期(Router Lifetime)字段表示发送路由器可以作为默认下一跳得时间,以秒计。如果它被设置为0,发送路由器不应该用作默认路由器。此字段只适用于使用发送路由器作为默认路由器。它不会影响同一个报文中得其他选项。可达时间(Reachable Time)字段给出了一个节点到达另一个节点所需得毫秒数,假设已经发生了双向通信。这被邻居不可达检测(Neighbor Unreachability Detection)机制使用。重传计时器(Retransmission Timer)字段规定主机延迟发送连续ND报文得时间,以毫秒为单位。

该路由器还应该包括前缀信息选项,表示本地链路上使用了哪些IPv6前缀。

IP包内容如下:

RESTFUL 生产的报文格式 ra报文格式_网络_04