• 我们都或多或少的听说过IPv6的地址是可以自动生成的吧,那么这个自动生成是怎么生成的大家知道吗,我们来ND协议里一起寻找答案吧!

一,ND协议定义
ND(邻居发现协议)协议是IPv6非常重要的基础协议,协议使用ICMPv6报文,综合了IPv4中一些协议功能,如:ARP,ICMP路由器发现和ICMP重定向等,在第三层上实现的,可以独立于数据链路层协议不受这层协议的影响

二,ND协议的5个重要功能

  • 地址解析:已指目的节点网络层地址,确定数据链路层地址的方法,替代IPv4中的ARP

    • 与IPv4地址解析的不同,包含两部分

      • 解析了目的IPv6地址所对应的链路层地址
      • 邻居可达性状态的维护,即邻居不可达检测
    • 相比于IPv4地址解析的优点
      • 加强了地址解析协议与底层链路的独立性:无需为每一种链路层协议定义一个新的地址解析协议
      • 增强了安全性,IPv6的地址解析在三层实现,可以用三层的安全认证来防止ARP相关攻击
      • 减少了报文传播范围,IPv6没有广播,所有地址解析协议发送到对应的组播组,减少了传播范围
  • 邻居不可达检测:获取到链路层地址后,通过发送消息来验证邻居节点是否可达

  • 地址重复检查(DAD):根据前缀信息生成或手动配置IPv6地址后,为保证地址的唯一性,需检验地址是否在链路上已使用

  • 无状态地址自动配置:(针对主机)指主机根据路由器发现前缀及所获取的信息,自动配置IPv6地址获得IPv6全球单播地址

  • 路由器重定向:当主机启动时,路由表中可能只有一条道默认网关的默认路由。当链路上存在到达目的地的更好的路由器,默认网关会向源主机发送ICMPv6重定向消息,通知主机选择更好下一跳

三,ND协议的5种报文
ND协议的5种报文,NS/NA用于地址解析,RS/RA用于无状态地址自动配置。Redirect用于路由器重定向。下面我们根据各个功能实现来解析这几个报文。

四,地址解析过程
地址解析过程是需要ping等命令触发NS的发送,组播NS,单播NA
过程简单分析:A发送组播NS到链路上,B收到进行处理根据源地址更新邻居缓存表,回复单播NA(NS目的IP地址:B节点对应的组播地址)

  • 注:当一个节点链路层地址发生改变时,以所有节点组播地址FF02::1为目的地址发送NA报文,通知链路上其他节点更新邻居缓存表项
  • 附IPv6地址类型表

五,NUD邻居不可达检测
NUD是节点确定邻居可达性的过程,通过邻居可达性状态机(保存在缓存表中)来描述邻居可达性,表示邻居的状态

  • 5种描述邻居状态:

    • INCOMPLETE未完成状态:表示正在解析地址,邻居链路层地址尚未确定;节点第一次发送NS时
    • REACHABLE可达状态:表示地址解析成功,该邻居可达;可达状态伴随有一个REACHABLE_TIME定时器,超时后转化到STALE失效状态
    • STALE失效状态:表示未确定邻居是否可达;是唯一一个稳定状态。长时间不发生报文,REACHABLE_TIME超时进入STALE状态
    • DELAY延迟状态:表示未确定邻居是否可达;是一个延时等待状态,需要收到“可达性证实信息”后才能进入REACHABLE可达状态
    • PROBE探测状态:表示未确定邻居是否可达;节点会向处于此状态的邻居(注意句意是“的邻居“)持续发送NS报文,直到收到“可达性证实信息”后才能进入
  • 两个来源可称为”可达性证实信息“:

    • 来自上层连接协议的暗示;如果节点之间有TCP连接,且收到了对端节点发出的确认消息则表可达
    • 来自不可达探测回应;节点发送NS后,收到邻居的NA响应报文则认为邻节点可达

了解完了概念怎么能理解的更加透彻呢,那一定要有一个示例通信过程记在心里,下面给出一个示例,分析的思路跟着报文走,即发了这个报文状态有没有变化,有什么变化。关键几个难理解的地址这里说一下:

  1. B长时间没收到A的报文,REACHABLE_TIME超时邻居表中A的邻居状态进入STALE状态
  2. B向A回应NA并将邻居表中A的邻居状态设为DELAY状态等待收到"可达证实信息"
  3. 由于节点之间没有TCP连接,B没有收到证实信息,表项进入PROBE状态并向A发送NS报文
  4. A回应NA,B接收到进入可达状态

状态机之间的迁移转化目的是为了使邻居之间建立一种双向可信的连接从而避免IPv4网络中的ARP欺骗等攻击.

六,IPv6无状态地址自动配置
IPv6可通过ND协议实现的无状态地址自动配置机制,也可以使用DHCPV6协议实现由状态地址自动配置

  • ND协议通过在节点间交互RS和RA报文完成路由器发现,前缀发现并自动配置全球单播IPv6地址,但节点通过ND协议自动获得默认路由器时,是被赋予了有效时间的(表明默认路由器能够被使用的时间),为使默认路由器有效,会周期性发送RA刷新重置有效时间

PCA自动获取IPv6地址

  • 过程简单分析:PCA发送组播RS到所有路由器,组播地址为FF02::2(所有路由器),RTA收到后,发送组播RA到所有节点,组播地址为FF02::1(所有节点),报文中携带了前缀,默认路由器,跳数等有关地址配置信息。PCA收到RA后根据前缀结合自己接口ID生成全局地址。而后PTA会周期性的发送RA刷新默认路由器的有效时间

好了,写了这么多,IPv6邻居发现ND协议就先介绍到这啦,相信看到这里的小伙伴或多或少会有你的收获 ,能帮助到大家当然最好了,喜欢小罗的笔记的话记得点赞关注哦,咱们一起进步!

IPv6邻居发现协议ND学习笔记相关推荐

  1. IPV6邻居发现协议(NDP)

    概述 NDP(Neighbor Discovery Protocol,邻居发现协议)是IPv6的一个关键协议,它组合了IPv4中的ARP.ICMP路由器发现和ICMP重定向等协议,并对它们作了改进.作 ...

  2. IPv6邻居发现协议--NDP详解

    一.ICMPv6 -Internet控制报文协议 ICMPv6是IPV6的基础协议之一,用于向源节点传递报文转发的信息或错误 协议类型号(即:IPv6Next Header)为58 icmpv6可以提 ...

  3. linux ipv6邻居信息,IPv6邻居发现协议基本原理

    IPv6邻居发现协议提供下列功能:无服务器自动配置.路由器发现.前缀发现.解析.邻居不可达检测.链路MTU发现.下一跳决定和重复检测等. IPv6邻居发现协议定义了5种ICMPv6包: 路由器请求(R ...

  4. IPV6 邻居发现协议(NDP)

    IPV6除了显著增加了地址空间外,另一个最显著的特征就是它的即插即用性. 邻居发现协议(Neighbor Discovery Protocol,NDP)就是使用以下的功能实现即插即用特性的协议: 路由 ...

  5. IPv6邻居发现协议NDP

    邻居发现协议NDP 邻居发现协议NDP(Neighbor Discovery Protocol)是IPv6协议体系中一个重要的基础协议.邻居发现协议替代了IPv4的ARP(Address Resolu ...

  6. IPv6邻居发现协议添加默认路由

    在接收到邻居发现协议的RA(Router Advertisement)报文之后,由ndisc_router_discovery处理.首先,以此报文的源地址查找是否存在默认的路由器(rt6_get_df ...

  7. IPv6邻居发现协议

    邻居发现协议NDP 邻居发现协议NDP(Neighbor Discovery Protocol)是IPv6协议体系中一个重要的基础协议.邻居发现协议替代了IPv4的ARP(Address Resolu ...

  8. 《部署IPv6网络(修订版)》一2.4 邻居发现协议

    本节书摘来自异步社区<部署IPv6网络(修订版)>一书中的第2章,第2.4节,作者[美]Ciprian Popoviciu , Eric Levy-Abegnoli , Patrick G ...

  9. 让IPv6强大的关键——NDP邻居发现协议

    邻居发现协议NDP 一.简述 二.NDP消息 三.地址解析(类PIv4的ARP) IPv6地址解析过程分析 简述 详细抓包过程 邻居通告报文中Flags字段解释: 四.邻居不可达检测(NUD) 五.重 ...

最新文章

  1. 总结六条对我们学习Linux系统有用的忠告
  2. linux内核dma内存分配,Linux 4.x 内核空间 DMA 虚拟内存地址
  3. 算法---------搜索旋转排序数组
  4. CButtonST的用法详解!
  5. mysql中以下正确的sql是_总结MySQL中SQL语法的使用
  6. mysql数据库分表备份脚本_mysql 分库分表备份脚本
  7. 白话设计模式——Abstract Factory
  8. excel公式编辑器_Excel中自动更新超链接的文件目录,超简单
  9. 无监督学习 | DBSCAN 原理及Sklearn实现
  10. 50个直击灵魂的问题_直击灵魂的问题:“妈妈,我还能要个哥哥不!”
  11. 力扣150. 逆波兰表达式求值(JavaScript)
  12. sql server中除数为零的处理技巧
  13. Centos7做回收站功能,防止误删除
  14. PostgreSQL任意字数模糊查询——pg_bigm
  15. 全球家务机器人发展现状及未来趋势
  16. 思维导图怎么画?新手5分钟教程分享
  17. 代数结构:群、环、域、模、线性空间、格
  18. java jsoup 多线程爬虫Miner
  19. 2022-2027年中国紫苏行业市场全景评估及发展战略规划报告
  20. spring引入多个properties文件

热门文章

  1. java毕业生设计学生培训管理系统计算机源码+系统+mysql+调试部署+lw
  2. wmm的学习日记(upload-labs)
  3. cta策略 有哪些_一文看懂CTA各策略
  4. Working Practice-使用官方的实现
  5. 视频教程-YOLOv4目标检测实战:人脸口罩佩戴检测-计算机视觉
  6. 西北大学应用计算机自考,西北大学自考的官方网站是???
  7. ddr老化测试_老化测试常见的问题有哪些
  8. 计算机图形学台灯光照代码,光照控制自动调光台灯工作原理及设计
  9. GCC常用命令及GCC编译器背后的故事
  10. SAP--SD2-后台基础配置笔记