基本概念
如图1所示,企业通过公共网络将总部机构(Hub)与地理位置不同的多个分支机构(Spoke)相连。
DSVPN节点
Spoke
Spoke通常是企业分支机构的网关设备。一般情况下,Spoke使用动态的公网地址。
Hub
Hub通常是企业总部,是DSVPN网络的中心设备,接收Spoke向其注册的信息。DSVPN网络中,Hub既可使用固定的公网地址,也可使用域名。
mGRE和mGRE隧道接口
mGRE是在GRE基础上发展而来的一种点到多点GRE技术。mGRE隧道接口是为实现DSVPN而提供的一种点到多点类型的逻辑接口。
- 隧道源地址:报文传输协议中的源地址。隧道源地址就是GRE封装后的报文源地址,即图1中的公网地址(NBMA地址)。
- 隧道目的地址:报文传输协议中的目的地址。隧道目的地址就是GRE封装后的报文目的地址。
- 隧道接口IP地址:隧道接口地址和其他物理接口上的IP地址一样,用于设备之间的通信(例如获取路由信息等),即图1中的Tunnel地址(Protocol地址)。
- 与GRE隧道接口手工指定目的地址不同,mGRE隧道接口的目的地址来自于NHRP地址解析协议,一个mGRE隧道接口上,可以存在多条GRE隧道,有多个GRE对端。
- mGRE隧道接口不支持GRE隧道的Keepalive检测。
NHRP
NHRP在DSVPN中用于解决NBMA网络上的源Spoke如何获取目的Spoke的动态公网地址的问题。分支Spoke接入NBMA网络时使用当前出接口的公网地址向总部Hub发送NHRP注册请求进行注册,总部Hub根据这些请求信息,创建或刷新NHRP peer表。Spoke间通过NHRP地址解析请求和应答,创建和刷新NHRP peer表。
Hub-Spoke隧道
Hub-Spoke隧道建立于Spoke与总部Hub之间,如图1中的Hub-Spoke隧道。其他Spoke与总部Hub同样建立Hub-Spoke隧道。
在DSVPN网络中,总部Hub上不配置分支信息,分支静态指定总部的公网地址和隧道地址。当分支Spoke接入NBMA网络时,向总部Hub发送NHRP注册请求,将其出接口公网地址告知总部Hub,总部Hub收到该注册请求后,在本地创建或刷新此分支Spoke的NHRP peer表项。
Spoke-Spoke隧道
Spoke-Spoke隧道建立于各Spoke之间,如图1中的Spoke-Spoke隧道。
当分支Spoke间需要进行数据传输时,在路由表中查询到目的分支的下一跳后,如果在本地NHRP peer表查询不到下一跳对应的公网地址,则发送NHRP地址解析请求获取目的分支的公网地址。随后两个分支通过mGRE接口以动态方式创建VPN隧道,这样便可以直接传输数据了。Spoke间动态建立的隧道在一定周期内没有流量转发,将自动拆除。