MPLS VPN基本组网 - Hub&Spoke

MPLS VPN基本组网 - Hub&Spoke

当采用Hub&Spoke方案时,可以将多个站点中的一个站点设置为Hub站点,其余站点为Spoke站点。站点间的互访必须通过Hub站点,通过Hub站点集中管控站点间的数据传输。

•Hub&Spoke有以下组网方案:

▫方式一:Hub-CE与Hub-PE,Spoke-PE与Spoke-CE使用EBGP

方式二:Hub-CEHub-PE,Spoke-PESpoke-CE使用IGP

方式三:Hub-CEHub-PE使用EBGP,Spoke-PESpoke-CE使用IGP

无法通过Hub-CEHub-PE使用IGP,Spoke-PESpoke-CE使用EBGP来部署Hub&Spoke组网的MPLS VPN

(•以从Spoke-CE1向Spoke-CE2发布路由(目的地址为192.168.1.0/24)为例,大体过程如下:

1.Spoke-CE1通过EBGP将路由发布给Spoke-PE1。

2.Spoke-PE1通过IBGP将路由发布给Hub-PE。

3.Hub-PE通过BGP-VPN实例(VPN_in)的Import Target属性将该路由引入VPN_in路由表;并通过OSPF100多实例发布给Hub-CE。

4.Hub-CE通过OSPF100学习到该路由;并通过OSPF200将路由发布给Hub-PE。

5.Hub-PE的BGP-VPN实例(VPN_out)引入OSPF200多实例路由,并将携带VPN_out的Export Target属性的路由发布给所有Spoke-PE。

6.Spoke-PE2的VPN实例根据Import Target属性引入该路由;Spoke-PE2通过EBGP发布给本地Spoke-CE2。

•Hub-PE的BGP-VPN实例(VPN_out)通过Export Target属性将路由发布给Spoke-PE2的同时,也会将该路由发布给Spoke-PE1。此时,这条路由是Hub-PE通过IGP(OSPF200多实例)引入的,由于IGP路由不携带AS-PATH属性,AS_Path为空;而原来从Spoke-CE1来的192.168.1.0/24路由,其AS_Path不为空,所以从Hub-PE返回的路由会优于从Spoke-CE1来的路由。这样会引起路由振荡,其过程如下:

1.Spoke-CE1发来的路由因为AS_Path变成非最佳路由

2.Spoke-PE1发布Update撤销路由的报文给Hub-PE来撤销192.168.1.0/24路由

3.Hub-PE(通过撤销相应的OSPF LSA)撤销发给Hub-CE的路由

4.Hub-CE(原理同上)撤销发给Hub-PE的路由

5.Hub-PE发布Update撤销路由撤销发给Spoke-PE1的路由

•于是在Spoke-PE1上从Spoke-CE1来的路由又变成最佳路由。Spoke-PE1又通过IBGP将路由发布给Hub-PE。Hub-PE又会返回该路由,从Spoke-CE1来的路由又变成非最佳路由。如此反复。

  1. 实验要求(场景)

  1. 部署思路
    1. PE1,PE2的ET,值是100:1,IT值是200:1,所以再HUB-PE上配置两个VPN instance,vpn-in 100:1  IT,vpn-out 200:1 ET,
  2. 实验分析
    1. 方式一:Hub-CE与Hub-PE,Spoke-PE与Spoke-CE使用EBGP,主要是解决AS-PATH防环拒绝接收路由,接收端可以设置Allow AS loop,或发送路由端设置substitute-as修改AS号
    2. 方式二:Hub-CEHub-PE,Spoke-PESpoke-CE使用IGP

如果用OSPF协议DN-BIT的条件,OSPF私网进程引入BGP路由时(import from bgp)生成的357LSA都会置DN-BIT

2.1     vpn-instance-capability simple命令取消防环检测

在私网OSPF进程下配置vpn-instance-capability simplem命令后可以取消防环检测功能此时路由计算时会忽略DN-BITtag值检测。

但这个命令只建议配置在MCE设备上因为配置这个命令后OSPF将不再能够引入IBGP路由(import from IBGP)

2.3      忽略DN-BIT防环检测

dn-bit-check disble命令可以控制在路由计算时是否忽略DN-BIT检测。这个命令在V6R1C00SPCb00B11q及以后版本支持。

2.4      生成LSA时不置DN-BIT

Dn-bit-set disable命令可以控制在引入BGP路由时是否置DN-BIT。此命令在V6R3及以后版本支持。

OSPF多实例防环检测常见问题说明 - 华为 (huawei.com)

    1. ▫方式三:Hub-CE与Hub-PE使用EBGP,Spoke-PE与Spoke-CE使用IGP

  1. 配置步骤
    1. 配置IGP和LDP,核心网都配置ospf

ospf 1

 area 0.0.0.0

  network 0.0.0.0 255.255.255.255

[SPOKE-PE1]mpls lsr-id 1.1.1.9

[SPOKE-PE1]mpls

[SPOKE-PE1-mpls]mpls ldp

[SPOKE-PE1-GigabitEthernet0/0/2]mpls

[SPOKE-PE1-GigabitEthernet0/0/2]mpls ldp

其他SPOKE 类似配置(略)

    1. 建立BGP邻居关系配置步骤(略)

    1. PE1,PE2按照规划的RD,RT值配置VRF

              [SPOKE-PE1-vpn-instance-yeslab]dis this

#

ip vpn-instance yeslab

 ipv4-family

  route-distinguisher 100:1

  vpn-target 100:1 export-extcommunity

  vpn-target 200:1 import-extcommunity

[SPOKE-PE2-vpn-instance-yeslab]dis this

#

ip vpn-instance yeslab

 ipv4-family

  route-distinguisher 100:3

  vpn-target 100:1 export-extcommunity

  vpn-target 200:1 import-extcommunity

[HUB-PE-vpn-instance-vpn-in]dis this

#

ip vpn-instance vpn-in

 ipv4-family

  route-distinguisher 100:21

  vpn-target 100:1 import-extcommunity

#

return

[HUB-PE-vpn-instance-vpn-out]dis this

#

ip vpn-instance vpn-out

 ipv4-family

  route-distinguisher 100:22

  vpn-target 200:1 export-extcommunity

#

return

  1. 采用第一种方式,Hub-CE与Hub-PE,Spoke-PE与Spoke-CE使用EBGP

[SPOKE-PE1-bgp]dis this

#

bgp 100

 peer 2.2.2.9 as-number 100

 peer 2.2.2.9 connect-interface LoopBack0

 #

 ipv4-family unicast

  undo synchronization

  peer 2.2.2.9 enable

 #

 ipv4-family vpnv4

  policy vpn-target

  peer 2.2.2.9 enable

 #

 ipv4-family vpn-instance yeslab

  peer 100.1.1.1 as-number 65410

  peer 100.1.1.1 ebgp-max-hop 255

[SPOKE-PE2-bgp]dis this

#

bgp 100

 peer 2.2.2.9 as-number 100

 peer 2.2.2.9 connect-interface LoopBack0

 #

 ipv4-family unicast

  undo synchronization

  peer 2.2.2.9 enable

 #

 ipv4-family vpnv4

  policy vpn-target

  peer 2.2.2.9 enable

 #

 ipv4-family vpn-instance yeslab

  peer 120.1.1.1 as-number 65410

  peer 120.1.1.1 ebgp-max-hop 255

[SPOK-CE1-bgp]dis this

#

bgp 65410

 peer 100.1.1.2 as-number 100

 peer 100.1.1.2 ebgp-max-hop 255

 #

 ipv4-family unicast

  undo synchronization

  peer 100.1.1.2 enable

[HUB-PE-bgp]dis this

#

bgp 100

 peer 1.1.1.9 as-number 100

 peer 1.1.1.9 connect-interface LoopBack0

 peer 3.3.3.9 as-number 100

 peer 3.3.3.9 connect-interface LoopBack0

 #

 ipv4-family unicast

  undo synchronization

  peer 1.1.1.9 enable

  peer 3.3.3.9 enable

 #

 ipv4-family vpnv4

  policy vpn-target

  peer 1.1.1.9 enable

  peer 3.3.3.9 enable

 #

 ipv4-family vpn-instance vpn-in

  peer 110.1.1.1 as-number 65410

  peer 110.1.1.1 ebgp-max-hop 255

 #

 ipv4-family vpn-instance vpn-out

  peer 110.2.1.1 as-number 65410

  peer 110.2.1.1 ebgp-max-hop 255

[HUB-CE-bgp]dis this

#

bgp 65410

 peer 110.1.1.2 as-number 100

 peer 110.1.1.2 ebgp-max-hop 255

 peer 110.2.1.2 as-number 100

 peer 110.2.1.2 ebgp-max-hop 255

 #

 ipv4-family unicast

  undo synchronization

  peer 110.1.1.2 enable

  peer 110.2.1.2 enable

    1. SPOK-CE1,SPOK-CE2 宣告环口路由,

[SPOKE-CE1-bgp]dis this

#

bgp 65410

 peer 100.1.1.2 as-number 100

 peer 100.1.1.2 ebgp-max-hop 255

 #

 ipv4-family unicast

  undo synchronization

  network 1.1.1.1 255.255.255.255

  peer 100.1.1.2 enable

[SPOKE-CE2-bgp]dis this

#

bgp 65410

 peer 120.1.1.2 as-number 100

 peer 120.1.1.2 ebgp-max-hop 255

 #

 ipv4-family unicast

  undo synchronization

  network 2.2.2.2 255.255.255.255

  peer 120.1.1.2 enable

    1.  但是此时HUB-CE无法接收到路由,因为AS-PATH防环机制。所以HUB-CE要针对65410开启allow-as-loop 1,允许收到同样的AS一次
    2. (另外一种方法是再HUB-PE上修改AS,后面演示)

      

[HUB-CE-bgp]peer 110.1.1.2 allow-as-loop

或者第二种方法,再HUB-PE上配置修改AS号,发现HUB-CE ,reset vpnv4路由后又可以收到SPOKE CE1路由。

[HUB-PE-bgp-vpn-in]peer 110.1.1.1 substitute-as

看到上面path路径都是100,更改了AS号。

    1. HUB-PE的vpn-out内没有收到从HUB-CE的1.1.1.1,3.3.3.3的路由,同样的问题AS-PATH防环。

 

HUB-PE BGP VPN-OUT 配置防环2次。(第一次是SPOKE-CE,第二次是HUB-CE,如果HUB-PE和HUB-CE之前是修改了AS号,那么设置防环一次即可。)

[HUB-PE-bgp-vpn-out]peer 110.2.1.1 allow-as-loop 2

发现HUB-PE,vpnout方向可以收到路由。

    1.  现在SPOKE-CE1,SPOKE-CE2都无法收到路由,也是因为AS-PATH防环机制。所以也需要配置 allow-as-loop 1

[SPOK-CE2-bgp]peer 120.1.1.2 allow-as-loop 1

[SPOK-CE-bgp]peer 100.1.1.2 allow-as-loop

    1.  所以第一种方式SPOK-CE 和 HUB-CE 均采用EBGP方式完成。主要是解决防环的问题。

  1. 采用第二种方式,Hub-CE与Hub-PE,Spoke-PE与Spoke-CE都使用IGP (OSPF)
    1. 现在采用的方法是 HUB-CE配置OSPF 1 单线程。HUB-PE配置ospf2,ospf3双线程,一定会出项DN比特置位的问题。
    2. 有三种方法可以解决DN比特问题,

1.在私网OSPF进程下配置vpn-instance-capability simplem命令后可以取消防环检测功能,此时路由计算时会忽略DN-BIT和tag值检测。

但这个命令只建议配置在MCE设备上,因为配置这个命令后OSPF将不再能够引入IBGP路由(import from IBGP)。

2.Dn-bit-set disable命令可以控制在引入BGP路由时是否置DN-BIT。此命令在V6R3及以后版本支持。

3.dn-bit-check disble命令可以控制在路由计算时是否忽略DN-BIT检测。这个命令在V6R1C00SPCb00B11q及以后版本支持。

  1.  取消DN置位后,可以查看VPN-OUT方向能收到路由

  1.  发现SPOK-CE端能收到路由,但是ping不通

  1.  检查路由引入问题。需要将SPOKE-PE引入ospf路由,OSPF引入BGP路由,检查可以ping通

  1. 配置清单:

HUB-PE配置:

SPOKE-PE1主要配置如下:

SPOKE-PE2主要配置如下:

  1. 方式三:Hub-CE与Hub-PE使用EBGP,Spoke-PE与Spoke-CE使用IGP
  2.   SPOKE侧不变,将HUB-PE侧的IGP删除,改成EBGP,需要注意的是SPOKE-PE,要互相引入路由,HUB-CE要设置allow-as-loop

  1.  HUB-PE配置如下

[HUB-PE]dis cu

#

sysname HUB-PE

#

ip vpn-instance vpn-in

 ipv4-family

  route-distinguisher 100:21

  vpn-target 100:1 import-extcommunity

#

ip vpn-instance vpn-out

 ipv4-family

  route-distinguisher 100:22

  vpn-target 200:1 export-extcommunity

#

mpls lsr-id 2.2.2.9

mpls

#

mpls ldp

#

interface GigabitEthernet0/0/0

 ip address 11.1.1.2 255.255.255.0

 mpls

 mpls ldp

#

interface GigabitEthernet0/0/1

 ip address 10.1.1.2 255.255.255.0

 mpls

 mpls ldp

#

interface GigabitEthernet0/0/2

 ip binding vpn-instance vpn-out

 ip address 110.2.1.2 255.255.255.0

#

interface GigabitEthernet0/0/3

 ip binding vpn-instance vpn-in

 ip address 110.1.1.2 255.255.255.0

interface LoopBack0

 ip address 2.2.2.9 255.255.255.0

#

bgp 100

 peer 1.1.1.9 as-number 100

 peer 1.1.1.9 connect-interface LoopBack0

 peer 3.3.3.9 as-number 100

 peer 3.3.3.9 connect-interface LoopBack0

 #

 ipv4-family unicast

  undo synchronization

  peer 1.1.1.9 enable

  peer 3.3.3.9 enable

 #

 ipv4-family vpnv4

  policy vpn-target

  peer 1.1.1.9 enable

  peer 3.3.3.9 enable

 #

 ipv4-family vpn-instance vpn-in

  peer 110.1.1.1 as-number 65410

  peer 110.1.1.1 ebgp-max-hop 255

 #

 ipv4-family vpn-instance vpn-out

  peer 110.2.1.1 as-number 65410

  peer 110.2.1.1 ebgp-max-hop 255

  peer 110.2.1.1 allow-as-loop 2  (允许AS LOOP)

#

ospf 1 router-id 1.1.1.1

 area 0.0.0.0

  network 0.0.0.0 255.255.255.255

  1.  SPOK-PE配置如下:

[SPOKE-PE1]dis cu

#

sysname SPOKE-PE1

#

ip vpn-instance yeslab

 ipv4-family

  route-distinguisher 100:1

  vpn-target 100:1 export-extcommunity

  vpn-target 200:1 import-extcommunity

#

mpls lsr-id 1.1.1.9

mpls

#

mpls ldp

#

interface GigabitEthernet0/0/1

 ip binding vpn-instance yeslab

 ip address 100.1.1.2 255.255.255.0

#

interface GigabitEthernet0/0/2

 ip address 10.1.1.1 255.255.255.0

 mpls

 mpls ldp   (如果没配置MPLS,BGP收到路由无法显示最优。也不会传个HUB-CE)

interface LoopBack0

 ip address 1.1.1.9 255.255.255.0

#

bgp 100

 peer 2.2.2.9 as-number 100

 peer 2.2.2.9 connect-interface LoopBack0

 #

 ipv4-family unicast

  undo synchronization

  peer 2.2.2.9 enable

 #

 ipv4-family vpnv4

  policy vpn-target

  peer 2.2.2.9 enable

 #

 ipv4-family vpn-instance yeslab

  import-route ospf 2

#

ospf 1

 area 0.0.0.0

  network 0.0.0.0 255.255.255.255

#

ospf 2 vpn-instance yeslab

 import-route bgp

 area 0.0.0.0

  network 100.1.1.0 0.0.0.255

#

  1.  检查SPOKE-CE1路由表

  1. 在SPOKE-CE2上 路由跟踪

  • 10
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MPLS (Multiprotocol Label Switching) 是一种网络技术,它扩展了传统的IP转发方式,引入了标签交换的概念,使得数据包能够更快速、更高效地在网络中传输。在 MPLS 中,Hub-Spoke模型是一种常见的网络架构设计,主要用于大型企业网络或服务提供商网络。 **Hub-Spoke模型:** - **Hub**: 在这种模型中,通常指的是中心节点或核心路由器,负责连接到多个子网(Spokes)。它是所有流量的主要入口和出口点。 - **Spoke**: 指的是从中心Hub辐射出去的分支网络,每个Spoke代表一个单独的区域或部门,如分公司、数据中心等。Spokes与Hub之间建立专用的MPLS隧道,数据通过这些隧道定向传输到Hub。 - **优点**: - 带宽效率:由于流量被集中处理,Hub可以为每个Spoke提供专用带宽,避免了全网广播或广播风暴。 - 网络扩展:当需要添加新的Spoke时,只需要在Hub和新Spoke之间配置连接,而无需修改整个网络的其他部分。 - 安全性:Hub可以实施防火墙策略,保护内部Spoke之间的通信不受外部干扰。 **如何工作:** 1. 数据包进入Hub时,会被打上标签,标识出它的目的地。 2. Hub根据标签转发数据包,不关心底层的IP路由信息。 3. Spoke之间的通信通过Hub进行,数据包在Hub内进行标签交换,然后沿预定路径到达目的地Spoke。 4. 当数据包到达目标Spoke时,标签被移除,执行最后的IP转发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值