大茂名网

 找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 210|回复: 0

[【编导】] 常识六分钟看完 BGP 协议2022/12/26 11:52:49

[复制链接]

2万

主题

2万

帖子

9万

积分

钻石元老

Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

积分
98065
发表于 2022-12-26 11:52 | 显示全部楼层 |阅读模式

马上注册登陆,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?用户注册

x

在RIP和OSPF这些协议中,是由IP的络地址进行路由控制,而BGP协议则需要通过整个互联进行路由控制,范围要大很多。之前我们聊RIP、OSPF协议都是基于AS即自治系统内的协议,可以把它们认为是域内路由协议;而下面我们要聊的就是AS之间的协议了,这也叫做域间路由协议,或者叫做外部关协议,其比较著的一个协议就是BGP协议,目前使用比较多的协议版本就是BGP的第四个版本BGP-4,简称为BGP(BGP)。域名IP查询的具体问题可以到我们网站了解一下,也有业内领域专业的客服为您解答问题,为成功合作打下一个良好的开端!


在RIP和OSPF这些协议中,是由IP的络地址进行路由控制,而BGP协议则需要通过整个互联进行路由控制,范围要大很多。

BGP的环境与RIP、OSPF的环境不一样,主要在于互联的规模过于庞大,使得自治系统之间的路由选择比较困难。互联上的路由器对任何IP地址都能通过路由表找到它的目的络。这是一个非常庞大的集合,如果使用链路状态协议RIP和OSPF的话,必须要维护一个非常大的了路由集合,一方面路由表检索起来效率很低,而且如此庞大的数据项也不方便维护。还有一点是每个路由器的不一样,有可能这个是经过了100个路由,而那个链路到达100个路由可能就直接报错了。

而且自治系统间的路由选择必须考虑策略问题,这些策略需要把、地缘、安全或者经济方面考虑在内。

由于上面这些特殊情况的存在,BGP协议只是满足选择一条到达目的络比较好的路由,而非选择一条比较佳路由,BGP采用了路径向量路由选择协议,它与RIP和OSPF有很大的差别。

在BGP协议中,每个AS自治系统内部都有许多BGP边界路由器,这个BGP边界路由器就相当是自治系统内部的发言人。不同AS之间的BGP边界路由器如果要交换路由信息的话,就需要先建立TCP连接,然后在此连接上交换BGP报文以建立BGP会话,通过TCP能够提供可靠的服务。两个交换报文的BGP边界路由器都被称为彼此的临站(天使)或者对等站。

下图是一个使用了BGP边界路由器和AS的关系示意图:



BGP所交换的络可达性信息就是要到达某个络所要经过的一系列的路由。当各个BGP边界路由器一旦交换了可达性信息之后,就会选择出来一条到达各个AS比较好的路由路径。

BGP支持分类域间路由选择CIDR,因此BGP的路由表也就应当包括当前目的络前缀、下一跳路由器,以及到达目的络所经过的AS。

在BGP刚刚运行时,BGP的临站是交换整个BGP路由表,以后只要在发生变化时更新有新变化的部分即可。这样对节省络带宽和减少路由器开销有很大好处,这个特性和OSPF非常相似。

BGP-4主要有下面几类报文类型:

OPEN(打开)报文,用来和相邻的BGP区域边界路由器建立关系,进行通信初始化。UPDATE(更新)报文,用来通告路由信息,以及列出需要更新的多条路由。KEEPALIVE(保活)报文,用来周期性的证临站的连通性。NOTIFICATION(通知)报文,用来发送检测到的差错。如果两个临站属于两个不同的自治系统,而且其中一个临站打算和其他临站进行路由交换的时候,这时候应当有一个路由商量的过程。商量的过程包括临站路由器是否还能够接受额外的路由信息。因此一开始进行商谈的时候应该要先发送OPEN报文,如果临站可以接受这种关系,就用KEEPALIVE报文响应。响应完成后,两个临站就算是建立关系了。

关系建立之后,是需要相互维持的,这就和情侣之间确定关系之后,你作为老爷们总不能天两头不搭理人家吧俗话说的好,感情是需要维持的,那么这个路由关系也是需要维持的。通信双方中的每一方都需要确信对方是否已经存在,因此两个BGP边界路由器需要定期交换KEEPALIVE报文,一般这个定期的时间就是30。

BGP边界路由器可以使用UPDATE报文来更新路由:包括撤掉以前通知过的路由和增加新的路由。撤销路由时一次可以撤销多条,但是新增路由一个UPDATE报文只能增加一条。

当然在BGP中不存在"好消息传播坏消息传播慢"的问题(感觉RIP的这个问题被玩出梗了)。因为BGP边界路由器不只有一个,而且当某个路由器或者链路出现故障时,由于BGP边界路由器可以不止从一个临站获得路由信息,因此很容易选出新的路由。

下面是BGP的报文格式:



上面介绍的四种报文类型它们具有通用的报文首部,首部为19字节,通用首部主要分为个字段。

标记字段为16字节长,用来鉴别收到的BGP报文,如果不使用鉴别,标记字段要置为全1。长度字段指出包括通用首部在内的整个BGP报文的长度,以字节为单位,比较小值是19,比较大值是4096类型字段的值为1到4,分别对应上面报文的介绍顺序。OPEN报文共有6个字段,如下图抓包所示:





前个字段是BGP通用报文首部,下面的几个字段依次是V版本(1字节,值为4),MAS本自治系统号(2字节,使用的是全球仅有的16位系统号),HT保持时间(2字节,以秒计算的保持为临站关系的时间),BGPIBGP标识符(4字节,路由器的IP地址),下面是可选长度和可选参数。

KEEPALIVE报文只有BGP19字节的通用首部。



UPDATE报文有五个字段,如下图所示:





报文中的U表示不可行路由长度,后面有个字段报文没有列出来,就是WR,要撤销的路由列表,后面的TPAL表示路径属性总长度,后面的P就表示路径属性,比较后的NLRI标识发出这个报文的络。

NOTIFICATION报文有个字段,如下图所示:



主要包括差错代码(1字节),差错子代码(1字节),后面还有差错数据。
爱上大茂名,喜当大猫友,吃喝玩乐事,天天乐开怀!
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

QQ|客服:0668-2886677QQ:75281068|大茂微博|小黑屋|手机版|Archiver|大茂名网 ( 粤ICP备18149867号 )茂名市大茂科技有限公司 版权所有 

GMT+8, 2024-11-29 14:51 , Processed in 0.110473 second(s), 8 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表