BGP复习笔记--自用

本文详细介绍了BGP协议的定义、特点、报文结构、状态机、邻居建立问题、路由属性、选路原则、路由通告机制以及在大规模网络中的应用,包括路由反射、路由聚合和联盟解决方案。
摘要由CSDN通过智能技术生成

目录

一、BGP定义

二、BGP特点

三、BGP报文

四、BGP状态机及工作原理

五、BGP邻居无法建立原因

六、BGP邻居建立起来后又失败了

七、BGP邻居分类

八、BGP四大属性

九、BGP选路原则

十、BGP路由通告原则

十一、成为BGP路由的方式

十二、BGP路由反射器

十三、BGP路由聚合

十四、BGP联盟

十五、解决大规模BGP网络所遇到的问题


一、BGP定义

        BGP全称为边界网关路由协议,它是一种外部网关路由协议,用于在AS之间传递路由信息,工作在应用层,在传输层采用TCP协议,协议号为179,是可靠的路由协议。

二、BGP特点

        1、是基于策略的路由协议,着重于控制路由的传递和选择最优路由

        2、从设计上避免了环路:

        (1)AS之间:BGP路由携带as-path属性,路由器收到带有自身AS号的路由将直接丢弃

        (2)AS内部:从IBGP邻居学到的路由不会再发给IBGP邻居

        3、提供了丰富的路由策略和过滤策略,能够灵活对路由进行选择和过滤

        4、是增强的距离矢量路由协议,发布路由时,只发布更新的路由

        5、扩展性好,通过修改TLV字段,能够轻松支持各种技术

        6、适用于大型企业网络、互联网接入的场景

三、BGP报文

        1、Open报文

        负责和对等体之间建立邻居关系;open报文内容有BGP版本、AS号、router-id、认证信息、计时器信息等。

        2、keepalive报文

        用于维护BGP邻居关系,默认保持时间为60秒,老化时间为180秒。

        3、Update报文

        用于在对等体之间交换路由信息,包括可达路由信息,撤销路由信息及各种路由属性。

        4、notification报文

        当检查到错误时就会发送该报文给邻居。

        5、Router-refresh报文

        该报文用于指定邻居重新进行路由更新。

四、BGP状态机及工作原理

        1、Idle

        BGP连接的第一个状态,在空闲时间,等待一个启动事件,启动事件出现以后,BGP初始化资源,复位连接重试计时器,同时发起第一个TCP连接,进入Connect状态。

        2、Connect

        该状态下,BGP已启动连接重试计时器(120秒),发起第一个TCP连接,如果连接重试计时器超时,则重新发起TCP连接,如果TCP连接建立失败,就进入Active状态,如果TCP连接建立成功,就进入opensent状态。

        3、Active

        该状态下BGP总是尝试不断建立TCP连接,若连接重试计时器超时(180秒),则退回到Connect状态,若TCP连接失败则停留在Active,若TCP连接成功则进入opensent状态。

        4、Opensent

        该状态下,TCP连接已经成功建立,也发出了第一个open报文,等待对方的open报文,如果收到对方的open报文,就会对报文进行正确性检测,若有错误,则会发出notification报文,并退回到idle状态。

        5、Openconfirm

        该状态下已经收到对方的open报文,并且已发出keepalive报文,等待对方的keepalive报文,若收到对方的keepalive报文,则进入Establish状态。

        6、Established

        该状态下表示BGP邻居关系已经建立,BGP邻居可以通过update报文更新路由信息了。

五、BGP邻居无法建立原因

        1、peer对端地址不可达

        2、邻居AS号配置错误

        3、更新源问题(Connect-interface xxx)

        4、EBGP跳数问题(从EBGP学习的路由下一跳默认为1跳,在传递给邻居时下一跳信息不变,导致黑洞路由,通过EBGP-max-hop修改)

        5、BGP认证错误

        6、Open报文协商失败

        7、BGP的router-id冲突

        8、接口配置了禁止179端口的ACL

六、BGP邻居建立起来后又失败了

        1、MTU值问题,接口两端MTU值不一致

        2、网络拥塞导致协议报文超时

        3、接口设置了QOS,导致协议报文传输有问题

七、BGP邻居分类

        1、IBGP邻居

        2、EBGP邻居

八、BGP四大属性

        1、公认必遵属性:所有路由器都识别该属性,并且要求存在于update报文中,有三种:

        (1)origin属性:标识一条BGP路由是怎么成为BGP路由的

                1、IGP

                通过IGP学习到的路由,一般是network的路由或者聚合的路由,origin属性为IGP。

                2、EGP       

                通过EGP学习到的路由,origin属性为EGP。

                3、Incomplete

                表明来源不明,一般是import的路由或者聚合的路由,origin属性为Incomplete。

        聚合路由的origin属性有可能是IGP,也有可能是Incomplete,当聚合路由的所有成员路由的origin属性为IGP时,聚合后的路由的origin属性就为IGP;当聚合路由的所有成员路由的origin属性为incomplete或者部分为IGP部分为Incomplete时,聚合路由的origin属性为Incomplete。

        (2)as-path属性:用于标识BGP路由的起源AS和所经过的AS

        有三个作用:1、标识BGP路由的起源AS和所经过的AS 2、用于AS之间防环 3、用于选择最优路由,as-path越小越优。

        (3)next-hop属性:标识BGP路由的下一跳信息

                1、BGP在将本地始发的路由通告给邻居时,下一跳设置为本端与对端建立BGP邻居关系的接口地址。

                2、BGP设备向EBGP邻居发布路由时,下一跳设置为本端与对端EBGP建立BGP邻居关系的接口地址。

                3、BGP设备向IBGP邻居发布从EBGP邻居学习的路由,下一跳信息不变,有可能会导致下一跳不可达,从而导致黑洞路由,如要解决有两种方式:(1)在该路由器上引入直连路由 (2)使用peer next-hop local命令将下一跳改为自己。

        2、公认任意属性:所有路由器都识别该属性,但是不要求必须存在于update报文中。

        (1)local-preference

        本地优先级属性,用于控制本地as的流量如何流出本as,越大越优,默认为100,取值为1-2~32-1。

        (2)auto-aggregate

        主要用于路由聚合时,如果聚合的路由将所有的明细路由都抑制了,就会为该聚合的路由生成该属性,用于告知成员明细路由的路径属性丢失了。

        3、可选过度属性:不要求所有路由器都识别该属性,如果有设备识别则会传递该属性。

        (1)community

                团体属性,将具有相同特征的路由进行标记,便于进行路由控制,有三种:保留的团体属性、公认的团体属性和私有团体属性。

        公认团体属性:

                1、internet

                BGP路由默认的属性,当收到该属性的路由时,可以把路由通告给所有邻居。

                2、no-export

                当收到该属性的路由时,不应该把路由通告给联盟以外的邻居。

                3、no-Advertise

                当收到该属性的路由时,不应该把路由通告给任何邻居。

                4、no-subconfid

                当收到该属性的路由时,可以把路由通告给IBGP邻居,但是不应该通告给EBGP邻居

        (2)aggregate:对auto-aggregate属性的补充,用于说明明细路由的路径属性在何处丢失了。

        4、可选非过度属性

        (1)MED值:也叫外部度量值,用于控制外部的AS流量如何流入本AS,默认为0,越小越优。

九、BGP选路原则

        1、丢弃下一跳不可达路由(必要条件)

        2、比较协议首选值,越大越优

        3、比较本地优先级,越大越优

        4、依次优选手动聚合、自动聚合、network、import的路由

        5、比较as-path属性,越短越优

        6、比较origin属性,IGP>EGP>Incomplete

        7、比较MED值,越小越优

        8、依次优选从EBGP、联盟EBGP、联盟IBGP、IBGP邻居学来的路由

        9、优选到BGP路由IGP开销最小的路由

        10、比较Cluster-list属性,越小越优

        11、比较origin-id属性,越小越优

        12、比较router-id属性,越小越优

        13、优选从具有最小IP address邻居学来的路由

十、BGP路由通告原则

        1、BGP只会将有效且最优的路由发布给邻居

        2、从EBGP邻居学来的路由会发布给所有邻居

        3、从IBGP邻居学来的路由不会再发给IBGP邻居,是否会发给EBGP邻居,需要看IGP和EGP是否同步

十一、成为BGP路由的方式

        1、通过network方式

        2、通过import方式

十二、BGP路由反射器

        1、作用:解决IBGP全互联问题,减少IBGP邻居关系数量,降低设备负担。

        2、角色

        (1)路由反射器

        (2)客户端

        (3)非客户端

        3、反射规则

        (1)从客户端学来的路由,会发布给客户端和非客户端

        (2)从非客户端学来的路由,只会发布给客户端

        (3)从EBGP邻居学来的路由,会发布给客户端和非客户端

十三、BGP路由聚合

        1、自动聚合

        summary auto命令对BGP引入的IGP路由进行自然网段的聚合,只会将聚合的路由发布给邻居,明细路由会被抑制,缺省情况下自动聚合关闭。

        2、手动聚合

        aggregate命令用于对BGP引入的路由、network生成的路由和import的路由进行手动聚合,会将聚合的路由和明细的路由发布给邻居,参数detail-suppress用于抑制明细路由的发布。

十四、BGP联盟

        将一个AS分为若干个子AS,子AS内部使用IBGP全互联,子AS之间、联盟本身和外部之间用特殊的EBGP连接。

十五、解决大规模BGP网络所遇到的问题

        1、IBGP对等体众多问题

        (1)配置BGP对等体组

        (2)配置团体属性

        2、IBGP全互联问题

        (1)配置BGP路由反射器

        (2)配置BGP联盟

        3、BGP路由表变化频繁

        (1)配置BGP路由衰减

        4、BGP路由表规模庞大

        (1)配置BGP路由聚合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值