如果NS请求是从一个网络的主机发往同一网段却不在同一物理网络上的另一台主机,那么连接它们的具有代理功能的设备就可以代答该请求,回应NA报文,这个过程称作ND代理(ND Proxy)。
ND Proxy功能屏蔽了分离的物理网络这一事实,使用户使用起来,好像在同一个物理网络上。
ND Proxy功能根据应用场景不同分为普通ND Proxy和本地ND Proxy。
### 华三ND代理功能详解
#### 一、ND代理功能概述
ND代理(ND Proxy)是一种IPv6网络技术,用于解决同网段内不同物理网络间的主机通信问题。当两个主机位于同一逻辑网段但分属不同的物理网络时,传统的邻居发现(Neighbor Discovery, ND)机制将无法正常工作,因为邻居请求(Neighbor Solicitation, NS)报文无法跨越不同的广播域。为了解决这一问题,ND代理技术允许中间设备(通常是路由器)作为代理来响应NS请求,并转发相应的网络流量。
#### 二、ND代理的功能类型
ND代理功能根据应用场景的不同可分为两种类型:
1. **普通ND代理**:用于处理位于不同物理网络但同一逻辑网段的主机之间的通信。例如,在两个不同物理网络中,主机HostA和HostB的IP地址通过子网掩码控制,使得它们处于同一逻辑网段。当HostA尝试与HostB通信时,它会发送NS请求,但由于HostA和HostB处于不同的广播域,HostB无法接收到该请求。此时,通过在连接这两个网络的路由器上启用ND代理功能,路由器可以代替HostB响应NS请求,并负责转发来自HostA的数据包到HostB。
2. **本地ND代理**:主要用于处理位于同一台设备的不同VLAN或隔离组中的主机之间的通信问题。这种类型的ND代理允许主机之间即使在不同的VLAN或隔离组内也能相互通信。例如,当HostA和HostB分别位于不同的VLAN(或同一VLAN内的不同隔离组),但它们的IP地址属于同一逻辑网段时,本地ND代理可以帮助它们建立通信。
#### 三、ND代理功能的应用环境
1. **普通ND代理的应用环境**:
- 如图1-7所示,设备Router通过两个三层接口GigabitEthernet1/0/1和GigabitEthernet1/0/2连接两个网络。两个三层接口的IPv6地址不在同一个网段(分别为4:1::99/64、4:2::99/64),但两个网络内的主机HostA和HostB通过掩码控制使得它们的地址在同一逻辑网段。
- 在这种情况下,当HostA尝试与HostB通信时,由于目的IPv6地址与本机IPv6地址位于同一逻辑网段,HostA会直接发出NS请求。但由于HostA和HostB处于不同的广播域中,HostB无法接收到NS请求。
- 通过在Router上启用ND代理功能,Router可以代答HostB的NS请求,并转发来自HostA的数据包给HostB,从而实现两者之间的通信。
2. **本地ND代理的应用环境**:
- 如图1-8所示,HostA和HostB分别位于不同的VLAN中(VLAN2和VLAN3),但它们的IP地址位于同一逻辑网段。
- 当HostA尝试与HostB通信时,由于目的IPv6地址与本机IPv6地址位于同一逻辑网段,HostA会直接发出NS请求。但由于HostA和HostB位于不同的VLAN中,HostB无法接收到NS请求。
- 通过在Router上启用本地ND代理功能,Router可以代替HostB回应NA,从而使HostA发给HostB的数据包可以通过Router进行转发,实现HostA与HostB之间的通信。
#### 四、配置ND代理功能
1. **配置ND代理功能**:
- 在VLAN接口视图/三层以太网接口/三层以太网子接口视图下配置ND代理功能。
- 命令示例:
- 进入系统视图:`system-view`
- 进入接口视图:`interface interface-type interface-number`
- 开启ND代理功能:`proxy-nd enable`
2. **配置本地ND代理功能**:
- 同样在VLAN接口视图/三层以太网接口/三层以太网子接口视图下配置本地ND代理功能。
- 命令示例:
- 进入系统视图:`system-view`
- 进入接口视图:`interface interface-type interface-number`
- 开启本地ND代理功能:`local-proxy-nd enable`
#### 五、配置接口为用户侧接口
- 当接口的角色为用户侧接口时,这意味着接口的邻居都是终端主机。对于此类接口上学习到的ND表项,驱动软件可以不为其分配下一跳资源,从而节省硬件资源。
- 配置命令示例:
- 进入系统视图:`system-view`
- 进入接口视图:`interface interface-type interface-number`
- 配置接口为用户侧接口:`nd-user-side enable`
通过上述介绍可以看出,ND代理功能在IPv6网络环境中起到了重要的作用,特别是当主机位于不同物理网络或不同VLAN时,它可以有效地解决这些主机之间的通信问题,提高网络的连通性和灵活性。