09-MBGP配置
本章节下载: 09-MBGP配置 (325.93 KB)
在以下路由协议的介绍中所指的路由器及路由器图标,代表了一般意义下的路由器以及运行了路由协议的以太网交换机。
为了提供对多种网络层协议的支持,IETF(Internet Engineering Task Force,互联网工程任务组)对BGP-4进行了扩展,形成MP-BGP(Multiprotocol Border Gateway Protocol,多协议边界网关协议),使BGP能够为多种路由应用提供路由信息。
组播的网络拓扑和单播拓扑有可能不同,需要通过MP-BGP扩展使得BGP能够将单播NLRI(Network Layer Reachability Information,网络层可达性信息)和组播NLRI分开运载,其中组播NLRI专用于执行RPF(Reverse Path Forwarding,逆向路径转发)功能。这使得在单播路由表和组播路由表中,对于相同的前缀有不同的路径选择,维护了一致的单播转发并使域间组播正常工作。
目前的MP-BGP标准是RFC 2858(Multiprotocol Extensions for BGP-4,BGP-4的多协议扩展)。
MP-BGP在组播上的应用简称为MBGP(Multicast BGP,组播BGP)。
· 本章主要介绍MP-BGP应用于组播的配置事项,即MBGP配置事项,有关BGP的详细内容以及配置事项,请参见“三层技术-IP路由配置指导”中的“BGP”。
· 有关RPF检查的详细内容以及配置事项,请参见“IP组播配置指导”中的“组播路由与转发”。
与MBGP相关的协议规范有:
· RFC 2858:Multiprotocol Extensions for BGP-4
· RFC 3392:Capabilities Advertisement with BGP-4
· draft-ietf-idmr-bgp-mcast-attr-00:BGP Attributes for Multicast Tree Construction
· RFC4271,A Border Gateway Protocol 4 (BGP-4)
· RFC5291,Outbound Route Filtering Capability for BGP-4
· RFC5292,Address-Prefix-Based Outbound Route Filter for BGP-4
表1-1 MBGP配置任务简介
配置任务 |
说明 |
详细配置 |
|
配置MBGP基本功能 |
必选 |
||
控制路由信息的发布与接收 |
配置MBGP引入其他路由 |
必选 |
|
配置MBGP引入缺省路由 |
可选 |
||
配置MBGP路由聚合 |
可选 |
||
配置向IPv4 MBGP对等体/IPv4 MBGP对等体组发送缺省路由 |
可选 |
||
配置MBGP路由信息的发布策略 |
可选 |
||
配置MBGP路由信息的接收策略 |
可选 |
||
配置MBGP路由衰减 |
可选 |
||
配置MBGP的路由属性 |
配置MBGP路由管理优先级 |
可选 |
|
配置本地优先级缺省值 |
可选 |
||
配置MED属性 |
可选 |
||
配置发布路由时将自身地址做为下一跳 |
可选 |
||
配置AS_PATH属性 |
可选 |
||
调整和优化MBGP网络 |
配置MBGP软复位 |
可选 |
|
配置BGP ORF能力 |
可选 |
||
配置MBGP负载分担路由条数 |
可选 |
||
配置大型MBGP网络 |
配置IPv4 MBGP对等体组 |
可选 |
|
配置MBGP团体 |
可选 |
||
配置MBGP路由反射器 |
可选 |
在配置MBGP之前,需完成以下任务:相邻节点的网络层互通。
表1-2 配置MBGP基本功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
- |
指定对等体/对等体组的AS号 |
peer { group-name | ip-address } as-number as-number |
必选 缺省情况下,对等体/对等体组无AS号 |
创建并进入MBGP地址族视图 |
ipv4-family multicast |
必选 |
激活在IPv4单播视图下创建的对等体/对等体组 |
必选 缺省情况下,对等体/对等体组在BGP IPv4组播地址族视图下处于非激活状态 |
|
为从IPv4 MBGP对等体/IPv4 MBGP对等体组接收的路由分配首选值 |
peer { group-name | ip-address } preferred-value value |
可选 缺省情况下,从IPv4 MBGP对等体/IPv4 MBGP对等体组接收的路由的首选值为0 |
在控制MBGP路由信息的发布与接收之前,需完成以下任务:配置MBGP基本功能。
MBGP可以向邻居AS发送本地AS内部网络的路由信息,但MBGP不是自己去发现AS内部的路由信息,而是引入IGP的路由信息到MBGP路由表中,并发布给MBGP对等体。在引入IGP路由时,还可以针对不同的路由协议来对路由信息进行过滤。
表1-3 配置MBGP引入其他路由
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
- |
进入MBGP地址族视图 |
ipv4-family multicast |
- |
引入其它协议路由信息并通告 |
import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ] |
二者必选其一 缺省情况下,MBGP不引入、不通告其它协议的路由,不发布任何网段路由 目前只有OSPF协议支持配置allow-direct参数 |
将网段路由发布到MBGP路由表中 |
network ip-address [ mask | mask-length ] [ short-cut | route-policy route-policy-name ] |
· 通过import-route命令引入到MBGP路由表中的路由的ORIGIN属性为Incomplete。
· 使用network命令发布到MBGP路由表中的网段路由的ORIGIN属性为IGP。
· 要发布的网段路由必须存在于本地的IP路由表中,使用路由策略可以更为灵活的控制所发布的路由。
MBGP不能通过import-route命令从其它协议引入缺省路由,如果要引入其它协议的缺省路由,必须要配置下列命令。
表1-4 配置MBGP引入其它协议的缺省路由
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
- |
进入MBGP地址族视图 |
ipv4-family multicast |
- |
引入其它协议路由信息并通告 |
import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ] * ] |
必选 缺省情况下,MBGP不引入其它协议的路由 目前只有OSPF协议支持配置allow-direct参数 |
允许将其它协议的缺省路由引入到MBGP路由表中 |
default-route imported |
必选 缺省情况下,MBGP不引入其它协议的缺省路由 |
在中型或大型MBGP网络中,在向组播对等体发布路由信息时,需要配置路由聚合,减小对等体路由表中的路由数量。MBGP支持以下两种聚合方式:
自动聚合:对MBGP引入的IGP子网路由进行聚合。配置自动聚合后,MBGP将不再发布从IGP引入的子网路由,而是发布聚合后的自然网段的路由。缺省路由和用network命令引入的路由不能进行自动聚合。
手动聚合:对MBGP本地路由进行聚合。手动聚合的优先级高于自动聚合的优先级。
表1-5 配置MBGP路由聚合
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入BGP视图 |
bgp as-number |
- |
|
进入MBGP地址族视图 |
ipv4-family multicast |
- |
|
配置MBGP路由聚合 |
配置对引入的子网路由进行自动聚合 |
summary automatic |
二者必选其一 缺省情况下,不进行路由聚合 可以根据需求选择路由聚合方式;当二者同时配置时,手动路由聚合生效 |
配置手动路由聚合 |
aggregate ip-address { mask | mask-length } [ as-set | attribute-policy route-policy-name | detail-suppressed | origin-policy route-policy-name | suppress-policy route-policy-name ] * |
表1-6 配置向IPv4 MBGP/IPv4 MBGP组发送缺省路由
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
- |
进入MBGP地址族视图 |
ipv4-family multicast |
- |
向IPv4 MBGP对等体/IPv4 MBGP对等体组发送缺省路由 |
peer { group-name | ip-address } default-route-advertise [ route-policy route-policy-name ] |
必选 缺省情况下,不向IPv4 MBGP对等体/IPv4 MBGP对等体组发送缺省路由 |
执行peer default-route-advertise命令后,不论本地路由表中是否存在缺省路由,都将向指定IPv4 MBGP对等体/IPv4 MBGP对等体组发布一条下一跳地址为本地地址的缺省路由。
用户可以根据需求选择过滤策略,同时配置几种过滤策略时,按照如下顺序执行:
· filter-policy export
· peer filter-policy export
· peer as-path-acl export
· peer ip-prefix export
· peer route-policy export
只有通过前面的过滤策略,才能继续执行后面的过滤策略;只有通过所有配置的过滤策略后,路由信息才能被发布。
表1-7 配置MBGP路由信息的发布策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
- |
进入MBGP地址族视图 |
ipv4-family multicast |
- |
配置对发布的路由信息进行过滤 |
filter-policy { acl-number | ip-prefix ip-prefix-name } export [ direct | isis process-id | ospf process-id | rip process-id | static ] |
至少选其一 缺省情况下,发布路由信息时不对路由进行过滤 |
对发布给IPv4 MBGP对等体/IPv4 MBGP对等体组的路由指定路由策略 |
peer { group-name | peer-address } route-policy route-policy-name export |
|
为IPv4 MBGP对等体/IPv4 MBGP对等体组设置基于ACL的过滤策略 |
peer { group-name | ip-address } filter-policy acl-number export |
|
为IPv4 MBGP对等体/IPv4 MBGP对等体组设置基于AS路径过滤列表的MBGP路由过滤策略 |
peer { group-name | ip-address } as-path-acl as-path-acl-number export |
|
为IPv4 MBGP对等体/IPv4 MBGP对等体组设置基于IP前缀列表的路由过滤策略 |
peer { group-name | ip-address } ip-prefix ip-prefix-name export |
通过配置MBGP路由信息的接收策略,可以对从IPv4 MBGP对等体/IPv4 MBGP对等体组接收的路由进行过滤,只有满足指定条件的路由才能被接收并加到MBGP路由表中。
用户可以根据需求选择过滤策略,同时配置几种过滤策略时,按照如下顺序执行:
· filter-policy import
· peer filter-policy import
· peer as-path-acl import
· peer ip-prefix import
· peer route-policy import
只有通过前面的过滤策略,才能继续执行后面的过滤策略;只有通过所有配置的过滤策略后,路由信息才能被接收。
表1-8 配置MBGP路由信息的接收策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
- |
进入MBGP地址族视图 |
ipv4-family multicast |
- |
对接收的路由信息进行过滤 |
filter-policy { acl-number | ip-prefix ip-prefix-name } import |
至少选其一 缺省情况下,不对接收的路由信息进行过滤 |
对来自IPv4 MBGP对等体/IPv4 MBGP对等体组的路由指定路由策略 |
peer { group-name | ip-address } route-policy policy-name import |
|
为IPv4 MBGP对等体/IPv4 MBGP对等体组设置基于ACL的过滤策略 |
peer { group-name | ip-address } filter-policy acl-number import |
|
为IPv4 MBGP对等体/IPv4 MBGP对等体组设置基于AS路径过滤列表的MBGP路由过滤策略 |
peer { group-name | ip-address } as-path-acl as-path-acl-number import |
|
为IPv4 MBGP对等体/IPv4 MBGP对等体组设置基于IP前缀列表的路由过滤策略 |
peer { group-name | ip-address } ip-prefix ip-prefix-name import |
|
配置允许从IPv4 MBGP对等体/IPv4 MBGP对等体组接收的最大路由数 |
peer { group-name | ip-address } route-limit limit [ percentage ] |
可选 缺省情况下,允许从IPv4 MBGP对等体/IPv4 MBGP对等体组接收的最大路由数无限制 |
对等体组的成员可以与所在的组使用不同的入方向路由策略,即接收路由时,各对等体可以选择自己的策略。
通过配置MBGP衰减,可以抑制不稳定的路由信息,不将这类路由加入到MBGP路由表中,也不将这类路由向其他IPv4 MBGP对等体发布。
表1-9 配置MBGP路由衰减
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
- |
进入MBGP地址族视图 |
ipv4-family multicast |
- |
配置MBGP路由衰减参数 |
dampening [ half-life-reachable half-life-unreachable reuse suppress ceiling | route-policy route-policy-name ] * |
必选 缺省情况下,没有配置MBGP路由衰减 |
MBGP具有很多路由属性,利用这些属性可以改变MBGP的选路策略。
在配置MBGP的路由属性之前,需完成以下任务:配置MBGP基本功能。
应用路由策略,可以为匹配过滤条件的特定路由配置优先级。对于那些没有匹配的路由,使用缺省优先级。
表1-10 配置MBGP路由管理优先级
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
- |
进入MBGP地址族视图 |
ipv4-family multicast |
- |
配置MBGP路由的管理优先级 |
preference { external-preference internal-preference local-preference | route-policy route-policy-name } |
可选 缺省情况下,MBGP EBGP路由的管理优先级为255,MBGP IBGP路由的管理优先级为255,本地产生的MBGP路由的管理优先级为130 |
表1-11 配置本地优先级缺省值
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
- |
进入MBGP地址族视图 |
ipv4-family multicast |
- |
配置本地优先级的缺省值 |
default local-preference value |
可选 缺省情况下,本地优先级的缺省值为100 |
在其它条件相同的情况下,MED较小的路由被优选作为自治系统的外部路由。
表1-12 配置MED属性
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入BGP视图 |
bgp as-number |
- |
|
进入MBGP地址族视图 |
ipv4-family multicast |
- |
|
配置MED属性 |
配置系统MED的缺省值 |
default med med-value |
可选 缺省情况下,MED的缺省值为0 |
配置允许比较来自不同AS邻居的路由路径的MED属性值 |
compare-different-as-med |
可选 缺省情况下,不允许比较来自不同AS邻居的路由路径的MED属性值 |
|
配置根据路由来自的AS进行分组对MED排序优选 |
bestroute compare-med |
可选 缺省情况下,不根据路由来自的AS进行分组对MED排序优选 |
|
配置允许比较联盟对等体的路由按MED值进行优选 |
bestroute med-confederation |
可选 缺省情况下,比较联盟对等体的路由时不考虑MED值 |
在某些组网环境中,本地路由器向MBGP IBGP对等体/MBGP IBGP对等体组发布路由时,为保证MBGP IBGP邻居能够找到正确的下一跳,可以配置peer next-hop-local命令将自身地址作为下一跳地址。如果配置了负载分担,则不论是否配置了peer next-hop-local命令,本地路由器向MBGP IBGP对等体/MBGP IBGP对等体组发布路由时都先将下一跳地址改变为自身地址。
在两个MBGP连接在同一网段的广播网络中,缺省情况下,向MBGP EBGP对等体/MBGP EBGP对等体组发布路由时,不将自身地址作为下一跳;只有配置了peer next-hop-local命令,才将自身地址作为下一跳。
表1-13 配置发布路由时将自身地址作为下一跳
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
- |
进入MBGP地址族视图 |
ipv4-family multicast |
- |
配置发布路由时将自身地址作为下一跳 |
peer { group-name | ip-address } next-hop-local |
可选 缺省情况下,向MBGP EBGP对等体/对等体组发布路由时,将自身地址作为下一跳;向MBGP IBGP对等体/对等体组发布路由时,不将自身地址作为下一跳 |
通常情况下,MBGP会检查对等体发来的路由的AS_PATH属性,如果其中已存在本地AS号,则MBGP会忽略此路由,以免形成路由环路。
表1-14 配置AS_PATH属性
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入BGP视图 |
bgp as-number |
- |
|
进入MBGP地址族视图 |
ipv4-family multicast |
- |
|
配置AS_PATH属性 |
配置允许本地AS号重复出现的次数 |
peer { group-name | ip-address } allow-as-loop [ number ] |
可选 缺省情况下,不允许本地AS重复 |
禁止路由器将AS_PATH当作选路算法中的一个因素 |
bestroute as-path-neglect |
可选 缺省情况下,路由器可以将AS_PATH当作选路算法中的一个因素 |
|
配置发送MBGP更新报文时AS_PATH属性中不携带私有AS号 |
peer { group-name | ip-address } public-as-only |
可选 缺省情况下,发送MBGP更新报文时,允许携带私有自治系统号 |
在调整和优化MBGP网络之前,需完成以下任务:配置MBGP基本功能。
MBGP的选路策略改变后,为了使新的策略生效,必须复位MBGP连接,但这样会造成短暂的MBGP连接中断。
通过使能Route-Refresh功能,当策略改变后,系统可以在不中断MBGP连接的情况下,自动对MBGP路由表进行动态刷新。
如果对等体不支持Route-Refresh功能,则可以将从对等体接收的所有路由更新保存在本地,当选路策略发生改变后,在不中断连接的情况下重新刷新MBGP路由表,并应用新的策略。
在对等体支持并使能Route-Refresh功能的情况下,如果MBGP的路由策略发生了变化,本地路由器会向MBGP对等体发布Router-Refresh消息,收到此消息的对等体会将其路由信息重新发给本地路由器。这样,在不中断MBGP连接的情况下,就可以对MBGP路由表进行动态更新,并应用新的选路策略。
表1-15 通过Route-Refresh实现MBGP软复位
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
- |
使能BGP路由刷新功能 |
peer { group-name | ip-address } capability-advertise route-refresh |
可选 缺省情况下,路由刷新功能处于使能状态 |
当对等体不支持Route-Refresh功能时,可通过配置peer keep-all-routes命令实现软复位功能。
用户也可以通过执行refresh bgp ipv4 multicast命令对保存在本地的所有路由重新过一遍策略。
表1-16 通过将所有路由更新保存在本地实现MBGP软复位
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
- |
禁止BGP路由刷新和多协议扩展功能 |
peer { group-name | ip-address } capability-advertise conventional |
可选 缺省情况下,BGP路由刷新和多协议扩展功能处于使能状态 |
进入MBGP地址族视图 |
ipv4-family multicast |
- |
保存所有来自IPv4 MBGP对等体/IPv4 MBGP对等体组的原始路由信息,即使这些路由没有通过已配置的入口策略 |
peer { group-name | ip-address } keep-all-routes |
必选 缺省情况下,不保存IPv4 MBGP对等体/IPv4 MBGP对等体组的原始路由信息 |
退回用户视图 |
return |
- |
手工对MBGP连接进行软复位 |
refresh bgp ipv4 multicast { all | ip-address | group group-name | external | internal } { export | import } |
可选 |
BGP ORF特性是将本地入口策略通过Route-refresh报文发送给邻居,当邻居需要向BGP对等体发送Update更新报文时,通过本地的路由策略后还需要进行ORF策略的过滤,只有通过ORF策略的路由信息才会发给BGP对等体,以达到减少BGP邻居间Update更新报文的交互,节省网络资源的目的。
使能BGP ORF能力后,本地和BGP对等体会通过Open报文协商ORF能力(即收发的报文里是否允许携带ORF信息,如果允许携带,是否可以携带非标准的ORF信息),当协商完毕并成功建立邻居关系后,可以通过特殊的Route-refresh报文交互ORF信息。
ORF能力协商成功需要两端的配置来保证,关于两端参数的选择请参见表1-18。
表1-17 配置BGP ORF能力
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
- |
使能BGP路由刷新功能 |
peer { group-name | ip-address } capability-advertise route-refresh |
可选 缺省情况下,BGP路由刷新功能处于使能状态 如果该功能当前处于未使能状态,则必须配置该命令 本命令的详细介绍请参见“三层技术-IP路由命令参考”中的“BGP” |
使能BGP ORF非标准功能 |
peer { group-name | ipv6-address } capability-advertise orf non-standard |
可选 缺省情况下,BGP ORF能力支持RFC5291和RFC5292的标准能力 如果该功能当前处于未使能状态,则必须配置该命令 本命令的详细介绍请参见”IP路由命令参考”中的“BGP” |
进入MBGP地址族视图 |
ipv4-family multicast |
- |
使能BGP ORF地址前缀能力协商功能 |
peer { group-name | ip-address } capability-advertise orf ip-prefix { both | receive | send } |
必选 缺省情况下,BGP 不支持ORF 地址前缀的能力协商 |
表1-18 both、send、receive参数选择以及配置效果描述表
本地选择参数 |
对端选择参数 |
协商成功后 |
send |
receive |
本端的ORF发送能力,对端的ORF接收能力 |
both |
||
receive |
send |
本端的ORF接收能力,对端的ORF发送能力 |
both |
||
both |
both |
双向的ORF发送和接收能力 |
表1-19 配置MBGP负载分担路由条数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
- |
进入MBGP地址族视图 |
ipv4-family multicast |
- |
配置进行MBGP负载分担的最大路由条数 |
balance number |
必选 没有进行MBGP负载分担 |
在配置大型MBGP网络之前,需完成以下任务:相邻节点的网络层互通。
在大型网络中,对等体的数目众多,配置和维护极为不便。使用对等体组可以降低管理的难度,还可以提高路由发布效率。可以在MBGP中使能IPv4单播对等体组,从而达到共同管理组内IPv4 MBGP对等体的目的。MBGP中不能单独创建对等体组。
表1-20 配置IPv4 MBGP对等体组
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动BGP,进入BGP视图 |
bgp as-number |
- |
创建BGP对等体组 |
group group-name [ external | internal ] |
必选 缺省情况下,没有创建BGP对等体组 |
将对等体加入已存在的对等体组 |
peer ip-address group group-name [ as-number as-number ] |
必选 缺省情况下,对等体不属于任何对等体组 |
进入MBGP地址族视图 |
ipv4-family multicast |
- |
使能IPv4单播对等体组 |
peer group-name enable |
必选 |
将IPv4 MBGP对等体加入对等体组中 |
peer ip-address group group-name |
必选 缺省情况下,IPv4 MBGP对等体不属于任何对等体组 |
· 配置IPv4 MBGP对等体组的前提是,在BGP-IPv4组播地址族下存在已经使能的IPv4单播对等体组。
· 将IPv4 MBGP对等体加入对等体组,需要先在BGP视图下将相应的对等体加入对等体组。
对等体组可以使一组对等体共享相同的策略,而利用团体可以使多个AS中的一组BGP路由器共享相同的策略。团体是一个路由属性,在BGP对等体之间传播,它并不受到AS范围的限制。
BGP路由器在将带有团体属性的路由发布给其它对等体之前,可以改变此路由原有的团体属性。除了使用公认的团体属性外,用户还可以使用团体属性列表自定义扩展团体属性,以便更为灵活地控制路由策略。
表1-21 配置MBGP团体
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入BGP视图 |
bgp as-number |
- |
|
进入MBGP地址族视图 |
ipv4-family multicast |
- |
|
配置向MBGP对等体/MBGP对等体组发布团体属性 |
配置发布团体属性 |
peer { group-name | ip-address } advertise-community |
必选 缺省情况下,不将团体属性和扩展团体属性发布给任何IPv4 MBGP对等体/IPv4 MBGP对等体组 |
配置发布扩展团体属性 |
peer { group-name | ip-address } advertise-ext-community |
||
对发布给IPv4 MBGP对等体/IPv4 MBGP对等体组的路由指定路由策略 |
peer { group-name | ip-address } route-policy route-policy-name export |
必选 缺省情况下,不指定IPv4 MBGP对等体/IPv4 MBGP对等体组的路由策略 |
· 配置MBGP团体时,必须使用路由策略来定义具体的团体属性,然后在发布路由信息时应用此路由策略。
· 关于路由策略的配置,请参见“三层技术-IP路由命令参考”中的“路由策略”。
在AS内部,为保证MBGP IBGP对等体之间的连通性,需要在MBGP IBGP对等体之间建立全连接关系。当MBGP IBGP对等体数目很多时,在MBGP IBGP对等体之间建立全连接的开销很大。使用路由反射器,可以解决这个问题。
表1-22 配置MBGP路由反射器
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP视图 |
bgp as-number |
- |
进入MBGP地址族视图 |
ipv4-family multicast |
- |
将本设备配置为路由反射器,并指定IPv4 MBGP对等体(组)作为路由反射器的客户 |
peer { group-name | peer-address } reflect-client |
必选 缺省情况下,没有配置路由反射器及其客户 |
配置允许客户到客户的路由反射 |
reflect between-clients |
可选 缺省情况下,允许客户到客户的路由反射 |
配置路由反射器的集群ID |
reflector cluster-id cluster-id |
可选 缺省情况下,每个路由反射器是使用自己的Router ID作为集群ID |
· 通常情况下,路由反射器的客户之间不要求是全连接的,路由缺省通过反射器从一个客户反射到其它客户;如果客户之间是全连接的,可以禁止客户间的反射,以便减少开销。
· 通常,一个集群里只有一个路由反射器。此时是由反射器的路由器ID来识别该集群的。设置多个路由反射器可提高网络的稳定性。如果一个集群中配有多个路由反射器,请使用相关命令为所有的路由反射器配置同样的集群ID,以避免路由循环。
在完成上述配置后,在任意视图下执行display命令可以显示配置后MBGP的运行情况,通过查看显示信息验证配置的效果。
表1-23 MBGP配置显示
操作 |
命令 |
显示IPv4 BGP组播路由表中的路由信息 |
display ip multicast routing-table [ verbose] [ | { begin | exclude | include } regular-expression ] |
显示指定目的地址的组播路由信息 |
display ip multicast routing-table ip-address [ mask-length | mask ] [ longer-match ] [ verbose ] [ | { begin | exclude | include } regular-expression ] |
显示IPv4 MBGP对等体组信息 |
display bgp multicast group [ group-name ] [ | { begin | exclude | include } regular-expression ] |
显示MBGP发布的路由信息 |
display bgp multicast network [ | { begin | exclude | include } regular-expression ] |
显示AS路径信息 |
display bgp multicast paths [ as-regular-expression | | { begin | exclude | include } regular-expression ] |
显示IPv4 MBGP对等体/IPv4 MBGP对等体组的信息 |
display bgp multicast peer [ [ ip-address ] verbose ] [ | { begin | exclude | include } regular-expression ] |
收到的邻居ORF信息中的前缀信息 |
display bgp multicast peer ip-address received ip-prefix [ | { begin | exclude | include } regular-expression ] |
显示MBGP路由信息 |
display bgp multicast routing-table [ ip-address [ { mask | mask-length } [ longer-prefixes ] ] ] [ | { begin | exclude | include } regular-expression ] |
显示匹配指定AS路径过滤列表的MBGP路由信息 |
display bgp multicast routing-table as-path-acl as-path-acl-number [ | { begin | exclude | include } regular-expression ] |
显示CIDR的MBGP路由信息 |
display bgp multicast routing-table cidr [ | { begin | exclude | include } regular-expression ] |
显示指定MBGP团体的MBGP路由信息 |
display bgp multicast routing-table community[ aa:nn&<1-13> ] [ no-advertise | no-export | no-export-subconfed ] * [ whole-match ] [ | { begin | exclude | include } regular-expression ] |
显示匹配指定MBGP团体列表的MBGP路由 |
display bgp multicast routing-table community-list { { basic-community-list-number | comm-list-name } [ whole-match ] | adv-community-list-number } [ | { begin | exclude | include } regular-expression ] |
显示MBGP衰减的MBGP路由信息 |
display bgp multicast routing-table dampened [ | { begin | exclude | include } regular-expression ] |
显示MBGP衰减的配置参数 |
display bgp multicast routing-table dampening parameter [ | { begin | exclude | include } regular-expression ] |
显示源AS不一致的路由 |
display bgp multicast routing-table different-origin-as [ | { begin | exclude | include } regular-expression ] |
显示MBGP路由振荡统计信息 |
display bgp multicast routing-table flap-info [ regular-expression as-regular-expression | [ as-path-acl as-path-acl-number | ip-address [ { mask | mask-length } [ longer-match ] ] ] [ | { begin | exclude | include } regular-expression ] ] |
显示向指定的IPv4 MBGP对等体发送或者从IPv4 MBGP对等体收到的路由信息 |
display bgp multicast routing-table peer ip-address { advertised-routes | received-routes } [ network-address [ mask | mask-length ] | statistic ] [ | { begin | exclude | include } regular-expression ] |
显示与指定的AS路径正则表达式相匹配的IPv4 MBGP路由信息 |
display bgp multicast routing-table regular-expression as-regular-expression |
显示MBGP的路由统计信息 |
display bgp multicast routing-table statistic [ | { begin | exclude | include } regular-expression ] |
当MBGP路由策略或协议发生变化后,如果需要通过复位MBGP连接使新的配置生效,请在用户视图下进行下列配置。
操作 |
命令 |
复位指定的MBGP连接 |
reset bgp ipv4 multicast { all | as-number | ip-address | group group-name | external | internal } |
在用户视图下,执行reset命令可以清除MBGP相关统计信息。
操作 |
命令 |
清除路由的衰减信息并释放被抑制的路由 |
reset bgp ipv4 multicast dampening [ ip-address [ mask | mask-length ] ] |
清除路由的振荡统计信息 |
reset bgp ipv4 multicast flap-info [ regexp as-path-regexp | as-path-acl as-path-acl-number | ip-address [ mask | mask-length ] ] |
· 网络中存在两个自治系统:PIM-SM 1属于AS 100,PIM-SM 2属于AS 200。各AS内部采用OSPF进行互联,AS之间采用MBGP交换组播路由信息;
· 组播源属于AS 100内的PIM-SM 1,接收者则属于AS 200内的PIM-SM 2;
· 将Switch A和Switch B各自的Loopback0接口分别配置为各自PIM-SM域的C-BSR和C-RP;
· 在Switch A与Switch B之间通过MBGP建立MSDP对等体关系。
图1-1 MBGP典型配置组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
Source |
- |
10.110.1.100/24 |
Switch C |
Vlan-int200 |
10.110.2.1/24 |
Switch A |
Vlan-int100 |
10.110.1.1/24 |
|
Vlan-int102 |
192.168.2.2/24 |
|
Vlan-int101 |
192.168.1.1/24 |
|
Vlan-int104 |
192.168.4.1/24 |
|
Loop0 |
1.1.1.1/32 |
|
Loop0 |
3.3.3.3/32 |
Switch B |
Vlan-int101 |
192.168.1.2/24 |
Switch D |
Vlan-int103 |
192.168.3.2/24 |
|
Vlan-int102 |
192.168.2.1/24 |
|
Vlan-int104 |
192.168.4.2/24 |
|
Vlan-int103 |
192.168.3.1/24 |
|
Loop0 |
4.4.4.4/32 |
|
Loop0 |
2.2.2.2/32 |
|
(1) 配置各交换机接口的IP地址和单播路由协议
· 请按照图1-1配置各接口的IP地址和子网掩码,具体配置过程略。
· 配置AS200内的各交换机之间采用OSPF路由协议交换路由信息(AS内各路由器创建的OSPF进程号为1),确保各AS内部在网络层互通,能学到彼此Loopback接口的路由,具体配置过程略。
(2) 使能IP组播路由,使能PIM-SM和IGMP,并配置BSR的服务边界
# 在Switch A上使能IP组播路由,在各接口上使能PIM-SM。
<SwitchA> system-view
[SwitchA] multicast routing-enable
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] pim sm
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 101
[SwitchA-Vlan-interface101] pim sm
[SwitchA-Vlan-interface101] quit
Switch B和Switch D上的配置与Switch A相似,配置过程略。
# 在Switch C上使能IP组播路由,在各接口上使能PIM-SM,并在主机侧接口Vlan-interface200上使能IGMP。
<SwitchC> system-view
[SwitchC] multicast routing-enable
[SwitchC] interface vlan-interface 102
[SwitchC-Vlan-interface102] pim sm
[SwitchC-Vlan-interface102] quit
[SwitchC] interface vlan-interface 104
[SwitchC-Vlan-interface104] pim sm
[SwitchC-Vlan-interface104] quit
[SwitchC] interface vlan-interface 200
[SwitchC-Vlan-interface200] pim sm
[SwitchC-Vlan-interface200] igmp enable
[SwitchC-Vlan-interface200] quit
# 在Switch A上配置BSR的服务边界。
[SwitchA] interface vlan-interface 101
[SwitchA-Vlan-interface101] pim bsr-boundary
[SwitchA-Vlan-interface101] quit
# 在Switch B上配置BSR的服务边界。
[SwitchB] interface vlan-interface 101
[SwitchB-Vlan-interface101] pim bsr-boundary
[SwitchB-Vlan-interface101] quit
(3) 配置Loopback0接口和C-BSR、C-RP的位置
# 在Switch A上配置Loopback0接口和C-BSR、C-RP的位置。
[SwitchA] interface loopback 0
[SwitchA-LoopBack0] ip address 1.1.1.1 32
[SwitchA-LoopBack0] pim sm
[SwitchA-LoopBack0] quit
[SwitchA] pim
[SwitchA-pim] c-bsr loopback 0
[SwitchA-pim] c-rp loopback 0
[SwitchA-pim] quit
# 在Switch B上配置Loopback0接口和C-BSR、C-RP的位置。
[SwitchB] interface loopback 0
[SwitchB-LoopBack0] ip address 2.2.2.2 32
[SwitchB-LoopBack0] pim sm
[SwitchB-LoopBack0] quit
[SwitchB] pim
[SwitchB-pim] c-bsr loopback 0
[SwitchB-pim] c-rp loopback 0
[SwitchB-pim] quit
(4) 配置BGP协议,配置MBGP对等体,并互相引入路由
# 在Switch A上配置EBGP邻接关系、配置MBGP对等体。
[SwitchA] bgp 100
[SwitchA-bgp] router-id 1.1.1.1
[SwitchA-bgp] peer 192.168.1.2 as-number 200
[SwitchA-bgp] import-route direct
[SwitchA-bgp] ipv4-family multicast
[SwitchA-bgp-af-mul] peer 192.168.1.2 enable
[SwitchA-bgp-af-mul] import-route direct
[SwitchA-bgp-af-mul] quit
[SwitchA-bgp] quit
# 在Switch B上配置EBGP邻接关系、配置MBGP对等体,并引入OSPF路由。
[SwitchB] bgp 200
[SwitchB-bgp] router-id 2.2.2.2
[SwitchB-bgp] peer 192.168.1.1 as-number 100
[SwitchB-bgp] import-route ospf 1
[SwitchB-bgp] ipv4-family multicast
[SwitchB-bgp-af-mul] peer 192.168.1.1 enable
[SwitchB-bgp-af-mul] import-route ospf 1
[SwitchB-bgp-af-mul] quit
[SwitchB-bgp] quit
(5) 配置MSDP对等体
# 在Switch A上配置MSDP对等体。
[SwitchA] msdp
[SwitchA-msdp] peer 192.168.1.2 connect-interface vlan-interface 101
[SwitchA-msdp] quit
# 在Switch B上配置MSDP对等体。
[SwitchB] msdp
[SwitchB-msdp] peer 192.168.1.1 connect-interface vlan-interface 101
[SwitchB-msdp] quit
(6) 检验配置效果
通过使用display bgp multicast peer命令可以查看交换机之间MBGP对等体的关系。例如:
# 查看Switch B上MBGP对等体关系的信息。
[SwitchB] display bgp multicast peer
BGP local router ID : 2.2.2.2
Local AS number : 200
Total number of peers : 3 Peers in established state : 3
Peer AS MsgRcvd MsgSent OutQ PrefRcv Up/Down State
192.168.1.1 100 56 56 0 0 00:40:54 Established
通过使用display msdp brief命令可以查看交换机之间MSDP对等体建立情况。例如:
# 查看Switch B上MSDP对等体建立情况的简要信息。
[SwitchB] display msdp brief
MSDP Peer Brief Information of VPN-Instance: public net
Configured Up Listen Connect Shutdown Down
1 1 0 0 0 0
Peer's Address State Up/Down time AS SA Count Reset Count
192.168.1.1 Up 00:07:17 100 1 0
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!