【HCIP学习】BGP基础

news2024/11/18 3:45:14

一、BGP产生背景

BGP(Border Gateway Protocol,边界网关协议)是一种用于自治系统间的动态路由协议,是一种外部网关协议。

自治系统AS:一组同一个管理机构进行管理,对外呈现统一选路策略的路由器的集合。

自治系统编号:

       2字节AS编号:取值范围0-65535,其中0和65535保留

                         公有AS:1-64511

                         私有AS:64512-65535

       4字节AS编号:2的32次方的编号数量

二、路由协议的分类

IGP:RIP、OSPF、IS-IS

EGP:BGP

三、BGP协议特性

1、BGP 只负责把路由从一个AS传到另一个AS;从其他AS传递过来的路由在本AS内部的扩散依靠IGP;

2、BGP是路径矢量协议,一跳是一个自治系统;

当一条路由传入某个AS,该路由的下一跳会变为上个AS的出接口的IP地址;当一条路由在某个AS内部的路由器之间传递时,下一跳不变。

3、AS防环机制:

路径矢量路由协议,从设计上避免了环路的发生

当一条路由每从一个AS传出,会把该AS的编号按照从右至左的顺序依次记录在AS_PATH属性中;

一个路由器从其他AS收到一条路由通告,会检查本路由器的AS标号是否出现在该路由条目的AS_PATH属性中,如果出现了则该条目不学习;

例如:一条路由从AS 200中的R3传出,则其AS_PATH=(300,400,500,100,200),当这条路由回传给AS200时,R4会检查AS_PATH,发现重复路径则不接收。

4、BGP基于TCP协议传输,端口号179;必须手动配置邻居;

5、BGP第一次发送完整的路由表,后续只发送增量更新;

6、BGP有多种属性可以控制路由选择。(难点)

7、支持CIDR和路由聚合;

8、路由过滤和路由策略;

四、BGP基本术语

1、

BGP Speaker:运行BGP协议的路由器称为BGP发言者

BGP Peer:相互之间存在TCP连接、相互交换路由信息的BGP发言者之间互称为BGP对等体

2、BGP对等体:BGP邻居可以直连,也可以非直连

(1)EBGP对等体:跨AS之间的邻居,一般情况下EBGP对等体是物理上直连的。

BGP发言者从EBGP对等体获得的路由会向它所有BGP对等体通告(包括EBGP和IBGP)

(2)IBGP对等体:同一个AS内部的邻居

(3)BGP邻居非直连的情况

思考:哪些路由器需要跑BGP?(R2\R3\R5\R6)

思考:(R2\R3\R5\R6)邻居关系怎么建立?

思考:R3-R4之间,R6-R7之间,路由怎么传?

五、BGP规划问题(规划不当容易产生路由黑洞)

R2:peer 5.5.5.5 next-hop-local

R5:peer2.2.2.2 next-hop-local

目标IP:6.6.6.6/32 源IP:1.1.1.1/32+数据

路由黑洞产生原因:由于IBGP邻居之间没有运行BGP协议的路由器,无法获得BGP的路由;从而导致的数据包进入路由器被丢弃。

路由黑洞解决方法:

(1)BGP引入IGP(上图可以在R2和R5上把bgp引入ospf),这个方法有可能会造成引入BGP后,外部网络的路由太多了,内网的路由器承载不住。

(2)在黑洞路由器上配置目的网段的静态路由(不现实,比如:需要配置的目的网段太多的情况,累死网络管理员了)

(3)IBGP全连接   -----IBGP防环机制:IBGP水平分割:从IBGP邻居学习到的路由不会传递给其他IBGP邻居

为啥有这种防环机制,看下图

IBGP全连接(full-fresh)

注:要是邻居太多,手工配置邻居,会导致工作量比较大

(4)BGP路由反射器(无视IBGP的防环机制,可以减少邻居关系的数量)

以R2作为反射器:

(5)BGP联盟(完美的避开了IBGP全连接的坑------IBGP水平分割限制)

六、BGP环路问题(水平分割)

1、EBGP水平分割(过AS_PATH)

通过AS_PATH属性防环,在学习到的路由中,若有本地AS号,则拒绝学习,防止环路

2、IBGP水平分割

当路由器从一个IBGP对等体学习到某条BGP路由时,它将不能再把这条路由通告给任何IBGP对等体。

造成问题:一些路由器无法学到去往其他AS的路由

解决方法:路由反射器和联盟

七、BGP消息种类(数据包可抓包看)

(1)BGP头部信息:

标记(Marker):该字段被保留下来用于解决协议兼容性问题,没有其他含义

长度(length):指示BGP报文的长度(字节数)

类型(Type):该字段指示了BGP报文的类型,就是前面提到的BGP5种数据包类

(2)数据包种类

open:用于建立BGP对等体之间的连接关系,正常收发一次即可;携带route-id;

Hold time:保持时间,该字段表示路由器在收到Keepalive消息或者Update消息之前等待的最长时间,默认180s,如果邻居双方的保持时间不一致,将以较短的时间作为双方可接收的保持时间。

可选参数长度:指示了BGP报文中可选参数的长度

可选参数:Open包中包含多个可选参数,主要用于宣告及协商BGP对等体的某些能力特征。

Keepalive:周期性的向BGP对等体发出Keepalive(周期保活)消息,用于保持连接的有效性,在默认情况下每60秒发送一条Keepalive消息,或者以已协商一致的保持时间的1/3为周期发送Keepalive消息。默认60s,超时180s。

Update:携带的是路由更新(删减、增加)信息

notfication:当BGP检测到错误状态时,就向对等体发出notfication消息,之后BGP连接会立即被关闭(邻居关系结束了)

router-refresh:用于在改变路由策略后,要求对等体重新发送指定地址族的完整路由表信息;只有支持路由刷新能力的路由器才会响应router-refresh报文。

地址族:典例:BGP版本不同,进入的地址族不同

BGP-----普通BGP,跑IPV4

BGP4+----适用于跑IPV6

MP-BGP---用于MPLS VPN的一个扩展版的BGP

组播版本的BGP

注:不管啥版本,都在同一个BGP进程中做配置,只是建立的邻居关系的方式不同而已。

用于改变路由策略后:

八、BGP状态机

Idle:空闲状态,停留30秒,初始化开始准备TCP连接并监视远程对等体,启动BGP时,同时建立邻居关系,此状态持续30秒;

connect:TCP连接中状态,本端为TCP被动连接方,若连接建立失败则进入Active状态,反复尝试连接;

Active:活跃状态,本端为TCP主动连接方,TCP连接没建立成功,反复尝试连接;

open-sent:开始发送状态,成功建立TCP连接,发出open报文,open报文中携带参数协商对等体的建立,正在等待接受对方open报文;

open-confirm:开始确认状态,收到open报文,发出Keepalive报文,等待第一个Keepalive报文;

established:已连接状态,收到Keepalive报文,最终成功建立邻居;

九、BGP邻居建立条件

IBGP:对方接口要有IP地址,TCP可达(需要具有到达对方IP地址的路由),建议使用环回口地址来指定IBGP邻居;

更新源地址必须和指定的邻居地址一致,需要修改更新源为环回;[R1-bgp]peer 2.2.2.2 connect-interface LoopBack 0

IBGP邻居关系不需要直连;

EBGP:对方接口要有IP地址,TCP可达,且需要直连;

             可通过修改EBGP最大跳数来使EBGP非直连;

              建议使用直连接口地址(物理地址)来指定EBGP邻居;

             更新源地址必须和指定的邻居地址一致;

注意: 默认IBGP邻居间数据包的TTL值为255,EBGP邻居间TTL为1;故一旦使用环回建立ebgp邻居关系,必须修改TTL值,否则无法建立TCP三次连接

没修改跳数前:

修改跳数后:

[r4-bgp]peer  5.5.5.5 ebgp-max-hop 2    //修改TTL值(最大跳数值)

十、BGP基本配置

1、启动BGP并创建BGP连接

[huawei]bgp 'as-number'     启动BGP

[huawei-bgp]router-id 'router-id'   配置router-id;(可选配置)

[huawei-bgp]peer 'ip-address' as-number 'as-unmber'    指定BGP对等体及AS号;

[huawei-bgp] address-family ipv4  unicast   创建BGP地址族,并进入相应地址族视图。----华三

[huawei-bgp-ipv4] peer ip-address enable   使能本地路由器与指定对等体交换路由信息的能力

2、优化BGP连接:

[huawei-bgp]peer 'ip-address' connect-interface ‘interface’    指定建立TCP连接使用的源接口

[huawei-bgp]peer 'ip-address ebgp-max-hop 'hop-count'       指定EBGP对等体最大跳数;默认跳数是1,配置允许同非直接相连网络上的邻居建立EBGP连接

3、配置BGP生成路由

将本地路由发布到BGP路由表中:

[Router-bgp] network ip-address [ mask | mask-length ] [route-policy route-policy-name ]

引入其它路由协议的路由:

[Router-bgp] import-route protocol [ { process-id | all-processes } [ allow-direct | med med-value | route-policy route-policy-name ]  ]

4、查看命令:

[router]display bgp peer

[router]display bgp routing-table

*-- 代表可用,可用路由会参与路由信息的优选

>--  代表优选

i:代表该路由信息通过IBGP对等体学到

起源码:

I:代表这条路由信息起源于AS内部,使用network通告的;

e:代表来自于EGP协议;

?:代表除了以上两种方式,其他获取的路由信息都是?

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

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

相关文章

解锁大模型高效推理:将 LlamaIndex 与抽象链集成

在语言理解领域,对忠实推理的追求促使研究人员探索各种途径。 大型语言模型(LLMs)在解释和执行指令方面取得了显著进展,但在准确回忆和组合现实世界知识方面仍然面临挑战。 为了解决这个问题,将外部工具集成到LLMs的…

Linux网络—DNS域名解析服务

目录 一、BIND域名服务基础 1、DNS系统的作用及类型 DNS系统的作用 DNS系统类型 DNS域名解析工作原理: DNS域名解析查询方式: 2、BIND服务 二、使用BIND构建域名服务器 1、构建主、从域名服务器 1)主服务器配置: 2&…

中国十大气膜厂商揭晓:引领未来建筑创新潮流

近年来,我国的体育产业蓬勃发展,其中气膜体育馆备受瞩目。国务院办公厅在《关于构建更高水平的全民健身公共服务体系的意见》中明确提出,支持建设符合环保和安全等要求的气膜结构健身馆等新型健身场地设施。气膜体育场馆已成为解决我国体育基…

java spring 07 createBean()(加载class文件,重写方法,实例化前)和doCreateBean()

01.createBean方法 protected Object createBean(String beanName, RootBeanDefinition mbd, Nullable Object[] args)throws BeanCreationException {if (logger.isTraceEnabled()) {logger.trace("Creating instance of bean " beanName "");}RootBea…

PostgreSQL数据库序列的DDL获取和细节处理

PostgreSQL数据库序列的DDL获取和细节处理 创建测试数据dump导出方式表列与序列强关联case场景序列DDL拼接SQL语句序列删除情况 看腻了就来听听视频演示吧: SQL拼接获取DDL:https://www.bilibili.com/video/BV1Rw4m1Z7SV/ dump方式获取DDL:ht…

【Windchill二次开发】针对该文档定义初始化规则,修改编号或名称的规则

(一)什么是软类型 类型属性定义: (二)对象初始化规则 rule(初始化规则) ---------------------------------------------------------------------------------------------------------------…

物联网实战--平台篇之(一)架构设计

本项目的交流QQ群:701889554 物联网实战--入门篇https://blog.csdn.net/ypp240124016/category_12609773.html 物联网实战--驱动篇https://blog.csdn.net/ypp240124016/category_12631333.html 一、平台简介 物联网平台这个概念比较宽,大致可以分为两大类&#x…

探索矿业数字化平台:实现智能化采矿与管理

随着信息技术的迅猛发展,矿业领域也在逐步实现数字化转型。数字化平台的出现为矿业企业带来了更高效、更智能的采矿与管理方式。本文将探讨矿业数字化平台的意义、特点以及未来发展方向。 ### 1. 数字化平台的意义 传统的矿业生产和管理方式存在诸多问题&#xff…

Python实践应用|NC文件读取

import netCDF4 as nc import numpy as np import matplotlib.pyplot as plt# 打开NC文件 nc_file E:/NC_file/air.sig995.2012.nc # 将your_file.nc替换为你的NC文件路径 nc_data nc.Dataset(nc_file, r)# 查看NC文件中包含的变量 print("Variables in the NC file:&q…

Web3与物联网:探索区块链如何驱动智能设备的未来

引言 在数字化快速发展的时代,Web3技术和物联网(IoT)都成为了前沿技术的代表。两者的结合正逐渐展现出无限的可能性,尤其是在智能设备和数据安全方面。本文将深入探讨Web3如何与物联网相结合,以及这种结合对未来智能设…

csdn的复制代码功能如何实现

页面布局分析&#xff1a; 按钮在文本框里面&#xff0c;所以文本框是父元素&#xff0c;按钮是子元素。要使得按钮在文本框的右上角&#xff0c;需要使用绝对定位。 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8">…

Stylus 精讲:掌握这款 CSS 预处理器,让你的样式编写提升到新境界!

Stylus 是一种先进的 CSS 预处理器&#xff0c;它允许你使用更加强大和优雅的方式来编写 CSS。Stylus 拥有很多现代语言所具有的特性&#xff0c;如混合&#xff08;Mixins&#xff09;、函数、条件语句等&#xff0c;这些特性使得 CSS 的编写变得更加灵活和高效。Stylus 还支持…

Cokejogo巴西 电子游戏源码 游戏网站源码 电子游戏合集 电子游戏软件下载 游戏源码(带安装教程)

Cokejogo巴西pg电子游戏源码/H5PC端 前端vue编译后后端PHP/修复图片资源失效 后端测试环境&#xff1a;Linux系统CentOS7.6、宝塔、PHP7.2、MySQL5.6&#xff0c;根目录public&#xff0c;伪静态thinkPHP&#xff0c;开启ssl证书 源码下载&#xff1a;https://download.csdn.n…

吾日三省吾身---对平常遇到的错误总结

✨个人主页&#xff1a; 不漫游-CSDN博客 前言 本篇文章是对平常练习遇到的问题总结&#xff0c;多吸取经验教训才能避免未来再犯~ Java语法部分 &#xff08;一&#xff09;多态 思考&#xff1a;这道题很明显考察的是多态的知识点&#xff0c;即一个对象可以被赋值给其父类…

基于SpringBoot+Vue校园二手交易系统的设计与实现

系统介绍 自从新冠疫情爆发以来&#xff0c;各个线下实体越来越难做&#xff0c;线下购物的人也越来越少&#xff0c;随之带来的是一些不必要的浪费&#xff0c;尤其是即将毕业的大学生&#xff0c;各种用品不方便携带走导致被遗弃&#xff0c;造成大量的浪费。本系统目的就是让…

【NR RedCap】Release 18标准中对5G RedCap的增强

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 本人就职于国际知名终端厂商&#xff0c;负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作&#xff0c;目前牵头6G技术研究。 博客内容主要围绕…

PotatoPie 4.0 实验教程(28) —— FPGA实现sobel算子对摄像头图像进行边缘提取

什么是sobel算子&#xff1f; Sobel 算子是一种常用的边缘检测算子&#xff0c;用于在图像中检测边缘。它基于对图像进行梯度运算&#xff0c;可以帮助识别图像中灰度值变化较大的区域&#xff0c;从而找到图像中的边缘。 Sobel 算子通过计算图像的水平和垂直方向的一阶导数来…

[蓝桥杯2024]-Reverse:rc4解析(对称密码rc4)

无壳 查看ida 这里应该运行就可以得flag&#xff0c;但是这个程序不能直接点击运行 按照伪代码写exp 完整exp&#xff1a; keylist(gamelab) content[0xB6,0x42,0xB7,0xFC,0xF0,0xA2,0x5E,0xA9,0x3D,0x29,0x36,0x1F,0x54,0x29,0x72,0xA8, 0x63,0x32,0xF2,0x44,0x8B,0x85,0x…

【yolov8yolov5驾驶员抽烟-打电话-喝水-吃东西检测】

YOLO算法DMS驾驶员抽烟-打电话-喝水-吃东西检测数据集 YOLOv8和YOLOv5是深度学习中用于目标检测的先进算法&#xff0c;它们在实时性和准确性方面表现出色&#xff0c;适用于各种视频监控和图像处理应用&#xff0c;包括驾驶员行为监测。这些算法通过单次前向传播即可预测图像…

【FPGA】优化设计指南(一):设计原则

目录 避免采用不可综合的语句设计时采用同步的时钟组合逻辑与毛刺异步复位与同步复位动态分析与静态分析功能流水线时序违例乒乓操作面积和速度的平衡避免采用不可综合的语句 1.#1000延时语句 2.除法运算/,除非除数为2的整次幂 3.实数类型不可综合(real) 4.综上,使用可综合…