ICMPv6

   下一个头部的取值:58

   IPv6基础协议之一,主要用于1.差错检测       2.信息传递,实现扩展功能/协议 例如NDP协议、MLD协议

   ICMPv6基于IPv6封装,报文格式:1.ICMPv6头部  2.ICMPv6数据

         ICMPv6头部:1.Type      2.Code    3.Checksum

         *根据Type取值将ICMPv6消息分为两大类

               1.差错消息,Type取值0---127

               2.信息消息,Type取值128---255, 例如 NDP协议报文、MLD协议报文基于ICMPv6信息消息携带

                         Type 128  Echo Request  

                         Type 129  Echo Reply

                 

ICMPv6功能:

一、基于差错消息实现功能

   1.Ping,检测网络连通性

   2.Tracert,检测流量的路径信息

   3.Path-MTU 路径MTU

         由于IPv6不允许中间节点进行包分片,所以源节点需要获知传输路径上所有出接口最小的MTU值,并以该MTU

         作为进行包分片的标准,防止中间设备转发报文时超出出接口的MTU值导致丢包

         Path MTU:传输路径上最小的MTU值

         Path MTU发现机制:获知Path MTU取值

               原理:通过ICMPv6差错消息 Type2数据包过长实现

二、基于信息消息实现功能

     1.NDP邻居发现协议

          Type=133   路由器请求(Router Solicitation)

          Type=134   路由器公告(Router Advertisement)

          Type=135   邻居请求(Neighbor Solicitation)

          Type=136   邻居公告(Neighbor Advertisement)

          Type=137   重定向  (Redirect)

     2.MLD协议(类似于IGMP协议)                      

         Type=130   查询消息

         Type=131   报告消息

         Type=132   离开消息

         Type=143   MLDv2报告消息



NDP协议

     功能:地址解析、重复地址检测、邻居发现

               路由器发现、无状态自动配置、前缀重编制

               重定向

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实现的功能: