6.4.4 反射器场景-OptionC1方案

OptionC1方案------反射器场景

场景A-旁挂RR场景

一、配置思路

1、首先跟OptionC1一样,先解决PE之间路由学习需求:

  • 但网络中新增了RR反射器,所有流量都需要先经过RR反射器。
  • 故需要PE、ASBR与RR先建立IBGP邻居 ,然后ASBR之间建立EBGP发布各自RR环回口地址
  • 为啥发布的是RR 的环回口?
    • 因为主要是通过RR之间建立MP-BGP来交互VPNv4路由,非RR场景下则是通过PE。

2、解决路由黑洞:

  • 网络中已经配置了MPLS+LDP协议,与OptionC1一样需要在ASBR上向对端ASBR手动分配标签。
  • ASBR只与RR建立了IBGP邻居,故ASBR只能向RR手动分配标签。(在非RR场景中是向PE分配标签)

3、解决VPNv4路由学习:

  • 非RR场景中PE之间建立MP-BGP,但在RR场景中就是RR之间互相建立MP-BGP
  • 以及PE与RR之间 也要建立MP-BGP,才能够通过RR学习到对端PE的VPNv4路由。

4、总结大致操作

  • ASBR之间建立EBGP,发布各自RR环回口。
  • ASBR、PE与RR建立IBGP。
  • ASBR向RR以及对端ASBR分配标签。
  • PE与RR、RR与对端RR建立MP-BGP。

二、配置过程

  • 目前拓扑中已配置了:
    • IGP使用OSPF并发布各自设备的环回口地址。
    • PE、P、ASBR、RR之间配置了MPLS+LDP实现标签分配与同步。
    • CE与PE的VPN实例建立了EBGP邻居。
    • P设备不做BGP配置。
1、ASBR之间建立EBGP,发布各自RR环回口:
[ASBR1]bgp 100
[ASBR1-bgp]peer 10.1.12.2 as 200
[ASBR1-bgp]network 4.4.4.4 255.255.255.255 

[ASBR2]bgp 200
[ASBR2-bgp]peer 10.1.12.1 as 100
[ASBR2-bgp]network 44.44.44.44 255.255.255.255 

查看EBGP邻居是否建立成功

[ASBR1-bgp]dis bgp peer 
 BGP local router ID : 10.1.111.10
 Local AS number : 100
  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State PrefRcv
  10.1.12.2       4         200        3        4     0 00:00:17 Established      1

[ASBR2-bgp]dis bgp peer 
 BGP local router ID : 10.1.211.10
 Local AS number : 200
  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State PrefRcv
  10.1.12.1       4         100        3        3     0 00:00:40 Established      1
2、ASBR、PE与RR建立IBGP:

为了减少篇幅,只以AS100内设备配置为例:

  • ASBR1与RR1建立IBGP

    [ASBR1]bgp 100
    [ASBR1-bgp]peer 4.4.4.4 as 100
    [ASBR1-bgp]peer 4.4.4.4 con loop 0

  • PE1与RR1建立IBGP

    [PE1]bgp 100
    [PE1-bgp]peer 4.4.4.4 as 100
    [PE1-bgp]peer 4.4.4.4 con loop0

  • RR1与ASBR1、PE1建立IBGP并配置成反射器客户端

    [RR1]bgp 100
    [RR1-bgp]peer 1.1.1.1 as 100
    [RR1-bgp]peer 1.1.1.1 con loop0
    [RR1-bgp]peer 3.3.3.3 as 100
    [RR1-bgp]peer 3.3.3.3 con loop0
    [RR1-bgp]peer 1.1.1.1 reflect-client
    [RR1-bgp]peer 3.3.3.3 reflect-client

检查AS100的配置结果,于RR上查看是否成功建立IBGP:

<RR1>dis bgp peer
 BGP local router ID : 10.1.111.13
 Local AS number : 100
  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State PrefRcv
  1.1.1.1         4         100        2        3     0 00:00:11 Established       0
  3.3.3.3         4         100        4        3     0 00:00:02 Established       2

<RR2>dis bgp peer 
 BGP local router ID : 44.44.44.44
 Local AS number : 200
  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State PrefRcv
  11.11.11.11     4         200        3        4     0 00:01:07 Established      0
  33.33.33.33     4         200        5        4     0 00:01:07 Established      2
3、ASBR向RR以及对端ASBR分配标签:

为了减少篇幅,只以AS100内设备配置为例:

  • ASBR向对端ASBR直接分配标签

  • ASBR只向RR传递带标签的路由重新分配标签(相当于只对ASBR2传递来的RR环回口路由打上标签)

    [ASBR1]route-policy change_mpls permit node 5
    [ASBR1-route-policy] if-match mpls-label
    [ASBR1-route-policy] apply mpls-label

    [ASBR1-route-policy]route-policy mpls permit node 5
    [ASBR1-route-policy] apply mpls-label

    [ASBR1]bgp 100
    [ASBR1-bgp]peer 10.1.12.2 route-policy mpls export
    [ASBR1-bgp]peer 10.1.12.2 label-route-capability
    [ASBR1-bgp]peer 4.4.4.4 route-policy change_mpls export
    [ASBR1-bgp]peer 4.4.4.4 label-route-capability

  • RR与PE设备上只需要使能发送标签路由能力即可

    [RR1]bgp 100
    [RR1-bgp]peer 1.1.1.1 label-route-capability
    [RR1-bgp]peer 3.3.3.3 label-route-capability

    [RR1]bgp 100
    [RR1-bgp]peer 4.4.4.4 label-route-capability

配置完成之后,在RR设备上检查是否收到对端RR的MPLS标签信息,以及是否能够正常访问:

<PE1>dis mpls lsp
-------------------------------------------------------------------------------
                 LSP Information: BGP  LSP
-------------------------------------------------------------------------------
FEC                In/Out Label  In/Out IF                      Vrf Name       
44.44.44.44/32     NULL/1028     -/-     

[PE1-bgp]ping -a 4.4.4.4 44.44.44.44
  PING 44.44.44.44: 56  data bytes, press CTRL_C to break
    Reply from 44.44.44.44: bytes=56 Sequence=1 ttl=251 time=100 ms
    Reply from 44.44.44.44: bytes=56 Sequence=2 ttl=251 time=40 ms
    Reply from 44.44.44.44: bytes=56 Sequence=3 ttl=251 time=40 ms
    Reply from 44.44.44.44: bytes=56 Sequence=4 ttl=251 time=60 ms
4、PE与RR、RR与对端RR建立MP-BGP:

为了减少篇幅,只以AS100内设备配置为例:

  • PE与RR建立MP-BGP

    [PE1]bgp 100
    [PE1-bgp]ipv4 vpnv4
    [PE1-bgp-af-vpnv4] peer 4.4.4.4 enable

  • RR与对端RR建立MP-BGP,以及向PE建立MP-BGP。

undo policy vpn-target ,由于RR上并没有创建VPN实例,故需要关闭该过滤功能

[RR1]bgp 100
[RR1-bgp]peer 44.44.44.44 as 200
[RR1-bgp]peer 44.44.44.44 con lo 0
[RR1-bgp]peer 44.44.44.44 eb	
[RR1-bgp]peer 44.44.44.44 ebgp-max-hop 10

[RR1-bgp]ipv4 vpnv4
[RR1-bgp-af-vpnv4]undo policy vpn-target 
[RR1-bgp-af-vpnv4]peer 44.44.44.44 enable
[RR1-bgp-af-vpnv4]peer 1.1.1.1 enable

于RR1上检查MP-BGP建立情况:

[RR1-bgp]display bgp vpnv4 all peer 
 BGP local router ID : 10.1.111.13
 Local AS number : 100
  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State PrefRcv
  1.1.1.1         4         100       19       21     0 00:15:56 Established      1
  44.44.44.44     4         200        3        5     0 00:00:34 Established      0
5、完成所有配置

检查CE设备上是否学习到对端CE的测试路由,以及是否能够互通:

<CE1>display bgp routing-table
 BGP Local router ID is 10.1.111.1 
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn
 *>   192.168.10.0       0.0.0.0         0                     0      i
 *>   192.168.20.0       10.1.111.2                            0      100 200 20i
 
<CE1>ping -a 192.168.10.254 192.168.20.254
  PING 192.168.20.254: 56  data bytes, press CTRL_C to break
    Reply from 192.168.20.254: bytes=56 Sequence=1 ttl=245 time=270 ms
    Reply from 192.168.20.254: bytes=56 Sequence=2 ttl=245 time=100 ms
    Reply from 192.168.20.254: bytes=56 Sequence=3 ttl=245 time=80 ms

三、扩展

1、并于CE1与CE2之间互访时,数据包的变化情况简述:

  • CE1访问CE2的报文到达PE1的实例路由表,得知需要访问CE2,故封装上私网标签1028:

    <PE1>dis bgp vpnv4 all routing-table label
    Network NextHop In/Out Label
    *>i 192.168.20.0 4.4.4.4 NULL/1028

  • 同时PE1得知下一跳为4.4.4.4(RR1反射器),故查找FIB转发表:

    <PE1>dis fib
    Destination/Mask Nexthop Flag TimeStamp Interface TunnelID
    4.4.4.4/32 10.1.111.6 DGHU t[381] GE0/0/1 0x5

  • 从FIB表发现TunnelID非0x0,故查找标签转发表,得知需要封装上公网标签1026并从G0/0/1口发出。

    <PE1>dis mpls lsp
    FEC In/Out Label In/Out IF
    4.4.4.4/32 NULL/1026 -/GE0/0/1

  • 报文封装情况:【公网标签1026】【私网标签1028】【数据】

  • 报文达到P1,P1进行标签转发,将公网标签1026替换3成之后从G0/0/2口发出。

    <P1>dis mpls lsp
    FEC In/Out Label In/Out IF
    4.4.4.4/32 1026/3 -/GE0/0/2

  • 报文封装情况:【公网标签3(弹出)】【私网标签1028】【数据】

  • 报文达到RR1,查看路由表得知下一跳

    <RR1>dis bgp vpnv4 all routing-table
    Network NextHop MED LocPrf PrefVal Path/Ogn
    *> 192.168.20.0 44.44.44.44 0 200 20i

  • 查看FIB表要继续打上标签(中间层标签1030)

  • 报文封装情况:【中间层标签1030】【私网标签1028】【数据】

    <RR1>dis fib
    Destination/Mask Nexthop Flag TimeStamp Interface TunnelID
    44.44.44.44/32 10.1.111.14 DGHU t[2173] GE0/0/0 0x5

    <RR1>dis mpls lsp

                   LSP Information: BGP  LSP
    

    FEC In/Out Label In/Out IF Vrf Name
    44.44.44.44/32 NULL/1030 -/-

  • 继续迭代查询,得知去往44.44.44.44的下一跳为3.3.3.3(ASBR1),即需要继续封装公网标签1024

  • 报文封装情况:【公网标签1024】【中间层标签1030】【私网标签1028】【数据】

    <RR1>dis tunnel-info tunnel-id 0x5
    Tunnel ID: 0x5
    Tunnel Token: 5
    Type: lsp
    Destination: 3.3.3.3

    <RR1>dis mpls lsp

                   LSP Information: LDP LSP
    

    FEC In/Out Label In/Out IF Vrf Name
    3.3.3.3/32 NULL/1024 -/GE0/0/0

  • 后继部分的标签操作,亦是如此查找,替换。

相关推荐
蜜獾云5 分钟前
linux firewalld 命令详解
linux·运维·服务器·网络·windows·网络安全·firewalld
柒烨带你飞17 分钟前
路由器转发数据报的封装过程
网络·智能路由器
东方隐侠安全团队-千里1 小时前
网安瞭望台第17期:Rockstar 2FA 故障催生 FlowerStorm 钓鱼即服务扩张现象剖析
网络·chrome·web安全
神一样的老师2 小时前
面向高精度网络的时间同步安全管理架构
网络·安全·架构
与海boy3 小时前
CentOS7网络配置,解决不能联网、ping不通外网、主机的问题
linux·网络·网卡
我叫czc3 小时前
【python高级】342-TCP服务器开发流程
服务器·网络·tcp/ip
a_weng083 小时前
CS 144 check6: buiding an IP router
网络·网络协议·计算机网络
終不似少年遊*3 小时前
华为云计算HCIE笔记04
网络·华为云·云计算·学习笔记·hcie·认证·数据中心
红米饭配南瓜汤3 小时前
WebRTC服务质量(09)- Pacer机制(01) 流程概述
网络·音视频·webrtc
上学的小垃圾4 小时前
MPLS基础以及静态LSP的配置
运维·网络·算法