众元教育H3CSE20200603班-IPV6邻居发现

标题 众元教育H3CSE20200603班-IPV6邻居发现

引言:什么是IPV6?为什么要使用IPV6?
IPV6全称Internet protocol version 6,即第六代因特网协议。因为早期的IPV4设计之初并没有考虑到IP地址不够的问题,随着时代的进步,互联网飞速发展,IP地址日益匮乏。虽然有将一部分地址作为私网地址重复使用,通过NAT技术解决内网用户上网问题,但是这种方法依旧是治标不治本,它只能缓解IPV4地址的消耗而不能从根本上解决IPV4地址不够的问题。所以势必要制定一种新的协议用于解决IP地址不够的问题,IPV6运营而生。
一、ND(Neighbor Discovery,邻居发现)
ND协议是IPV6的一个关键协议,它综合了IPV4中的一些协议如ARP、ICMP路由发现和ICMP重定向等,并对它们做了改进。同时,ND协议还提供了其他许多非常重要的功能,如前缀发现、邻居不可达检测、处重复地址检测、无状态地址自动配置等。众元教育H3CSE20200603班-IPV6邻居发现_第1张图片
(1)地址解析:类似IPV4中的ARP,作用就是已知目的节点的网络层,确定数据链路层地址。
(2)邻居不可达检测:在获取到邻居节点的数据链路层地址后,通过发送消息来验证邻居节点是够可达
(3)重复地址检测:类似IPV4中无故ARP的作用,用来探测刚被分配到的IPV6地址是否已经被链路上其他节点所使用
(4)无状态地址自动分配:都知道IPV4地址可以通过DHCP自动分配,而在IPV6中,地址可以通过路由器发现/前缀发现所获取的信息,自动配置IPV6地址。IPV6的基本格式为前缀+接口标识符+前缀长度,其中前缀是通过前缀发现获得,接口标识符是由MAC地址根据IEEE EUI-64格式转换而来,前缀长度类似IPV4中的子网掩码
(5)路由重定向:当在本地链路上存在一个到达目的网络的更好的路由器时,默认网关会向源主机发送ICMPv6重定向消息,通知主机选择更好的下一跳进行后续报文的发送
二、IPv6地址解析
当同一条链路上两个节点要进行报文转发时,需要知对方节点的数据链路层地址,即MAC地址。在IPV4中我们通常使用ARP来请求对方的MAC地址,从而完成数据帧的封装然后再将数据转发给对方。在IPV6中同样需要进行地址解析,IPV6使用ND协议来实现这个功能。那么IPV6是如何实现的呢?下面结合例子进行分析。

众元教育H3CSE20200603班-IPV6邻居发现_第2张图片

图中NodeA要向NodeB发送数据报文,需要先进行地址解析。于是NodeA发送一个NS(邻居请求),目的IPv6地址为NodeB对于的被请求节点组播地址FF01::1:FF02:B。当NodeB收到该NS报文后,因为目的IPv6地址为自己所在的节点的组播地址,所以会处理该报文。NodeB首先将报文中包含NodeA的源IPv6地址和MAC地址加入自己的邻居缓存表中,再将自己的MAC地址和IPv6地址封装一个NA(邻居公告)报文以单播的形式发给NodeA。NodeA收到该NA报文后,将报文中携带的NodeB的IPv6地址和MAC地址加入到邻居缓存表中。至此,NodeA和NodeB互相解析到了对方的数据链路层地址。
三、邻居可达性状态机
邻居可达性状态机保存在邻居缓存表中,共有5中状态

状态 表示
INCOMPLETE(未完成) 表示正在解析地址,邻居的数据链路层地址尚未确定
REACHABLE(可达) 表示地址解析成功,该邻居可达
STALE(失效) 表示未确定邻居是否可达,STALE状态是一个稳定状态
DELAY(延迟) 表示未确定邻居是否可达 ,DELAY状态是一个不稳定状态,节点需要收到“可达性证实信息”后,才能进入REACHABLE状态
PROBE(探测) 表示未确定邻居是否可达。节点会向处于PROBE状态的邻居持续发送NS报文,直到收到“可达性证实消息”后,才能进入可达状态。

今天关于IPV6邻居发现内容分享到这里,欢迎大家评论区讨论。如有爱好学习网络的朋友,记得点点关注,关注Rita的小丁学习网络不迷路。

你可能感兴趣的:(数通,网络,华三,网络)