文章目录
- 一、选择题
- 二、理论题
- 三、实操题
【网络云SRE运维开发】2025第3周-每日【2025/01/16】小测-【第15章 bgp路由协议】理论和实操解析
一、选择题
- 答案:B
- 解题思路:BGP(Border Gateway Protocol)是边界网关协议,主要运行在不同自治系统(AS)之间,用于在不同自治系统之间交换路由信息,从而实现跨自治系统的网络通信。所以选B。
- 答案:A
- 解题思路:在H3C设备上,进入BGP视图的命令是[H3C]bgp ,这是H3C设备上的标准配置命令,用于开始配置BGP进程并指定自治系统号。故答案为A。
- 答案:A
- 解题思路:BGP使用的端口号是179。这个端口号是专门为BGP协议分配的,用于建立TCP连接,在BGP路由器之间进行通信。因此选A。
- 答案:A
- 解题思路:AS-Path是BGP的公认必遵属性,其主要作用是防止路由环路。当一条路由在不同自治系统间传播时,AS-Path会记录该路由经过的自治系统序列,路由器收到路由时可以检查自己的AS是否已经在AS-Path中,从而避免环路。所以选A。
- 答案:C
- 解题思路:在BGP邻居状态机中,Active状态表示BGP正在主动发起TCP连接。当处于Idle状态时收到启动事件后,会进入Connect状态尝试建立连接,如果连接失败会进入Active状态并积极尝试建立连接。因此选C。
- 答案:B
- 解题思路:当BGP路由器收到一条路由,其下一跳不可达时,该路由器通常会拒绝该路由,因为下一跳不可达意味着该路由无法正常使用,将其放入路由表会导致路由黑洞或其他问题。所以选B。
- 答案:C
- 解题思路:BGP团体属性(Community)是可选传递属性,它主要用于对路由进行分组,方便管理员实施统一的路由策略,比如对一组路由设置相同的策略。它可以在EBGP和IBGP邻居间传递,也可跨自治系统传递,所以选C。
- 答案:C
- 解题思路:在BGP路由选择中,优先考虑的因素通常是最高的Local-Preference。Local-Preference用于在自治系统内部选择到达外部网络的最佳出口,该属性仅在自治系统内部使用,不会被传递到其他自治系统。因此选C。
- 答案:A
- 解题思路:BGP的多出口鉴别属性(MED)主要影响入站流量,即影响从外部自治系统进入本自治系统的流量。它可以帮助自治系统向邻居自治系统表明进入本自治系统的首选路径,因此选A。
- 答案:C
- 解题思路:BGP反射器(Route Reflector)的主要作用是打破IBGP水平分割规则。在IBGP中,为了防止路由环路,有水平分割规则,但这会导致全互联的邻居关系,使用反射器可以减少邻居连接数量,打破该规则,使路由信息能够在IBGP邻居中传递。所以选C。
二、理论题
- 答案:
- 路由表大小:
- IGP(内部网关协议)主要用于自治系统内部,如OSPF、RIP等,其路由表大小相对较小,因为只需要关注自治系统内的网络拓扑和路由信息。而BGP路由表规模较大,因为它要维护来自不同自治系统的路由信息,包含全球范围的路由信息。
- 路由算法:
- IGP使用链路状态算法(如OSPF)或距离矢量算法(如RIP),主要目的是计算自治系统内的最短路径,关注的是自治系统内的链路成本和跳数等因素。BGP使用路径矢量算法,考虑的是自治系统路径,依据路径属性(如AS-Path、Local-Preference等)进行路由选择。
- 应用场景:
- IGP应用于自治系统内部,实现自治系统内的路由选择和数据包转发,确保内部网络的连通性和高效转发。BGP应用于不同自治系统之间,实现跨自治系统的路由交换,侧重于考虑不同自治系统间的策略、可达性和网络管理等方面。
- 解题思路:从三个方面来阐述BGP与IGP在路由信息交换方面的不同。对于路由表大小,从各自协议所覆盖的范围来分析;对于路由算法,说明IGP和BGP采用不同算法的原因和目标;对于应用场景,从网络层次(自治系统内和自治系统间)的角度解释它们的不同应用。
- 路由表大小:
- 答案:
- 路由选择过程:
- BGP路由选择是一个多步骤的过程,首先考虑Local-Preference,选择最高值;若相同,比较本地发起路由;再比较AS-Path长度,选择最短路径;接着比较Origin属性,优先顺序为IGP > EGP > Incomplete;然后比较MED(对于来自同一相邻自治系统的路由);再比较EBGP路由优先于IBGP路由;最后考虑到下一跳的IGP度量。
- 主要属性及其影响:
- Local-Preference:在自治系统内部选择出口,值越高越优先,不传递到其他自治系统。
- AS-Path:防止路由环路,优先选择最短的AS-Path,记录路由经过的自治系统序列。
- Origin:表明路由起源,优先顺序为IGP > EGP > Incomplete。
- MED:影响入站流量,值越小越优先,通常比较来自同一相邻自治系统的路由。
- 解题思路:首先详细描述BGP的路由选择过程的步骤,再分别解释每个主要属性的作用和对路由选择的影响,结合不同的网络场景,如自治系统内部出口选择、路由环路避免、路由起源判断和入站流量引导等方面进行说明。
- 路由选择过程:
- 答案:
- Idle状态:BGP进程的初始状态,在此状态下不接受或发起连接,等待启动事件(如配置启动BGP),一旦接收到启动事件,将进入Connect状态并初始化资源,启动连接重试定时器。
- Connect状态:尝试与对等体建立TCP连接,若成功建立TCP连接,发送OPEN消息并进入OpenSent状态;若失败进入Active状态并启动连接重试定时器;若连接重试定时器超时,重新尝试建立TCP连接。
- Active状态:积极尝试建立TCP连接,若成功建立TCP连接,发送OPEN消息并进入OpenSent状态;若连接重试定时器超时,继续尝试建立TCP连接;若收到停止事件则回到Idle状态。
- OpenSent状态:已发送OPEN消息,等待对等体的OPEN消息,若收到对等体的OPEN消息且参数协商成功,发送Keepalive消息进入OpenConfirm状态;若参数协商失败,发送NOTIFICATION消息关闭连接,回到Idle状态;若等待超时关闭连接回到Idle状态。
- OpenConfirm状态:等待对等体的Keepalive或NOTIFICATION消息,若收到Keepalive消息,进入Established状态;若收到NOTIFICATION消息关闭连接回到Idle状态;若超时关闭连接回到Idle状态。
- Established状态:邻居关系建立成功,可交换UPDATE、Keepalive和NOTIFICATION消息,通过UPDATE消息交换路由信息。
- 解题思路:按照BGP邻居建立的顺序,依次描述每个状态的特点和转换条件,从初始的Idle状态开始,到最终的Established状态,详细说明每个状态在什么情况下会转换到下一个状态,以及发送的消息和处理的动作。
- 答案:
- 路由聚合的概念和目的:
- 路由聚合是将多个具有相同前缀的具体路由合并为一个更通用的汇总路由,目的是减少BGP路由表的大小,提高路由系统的性能和稳定性,降低网络中路由更新消息的数量,避免路由振荡。
- 在H3C设备上的实现:
- 手动路由聚合:使用
aggregate-address <ip-address> <mask> [as-set] [attribute-policy <policy-name>]
命令。例如,将10.0.1.0/24、10.0.2.0/24、10.0.3.0/24聚合为10.0.0.0/16,可使用aggregate-address 10.0.0.0 255.255.0.0
。可以通过as-set
参数保留具体路由的AS-Path信息,通过attribute-policy
应用属性策略。 - 自动路由聚合:在H3C设备上,可以使用
summary automatic
命令启用自动路由聚合,但它是按照自然网络掩码(如A类、B类、C类地址的默认掩码)进行聚合,不够灵活。
- 手动路由聚合:使用
- 解题思路:先解释路由聚合的概念和其带来的好处,再分别说明在H3C设备上实现手动路由聚合和自动路由聚合的命令和参数,以及它们的特点和使用场景,如手动聚合可精确控制,自动聚合更简便但不够灵活。
- 路由聚合的概念和目的:
- 答案:
- 使用路由策略控制路由信息的传播和选择:
- 路由过滤:可以使用路由策略过滤掉不需要的路由,在H3C设备上可使用访问控制列表(ACL)或前缀列表(Prefix List)结合路由策略来实现。例如,使用
ip prefix-list <name> permit/deny <prefix>
创建前缀列表,再通过route-policy <policy-name> permit/deny node <node-number>
将前缀列表应用到路由策略中。 - 属性修改:可以修改路由的属性,如修改Local-Preference、MED等属性。例如,使用
route-policy <policy-name> permit/deny node <node-number>
,在其中使用apply local-preference <value>
或apply med <value>
修改属性。
- 路由过滤:可以使用路由策略过滤掉不需要的路由,在H3C设备上可使用访问控制列表(ACL)或前缀列表(Prefix List)结合路由策略来实现。例如,使用
- 解题思路:先阐述路由策略的概念和作用,包括路由过滤和属性修改,然后具体说明在H3C设备上如何使用ACL或前缀列表进行路由过滤,以及如何使用路由策略修改路由属性,给出具体的命令示例和解释。
- 使用路由策略控制路由信息的传播和选择:
三、实操题
- 答案:
[H3C]bgp 100
[H3C-bgp]peer 192.168.1.2 as-number 200
- **解题思路**:首先使用`[H3C]bgp 100`命令进入BGP视图并指定AS号为100,然后使用`[H3C-bgp]peer 192.168.1.2 as-number 200`命令配置BGP邻居,指定邻居的IP地址192.168.1.2和其所属的AS号200,这样就建立了与对端的EBGP邻居关系。
- 答案:
[H3C]bgp 100
[H3C-bgp]aggregate-address 10.0.0.0 255.255.0.0
[H3C-bgp]peer <neighbor-ip> route-policy set-localpref-200 export
[H3C]route-policy set-localpref-200 permit node 10
[H3C-route-policy]apply local-preference 200
- **解题思路**:首先进入BGP视图并指定AS号为100,然后使用`aggregate-address 10.0.0.0 255.255.0.0`命令将路由聚合为10.0.0.0/16。接着,使用`peer <neighbor-ip> route-policy set-localpref-200 export`命令将名为`set-localpref-200`的路由策略应用到邻居的出口方向。最后,创建路由策略`set-localpref-200`,使用`apply local-preference 200`将本地优先级设置为200。
- 答案:
[H3C]ip prefix-list prefix16 permit 172.16.0.0 255.255.0.0
[H3C]route-policy filter-route permit node 10
[H3C-route-policy]if-match prefix-list prefix16
[H3C-route-policy]apply med 100
[H3C]bgp 100
[H3C-bgp]peer <neighbor-ip> route-policy filter-route import
- **解题思路**:首先使用`ip prefix-list prefix16 permit 172.16.0.0 255.255.0.0`创建前缀列表,只允许172.16.0.0/16的路由。然后创建路由策略`filter-route`,使用`if-match prefix-list prefix16`将前缀列表应用到路由策略中,使用`apply med 100`修改路由的MED属性。最后进入BGP视图,使用`peer <neighbor-ip> route-policy filter-route import`将路由策略应用到从邻居接收路由的入口方向,实现对路由的过滤和属性修改。