1. 知识整理
  2. 缺省路由与BFD联动实验
  3. BGP的ORF实验
  4. 静态LSP配置实验
  5. 远端LDP建立实验

知识整理

常见企业网的拓扑类型:

  • 单归属单ISP环境(该环境无需部署BGP协议,出口设备配置缺省路由到interne)
  • 多归属单ISP环境(可以增加冗余性,使用私有AS号建立BGP,如果只是做主备链路时可不需要BGP协议,两个边界设备下发缺省路由)
  • 多归属多ISP环境(使用公有AS号建立BGP,但是要充分考虑地址空间是否独立于运营商)

什么环境需要部署BGP?

  1. 路由规模庞大且无法聚合
  2. 跨经营实体(跨地域,不便于沟通,信息需要保密)
  3. 一个路由域内运行了多个IGP协议
  4. ISP无法提供相应的工具来实施所需策略
  5. 多ISP多归属网络

运行BGP所面临的风险

  1. BGP路由劫持(虽然BGP可以进行认证,但是对于已经与黑客建立了BGP连接的设备,他会无条件接受update报文,黑客可以修改路由属性从而引导所有流量经过黑客机,以便于黑客实现流量劫持)
  2. 不对称路由(来回路径不一致的路由会增加故障的排查难度,并且还好造成链路的利用率不均衡,抖动大,对时延敏感的业务如语音、视频数据质量会下降)

Internet的设计理念

  1. 优化BGP的能力
    1. 建立对等体会话(BFD的运用,加速BGP对对故障的感知时间)
    2. 路由更新起源(使用loopback接口建立连接,逻辑口具有更高的稳定性,不受物理接口、线路的影响)
    3. 优化路由策略
    4. 路由过滤和属性策略(使用ORF减少不必要的路由的接收,减轻设备压力)
    5. 路由聚合(减小路由表条目)
  2. 提高BGP的可用性
    1. 冗余设计(备份路径)
    2. 流量对称(选路策略影响来回路径一致)
    3. 负载均衡
  3. 控制AS内部路由
    1. 非 BGP与BGP之间的路由交互(BGP与其他路由协议相互引入时的路由控制)
    2. 默认路由(默认路由的使用,默认路由与BFD、NQA的联动)
    3. 策略路由(作为选路的补充工具)
  4. 控制大型AS
    1. 按组打包(BGP将具有相同策略的邻居当做一个打包组,每条等待发送的路由会被打包一次发给所有邻居,提高效率)
    2. 路由反射器
    3. 联盟

缺省路由与BFD联动

实验环境:

C:\Users\Administrator\AppData\Local\Microsoft\Windows\INetCache\Content.MSO\8E75C5E3.tmp

该环境为多归属多ISP的环境,企业与ISP之间可以运行BGP协议,也可以使用缺省路由来实现冗余,企业网络的边界设备运行nat协议,缺省静态路由与BFD联动,且缺省路由通过OSPF协议下发到企业网,BFD采用单臂回声的模式,当企业网络与ISP之间的链路发生故障之后企业网络的边界设备就能够迅速感知联动静态缺省路由,实现备用路径的切换。

AR1设备nat配置:

acl name hcie 2000

rule 5 permit source 10.0.0.0 0.255.255.255 //acl匹配

nat address-group 1 192.168.1.3 192.168.1.6 //nat 地址池

interface GigabitEthernet0/0/0

ip address 192.168.1.2 255.255.255.248

nat outbound 2000 address-group 1 //接口绑定

AR2设备nat配置:

acl name hcie 2000

rule 5 permit source 10.0.0.0 0.255.255.255 //acl匹配

nat address-group 1 192.168.2.3 192.168.2.6 //nat 地址池

interface GigabitEthernet0/0/0

ip address 192.168.2.2 255.255.255.248

nat outbound 2000 address-group 1 //接口绑定

正常情况下配置缺省并下发到OSPF:

AR1:

ip route-static 0.0.0.0 0.0.0.0 192.168.1.1

ospf 1

default-route-advertise

AR2:

ip route-static 0.0.0.0 0.0.0.0 192.168.2.1

ospf 1

default-route-advertise

AR6设备会收到两条缺省路由,并且负载均衡:

C:\Users\Administrator\AppData\Local\Microsoft\Windows\INetCache\Content.MSO\D9E9CE9.tmp

C:\Users\Administrator\AppData\Local\Microsoft\Windows\INetCache\Content.MSO\402AB7DF.tmp

BFD单臂回声适用的场景(例如):

C:\Users\Administrator\AppData\Local\Microsoft\Windows\INetCache\Content.MSO\F828EC45.tmp

AR1上配置:

Bfd //开启bfd

#

bfd hcie bind peer-ip 192.168.1.1 interface GigabitEthernet0/0/0 one-arm-echo //bfd单臂回声检测模式,检测对方IP

discriminator local 1 //bfd会话标识符

min-echo-rx-interval 100 //最小接收间隔,单位毫秒

Commit //应用

ip route-static 0.0.0.0 0.0.0.0 192.168.1.1 track bfd-session hcie //配置静态缺省路由与BFD联动

AR2上配置:(也是如此)

Bfd //开启bfd

#

bfd hcie bind peer-ip 192.168.2.1 interface GigabitEthernet0/0/0 one-arm-echo //bfd单臂回声检测模式,检测对方IP

discriminator local 1 //bfd会话标识符

min-echo-rx-interval 100 //最小接收间隔,单位毫秒

Commit //应用

ip route-static 0.0.0.0 0.0.0.0 192.168.2.1 track bfd-session hcie //配置静态缺省路由与BFD联动

检查结果:

在AR6上一直ping 5.5.5.5 ping -c 1000 5.5.5.5

中途将AR2和ISP之间的链路down掉,BFD迅速联动静态路由,实现路径切换:

C:\Users\Administrator\AppData\Local\Microsoft\Windows\INetCache\Content.MSO\6A1E2B9B.tmp

BGP的ORF实验

拓扑:

C:\Users\Administrator\AppData\Local\Microsoft\Windows\INetCache\Content.MSO\5C97E361.tmp

各个AS运行BGP协议,AR5上有两条路由1.1.1.1/32 2.2.2.2/32 3.3.3.3/32,但是对于企业来说只需要1.1.1.1/32的路由,并且设备的性能不高,运营商侧又不会为企业做路由过滤。此时就可以使用ORF技术基于前缀列表的出路由策略,使用BGP的路由刷新报文将策略发送给ISP侧的BGP路由器AR3,AR3会借助该信息产生策略,应用到出接口上,从而影响向AR1只发送需要的路由。

在企业网侧:

前缀匹配:ip ip-prefix hcie permit 1.1.1.1 32

BGP调用:

peer 192.168.1.1 ip-prefix hcie import //使用过滤策略

peer 192.168.1.1 capability-advertise orf ip-prefix send //开启ORF能力(发送)

运营商侧也需要开启:

peer 192.168.1.2 capability-advertise orf ip-prefix receive (接收)

回车后邻居会断开,需要硬重置一下。

BGP的open报文中选项中会协商ORF的能力:

C:\Users\Administrator\AppData\Local\Microsoft\Windows\INetCache\Content.MSO\2A4D5D17.tmp

企业路由器他会使用刷新报文携带ORF参数发送到ISP路由器:

C:\Users\Administrator\AppData\Local\Microsoft\Windows\INetCache\Content.MSO\28A81E3D.tmp

运营商的路由器收到参数数后只发送过滤的路由:

C:\Users\Administrator\AppData\Local\Microsoft\Windows\INetCache\Content.MSO\5A4B4853.tmp

正常情况下三条路由都可以接收:

C:\Users\Administrator\AppData\Local\Microsoft\Windows\INetCache\Content.MSO\F0F1F8D9.tmp

使用ORF后只发送前缀中匹配的路由:

C:\Users\Administrator\AppData\Local\Microsoft\Windows\INetCache\Content.MSO\F3BCA94F.tmp

在将BGP路由引入到OSPF时也需要使用策略进行匹配:

ip ip-prefix hcie index 10 permit 1.1.1.1 32 //匹配路由

route-policy import permit node 10

if-match ip-prefix hcie //策略调用

import-route bgp route-policy import //引入到OSPF时调用策略

AR6学到了该路由,并且可以访问:

C:\Users\Administrator\AppData\Local\Microsoft\Windows\INetCache\Content.MSO\D6C58F35.tmp

C:\Users\Administrator\AppData\Local\Microsoft\Windows\INetCache\Content.MSO\DE93FC0B.tmp

注意:如果将同一条BGP的路由从AR1引入后再从AR2引入时就不能引入了。引入是将Ip路由表中路由引入到协议中,对于AR2来说,1.1.1.1的路由可以从ospf和BGP学到,ospf学到的路由优于BGP,OSPF学到的该路由被加入到了路由表,所以再将BGP引入到ospf时就不能再做引入了,这也是双电双向引入为什么只有一个方向的环路的原因。

静态LSP配置实验

当路由和需要进行的MPLS转发方向不一致时会使用静态LSP,如:

C:\Users\Administrator\AppData\Local\Microsoft\Windows\INetCache\Content.MSO\3DC6BD51.tmp

AR1到AR5的路由会选择AR1-AR2-AR6-AR4-AR5,因为是根据开销进行比较,经过AR6的开销最小。但是现实需求是需要让数据经过MPLS域,此时就可以使用静态LSP。

LSP标签的范围是:

  • 0-15:保留
  • 16-1023:静态LSP使用范围
  • 1204以上:动态LSP使用范围

先配置LSR-ID(LSR-ID必须是一个路由可达的IP地址,MPLS使用LSR-ID和转发地址来标识一个邻居,默认情况下转发地址就是LSR-ID,所以该LSR-ID需要是个路由可达的地址)

mpls lsr-id 2.2.2.2

Mpls

去的方向:

AR2上配置:

static-lsp ingress hcie destination 5.5.5.5 32 nexthop 23.0.0.3 outgoing-interface GigabitEthernet 0/0/1 out-label 100 //边界入设备,出标签为100

AR3上配置:

static-lsp transit hcie incoming-interface GigabitEthernet0/0/0 in-label 100 outgoing-interface GigabitEthernet0/0/1 nexthop 34.0.0.4 out-label 200 //转发设备,入标签100,出标签200

AR4上配置:

static-lsp egress hcie incoming-interface GigabitEthernet0/0/0 in-label 200 //边界出设备,入标签200

返回的方向:

AR4上配置:

static-lsp ingress huawei destination 1.1.1.1 32 outgoing-interface GigabitEthernet0/0/0 nexthop 34.0.0.3 out-label 300 //边界入设备,出标签为300

AR3上配置:

static-lsp transit huawei incoming-interface GigabitEthernet0/0/1 in-label 300 outgoing-interface GigabitEthernet0/0/0 nexthop 23.0.0.2 out-label 400 //转发设备,入标签300,出标签400

AR2上配置:

static-lsp egress huawei incoming-interface GigabitEthernet0/0/1 in-label 400 //边界出设备,入标签400

最后在路由器上查看一下标签:

AR2上:

C:\Users\Administrator\AppData\Local\Microsoft\Windows\INetCache\Content.MSO\E50D7C87.tmp

AR3上:

C:\Users\Administrator\AppData\Local\Microsoft\Windows\INetCache\Content.MSO\6D491F2D.tmp

AR4上:

C:\Users\Administrator\AppData\Local\Microsoft\Windows\INetCache\Content.MSO\496B26C3.tmp

测试:

C:\Users\Administrator\AppData\Local\Microsoft\Windows\INetCache\Content.MSO\F96C10C9.tmp

抓包:

C:\Users\Administrator\AppData\Local\Microsoft\Windows\INetCache\Content.MSO\3970B6BF.tmp

远端LDP建立实验

C:\Users\Administrator\AppData\Local\Microsoft\Windows\INetCache\Content.MSO\8FF6AE25.tmp

该环境中AR1需要与AR3跨设备建立LDP

AR1配置:

mpls ldp remote-peer 1

remote-ip 3.3.3.3

AR2配置:

mpls ldp remote-peer 1

remote-ip 1.1.1.1

检查结果:

C:\Users\Administrator\AppData\Local\Microsoft\Windows\INetCache\Content.MSO\1B9FA87B.tmp

远端建立LDP邻居是不会发送hello报文的,因为是手动指定的邻居,所以就不需要再用hello报文发现邻居了。

朱古力

By 朱古力

一条咸鱼

在 “缺省路由与BFD联动+BGP的ORF+LDP、LSP实验” 有 1 条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注