97国际

不必推倒重修 ,老终端也能焕新 丨 97国际教育云电脑老客户升级分享会
预约直播
融合光加速 ,慧联全场景 丨 97国际极简以太彩光5.0 界说万兆园区全场景新范式
预约直播
97国际·(中国区)集团官方网站
产品
< 返回主菜单
产品中心
产品
解决计划
< 返回主菜单
解决计划中心
行业
合作伙伴
返回主菜单
选择区域/语言
97国际·(中国区)集团官方网站

您订阅的产品有更新 ,请实时查阅

审查详情
97国际·(中国区)集团官方网站 97国际·(中国区)集团官方网站

IPv6系列基础篇(下)——邻人发明协议NDP

【邻人发明协议NDP】IPv6有越发精练的地址分派方法 ,可以通过邻人发明协议实现IPv6地址的自动分派。IPv6邻人发明协议远不止这一项功效 ,本文对IPv6邻人发明协议做睁开解说。

  • 97国际·(中国区)集团官方网站

    宣布时间:2019-01-07

  • 97国际·(中国区)集团官方网站

    点击量:

  • 97国际·(中国区)集团官方网站

    点赞:

分享至

97国际·(中国区)集团官方网站
97国际·(中国区)集团官方网站
97国际·(中国区)集团官方网站

我想谈论

通过上一期文章(IPv6基础篇(上)——地址与报文名堂) ,相信各人关于IPv6的配景、地址和报文名堂有了一定相识,接下来各人可能关于终端会见IPv6网络资源的历程原理更感兴趣。那么一个终端若是要会见IPv6的资源 ,要害的办法是什么呢?虽然是它需要一个IPv6的地址。那么这个地址又从何而来?是不是只能像IPv4一样手动设置或者通过DHCP服务器下发? 着实不然 ,IPv6有越发精练的地址分派方法 ,可以通过邻人发明协议实现IPv6地址的自动分派。并且IPv6邻人发明协议远不止这一项功效 ,这一期将对IPv6邻人发明协议做睁开解说。

 

NDP协议概述

NDP(Neighbor Discovery Protocol ,邻人发明协议)是IPv6协议系统中一个主要的基础协议。通过使用ICMPv6报文实现以下富厚的功效:

• 无状态自动设置(简化版的DHCP):路由器发明、前缀发明、参数发明 ;

• 重复地址检测(DAD) ,相当于IPv4的免费ARP ;

• 地址剖析 ,相当于IPv4的ARP ;

• 邻人不可达检测(NUD) ;

•路由重视定向。

 

为NDP界说的ICMPv6新闻

ICMPv6(Internet Control Message Protocol Version 6 ,互联网控制报文协议版本6)是IPv6的基础协议之一。ICMPv6的协议类型号(IPv6报文中的Next Header字段的值)为58。ICMPv6的报文名堂图1所示:
 

97国际·(中国区)集团官方网站

▲图1:ICMPv6报文名堂

 

报文中字段诠释如下:

• Type:批注新闻的类型 ,0至127体现过失报文类型 ,128至255体现新闻报文类型 ;

• Code:体现此新闻类型细分的类型 ;

• Checksum:体现ICMPv6报文的校验和 ,校验的部分包括了ICMPv6数据和IPv6的报头部分(IPv6报头不含校验) ;

• Data:ICMPv6数据。

ICMPv6新闻类型中有5种是为了支持邻人发明协议而界说的 ,功效如图2形貌:
 

97国际·(中国区)集团官方网站

▲图2: ICMPv6五种新闻类型

 

无状态自动设置

IPv6地址设置方法

IPv6地址有128位 ,纵然有简化誊写的方法 ,为主机设置IPv6地址也是一件事情量不小的活儿。IPv6地址除了手工设置外 ,还能够自动设置 ,自动设置有两种方法:

• 有状态自动设置

主机通过设置协议(如DHCPv6)获取IPv6地址以及其他信息(如DNS)。状态化自动设置相比于手工设置事情效率要高得多 ,而相比于无状态自动设置来说越发可控 ,能够越发清晰地相识到主机及地址分派的相关信息。短板是需要特殊安排应用服务器 ,如DHCPv6 Server。

• 无状态自动设置

相比于前者 ,无状态地址自动设置则显得越发便捷 ,IPv6终端使用无状态自动设置能够做到即插即用 ,无需安排特另外应用服务器、无需使用DHCPv6。在IPv6路由器与IPv6主机之间 ,使用ICMPv6协议中的路由器请求新闻RS(Router Solicitation)和路由器通告RA(Router Advertisement)新闻来完成无状态自动设置历程。主机通过RS新闻发明链路上的IPv6路由器 ,而IPv6路由器通过RA新闻向主机通告IPv6地址前缀信息 ,主机在收到IPv6前缀信息后 ,与自己的网卡接口ID一起组成128位的IPv6全局单播地址。

 

路由器通告新闻

• RA报文

每台路由器以组播方法准时发送RA报文 ,用于在二层网络中通告自己的保存。RA报文中会带有网络前缀信息 ,及另外的一些标记位信息。RA报文的Type字段值为134。

• RS报文

主机接入网络后希望尽快获取网络前缀举行通讯 ,那么此时主机可以连忙发送RS报文 ,网络上的路由器将回应RA报文。RS报文的Tpye字段值为133。

RA报文详解如图3所示:
 

97国际·(中国区)集团官方网站

▲图3:RA报文详解

 

RA报文中主要字段的诠释:

• Managed Address Configuration(M比特):默以为0。该标记指示主机该使用何种自动设置方法来获取IPv6单播地址。当M比特被设置为1时 ,收到该RA新闻的主机将使用有状态设置协议(DHCPv6)来获取IPv6地址。

• Other Configuration(O比特):默以为0。该标记指示主机使用何种方法来设置除了IPv6地址外的其他设置信息(如DNS)。当O比特被设置为1 ,则收到该RA新闻的主机将使用设置协议(DHCPv6)来获取除了IPv6地址以外的其他设置信息。

通过M和O比特位的组合 ,我们可以更清晰地看到终端获取地址和其他设置信息的方法。下面是关于M及O比特的组合:

• M=0 ,O=0

应用于没有DHCPv6服务器的情形。主机使用RA新闻中的前缀结构IPv6单播地址 ,同时使用其他要领(非DHCPv6) ,例如手工设置的要领设置其他设置信息(如DNS)。

• M=1 ,O=1

主机使用DHCPv6来设置IPv6单播地址以及其他设置信息。这种应用也称为DHCPv6 Stateful。

• M=0 ,O=1

主机使用RA新闻获得的IPv6前缀结构IPv6地址 ,同时使用DHCPv6来获取除了地址之外的其他设置信息。这种应用也被称为DHCPv6 Stateless。

• M=1 ,O=0

主机仅仅使用DHCPv6来获取IPv6地址 ,至于其他设置信息则并欠亨过DHCPv6获得。

 

无状态自动设置历程

IPv6主机无状态自动设置的历程如图4所示:

97国际·(中国区)集团官方网站

▲图4: IPv6主机无状态自动设置的历程

 

1、凭证接口标识爆发链路外地地址。

2、发出邻人请求 ,举行重复地址检测。

3、若是检测到此链路外地地址已在链路中使用 ,即地址冲突 ,则阻止自动设置 ,需要手工设置。

4、如不冲突 ,链路外地地址生效 ,节点具备外地链路通讯能力。

5、主机发送RS报文(或吸收到路由器按期发送的RA报文)。

6、凭证RA报文中的前缀信息和通过EUI-64规范天生的接口标识获得IPv6全局单播地址。

 

重复地址检测DAD

基本看法

DAD(Duplicate Address Detect ,重复地址检测)是在接口使用某个IPv6单播地址之前举行的 ,主要是为了探测是否有其它的节点使用了该地址。所有的IPv6单播地址 ,包括自动设置和手动设置的单播地址 ,在节点使用之前都要通过重复地址检测。

一个IPv6单播地址在分派给一个接口之后且通过重复地址检测之前 ,称为试验地址(Tentative Address)。此时该接口不可使用这个试验地址举行单播通讯 ,可是仍然会加入两个组播组:All-Nodes组播组和试验地址所对应的Solicited-Node组播组。

IPv6重复地址检测手艺和IPv4中的免费ARP类似:节点向试验地址所对应的Solicited-Node组播组发送NS报文。NS报文中目的地址即为该试验地址。若是收到某个其他站点回应的NA报文 ,就证实该地址已被网络上使用 ,节点将不可使用该试验地址通讯。

 

重复地址检测历程

IPv6主机重复地址检测的历程如图5所示:

 

97国际·(中国区)集团官方网站

▲图5: IPv6主机重复地址检测的历程

 

PC A的IPv6地址2000::1为新设置地址 ,即2000::1为PC A的试验地址。PC A向2000::1的Solicited-Node组播地址FF02::1:FF00:1发送一个以2000::1为请求的目的地址的NS报文举行重复地址检测 ,由于2000::1并未正式指定 ,以是NS报文的源地址为未指定地址。当PC B收到该NS报文后 ,有两种处置惩罚要领:

• 若是PC B发明2000::1是自身的一个试验地址 ,则PC B放弃使用这个地址作为接口地址 ,并且不会发送NA报文。

• 若是PC B发明2000::1是一个已经正常使用的地址 ,PC B会向FF02::1发送一个NA报文 ,该新闻中会包括2000::1。这样 ,PC A收到这个新闻后就会发明自身的试验地址是重复的 ,从而弃用该地址。


地址剖析

替换IPv4的ARP

在IPv4中 ,当主机需要和目的主机通讯时 ,需要先通过ARP协议获得目的主机的MAC地址。在IPv6中 ,同样需要从IP地址剖析到MAC地址的功效 ,邻人发明协议实现了这个功效。

可是IPv6作废了ARP协议 ,而是通过邻人请求报文NS(Neighbor Solicitation)和邻人通告报文NA(Neighbor Advertisement)来剖析三层地址对应的链路层地址。

• NS报文

Type字段值为135 ,Code字段值为0 ,在地址剖析中的作用类似于IPv4中的ARP请求报文。

• NA报文

Type字段值为136 ,Code字段值为0 ,在地址剖析中的作用类似于IPv4中的ARP应答报文。

 

地址剖析历程

IPv6主机地址剖析的历程如图6所示:

 

97国际·(中国区)集团官方网站

▲图6: IPv6主机地址剖析的历程

 

1、PC A在向PC B发送报文之前它要先剖析出PC B的MAC地址 ,以是首先PC A会发送一个NS报文 ,其中源IP地址为PC A的IPv6地址 ,目的IP地址为PC B的被请求节点组播地址(前缀FF02::1:F/104 ,并团结请求IPv6地址中的低24位 ,详细细节请参阅上一期) ,需要剖析的目的IP为PC B的IPv6地址 ,这就体现PC A想要知道PC B的MAC地址。同时 ,NS报文还携带了PC A的MAC地址。

2、当PC B吸收到了NS报文之后 ,就会回应NA报文 ,其中源地址为PC B的IPv6地址 ,目的地址为PC A的IPv6地址(使用NS报文中的PC A的MAC地址举行单播) ,同时包括PC B的MAC地址。这样就完成了一次地址剖析的历程。

 

邻人不可达检测NUD

IPv6的邻人状态

NDP的一个主要特征是检测统一链路上以前相连通的两个节点现在是否依然连通 ,这是通过NUD(Neighbor Unreachability Detection ,邻人不可达检测)完成的。NUD资助维护多个邻人条目组成的邻人缓存 ,每个邻人都有响应的状态 ,状态之间可以迁徙。

RFC2461中界说了5种邻人状态 ,划分是:

• 未完成(Incomplete):体现正在剖析地址 ,但邻人链路层地址尚未确定。

• 可达(Reachable):体现地址剖析乐成 ,该邻人可达。

• 陈腐(Stale):体现可达时间耗尽 ,未确定邻人是否可达。

• 延迟(Delay):邻人可达性未知。Delay状态不是一个稳固的状态 ,而是一个延时期待状态。

• 探测(Probe):邻人可达性未知,正在发送邻人请求探针以确认可达性.

 

邻人状态迁徙历程

邻人状态的详细迁徙历程如图7所示:

 

97国际·(中国区)集团官方网站

▲图7: 邻人状态迁徙的详细历程

 

下面以A、B两个邻人节点之间相互通讯历程中A节点的邻人状态转变为例(假设A、B之前从未通讯) ,说明邻人状态迁徙的历程。

1、A先发送NS报文 ,并天生缓存条目 ,此时 ,邻人状态为Incomplete。

2、若B回复NA报文 ,则邻人状态由Incomplete变为Reachable ,不然牢靠时间后邻人状态由Incomplete变为Empty ,即删除表项。

3、经由邻人可达时间 ,邻人状态由Reachable(默认30s)变为Stale ,即未知是否可达。

4、若是在Reachable状态 ,A收到B的非请求NA报文 ,且报文中携带的B的链路层地址和表项中差别 ,则邻人状态马上变为Stale。

5、在Stale状态若A要向B发送数据 ,则邻人状态由Stale变为Delay ,并发送NS请求。

6、在经由一段牢靠时间后 ,邻人状态由Delay(默认5s)变为Probe(每隔1s发送一次NS报文 ,一连发送3次) ,其间若有NA应答 ,则邻人状态由Delay变为Reachable。

7、在Probe状态 ,A每隔1s发送单播NS ,发送3次后 ,有应答则邻人状态变为Reachable ,不然邻人状态变为Empty ,即删除表项。

 

 总 结

邻人发明协议NDP是IPv6协议系统中一个主要的基础协议 ,替换了IPv4的ARP(Address Resolution Protocol)和ICMP路由器发明(Router Discovery) ,界说了使用ICMPv6报文实现地址剖析、跟踪邻人状态、重复地址检测、路由器发明以及重定向等功效。97国际网络的主流产品 ,包括交流机、路由器、无线等均支持NDP协议。

更多IPv6相关手艺解说 ,敬请期待《手艺盛宴》后续的IPv6系列文章。

 

 

 

本期作者:杨万里

97国际网络互联网系统部行业咨询

97国际·(中国区)集团官方网站

 

往期精彩回首  

  • 【第一期】浅谈物联网手艺之通讯协议的纷争
  • 【第二期】怎样通过网络遥测(Network Telemetry)手艺实现细腻化网络运维?
  • 【第三期】泛论数据中心网络运维自动化
  • 【第四期】基于Rogue AP反制的无线清静手艺探讨
  • 【第五期】流量可视化之ERSPAN的宿世今生
  • 【第六期】怎样实现数据中心网络架构“去”堆叠
  • 【第七期】运维可视化之INT功效详解
  • 【第八期】浅析RDMA网络下MMU水线设置
  • 【第九期】第七代无线手艺802.11ax详解
  • 【第十期】数据中心自动化运维手艺探索之交流机零设置上线
  • 【第十一期】 浅谈数据中心100G光�?�
  • 【第十二期】数据中心网络等价多路径(ECMP)手艺应用研究
  • 【第十三期】如作甚RDMA构建无损网络
  • 【第十四期】基于EVPN的漫衍式VXLAN实现计划
  • 【第十五期】数据中心自动化运维手艺探索之NETCONF
  • 【第十六期】一文读懂网络界新贵Segment Routing手艺化繁为简的神秘
  • 【第十七期】浅谈UWB(超宽带)室内定位手艺
  • 【第十八期】PoE以太网供电手艺详解
  • 【第十九期】机框式焦点交流机硬件架构演进
  • 【第二十期】 IPv6基础篇(上)——地址与报文名堂

相关推荐:

 

更多手艺博文

任何需要 ,请联系97国际

97国际·(中国区)集团官方网站

返回顶部

收起
97国际·(中国区)集团官方网站 文档AI助手
97国际·(中国区)集团官方网站 文档评价
资料内容是否对您有资助?
您对目今页面的知足度怎样?
不咋滴
很是好
您知足的缘故原由是(多�。�?
您对文档是否尚有其它的问题或建议?
为尽快解决问题 ,请您留下联系方法以便回复
邮箱
手机号
谢谢您的反�。�
97国际·(中国区)集团官方网站
97国际·(中国区)集团官方网站
97国际·(中国区)集团官方网站
请选择服务项目
关闭咨询页
售前咨询 售前咨询
售前咨询
售后服务 售后服务
售后服务
意见反响 意见反响
意见反响
更多联系方法
网站地图