neighbor discovery in ipv6

合集下载

H3C IPv6邻居发现经典讲义

H3C IPv6邻居发现经典讲义

无表项
有可达表项 获得可达信息
获得可达信息 报文发送 组装报文
地址解析
表项的清除方式
•目的缓存和邻居缓存: 邻居不可达检测机制保证无用表项的删除
没有必要周期性的清除目的和邻居缓存表项。尽管缓存表可能会不正确的保留 有陈旧的表项,但是邻居不可达检测机制能够保证在该不正确的表项被使用时 清除该表项。
•前缀列表和路由器列表:
请求发向单播地址,不打扰其他节点。如果发生变故 将收不到任何响应。
重定向功能
2002::3,把这个 包裹送到2001::1 那里,小心轻放。
2002::3为我提供 长期快递服务 (包月的),给 我媳妇2001::1寄 个包裹啥的也得 找它。
2001::1?让 2002::4送不是 更快?
2002::3,把这个 包裹送到2001::1 那里,小心轻放。
•目的缓存表(Destination Cache)
最近有流量发送的目的地址组成的表项,由重定向报文更新。
•前缀列表(Prefix List)
从路由器公告中接收到的前缀建立的表项,由路由器公告中提取。
•默认路由器列表(Default Router List)
本网段路由器组成的表项,从路由器公告中提取。
Type:4 IP header+data:触发该重定向消息的IP数据包的部分或全部,但要保 证重定向消息报文长度不超过1280字节。
MTU选项
Type:5
Length:1
MTU:链路推荐的MTU值
• • •
• • •
接口应保持的信息
•邻居缓存表(Neighbor Cache)
最近向其发送过流量的邻居组成的表项,由各种ND报文更新。
邻居缓存表

IPv6网络配置

IPv6网络配置

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

作为IPv6的基础性协议,NDP还提供了前缀发现、邻居不可达检测、重复地址监测、地址自动配置等功能。

1.地址解析:地址解析是一种确定目的节点的链路层地址的方法。

NDP中的地址解析功能不仅替代了原IPv4中的ARP,同时还用邻居不可达检测(NUD)方法来维持邻居节点之间的可达性状态信息。

2.无状态地址配置:NDP中特有的地址自动配置机制,包括一些列相关功能,如路由器发现、接口ID自动生成、重复地址监测等。

通过无状态自动配置机制,链路上的节点可以自动获得IPv6全球单播地址。

a)路由器发现:路由器与其他相连的链路上发布网络参数信息,主机捕获此信息后,可以获得全球单播IPv6地址前缀、默认路由、链路参数(链路MTU)等信息。

b)接口ID自动生成:主机根据EUI-64规范或其他方式为接口自动生成接口标识符。

c)重复地址监测(DAD):根据前缀信息生成或手动配置IPv6地址后,为保证该地址的唯一性,在其可以使用之前,主机需要检验它是否已被链路上的其他节点所使用。

d)前缀重新编址:当网络前缀变化时,路由器在与其相连的链路上发布新的网络参数信息,主机捕获这些新信息后,重新配置前缀、链路MTU等地址相关信息。

3.路由重定向:当在本地链路上存在一个更好的到达目的网络的路由器时,路由器需要通告节点来进行相应配置改变。

NDP定义了5种ICMPv6报文类型,包括RS、RA、NS、NA和Redirect报文,如表2-1所示。

表2-1 ICMPv6报文类型ICMPv6类型消息名称 ICMPv6类型消息名称Type=133 RS(Router Solicitation,路由器请求)Type=136 NA(Neighbor Advertisement,邻居公告)Type=134 RA(Router Advertisment,路由器公告 Type=137 Redirect(重定向报文)Type=135 NS(Neighbor Solicitationh,领居请求)IPv6地址解析地址解析在报文转发过程中具有至关重要的作用。

IPV6 - ND

IPV6 - ND

| Cur Hop Limit |M|O| Reserved |
Router Lifetime
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Reachable Time
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
第5页 共20页
- ICMP 核验有效 - ICMP 的 code 字段为 0 - 所有包含的选项长度大于 0 2)保留字段的内容,以及无法识别的选项,必须丢弃 3)目前在 RA 中定义的选项包含:源链路层地址、前缀消息选项和 MTU 选项 4)通过消息检测的 RA 称为有效通告(valid advertisement)
2.1.4 消息实例
内部传阅
这是一个常见的 RS 消息,包含一个源链路层地址选项,其中的链路层地址等发送接口的链路层地址
第3页 共20页
内部传阅
00:1e:e3:60:27:f2。 ICMP Type 为 133 表示 RS 消息,ICMP Code 为 0,检验和为 correct 表示有效,IP 首部的 Hop Limit

IPv6邻居发现协议

IPv6邻居发现协议
IPv6邻居发现协议
IPv6邻居发现协议
概述 邻居发现协议的消息类型 路由器发现 地址自动配置 地址冲突检测 邻居地址解析
概述
IPv6具有即插即用的特性,而该特性就 是通过邻居发现协议(Neighbor Discovery Protocol, NDP)来实现的。 NDP消息通常应该在链路本地的范围内 收发。因此,封装NDP消息的数据包也始终 使用IPv6链路本地地址,或者链路本地范围 内的多播地址。
路由器发现
路由器通过在相连的链路上周期性地发送 路由器通告消息,表明它的存在并通告配 置的所有参数。大多数情况下在广播链路 上使用。 刚刚连接到某个链路接口的主机需要获得 一份路由器通告消息,以便能够发现链路 上的路由器并学习到链路的参数。因此连 接到链路时,主机会发送一条路由器请求 消息去请求一条路由器通告消息。收到后 将该路由器添加到缺省路由器列表中。
邻居发现协议的消息类型
邻居发现协议(NDP)是在RFC2461中定义的, 为了完成某些功能,它使用ICMPv6协议来 交换一些必要的消息,主要有5种: 路由器通告(Router Advertisement, RA)消息 路由器请求(Router Solicitation, RS)消息 邻居通告(Neighbor Advertisement, NA)消息 邻居请求(Neighbor Solicitation, NR)消息 重定向(Redirect)消息
地址冲突检测
被请求节点的多播地址是由前缀 FF02:0:0:0:0:1:FF00::/104加上目标地址的 最后24位组成。这样做的原因是这个地址 可以匹配该节点自动配置的所有地址。除 此以外,如果两个节点同时对一个地址进 行冲突检测时,它们可以互相检测到。
邻居地址解析

ndp是什么意思

ndp是什么意思

ndp是什么意思ndp全称为Net Domestic Product,表示国内生产净值,即用国内生产总值扣除资本折旧所得到的。

NDP=GDP-资本折旧(Depreciation)。

邻居发现协议(英语:Neighbor Discovery Protocol简称:NDP或ND)是TCP/IP协议栈的一部分,主要与IPv6共同使用。

它工作在网络层,负责在链路上发现其他节点和相应的地址,并确定可用路由和维护关于可用路径和其他活动节点的信息可达性。

拓展资料:ndp的IPv61、网际协议第6版(英文:InternetProtocolversion6,缩写:IPv6)是网际协议(IP)的最新版本,用作互联网的网络层协议,用它来取代IPv4主要是为了解决IPv4地址枯竭问题,不过它也在其他很多方面对IPv4有所改进。

IPv6的设计目的是取代IPv4,然而长期以来IPv4在互联网流量中仍占据主要地位,IPv6的使用增长缓慢。

在2017年7月,通过IPv6使用Google服务的用户百分率首次超过20%。

2、IPv6的计划是创建未来互联网扩充的基础,其目标是取代IPv4,虽然IPv6在1994年就已被IETF指定作为IPv4的下一代标准,由于早期的路由器、防火墙、企业的企业资源计划系统及相关应用程序皆须改写,所以在世界范围内使用IPv6部署的公众网与IPv4相比还非常的少,技术上仍以双架构并存居多。

预计在2025年以前IPv4仍会被支持,以便给新协议的修正留下足够的时间。

3、IPv6能解决的核心问题与互联网所面临的关键问题之间出现了明显的偏差,难以给互联网的发展带来革命性的影响。

与IPv4的各种地址复用解决方案相比,IPv6能够降低复杂性和成本,然而却只有制造商较能够感受到这个优势,用户和运营商无法直接感受到,导致产业链缺乏推动IPv6的动力。

4、互联网控制消息协议第六版即ICMPv6(Internet Control Message Protocol Version 6或ICMP for IPv6)是互联网控制消息协议(ICMP)在IPv6协议下的新版本。

IPv6网络邻居发现概述

IPv6网络邻居发现概述
[Router-Ethernet0/0] ipv6 neighbors max-learningnum number
15
配置RA消息相关参数
取消对RA消息发布的抑制
[Router-Ethernet0/0] undo ipv6 nd ra halt
配置RA消息发布的时间间隔
[Router-Ethernet0/0] ipv6 nd ra interval maxinterval-value min-interval-value
1::2:B/64
Stale Delay Probe Reachable Stale
10
目录
邻居发现协议 地址解析 无状态地址自动配置 ND协议配置
IPv6地址自动配置
有状态地址自动配置
从DHCP服务器获取地址及相关信息
无状态地址配置
根据路由器发布的信息而自动配置IPv6地址及相 关信息
IPv6网络邻居发现概述
技术创新,变革未来
引入
ND(Neighbor Discovery,邻居发现)协议是IPv6 的一个关键协议,它综合了IPv4中的一些协议如 ARP、ICMP路由器发现和ICMP重定向等,并对他 们做了改进。本章介绍了IPv6邻居发现协议中的地 址解析、无状态地址自动配置等重要功能,并对如何 配置ND协议进行了讲解。
Type = 137
Redirect -(重定向消息)
5
目录
邻居发现协议 地址解析 无状态地址自动配置 ND协议配置
IPv6地址解析概述
与IPv4中的地址解析不同,IPv6地址解析包 含了两个过程
解析IPv6地址所对应的链路层地址过程 邻居可达性状态的维护过程,即邻居不可达检测
(NUD)

IPV6 - ND

IPV6 - ND
正文:
介绍
本文主要根据RFC2461,介绍IPV6的邻居发现(NeighborDiscovery,ND)。通过邻居 发现,实现以下功能:
1)包括主机和路由器的节点通过邻居发现来侦测邻居的链路层地址; 2)主机通过邻居发现找到可用的邻近路由器,用以转发数据包; 3)主机通过邻居发现可以实现对邻居的可达性保持跟踪; 4)主机侦测链路层地址的变化; 5)实现无状态地址自动配置;上述的 功能,通过以下消息实现: 1)路由请求(RouterSolicitation) 2)路由通告(RouterAdvertisement) 3)邻居请求(NeighborSolicitation) 4)邻居通告(NeighborAdvertisement)5)重定向消息(RedirectMessage)
1比特,其他状态位,决定是否自动配置除 地址外的其他配置(如NDS)Reserved6比特预 留,置0,接收时忽略RouterLifetime
16比特,与默认路由器相关,如果为0则表示路由器没有默认路由,同时不应该出现在路由列表 中ReachableTime
32比特,以单位为毫秒,用来邻 居可达性检测RetransTimer2比特,以 单位为毫秒,用来地址解析和邻居可 达性检测,是再次发送RS的时间间隔
8比特,RS消息固定为135
8 比特,固定为0
16 比特,校验和
预留,设置为0,被接收者忽 略TargetAddress目标的链路本地 地址,不能是多播地址Options可 选项有:源链路层地址 首部字 段的说明:
-SourceAddressA)发送接口的链路本地地址:地址解析和目的可达性检测B)未指定地址:用 于冲突检测时
展认证首部,消息认证通过-ICMP核验有效-ICMP的code字段为0-所有包含的选项长度大于0-如 果源地址是未指定的地址,那么不能有源链路层地址选项

IPv6邻居发现ND

IPv6邻居发现ND
修改 <1::1, MAC1, Reachable>
RECHEABLETIME以后。。。 修改
<1::1, MAC1, Stale>
Unicast Neighbor Advertisement:[1::2, MAC2]
上层要发送报文 <1::2, 1::1>
Unicast Neighbor Solicitation:[1::1,?],[FE80::,MAC2]
Neighbor Advertisement:[1:;1::1,MAC1, STALE>
修改 <1::1, MAC1, Delay>
修改 <1::1, MAC1,Probe>
16
地址解析示意图
1::1:A/64
1::2:B/64
00E0-FC00-0001
A
NS报文
00E0-FC00-0002
B
源MAC:00E0-FC00-0001;目的MAC:3333-FF02-000B 源IP地址: 1::1:A; 目的IP地址: FF02::1:FF02:B (被请求节点组播地址) 目标地址: 1::2:B 选项: 00E0-FC00-0001(源节点MAC地址)
3
IPv4 和 IPv6 报文头对比
IPv4 报头
Version IHL
Type of Service
Total Length
Identification
Flags
Fragment Offset
Time to Live
Protocol
Header Checksum
Source Address Destination Address Options

ipv6

ipv6

1. ND协议介绍邻居发现协议(Neighbor Discovery Protocol,以下称ND协议)是IPv6的一个关键协议,可以说,ND协议是IPv4某些协议在IPv6中综合起来的升级和改进,如ARP、ICMP路由器发现和ICMP重定向等协议。

当然,作为IPv6的基础性协议,ND还提供了其他功能,如前缀发现、邻居不可达检测、重复地址检测、地址自动配置等。

1.1 IPv6协议格式Version(4-bit):IP版本,该字段值为6Traffic Class(8-bit):流量分类,与IPv4包头的TOS类似Flow Label(20-bit):流标签,用来标记IPv6数据包的一个流Payload Length(16-bit):有效载荷的长度,有效载荷为紧跟IPv6包头的数据包的其他部分Next Header(8-bit):处理选项字段,分段,安全,移动性,松散源路由,记录路由等的新方式。

该字段在承载ND报文时字段值为58(ICMPv6)。

该字段详细字段值对应如下表Value Type of Header0Hop-by-Hop Options Header6TCP17UDP41Encapsulated IPv6 Header43Routing Header44Fragment Header50Encapsulating Security Payload51Authentication Header58ICMPv659No next header60Destination Options HeaderHop Limit:(8-bit):定义IP数据包所能经过的最大跳数,每跳一次将此值减1Source Address(128-bit):IP数据包的源地址Destination Address(128-bit):IP数据包的目的地址1.2 ND报文类型ND协议定义的报文使用ICMP承载,其类型包括:路由器请求报文(RS)、路由器通告(RA)报文、邻居请求报文(NS)、邻居通告报文(NA)和重定向报文。

ipv6主机之间的通信原理

ipv6主机之间的通信原理

ipv6主机之间的通信原理IPv6(Internet Protocol version 6)是一种用于互联网通信的网络协议,相比于IPv4具有更大的地址空间、更好的安全性和更高的可扩展性。

本文将介绍IPv6主机之间的通信原理。

IPv6的地址由128位二进制数组成,相比于IPv4的32位地址,IPv6的地址空间更大。

这使得IPv6可以为每个主机分配一个全球唯一的地址,同时还可以为每个子网分配大量的地址。

IPv6地址的格式采用八个四位十六进制数表示,每两个四位数之间用冒号分隔。

例如,2001:0db8:85a3:0000:0000:8a2e:0370:7334。

当两个IPv6主机进行通信时,首先需要进行地址解析。

IPv6主机可以通过IPv6邻居发现协议(Neighbor Discovery Protocol,NDP)来获取目标主机的MAC地址。

IPv6主机通过发送邻居请求消息来查询目标主机的MAC地址,目标主机则通过邻居应答消息来回复自己的MAC地址。

这样,源主机就能够获取到目标主机的MAC地址,从而实现通信。

在地址解析完成后,源主机可以通过IPv6的路由选择协议选择一条合适的路径来发送数据包。

IPv6使用一种称为IPv6路由协议(Routing Protocol)的协议来确定数据包的传输路径。

IPv6路由协议根据网络拓扑和路由策略,将目的地址与路由表进行匹配,找到合适的下一跳路由器。

然后,数据包经过一系列的路由器转发,最终到达目标主机。

在数据包到达目标主机后,目标主机会根据数据包中的目的端口号来将数据包交给相应的应用程序。

IPv6主机使用一种称为传输层协议的协议来区分不同的应用程序。

传输层协议中最常用的是TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)。

TCP提供可靠的数据传输,而UDP提供不可靠但是实时性更好的数据传输。

nd攻击原理

nd攻击原理

nd攻击原理
邻居发现协议(Neighbor Discovery Protocol,简称ND协议)是IPv6的关键协议之一,该协议基于ICMPv6实现,提供了诸如地址解析、邻居不可达检测、重复地址检测、地址自动配置等功能。

在IPv4中,主机需要使用ARP协议来获取目标主机的链路层地址,而在IPv6中,这一功能由ND协议实现。

因此,ND协议对于网络通信的正常运行至关重要。

针对ND协议的攻击被称为ND攻击。

由于ND协议使用的报文都封装在ICMPv6报文中,因此这些报文在三层完成地址解析,这使得不同的二层介质可以采用相同的地址解析协议,同时也可以使用三层的安全机制避免地址解析攻击。

然而,如果攻击者能够伪造ND报文,例如伪造邻居请求报文或邻居通告报文,就可能导致网络通信中断或数据泄露等安全问题。

例如,攻击者可以发送伪造的邻居请求报文,使得目标主机误认为攻击者是自己的邻居,从而将数据发送给攻击者。

因此,为了防范ND攻击,需要采取相应的安全措施,例如使用加密技术对ND报文进行加密,或者使用防火墙等设备对ND报文进行过滤和监控等。

同时,也需要加强网络管理人员的安全意识,及时发现和处理潜在的ND攻击。

ndp协议的工作原理

ndp协议的工作原理

ndp协议的工作原理
NDP(Neighbor Discovery Protocol)是IPv6网络中用于邻居
发现和地址解析的协议,它的工作原理如下:
1. 邻居发现,当一个IPv6节点加入网络时,它需要发现周围
的邻居节点,以便建立通信。

NDP通过邻居发现消息来实现这一点,节点可以发送邻居通告(Neighbor Advertisement)和邻居请求(Neighbor Solicitation)消息来查询和确认周围节点的存在。

2. 地址解析,当一个节点需要发送数据到另一个节点时,它需
要知道目标节点的链路层地址(如MAC地址)以便进行数据传输。

NDP通过地址解析消息来实现这一点,节点可以发送目标地址通告(Target Advertisement)和目标地址请求(Target Solicitation)消息来获取目标节点的链路层地址。

3. 路由器发现,NDP还用于发现网络中的IPv6路由器,以便
节点可以配置自己的默认路由。

节点可以发送路由器通告(Router Advertisement)和路由器请求(Router Solicitation)消息来实
现路由器的发现和配置。

4. 邻居缓存,为了加快邻居发现和地址解析过程,NDP维护了一个邻居缓存表,用于存储已知邻居节点的信息,包括其IPv6地址和链路层地址。

总的来说,NDP通过邻居发现、地址解析、路由器发现和邻居缓存等机制,实现了IPv6网络中节点之间的邻居关系管理和地址解析功能,从而保证了数据的正常传输和路由的正确配置。

NDP在
IPv6网络中扮演着非常重要的角色,是IPv6协议栈中不可或缺的一部分。

IPv6邻居发现协议简介

IPv6邻居发现协议简介

(1)INCOMPLETE(未完成状态):表示正在解析地址,但邻居链路层地址 尚未确定。
(2)REACHABLE(可达状态):表示地址解析成功,该邻居可达。
(3)STALE(失效状态):表示可达时间耗尽,未确定邻居是否可达。
(4)DELAY(延迟状态):表示未确定邻居是否可达。DELAY状态不是一个稳 定的状态,而是一个延时等待状态。
IPv6邻居发现协议
Neighbor Discovery Protocol,NDP
Michael 2017/09/29
課程目标
学习完本课程,您应该能够:
■ 熟悉邻居发现协议的基本功能 ■ 熟悉邻居发现的报文结构 ■ 掌握IPv6地址解析过程
■ 描述邻居状态机变化的过程
■ 掌握IPv6重定向的原理
■ 描述主机数据结构和数据发送算法
Host Router
1. RS
ICMPv6 Type = 133 (RS)
2. RA
ICMPv6 Type = 134 (RA) Src = Router link-local address
Src = link-local address (FE80::/10)
Dst = all-routers multicast address (FF02::2)
02
路由器发现
二、路由器发现(Router Discovery)
用于定位邻居路由器,生成default router列表,并获取与地址自动配置有关 的前缀和配置参数。用RS/RA机制实现。

主机发送Router Solicitation报文 路由器回应Router Advertisement报文 主机从RA报文获得前缀及其它参数

技术盛宴丨IPv6系列基础篇(下)——邻居发现协议NDP

技术盛宴丨IPv6系列基础篇(下)——邻居发现协议NDP

通过上一期文章(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所示:▲图1:ICMPv6报文格式报文中字段解释如下:• Type:表明消息的类型,0至127表示差错报文类型,128至255表示消息报文类型;• Code:表示此消息类型细分的类型;• Checksum:表示ICMPv6报文的校验和,校验的部分包括了ICMPv6数据和IPv6的报头部分(IPv6报头不含校验);• Data:ICMPv6数据。

ICMPv6消息类型中有5种是为了支持邻居发现协议而定义的,功能如图2描述:▲图2: ICMPv6五种消息类型无状态自动配置IPv6地址配置方式IPv6地址有128位,即使有简化书写的方式,为主机配置IPv6地址也是一件工作量不小的活儿。

网络基础 邻居发现(ND)协议

网络基础  邻居发现(ND)协议

网络基础邻居发现(ND)协议
IPv6邻居发现(ND)是一组确定邻居节点之间关系的消息和过程。

ND代替了在IPv4中使用的“地址解析协议(ARP)”、“Internet控制消息协议(ICMP)”、路由器发现和ICMP重定向,并提供了其他功能。

ND在RFC 2461“用于IP版本6(IPv6)的邻居发现”(Neighbor Discovery for IP Version 6 (IPv6))中进行了描述。

邻居发现(ND)协议的使用主要可分为三个方面,包括ND由主机使用、ND由路由器使用和ND由节点使用。

其中,在ND由主机使用中,主要用于探索邻居路由器、探索地址、地址前缀和其他配置参数;在ND由路由器使用中,主要用于公告它们的存在、主机配置参数以及处于链路的前缀,通知主机更好的下一个跃点地址,以便转发用于特定目标的数据包;在ND由节点使用中,主要用于解析IPv6数据包所转发到的邻居节点的链路层地址,确定邻居节点的链路层地址何时发生变化,确定IPv6数据包是否可以发送到邻居和能否收到来自邻居的数据包。

邻居发现(ND)协议的描述过程如表5-2所示。

slaac 过程 -回复

slaac 过程 -回复

slaac 过程-回复主题:SLAAC过程——IPv6网络配置的自动化引言:在IPv6网络中,为了实现自动化的网络配置,一种重要的机制被广泛应用,即SLAAC(Stateless Address Autoconfiguration,无状态地址自动化配置)。

SLAAC过程基于接口标识符(Interface Identifier)和一个全球唯一的统一前缀(Global Unique Prefix),它为IPv6主机自动分配IPv6地址,以及配置其他网络参数。

本文将详细讨论SLAAC过程的每一个步骤,以便更好地理解这一机制的工作原理。

一、Neighbor Discovery(邻居发现)过程在进行SLAAC过程之前,主机首先需要通过邻居发现过程识别附近的邻居节点,以获取到达IPv6路由器的链路层地址。

邻居发现过程包括以下几个步骤:1. 邻居发现器发送Router Solicitation(路由器请求)消息:主机发送一个多播ICMPv6(Internet Control Message Protocol version 6)消息到本地链路上的IPv6网络,以请求附近的路由器提供IPv6地址配置信息。

2. 路由器发送Router Advertisement(路由器通告)消息:路由器收到主机发送的Router Solicitation消息后,通过多播ICMPv6消息发送Router Advertisement消息来回应主机。

Router Advertisement消息包含路由器的IPv6地址信息、可达性信息以及其他配置参数,如前缀信息、默认网关等。

3. 主机获取路由器的IPv6地址配置信息:主机通过解析路由器发送的Router Advertisement消息,得到一个全球唯一的统一前缀。

二、创建IPv6地址的标识符主机在获取IPv6地址配置信息后,通过将IPv6地址的标识符与全球唯一的前缀相结合来创建IPv6地址。

IPV6-邻居发现ND协议

IPV6-邻居发现ND协议
• IPv6节点将邻居发现用于下列目的: – 确定同一链路节点的第2层地址; – 找到可以转发它们的数据包的邻近路由器 – 随时跟踪哪些邻居可达,哪些不可达并且检测有改 变的链路层地址。
2021/2/4
1
9
ND协议功能
邻居发现协议
地址解析 (NUD)
路由器发现
无状态自动配置
路由器重定向
重复地址检测 (DAD)
2021/2/4
1
2
接口(interface): 节点附着到链路的点。
邻居(neighbors):附着在相同链路的节点们。
前缀(prefix):由地址的一些起始比特构成的比特串。
链路层地址(link-layer address):接口的链路层标识符。例如以太网链路 的 IEEE802 地址。
on-link:

从该地址收到任何Neighbor Discovery消息。
2021/2/4
1
3
off-link:
• 与“on-link”相反;它也是一个地址,该地址没有分配给特定链路上的 任何接口。
最长前缀匹配(longest prefix match):
• 在覆盖目标地址的一组前缀中确定一个前缀的处理。如果前缀中的所 有比特匹配目标地址的最左边比特,目标地址由该前缀覆盖。当多个 前缀覆盖一个地址时,最长前缀是那个匹配的前缀。
2021/2/4
1
16
无状态地址自动配置—接口ID生成
将48比特的MAC地址转化为64比特的接口ID MAC地址的唯一性保证了接口ID的唯一性 设备自动生成,不需人为干预
48位MAC地址
64位接口ID
2021/2/4
1
17
CMTS中无状态地址自动配置

IPv6 邻居发现协议介绍

IPv6 邻居发现协议介绍

Prefix Information格式


Prefix Len:前缀的bit数,0-128(0或128什么含义?)
L:on link flag,当设置时,可用于on-link(是否直连)判决;当未设置时,RA对于前缀on-link还是offlink不持立场,即host不能认为通过该前缀生成的IP是off-link的。只有当Valid Lifetime为0,且L设置 为1,才表示该前缀的地址为off-link A:用于RFC2462 无状态地址自配置 Valid Lifetime&Perferred:参考RFC2462 无状态地址自配置 Prefix:一个IP地址或者IP地址的前缀,不能携带link-local的prefix
NS报文格式
• Node发送NS报文请求解析target Node的链路层地址,同时携带了自身的链路层地址,当 Node发送NS用于解析地址时,以组播方式发送;当验证可达性时,以单播方式发送

IP头 – 源IP:发送方接口IP或者为未定义IP(用于DAD检测时) – 目的IP:被请求节点组播地址或者目标地址
• 记录NUD算法涉及的相关数据记录,如邻居状态,重发计数,定时器等
• IPv6的NDP协议组合了IPv4时的ARP,RDISC(RFC1256 ICMP Router Discovery Messages),ICMP Redirect • 相比IPv4的增强
– router发现作为协议基本功能,主机不需”窥探“路由协议 – RA携带了link地址,不需额外的分组交换获取router的link地址 – RA携带了prefix,不需单独配置host的掩码 – RA使能地址自配置 – RA广播link MTU,保证那些没有知名MTU预定义值的link上的所有node使用相同 的MTU – 定义被请求节点组播地址,降低非解析目标节点的中断数 – Redirect携带了新的下一条的link地址,不需再发起的单独的报文交换去获取

ipv6 芳邻找寻与配发机制介绍

ipv6 芳邻找寻与配发机制介绍

芳鄰找尋與配發機制介紹1課程大綱IPv6芳鄰找尋介紹– 芳鄰找尋簡介 – 芳鄰找尋訊息格式 – 芳鄰找尋功能IPv6配發機制介紹– IPv6自動配置模式 – RA旗標意義 – IPv6自動配置流程2IPv6芳鄰找尋介紹簡介3芳鄰找尋簡介 (1/2)全名– Neighbor Discovery (ND)出處– RFC 4861 (取代RFC 2461) (更新RFC4311)功能– 1. 位址解析 [Address Resolution]• Link-Layer address resolution • Neighbor Unreachability Detection (NUD)– 2. 重複位址檢測 [Duplicate Address Detection (DAD)] – 3. 執行無狀態自動位址配置 [Stateless Address Autoconfiguration]• Router Discovery, Prefix Discovery, DNS Discovery– 4. 路由重導• First-Hop Redirect引用自TWNIC IPv6技術理論與實務研習班講義4芳鄰找尋簡介 (2/2)訊息種類– 1. 路由器邀請封包 (Router Solicitation) – 2. 路由器公告封包 (Router Advertisement) – 3. 芳鄰邀請封包 (Neighbor Solicitation) – 4. 芳鄰公告封包 (Neighbor Advertisement) – 5. 重蹈封包 (Redirect)訊息功能區別– 單一直播 (Unicast) – 多點群播 (Multicast)5ICMPv6選項種類1 2 3 4 5 24 25選項名稱選項功能Source Link-Layer Address 攜帶傳送端的Link-Layer位址 Target Link-Layer Address Prefix Information Redirect Header MTU Route Information Option Recursive DNS Server 攜帶目的端的Link-Layer位址 提供IPv6節點執行無狀態自動定址資訊 提供Host導送更佳的路由資訊 提供相同網段上的節點有相同的MTU 提供IPv6節點路由資訊 提供IPv6節點DNS資訊6路由器邀請封包格式1. 功能– 找尋相同網段上的Local路由器,必觸發路由器傳送路由公告封包2. IPv6欄位– 來源位址:傳送此訊息的主機Link-Local位址 – 目標位址:ff02::2 (所有路由器群播位址)3. ICMPv6欄位– Type:133 – Option:Source Link-Layer (1)7路由器公告封包格式 (1/2)1. 功能– 路由器公告指派網路組態設定給IPv6節點2. IPv6欄位– 來源位址:傳送此訊息的主機Link-Loacl位址 – 目標位址:ff02::1 (所有節點群播位址)或RS的主機Link-Local位址3. ICMPv6欄位– Type:134 – Option:Source Link-Layer (1) & Prefix Information (3) & MTU (5) Recursive DNS Server (25)路由器公告封包格式 (2/2)9芳鄰邀請訊息1. 功能– 找尋相同網段上的節點,必觸發節點傳送芳鄰公告封包2. IPv6欄位– 來源位址:傳送此訊息的主機Link-Local位址或是:: – 目標位址:被邀請節點(Solicited-Node)群體播送位址或邀請目標位址3. ICMPv6欄位– Type:135 – Option:Source Link-Layer (1)101. 功能–節點公告本身資訊2. IPv6欄位–來源位址:傳送此訊息的主機Link-Loacl位址–目標位址:若芳鄰邀請訊息的來源位址未指定,則使用所有節點群播位址傳送,若芳鄰邀請訊息的目的位址為已邀請節點,則使用所有節點的群體播送位址。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Neighbor Discovery in IPv61.1 IntroductionThe lack of internet (IP) addresses in the Internet community today have forced a development of a new extended addressing protocol, namely IPv6. IPv6 has been developed with an address space of 128 bit as opposed to the older currently used version IPv4 with a 32 bit addressing space. Thereby solving the shortage of IP addresses problem on the Internet. When improving the Internet protocol IP the internet community also made a lot of other additions and improvements that is supported by IPv6. One of these improvements are Neighbor Discovery. In IP and mobile IP version 6 a very important component is Neighbor discovery, some of the features in Neighbor discovery are new others are renamed and altered compared to the earlier version of IP (IPv4).1.1.2 Neighbor discovery is used by nodes to:Determine the link-layer addresses for neighboring nodes (nodes residing on the same link) and quickly remove cached values we they become invalid.Find routers willing to forward their packets, that is acting as a default router.Keep track of which nodes are reachable and on which path they can be reached.1.1.3 Functions in Neighbor discoveryTo do this a number of functions are introduced:Router discovery: How to locate routers on the link.Prefix discovery: How to determine the network prefixes on the link. The prefixes are used to distinguish between nodes on the same link as node(neighbors) and nodes reached through a router.Parameter discovery: To find link parameters such as MTU, the value to put in the hop limit field.Address resolution: To determine neighbors link-layer address given its IP address.Next-hop determination: To decide next hop for packets going through a router.Neighbor unreachability detection: To detect that a neighbor no longer is reachable.Duplicate Address Detection: To determine that a nodes address is unique.Redirect: When a router informs the node of the better next hop.1.1.4 ICMP types providing the Neighbor discovery functionsThe neighbor functions are provided using five different ICMP (version 6) message types:Router solicitations: Requests from host to a router for router advertisements.Router advertisements: For routers to advertise their presence and parameters.Neighbor solicitations: To determine the link-layer address of a neighbor, to determine if the neighbor is still reachable and to detect duplicate addresses.Neighbor Advertisement: for nodes to announce their link-layer address.Redirect: For routers to inform hosts of better next hop.2.1 Requirements on hostsAll these features set requirements on the hosts. They are required to have a Neighbor cache, destination cache, a prefix list and a default router list.2.1.2 The Neighbor cacheThe Neighbor cache must have a set of entries about the neighbors such as their link-layer address, IP addresses, a flag indicating if the node is a router or a host, a pointer to queued packets waiting for the Address Resolution to complete. It also contains information regarding nodes reachability state, numbers of unanswered probes and next time a Neighbor Unreachability Detection is to take place.Each entry in this cache must have one of 5 different sates, stated below. These states will help the node to keep track of the status of each neighbor. Each entry also contains a timer so that old values change state when no update has occurred for a while.The different states in the neighbor cache are:Incomplete: The address resolution is in progress trying to obtain the link-layer Address Reachable: The entry is complete, the node is assumed reachable.Stale: Entry is known to be reachable but no verification attempt should be tried until traffic is sent to the neighbor.Delay: The reachability is uncertain but traffic is sent and solicitations are delayed. Probe: A probe message is sent to verify reachability2.1.3 The Destination cacheThe Destination cache contains destination information about recently sent traffic. IP addresses and a pointer to the next hop address stored in the neighbor cache. The cache is updated by Redirect messages from routers. This cache contains information about nodes residing both on the same link (neighbors) and on others as opposed to the destination cache that only contains information about nodes on the same link. 2.1.4 The prefix listThe prefix list contains entries for every prefix on the link. The hosts to determine if the destination is on the same link use this information. Thereby knowing if the packet should be sent directly or via the default router.2.1.5 Default router listA list containing the routers on the link that are willing to act like a default router for the node.3.1 Packet transmissionA node about to send a packet will use the three above described caches. When a packet is transmitted the node looks into the Destination cache, the prefix list and the default router to determine the IP address. This is done via a longest prefix match among the prefixes stored in the prefix list. This match will show if the node is on the same link or should be sent via the default router. Once the IP address is known the Node looks into the Neighbor cache to get the link-layer address for a suitable next hop. If the node doesn’t have an entry in the Neighbor cache, it creates an entry and starts the address resolution, while this process is running packets to that address are queued.Every time the Neighbor cache is used the reachability information is checked and if the status isn’t reachable suitable measures are being made, these according to what is stated in the Unreacability Detection function, described further down.4.1 Router and prefix discoveryRouter discovery is used to find neighboring routers, prefixes and configuration parameters such as the default value of the Hop limit or MTU on the present link. Routers periodically send a multicast router advertisement or as a response of a router solicitation. The nodes on the link receiving this advertisement use it to build up their list of default routers (the router can choose not to be listed to enable load balancing). The prefixes the nodes can learn from the advertisement are used to the get the IP-addresses of the nodes that are currently on the link. The prefix information is sent as an option. Moreover the Advertisement contains a set of flags that informs the routers about how to perform the Autoconfiguration (i.e. stateful or stateless)5.1 The Address resolutionAfter the prefix discovery the nodes has to determine or verify the link-layer addresses on the link. This is discovered by using Neighbor solicitations and Neighbor Advertisements. A node starts with sending a Neighbor Solicitation message to make the wanted node to return its link-layer address and at the same time providing the nodes own link-layer address. The solicitation is sent as a multicast message if an address needs to be resolved and unicast when an address needs to be verified.When positive acknowledgement does not verify that sent data is delivered neighbor solicitation can be sent to find out about the nodes reachability this will force the receiver to send an advertisement that confirms its reachability. The solicitation messages are also used to discover duplicate addresses, to see if more then one node is using the same address.6.1 Neighbor UnreachabilityThe frequency of router advertisements is not high enough to detect unreachability problems. Therefore the Neighbor Unreachability detection procedure is introduced. When the reachability isn’t confirmed by upper layer protocols (such as TCP) the node must probe to test the reachability. This is done via using Neighbor Solicitations.A node that has been regarded as reachable will after a certain time change state to the Stale state, when a packet is to be sent the state enters the delay state and a probe issent. Once a confirmation (neighbor solicitation) is received the state is changed to reachable.If a node changes its link layer address the neighbor unreachability detection will eventually deal with this problem. To improve the performance the neighbor discovery states that a node that does a link layer change shall send a few Neighbor advertisements.7.1 Redirect functionWhen a packet is transmitted to a node that appears not to be on the same like, it is sent via a router. If the chosen next hop is not an optimal one the router will transmit a redirect message to the source. This to present a better next hop alternative. The redirect message is trigged to be sent when the router forwards a packet on the same interface as it was received. When a node receives a redirection message it assumes that the node it is redirected to resides on the same link as it self. This will result in a neighbor or solicitation to get the link-layer address. This will give the nodes the ability to directly exchange messages to links on different subnets without passing through a router.8.1 Duplicate address detectionA node send a Neighbor Solicitation message to check if it’s own address is in use. If a response is received then we have a address duplication problem that the network administrator have to solve.9.1 Ipv4 comparison:Table 1.1 below states the Ipv6 Neighbor discovery functions and the corresponding IPv4 functionalities:IPv6 Neighbor Discovery Functions Similar IPv4 FunctionalityRouter Discovery ICMP Router DiscoveryPrefix Discovery DHCP or manual Configuration Parameter Discovery Manual configurationAddress resolution ARPNext hop determination Routing table searchesNeighbor Unreachability Detection No standard mechanismDuplicate Address detection No standard mechanismRedirect ICMP RedirectTable 1.1 Ipv6 Neighbor discovery functions and the corresponding IPv4 functionalities.10.1 Extensions made for mobile nodesA mobile node with its mobile behavior has different characteristics compared to regular fixed nodes. There are several additions and changes done to introduce mobility support in the neighbor discovery process. The Mobile IPv6 is still under development and just drafted yet, so what I’m describing may change in the near future.The Router Advertisment have an additional flag which makes it possible for the router to state whether it’s serving as a home agent or not. The prefix option information is extended so that the router is providing its global address and not just the link-local address. This extension is essential so that the mobile node can establish a forward service from it’s previous location. An other option has been added whichgives their router the ability to state the interval at which unsolicited Router Advertisements are sent. A second option extension is allows the home agent to advertise information such as Home agent life time and a preference value which indicates how preferable this Home agent is in case of several on the same link. To support mobile nodes movement detection (described below) the Advertisements are allowed to be sent more frequently.Router Solicitations are, when the node is not connected to its home link, for the same reason (make movement detection easier) allowed to be sent more frequently then in mobile IPv6.10.2 Movement detection using neighbor discoveryWhen a mobile node for example has moved out of range of wireless access point and is in range of another this must be detected. When this is detected the mobile node can configure a new care-of address from a new router that advertises.Some of the neighbor discovery functions are involved when a mobile node is to detect that it has moved. The entries from the nodes different caches contain information about routers and their prefixes. One of these entries defines the router that is the default router.To detect that the default router is unreachable the mobile node uses Neighbor Unreachability Detection described above. The router is also continually probed with Neighbor Solicitation messages and a failure in response can be seen, as the router is unreachable. Any received packet from the router will be taking as an acknowledgement that the router is still reachable. This can be exploit on some link when the node is set in a promiscuous mode so that all packets on the link will be received and not just those addressed to the node itself.However according to the Mobility support draft[1] any combination of movement detection that the mobile node can perform is allowed. This means that the movement detection with the neighbor discovery processes can be supplemented with for instance lower layer detection schemes. Lower layer schemes could be measuring the signal strength and when it’s to low from the current link change to another with higher, even if router advertisements still are getting thorough.11 Future – will Ipv6 be used?There are already several IPv6 networks in operation, 6bone run by NTT in Japan and MCI Worldcom in the USA. But the major driving force in introducing IPv6 is the Mobile industry. Companies as Ericsson and Nokia are running large research projects regarding Mobile IPv6, which probably will be introduced in the third generation of mobile networks, UMTS.The question of introducing IPv6 is also a regional issue. Asia has a lot higher demand for IPv4 addresses then America since they have more assigned to them. This means that USA is more reluctant to introducing IPv6 since all upgrades are costly. The transitation between IPv4 and IPv6 will not happened over a night. There are schemes like the NAT (network address translator) that will make a coexistence of IPv4 and IPv6 possible for a period. For a while we will have to cope with a dual stack system with both IPv4 and IPv6.However the lack of addresses and the mobile industries efforts will sooner or later force the Internet community to make the transitation to Mobile IPv6.12 References:[1] David B Johnson, Charles Perkins, Mobility Support in IPv6, 2 July 2001.[2]T. Narten, E. Nordmark, W. Simpson, Neighbor Discovery for IP Version 6(IPv6) RFC 2461, December 1998.[3]James D. Solomon, Mobile IP The internet unplugged, Prentice Hall PTR1998.[4][5]。

相关文档
最新文档