【网络云SRE运维开发】2025第3周-每日【2025/01/16】小测-【第15章 bgp路由协议】理论和实操解析

文章目录

      • 一、选择题
      • 二、理论题
      • 三、实操题

【网络云SRE运维开发】2025第3周-每日【2025/01/16】小测-【第15章 bgp路由协议】理论和实操解析

一、选择题

  1. 答案:B
    • 解题思路:BGP(Border Gateway Protocol)是边界网关协议,主要运行在不同自治系统(AS)之间,用于在不同自治系统之间交换路由信息,从而实现跨自治系统的网络通信。所以选B。
  2. 答案:A
    • 解题思路:在H3C设备上,进入BGP视图的命令是[H3C]bgp ,这是H3C设备上的标准配置命令,用于开始配置BGP进程并指定自治系统号。故答案为A。
  3. 答案:A
    • 解题思路:BGP使用的端口号是179。这个端口号是专门为BGP协议分配的,用于建立TCP连接,在BGP路由器之间进行通信。因此选A。
  4. 答案:A
    • 解题思路:AS-Path是BGP的公认必遵属性,其主要作用是防止路由环路。当一条路由在不同自治系统间传播时,AS-Path会记录该路由经过的自治系统序列,路由器收到路由时可以检查自己的AS是否已经在AS-Path中,从而避免环路。所以选A。
  5. 答案:C
    • 解题思路:在BGP邻居状态机中,Active状态表示BGP正在主动发起TCP连接。当处于Idle状态时收到启动事件后,会进入Connect状态尝试建立连接,如果连接失败会进入Active状态并积极尝试建立连接。因此选C。
  6. 答案:B
    • 解题思路:当BGP路由器收到一条路由,其下一跳不可达时,该路由器通常会拒绝该路由,因为下一跳不可达意味着该路由无法正常使用,将其放入路由表会导致路由黑洞或其他问题。所以选B。
  7. 答案:C
    • 解题思路:BGP团体属性(Community)是可选传递属性,它主要用于对路由进行分组,方便管理员实施统一的路由策略,比如对一组路由设置相同的策略。它可以在EBGP和IBGP邻居间传递,也可跨自治系统传递,所以选C。
  8. 答案:C
    • 解题思路:在BGP路由选择中,优先考虑的因素通常是最高的Local-Preference。Local-Preference用于在自治系统内部选择到达外部网络的最佳出口,该属性仅在自治系统内部使用,不会被传递到其他自治系统。因此选C。
  9. 答案:A
    • 解题思路:BGP的多出口鉴别属性(MED)主要影响入站流量,即影响从外部自治系统进入本自治系统的流量。它可以帮助自治系统向邻居自治系统表明进入本自治系统的首选路径,因此选A。
  10. 答案:C
    • 解题思路:BGP反射器(Route Reflector)的主要作用是打破IBGP水平分割规则。在IBGP中,为了防止路由环路,有水平分割规则,但这会导致全互联的邻居关系,使用反射器可以减少邻居连接数量,打破该规则,使路由信息能够在IBGP邻居中传递。所以选C。

二、理论题

  1. 答案
    • 路由表大小
      • IGP(内部网关协议)主要用于自治系统内部,如OSPF、RIP等,其路由表大小相对较小,因为只需要关注自治系统内的网络拓扑和路由信息。而BGP路由表规模较大,因为它要维护来自不同自治系统的路由信息,包含全球范围的路由信息。
    • 路由算法
      • IGP使用链路状态算法(如OSPF)或距离矢量算法(如RIP),主要目的是计算自治系统内的最短路径,关注的是自治系统内的链路成本和跳数等因素。BGP使用路径矢量算法,考虑的是自治系统路径,依据路径属性(如AS-Path、Local-Preference等)进行路由选择。
    • 应用场景
      • IGP应用于自治系统内部,实现自治系统内的路由选择和数据包转发,确保内部网络的连通性和高效转发。BGP应用于不同自治系统之间,实现跨自治系统的路由交换,侧重于考虑不同自治系统间的策略、可达性和网络管理等方面。
    • 解题思路:从三个方面来阐述BGP与IGP在路由信息交换方面的不同。对于路由表大小,从各自协议所覆盖的范围来分析;对于路由算法,说明IGP和BGP采用不同算法的原因和目标;对于应用场景,从网络层次(自治系统内和自治系统间)的角度解释它们的不同应用。
  2. 答案
    • 路由选择过程
      • 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的路由选择过程的步骤,再分别解释每个主要属性的作用和对路由选择的影响,结合不同的网络场景,如自治系统内部出口选择、路由环路避免、路由起源判断和入站流量引导等方面进行说明。
  3. 答案
    • 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状态,详细说明每个状态在什么情况下会转换到下一个状态,以及发送的消息和处理的动作。
  4. 答案
    • 路由聚合的概念和目的
      • 路由聚合是将多个具有相同前缀的具体路由合并为一个更通用的汇总路由,目的是减少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设备上实现手动路由聚合和自动路由聚合的命令和参数,以及它们的特点和使用场景,如手动聚合可精确控制,自动聚合更简便但不够灵活。
  5. 答案
    • 使用路由策略控制路由信息的传播和选择
      • 路由过滤:可以使用路由策略过滤掉不需要的路由,在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或前缀列表进行路由过滤,以及如何使用路由策略修改路由属性,给出具体的命令示例和解释。

三、实操题

  1. 答案
[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邻居关系。
  1. 答案
[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。
  1. 答案
[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`将路由策略应用到从邻居接收路由的入口方向,实现对路由的过滤和属性修改。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/892874.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

npm发布工具包+使用

1.初始化package包 npm init -y {"name": "common-cjs-tools","version": "1.0.0","main": "index.js","scripts": {"test": "echo \"Error: no test specified\" &&…

C# Web 开发:ASP.NET Core 从入门到实战

ASP.NET Core 是一个开源、跨平台、高性能的 Web 框架&#xff0c;适用于构建现代 Web 应用和 API。它不仅支持传统的 Web 应用开发&#xff0c;还支持 RESTful API、实时应用、微服务等架构。与传统的 ASP.NET 框架相比&#xff0c;ASP.NET Core 更加轻量级、模块化&#xff0…

http转化为https生成自签名证书

背景 项目开发阶段前后交互采用http协议&#xff0c;演示环境采用htttps协议 &#xff0c;此处为个人demo案例 组件 后端&#xff1a;springBoot 前端&#xff1a;vue web 服务&#xff1a;tomcat 部署环境&#xff1a;linux 生成自签名证书 创建目录 存储证书位置 # mkdir -p…

【初阶数据结构】序列系统重构:顺序表

文章目录 1.线性表2.顺序表2.1 概念及结构2.1.1 静态顺序表2.2.2 动态顺序表 2.2 接口实现2.2.1 顺序表打印2.2.2 顺序表初始化2.2.3 顺序表销毁2.2.4 顺序表容量检查2.2.5 顺序表尾插2.2.6 顺序表头插2.2.7 顺序表尾删2.2.8 顺序表头删2.2.9 顺序表在pos位置插入x2.2.10 顺序表…

AI 编程工具—Cursor进阶使用 阅读开源项目

AI 编程工具—Cursor进阶使用 阅读开源项目 首先我们打开一个最近很火的项目browser-use ,直接从github 上克隆即可 索引整个代码库 这里我们使用@Codebase 这个选项会索引这个代码库,然后我们再选上这个项目的README.md 文件开始提问 @Codebase @README.md 这个项目是用…

MyBatis-XML映射配置

引言 在 Mybatis 中&#xff0c;既可以通过注解配置 SQL 语句&#xff0c;也可以通过 XML 配置文件配置 SQL 语句。默认规则&#xff1a; 1. XML 映射文件的名称与 Mapper 接口名称一致&#xff0c;并且将 XML 映射文件和 Mapper 接口放置在相同包下 &#xff08;同包同名&…

MS9913N血糖测试 AFE 芯片

MS9913N 是一款血糖仪模拟前端 (AFE) 测量电路&#xff0c;内部集成 了 16bit 高性能 Σ-Δ ADC 、高精度运算放大器、低阻抗开关、高精 度基准电压产生电路和血糖测试 AC 信号调理电路&#xff0c;接口采用 I 2 C 通信协议&#xff0c;使外围器件更少&#xff0c;操…

C语言:-三子棋游戏代码:分支-循环-数组-函数集合

思路分析&#xff1a; 1、写菜单 2、菜单之后进入游戏的操作 3、写函数 实现游戏 3.1、初始化棋盘函数&#xff0c;使数组元素都为空格 3.2、打印棋盘 棋盘的大概样子 3.3、玩家出棋 3.3.1、限制玩家要下的坐标位置 3.3.2、判断玩家要下的位置是否由棋子 3.4、电脑出棋 3.4.1、…

【VS 调试WebApi —— localhost 及 ip访问】

VS 调试WebApi —— localhost 及 ip访问 1、localhost访问1.1 localhost端口修改 2、IP访问2.1 运行项目2.2 打开配置文件2.3 修改配置文件2.4 保存后重新运行 3、最终效果 1、localhost访问 VS运行项目时默认localhost访问。1.1 localhost端口修改 右键项目选中【属性】 --…

Flink链接Kafka

一、基于 Flink 的 Kafka 消息生产者 Kafka 生产者的创建与配置&#xff1a; 代码通过 FlinkKafkaProducer 创建 Kafka 生产者&#xff0c;用于向 Kafka 主题发送消息。Flink 执行环境的配置&#xff1a; 配置了 Flink 的检查点机制&#xff0c;确保消息的可靠性&#xff0c;支…

带头双向循环链表(数据结构初阶)

文章目录 双向链表链表的分类概念与结构实现双向链表定义链表结构链表打印判空申请结点初始化头插尾插头删尾删查找指定位置插入和删除销毁链表 顺序表和链表的分析结语 欢迎大家来到我的博客&#xff0c;给生活来点impetus&#xff01;&#xff01; 这一节我们学习双向链表&a…

41,【7】CTFHUB WEB SQL Cookie注入

搜索知Cookie 是由服务器发送给用户浏览器的一小段文本信息&#xff0c;浏览器会将其保存下来&#xff0c;并且在后续的请求中自动将 Cookie 发送回服务器。 所以可以联想到cookie会出现在请求处&#xff0c;可以使用BP抓包 找到了 又是整形注入 可知字节数为2 找到回显点 得…

unity学习16:unity里向量的计算,一些方法等

目录 1 unity里的向量&#xff1a; 2 向量加法 2.1 向量加法的几何意义 2.2向量加法的标量算法 3 向量减法 3.1 向量减法的几何意义 3.2 向量减法的标量算法 4 向量的标量乘法 5 向量之间的乘法要注意是左乘 还是右乘 5.1 注意区别 5.2 向量&#xff0c;矩阵&#x…

卷积神经05-GAN对抗神经网络

卷积神经05-GAN对抗神经网络 使用Python3.9CUDA11.8Pytorch实现一个CNN优化版的对抗神经网络 简单的GAN图片生成 CNN优化后的图片生成 优化模型代码对比 0-核心逻辑脉络 1&#xff09;Anacanda使用CUDAPytorch2&#xff09;使用本地MNIST进行手写图片训练3&#xff09;…

堆的实现【C++】

堆的实现 概念实现完整代码 概念 介绍堆之前得说一下二叉树&#xff0c;因为堆的逻辑结构是二叉树&#xff0c;二叉树的树的子集&#xff0c;树只有一个根节点&#xff0c;向下衍生出了很多节点&#xff0c;并且这个节点之间相互没有连接&#xff0c;除非是父子节点&#xff0…

UI自动化测试:异常截图和page_source

自动化测试过程中&#xff0c;是否遇到过脚本执行中途出错却不知道原因的情况&#xff1f;测试人员面临的不仅是问题的复现&#xff0c;还有对错误的快速定位和分析。而异常截图与页面源码&#xff08;Page Source&#xff09;的结合&#xff0c;正是解决这一难题的利器。 在实…

ASP.NET Core - 依赖注入(三)

ASP.NET Core - 依赖注入&#xff08;三&#xff09; 4. 容器中的服务创建与释放 4. 容器中的服务创建与释放 我们使用了 IoC 容器之后&#xff0c;服务实例的创建和销毁的工作就交给了容器去处理&#xff0c;前面也讲到了服务的生命周期&#xff0c;那三种生命周期中对象的创…

gitlab runner正常连接 提示 作业挂起中,等待进入队列 解决办法

方案1 作业挂起中,等待进入队列 重启gitlab-runner gitlab-runner stop gitlab-runner start gitlab-runner run方案2 启动 gitlab-runner 服务 gitlab-runner start成功启动如下 [rootdocserver home]# gitlab-runner start Runtime platform …

麦田物语学习笔记:构建游戏的时间系统

基本流程 1.代码思路 (1)新建一个TimeManager.cs (2)创建枚举变量来表示四季,在TimeManager里需要的变量有: 游戏内的秒,分钟,小时,天,月,年;游戏内的季节;控制一个季节有多少个月;控制时间的暂停;计时器tikTime (3)在Settings里添加计时器的阈值,以及各个时间的进位 (4)初始化…

Spring Boot教程之五十七:在 Apache Kafka 上发布 JSON 消息

Spring Boot | 如何在 Apache Kafka 上发布 JSON 消息 Apache Kafka是一个发布-订阅消息系统。消息队列允许您在进程、应用程序和服务器之间发送消息。在本文中&#xff0c;我们将了解如何在 Spring Boot 应用程序中向 Apache Kafka 发送 JSON 消息。 为了了解如何创建 Spring…