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

引言:什么是IPv6?为什么要使用IPv6?

IPv6全称,第六代因特网协议。因为早期的IPv4设计之初并没有考虑到IP地址不够的问题,IP地址日益匮乏。虽然有将一部分地址作为私网地址重复使用,通过NAT技术解决内网用户上网问题,但是这种方法不能从根本上解决IPv4地址不够的问题。

引入:什么是ND?

ND协议全称,Neighbor Discovery,即邻居发现。

  • 是IPv6的一个关键协议,综合了IPv4中的一些协议如ARP、ICMP路由发现和ICMP重定向等,并对他们做了改进;
  • ND协议还提供了其他许多非常重要的功能,如前缀发现、邻居不可达检测、处重复地址检测、无状态地址自动配置等。
    众元教育H3CSE20200603班-IPv6邻居发现_第1张图片

知识点:ND协议重要功能

  • 地址解析:已知目的节点的网络层地址,想要确定数据链路层地址(在IPv4中使用ARP协议);

  • 邻居不可达检测:在获取得到对端的数据链路层地址后,需要发送消息来验证邻居节点是否可达

  • 重复地址检测:当主机获得一个地址时需要进行地址冲突的检测(在IPv4中使用无故ARP进行检测)

  • 无状态地址自动配置:主机可以根据路由器发现/前缀发现所获得的信息,自动配置IPv6全球单播地址(IPv4中可以使用DHCP自动分配地址)

  • 路由器重定向:当主机启动后,主机会选择一个路由器作为网关和其他主机进行通信。当路由器发现在从其他路由器发送会更好时,会发送一个重定向消息,通知主机选择更好的路由器作为网关设备。

知识点:ND报文协议类型

  • ND协议使用ICMPv6报文

在这里插入图片描述

  • ND协议报文ICMPv6类型
    众元教育H3CSE20200603班-IPv6邻居发现_第2张图片

知识点:IPv6地址解析概述

IPv6地址解析过程

  • 解析IPv6地址所对应的链路层地址过程;
  • 邻居可达性状态的维护过程,即邻居不可达检测(NUD);
    众元教育H3CSE20200603班-IPv6邻居发现_第3张图片
  • ND协议通过在节点间交互NS和NA报文完成地址解析并建立相应的邻居缓存表项;
  • Node A发送一个NS报文,目的IP地址是被请求节点组播地址(FF02::1::FF02),报文内部携带了Node A的MAC地址;
  • Node B收到报文后,回复一个NA报文,目的IP是 Node A的IP地址,在报文中的数据链路层地址选项携带了自己MAC地址;

IPv6地址解析的优点

  • 加强了解析协议与底层链路的独立性;
  • 增强了安全性;
  • 减小了报文传播范围;

知识点:邻居不可达检测概述

  • NUD (Neighbor Unreachability Detection ,邻居不可达检测)是节点确定邻居可达性的过程;
  • 邻居可达性状态机用来描述邻居的可达性,共有五 种状态,可互相迁移:
    →INCOMPLETE(未完成):表示正在解析地址,邻居的数据链路层地址还未确定;
    REACHABLE(可达):表示地址解析成功,该邻居可达;
    STALE(失效):表示未确定邻居是否可达,此状态是稳定;
    DEALY(延时):表示未确定邻居是否可达,此状态不稳定,该状态是一个延时等待状态,如果收到了“节点可达性证实消息”则进入Reachable状态;
    PROBE(探测):表示未确定邻居是否可达,节点会向处于Probe状态的邻居持续发送NS报文,知道收到了“节点可达性证实消息”则进入Reachable状态;

邻居状态机迁移过程示例:
众元教育H3CSE20200603班-IPv6邻居发现_第4张图片

Node A为发送地址解析 Node B为对端节点发送可达性检测

今天关于《IPV6邻居发现》的内容分享到此未完待续,欢迎大家在评论区留言讨论。爱好学习网络知识的小伙伴们,一键三连,关注 虫博士ovo 学习网络就此不再迷路,谢谢大家。

你可能感兴趣的:(笔记)