最后更新:2022-07-13 14:59:53 手机定位技术交流文章
BGP路由协议是网络中最广泛使用的协议,不管运营商网络、企业网络、数据中心网络,目前都使用BGP协议。
今天详细介绍了以下的BGP路由协议;

什么是BGP路由协议
1.BGP协议背景
OSPF、ISIS路由协议在网络中已经广泛使用,但是随着网络规模的扩大,路由条目也随增加,IGP协议已经无法管理大规模网络了。因此出现了AS的概念。
AS的概念比较抽象。
官方解释: AS指的是一套在同一组织管理下使用统一路径策略的设备。

简言之,你可以将网络中的不同设备分成不同的组(AS),或者把它们全部分成一个组,使这些设备在一个组中具有相同的路由协议。

比如你可以将企业总部网络划分在一个AS中,企业的分部网络划分在一个AS中。不同的AS可以运行不同的路由协议。
那么不同AS的网络需要通信时,采用什么路由协议进行通信呢?答案就是本章的BGP路由协议。那么为什么不能够通过IGP(ISIS、BGP)进行通信呢?
这里是一个简单的例子。当连接到运营商的互联网时,企业网络或数据中心网络.如果在连接时使用IPP路由协议(OSPF、ISIS),因此,目前企业网络和运营商网络运行在一个网络中,这个是不安全的,你为什么认为运营商信任你的业务网络?

另一个问题是整个网络正在扩大,线路的数目正在增加,线路的汇集速度缓慢。
因此,是否有路由协议可以实现不同网络之间的路由交互?答案是BGP。BGP的优点是它不生成路径,它只通过路径,并且具有丰富的路径策略。

这个时候可能有人还会站出来说,静态协议不就可以解决吗?其实是可以解决,不过有个问题就是使用静态协议时网络变动时都需要人手动去增删路由,那么有没有一种动态的方式呢?答案就是BGP路由协议了。
以上面的例子为例:企业和运营商可以使用BGP路由协议相互交互实现路由。
BGP传输路由的优点
如果不同的AS通过BGP路由协议连接,使用BGP比IGP有什么优势?

什么是BGP路由协议
BGP是一个基于距离向量的路由协议,用于实现不同AS之间的路由访问。

BGP协议的基本特征:
(一)BGP是一个外部门户协议,其重点不在于路径的发现和计算,而是控制路径的传播和选择最佳路径;
(二)BGP使用TCP作为其传输层协议(端口编号179),以提高协议的可靠性;
(三)BGP是一种避免设计中出现循环的距离向量路由协议;
(4)BGP提供了丰富的路由策略,使路由的过滤和选择具有灵活性;
(五)BGP使用触发的增益更新而不是定期更新;
BGP对等体
什么是BGP等价
BGP Talker:运行BGP路由协议,称为BGP Talker(BGP Router);

BGP等价:两个内置的BGP对话(BGP对话基于TCP)由一个可以交换BGP等价路由表的BGP等价路由到彼此;

BGP分类等价
BGP等价可以分为EBGP等价和IBGP等价,取决于两个路由器是否类似AS。

(一)IBGP:位于同一AS的BGP路由器与IBMGP之间的同等关系;

(二)EBGP:位于不同AS和EBGP的BGP路由器之间的等价关系;

可以 确定 等价 的 条件 是 :
如何建立BGP等价
(一)建立TCP连接

假设BGP路由器R1首先启动,然后R1首先启动以建立TCP连接,并通过三个握手完成TCP连接。
(2)BGP路由器发送开放消息谘询参数

在三个握手完成后,R1和R2互相发送一个开放消息,以建立对等值的参数协商。
OPEN报文参数:
(3)BGP路由器发送维护消息完成等价创建

参数协商正常后双方相互发送keepalive报文,收到对方的keepalive报文后对等体建立成功,同时后续定期发送keepalive报文用于保持连接。
(4)BGP路由器发送更新消息路由器

BGP对等体关系建立好了,就可以通过BGP update 报文通告路由到对等体。收到对方的keepalive报文后对等体建立成功,同时后续定期发送keepalive报文用于保持连接。
BGP为赤道建立源地址
默认情况下,BGP使用输出接口的IP地址创建一个等效。
(1)在建立IBGP对等体关系时,建议使用loopback地址建立IBGP对等体。因为loopback地址稳定,可以借助内部IGP冗余保证可靠性。

例如上图:
R1和R2通过回路地址创建IBMGP等价,如果R1和R2之间的物理链断裂,loopback地址连通不会受到影响,R1和R2的回路地址可以通过R3相互连接,因此,R1和R2之间的对称关系仍然可以建立。如果通过接口建立,就会导致BGP对等体关系中断。
(2)在建立EBGP对等体关系时,建议使用直连地址建立EBGP对等体。如果使用loopback,需要注意EBGP多跳的问题。
BGP报文类型
1、BGP报文类型
BGP存在5种不同类型的报文,分别是open、update、notification、keepalive、route-refresh。

BGP标题格式
不同于常见的IGP协议,BGP使用TCP作为传输层协议,端口号179。BGP存在5种不同类型的报文,不同类型的报文具有相同的头部。

报文头字段解释:

3、BGP报文格式
(1)OPEN报文
开放消息是建立TCP连接后发送的第一个消息,用于咨询参数;

(二)更新报告
更新消息用于将路由信息传递到赤道之间,并可用于发布和取消路由。
一个Update报文可以通告具有相同路径属性的多条路由,这些路由保存在NLRI(网络层可达信息)中。

(3)Notification报文
当BGP检测到一个错误状态时,它发送一个通知消息给同类人,通知同类人错误,并立即终止BGP连接。

(四)Keepalive报告
双方相互发送keepalive报文,收到对方的keepalive报文后对等体建立成功,同时后续定期发送keepalive报文用于保持连接。

(五)路由检讨报告
Route-refresh消息是用来要求同类重新发送指定地址家族的路由信息,通常通过局部修改相关路由策略,让另一方重新发送更新消息。
在有关公开报告的磋商期间是否将支持“路线重新调度”,如果该等价支持路由重新恢复功能,然后你可以手动重新修改bgp命令来解构BGP连接,BGP软分离可以刷新BGP路由表,而不干扰BGP连接,并应用新的策略。
BGP状态机
BGP的6个州
BGP的状态有idle、connect、active、opensent、openconfirm、established六种状态。

BGP状态转换
BGP的状态有idle、connect、active、opensent、openconfirm、established六种状态。
(1)闲置状态是BGP的初始状态。
在Idle状态下,BGP拒绝对等体发送的连接请求。只有在收到本设备的Start事件后,BGP才开始尝试和其它BGP对等体进行TCP连接,并转至Connect状态。
启动事件是由一个配置了BGP进程的操作者造成,或者通过替换现有进程,或者由路由器软件替换BGP进程。
任何状态中收到Notification报文或TCP拆链通知等Error事件后,BGP都会转至Idle状态。
(二)连接状态
在Connect状态下,BGP启动连接重传定时器(Connect Retry),等待TCP完成连接。
(三)活动状态
在Active中,BGP总是试图建立一个TCP连接。
(4)Opensent状态、openconfirm状态
在成功建立TCP三个握手之后,发送一个公开消息建立一个等价关系,在这个点国家是
opensent状态,当收到对端回应的open报文,并且参数检查无误,在发送keepalive报文后进入openconfirm状态。
(五)建立的国
进入openconfirm状态后,收到对端的keepalive报文后进入established状态。
BGP路由表
1、BGP对等体表
BGP等价表可以通过dis bgp peer查看;

同行地址
(2)V:版本号
(3)AS:正交AS数
(4)UP/DOWN:对等体存在up或者down的时间
(五)状态:平衡的状态
(六)前缀:从方程对得到的路径前缀的数目
2、BGP路由表
可以通过display bgp routing-table 查看BGP路由表;

如果有多个路线到达相同的目的地,则所有路线都是路线的,但每个目的地只选择一个路线。

通过display bgp routing-table ipv4-address { mask | mask-length } 可以显示指定IP地址/掩码长度的路由信息,它包含关于BGP路由的详细信息,例如, 路径发源者, 下一个跳跃地址, 路径属性等.
BGP路由生成
BGP路由是通过BGP命令通告而成的,而通告BGP路由的方法有两种:network和Import。
(1)网络模式:
使用网络命令可以释放当前设备路由表中的路径(非BGP)到BGP路由表,并通知邻居,网络命令在OSPF中使用的方式非常不同,就在BGP宣布时,你只需要宣布网络分段 + 面具的数量,如:network 12.12.0.0 16。
(二)进口方法:
使用进口命令可以将路由设备重新分配到BGP路由表的路由信息中,是BGP声明路由的一种方法,可以引入BGP路由, 包括直接链接、静态和动态路由协议.它的命令格式类似于在RIP中重新分配的OSPF。
BGP通告原则
BGP设备将最佳路径添加到BGP路径表,以形成BGP路径。
在BGP装置与赤道建立邻近关系后,采用了下列相互作用原则:
从IBMGP获取的BGP路由对等,BGP设备只能通过其EBGP等价。从EBGP到等价的BGP路由,BGP设备向它传递所有EBGP和IBGP等价(等价是IBGP只能传递一个跳跃,当有多个有效路径到达相同的目的地地址时,等价是EBGP。BGP设备只发布最佳路径,以更新同等路径,BGP设备只发送更新的BGP路由到所有同类路由,BGP设备将接收下一跳入传输中的所有EBGP对改变下一跳入传输中的所有EBGP对保持不变(需要特别注意)默认EBGP传输TTL值为1(需要特别注意)默认EBGP传输TTL值为255
本文由 在线网速测试 整理编辑,转载请注明出处。