HVPN
产生原因
为用户提供接入功能,这需要PE具有大量接口;
管理和发布VPN路由,处理用户报文,这需要PE设备具有大容量内存和高转发能力。
为了在分层结构网络中部署VPN功能,BGP/MPLS IP VPN必然要从平面模型转变为分层模型,因此产生了HVPN功能。
相关概念
- UPE:直接连接用户的设备称为下层PE(Underlayer PE)或用户侧PE(User-end PE),简称UPE。UPE主要完成用户接入功能。
- SPE:接入UPE并位于网络内部的设备称为上层PE(Superstratum PE)或运营商侧PE(Service Provider-end PE),简称SPE。SPE主要完成VPN路由的管理和发布。
- NPE:连接SPE并面向网络侧的PE称为网络侧PE(Network Provider-end PE),简称NPE。
UPE和SPE之间采用标签转发,只需要一个接口连接,SPE不需要使用大量接口来接入用户。UPE和SPE之间的接口可以是物理接口、子接口(如VLAN,PVC)或隧道接口(如LSP)。当SPE和UPE之间相隔一个IP网络或MPLS网络时,可以采用隧道接口连接SPE和UPE,UPE或SPE发出的标签报文经过隧道传递。
由于分工的不同,对SPE和UPE的要求也不同:SPE的路由表容量大,转发性能强,但接口资源较少;UPE的路由容量和转发性能较低,但接入能力强。
SPE和UPE是相对的。在多个层次的PE结构中,上层PE相对于下层就是SPE,下层PE相对于上层就是UPE。
分层式PE可以和普通PE共存于一个MPLS网络。
SPE和UPE之间运行MP-BGP,根据UPE和SPE是否属于同一个AS,可以是MP-IBGP,也可以是MP-EBGP。
采用MP-IBGP时,为了在IBGP对等体之间通告路由,SPE可以作为多个UPE的路由反射器。SPE作为UPE的路由反射器时,为了减少UPE上的路由条数,建议SPE不再作为其它PE的路由反射器。
HVPN可以分为HoVPN与H-VPN两种方式。
HVPN方式 |
特点 |
---|---|
HoVPN |
SPE仅向UPE发布默认路由或聚合路由:
|
H-VPN |
SPE向UPE通告所有VPN路由:
|
下面详细介绍HoVPN与H-VPN的路由信息交互及报文转发过程。各图中,N表示下一跳,L表示标签。
HoVPN或H-VPN的路由发布过程(CE1向Device1发布路由)
CE1通过IP路由协议发布IPv4路由给UPE;
UPE为IPv4路由申请标签L1,并将IPv4路由转换为VPNv4路由,然后将VPNv4路由和私网标签L1发布给SPE,下一跳修改为UPE;
SPE收到带标签的VPNv4路由后,保存标签L1并重新申请标签L2,然后将VPNv4路由和私网标签L2发布给NPE,下一跳修改为SPE;
NPE收到带标签的VPNv4路由后,将VPNv4路由转换为IPv4路由,在下一跳可达的情况下将路由引入私网IPv4路由表。同时NPE将保留私网标签L2和隧道迭代成功后的Tunnel ID以供后续转发报文时使用。
NPE通过IP路由协议发布IPv4路由给Device1。
HoVPN路由发布过程(Device1向CE1发布路由)
Device1通过IP路由协议发布IPv4路由给NPE;
NPE为IPv4路由申请私网标签L3,将IPv4路由转换为VPNv4路由,将VPNv4路由和私网标签L3发布给SPE,下一跳修改为NPE;
SPE收到带标签的VPNv4路由,保存标签L3并将VPNv4路由转换为IPv4路由,在下一跳可达的情况下将IPv4路由引入私网IPv4路由表;
SPE向私网IPv4路由表引入缺省路由或聚合私网路由,并申请标签L4,然后将缺省路由或聚合私网路由转换为VPNv4路由发布给UPE,下一跳修改为SPE;
UPE收到带标签的VPNv4路由后,将VPNv4路由转换为IPv4路由,在下一跳可达的情况下将IPv4路由引入私网IPv4路由表。
UPE通过IP路由协议发布IPv4路由给CE1。
H-VPN路由发布过程(Device1向CE1发布路由)
Device1通过IP路由协议发布IPv4路由给NPE;
NPE为IPv4路由申请私网标签L3,将IPv4路由转换为VPNv4路由,然后将VPNv4路由和私网标签L3发布给SPE,下一跳修改为NPE;
SPE收到带标签的VPNv4路由后,保存标签L3并重新申请标签L4,然后将VPNv4路由和私网标签L4发布给UPE,下一跳修改为SPE;
UPE收到带标签的VPNv4路由后,将VPNv4路由转换为IPv4路由,在下一跳可达的情况下将IPv4路由引入私网IPv4路由表。
UPE通过IP路由协议发布IPv4路由给CE1。
HoVPN或H-VPN的报文转发过程(Device1向CE1发送报文)
Device1向NPE发送一个VPN报文。
NPE收到报文后,查询私网转发表,通过匹配报文目的地址,查找到用于转发报文的隧道,然后给报文打上私网标签L2和外层MPLS隧道标签Lu,通过隧道将报文发给SPE,标签栈为L2/Lu;
SPE收到报文后,弹出外层隧道标签Lu,交换私网标签为L1,压入隧道标签Lv,沿隧道将报文转发给UPE,标签栈为L1/Lv;
UPE收到报文,弹出外层隧道标签Lv,根据内层标签L1查找到对应的VPN实例,然后根据报文目的地址在该VPN实例的私网转发表中查找到出接口。UPE将报文从对应出接口发送给CE1。此时报文为纯IP报文。
HoVPN的报文转发过程(CE1向Device1发送报文)
CE1向UPE发送一个VPN报文。
UPE收到报文后,查询私网转发表,通过匹配报文目的地址(匹配缺省路由或聚合路由下发的转发表项),查找到用于转发报文的隧道,然后给报文打上私网标签L4和外层MPLS隧道标签Lv,通过隧道将报文发给SPE,标签栈为L4/Lv;
SPE收到报文后,弹出外层MPLS隧道标签Lv,根据内层标签L4找到对应的VPN实例,弹出内层标签L4,查询私网转发表,通过匹配报文目的地址,查找到用于转发报文的隧道,然后在报文中打上私网标签L3和外层MPLS隧道标签Lu,通过隧道将报文发给NPE,标签栈L3/Lu;
NPE收到报文后,弹出外层MPLS隧道标签Lu,根据内层标签L3找到对应的VPN实例,然后根据报文目的地址在该VPN实例的私网转发表中查找到出接口。NPE将报文从对应出接口发送给Device1。此时报文为纯IP报文。
H-VPN的报文转发过程(CE1向Device1发送报文)
CE1向UPE发送一个VPN报文。
UPE收到报文后,查询私网转发表,通过匹配报文目的地址(UPE从SPE收到的明细路由下发的转发表项),查找到用于转发报文的隧道,然后给报文打上私网标签L4和外层MPLS隧道标签Lv,通过隧道将报文发给SPE,标签栈为L4/Lv;
SPE收到报文后,弹出外层MPLS隧道标签Lv,交换私网标签为L3,打上外层MPLS隧道标签Lu,沿隧道将报文转发给NPE,标签栈为L3/Lu;
NPE收到报文后,弹出外层MPLS隧道标签Lu,根据内层标签L3找到对应的VPN实例,然后根据报文目的地址在该VPN实例的私网转发表中查找到出接口。NPE将报文从对应出接口发送给Device1。此时报文为纯IP报文。
相关功能
H-VPN支持分层式PE的嵌套:
一个分层式PE可以作为UPE,同另一个SPE组成新的分层式PE;
一个分层式PE可以作为SPE,同多个UPE组成新的分层式PE;
以上这两种嵌套可以多次进行。
通过分层式PE的嵌套,理论上可以将VPN无限扩展。
图7-34是一个三层的分层式PE,称中间的PE为MPE(Middle-level PE)。SPE和MPE之间,以及MPE和UPE之间,均运行MP-BGP。
“MPE”这种说法只是为了表述方便,在H-VPN模型中并没有MPE。
MP-BGP为上层PE发布下层PE上的所有VPN路由,但只为下层PE发布上层PE的VPN实例缺省路由。
SPE维护分层式PE接入的所有Site的VPN路由,路由数目最多;UPE只维护它所直接连接的Site的VPN路由,路由数目最少;MPE的路由数目介于SPE和UPE之间。
受益
部署HVPN组网方案,有益于以下几个方面:
有良好的可扩展性。当UPE的性能不够的时候,可以添加一个SPE,将UPE的位置下移。当SPE的接入能力不足的时候,可以为其添加UPE。
节约有限的接口资源。UPE和SPE之间采用标签转发,因而只需要一个(子)接口相互连接。
减轻了UPE的负担。UPE上只需维护本地接入的VPN路由,所有远端路由都用一条缺省或聚合路由替代。
配置工作量小。SPE和UPE通过动态路由协议MP-BGP交换路由、发布标签,每一个UPE只需建立一个MP-BGP对等体。