• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

15-三层技术-IP路由配置指导

目录

15-BGP高级配置

本章节下载 15-BGP高级配置  (1.20 MB)

15-BGP高级配置

目  

1 调整和优化BGP网络

1.1 vSystem相关说明

1.2 调整和优化BGP网络配置任务简介

1.3 配置允许同非直连邻居建立EBGP会话

1.4 使能直连EBGP会话快速复位功能

1.5 使能4字节AS号抑制功能

1.6 禁止与对等体/对等体组建立会话

1.6.1 功能简介

1.6.2 禁止与指定对等体/对等体组建立会话(IPv4单播/IPv4组播)

1.6.3 禁止与指定对等体/对等体组建立会话(IPv6单播/IPv6组播)

1.7 配置BGP软复位

1.7.1 功能简介

1.7.2 通过Route-refresh功能实现BGP软复位(IPv4单播/IPv4组播)

1.7.3 通过Route-refresh功能实现BGP软复位(IPv6单播/IPv6组播)

1.7.4 通过将所有路由更新信息保存在本地实现BGP软复位(IPv4单播/IPv4组播)

1.7.5 通过将所有路由更新信息保存在本地实现BGP软复位(IPv6单播/IPv6组播)

1.7.6 手工软复位BGP会话(IPv4单播/IPv4组播)

1.7.7 手工软复位BGP会话(IPv6单播/IPv6组播)

1.8 配置BGP负载分担

1.9 配置BGP Add-Path

1.10 配置系统进入二级内存门限告警状态后不断开EBGP对等体

1.11 配置BGP路由进行下一跳路由迭代查找时采用最长匹配方式

1.12 开启BGP次优路由下刷RIB功能

1.13 配置BGP路由禁止下发到IP路由表功能

1.14 配置标签申请方式

1.15 配置允许公网BGP路由迭代到隧道

1.16 调整和优化BGP网络显示和维护

1.16.1 复位BGP会话

2 BGP安全功能

2.1 vSystem相关说明

2.2 BGP安全功能配置任务简介

2.3 配置BGP的MD5认证

2.4 配置BGP的keychain认证

2.5 配置BGP GTSM功能

2.6 配置通过IPsec保护IPv6 BGP报文

3 提高BGP网络的可靠性

3.1 vSystem相关说明

3.2 提高BGP网络的可靠性配置任务简介

3.3 配置BGP GR

3.4 配置BGP NSR

3.5 配置BGP与BFD联

3.6 配置BGP快速重路由

3.6.1 功能简介

3.6.2 通过引用路由策略的方式开启BGP快速重路由功能(IPv4单播)

3.6.3 通过引用路由策略的方式开启BGP快速重路由功能(IPv6单播)

3.6.4 通过pic命令开启BGP快速重路由(IPv4单播)

3.6.5 通过pic命令开启BGP快速重路由(IPv6单播)

3.6.6 配置BGP快速重路由通过BFD会话检测主路由的下一跳是否可达

3.7 配置BGP进程维护功能

3.7.1 功能简介

3.7.2 配置BGP isolate

3.7.3 配置BGP shutdown

3.8 提高BGP网络的可靠性显示和维护

4 BGP扩展功能

4.1 vSystem相关说明

4.2 BGP扩展功能配置任务简介

4.3 配置BGP LS

4.3.1 功能简介

4.3.2 BGP LS扩展

4.3.3 配置BGP LS基本功能

4.3.4 配置BGP LS路由反射功能

4.3.5 配置BGP LS信息的AS号和Router ID

4.3.6 提高邻居路由参与优选时的优先级

4.3.7 手工软复位LS地址族下的BGP会话

4.4 BGP扩展功能显示和维护

4.4.1 显示BGP

4.4.2 复位BGP会话


1 调整和优化BGP网络

1.1  vSystem相关说明

非缺省vSystem不支持本特性的部分功能,具体包括:

·     使能直连EBGP会话快速复位功能

·     开启BGP次优路由下刷RIB功能

·     配置标签申请方式

·     配置允许非标签公网BGP路由迭代LSP隧道

说明

非缺省vSystem对具体命令的支持情况,请见本特性的命令参考。有关vSystem的详细介绍请参见“虚拟化技术配置指导”中的“vSystem”。

1.2  调整和优化BGP网络配置任务简介

调整和优化BGP网络配置任务如下:

·     调整和优化EBGP会话的建立与复位

¡     配置允许同非直连邻居建立EBGP会话

¡     使能直连EBGP会话快速复位功能

·     调整BGP会话的建立、中断与软复位

¡     使能4字节AS号抑制功能

¡     禁止与对等体/对等体组建立会话

¡     配置BGP软复位

·     配置BGP负载分担

·     配置BGP Add-Path

·     配置系统进入二级内存门限告警状态后不断开EBGP对等体

·     配置BGP路由进行下一跳路由迭代查找时采用最长匹配方式

·     开启BGP次优路由下刷RIB功能

·     配置BGP路由禁止下发到IP路由表功能

·     配置标签申请方式

·     配置允许公网BGP路由迭代到隧道

1.3  配置允许同非直连邻居建立EBGP会话

1. 功能简介

当前路由器要与另外一个路由器建立EBGP会话,它们之间必须具有直连的物理链路,且必须使用直连接口建立会话。如果不满足这一要求,则必须使用peer ebgp-max-hop命令允许它们经过多跳建立EBGP会话。

2. 配置限制和指导

配置BGP GTSM功能后,只要本地设备和指定的对等体通过了GTSM检查,就允许在二者之间建立EBGP会话,不管二者之间的跳数是否超过peer ebgp-max-hop命令指定的跳数范围。

建议不要指定直连EBGP对等体/对等体组配置peer ebgp-max-hop命令,否则可能导致BGP路由无法正常迭代。

3. 配置步骤(IPv4单播/IPv4组播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图或BGP-VPN实例视图。

¡     进入BGP实例视图。

bgp as-number [ instance instance-name ]

¡     请依次执行以下命令进入BGP-VPN实例视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

(3)     配置允许本地路由器同非直连网络上的邻居建立EBGP会话,同时指定允许的最大跳数。

peer { group-name | ipv4-address [ mask-length ] } ebgp-max-hop [ hop-count ]

缺省情况下,不允许同非直连网络上的邻居建立EBGP会话。

4. 配置步骤(IPv6单播/IPv6组播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图或BGP-VPN实例视图。

¡     进入BGP实例视图。

bgp as-number [ instance instance-name ]

¡     请依次执行以下命令进入BGP-VPN实例视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

(3)     配置允许本地路由器同非直连网络上的邻居建立EBGP会话,同时指定允许的最大跳数。

peer { group-name | ipv6-address [ prefix-length ] } ebgp-max-hop [ hop-count ]

缺省情况下,不允许同非直连网络上的邻居建立EBGP会话。

1.4  使能直连EBGP会话快速复位功能

1. 功能简介

未使能直连EBGP会话快速复位功能时,连接直连EBGP对等体的链路down后,本地路由器不会立即断开与EBGP对等体的会话,而是等待会话保持时间(Holdtime)超时后,才断开该会话。此时链路震荡不会影响EBGP会话的状态。

使能直连EBGP会话快速复位功能后,连接直连EBGP对等体的链路down时,本地路由器会立即断开与EBGP对等体的会话,并重新与该对等体建立EBGP会话,从而实现快速发现链路故障并重建会话。

2. 配置步骤

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     使能直连EBGP会话快速复位功能。

ebgp-interface-sensitive

缺省情况下,直连EBGP会话快速复位功能处于使能状态。

1.5  使能4字节AS号抑制功能

1. 功能简介

设备支持4字节的AS号,即AS号取值占用4字节,取值范围为1~4294967295。缺省情况下,设备在与对端设备建立BGP会话时,通过Open消息通告对端设备本端支持4字节的AS号。如果对端设备不支持4字节AS号(只支持2字节AS号),则会导致会话协商失败。此时,在本端与对端设备之间使能4字节AS号抑制功能,可以使得本端设备通过Open消息向对端设备谎称自己不支持4字节的AS号,从而确保本端和对端设备之间可以成功建立BGP会话。

2. 配置限制和指导

对端设备支持4字节AS号,且对端设备的AS号大于65535时,请不要使能4字节AS号抑制功能,否则会导致BGP会话无法建立。

3. 配置步骤(IPv4单播/IPv4组播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图或BGP-VPN实例视图。

¡     进入BGP实例视图。

bgp as-number [ instance instance-name ]

¡     请依次执行以下命令进入BGP-VPN实例视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

(3)     使能4字节AS号抑制功能。

peer { group-name | ipv4-address [ mask-length ] } capability-advertise suppress-4-byte-as

缺省情况下, 4字节AS号抑制功能处于关闭状态。

4. 配置步骤(IPv6单播/IPv6组播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图或BGP-VPN实例视图。

¡     进入BGP实例视图。

bgp as-number [ instance instance-name ]

¡     请依次执行以下命令进入BGP-VPN实例视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

(3)     使能4字节AS号抑制功能。

peer { group-name | ipv6-address [ prefix-length ] } capability-advertise suppress-4-byte-as

缺省情况下,4字节AS号抑制功能处于关闭状态。

1.6  禁止与对等体/对等体组建立会话

1.6.1  功能简介

由于网络升级维护等原因,需要暂时断开与对等体/对等体组的BGP会话时,可以通过本配置禁止与对等体/对等体组建立会话。当网络恢复后,取消本配置以恢复与对等体/对等体组的会话。这样,网络管理员无需删除并重新进行对等体/对等体组相关配置,减少了网络维护的工作量。

1.6.2  禁止与指定对等体/对等体组建立会话(IPv4单播/IPv4组播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图或BGP-VPN实例视图。

¡     进入BGP实例视图。

bgp as-number [ instance instance-name ]

¡     请依次执行以下命令进入BGP-VPN实例视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

(3)     禁止与对等体/对等体组建立会话。

peer { group-name | ipv4-address [ mask-length ] } ignore

缺省情况下,允许与BGP对等体/对等体组建立会话。

注意

如果本设备和对等体的会话已经建立,则执行本命令后,会停止该会话,并且清除所有相关路由信息;如果本设备和对等体组的会话已经建立,则执行本命令后,会终止与对等体组内所有对等体之间的会话,并且清除所有相关路由信息。

 

1.6.3  禁止与指定对等体/对等体组建立会话(IPv6单播/IPv6组播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图或BGP-VPN实例视图。

¡     进入BGP实例视图。

bgp as-number [ instance instance-name ]

¡     请依次执行以下命令进入BGP-VPN实例视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

(3)     禁止与IPv6 BGP对等体/对等体组建立会话。

peer { group-name | ipv6-address [ prefix-length ] } ignore

缺省情况下,允许与BGP对等体/对等体组建立会话。

注意

如果本设备和对等体的会话已经建立,则执行本命令后,会停止该会话,并且清除所有相关路由信息;如果本设备和对等体组的会话已经建立,则执行本命令后,会终止与对等体组内所有对等体之间的会话,并且清除所有相关路由信息。

 

1.7  配置BGP软复位

1.7.1  功能简介

BGP的选路策略改变,即影响BGP路由选择的配置(如路由首选值等)发生变化后,为了使新的策略生效,必须复位BGP会话,即删除并重新建立BGP会话,以便重新发布路由信息,并应用新的策略对路由信息进行过滤。复位BGP会话时,会造成短暂的BGP会话中断。

通过BGP软复位,可以实现在不中断BGP会话的情况下,对BGP路由表进行更新,并应用新的选路策略。

BGP软复位的方法有以下三种:

·     通过Route-refresh功能实现BGP软复位:如果BGP的选路策略发生了变化,则本地路由器会向BGP对等体发送Route-refresh消息,收到此消息的对等体将其路由信息重新发给本地路由器,本地路由器根据新的路由策略对接收到的路由信息进行过滤。采用这种方式时,要求当前路由器和对等体都支持Route-refresh功能。

·     通过将所有路由更新信息保存在本地的方式实现BGP软复位:将从对等体接收的所有原始路由更新信息保存在本地,当选路策略发生改变后,对保存在本地的所有路由使用新的路由策略重新进行过滤。采用这种方式时,不要求当前路由器和对等体都支持Route-refresh功能,但是保存路由更新需要占用较多的内存资源。

·     手工软复位BGP会话:执行refresh bgp命令手工触发本地路由器将本地路由信息发送给BGP对等体或向BGP对等体发送Route-refresh消息,收到Route-refresh消息的对等体将其路由信息重新发给本地路由器,以便本地路由器根据新的路由策略对接收到的路由信息进行过滤。采用这种方式时,要求当前路由器和对等体都支持Route-refresh功能。

1.7.2  通过Route-refresh功能实现BGP软复位(IPv4单播/IPv4组播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图或BGP-VPN实例视图。

¡     进入BGP实例视图。

bgp as-number [ instance instance-name ]

¡     请依次执行以下命令进入BGP-VPN实例视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

(3)     通过Route-refresh功能实现BGP软复位。请选择其中一项进行配置。

¡     使能本地路由器与指定对等体/对等体组的BGP路由刷新功能。

peer { group-name | ipv4-address [ mask-length ] } capability-advertise route-refresh

¡     使能本地路由器与指定BGP对等体/对等体组的BGP路由刷新、多协议扩展和4字节AS号功能。

undo peer { group-name | ipv4-address [ mask-length ] } capability-advertise conventional

缺省情况下,BGP路由刷新、多协议扩展和4字节AS号功能处于使能状态。

1.7.3  通过Route-refresh功能实现BGP软复位(IPv6单播/IPv6组播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图或BGP-VPN实例视图。

¡     进入BGP实例视图。

bgp as-number [ instance instance-name ]

¡     请依次执行以下命令进入BGP-VPN实例视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

(3)     通过Route-refresh功能实现BGP软复位。请选择其中一项进行配置。

¡     使能本地路由器与指定IPv6 BGP对等体/对等体组的BGP路由刷新功能。

peer { group-name | ipv6-address [ prefix-length ] } capability-advertise route-refresh

¡     使能本地路由器与指定IPv6 BGP对等体/对等体组的BGP路由刷新、多协议扩展和4字节AS号功能。

undo peer { group-name | ipv6-address [ prefix-length ] } capability-advertise conventional

缺省情况下,BGP路由刷新、多协议扩展和4字节AS号功能处于使能状态。

1.7.4  通过将所有路由更新信息保存在本地实现BGP软复位(IPv4单播/IPv4组播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP IPv4单播地址族视图、BGP-VPN IPv4单播地址族视图或BGP IPv4组播地址族视图。

¡     请依次执行以下命令进入BGP IPv4单播地址族视图。

bgp as-number [ instance instance-name ]

address-family ipv4 [ unicast ]

¡     请依次执行以下命令进入BGP-VPN IPv4单播地址族视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

address-family ipv4 [ unicast ]

¡     请依次执行以下命令进入BGP IPv4组播地址族视图。

bgp as-number [ instance instance-name ]

address-family ipv4 multicast

(3)     保存所有来自指定对等体/对等体组的原始路由更新信息。

peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } keep-all-routes

缺省情况下,不保存来自对等体/对等体组的原始路由更新信息。

本命令只对执行该命令后接收到的路由生效。仅BGP IPv4单播地址族支持IPv6参数。

1.7.5  通过将所有路由更新信息保存在本地实现BGP软复位(IPv6单播/IPv6组播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP IPv6单播地址族视图、BGP-VPN IPv6单播地址族视图或BGP IPv6组播地址族视图。

¡     请依次执行以下命令进入BGP IPv6单播地址族视图。

bgp as-number [ instance instance-name ]

address-family ipv6 [ unicast ]

¡     请依次执行以下命令进入BGP-VPN IPv6单播地址族视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

address-family ipv6 [ unicast ]

¡     请依次执行以下命令进入BGP IPv6组播地址族视图。

bgp as-number [ instance instance-name ]

address-family ipv6 multicast

(3)     保存所有来自指定IPv6 BGP对等体/对等体组的原始路由更新信息。

peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } keep-all-routes

缺省情况下,不保存来自对等体/对等体组的原始路由更新信息。

本命令只对执行该命令后接收到的路由生效。仅BGP IPv6单播地址族支持IPv4参数。

1.7.6  手工软复位BGP会话(IPv4单播/IPv4组播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图或BGP-VPN实例视图。

¡     进入BGP实例视图。

bgp as-number [ instance instance-name ]

¡     请依次执行以下命令进入BGP-VPN实例视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

(3)     配置Route-refresh功能。请选择其中一项进行配置。

¡     使能本地路由器与指定对等体/对等体组的BGP路由刷新功能。

peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } capability-advertise route-refresh

¡     使能本地路由器与指定BGP对等体/对等体组的BGP路由刷新、多协议扩展和4字节AS号功能。

undo peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } capability-advertise conventional

缺省情况下,BGP路由刷新、多协议扩展和4字节AS号功能处于使能状态。

(4)     手工对BGP会话进行软复位。

a.     ‍退回系统视图。

quit

b.     退回用户视图。

quit

c.     手工对BGP会话进行软复位。

refresh bgp [ instance instance-name ] { ipv4-address [ mask-length ] | all | external | group group-name | internal } { export | import } ipv4 [ multicast | [ unicast ] [ vpn-instance vpn-instance-name ] ]

refresh bgp [ instance instance-name ] ipv6-address [ mask-length ] { export | import } ipv4 [ unicast ]

1.7.7  手工软复位BGP会话(IPv6单播/IPv6组播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图或BGP-VPN实例视图。

¡     进入BGP实例视图。

bgp as-number [ instance instance-name ]

¡     请依次执行以下命令进入BGP-VPN实例视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

(3)     配置Route-refresh功能。请选择其中一项进行配置。

¡     使能本地路由器与IPv6 BGP指定对等体/对等体组的BGP路由刷新功能。

peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } capability-advertise route-refresh

¡     使能本地路由器与指定IPv6 BGP对等体/对等体组的BGP路由刷新、多协议扩展和4字节AS号功能。

undo peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } capability-advertise conventional

缺省情况下,BGP路由刷新、多协议扩展和4字节AS号功能处于使能状态。

(4)     退回用户视图。

return

(5)     手工对BGP会话进行软复位。

a.     ‍退回系统视图。

quit

b.     退回用户视图。

quit

c.     手工对BGP会话进行软复位。

refresh bgp [ instance instance-name ] { ipv6-address [ prefix-length ] | all | external | group group-name | internal } { export | import } ipv6 [ multicast | [ unicast ] [ vpn-instance vpn-instance-name ] ]

refresh bgp [ instance instance-name ] ipv4-address [ mask-length ] { export | import } ipv6 [ unicast ]

1.8  配置BGP负载分担

1. 功能简介

通过改变BGP选路规则实现负载分担时,设备根据balance命令配置的进行BGP负载分担的路由条数,选择指定数目的路由进行负载分担,以提高链路利用率。

2. 配置步骤(IPv4单播/IPv4组播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图或BGP-VPN实例视图。

¡     进入BGP实例视图。

bgp as-number [ instance instance-name ]

¡     请依次执行以下命令进入BGP-VPN实例视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

(3)     (可选)配置BGP在选择最优路由时忽略IGP Metric的比较。

bestroute igp-metric-ignore

缺省情况下,BGP在选择最优路由时会比较这些路由下一跳的IGP路由的Metric值,并优选IGP Metric值最小的路由。

下一跳IGP Metric不相同的BGP路由之间无法形成负载分担。配置本命令使得不同路由的下一跳IGP Metric不同时能够形成BGP负载分担。

(4)     退回系统视图。

¡     在BGP实例视图下退回系统视图。

quit

¡     在BGP-VPN实例视图下请依次执行以下命令退回系统视图。

quit

quit

(5)     进入BGP IPv4单播地址族视图、BGP-VPN IPv4单播地址族视图或BGP IPv4组播地址族视图。

¡     请依次执行以下命令进入BGP IPv4单播地址族视图。

bgp as-number [ instance instance-name ]

address-family ipv4 [ unicast ]

¡     请依次执行以下命令进入BGP-VPN IPv4单播地址族视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

address-family ipv4 [ unicast ]

¡     请依次执行以下命令进入BGP IPv4组播地址族视图。

bgp as-number [ instance instance-name ]

address-family ipv4 multicast

(6)     配置进行BGP负载分担的路由条数。

balance [ ebgp | eibgp | ibgp ] number

缺省情况下,不会进行BGP负载分担。

(7)     (可选)配置不同AS_PATH属性的路由能够形成BGP负载分担。

balance as-path-neglect

缺省情况下,不同AS_PATH属性的路由之间不能形成BGP负载分担。

(8)     (可选)配置内容不同但长度相同的AS_PATH属性的路由能够形成BGP负载分担。

balance as-path-relax

缺省情况下,内容不同但长度相同的AS_PATH属性的路由不能形成BGP负载分担。

3. 配置步骤(IPv6单播/IPv6组播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图或BGP-VPN实例视图。

¡     进入BGP实例视图。

bgp as-number [ instance instance-name ]

¡     请依次执行以下命令进入BGP-VPN实例视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

(3)     (可选)配置BGP在选择最优路由时忽略IGP Metric的比较。

bestroute igp-metric-ignore

缺省情况下,BGP在选择最优路由时会比较这些路由下一跳的IGP路由的Metric值,并优选IGP Metric值最小的路由。

下一跳IGP Metric不相同的BGP路由之间无法形成负载分担。配置本命令使得不同路由的下一跳IGP Metric不同时能够形成BGP负载分担。

(4)     退回系统视图。

¡     在BGP实例视图下退回系统视图。

quit

¡     在BGP-VPN实例视图下请依次执行以下命令退回系统视图。

quit

quit

(5)     进入BGP IPv6单播地址族视图、BGP-VPN IPv6单播地址族视图或BGP IPv6组播地址族视图。

¡     请依次执行以下命令进入BGP IPv6单播地址族视图。

bgp as-number [ instance instance-name ]

address-family ipv6 [ unicast ]

¡     请依次执行以下命令进入BGP-VPN IPv6单播地址族视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

address-family ipv6 [ unicast ]

¡     请依次执行以下命令进入BGP IPv6组播地址族视图。

bgp as-number [ instance instance-name ]

address-family ipv6 multicast

(6)     配置进行BGP负载分担的路由条数。

balance [ ebgp | eibgp | ibgp ] number

缺省情况下,不会进行BGP负载分担。

(7)     (可选)配置不同AS_PATH属性的路由能够形成BGP负载分担。

balance as-path-neglect

缺省情况下,不同AS_PATH属性的路由之间不能形成BGP负载分担。

(8)     (可选)配置内容不同但长度相同的AS_PATH属性的路由能够形成BGP负载分担。

balance as-path-relax

缺省情况下,内容不同但长度相同的AS_PATH属性的路由不能形成BGP负载分担。

1.9  配置BGP Add-Path

1. 功能简介

在大规模的网络中,路由反射器通常可以接收到同一前缀的多条BGP路由,但是在缺省情况下,BGP只发布一条最优路由。如果最优路由所在路径出现网络故障,数据流量将会被中断,直到BGP根据新的网络拓扑路由收敛后,被中断的流量才能恢复正常的传输。

为了解决上述问题,可以在路由反射器上配置Add-Path(Additional Paths)功能。部署该功能后,设备可以同时发布多条相同前缀的路由给对等体。对等体接收到相同前缀的多条BGP路由后,即可为到达同一目的网络形成多条链路,这些链路之间既可以通过balance命令形成负载分担,也可以按照BGP路由的优选规则形成备份,在一条链路出现故障时将流量快速切换到其他链路上,从而提高了数据传输的可靠性。

2. 配置限制和指导

Add-Path能力包括接收和发送两种。为了让对等体间的Add-Path能力协商成功,必须一端使能接收能力,另一端使能发送能力。

3. 配置步骤(IPv4单播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP IPv4单播地址族视图或BGP-VPN IPv4单播地址族视图。

¡     请依次执行以下命令进入BGP IPv4单播地址族视图。

bgp as-number [ instance instance-name ]

address-family ipv4 [ unicast ]

¡     请依次执行以下命令进入BGP-VPN IPv4单播地址族视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

address-family ipv4 [ unicast ]

(3)     配置Add-Path功能。

peer { group-name | ipv4-address [ mask-length ] } additional-paths { receive | send } *

缺省情况下,未配置Add-Path功能。

(4)     配置向指定对等体/对等体组发送的Add-Path优选路由的最大条数。

peer { group-name | ipv4-address [ mask-length ] } advertise additional-paths best number

缺省情况下,向指定对等体/对等体组发送的Add-Path优选路由的最大条数为1。

(5)     配置Add-Path优选路由的最大条数。

additional-paths select-best best-number

缺省情况下,Add-Path优选路由的最大条数为1。

4. 配置步骤(IPv6单播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP IPv6单播地址族视图或BGP-VPN IPv6单播地址族视图。

¡     请依次执行以下命令进入BGP IPv6单播地址族视图。

bgp as-number [ instance instance-name ]

address-family ipv6 [ unicast ]

¡     请依次执行以下命令进入BGP-VPN IPv6单播地址族视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

address-family ipv6 [ unicast ]

(3)     配置Add-Path功能。

¡     在BGP IPv6单播地址族视图下:

peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } additional-paths { receive | send } *

¡     在BGP-VPN IPv6单播地址族视图下:

peer { group-name | ipv6-address [ prefix-length ] } additional-paths { receive | send } *

缺省情况下,未配置Add-Path功能。

(4)     配置向指定对等体/对等体组发送的Add-Path优选路由的最大条数。

¡     在BGP IPv6单播地址族视图下:

peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } advertise additional-paths best number

¡     在BGP-VPN IPv6单播地址族视图下:

peer { group-name  | ipv6-address [ prefix-length ] } advertise additional-paths best number

缺省情况下,向指定对等体/对等体组发送的Add-Path优选路由的最大条数为1。

(5)     配置Add-Path优选路由的最大条数。

additional-paths select-best best-number

缺省情况下,Add-Path优选路由的最大条数为1。

1.10  配置系统进入二级内存门限告警状态后不断开EBGP对等体

1. 功能简介

当系统进入二级内存门限告警状态后,BGP会周期性地选择一个EBGP对等体,断开与该对等体之间的BGP会话,直到系统内存恢复为止。用户可以通过本配置来避免在二级内存门限告警状态下,断开与指定EBGP对等体/对等体组之间的BGP会话,以达到对特定EBGP对等体/对等体组进行保护的目的。

内存告警门限的详细介绍,请参见“基础配置指导”中的“设备管理”。

2. 配置步骤(IPv4单播/IPv4组播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图或BGP-VPN实例视图。

¡     进入BGP实例视图。

bgp as-number [ instance instance-name ]

¡     请依次执行以下命令进入BGP-VPN实例视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

(3)     配置系统进入二级内存门限告警状态后,不断开与指定EBGP对等体/对等体组之间的会话。

peer { group-name | ipv4-address [ mask-length ] } low-memory-exempt

缺省情况下,系统在二级内存门限告警状态下,会周期性地选择一个EBGP对等体,并断开与该对等体之间的BGP会话。

3. 配置步骤(IPv6单播/IPv6组播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图或BGP-VPN实例视图。

¡     进入BGP实例视图。

bgp as-number [ instance instance-name ]

¡     请依次执行以下命令进入BGP-VPN实例视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

(3)     配置系统进入二级内存门限告警状态后,不断开与指定EBGP对等体/对等体组之间的会话。

peer { group-name | ipv6-address [ prefix-length ] } low-memory-exempt

缺省情况下,系统在二级内存门限告警状态下,会周期性地选择一个EBGP对等体,并断开与该对等体之间的BGP会话。

1.11  配置BGP路由进行下一跳路由迭代查找时采用最长匹配方式

1. 功能简介

缺省情况下,从对等体接收到的BGP路由进行下一跳路由迭代时,优先在直连路由中查找依赖路由。仅未查找到匹配的直连路由时,才会在所有路由协议产生的路由中按照最长匹配方式进行查找。此机制可能会引发如下问题:设备的直连路由所在子网包含BGP路由的下一跳地址时,BGP路由会迭代下一跳至该直连路由,此时设备认为下一跳地址为本地直连,直接使用BGP路由表中的下一跳作为FIB表中的真实下一跳,导致匹配该BGP路由的报文转发失败,造成网络流量中断。

图1-1为例,Device B与Device A和Device C分别建立IBGP会话,并作为路由反射器将Device C在BGP中发布的8.0.0.0/24路由发布给Device A。三台设备在创建BGP会话时均使用LoopBack接口作为建立TCP连接使用的源接口。Device A与Device B直连接口的IPv4地址所在网段为3.3.0.0/16。

在路由的下一跳属性未被改变的情况下,Device A上BGP路由8.0.0.0/24的下一跳为3.3.3.3。该BGP路由进行下一跳迭代时,由于查找到了包含下一跳3.3.3.3网段的直连路由3.3.0.0/16,Device A认为下一跳3.3.3.3为设备上的直连路由,将3.3.3.3直接作为FIB表中去往目的网段8.0.0.0/24的真实下一跳,导致去往8.0.0.0/24网段的三层流量转发失败。

图1-1 直连路由包含BGP路由的下一跳时路由迭代错误示意图

 

通过配置本功能,可以使从对等体接收到的BGP路由迭代下一跳时,直接在所有路由协议产生的路由中按照最长匹配方式查找依赖路由,以保证查找到的依赖路由可达。

2. 配置步骤(IPv4单播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP IPv4单播地址族视图或BGP-VPN IPv4单播地址族视图。

¡     请依次执行以下命令进入BGP IPv4单播地址族视图。

bgp as-number [ instance instance-name ]

address-family ipv4 [ unicast ]

¡     请依次执行以下命令进入BGP-VPN IPv4单播地址族视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

address-family ipv4 [ unicast ]

(3)     配置BGP路由进行下一跳路由迭代查找时采用最长匹配方式。

nexthop recursive-lookup longest-match [ route-policy route-policy-name ]

缺省情况下,未配置下一跳路由迭代查找时采用最长匹配方式。

未指定route-policy route-policy-name参数或该参数指定的路由策略不存在时,所有从对等体接收到的BGP路由进行下一跳路由迭代查找时都采用最长匹配方式。

3. 配置步骤(IPv6单播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP IPv6单播地址族视图或BGP-VPN IPv6单播地址族视图。

¡     请依次执行以下命令进入BGP IPv6单播地址族视图。

bgp as-number [ instance instance-name ]

address-family ipv6 [ unicast ]

¡     请依次执行以下命令进入BGP-VPN IPv6单播地址族视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

address-family ipv6 [ unicast ]

(3)     配置BGP路由进行下一跳路由迭代查找时采用最长匹配方式。

nexthop recursive-lookup longest-match [ route-policy route-policy-name ]

缺省情况下,未配置下一跳路由迭代查找时采用最长匹配方式。

未指定route-policy route-policy-name参数或该参数指定的路由策略不存在时,所有从对等体接收到的BGP路由进行下一跳路由迭代查找时都采用最长匹配方式。

1.12  开启BGP次优路由下刷RIB功能

1. 功能简介

开启BGP次优路由下刷RIB功能后,当BGP路由表中最优路由为通过network命令生成或import-route命令引入的路由,次优路由为从BGP对等体收到的路由时,次优路由会下刷到RIB表项中。在某些组网情况下,执行本命令下刷到达同一目的网络次优路由到RIB后,当最优路由发生故障时,系统可以快速切换到次优路由。例如,设备有一条到达1.1.1.0/24网络的静态路由,其优先级高于BGP路由,BGP本地引入该静态路由同时从对等体收到到达该网段的路由,执行本命令BGP将从对等体收到的路由作为次优路由下刷到RIB,这时如果开启协议间的FRR功能,当静态路由发生故障时,本地引入的静态路由不可达,系统可以快速切换到BGP次优路由,从而大大缩短了流量中断时间。

协议间FRR功能的详细介绍,请参见“三层技术-IP路由配置指导”中的“IP路由基础”。

2. 配置步骤

(1)     ‍进入系统视图。

system-view

(2)     进入BGP视图。

bgp as-number [ instance instance-name ]

(3)     开启BGP次优路由下刷RIB功能。

flush suboptimal-route

缺省情况下,BGP次优路由下刷RIB功能处于关闭状态,即只有BGP最优路由可以下刷到RIB。

1.13  配置BGP路由禁止下发到IP路由表功能

1. 功能简介

本功能可以应用在以下场景:

·     在MPLS L3VPN组网中,PE设备的BGP路由表中会存在大量的私网路由。缺省情况下,优选后的私网路由将全部被下发到IP路由表中,但部分路由对于PE设备转发无意义,如不需要和其他Site互通的设备对应的路由。通过配置本命令,可以禁止不需要指导转发的路由下发到IP路由表,以提高转发性能。

·     在路由反射器上配置本功能,禁止路由反射器上的BGP路由下发到IP路由表,可以使得路由反射器仅用于发布和接收路由,而不进行业务流量转发,以节省路由反射器上的系统资源。

2. 配置步骤(IPv4单播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP IPv4单播地址族视图或BGP-VPN IPv4单播地址族视图。

¡     请依次执行以下命令进入BGP IPv4单播地址族视图。

bgp as-number [ instance instance-name ]

address-family ipv4 [ unicast ]

¡     请依次执行以下命令进入BGP-VPN IPv4单播地址族视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

address-family ipv4 [ unicast ]

(3)     配置BGP路由禁止下发到IP路由表中。

routing-table bgp-rib-only [ route-policy route-policy-name ]

缺省情况下,BGP将最优路由下发到IP路由表中。

3. 配置步骤(IPv6单播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP IPv6单播地址族视图或BGP-VPN IPv6单播地址族视图。

¡     请依次执行以下命令进入BGP IPv6单播地址族视图。

bgp as-number [ instance instance-name ]

address-family ipv6 [ unicast ]

¡     请依次执行以下命令进入BGP-VPN IPv6单播地址族视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

address-family ipv6 [ unicast ]

(3)     配置BGP路由禁止下发到IP路由表中。

routing-table bgp-rib-only [ route-policy route-policy-name ]

缺省情况下,BGP将最优路由下发到IP路由表中。

1.14  配置标签申请方式

1. 功能简介

通过配置本功能,BGP可以通过以下三种方式为私网路由申请标签:

·     为每条路由申请一个标签:采用这种方式时,路由条目和标签一一对应;

·     为每个下一跳申请一个标签:当按照每条路由申请标签方式需要申请的标签数量大于设备支持的最大标签数目时,通过采用此方式,可以减少申请的标签数量;

·     为每个VPN实例申请一个标签:当存在大量需要申请标签的路由,并且采用下一跳申请标签的方式申请的标签数量仍然超过设备支持的最大标签数目时,可以采用此方式。

2. 配置限制和指导

为每条路由或者每个下一跳申请标签方式可以与vpn popgo命令配合使用,以实现报文根据标签查找出接口转发报文;为每个VPN实例申请标签方式与vpn popgo命令互斥,采用该方式时,只能根据标签查找FIB转发报文

3. 配置步骤

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     配置标签申请方式。

label-allocation-mode { per-prefix | per-vrf }

缺省情况下,BGP按照每个下一跳分配一个标签的方式申请标签。

注意

改变标签分配方式将重新下刷所有BGP路由,会导致业务的短暂中断,请慎重使用。

 

1.15  配置允许公网BGP路由迭代到隧道

1. 功能简介

用户访问网络时,如果报文在转发路径上均采用IP转发,则运营商网络中的设备需要学习大量的路由。通过本功能在用户接入设备上配置允许非标签公网BGP路由迭代到LSP隧道,或允许公网BGP路由迭代到SRv6 TE Policy隧道,使用户报文通过标签转发方式在运营商网络中转发,运营商设备不再需要用户网络的路由,从而减轻设备的负担,节约设备上的资源。

缺省情况下,非标签公网BGP路由只能根据IP转发迭代到出接口和下一跳地址,不会迭代到LSP隧道;未配置segment-routing ipv6 traffic-engineering命令时,携带SRv6 SID的公网BGP路由也不会迭代到SRv6 TE Policy隧道。配置了unicast-route recursive-lookup tunnel命令后,非标签公网BGP路由可以迭代到LSP隧道;同时配置了unicast-route recursive-lookup tunnel命令以及sr-policy steering policy-based命令后,公网BGP路由可以迭代到SRv6 TE Policy隧道,无论是否携带SRv6 SID。迭代隧道失败后,才按照IP转发迭代到出接口和下一跳。

2. 配置限制和指导

IPv6非标签公网BGP路由迭代IPv4隧道时,作为Egress节点的隧道对端设备需要为倒数第二跳分配非空标签,否则会导致流量转发不通。

只要配置了以下两种情况之一,携带SRv6 SID的公网BGP路由就可以迭代到SRv6 TE Policy隧道:

·     配置了unicast-route recursive-lookup tunnelsr-policy steering policy-based命令

·     配置了segment-routing ipv6 traffic-engineering命令。

segment-routing ipv6 traffic-engineering命令的详细介绍,请参见“Segment Routing命令参考”中的“SRv6 VPN”;sr-policy steering命令的详细介绍,请参见“Segment Routing命令参考”中的“SRv6 TE Policy”。

3. 配置步骤(IPv4单播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP IPv4单播地址族视图。

address-family ipv4 [ unicast ]

(4)     配置允许非标签公网BGP路由迭代到LSP隧道,或允许公网BGP路由迭代到SRv6 TE Policy隧道。

unicast-route recursive-lookup tunnel [ prefix-list ipv4-prefix-list-name ] [ tunnel-policy tunnel-policy-name ]

缺省情况下,非标签公网BGP路由只能迭代到出接口和下一跳,不会迭代到LSP隧道;携带SRv6 SID的公网BGP路由无法迭代到SRv6 TE Policy;不携带SRv6 SID但携带Color扩展团体属性的公网BGP路由可以根据Color引流迭代到SRv6 TE Policy。

4. 配置步骤(IPv6单播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP IPv6单播地址族视图。

address-family ipv6 [ unicast ]

(4)     配置允许非标签公网BGP路由迭代到LSP隧道,或允许公网BGP路由迭代到SRv6 TE Policy隧道。

unicast-route recursive-lookup tunnel [ prefix-list ipv6-prefix-list-name ] [ tunnel-policy tunnel-policy-name ]

缺省情况下,非标签公网BGP路由只能迭代到出接口和下一跳,不会迭代到LSP隧道;携带SRv6 SID的公网BGP路由无法迭代到SRv6 TE Policy;不携带SRv6 SID但携带Color扩展团体属性的公网BGP路由可以根据Color引流迭代到SRv6 TE Policy。

1.16  调整和优化BGP网络显示和维护

1.16.1  复位BGP会话

当BGP路由策略或协议发生变化后,如果需要通过复位BGP会话使新的配置生效,请在用户视图下进行下列配置。

注意

复位BGP会话时,会造成短暂的BGP会话中断。

 

说明

非缺省vSystem不支持部分显示和维护命令,具体情况请参见本特性的命令参考。

表1-1 复位BGP会话

操作

命令

复位IPv4单播地址族下的BGP会话

reset bgp [ instance instance-name ] { as-number | ipv4-address [ mask-length ] | all | external | group group-name | internal } ipv4 [ unicast ] [ vpn-instance vpn-instance-name ]

reset bgp [ instance instance-name ] ipv6-address [ prefix-length ] ipv4 [ unicast ]

复位IPv4组播地址族下的BGP会话

reset bgp [ instance instance-name ] { as-number | ipv4-address [ mask-length ] | all | external | group group-name | internal } ipv4 multicast

复位IPv6单播地址族下的BGP会话

reset bgp [ instance instance-name ] { as-number | ipv6-address [ prefix-length ] | all | external | group group-name | internal } ipv6 [ unicast ] [ vpn-instance vpn-instance-name ]

reset bgp [ instance instance-name ] ipv4-address [ mask-length ] ipv6 [ unicast ]

复位IPv6组播地址族下的BGP会话

reset bgp [ instance instance-name ] { as-number | ipv6-address [ prefix-length ] | all | external | group group-name | internal } ipv6 multicast

复位所有BGP会话

reset bgp [ instance instance-name ] all

 

2 BGP安全功能

2.1  vSystem相关说明

vSystem支持本特性的所有功能。有关vSystem的详细介绍请参见“虚拟化技术配置指导”中的“vSystem”。

2.2  BGP安全功能配置任务简介

BGP安全功能配置任务如下:

·     配置BGP的MD5认证

·     配置BGP的keychain认证

·     配置BGP GTSM功能

·     配置通过IPsec保护IPv6 BGP报文

2.3  配置BGP的MD5认证

1. 功能简介

通过为BGP对等体配置BGP的MD5认证,可以在以下两方面提高BGP的安全性:

·     为BGP建立TCP连接时进行MD5认证,只有两台路由器配置的密钥相同时,才能建立TCP连接,从而避免与非法的BGP路由器建立TCP连接。

·     传递BGP报文时,对封装BGP报文的TCP报文段进行MD5运算,从而保证BGP报文不会被篡改。

2. 配置步骤(IPv4单播/IPv4组播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图或BGP-VPN实例视图。

¡     进入BGP实例视图。

bgp as-number [ instance instance-name ]

¡     请依次执行以下命令进入BGP-VPN实例视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

(3)     配置BGP的MD5认证。

peer { group-name | ipv4-address [ mask-length ] } password { cipher | simple } password

缺省情况下,不进行BGP的MD5认证。

3. 配置步骤(IPv6单播/IPv6组播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图或BGP-VPN实例视图。

¡     进入BGP实例视图。

bgp as-number [ instance instance-name ]

¡     请依次执行以下命令进入BGP-VPN实例视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

(3)     配置BGP的MD5认证。

peer { group-name | ipv6-address [ prefix-length ] } password { cipher | simple } password

缺省情况下,不进行BGP的MD5认证。

2.4  配置BGP的keychain认证

1. 功能简介

配置keychain认证可以提高TCP连接的安全性。为了保证正常建立TCP连接、正常交互BGP消息,BGP对等体两端必须同时配置keychain认证,且两端使用的keychain需要满足如下条件:

·     同一时间内使用的key的标识符相同。

·     相同标识符的key的认证算法和认证密钥必须一致。

关于keychain的介绍和配置,请参见“安全配置指导”中的“keychain”。

2. 配置限制和指导

对于keychain认证算法和key的标识符的范围,BGP的支持情况如下:

·     BGP支持HMAC-MD5、HMAC-SHA-256、HMAC-SM3、SM3和MD5认证算法,通过authentication-algorithm命令进行配置。

·     BGP仅支持标识符取值范围为0~63的key,通过key命令进行配置。

3. 配置步骤(IPv4单播/IPv4组播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图或BGP-VPN实例视图。

¡     进入BGP实例视图。

bgp as-number [ instance instance-name ]

¡     请依次执行以下命令进入BGP-VPN实例视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

(3)     配置BGP的keychain认证。

peer { group-name | ip-address [ mask-length ] } keychain keychain-name

缺省情况下,不进行BGP的keychain认证。

4. 配置步骤(IPv6单播/IPv6组播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图或BGP-VPN实例视图。

¡     进入BGP实例视图。

bgp as-number [ instance instance-name ]

¡     请依次执行以下命令进入BGP-VPN实例视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

(3)     配置BGP的keychain认证。

peer { group-name | ipv6-address [ prefix-length ] } keychain keychain-name

缺省情况下,不进行BGP的keychain认证。

2.5  配置BGP GTSM功能

1. 功能简介

GTSM(Generalized TTL Security Mechanism,通用TTL安全保护机制)是一种简单易行的、对基于IP协议的上层业务进行保护的安全机制。GTSM通过检查接收到的IP报文头中的TTL值是否在一个预先定义好的范围内,来判断IP报文是否合法,避免攻击者向网络设备发送大量有效的IP报文时对网络设备造成的CPU利用(CPU-utilization)等类型的攻击。

配置BGP GTSM功能时,用户可以指定本地设备到达某个对等体的最大跳数为hop-count,则从该对等体接收到的BGP报文的合法TTL范围为255-“hop-count”+1到255。只有来自该对等体的报文TTL值在该合法范围内时,才将报文上送CPU处理;否则,直接丢弃报文。另外,配置BGP GTSM功能后,设备会将发送报文的初始TTL设置为255。

对于直连EBGP对等体,GTSM可以提供最佳的保护效果;对于非直连EBGP或IBGP对等体,由于中间设备可能对TTL值进行篡改,GTSM的保护效果受到中间设备安全性的限制。

2. 配置限制和指导

执行本配置后,只要本地设备和指定的对等体通过了GTSM检查,就允许在二者之间建立EBGP会话,不管二者之间的跳数是否超过peer ebgp-max-hop命令指定的跳数范围。

使用BGP GTSM功能时,要求本设备和对等体设备上同时配置本特性,指定的hop-count值可以不同,只要能够满足合法性检查即可。

3. 配置步骤(IPv4单播/IPv4组播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图或BGP-VPN实例视图。

¡     进入BGP实例视图。

bgp as-number [ instance instance-name ]

¡     请依次执行以下命令进入BGP-VPN实例视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

(3)     使能对等体/对等体组的BGP GTSM功能。

peer { group-name | ipv4-address [ mask-length ] } ttl-security hops hop-count

缺省情况下,BGP GTSM功能处于关闭状态。

4. 配置步骤(IPv6单播/IPv6组播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图或BGP-VPN实例视图。

¡     进入BGP实例视图。

bgp as-number [ instance instance-name ]

¡     请依次执行以下命令进入BGP-VPN实例视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

(3)     使能对等体/对等体组的BGP GTSM功能。

peer { group-name | ipv6-address [ prefix-length ] } ttl-security hops hop-count

缺省情况下,BGP GTSM功能处于关闭状态。

2.6  配置通过IPsec保护IPv6 BGP报文

1. 功能简介

为了避免路由信息外泄或者非法者对设备进行恶意攻击,可以利用IPsec安全隧道对IPv6 BGP报文进行保护。通过IPsec提供的数据机密性、完整性、数据源认证等功能,确保IPv6 BGP报文不会被侦听或恶意篡改,并避免非法者构造IPv6 BGP报文对设备进行攻击。

在互为IPv6 BGP邻居的两台设备上都配置通过IPsec保护IPv6 BGP报文后,一端设备在发送IPv6 BGP报文时通过IPsec对报文进行加封装,另一端设备接收到报文后,通过IPsec对报文进行解封装。如果解封装成功,则接收该报文,正常建立IPv6 BGP对等体关系或学习IPv6 BGP路由;如果设备接收到不受IPsec保护的IPv6 BGP报文,或IPv6 BGP报文解封装失败,则会丢弃该报文。

2. 配置步骤

(1)     ‍进入系统视图。

system-view

(2)     配置IPsec安全提议和手工方式的IPsec安全框架。

配置方法请参见“VPN配置指导”中的“IPsec”。

(3)     进入BGP实例视图或BGP-VPN实例视图。

¡     进入BGP实例视图。

bgp as-number [ instance instance-name ]

¡     请依次执行以下命令进入BGP-VPN实例视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

(4)     为IPv6 BGP对等体/对等体组应用IPsec安全框架。

peer { group-name | ipv6-address [ prefix-length ] } ipsec-profile profile-name

缺省情况下,IPv6 BGP对等体/对等体组没有应用IPsec安全框架。

应用的安全框架必须是手工方式的IPsec安全框架。

3 提高BGP网络的可靠性

3.1  vSystem相关说明

非缺省vSystem支持本特性的部分功能,包括配置BGP与BFD联动和配置BGP快速重路由。

说明

非缺省vSystem对具体命令的支持情况,请见本特性的命令参考。有关vSystem的详细介绍请参见“虚拟化技术配置指导”中的“vSystem”。

3.2  提高BGP网络的可靠性配置任务简介

提高BGP网络的可靠性配置任务如下:

·     配置BGP GR

·     配置BGP NSR

·     配置BGP与BFD联动

·     配置BGP快速重路由

·     配置BGP进程维护功能

¡     配置BGP isolate

¡     配置BGP shutdown

3.3  配置BGP GR

1. 功能简介

BGP GR(Graceful Restart,平滑重启)是一种在主备倒换或BGP协议重启时保证转发业务不中断的机制。GR有两个角色:

·     GR Restarter:发生主备倒换或协议重启,且具有GR能力的设备。

·     GR Helper:和GR Restarter具有邻居关系,协助完成GR流程的设备。GR Helper也具有GR能力。

设备既可以作为GR Restarter,又可以作为GR Helper。设备的角色由该设备在BGP GR过程中的作用决定。

BGP GR的工作过程为:

(1)     ‍GR Restarter和GR Helper通过Open消息交互GR能力。只有双方都具有GR能力时,建立起的BGP会话才具备GR能力。GR Restarter还会通过Open消息,将本端通过graceful-restart timer restart命令配置的对端等待重建BGP会话时间通告给GR Helper。

(2)     建立具备GR能力的BGP会话后,GR Restarter进行主备倒换或BGP协议重启时,GR Restarter不会删除RIB(Routing Information Base,路由信息库)和FIB(Forwarding Information Base,转发信息库)表项,仍然按照原有的转发表项转发报文,并启动RIB路由老化定时器(定时器的值由graceful-restart timer purge-time命令配置)。GR Helper发现GR Restarter进行主备倒换或BGP协议重启后,GR Helper不会删除从该GR Restarter学习到的路由,而是将这些路由标记为失效路由,仍按照这些路由转发报文,从而确保在GR Restarter进行主备倒换或BGP协议重启的过程中,报文转发不会中断。

(3)     GR Restarter主备倒换或BGP协议重启完成后,它会重新与GR Helper建立BGP会话。如果在GR Restarter通告的BGP会话重建时间加上GR Helper上配置的等待重建额外时间(额外时间通过peer graceful-restart timer restart extra命令配置)内没有成功建立BGP会话,则GR Helper会删除标记为失效的路由。

(4)     如果在GR Restarter通告的BGP会话重建时间内成功建立BGP会话,则GR Restarter和GR Helper在建立的BGP会话上进行路由信息交互,以便GR Restarter恢复路由信息、GR Helper根据学习到的路由删除路由的失效标记。

(5)     BGP会话建立后,在GR Restarter和GR Helper上都会启动End-Of-RIB(路由信息库结束)标记等待定时器(定时器的值通过graceful-restart timer wait-for-rib命令配置),该定时器用来控制路由信息收敛的速度。如果定时器超时时没有完成路由信息的交互,则GR Restarter不再接收新的路由,根据已经学习到的BGP路由信息更新RIB表项,删除老化的RIB表项;GR Helper则删除标记为失效的路由。

(6)     如果在RIB路由老化定时器超时时没有完成路由信息的交互,则GR Restarter会强制退出GR过程,根据已经学习到的BGP路由信息更新RIB表项,删除老化的RIB表项。

在TCP连接断开、保持时间超时或BGP会话允许交换路由的地址族发生变化时,BGP会话需要断开并重新建立,造成业务流量转发中断。开启设备通过GR方式复位BGP会话功能后,在TCP连接断开、保持时间超时和BGP会话允许交换路由的地址族发生变化时,设备采用BGP GR方式进行BGP会话重建,仍按照已有的路由信息转发报文,从而避免对流量转发造成影响。

2. 配置限制和指导

End-Of-RIB标记用来标识路由更新发送的结束。

本端配置的等待End-Of-RIB标记的时间不会通告给对端,只用来控制本端路由信息交互的时间,即GR Restarter上配置的时间只用来控制GR Restarter从GR Helper接收路由更新的时间,GR Helper上配置的时间只用来控制GR Helper从GR Restarter接收路由更新的时间。当路由信息的数量较多时,建议将本端等待End-Of-RIB标记的时间调大,以保证完成所有路由信息的交互。

由于设备在GR过程中的角色不可预知,建议在作为GR Restarter和GR Helper的设备上均进行本配置。

3. 配置步骤

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     使能BGP协议的GR能力。

graceful-restart

缺省情况下,BGP协议的GR能力处于关闭状态。

(4)     (可选)配置对端等待重建BGP会话的时间。

graceful-restart timer restart timer

缺省情况下,对端等待重建BGP会话的时间为150秒。

对端等待重建BGP会话的时间应小于Open消息中的Holdtime时间。

(5)     (可选)配置BGP GR过程中本端作为GR Helper时等待对等体/对等体组重建BGP会话的额外时间。

peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } graceful-restart timer restart extra { time | no-limit }

缺省情况下,本端作为GR Helper时等待对等体/对等体组重建BGP会话的额外时间为0秒。

(6)     (可选)配置本端等待End-Of-RIB标记的时间。

graceful-restart timer wait-for-rib timer

缺省情况下,本端等待End-Of-RIB标记的时间为180秒。

(7)     (可选)配置BGP GR过程中等待通知RIB老化失效表项的时间。

graceful-restart timer purge-time timer

缺省情况下,BGP GR过程中等待通知RIB老化失效表项的时间为480秒。

(8)     (可选)开启设备通过GR方式复位BGP会话功能。

graceful-restart peer-reset [ all ]

缺省情况下,设备以GR方式复位BGP会话功能处于关闭状态。

3.4  配置BGP NSR

1. 功能简介

BGP NSR(Nonstop Routing,不间断路由)是一种通过在BGP协议主备进程之间备份必要的协议状态和数据(如BGP邻居信息和路由信息),使得BGP协议的主进程中断时,备份进程能够无缝地接管主进程的工作,从而确保对等体感知不到BGP协议中断,保持BGP路由,并保证转发不会中断的技术。

导致BGP主进程中断的事件包括以下几种:

·     BGP主进程重启

·     BGP主进程所在的主控板发生故障

·     BGP主进程所在的主控板进行ISSU(In-Service Software Upgrade,不中断业务升级)

BGP NSR与BGP GR具有如下区别,请根据实际情况选择合适的方式确保数据转发不中断:

·     对设备要求不同:BGP协议的主进程和备进程运行在不同的IRF成员设备上,因此要运行BGP NSR功能,必须进行IRF堆叠且IRF必须有两个或两个以上的成员设备。要运行BGP GR功能,可以不进行IRF堆叠或IRF可以只有一个成员设备。

·     对BGP对等体的要求不同:使用BGP NSR功能时,BGP对等体不会感知本地设备发生了BGP进程的异常重启或主备倒换等故障,不需要BGP对等体协助恢复BGP路由信息。BGP GR要求BGP对等体具有GR能力,并且在BGP会话中断恢复时,BGP对等体能够作为GR helper协助本地设备恢复BGP路由信息。

2. 配置限制和指导

如果在设备上同时配置了BGP NSR和BGP GR功能,则二者的关系如下:

·     BGP NSR优先级高于BGP GR,即BGP主进程中断时通过BGP NSR确保转发不中断,设备不会作为GR Restarter启动GR过程。

·     GR Helper协助GR Restarter恢复重启前状态时,如果GR Helper发生了主备进程倒换,则即便GR Helper上配置了BGP NSR,也无法保证GR过程成功。

3. 配置步骤

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     使能BGP NSR功能。

non-stop-routing

缺省情况下,BGP NSR功能处于关闭状态。

3.5  配置BGP与BFD联动

1. 功能简介

BGP协议通过存活时间(Keepalive)定时器和保持时间(Holdtime)定时器来维护邻居关系。但这些定时器都是秒级的,而且根据协议规定,设置的保持时间应该至少为存活时间间隔的三倍。这样使得BGP邻居关系的检测比较慢,对于报文收发速度快的接口会导致大量报文丢失。通过配置BGP与BFD联动,可以使用BFD来检测本地路由器和BGP对等体之间的链路。当本地路由器和BGP对等体之间的链路出现故障时,BFD可以快速检测到该故障,从而加快BGP协议的收敛速度。有关BFD的介绍和详细配置,请参见“网络管理和监控配置指导”中的“BFD”。

配置通过BFD检测本地路由器和指定BGP对等体/对等体组之间的链路之前,需要先在本地路由器和指定BGP对等体/对等体组之间建立BGP会话。

2. 配置限制和指导

配置BGP GR功能后,请慎用BGP与BFD联动功能。因为当链路故障时,系统可能还没来得及启用GR处理流程,BFD已经检测到链路故障了,从而导致GR失败。如果设备上同时配置了BGP GR和BGP BFD,则在BGP GR期间请勿去使能BGP BFD,否则可能导致GR失败。

通过链路本地地址建立的BGP会话只能通过单跳BFD会话检测对等体之间的链路。

本地路由器和BGP对等体采用的BFD检测方式(单跳或多跳)必须相同,否则无法建立BFD会话。

3. 配置步骤(IPv4单播/IPv4组播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图或BGP-VPN实例视图。

¡     进入BGP实例视图。

bgp as-number [ instance instance-name ]

¡     请依次执行以下命令进入BGP-VPN实例视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

(3)     配置通过BFD检测本地路由器和指定BGP对等体/对等体组之间的链路。

peer { group-name | ipv4-address [ mask-length ] } bfd [ multi-hop | single-hop ]

缺省情况下,不使用BFD检测本地路由器和BGP对等体/对等体组之间的链路。

4. 配置步骤(IPv6单播/IPv6组播)

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图或BGP-VPN实例视图。

¡     进入BGP实例视图。

bgp as-number [ instance instance-name ]

¡     请依次执行以下命令进入BGP-VPN实例视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

(3)     配置通过BFD检测本地路由器和指定IPv6 BGP对等体/对等体组之间的链路。

peer { group-name | ipv6-address [ prefix-length ] } bfd [ multi-hop | single-hop ]

缺省情况下,不使用BFD检测本地路由器和IPv6 BGP对等体/对等体组之间的链路。

3.6  配置BGP快速重路由

3.6.1  功能简介

当BGP网络中的链路或某台路由器发生故障时,需要通过故障链路或故障路由器传输才能到达目的地的报文将会丢失或产生路由环路,数据流量将会被中断。直到BGP根据新的网络拓扑路由收敛后,被中断的流量才能恢复正常的传输。

为了尽可能缩短网络故障导致的流量中断时间,网络管理员可以开启BGP快速重路由功能。

图3-1 BGP快速重路由功能示意图

 

图3-1所示,在Router B上开启快速重路由功能后,BGP将为主路由生成备份下一跳。IPv4组网中BGP通过ARP或Echo方式的BFD会话检测主路由的下一跳是否可达,IPv6组网中BGP通过ND(Neighbor Discovery,邻居发现)协议检测主路由的下一跳是否可达。当Router B检测到主路由的下一跳不可达后,BGP会使用备份下一跳替换失效下一跳,通过备份下一跳来指导报文的转发,从而大大缩短了流量中断时间。在使用备份下一跳指导报文转发的同时,BGP会重新进行路由优选,优选完毕后,使用新的最优路由来指导报文转发。

开启BGP快速重路由功能的方法有如下两种:

·     在BGP地址族视图下执行pic命令开启当前地址族的BGP快速重路由功能。采用这种方法时,BGP会为当前地址族的所有BGP路由自动计算备份下一跳,即只要从不同BGP对等体学习到了到达同一目的网络的路由,且这些路由不等价,就会生成主备两条路由。

·     在BGP地址族视图下执行fast-reroute route-policy命令指定快速重路由引用的路由策略,并在引用的路由策略中,通过apply [ ipv6 ] fast-reroute backup-nexthop命令指定备份下一跳的地址。采用这种方式时,只有为主路由计算出的备份下一跳地址与指定的地址相同时,才会为其生成备份下一跳;否则,不会为主路由生成备份下一跳。在引用的路由策略中,还可以配置if-match子句,用来决定哪些路由可以进行快速重路由保护,BGP只会为通过if-match子句过滤的路由生成备份下一跳。

引用路由策略方式的优先级高于通过pic命令开启BGP快速重路由方式。

IPv4单播路由和IPv6单播路由支持BGP快速重路由功能;IPv4组播路由和IPv6组播路由不支持BGP快速重路由功能。

3.6.2  通过引用路由策略的方式开启BGP快速重路由功能(IPv4单播)

(1)     ‍进入系统视图。

system-view

(2)     配置echo报文的源IP地址。

bfd echo-source-ip ipv4-address

缺省情况下,未配置echo报文的源IP地址。

通过Echo方式的BFD会话检测主路由的下一跳是否可达时,必须执行本配置。

echo报文的源IP地址用户可以任意指定。建议配置echo报文的源IP地址不属于该设备任何一个接口所在网段。

本命令的详细介绍,请参见“网络管理和监控命令参考”中的“BFD”。

(3)     创建路由策略,并进入路由策略视图。

route-policy route-policy-name permit node node-number

本命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“路由策略”。

(4)     配置快速重路由的备份下一跳地址。

apply fast-reroute backup-nexthop ipv4-address

缺省情况下,未指定快速重路由的备份下一跳地址。

本命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“路由策略”。

(5)     退回系统视图。

quit

(6)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(7)     进入BGP IPv4单播地址族视图或BGP-VPN IPv4单播地址族视图。

¡     进入BGP IPv4单播地址族视图

address-family ipv4 [ unicast ]

¡     进入BGP-VPN IPv4单播地址族视图

ip vpn-instance vpn-instance-name

address-family ipv4 [ unicast ]

(8)     在当前地址族视图下指定BGP快速重路由引用的路由策略。

fast-reroute route-policy route-policy-name

缺省情况下,BGP快速重路由未引用任何路由策略。

引用的路由策略中,只有apply fast-reroute backup-nexthopapply ipv6 fast-reroute backup-nexthop命令生效,其他apply子句不会生效。

3.6.3  通过引用路由策略的方式开启BGP快速重路由功能(IPv6单播)

(1)     ‍进入系统视图。

system-view

(2)     创建路由策略,并进入路由策略视图。

route-policy route-policy-name permit node node-number

本命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“路由策略”。

(3)     配置快速重路由的备份下一跳地址。

apply ipv6 fast-reroute backup-nexthop ipv6-address

缺省情况下,未指定快速重路由的备份下一跳地址。

本命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“路由策略”。

(4)     退回系统视图。

quit

(5)     进入BGP实例视图或BGP-VPN实例视图。

¡     进入BGP实例视图。

bgp as-number [ instance instance-name ]

¡     请依次执行以下命令进入BGP-VPN实例视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

(6)     进入BGP IPv6单播地址族视图或BGP-VPN IPv6单播地址族视图。

address-family ipv6 [ unicast ]

(7)     在当前地址族视图下指定BGP快速重路由引用的路由策略。

fast-reroute route-policy route-policy-name

缺省情况下,BGP快速重路由未引用任何路由策略。

引用的路由策略中,只有apply fast-reroute backup-nexthopapply ipv6 fast-reroute backup-nexthop命令生效,其他apply子句不会生效。

3.6.4  通过pic命令开启BGP快速重路由(IPv4单播)

1. 配置限制和指导

在某些组网情况下,执行pic命令为所有BGP路由生成备份下一跳后,可能会导致路由环路,请谨慎使用本功能。

2. 配置步骤

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图或BGP-VPN实例视图。

¡     进入BGP实例视图。

bgp as-number [ instance instance-name ]

¡     请依次执行以下命令进入BGP-VPN实例视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

(3)     进入BGP IPv4单播地址族视图或BGP-VPN IPv4单播地址族视图。

address-family ipv4 [ unicast ]

(4)     开启BGP快速重路由功能。

pic

缺省情况下,BGP快速重路由功能处于关闭状态。

3.6.5  通过pic命令开启BGP快速重路由(IPv6单播)

1. 配置限制和指导

在某些组网情况下,执行pic命令为所有BGP路由生成备份下一跳后,可能会导致路由环路,请谨慎使用本功能。

2. 配置步骤

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图或BGP-VPN实例视图。

¡     进入BGP实例视图。

bgp as-number [ instance instance-name ]

¡     请依次执行以下命令进入BGP-VPN实例视图。

bgp as-number [ instance instance-name ]

ip vpn-instance vpn-instance-name

(3)     进入BGP IPv6单播地址族视图或BGP-VPN IPv6单播地址族视图。

address-family ipv6 [ unicast ]

(4)     开启BGP快速重路由功能。

pic

缺省情况下,BGP快速重路由功能处于关闭状态.

在某些组网情况下,执行pic命令为所有BGP路由生成备份下一跳后,可能会导致路由环路,请谨慎使用本命令。

3.6.6  配置BGP快速重路由通过BFD会话检测主路由的下一跳是否可达

1. 功能简介

缺省情况下,BGP快速重路由通过ARP检测主路由的下一跳是否可达,该方式对于快速重路由的主链路失效检测较慢,业务流量可能无法及时切换到备用路径上,导致流量丢失。配置本功能后,设备会自动创建一个协议类型为IPFRR的BFD会话,通过该BFD会话对主路由的下一跳检测,以提高主路由下一跳失效时,流量切换到备路由下一跳上的收敛速度。

2. 配置限制和指导

只有存在已经生成了备份下一跳的主路由时,本功能才会生效并自动创建BFD会话。

由于BGP暂不支持为负载分担路由计算备份下一跳,本功能无法为等价路由作为主路由的场景提供通过BFD会话检测功能。

通过控制报文方式的BFD会话检测主路由的下一跳是否可达时,由于控制报文方式的BFD会话需要两端进行协商才能成功建立,如需设备成功使用控制报文方式的BFD会话来检测主链路的下一跳,可以通过以下两种方式进行配置:

·     在主链路的对端设备上也执行primary-path-detect bfd命令。此方式适用于主链路两端设备均配置快速重路由功能的场景。

·     在主链路的对端设备上手工创建一个静态BFD会话,该静态BFD会话指定的会话源IP地址为本端自动创建的BFD会话的会话目的IP地址、会话目的IP地址为本端自动创建的BFD会话的源IP地址、远端标识符为本端自动创建的BFD会话的本地标识符。

使用echo方式的BFD会话检测主路由的下一跳是否可达时,仅需要在本地路由器上配置本功能。

其他业务模块在通过BFD会话检测主路由的下一跳是否可达时,也会自动创建BFD会话(如OSPF、IS-IS等)。如果其他协议创建的自动BFD会话检测的链路与BGP主路由下一跳所在的链路相同,则BGP不会重复自动创建同类型的BFD会话,而是复用其他协议的BFD会话。

3. 配置步骤

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     配置BGP快速重路由通过BFD会话检测主路由的下一跳是否可达。

primary-path-detect bfd { ctrl | echo }

缺省情况下,BGP快速重路由通过ARP检测主路由的下一跳是否可达。

3.7  配置BGP进程维护功能

3.7.1  功能简介

当用户需要对某台设备上的BGP进程进行调试或升级等维护操作时,可以使用BGP isolate功能或BGP shutdown功能,将该设备上的BGP进程从当前网络中移除。网络中的其他设备重新计算路由,不会再通过该设备转发流量,从而降低设备维护对网络的影响,提高网络的可靠性。

BGP isolate功能和BGP shutdown功能使得网络管理员在进行网络设备维护时,无需删除并重新进行对等体/对等体组相关配置,减少了网络维护的工作量。完成设备维护后,网络管理员可以关闭BGP isolate功能和BGP shutdown功能,以使该设备重新投入使用。

3.7.2  配置BGP isolate

1. 功能简介

本功能可以将BGP进程从网络中隔离出来,具体工作机制如下:

(1)     ‍开启BGP isolate功能的设备撤销发布给邻居的BGP路由(本设备直连路由除外),同时保留所有从邻居学习到的BGP路由。

(2)     远端邻居收到路由撤销消息后,重新进行路由优选并更新FIB表。在此期间,远端邻居仍然可以通过BGP isolate设备发布的BGP路由转发流量。

(3)     远端邻居删除所有BGP isolate设备发布的BGP路由并完成FIB表项更新后,除目的地为BGP isolate设备的流量外,其他流量不再经过BGP isolate设备。此时,BGP isolate设备完全从当前组网中隔离出来,可以对该设备上的BGP协议进行升级等处理。

(4)     对BGP isolate设备的维护结束后,关闭BGP isolate功能可让该设备重新加入网络。设备重新加入网络后,BGP路由的发布和学习机制如下:

¡     设备重新向邻居发布路由。

¡     设备隔离前保留了从邻居学习到的路由。如果设备隔离后没有对BGP协议进行重启等操作,则无需重新进行路由学习;否则,设备重新加入网络后需要重新进行路由学习。

2. 配置限制和指导

设备进行GR或NSR期间,建议用户不要使用BGP isolate功能,否则无法保证执行操作后的结果与预期结果一致。

3. 配置步骤

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     配置BGP isolate功能,将设备的BGP协议从当前组网中隔离出来。

isolate enable

缺省情况下,未配置BGP协议隔离功能。

(4)     完成设备维护后,使设备的BGP重新加入网络。

undo isolate enable

3.7.3  配置BGP shutdown

1. 功能简介

本功能通过暂时断开与所有对等体/对等体组的BGP会话,来实现BGP进程的移除。完成设备维护后,通过取消本功能可以恢复与所有对等体/对等体组的BGP会话。

2. 配置限制和指导

如果本设备和对等体/对等体组的会话已经建立,则配置本功能后,会断开本设备和对等体/对等体组的会话,并清除所有路由信息。

同时配置本功能和禁止与对等体/对等体组建立会话功能时,若任一功能禁止了与对等体/对等体组建立会话,则设备不能与相应的对等体/对等体组建立BGP会话。禁止与对等体/对等体组建立会话功能的详细介绍,请参见“禁止与对等体/对等体组建立会话”。

3. 配置步骤

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     配置BGP shutdown功能,禁止与所有对等体/对等体组建立会话。

shutdown process

缺省情况下,设备允许与所有BGP对等体/对等体组建立会话。

(4)     完成设备维护后,使设备的BGP重新加入网络。

undo shutdown process

3.8  提高BGP网络的可靠性显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后BGP的运行情况,通过查看显示信息验证配置的效果。

说明

非缺省vSystem不支持以下显示和维护命令。

1. 提高BGP网络的可靠性配置显示(IPv4单播)

表3-1 提高BGP网络的可靠性配置显示(IPv4单播)

操作

命令

显示BGP NSR的运行状态

display bgp [ instance instance-name ] non-stop-routing status

 

2. 提高BGP网络的可靠性配置显示(IPv6单播)

表3-2 提高BGP网络的可靠性配置显示(IPv6单播)

操作

命令

显示BGP NSR的运行状态

display bgp [ instance instance-name ] non-stop-routing status

3. 提高BGP网络的可靠性配置显示(IPv4组播)

表3-3 提高BGP网络的可靠性配置显示(IPv4组播)

操作

命令

显示BGP NSR的运行状态

display bgp [ instance instance-name ] non-stop-routing status

 

4. 提高BGP网络的可靠性配置显示(IPv6组播)

表3-4 提高BGP网络的可靠性配置显示(IPv6组播)

操作

命令

显示BGP NSR的运行状态

display bgp [ instance instance-name ] non-stop-routing status

4 BGP扩展功能

4.1  vSystem相关说明

非缺省vSystem支持本特性中的配置6PE功能。

说明

非缺省vSystem对具体命令的支持情况,请见本特性的命令参考。有关vSystem的详细介绍请参见“虚拟化技术配置指导”中的“vSystem”。

4.2  BGP扩展功能配置任务简介

BGP扩展功能配置任务如下:

·     配置BGP LS

¡     配置BGP LS基本功能

¡     (可选)配置BGP LS路由反射功能

¡     (可选)配置BGP LS信息的AS号和Router ID

¡     (可选)提高邻居路由参与优选时的优先级

¡     (可选)手工软复位LS地址族下的BGP会话

4.3  配置BGP LS

4.3.1  功能简介

BGP LS(Link State,链路状态)功能可以进行跨域和跨AS的LSDB(Link State DataBase,链路状态数据库)、TEDB(TE DataBase,流量工程数据库)信息发布。设备把收集到的链路状态信息发送给控制器,实现了业务与流量的端到端管理和调度,还可以满足需要链路状态信息的各种应用需求。

4.3.2  BGP LS扩展

BGP协议通过一系列NLRI来携带网络拓扑和链路状态信息。这种新的NLRI被包含在MP_REACH_NLRI和MP_UNREACH_NLRI属性中,通过BGP Update消息在BGP LS对等体间进行交互。

4.3.3  配置BGP LS基本功能

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     指定LS对等体/对等体组的AS号。

peer { ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } as-number as-number

缺省情况下,未指定LS对等体/对等体组的AS号。

(4)     创建BGP LS地址族,并进入LS地址族视图。

address-family link-state

(5)     使能本地路由器与对等体/对等体组交换LS信息的能力。

peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } enable

缺省情况下,本地路由器不能与对等体/对等体组交换LS信息。

4.3.4  配置BGP LS路由反射功能

1. 功能简介

通常在同一个AS内,为了减少IBGP连接数,可以把几个BGP路由器划分为一个集群,将其中的一台路由器配置为路由反射器,其它路由器作为客户机,通过路由反射器在客户机之间反射路由。

2. 配置步骤

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP LS地址族视图。

address-family link-state

(4)     配置BGP LS路由反射功能。

¡     配置本机作为路由反射器,对等体/对等体组作为路由反射器的客户机。

peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } reflect-client

缺省情况下,未配置路由反射器及其客户机。

¡     (可选)允许路由反射器在客户机之间反射路由。

reflect between-clients

缺省情况下,允许路由反射器在客户机之间反射路由。

配置本命令后,可减少同一AS内IBGP的连接数。

¡     (可选)配置路由反射器的集群ID。

reflector cluster-id { cluster-id | ipv4-address }

缺省情况下,每个路由反射器都使用自己的Router ID作为集群ID。

4.3.5  配置BGP LS信息的AS号和Router ID

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP LS地址族视图。

address-family link-state

(4)     配置BGP LS信息的AS号和Router ID。

domain-distinguisher as-number:router-id

缺省情况下,使用本BGP进程的AS号和Router ID。

在一个AS内,当两台设备把相同的LS信息发送到同一个EBGP邻居时,由于Router ID标识的不同,会被认为是不同的LS信息。通过配置本功能,可以解决这个问题。

4.3.6  提高邻居路由参与优选时的优先级

1. 功能简介

缺省情况下,BGP不为指定对等体/对等体组设置对等体高优先级,按照BGP选路规则进行路由优选。执行本配置后,从配置中指定的对等体/对等体组、其他对等体/对等体组学习到相同前缀的路由时,优选从本配置指定的对等体/对等体组学习到路由。该选路规则应用于“依次选择从EBGP、联盟EBGP、联盟IBGP、IBGP学来的路由”之后,“优选IGP Metric值最小的路由”之前。

2. 配置步骤

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP LS地址族视图。

address-family link-state

(4)     为指定对等体/对等体组设置高优先级,路由选路时优选从该对等体/对等体组学习到的路由。

peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } high-priority

缺省情况下,BGP不为指定对等体/对等体组设置高优先级,选路规则不发生变化。

4.3.7  手工软复位LS地址族下的BGP会话

(1)     ‍进入系统视图。

system-view

(2)     进入BGP实例视图

bgp as-number [ instance instance-name ]

(3)     配置Route-refresh功能。请选择其中一项进行配置。

¡     使能本地路由器与指定对等体/对等体组的BGP路由刷新功能。

peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } capability-advertise route-refresh

¡     使能本地路由器与指定BGP对等体/对等体组的BGP路由刷新、多协议扩展和4字节AS号功能。

undo peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } capability-advertise conventional

缺省情况下,BGP路由刷新、多协议扩展和4字节AS号功能处于使能状态。

(4)     手工对LS地址族下的BGP会话进行软复位。

a.     ‍退回系统视图。

quit

b.     退回用户视图。

quit

c.     手工对LS地址族下的BGP会话进行软复位。

refresh bgp [ instance instance-name ] { ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] | all | external | group group-name | internal } { export | import } link-state

4.4  BGP扩展功能显示和维护

4.4.1  显示BGP

在完成上述配置后,在任意视图下执行display命令可以显示配置后BGP的运行情况,通过查看显示信息验证配置的效果。

说明

非缺省vSystem不支持以下显示和维护命令。

1. BGP扩展功能配置显示(LS地址族)

表4-1 BGP扩展功能配置显示(LS地址族)

操作

命令

显示BGP LS对等体组的信息

display bgp [ instance instance-name ] group link-state [ group-name group-name ]

显示BGP LS地址族信息

display bgp [ instance instance-name ] link-state [ ls-prefix | peer { ipv4-address | ipv6-address } { advertised | received } [ statistics ] | statistics ]

display bgp [ instance instance-name ] link-state [ color color-value end-point { ipv4 ipv4-address | ipv6 ipv6-address } ]

显示BGP LS对等体或对等体组的信息

display bgp [ instance instance-name ] peer link-state [ ipv4-address mask-length | ipv6-address prefix-length | { ipv4-address | ipv6-address | group-name group-name } log-info | [ ipv4-address | ipv6-address ] verbose ]

显示BGP LS地址族的打包组信息

display bgp [ instance instance-name ] update-group link-state [ ipv4-address | ipv6-address ]

 

4.4.2  复位BGP会话

当BGP路由策略或协议发生变化后,如果需要通过复位BGP会话使新的配置生效,请在用户视图下进行下列配置。

注意

复位BGP会话时,会造成短暂的BGP会话中断。

 

表4-2 复位BGP会话

操作

命令

复位LS地址族下的BGP会话

reset bgp [ instance instance-name ] { as-number | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] | all | external | group group-name | internal } link-state

 

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们