网络技术
H3C网络技术
H3C 设备CLI(命令行)管理
H3C基础配置知识
H3C 设备型号概述
H3C网络端口基础信息与配置
H3C网络设备概述
HCL模拟器使用简介
H3C WX2540H 本地portal认证+本地用户认证实现web认证
网络的基本概念与定义
VLAN简介与配置
生成树配置
STP简介与配置
RSTP简介
MSTP基本概念
交换机FTP和TFTP操作
配置文件与升级
网络设备登录管理方式
网络设备文件系统操作
H3C MSR路由器出口双线负载均衡
策略路由配置
以太网链路聚合
DHCP中继
防火墙简单配置实验
华为_HCIP
认识设备-硬件架构与逻辑平面
路由基础-HCIP
OSPF路由基础概述
Router LSA详解
OSPF-Network LSA(二类LSA)与区域内路由计算
OSPF-区域间路由计算
计算机网络-OSPF防环机制
计算机网络-RIP动态路由协议简介
OSPF区域外部路由计算
OSPF特殊区域-Stub区域
计算机网络-NSSA区域与Totally NSSA区域
OSPF路由汇总
OSPF其它特性
IS-IS路由协议基础概念
IS-IS基础概念二
IS-IS邻接关系建立
IS-IS链路状态数据库同步
IS-IS路由计算
IPv6基础概念
IPv6缩写规范与地址分类
ICMPv6基础知识
ICMPv6之NDP协议
计算机网络-IPv6地址配置
DHCPv6基础概念
DHCPv6配置
IPv6路由配置
路由策略与路由工具
计算机网络-Filter-Policy过滤策略
Route-Policy路由策略
策略路由概念与应用
MQC策略简介与配置
流量过滤策略
BGP的背景与概述
BGP基本概念
BGP报文类型简介
BGP状态机制与对等体表项
BGP路由生成与路由表
BGP路由通告原则
BGP基础实验配置
BGP路由优选概述
BGP路由优选原则一Preferred-Value
BGP路由优选原则二-本地优先级
BGP路由优选原则三-路由类型
BGP路由优选原则四-AS_Path属性
BGP路由优选原则五-Origin属性优选
BGP路由优选原则六-优选MED属性值最小的路由
BGP路由优选原则七-EBGP优于IBGP
BGP路由优选原则八-优选IGP Cost值小的路由
BGP路由负载分担
BGP路由反射器与Cluster list选路原则
BGP路由优选原则九-优选Router ID小的设备通告的路由
计算机网络-IP组播基础
组播地址与组播网络组成
组播数据转发原理与RPF
组播分发树与组播协议
IGMP协议简介
IGMPv1工作原理
IGMPv2工作原理简介
IGMPv3的工作原理
IGMP Snooping特性
计算机网络-PIM协议基础概念
PIM-DM密集模式工作原理
基于PIM-DM+IGMP的组播实验配置
PIM-SM(ASM)基础
PIM-SM(SSM)基本原理
PIM-SM组播实验
BFD检测机制
BFD配置实验
VRRP基础概念
VRRP工作原理与选举过程
VRRP主备切换与主备回切
VRRP基础实验一
RSTP基础概念
RSTP工作原理与P/A机制
MSTP概述
MSTP基础概念
MSTP工作原理概述
MSTP基础实验一(单域多实例)
计算机网络-VPN虚拟专用网络概述
计算机网络-GRE(通用路由封装协议)简介
GRE-动态路由协议实验
IPSec VPN基本概念
IPSec VPN工作原理
IPSec VPN基础实验一(主模式)
GRE Over IPSec实验
计算机网络-L2TP VPN基础概念与原理
L2TP VPN基础实验配置
L2TP Over IPSec基础实验
SSH理论基础
VRF基本概念
MPLS基础概念
MPLS转发原理
MPLS静态标签实验
计算机网络-LDP标签分发协议
LDP工作原理-LDP会话建立
LDP标签发布与管理
LDP工作过程详解
VPN实例应用于交换机带外管理接口
H3C V7防火墙IPSECVPN配置(主模式配置)
网络设备拨号设置
网络地址分类与子网划分
防火墙区域以及安全策略配置(命令行版)
H3C V7 IPSEC_VPN配置(野蛮模式配置)
华为_HCIA
路由基础
以太网交换基础
VLAN的原理与配置
VLAN间通信
STP生成树简介
华为VRP系统简介
NAT网络地址转换
ACL访问控制列表
AAA的原理与配置
DHCP配置
链路聚合原理与配置
PPP与PPPoE协议
OSPF路由基础
无线通信基础原理
无线组网基本概念
无线网络配置原理与步骤
典型无线组网实验配置
网络设备防火墙是什么?
防火墙工作原理与安全策略
华为VRP系统基础命令配置
本文档使用 MrDoc 发布
-
+
首页
ICMPv6之NDP协议
前面我们学习了ICMP与ICMPv6的基础知识,现在开始学习下ICMPv6对于IPv6的支持实现的功能。 ## 一、NDP协议 **NDP(Neighbor Discovery Protocol)** 是IPv6网络中用于节点(包括主机和路由器)在本地链路上发现彼此、获取网络配置信息、维护邻居状态以及执行相关网络管理功能的重要协议。NDP基于ICMPv6(Internet Control Message Protocol version 6)实现,并取代了IPv4中的ARP(Address Resolution Protocol)和ICMP路由器发现机制。 NDP实现的功能是通过ICMPv6报文来实现,通过不同类型的报文来实现。 NDP主要功能: - 重复地址检测(DAD) - 地址解析 - 路由器发现与选择 - 前缀发现与状态更新 - 邻居状态跟踪与可达性确认 - 重定向  NDP基于ICMPv6报文实现上述功能。这些报文包括Neighbor Solicitation(NS报文)、Neighbor Advertisement(NA报文)、Router Solicitation(RS报文)和Router Advertisement(RA报文),它们都封装在IPv6数据包内,并在本地链路上广播或单播发送。节点通过监听和处理这些报文,实现**地址解析**、**重复地址检测**、**路由器发现**、**前缀发现**、**邻居状态跟踪**以及**重定向**等过程。  ### 1.1 路由器发现 路由器发现是指主机发现本地链路上的路由器和确定其配置的过程。可以实现的功能: - 路由器发现,主机定位邻居路由器以及选择哪一个路由器作为缺省网关的过程 - 前缀发现,获取本地链路上的IPv6前缀,用于自身的无状态自动配置 - 参数发现,发现相关操作参数,如输出报文的跳数限制、地址配置方式等 主要使用**Router Solicitation(RS路由器请求报文)** 和 **Router Advertisement(RA路由器通告报文)** 。 有两种方式产生:主机请求触发和路由器定期发送。   **默认情况下,华为路由器接口不发送ICMPv6 RA报文**,则该接口所连链路上的其他设备无法进行无状态地址自动配合。 若想进行IPv6无状态地址配置,需要手工开启发送RA报文。命令如下: ```ssh # 开启RA发送 [Huawei-GigabitEthernet0/0/0] undo ipv6 nd ra halt # 查看ND报文状态 [AR2-GigabitEthernet0/0/0]dis ipv6 int g0/0/0 GigabitEthernet0/0/0 current state : UP IPv6 protocol current state : UP IPv6 is enabled, link-local address is FE80::2E0:FCFF:FEFE:4B9C Global unicast address(es): 2001::2, subnet is 2001::/64 Joined group address(es): FF02::1:FF00:2 FF02::2 FF02::1 FF02::1:FFFE:4B9C MTU is 1500 bytes ND DAD is enabled, number of DAD attempts: 1 ND reachable time is 30000 milliseconds ND retransmit interval is 1000 milliseconds ND advertised reachable time is 0 milliseconds ND advertised retransmit interval is 0 milliseconds ND router advertisement max interval 600 seconds, min interval 200 seconds # 发送间隔 ND router advertisements live for 1800 seconds # 存活时间 ND router advertisements hop-limit 64 # 跳数限制 ND default router preference medium # 路由优先级 Hosts use stateless autoconfig for addresses ``` 实际情况下我在模拟器的PC上没有抓到RS的报文,只能在两台路由器间开启RA报文发送。  至于为什么会发送到FF02::1这个地址,前面大致有讲了一嘴这个是所有节点的组播地址。也可以通过查看接口的ipv6信息看到有加入这个组播组。  ### 1.2 重复地址检测 重复地址检测是节点确定即将使用的地址是否被另一节点使用的过程。 在节点自动配置某个接口的IPv6单播地址之前,必须在本地链路范围内验证要使用的地址是唯一的,并且未被其他节点使用过。只要NS报文发送到本地链路上(缺省发送一次NS报文),如果在规定时间内没有NA报文进行应答,则认为这个临时单播地址在本地链路上是唯一的,可以分配给接口;反之,这个临时地址是重复的,不能配置到接口。   类似于DHCP服务器检测地址冲突一样,先通过NS报文发送到组播地址里,查询是否有人使用。 ### 1.3 地址解析 在IPv4中,我们通过ARP表来记录ip地址与mac地址的关系,但是在IPV6中,是通过ICMPv6的**Neighbor Solicitation(NS报文)**、**Neighbor Advertisement(NA报文)** 来进行地址解析的。  当PC1要传送数据包到PC2时,如果不知道PC2的链路层地址,则需要完成以下协议交互过程: - PC1发送一个NS报文到网络上,目的地址为PC2对应的被请求节点组播地址(FF02::1:FF84:EFDC),选项字段中带上PC1的链路层地址000D-88F8-03B0。 - PC2侦听到该NS报文后,由于报文的目的地址FF02::1:FF84:EFDC,自己在该组播组,处理该报文;同时,根据NS报文的源地址和源链路层地址选项更新自己的邻居缓存表项。 - PC2发送一个NA报文应答NS,同时在消息的目标链路层地址选项中带上自己的链路层地址0013-7284-EFDC。 - PC1接收到NA报文后,获悉了PC2的链路层地址,创建一个目标节点的邻居缓存表项。 这样通过交互后,PC1和PC2就知道了对方的链路层地址,建立其对方的邻居缓存表项(类似于IPv4的ARP表),就可以相互通信了。 前面我们讲的被请求节点地址就在这里派上用场了,目的地址对应的被请求节点组播会接收到源主机发送的NS报文,里面携带了源主机的MAC信息,目的主机收到该报文回复NA报文,携带自身的参数,双方建立缓存表项。 ### 1.4 邻居状态跟踪 在IPv6中,邻居指的是链接到IPv6接口的节点。这些节点在同一链路上,IPv6邻居表包含所有静态配置和动态检测到的IPv6邻居,也称为IPv6邻居发现缓存。 通过上面的邻居发现,会在设备中保存一张邻居表。 ```ssh # 查看邻居表,下面的信息表示有两个邻居,包括全球单播地址和链路本地地址的邻接在G0/0/0接口上 [AR1]dis ipv6 neighbors ----------------------------------------------------------------------------- IPv6 Address : 2001::2 Link-layer : 00e0-fcfe-4b9c State : STALE Interface : GE0/0/0 Age : 9 VLAN : - CEVLAN: - VPN name : Is Router: TRUE Secure FLAG : UN-SECURE IPv6 Address : FE80::2E0:FCFF:FEFE:4B9C Link-layer : 00e0-fcfe-4b9c State : STALE Interface : GE0/0/0 Age : 9 VLAN : - CEVLAN: - VPN name : Is Router: TRUE Secure FLAG : UN-SECURE ----------------------------------------------------------------------------- Total: 2 Dynamic: 2 Static: 0 # 清除邻居表 <AR1>reset ipv6 neighbors all ``` 邻居状态:   ### 1.5 重定向  总结:**NDP(Neighbor Discovery Protocol)** 是IPv6网络中用于节点(包括主机和路由器)在本地链路上发现彼此、获取网络配置信息、维护邻居状态以及执行相关网络管理功能的重要协议。通过NS、NA、RS、RA、重定向报文实现地址检测、邻居发现与状态追踪、地址解析功能。
Chuck
2024年4月28日 12:08
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码