IPv6邻居发现ND

合集下载

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网络配置

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 ND配置举例

IPv6 ND配置举例

IPv6 ND配置举例关键词:IPv6 ND摘要:本文主要介绍IPv6 ND的应用及其典型配置。

缩略语:目录1特性简介 (3)2应用场合 (3)3配置举例 (3)3.1组网需求 (3)3.2配置思路 (4)3.3配置步骤 (4)3.3.1 Router A的配置 (4)3.3.2 Router B的配置 (5)3.3.3 Host的配置 (6)3.3.4验证结果 (6)4相关资料 (8)4.1相关协议和标准 (8)1特性简介IPv6邻居发现协议(IPv6 ND,简称ND)是IPv6的一种基础协议,它利用NA、NS、RA、RS 和重定向五种类型的ICMPv6消息,来确定邻居节点之间关系和地址信息,实现地址解析、验证邻居是否可达、重复地址检测、路由器发现/前缀发现、地址自动配置和重定向等功能。

邻居发现协议代替了IPv4中的ARP、ICMP路由器发现(Router Discovery)和ICMP重定向消息(Redirect Message),并提供了一系列增强功能,保障了设备的安全性。

2应用场合在IPv6通信过程中始终需要运行ND协议。

例如,通信节点间转发IPv6报文、主机和路由器间交换IPv6地址配置信息时,都需要使用ND协议获得链路层地址、邻居可达性等必要的信息。

主机通过ND可以实现:发现邻居路由器;自动获取地址前缀和其他相关配置参数。

路由器通过ND可以实现:发布路由器的存在、主机配置参数和地址前缀;通知主机向特定目的地址转发报文的理想下一跳地址。

通过ND,主机和路由器还可以实现:解析邻居节点的链路层地址;按照一定机制维护邻居信息。

一般情况下,ND默认的配置就可以满足普通用户的需求,但是,下面两种情况下,需要在设备上进行ND的配置:网络状态不稳定或网络中存在安全隐患时,为了保证设备间通信稳定,需要调整部分参数;设备为其他主机提供地址前缀信息时,需要对设备进行设置。

3配置举例3.1组网需求如下图所示,Router A,Router B为SR6602。

ipv6,nd协议,广播

ipv6,nd协议,广播

竭诚为您提供优质文档/双击可除ipv6,nd协议,广播篇一:网络基础邻居发现(nd)协议网络基础邻居发现(nd)协议ipv6邻居发现(nd)是一组确定邻居节点之间关系的消息和过程。

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

nd在RFc2461“用于ip版本6(ipv6)的邻居发现”(neighbordiscoveryforipVersion6(ipv6))中进行了描述。

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

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

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

篇二:ipV6基本协议分析实验上机报告篇三:ipv6协议实验项目名称:实验报告i.实验目的1.配通自己pc的ipv6网络,熟悉ipv6相关的控制台命令;2.学习nd及相关应用(如路由器发现、不可达检测、重复地址检测、前缀发现、参数发现、重定向等);(可选做其它感兴趣的协议或应用)ii.实验要求在网络上抓取任意4种nd消息报文(至少4个截图),做报文分析。

提交的作业内容包括:1.自己pc的ipv6地址,如何知道ipv6是通的?请以截图配文字说明;2.用抓包工具(如wireshark),抓取nd 消息报文,分析之,以截图(至少4个截图)配文字的形式。

iii.现有条件学校的网络,能够上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)

linux内核 ipv6邻居表项的老化机制

linux内核 ipv6邻居表项的老化机制

linux内核 ipv6邻居表项的老化机制
Linux内核中的IPv6邻居表项的老化机制是通过NDISC(邻
居发现协议)来实现的。

NDISC是IPv6网络中用于解析邻居(即相邻路由器或主机)的IPv6地址与链路层地址的协议。

在Linux内核中,NDISC协议在IPv6邻居缓存中会为每个邻
居表项设置一个存活时间(lifetime),即表项在该时间之后
将被认为过期并从缓存中删除。

存活时间由邻居发现过程中的各种信息和事件动态地更新。

当IPv6邻居表项未被访问一段
时间后,其存活时间会递减,直到到达零值。

当邻居表项的存活时间为零时,内核会发送一个NDISC Neighbor Advertisement(邻居广告)报文,以验证邻居的存在。

如果该邻居正常回复一个NDISC Neighbor Solicitation(邻居
请求)报文,则邻居表项的存活时间会被重新设置并重新开始计时。

如果邻居没有回复,那么该邻居表项将被认为已经过期,会从邻居缓存中删除。

此外,内核还会通过其他机制来更新邻居表项,如接收到邻居的数据包、链路状态改变等。

这些事件会触发对邻居表项的更新和存活时间的刷新。

总结来说,Linux内核中的IPv6邻居表项的老化机制是通过NDISC协议和存活时间的动态调整来实现的。

邻居表项在一
段时间内未被访问时,存活时间会递减,直到零。

当存活时间为零时,内核会发送邻居广告报文来验证邻居的存在,并根据
回复情况来决定是否将表项删除或重新计时。

同时,其他事件也会触发对邻居表项的更新和存活时间的刷新。

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中的邻居发现协议—NDP功能浅析

IPv6中的邻居发现协议—NDP功能浅析

I CMP报 文 重 定 向 等 协 议 综 合 而成 ; 可 以实 现 它 Iv P 4中 的 地 址 解 析 协 议 ( A RP) 控 制 报 文 协 议 、
( CM P) I 中的路 由器 发 现部 分 、重定 向协 议 的所有
功能 ,并 具有邻 居 不可达 检 测机制 ,如 图 l 示 。 所
关键词 :P 6} I v 邻居 发现 曩 譬
Ne g b r i h o Di c v r Pr t c l n Pv 一一 NDP s o ey o o o i I 6 Fu c i n A n l s s n to a y i
S A G Ja z e L U S u n h n H N in h n , I h a g o g
报文 ( MP 6 来实现 协议 的各 种功能 ,见 表 l I C v) 。
t a he e h s f n to s n e al. o c iv t e e u c in i d t i s Ke w o d y r s: Iv6; Neg b r s o e y P i h o Di v r c
1弓 言 I
伴 随 着 网络 应 用 的迅 猛 发 展 和 网络 规模 的极 度 扩 张 ,当前 普 遍 使 用 的 I P网 络也 暴 露 出越 来 越 多 的 问题 ,诸 如 地 址 空 间 不 足 、 服 务 质 量 、安 全 性 等 。为 了解 决这 些 问题 ,尤 其 是解 决地 址 空 间即将 耗 尽 的 严 重 问 题 ,I ETF在 1 9 9 2年 定 义 了全 新 的
水J

T"e l 、 p n p l6 e 3
T -e J 7 3 3 r
Ns Ne blS h tt n, l c o cti  ̄l f ao

IPv6解决方案ND防攻击技术白皮书

IPv6解决方案ND防攻击技术白皮书

IPv6解决方案ND防攻击技术白皮书关键词:ND,ARP,ND攻击,ARP攻击,交换机,IPV6摘 要:本文介绍了在IPv6网络中的ND攻击及防攻击的技术思路以及H3C公司的ND防攻击方案部署的典型方案以及技术特点。

缩略语清单:缩略语英文全名中文解释NDP Neighbor Discover邻居发现协议ProtocolARP Address Resolution地址解析协议ProtocolIPv6Internet Protocol因特网协议第六版Version 61ND攻击概述邻居发现协议(Neighbor Discovery Protocol,以下称ND协议)是IPv6的一个关键协议,可以说,ND协议是IPv4某些协议在IPv6中综合起来的升级和改进,如ARP、ICMP路由器发现和ICMP重定向等协议。

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

在IPv4网络中,ARP攻击问题已经为广大的网络管理者,设备厂商所认识,ARP攻击能够造成大面积网络不能正常访问外网,使得正常用户深受其害。

针对ARP攻击,大部分的网络设备厂商都推出了自己的ARP防攻击解决方案,在很大程度上解决了ARP攻击的问题。

而伴随着IPv6网络的建设,在IPv6协议族中的NDP协议越来越被重视,而在ND协议的设计与ARP协议一样并未提供认证机制,导致网络中的主机是不可信的,从而使得针对ND协议的攻击非常容易。

2ND协议介绍2.1ND报文类型ND协议定义的报文使用ICMP承载,其类型包括:路由器请求报文、路由器通告报文、邻居请求报文、邻居通告报文和重定向报文。

由于ND报文中的可选字段及代码类型较多,下面描述的ND报文中的各个字段并不完全,主要描述了涉及到ND防攻击技术的选项。

2.1.1路由器请求报文RS Router Solicitation Message主机启动后,通过RS消息向路由器发出请求,期望路由器立即发送RA消息响应。

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邻居发现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)和重定向报文。

nd攻击原理

nd攻击原理

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

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

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

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

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

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

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

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

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

IPv6邻居发现攻击防护解决方案技术白皮书

IPv6邻居发现攻击防护解决方案技术白皮书

Hillstone IPv6邻居发现攻击防护解决方案技术白皮书关键词:IPv6,邻居发现(ND),安全网关,NS/NA,RS/RA摘要:本文介绍了IPv6邻居发现协议的基本原理、攻击种类、Hillstone安全网关防护方法,以及典型实际环境中的应用。

缩略语:1.IPv6邻居发现协议简介IPv6的邻节点发现(ND)协议,是用一系列的报文和步骤来确定邻节点之间关系的过程。

ND取代了IPv4中使用的ARP、ICMP路由器发现和ICMP重定向报文。

●ND协议定义功能:●ND协议报文格式:邻节点发现报文使用ICMPv6的报文格式,及ICMPv6的从133到137的报文类型。

●ND协议报文类型:2.IPv6邻居发现攻击介绍在IPv4网络中,ARP攻击问题已经为广大的网络管理者、设备厂商所认识,ARP攻击能够造成大面积网络不能正常访问外网,使得正常用户深受其害。

针对ARP攻击,大部分的网络设备厂商都推出了自己的ARP攻击解决方案,在很大程度上解决了ARP攻击的问题。

而伴随着IPv6网络的建设,在IPv6协议族中的ND协议越来越被重视,而ND协议在设计上与ARP协议一样并未提供认证机制,导致网络中的主机是不可信的,从而使得针对ND协议的攻击非常容易。

ND攻击类型总结如下:●地址欺骗攻击攻击者利用NS/NA/RA报文来修改受害主机或网关上的MAC地址,造成受害主机无法与网络进行正常的通信,甚至形成中间人攻击。

●路由通告欺骗攻击RA报文能够携带很多网络配置信息,包括默认路由器,网络前缀列表,是否进行有状态地址分配等网络配置的关键信息。

如果受害者接收了虚假的RA信息,会造成网络配置错误,从而引发欺骗攻击。

●针对网关的泛洪攻击通过发送大量的NS/RS报文,造成网关的ND表项溢出。

3.Hillstone IPv6邻居发现攻击防护方法通过对上文ND攻击类型的介绍,我们可以看出发现当前ND攻击防御的关键所在:如何获取到合法用户和网关的IPv6地址和MAC地址的对应关系,并如何利用该对应关系对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所示。

RFC4861 IPv6邻居发现协议-2007

RFC4861 IPv6邻居发现协议-2007

RFC4861 IPv6邻居发现协议2007该备忘录状态:本文档为Internet社区指定了Internet标准跟踪协议,并请求讨论和改进建议。

有关本协议的标准化状态和状态,请参阅当前版本的“互联网官方协议标准”(STD 1)。

这份备忘录的分发是不受限制的。

概述:本文档定义了IPv6邻居发现协议。

位于同一链路(子网)上IPv6节点使用邻居发现协议去发现每个节点的存在,确定每个其他节点的链路层地址,发现路由器,并管理&维护到活动邻居路径的可达性信息。

修订记录目录目录 (3)1引言 (6)2术语 (6)2.1通用术语 (6)2.2链路类型 (9)2.3地址 (10)2.4要求 (11)3协议概述 (11)3.1与IPv4的对比 (15)3.2支持的链路类型 (16)3.3保护邻居发现消息 (17)4消息格式 (18)4.1路由器请求(RS)消息格式 (18)4.2路由器通告(RA)消息格式 (19)4.3邻居查询(NS)消息格式 (21)4.4邻居通告(NA)消息格式 (22)4.5重定向(Redirect)消息格式 (24)4.6选项格式 (26)4.6.1源/目标链路层地址 (26)4.6.2前缀信息 (27)4.6.3重定向头 (28)4.6.4MTU (29)5主机概念模型 (30)5.1概念数据结构 (30)5.2概念发送算法 (31)5.3垃圾回收与超时要求 (33)6路由器和前缀发现 (33)6.1消息检查 (34)6.1.1RS消息有效性检查 (34)6.1.2RA消息有效性检查 (35)6.2路由器规范 (35)6.2.1RA配置变量 (35)6.2.2成为通告接口 (39)6.2.3RA消息内容 (39)6.2.4发送未经请求的RA (40)6.2.5停止作为通告接口 (41)6.2.6处理RS (41)6.2.7RA一致性 (42)6.2.8链路本地地址变化 (43)6.3主机规范 (44)6.3.1主机配置变量 (44)6.3.2主机变量 (44)6.3.3接口初始化 (45)6.3.4处理RA (45)6.3.5前缀和默认路由器的超时 (48)6.3.6默认路由器的选择 (48)6.3.7发送RS (48)7地址解析和邻居不可达检测 (50)7.1消息检查 (50)7.1.1NS的有效性检查 (50)7.1.2NA的有效性检查 (51)7.2地址解析 (51)7.2.1接口初始化 (52)7.2.2发送NS (52)7.2.3接收NS (53)7.2.4发送NA (54)7.2.5接收NA (54)7.2.6发送不请自来的NA(主动发送的NA) (56)7.2.7任播地址的NA (57)7.2.8代理邻居通告 (57)7.3邻居不可达检测 (58)7.3.1可达性确认 (58)7.3.2邻居缓存条目的状态 (59)7.3.3节点的行为 (60)8重定向功能 (62)8.1重定向的有效性检查 (62)8.2路由器规范 (63)8.3主机规范 (64)9扩展性–选项处理 (64)10协议常量 (66)11安全考虑 (67)11.1安全威胁分析 (67)11.2保护邻居发现消息 (68)12重新编号的注意事项 (69)13IANA考虑 (70)14参考文档 (71)14.1Normative References (71)14.2Infomative References (72)附录A 多宿主主机 (75)附录B 将来扩展 (76)附录C 可达性状态机 (77)附录D IsRouter规则总结 (80)附录E 实现问题 (81)E.1. 可达性确认 (81)附录F 自RFC2461的变更 (83)15致谢 (84)1引言本规范定义了IPv6邻居发现协议(简称为ND)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
IPv6基本术语
邻节点
主机
主机
局域网段
交换机
链路
内部子网 路由器
子网
邻节点
主机
主机
路由器 其他子网
网1 络 IPv6的网络元素
IPv6地址分类
单播地址(Unicast Address) 组播地址(Multicast Address) 任播地址(Anycast Address)
2
单播地址
在该类IP报头中,源地址可以是发起主机的接口地址,或是DAD中的未指定地址。
18
邻居通告NA结构
3个标志:
R路由器标志为1,发送方为路由器; S请求标志为1,消息为响应邻居请求发出; O覆盖标志(1)表示通告消息中的信息应当覆盖现有邻居缓存记录,并且更新所有
缓存器中的链路层地址。
19
1 路由器请求Router solicitation (ICMPv6 type 133) 2 路由器公告Router advertisement (ICMPv6 type 134) 3 邻居请求Neighbor solicitation (ICMPv6 type 135) 4 邻居公告Neighbor advertisement (ICMPv6 type 136) 5 重定向Redirect (ICMPV6 type 137)
经过地址解析获得二层地址,从而进入“(Reachable)可达”状态进行通 信,这时主机“可到达时间”定时器开始计时。
定时器超时后,表项就进入“(Stale)失效”状态。
有报文发往邻居时,这个报文会利用缓存的二层地址进行封装,并进入 “Delay延迟”状态,期待上层协议给出一个关于邻居的“可达到性”信息。 在Delay_first_probe_time时间之内还未能收到关于该邻居的任何“可达到 性”信息,向该邻居发送邻居请求报文,并且该表项进入“probe探测”状 态。
PC1 1::1
Switch
PC2 1::2
邻居表中没有1::2项: 添加[1::2, , Incomplete] 修改为[1::2,MAC2,Reacheable]
Neighbor Unreachability
Detection
Multicast Neighbor Solicitation:[1::2, ?], [1::1, MAC1] Unicast Neighbor Advertisement:[1::2, MAC2] [MAC1 to MAC2]Echo Request [MAC2 to MAC1]Echo Reply
邻居发现选项
Type:1.源链路层地址;2.目标链路层地址;3.前缀信息;4.重定向报头; 5.MTU
Length指出选项长度(含Type和Length)。数值0不合法,该数据包会被丢弃
20
邻居不可到达性探测(NUD)
NUD(Neighbor Unreachability Detective)是节点 确定它邻居可达性的过程
Probe状态:节点会持续向probe状态的邻居发送请求报文,直到收到“可
达 到 性 ” 信 息 , 两 个 请 求 间 隔 为 retrans timer , 最 多 尝 试
Max_unicase_solicit次。
23
NUD状态
24
典型邻居状态迁移
上层要发送报文 <1::1, 1::2>
Padding
IPv6 报头
Version
Traffic Class
Payload Length
Flow Label
Next Header
Hop Limit
Source Address
Destination Address
Legend
IPv4 和 IPv6相同字段 IPv6不再保留字段 IPv6中名称和位置改变的字段 IPv6新字段
NA报文
源MAC:00E0-FC00-0002;目的MAC: 00E0-FC00-0001 源IP地址: 1::2:B; 目的IP地址: 1::1:A 目标地址: 1::2:B 选项: 00E0-FC00-0002(目的节点MAC地址) 标志S位:置1
17
邻居请求NS结构
两个功能:由ARP处理的链路层地址解析,以及邻居不可达性检测机制。 如果目的地址是一个多播地址,那么源地址正在解析一个链路层地址。 如果源地址正在检测一个邻居的可达性,那么目的地址是一个单播地址。 可用于重复IP地址检测(duplicate IP address detection, DAD)。
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地址)
6
邻居发现(Neighbor Discovery)协议
IPv6的邻居发现(Neighbor Discovery)协议结合 了 IPv4 中 的 地 址 解 析 协 议 ( Address Resolution Protocol ARP)和ICMP的路由器发现和重定向。
IPv6节点将邻居发现用于下列目的: 确定同一链路节点的第2层地址; 找到可以转发它们的数据包的邻近路由器 随时跟踪哪些邻居可达,哪些不可达并且检测 有改变的链路层地址。
10
主机的数据结构
IPv6主机需要为每一接口维护的信息是:
邻居缓存表:近期发送过数据流的邻居信息组成 的表项
目的地缓存表:由已发送报文的目的地址所组成 的表项
前缀列表:规定一组“在连接(On-link)”地址的前 缀组成的列表。前缀列表的表项产生于路由器通 告接收到的信息。
默认路由器列表:接收数据包的路由器列表。
4
报文结构
固定头部 扩展头部 上层协议
固定头部 扩展头部1
扩展头部
Next Header Next Header Next Header
Next Header
扩展头部n 上层协议
Next Header
5
ICMPv6报文格式
Type值决定了报文所属的类别 0 -127:错误报文 128-255:信息报文
Unicast Neighbor Solicitation:[1::1,?],[FE80::,MAC2]
Neighbor Advertisement:[1::1,MAC1]
添加邻居缓存项 <1::1,MAC1, STALE>
修改 <1::1, MAC1, Delay>
修改 <1::1, MAC1,Probe>
以配置为不通告前缀,此时路由器接收到含未通告的前缀的数据包,会发布ICMP重 定向消息。 标准身份验证和安全机制可应用于邻居发现。
13
IPv6邻居发现(ND)机制
IPv6地址解析
14
地址解析
IPv6取消了ARP协议 通过邻接点请求报文(NS)和邻接点公告报文(NA)
的交互来解析链路层地址
11
主机数据包的发送算法
节点向目的地发送数据包时,使用目的地缓存、前缀列 表、默认路由器列表确定合适的下一跳,然后路由器查 询邻居缓存确定邻居的链路层地址。
IPv6单播地址下一跳确定的操作方法是:发送者使用前 缀列表中的前缀进行最长前缀匹配,确定数据包的目的 地是在连接的还是非连接的。如果下一跳是在连接的, 下一跳地址就和目的地址相同,否则发送者从默认路由 器列表中选择下一跳。
9
ND重要概念
On-link:地址存在于指定链路某个接口上 Off-link:地址不存在与指定链路某个接口上 可达性(reachability):邻居节点的IP层是
否可达 目 标 ( target ) 地 址 : 地 址 解 析 、 重 定 向 、
DAD 和NUD中用到,注意不要和目的地址 (Destination)混淆
NUD加强了网络的强壮性,它使用的不是简单的超 时删除机制,而是可达性状态机。
21
邻居缓存和目的地缓存
邻居缓存:邻居缓存维护着一份最近有过通信的邻居的列 表。 按照他们的单播IP地址列出,每条记录包含了有关邻居 的链路层地址的信息,以及一个标志(邻居是路由器还 是主机)。 记录还包含队列中数据包的信息,邻居可达性信息,以 及下次邻居不可达性检测时间。
12
IPv6的ND相对于对于IPv4协议的改进
邻居不可达检测是基础协议的一部分,邻居不可达检测在路由器出错或链路接口改 变的情况下,改善了数据包的传输。
路由器通告和ICMP重定向使用本地链路地址来识别路由器。 邻居发现协议被用来检测一个链路上重复的IP地址。 现在路由器发现是基础协议集的一部分,IPv4机制则需要从路由表中获取信息。 路由器通告数据包中包含了路由器的链路层地址。收到路由器通告的节点无需再发
IPv6单播地址分类:
全球单播地址 例 2001:A304:6101:1::E0:F726:4E58
链路本地地址 例 FE80::E0:F726:4E58
站点本地地址 例 FEC0::E0:F726:4E58
唯一本地地址 例 FC00::1/7
特殊地址
例 ::1 ::
兼容地址
例 0:0:0:0:0:0:192.168.1.1
修改 <1::1, MAC1, Reachable>
RECHEABLETIME以后。。。 修改
<1::1, MAC1, Stale>
相关文档
最新文档