什么是即插即用?设备开始启用,自动配置IP地址,天然就可以进行网络通信,为上层协议作铺垫。IPv4即插即用功能——DHCP(勉强算是,自动配置地址),但是IPv4地址长度有限,始终是一个瓶颈(勉强可以用NAT和CIDR缓解)。

地址配置

地址配置方法分别为两种:手动配置、自动配置

  • 手动配置:方法困难,尤其是IPv6的冒号分16进制,人为配置过于繁琐。必要场景——路由器接口或者网关,因为需要网络前缀和网络地址 。
  • 自动配置:方法简单,协议驱动,自动规避风险(比如:地址冲突),需求场景——各类终端、其他协议需求。问题:自动配置前提是人为规定 。原因:自动配置首先要确定网络地址,属于哪个网络。

自动配置

对于IPv6自动配置基本有所耳闻,大概是:EUI 64、无状态自动配置、有状态自动配置、自动生成链路本地地址。

现在按照上述图片,描述各项功能。

    1.  EUI 64:自动配置主机ID,对于IPv4地址而言就是主机位。

好处:由于MAC全球唯一,主机ID不会出现重复,基本不担心地址冲突。

转换过程:

1. MAC 地址 —— 0000:0B0A:2D51

2. MAC 地址二进制——00000000 00000000 00001011 00001010 00101101 01010001

(红色数字为U/L位,第二高位为U/L位)

3. 中间插入0xFFFE——00000000 00000000 00001011 11111111 11111110 00001010 00101101 01010001

4. 反转U/L位——00000010 00000000 00001011 11111111 11111110 00001010 00101101 01010001

5. EUI 64接口ID:0200:0BFF:FE0A:2D51

   2.  链路本地地址

利用EUI 64生成的主机ID,加上定义的网络前缀:FE80::/10,生成链路本地地址,仅链路有效。

根据主机MAC:0000:0B0A:2D51

生成链路本地地址——FE80::0200:0BFF:FE0A:2D51 /10

链路地址作用

1. 实现本链路通信

2. 为其他协议做铺垫:OSPF、ICMP等。

  3.  无状态自动配置

无状态自动配置,本质——ICMP协议中的NDP消息。

NDP消息种类:

  • 路由器通告消息(RA):路由器发起,用于通告链路前缀(网络前缀)、链路MTU等消息
  • 路由器请求消息(RS):主机发起,用于请求RA
  • 邻居请求消息(NS):主机发起,用于请求另一台主机MAC地址,也可以实现邻居冲突检测
  • 邻居通告消息(NA):主机用于响应NS,返回自己的MAC地址。如果节点MAC改变,可以发送一个未请求的NA,更新表项。
  • 重定向(Redirect):相当于IPv4中ICMP的重定向。

路由器通告(Router Advertisement , RA)

  • M:管理地址的配置标记位。置位为1,则用DHCPv6服务器;置位为0,则无状态配置。
  • O:其他有状态配置标记。置为为1,则用DHCPv6服务器获取其他信息。置为为0,则手动配置其他信息。
  • 路由器生存时间:只有在 始发路由器是一台缺省路由器时,该字段才设置为非0的值。如果这种情况,则该字段指定为该缺省路由器的存活时间,以秒为单位,最大值18.2h。
  • 可达时间:是指用于实现NDP协议中邻居不可达性检测功能的字段。当一个节点确认他的邻居是可到达的后,可达时间会指定一个时间值,在该时间内,这个节点假定它的邻居是可达的,以毫秒为单位。
  • 重传时间:指定重传的邻居请求消息(NS)之间的最小时间,以毫秒为单位。

注意点:

  • RA消息的源地址有两种:始发地址为链路本地地址,目的地址为FF02::1(所有主机地址)
  • 定期发送
  • M和O的搭配。M的比较简单,选择DHCP地址池还是选择路由器的网络前缀。O比较难理解,为什么要其他信息?有IP地址不就行了吗?

原因:以用户电脑为例,用户上网,最基本要有NAT、网关(默认路由)、DNS,如果只有IP地址,也只是空壳。无状态配置,可以获取IP地址,但是获取不了其他信息。因此,出现

M:0(无状态配置),O:1(获取其他链路信息,否则自己手动配置)这种组合。

路由器请求(Router Solicitation , RS)

注意点:

  • RS消息由主机发起
  • 封装RS消息的IPv6数据包的源地址有两种情况:未指定地址(::)或者始发地址
  • 未指定地址出现情况:刚开始进行地址自动配置情况,至少链路本地地址未生成
  • 目的地址是FF02::02(IPv6的所有路由器地址)

邻居请求(Neighbor Solicitation , NS)

  • 目标地址:指请求目标的IPv6地址,且永远不可能是一个多播地址。(相当于ARP请求,其他协议触发,目标地址自动填充)

注意点:

  • IPv6的源地址分为两种情况:未指定地址和始发源地址
  • 未指定地址:出现情况地址冲突而发送邻居请求消息
  • 目的地址:被请求节点的多播地址(这个接口所属的组播地址或者目标地址

DAD冲突检测:

1. 源地址为::,目的地址为组播地址,目标地址为配置的IP地址

2. 目的地址格式:前缀——FF02:0:0:0:0:1:FF00:: /104,后24位用目标地址的后24位。

why 地址冲突检测?

原因:一个接口拥有多个IPv6地址,除了自动配置之外,还有手动配置,能够检测冲突总是好的。

邻居通告(Neighbor Advertisement , NA)

  • R:路由器标记。如果设置了此位,表示始发该消息节点是一台路由器。
  • S:被请求标记。
  • O:过载标记。表示通告消息超过现有邻居缓存表。
  • 目标地址:分为两种情况,一是S置位,则是RS的目标地址;未置位,则是始发源地址(更新邻居MAC表项)。

注意点:

  • IPv6源地址:始发节点的IPv6地址
  • IPv6目的地址:FF02::1(所有主机地址)或者邻居请求消息的源地址

重定向(Redirect)

  • 目的地址:是指更好的第一跳地址——通常是链路上另一台路由器的链路本地地址
  • 目标地址:被重定向到目标地址的IPv6地址

重定向功能作用对象为链路交换,就是二层通信,非三层路由。

举个小栗子:

重定向:

  1. PC 1 ping R3某个地址,icmp发往网关R1(中间步骤省略)
  2. R1查询路由表,去往R3下一跳是R2,将icmp报文转发给R2
  3. R1判断FE80::1和FE80::2是属于同一网段,发送redirect报文给PC 1
  4. PC 1收到重定向报文后,后续通信发送给更优下一跳(R2)

简而言之:重定向改变的实质是同一网段内,寻找更优下一跳,改变二层通信。

4.  有状态自动配置 

有状态自动配置就是DHCPv6配置,原理跟普通的DHCP配置差不多。

问题:两种自动配置,选择哪种自动配置方法?

实现:RA的 “M” 和 “O” 置位,通过管理人员人为配置,决定终端使用的自动配置方法。

题外话:

再次提醒,无状态配置不能取代DHCP的地位,因为无状态配置主要就是获取一个网络地址,对于用于或者其他设备而言,其他链路信息同样重要!!!

总结

协议类型 作用
RA和RS 用于获取网络前缀,完成自动配置
NA和NS 用于实现IP->MAC,完成二层通信,取代ARP功能,同时废弃广播
Redirect 用于在同网段内寻找更优下一跳

IPv6篇即插即用内容大致就这些,关于RA、RS等消息的Option内容可以查询 <<RFC 2461>>,但是内容格式基于TLV形式,易于扩展,说不定以后会附加多种多样的功能。

IPv6篇之即插即用相关推荐

  1. IPv6篇之简单为美

    IPv6前言 IP以其简单.方便操作,迅速占领了网络通信的领域,最终实现了网络通信的统一,可惜设计者并未预料到IP膨胀速度如此之快,因此设计了IPv6,作为第二代IP协议横空出世.虽然IPv6技术理念 ...

  2. ipv6笔记无状态地址自动配置及状态

    当配置一个新的ipv6地址时,会进入到tentative 阶段,会发送以自己IP地址为目的地址的请求报文,一秒后,如果没响应,就没有冲突,就可以用. 生命周期是针对动态获取的IP的,但是tentati ...

  3. IOS - 上APPSTORE为何因IPv6被拒?

    最近因为应用要上APPSTORE,两次都被拒了.经检查,代码没有问题,问题主要出在网络方面.可以说国内大部分APP因为ipv6被拒的因为都是因为网络的问题.因为国内大部分的服务器都没有配置ipv6的地 ...

  4. HCIP(华为高级网络安全工程师)(第十九天)(VRRP技术/IPV6)

    目录 链路聚合 链路聚合技术的限制要求 链路聚合的配置 1,创建聚合接口 2,在聚合接口中划入成员接口 聚合链路数据转发的工作过程 VRRP --- 虚拟路由器冗余技术 目前VRRP常用的版本存在两个 ...

  5. 《图解TCP/IP》阅读笔记

    <图解TCP/IP>阅读笔记 第一章 网络基础知识 计算机网络发展的7个阶段 Batch Processing 批处理 TSS(Time Sharing System) 分时系统 The ...

  6. 不插即用!配备微信网页授权模块的CodeIgniter应用脚手架

    昨天发了一篇<即插即用!适用于CodeIgniter框架的微信网页授权模块>,今天想了想干脆整理一个脚手架好了. Github仓库: CodeIgniter-Weixin_Template ...

  7. 智慧环卫管理系统方案

    智慧环卫管理系统方案 2022年6月  慧环卫项目综述 智慧环卫背景 城市环境卫生管理是一项复杂而系统的社会工程,不仅是一个城市的"脸面"也是一个城市的文明程度的重要标志.是与人民 ...

  8. CCNA培训(五)_20210725day05

    复习: IPv6: 地址长度:128bit.缩略表达方法:前导零缩略:连续零缩略(将连续零使用::来代替,但是::只能出现一次). 地址分类:单播.多播.任意播.注意:没有广播.单播地址中常见的两个是 ...

  9. 第五章 有关IP协议的技术

    目录 概述 重要提示 DNS  域名系统服务 DNS 的产生 域名结构 ARP 地址解析协议 ARP 何方神圣 ARP工作机制 ICMP 网络控制报文协议 辅助IP的 ICMP 主要的ICMP 消息 ...

最新文章

  1. 走火入魔 | 暑期电子设计课程学生们的作品
  2. 有人工裁判,就会有争执
  3. python读文件每一行、并把这行替换-python基础--文件操作实现全文或单行替换
  4. win10安装tesserocr配置 Python使用tesserocr识别字母数字验证码
  5. 【IM】关于监督降维的理解
  6. owasp十大漏洞_OWASP十大网络应用安全漏洞
  7. jquery----js/css 导入
  8. Worklight学习-第一个Worlight项目
  9. 测试一体机ASM failgroup的相关问题处理
  10. Html+Js 3D 龙卷风
  11. 四、瞰景Smart3D创建工程
  12. ant design java_SpringBoot整合Ant Design Pro进行部署
  13. Aras Innovator-学-习-之-旅-
  14. 关于巨杉数据库的学习
  15. php试戴,全口义齿制作流程,以及试戴的检查步骤(转)
  16. 经典sql题目,给每个部门中工资最低的员工涨薪1000
  17. 绘图杂记【3】Python / R语言 制作峰峦图
  18. S3C2440之IIC
  19. scipy.optimize.minimize 的优化算法(1): Nelder–Mead Simplex
  20. 如何白嫖最新版BurpSuite Pro

热门文章

  1. 三星引入ChatGPT半个月泄密3次;MidJourney V5相机镜头完整参数列表;万字长文,拆解投身大模型3个本质问题 | ShowMeAI日报
  2. 聚力国家工业信息安全发展,未来智安加入工业信息安全产业发展联盟
  3. [Client]前端代码规范 及 最佳实践
  4. 设计模式01---设计模式基础篇01
  5. 算法设计大赛21题---三升序列(DFS)
  6. 干货!最全羽毛球技术动态分解gif图
  7. 考研英语 - word-list-22
  8. java在深圳找工作_[深圳java求职]没经验 找工作 求指点
  9. PyQt5 登陆界面
  10. 如何写期望薪资、离职原因、求职意向?