首页 > 编程知识 正文

bgp作用,bgp协议常用于哪几个

时间:2023-05-06 08:38:15 阅读:176269 作者:2438

BGP **BGP** (边界网关路由协议)是一种自主系统之间的路由协议。 是无类别路径向量EGP协议。 BGP交换的网络可达性信息提供了足够的信息来检测路由组并基于性能优先和策略约束确定路由** 文章目录BGP1. BGP概要2. BGP基本概念3. BGP状态机4.BGP和IGPBGP对等端之间的交互原则BGP是IGP路由5. BGP属性特征1.origin2. as _ path3. next _ hop4. lop4. lop

1. BGP概述

**bordergatewayprotocol**是一种距离矢量路由协议,用于启用自治系统自动系统(as )之间的路由,并选择最佳路由。

最初发行版的三个版本分别是BGP-1(RFC1105 )、BGP-2 ) RFC1163 )、BGP-3 ) RFC1267 ),1994年开始使用BGP-4 ) RFC1771 ),2006

MP-BGP扩展了BGP-4,达到了在不同网络中应用的目的,BGP-4原有的消息机制和路由机制没有改变。 将MP-BGP在IPv6单播网络上的应用称为BGP4,并且将MP-BGP在IPv4多播网络上的应用称为mbgp (多点传送BGP )。

为了便于管理不断扩大的网络,将网络分为不同的自治系统。 1982年,外部网关协议外部网关协议(EGP )用于在AS之间动态交换路由信息。

但是,EGP的设计比较简单,只公开网络能够到达的路由信息,不优先路由信息。 另外,由于也没有考虑环路避免等问题,不能立即满足网络管理的要求。

BGP是另一种旨在取代第一个EGP的外部网关协议。 与初始EGP不同的是,BGP能够对路由优先级、路由组的避免、更有效的路由和大量的路由信息的维护。

BGP用于在AS之间传递路由信息,但并不是所有AS之间传递路由信息都需要运行BGP。 例如,在数据中心上行的因特网连接的出口处,设备采用静态路由而不是BGP与外部网络通信以避免因特网大量路由对数据中心的内部网络的影响。

BGP从多方面保证了网络的安全性、灵活性、稳定性、可靠性和高效性:

1、BGP采用认证和GTSM的方式,保证了网络的安全性。

2、BGP提供了丰富的路由策略,可以灵活地进行路由。

3、BGP提供路径汇聚和路径衰减功能,防止路径振荡,有效提高了网络稳定性。

4、BGP使用TCP作为传输层协议(端口号179 ),支持BGP和BFD的联动、BGP跟踪和BGP GR,提高了网络的可靠性。

2. BGP基本概念1 .自治系统(autonomous system )、互联网IP地址管理员或ISP )互联网服务提供商)。 在自治系统内,管理员可以自主地决定路由的所有操作,通过自治系统之间的接入、BGP等外部路由协议交换信息。 提供互联网服务的ISP必须已注册并分配了AS号码。 这个AS号码是全网唯一的,中国的AS号码管理员是中国互联网信息中心(cnnic )。

2 .对等方(peer )、BGP连接是一对一连接的,将建立BGP连接的双方称为对等方,对等方根据AS号进行识别,将相同AS号的称为内部对等方,使用IBGP协议,将不同AS号的称为外部对等方,使用EBGP

3. BGP状态机在与BGP对等体的交互中存在六种类型的状态机:空闲(Idle)、连接(Connect)、活跃(Active)、Open报文已发送(OpenSent)、Open报文已确认(OpenConfirm)和连接已建立(Established。 在建立BGP对等体的过程中,常见的三种状态包括空闲、活动和空闲。

1、空闲状态是BGP初始状态。

在空闲状态下,BGP拒绝来自邻居的连接请求。 BGP只在接收到设备的开始事件后,才尝试与其他BGP对等方进行TCP连接,并进入Connect状态。

操作员设置BGP进程、重置现有进程或路由器软件重置BGP进程时会发生Start事件。

当接收到任何状态的错误事件(如通告消息或TCP解链通知)时,BGP会转换为Idle状态。

2、在“Connect (连接)”状态下,BGP启动连接重发计时器(Connect Retry ),等待TCP完成连接。

如果TCP连接成功,BGP向对等方发送Open消息,并转换到OpenSent状态。

如果TCP连接失败,BGP将进入活动状态。

即使连接重发超时,在BGP还没有收到来自BGP对等体的应答的情况下,BGP继续尝试与其他BGP对等体的TCP连接,停留如下

Connect状态。

3、在Active状态下,BGP总是在试图建立TCP连接。

如果TCP连接成功,那么BGP向对等体发送Open报文,关闭连接重传定时器,并转至OpenSent状态。

如果TCP连接失败,那么BGP停留在Active状态。

如果连接重传定时器超时,BGP仍没有收到BGP对等体的响应,那么BGP转至Connect状态。

4、在OpenSent状态下,BGP等待对等体的Open报文,并对收到的Open报文中的AS号、版本号、认证码等进行检查。

如果收到的Open报文正确,那么BGP发送Keepalive报文,并转至OpenConfirm状态。

如果发现收到的Open报文有错误,那么BGP发送Notification报文给对等体,并转至Idle状态。

5、在OpenConfirm状态下,BGP等待Keepalive或Notification报文。如果收到Keepalive报文,则转至Established状态,如果收到Notification报文,则转至Idle状态。

6、在Established状态下,BGP可以和对等体交换Update、Keepalive、Route-refresh报文和Notification报文。

如果收到正确的Update或Keepalive报文,那么BGP就认为对端处于正常运行状态,将保持BGP连接。

如果收到错误的Update或Keepalive报文,那么BGP发送Notification报文通知对端,并转至Idle状态。

Route-refresh报文不会改变BGP状态。

如果收到Notification报文,那么BGP转至Idle状态。

如果收到TCP拆链通知,那么BGP断开连接,转至Idle状态。

4.BGP与IGP BGP对等体之间的交互原则

BGP设备将最优路由加入BGP路由表,形成BGP路由。BGP设备与对等体建立邻居关系后,采取以下交互原则:

1、从IBGP对等体获得的BGP路由,BGP设备只发布给它的EBGP对等体。
2、从EBGP对等体获得的BGP路由,BGP设备发布给它所有EBGP和IBGP对等体。
3、当存在多条到达同一目的地址的有效路由时,BGP设备只将最优路由发布给对等体。
4、路由更新时,BGP设备只发送更新的BGP路由。
5、所有对等体发送的路由,BGP设备都会接收。

BGP引入IGP路由

BGP与IGP在设备中使用不同的路由表,为了实现不同AS间相互通讯,BGP需要与IGP进行交互,即BGP路由表和IGP路由表相互引入。

BGP协议本身不发现路由,因此需要将其他路由引入到BGP路由表,实现AS间的路由互通。

当一个AS需要将路由发布给其他AS时,AS边缘路由器会在BGP路由表中引入IGP的路由。为了更好的规划网络,BGP在引入IGP的路由时,可以使用路由策略进行路由过滤和路由属性设置,也可以设置MED值指导EBGP对等体判断流量进入AS时选路。

BGP引入路由时支持Import和Network两种方式:

1、Import方式是按协议类型,将RIP、OSPF、ISIS等协议的路由引入到BGP路由表中。为了保证引入的IGP路由的有效性,Import方式还可以引入静态路由和直连路由。

2、Network方式是逐条将IP路由表中已经存在的路由引入到BGP路由表中,比Import方式更精确

5. BGP属性特点

BGP属性有:公认必遵,公认任意,可选过渡,可选非过渡

1.Origin

Origin属性定义路径信息的来源,标记一条路由是怎么成为BGP路由的
① AS 200内运行OSPF协议,200.0.0.0/24网段宣告到OSPF中。RTB通过network方式将200.0.0.0/24的路由变为BGP路由通告给RTA,RTC通过import方式将200.0.0.0/24的路由变为BGP路由通告给RTA
② BGP在AS之间传递信息,承载大量的路由。如果到达同一目的IP有多条路径,且BGP学到这些路由通过不同的方式,则Origin属性是决定最优路径的一个因素,用于标明路由的起源
Origin的3种属性:
① i表明BGP路由通过network命令注入
② e表明BGP路由是从EGP学来的,EGP协议在现网中很难见到,但可以通过路由策略将路由的Origin属性修改为e(了解即可)
③ ?即Incomplete(未知)表明BGP路由通过其它方式学到路由信息,如使用import命令引入的路由。
④ 3种Origin属性的优先级为:i>e>Incomplete(?)

2.AS_Path

As-path:指示出了该路由信息经过了哪些AS路径,主要作用是保证AS间无环路(如果收到的路径出现本自治系统的号码,则拒绝接收),一般当本自治系统的路由离开自治系统的时候会添加本自治系统的号码,BGP路由选路的时候,会优先选择AS-PATH短的路由。

3.Next_hop

下一跳属性,需要注意的是当边界设备学习到EGP对等体发布的路由的时候,传递给IBGP对等体的时候,不会修改路由的下一跳。

4.Local_Preference

Local_Pref属性仅在IBGP邻居之间有效,不通告给其他AS。它表明路由器的BGP优先级,用于判断流量离开AS时的最佳路由 值越大越优 其默认值为100

5.MED

MED(Multi-Exit-Discriminator)属性仅在相邻两个AS之间传递,收到此属性的AS不会再将其通告给任何其他第三方AS,用于判断流量进入AS时的最佳路由

6.BGP选路规则


比较前提,多条BGP路由目标相同,且均可优(下一跳可达、同步关闭),具有相同的优先级(管理距离)

优选Preference_Value值最高的路由(私有属性,仅本地有效)。
不传递 权限最高属性 可以干涉EBGP/IBGP选路优选本地优先级(Local_Preference)最高的路由。IBGP邻居关系间传递,最常干涉IBGP关系的选路优选手动聚合>自动聚合>network>import>从对等体学到的。优选AS_Path短的路由。
EBGP/IBGP关系均可被干涉,但只能在EBGP邻居间修改;起源类型IGP>EGP>Incomplete。
起源属性 i>e>?; 可在控制层面任意接口修改;对于来自同一AS的路由,优选MED值小的。默认为0,宣告或重发布(关闭自动汇总)路由时携带本地到达目标的cost,最常用于干涉EBGP选路的属性优选从EBGP学来的路由(EBGP>IBGP)。优选AS内部IGP的Metric最小的路由。优选Cluster_List最短的路由。优选Orginator_ID最小的路由。优选Router_ID最小的路由器发布的路由。优选具有较小IP地址的邻居学来的路由。 7.BGP路由黑洞处理方法 全互联

如图: AS2中AR2分别与AR3和AR4建立邻,R4与R3建邻,并且修改下一条属性(缺点:配置量大,全部路由都要传递,占用链路资源)

反射器 联邦

联盟配置,现网中已经很少用到

MPLS

MPLS标签技术:有了这个标签分发技术,就可以在2层与3层之间弄出一个2.5层,路由器通过MPLS的压标签弹标签进行路由的传递,来解决BGP路由黑洞的问题

原因其实很简单:

AR4收到AR2的BGP路由,它发现自己的FIB表并没有这条路由,这时AR3会基于这条路由进行本地的递归查找,最后递归发现AR3本地的FIB表中有这条BGP路由的下一跳,即AR2的BGP建邻环回地址,这样就会给AR2的BGP路由贴上环回的标签,通过这条环回的MPLS的标签隧道,从AR4->AR3->A2,到了AR2后撕掉建邻环回的标签,发现是要到本地的另一个环回,这样就可以访问到了,所以MPLS是这样从根本解决BGP路由黑洞

8. BGP扩展特性 1.安全特性

1.安全特性
MD5认证
BGP使用TCP作为传输层协议,
为提高BGP的安全性,在建立TCP连接时进行MD5认证。
BGP的MD5认证并不能对BGP报文认证
在TCP连接设置MD5认证密码,由TCP完成认证。如果认证失败,则不建立TCP连接。(自然导致BGP邻居无法建立)

2.路由衰减

2.1解决路由不稳定的问题,BGP主要应用于复杂的网络环境中,路由变化十分频繁。为了防止持续的路由震荡带来的不利影响,BGP使用路由衰减来抑制不稳定的路由

2.2实现抑制不稳定的路由

使用惩罚值(penalty value)来衡量一条路由的稳定性
惩罚值越高说明路由越不稳定,最高为16000,路由没发生一次震荡,增加1000惩罚值,惩罚值超过抑制阈值(Suppress Value)2000时,路由被抑制
震荡:路由从激活状态变为未激活状态。实际中就是先network,再取消
路由被抑制:路由不加入到路由表中,也不再向其他BGP对等体发布更新报文
当路由惩罚值达到最大抑制值(Maximum suppress Value)16000,不会再增加
确保路由在非常短的时间内震荡十几次后,不会将惩罚值累计到一个很高的、持续保持被抑制状态的值
被抑制的路由经过一段时间没有震荡,惩罚值减半,称为半衰期(Half-life),默认15分钟
当惩罚值降到再使用阈值(reuse value)750时,路由变为可用并被加入到路由表中,同时向其他BGP对等体发布更新报文
路由衰减只适用于EBGP路由,对于从IBGP收到的路由不能进行衰减

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。