简介
本文档介绍有关边界网关协议(BGP)的常见问题(FAQ)。
问:如何配置BGP?
A.有关如何配置BGP和BGP功能的信息,请参阅以下文档:
问: 如何使用环回地址配置 BGP?
A.使用环回接口可确保邻居保持正常运行且不受故障硬件影响。
默认情况下,如果 BGP 建立了 BGP 对等会话,它会使用在直接连接到 BGP 对等体的物理接口上配置的 IP 地址作为源地址。发出 neighbor <ip 地址> update-source <接口> 命令以更改此行为,并配置 BGP 以告之路由器使用环回地址作为源地址建立对等会话。
有关详细信息,请参阅使用或不使用环回地址配置 iBGP 和 eBGP 的示例。
问:将部分或全部属性应用于BGP中的一个邻居时,属性的优先顺序是什么?
A.首选项的顺序取决于属性应用于入站更新还是出站更新。
对于入站更新,优先级顺序是:
-
route-map
-
filter-list
-
prefix-list、distribute-list
对于出站更新,优先级顺序是:
-
filter-list
-
route-map | unsuppress-map
-
advertise-map (conditional-advertisement)
-
prefix-list|distribute-list
-
ORF prefix-list(邻居向我们发送的前缀列表)
注意:属性prefix-list和distribute-list是互斥的,并且只能将一个命令(neighbor prefix-list或neighbor distribute-list)应用于特定邻居的每个入站或出站方向。
show ip bgp 命令输出中下一跳为0.0.0.0 有什么含义?
A. BGP表中下一跳地址为0.0.0.0的网络表示该网络是通过将内部网关协议(IGP)重分配到BGP而在本地创建的,或是通过BGP配置中的network或aggregate命令创建的。
问:BGP社区属性的已知社区有哪些?
A.社区属性是一种可传递的可选属性,用于分组特定社区中的目标并应用特定策略(例如接受、首选或重新分配)。下表显示了众所周知的BGP社区。
社区 |
描述 |
Local-AS |
在联盟情况下使用,不将数据包发送到本地自治系统(AS)之外。 |
no-export |
不会向外部 BGP (eBGP) 对等体发出通知。将此路由保留在 AS 内部。 |
no-advertise |
不会将此路由通知给任何内部或外部对等体。 |
none |
当您想要清除与某路由相关的社区时,不要应用社区属性。 |
互联网 |
将此路由通知给 Internet 社区及任何属于此社区的路由器。 |
有关社区配置的详细信息,请参阅配置BGP的配置BGP社区过滤部分。
问:可以使用什么格式配置BGP社区属性?
答:在Cisco IOS®软件版本12.0及更高版本中,您可以使用三种不同的格式(称为十进制、十六进制和AA:NN)配置社区。默认情况下,Cisco IOS使用较旧的十进制格式。要在AA:NN中配置和显示(其中第一部分是AS编号,第二部分是2字节编号),请发出ip bgp-community new-format 全局配置命令。
注意:BGP社区属性是可以分配给特定前缀并通告给其他邻居的数字值(任意)。虽然社区属性可以用十进制、十六进制或AA:NN表示,但它仍然是32位数。例如,以下三个配置命令指定了社区 30:20(AS 30,20 号):
-set community 30:20
- set community 0x1E0014
-set community 1966100
不管您使用哪个命令,在路由器配置文件和 BGP 表中显示的社区都是 30:20。
有关详细信息,请参阅BGP案例分析的“社区属性”部分,以及使用BGP社区值配置和控制上游供应商网络。
问:在启用或禁用自动汇总的情况下,BGP的行为如何不同?
答:自动汇总行为在各个Cisco IOS软件版本中均已发生变化。最初,默认为启用自动汇总。但是,使用思科漏洞ID CSCdu81680,此行为已更改。在最新的 Cisco IOS 中,默认为禁用自动汇总。启用自动汇总后,它会在 BGP 网络的有类边界范围内汇总在本地创建的 BGP 网络。自动汇总仅在旧版本中默认启用。禁用自动汇总后,在本地引入到 BGP 表中的路由不会在其有类边界范围内进行汇总。当路由表中存在子网并且满足这三个条件时,本地路由表中该有类网络的任何子网都可以提示BGP将有类网络安装到BGP表中。
-
路由表中网络的有类网络语句
-
该网络语句的有类掩码
-
已启用自动汇总
例如,如果路由表中的子网为10.75.75.0(掩码255.255.255.0),您在router bgp命令下配置网络10.0.0.0,并且启用自动汇总,则BGP会在BGP表中引入有类网络10.0.0.0(掩码255.0.0.0)。
注意:只有思科注册用户才能访问思科内部工具和信息。
如果上述三个条件都不符合,除非在本地路由表中有完全匹配项,否则 BGP 不会在 BGP 表中安装任何条目。
注意:如果执行BGP的AS不具备完全有类网络,Cisco建议您在router bgp下发出no auto-summary命令,以禁用自动汇总。
问:如何验证BGP路由器是否通告其BGP网络并将它们传播到全局BGP网格?
A.使用以下命令检查IP地址块是否已通告给直接连接的ISP:
注意:show ip bgp neighbors <地址> advertise-routes命令不考虑您应用的任何出站策略。在将来的Cisco IOS软件版本中,可以更改命令输出以反映出站策略。如果有两个可选路径指向目标,BGP 总是使用最佳路由进行通知。
要验证IP块如何通过直接连接的ISP传播到全局BGP网格,请登录Internet上的路由服务 器,并在路由服务器中查找前缀的BGP条目。
问:何时以及如何重置BGP会话?
A.在更改BGP会话的入站/出站策略时清除该会话。发出 clear ip bgp x.x.x.x soft out 命令可清除 BGP 会话,以使出站策略更改生效。发出 clear ip bgp x.x.x.x 命令可清除 BGP 会话,以使入站策略更改生效。如果邻居具有软重新配置功能,您可以发出 clear ip bgp x.x.x.x soft in 命令。如果设置优化的边缘路由(OER),可以自动清除BGP会话。OER 自动清除入站方向和出站方向的 BGP 会话。有关 OER 的详细信息,请参阅设置 OER 网络组件。
注意:在Cisco IOS软件版本12及更高版本中,引入了新的BGP软重置增强功能。
问:PIX/ASA上是否需要任何特殊配置来允许BGP会话通过它?
答:是,请参阅ASA/PIX:通过ASA的BGP配置示例了解完整的配置详细信息。
问:什么是自治系统(AS)编号?如何获取一个?
A. AS编号是全局唯一编号,用于标识AS,并且使AS能够交换相邻AS之间的外部路由信息。AS 是遵守一个明确定义的路由策略的相连 IP 网络组。
可用 AS 编号是有限的。因此,判断哪些站点需要唯一的 AS 编号而哪些站点不需要唯一的 AS 编号至关重要。不要求唯一AS编号的站点使用为专用保留的一个或多个AS编号,其范围为64512至65535。请访问 AS 编号注册服务 网站获取 AS 编号。
问:什么是BGP路径选择标准?
A. BGP路径选择标准记录在BGP最佳路径选择算法中。
always-compare-med和deterministic-med之间有何区别?
A.这些命令之间区别的完整说明记录在bgp deterministic-med命令与bgp always-compare-med命令有何区别中。
问:内部BGP (iBGP)会话是否会修改下一跳?
A. iBGP会话保留从eBGP对等体中获知的下一跳属性。这就是存在指向下一跳的内部路由重要性的原因。否则,将无法到达 BGP 路由。为了确保可以到达 eBGP 下一跳,请将下一跳所属的网络包含到 IGP 中,或者发出 next-hop-self neighbor 命令,以强制路由器通告自己(而不是外部对等体)作为下一跳。有关更多详细说明,请参阅 BGP 案例分析的 BGP 下一跳属性部分。
问:联盟之间的外部BGP (eBGP)会话是否会修改下一跳?
答:不,联盟子AS之间的eBGP会话不会修改下一跳属性。所有 iBGP 规则仍然适用,从而使整个 AS 作为一个实体运行。度量值和本地首选项值在联盟 eBGP 对等体中仍保持不变。有关联盟的更多信息,请参阅 BGP 案例分析的 BGP 联盟部分。
问:在外部BGP (eBGP)会话中,哪个IP地址会作为下一跳发送?
A.在eBGP对等中,下一跳是通告路由的邻居的IP地址。然而,当在多路访问介质(例如,以太网或帧中继)上宣布路由时,下一跳通常是连接到该介质的路由器接口的 IP 地址,也是路由的源发地。有关更多详细说明,请参阅 BGP 案例分析的 BGP 下一跳属性。
问:路由反射器是否更改了反射前缀的下一跳属性?
答:默认情况下,前缀由路由反射器反射时,不会更改下一跳属性。然而,您可以发出 neighbor next-hop-self 命令,以更改从 eBGP 对等体反射到任何路由反射器客户端的前缀的下一跳的属性。
问:如何仅在失去与主ISP的连接时才能有条件地向一个ISP通告前缀?
A.默认情况下,BGP会向外部对等体通告其BGP表中的路由。BGP条件通告功能提供对路由通告的其他控制,这些控制取决于BGP表中是否存在其他前缀。通常,会传播路由,而不管是否存在不同的路径。BGP 条件宣布功能使用 non-exist-map 和 advertise-map configuration 命令通过路由前缀跟踪路由。如果 non-exist-map 命令中不存在路由前缀,则宣布 advertise-map 命令指定的路由。有关详细信息,请参阅配置BGP的配置BGP条件通告部分。
问:从我的ISP接收完整的BGP路由表时,我的路由器中有多少内存?
A.存储BGP路由所需的内存量取决于许多因素,例如路由器、可用的备用路径数、路由惩罚、团体、配置的最大路径数、BGP属性和VPN配置。不了解这些参数,计算存储一定数量的 BGP 路由所需的内存量是很困难的。Cisco 通常建议路由器的 RAM 最小为 512 MB,以存储一个 BGP 对等体的完整全局 BGP 路由表。然而,了解减少内存消耗的方法以及在无需接收完整的 Internet 路由表情况下实现最佳路由的方法至关重要。有关更多详细信息,请参阅配置BGP路由器以获得最佳性能和降低的内存消耗。
问:配置BGP对等体组有什么好处?
A. BGP对等体组的主要优点是它减少了生成更新所用的系统资源(CPU和内存)数量。还简化了 BGP 配置,因为它只允许路由表被检查一次,并将更新复制到所有其他同步对等体组成员中。这样可以显著降低负载,具体取决于对等组成员的数量、表中前缀的数量、通告的前缀的数量。Cisco 建议您将对等体与相同的出站宣布策略组合到一起。有关更多详细信息,请参阅 BGP 对等组。
问:什么是同步?它如何影响安装在IP路由表中的BGP路由?
A.如果AS将流量从另一个AS传递到第三个AS,则BGP无法在您的AS中的所有路由器通过IGP获知该路由之前通告路由。BGP 在 IGP 在 AS 内部传播路由之前将一直处于等待状态,之后将该路由通告给外部对等体。如果已启用同步的 BGP 路由器无法验证其 IGP 中存在哪些路由,则该路由器无法将 iBGP 学到的路由安装到其路由表中。在 router bgp 下发出 no synchronization 命令可禁用同步。这可以防止BGP在IGP中对iBGP路由进行身份验证。有关更多详细说明,请参阅BGP案例分析:同步。
问:如何在通告给外部BGP (eBGP)邻居的前缀上设置多出口标识符(MED)值,以便与内部网关协议(IGP)下一跳度量匹配?
A. set metric-type internal route-map配置命令使BGP通告与IGP度量值(与路由的下一跳相关联)相对应的MED。此命令在 Cisco IOS 软件 10.3 版及更高版本中可用。
问:什么是默认BGP ConnectRetry计时器,是否可以调整BGP ConnectRetry计时器?
A.默认BGP ConnectRetry计时器为120秒。仅在此时间后,BGP 进程才进行检查,以判断是否建立被动的 TCP 会话。如果没有建立被动TCP会话,BGP进程就会启动新的激活TCP,尝试连接到远程BGP扬声器。在 ConnectRetry 计时器此空闲的 120 秒时间内,远程 BGP 对等体可以与其建立 BGP 会话。现在,不能改变 Cisco IOS ConnectRetry 计时器的默认值 120 秒。
问:show ip bgp命令输出中的r RIB-Failure有什么含义?
R1> show ip bgp
BGP table version is 5, local router ID is 10.200.200.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
r> 10.6.6.0/24 10.10.13.3 0 130 0 30 i
*> 10.7.7.0/24 10.10.13.3 0 125 0 30 i
当BGP尝试将bestpath前缀安装到路由信息库(RIB)(例如,IP路由表)中时,RIB可能会因下列任一原因而拒绝BGP路由:
在这些情况下,由于上述原因被拒绝的前缀会通过show ip bgp命令输出中的r RIB Failure 进行标识,并通告给对等体。此功能最先在 Cisco IOS 软件版本 12.2(08.05)T 中可用。
问:如何将获取的内部BGP (iBGP)默认路由(0.0.0.0/0)路由重分配到EIGRP/OSPF/IS-IS?
答:将iBGP路由重分配到内部网关协议(IGP)(增强型内部网关路由协议/开放最短路径优先/中间系统到中间系统(EIGRP/OSPF/IS-IS))中可能导致自治系统内的路由环路,不推荐这样做。默认情况下,禁用将 iBGP 重分配到 IGP。发出 bgp redistribute-internal 命令可启用将 iBGP 路由重分配到 IGP。
注意:必须采取预防措施,将具有路由映射的特定路由重分配到IGP中。
以下输出显示了将iBGP获知的默认路由0.0.0.0/0重分配到EIGRP中的示例配置。配置 OSPF/IS-IS 的过程与下面的输出类似。
router bgp 65345
[...]
bgp redistribute-internal
!
router eigrp 10
[...]
redistribute bgp 65345 route-map check-def
!
ip prefix-list def-route seq 5 permit 0.0.0.0/0
!
route-map check-def permit 10
match ip address prefix-list def-route
注意:在配置bgp redistribute internal命令之后,请确保输入clear ip bgp命令以清除本地路由表中的所有路由。
问:如何过滤通告给BGP邻居的所有IP路由(默认路由0.0.0.0/0除外)?
A.如果对同一bgp邻居同时使用入站filter-list、distribute-list、prefix-list和route-map,则可以过滤特定路由。下面是执行顺序:
-
Filter-list
-
Router-map
-
Distribute-list(或)prefix-list
问: 如何排除 Protocol not in this image 错误?
A.错误消息protocol not in this image的原因是路由器上运行的Cisco IOS版本不支持BGP功能。要解决此错误,请将Cisco IOS升级到支持BGP的更高版本Cisco IOS。
Q. BGP: timer-wheel running slow by 1 ticks出现在调试输出中。
A.仅当在路由器上启用了BGP调试时,才会显示此消息。它仅仅是信息性消息,而不是错误信息。此信息性消息与 BGP 内部计时器相关。undebug all命令可忽略此消息。
问:是否可以跟踪接口并更改路由可用性?
答:可以,通过增强对象跟踪功能可以跟踪接口的状态变化和路由可用性。
问: IP RIB更新如何分配内存?
A. IP RIB更新分配前缀,并且以区块的形式保存属性。无法释放整个块区,除非先释放块区中的各个元素。如果知道了更多的路由,则使用区块中的那些自由元素。
问:用于查看IPv6 BGP邻居的命令是什么?
A. show bgp ipv6 unicast summary命令用于查看IPv6 BGP邻居
问:关于删除静态路由“ip route 10.150.0.0 255.255.0.0 Null0”,BGP中的自动汇总是否会导致通告10.150.0.0的所有子网?
A.例如:
network 10.150.0.0 mask 255.255.0.0
no auto-summary
ip route 10.150.0.0 255.255.0.0 Null0
路由器会停止并通告该路由,但仍会发送其他最具体的路由。
问:为什么使用debug bfd events和debug bfd packets命令时没有统计结果?
答:这是正常行为,因为bfd hello消息在几秒内发送,如果您运行该消息的调试,路由器将无法处理。因此,只有在发生抖动时,才会在调试中看到bfd消息。以下是debug bfd命令的用途:
debug bfd events
此命令启用当前配置的所有BFD会话的BFD事件记录。它捕获会话状态更改、本地CLI或远程端触发的会话配置更改等BFD事件。
debug bfd packets
此命令启用当前配置的所有BFD会话的BFD数据包记录。它只捕获在发生会话状态更改等bfd配置更改时交换的BFD hello数据包。此命令不会捕获正常的BFD数据包。
问:在配置了新的BGP邻居最大前缀后,是否必须重新启动路由器?
A.如果新的最大前缀数大于当前最大数,则无需软/硬清除BGP会话,并且不需要重新加载。
问:有没有命令可以检查通告的路由以及AS路径的前缀?
A.当设置AS路径预置时,要预置的AS编号将附加到AS路径中,并且当更新离开AS到eBGP对等体时,本地AS编号将预置到完整的AS路径中。
但是,您可以轻松检查是否使用以下选项之一完成了AS路径预置:
-
检查对等设备上的BGP AS PATH属性。这是检查路由器是否执行AS PATH预置的最简单方法之一。
-
对BGP更新运行调试(出站方向),然后检查预置。调试BGP更新时,请使用访问列表。
Example:
Router#debug ip bgp updates 1 out
BGP: TX IPv4 Unicast Mem global 3 1 10.1.1.2 Refresh has to wait for net
prepend.
BGP: TX IPv4 Unicast Top global Start net prepend.
BGP: TX IPv4 Unicast Top global Done net prepend (1 attrs).
The router has prepended the prefix.
BGP: TX IPv4 Unicast Grp global 3 Starting refresh after prepend completion.
-
另一种方法是在送出接口捕获数据包,并查看在线路上发送的更新。
问: neighbor soft-reconfiguration inbound命令如何工作?
A. neighbor soft-reconfiguration inbound命令会使路由器存储所有收到的(入站)路由策略更新,而不进行修改,例如,在内存中存储每个对等体的重复表。
注意:此方法会占用大量内存,不建议使用,除非绝对必要。请参阅BGP软重置增强功能,以便在不使用其他内存的情况下实现软重置。
问: %BGP-3-NOTIFICATION: sent to neighbor *A.B.C.D passive 6/0 (stop) 0 bytes错误消息表示什么?
A.当已建立另一个BGP会话时,会出现此消息。收到停止消息的路由器已尝试向另一个IP上的同一对等体发送BGP OPEN消息。此消息是修饰性的,由错误配置引起。
问:%IPRT-3-ROUTEINSERTERROR: Error inserting routing entry错误消息意味着什么?
A.此错误消息表示内存不足,无法容纳从邻居获知的BGP前缀。
问:采用Cisco IOS XR的GSR是否支持VPLS-BGP自动发现功能作为路由反射器?
答:是,具有思科IOS XR的GSR支持VPLS-BGP自动发现的路由反射器功能。
问:如何调试思科IOS XR环境中特定vrf的路由?
A.使用debug bgp keepalive [vrf [vrf-name | all]] vpnv4 unicast命令,以调试思科IOS XR环境中给定vrf的路由。以下是输出示例:
*Mar 1 00:16:06.735: BGP: ses TWO 10.2.2.3 (0x69A1C8F4:1) Keep alive timerfired. *Mar 1 00:16:06.735: BGP: 10.2.2.3 KEEPALIVE requested (bgp_keepalive_timer_expired) *Mar 1 00:16:06.743: BGP: ses TWO 10.2.2.3 (0x69A1C8F4:1) service keepalive IO request. *Mar 1 00:16:06.747: BGP: 10.2.2.3 KEEPALIVE write request serviced in BGP_IO *Mar 1 00:16:07.759: BGP: ses ONE 10.1.1.1 (0x6900D344:1) Keep alive timer fired. *Mar 1 00:16:07.759: BGP: 10.1.1.1 KEEPALIVE requested (bgp_keepalive_timer_expired) *Mar 1 00:16:07.759: BGP: ses ONE 10.1.1.1 (0x6900D344:1) service keepalive IO request. *Mar 1 00:16:07.763: BGP: 10.1.1.1 KEEPALIVE write request serviced in BGP_IO
问:通过redistribute命令或network命令在BGP中注入路由有何区别?
A.当您使用IGP重分配到BGP以通告路由时,不需要为所有子网单独指定network语句。此外,当通过重分配从任何其他路由协议获取到BGP表中的路由时,Origin属性为Incomplete (?),并且当指定network命令时,该属性为Internal/IGP (i)。在路由选择过程中,首选最低源代码(IGP<EGP<Incomplete)。
问:如何验证第4层转发摘要信息?
A.要查看有关第4层转发的摘要信息,请使用show mls cef summary命令。例如:
Router#show mls cef summary Total routes: 532462 IPv4 unicast routes: 502841 IPv4 Multicast routes: 6 MPLS routes: 19794 IPv6 unicast routes: 9821 IPv6 multicast routes: 3 EoM routes: 0 Router#show mls cef maximum-routes FIB TCAM maximum routes : ======================= Current :- ------- IPv4 + MPLS - 512k (default) IPv6 + IP Multicast - 256k
相关信息