ICMPv6协议

ICMPv6的协议类型是58 除了IPv4中的作用外 还添加了邻居发现、无状态自动配置、PMTU 等作用

邻居发现协议NDP

NDP 邻居发现协议 有如下功能

NDP使用ICMPv6的相关报文

  1. RS(Router Solicitation):路由器请求报文
  2. RA(Router Advertisement):路由器通告报文
  3. NS(Neighbor Solicitation):邻居请求报文
  4. NA(Neighbor Advertisement):邻居通告报文

地址解析

PCl准备访问PC2之前,首先在本地邻居表中查找PC2的IPv6地址对应的以太网MAC地址,如果查找到相关表项,则将发往PC2的数据包封装在以太数据帧中然后发出:如果没有找到PC2的MAC地址,则发送NS消息用来请求其链路层地址

用ICMPv6里面的type 135(NS 邻居请求)和type 136(NA 邻居的通告)发送

过程如下:

  1. PCl向PC2的请求节点的组播地址发送NS消息,该消息是通过类型为135的ICMPv6报文来承载,目标地址是PC2的IPv6单播地址
  2. PC2收到NS消息后,以单播的方式向PCl回应NA消息,该消息中包含了PC2的MAC地址。PC2还会将PCl的 IPv6地址和MAC地址添加至本地的邻居缓存表中
  3. PCl收到来自PC2的NA消息后,将PC2的IPv6地址以及它的MAC地址添加至本地的邻居缓存表中

假设PCl的IPv6地址为2001::1/64,PC2的IPv6地址为2001::2/64

DAD检查

DAD(Duplicate Address Detection)重复地址检测,类似于免费ARP的作用一样

用ICMPv6里面的type 135(NS 邻居请求)和type 136(NA 邻居的通告)发送

作用:用于地址分配或主机连接网络时检测重复的IPv4主机地址。

过程:节点向一个自己将使用的试验地址所在的Solicited-node组播组发送一个以该试验地址为请求的目标地址的邻居请求(NS)报文,如果收到某个其它站点回应的邻居通告(NA)报文,就证明该地址已被网络上使用,节点将不能使用该试验地址进行通信。这种情况下,网络管理员需要手动为该节点分配另外一个地址

无状态自动配置

网络节点向相连的路由器发送RS,请求地址前缀信息

路由器通过发送路由器通告RA,回复地址前缀信息

用ICMPv6里面的type 133(NS 邻居请求)和type 134(NA 邻居的通告)发送

举例如下:

[R1-GigabitEthernet0/0/0]dis this#interface GigabitEthernet0/0/0ipv6 enableipv6 address 2019::1/64undo ipv6 nd ra halt#Router Advertisement 用于回复RS报文,RS报文中包含IPv6地址或前缀信息

注1:华为默认不会发送RA报文,手工开启后默认200S发送一次,使用以下命令开启

[Huawei-GigabitEthernet0/0/0]undo ipv6 nd ra halt

注2:主动发起RA报文后,同样也会被邻居路由器收到,在邻居路由器上开启发送RS报文,便可以无状态自动配置接口IP地址

[Huawei-GigabitEthernet0/0/0]ipv6 address auto global

注3:路由器收到RA回复后,使用EUI64生成接口IPv6地址;主机(windows)收到RA回复后,使用软件随机生成IPv6地址(更加安全)

postman本地请求ip地址变成ipv6_华为认证-IPv6技术-ICMPv6介绍相关推荐

  1. netcore 获取本地网络IP地址

    .net framework 下面可以用下面的代码获取到本地网络ip地址.netcore下面这个代码也依然可以用 System.Net.Dns.GetHostName() System.Net.Dns ...

  2. php如何获取客户端请求ip地址的方法

    php如何获取客户端请求ip地址的方法 获取客户端ip地址的函数 获取客户端ip地址的函数 function getip(){$ip = false;if (!empty($_SERVER[" ...

  3. 用python获取本地的ip地址

    用python获取本地的ip地址: Windows下2种方法: 1. 使用拨号上网的话,一般都有一个本地ip和一个外网ip,使用python可以很容易的得到这两个ip 使用gethostbyname和 ...

  4. 关于如何实现外网访问本地主机IP地址(natapp)。(如何实现将外网可访问的域名与本地主机IP地址绑定)

    背景介绍 最近在跟着网上学习微信支付接口的异步通知,其中,微信需要将支付成功的消息通过接口传递给本地主机,即需要提供一个外网可访问的本地主机地址.具体如下: 由于还停留在测试阶段,我们不能直接部署该代 ...

  5. 桌面怎么设置 计算机 网络连接,电脑桌面的本地连接ip地址可以设置吗_本地连接ip地址设置方法 - 驱动管家...

    1.首先在Win7桌面上找到"网络"入口,如下图: 进入Win7网络 2.进入网络之后我们再点击顶部的"网络共享中心",如下图: 进入Win7网络共享中心 3. ...

  6. MySql存储IP地址(兼容ipv4和ipv6)

    MySql存储IP地址(兼容ipv4和ipv6) 最近项目涉及到IP白名单的问题,需要设计表来存储IP地址,网上的方法针对IPV4和IPV6用什么类型存储也没有个统一的答案(都是抄来抄去....) 1 ...

  7. 以马原的视角浅谈IP地址的发展——IPv4、IPv6、NAT

    文章写的有点长,核心就是介绍IP地址的原理,以及NAT有好处也有坏处,IPv6相比较IPv4也是有好处和坏处,感兴趣的可以往最后划. 以马原的视角浅谈IP地址的发展--IPv4.IPv6.NAT IP ...

  8. VSCode设置类似Webstorm那样可以用本地局域网IP地址访问自己开发的测试项目,vs code 前端如何以服务器模式打开?

    传统方法(仅适用于普通项目): 1.在vscode中安装 Live Server 插件: 2.安装成功后,vscode右下角会有 Go Live 标识点击: 3.cmd ipconfig 查询自己电脑 ...

  9. 修改本地连接IP地址的脚本包括修改备用dns的方法(批处理命令)

    =以下为我自己所用的======== title 1.bat netsh interface ip set dns "本地连接" static 10.223.253.1 prima ...

最新文章

  1. windows2003系列(之)搭建DHCP服务与中继代理图解
  2. 单纯形法只有两个约束条件_10分钟掌握对偶单纯形法
  3. c#中接口的使用方法图解_c# 接口方法中使用new有什么用?
  4. linux查用户的家目录,详解Linux误删用户家目录的恢复方法
  5. unity应用开发实战案例_「简历」STAR法则的实战应用,附手把手教学案例
  6. *[topcoder]IncrementingSequence
  7. linux命令cp -a,linux命令_ls命令与cp命令详解(一)
  8. 李想当年是被赶出汽车之家?真相了...
  9. 编程语言对比 基本数据类型
  10. devstack安装openstack
  11. Java模拟HTTP的Get和Post请求(增强)
  12. linux设备驱动模型一字符设备open系统调用流程
  13. LabView---双通道示波器(内含信号发生器)
  14. 使用Python将DOTA数据集的格式转换成VOC2007数据集的格式
  15. 【拆解】便携示波器怎么选?
  16. C51简介及Keil的使用
  17. django-cms之wagtail
  18. Android--图片轮播(banner)
  19. 场外期权业务挂钩个股标的名单又更新啦!
  20. Oracle dd-m月-yy转yyyy-mm-dd

热门文章

  1. android开发界面 淡出,Android 界面淡出 淡入效果
  2. 手机点餐系统概述_疫情之下,无接触点餐模式再成热搜,扫码点餐系统能不能普及?...
  3. 【连载】如何掌握openGauss数据库核心技术?秘诀四:拿捏事务机制(4)
  4. 今晚直播 | Oracle技术加油站:快速处理紧急性能问题的工具与经验
  5. 实战演练:洞若观火--治堵之道在清源
  6. 刑侦高考:如何用SQL解决环环相扣的刑侦推理问题
  7. 追本溯源:Oracle 只读表空间的探索实践
  8. 带你梳理Roach全量恢复的整体流程
  9. LiteOS基于Sensorhub的超声波模组移植
  10. 【乘风破浪的开发者】华为云云享专家胡琦:快快使用ModelArts,零基础也能玩转AI!