HCIP --- BGP --- 边界网关协议

2 篇文章 0 订阅
2 篇文章 0 订阅

BGP --- 边界网关协议

AS --- 自治系统 --- 由单一机构或组织管理的一系列IP网络及其设备的集合。

                  1、网络范围太大,协议跑不过来,需要进行划分;

                  2、自治管理

       为了方便区分和标定不同的AS,我们给每个自治系统设计了一个编号 --- AS号--- 16位二进制构成 --- 0-65535;其中0和65535为保留值,不用,所以,AS号真正的取值范围为1- 65534我们将64512-65534AS号称为私有AS号。 --- 因为传统的AS号存在不够用的问题,所以目前也存在拓展版的AS号 --- 32位构成 --- 目前绝大多数设备已经支持拓展版的AS号。

       EGP协议在之前还存在一款协议 --- EGP,但是在其功能有限,后来在其基础上进行优化和改进,生成了现在的BGP协议。目前AS之间使用最广泛的协议就是BGP协议。目前AS之间使用最广泛的协议就是BGP协议。

       在目前IPv4环境下,使用最广泛的BGP版本就是BGPv4。目前市场上已经存在BGPv4+。

BGPv4+又可以称为MP-BGP --- 可以支持多种地址族的应用。

       在没有BGP协议的情况下,仅使用重发布技术,也可以实现AS之间的路由信息的共享。但是,之所以不采用这种方案,其原因如下

         1、重发布技术本身存在缺陷 --- 在多点重发布中,因为种子度量值问题,必然造成选路不佳。

          2、ASBR设备的归属问题

       BGP之间传递路由的方式一定是和RIP类似,通过传递路由条目信息来实现。 --- 之所以不适用拓扑信息,主要因为:

        1、拓扑信息资源占用量太大,而BGP需要传递的数量是巨大的。

        2、传递拓扑信息将暴露本AS内部的拓扑连接情况。

BGP --- 无类别的路径矢量型协议

             距离矢量 --- 在距离矢量型协议中,距离是开销的体现,将跳数作为开销值的评判标准。将一个路由器看作是一个单位计算距离。

距离矢量是算法的概念,因为IGP协议本身需要通过算法来计算出未知网段的路由信息。

             路径矢量 --- 是将一个AS看作一个整体

             路径矢量不牵扯算法,因为BGP仅仅是将IGP计算出来的路由信息发送到其他AS之中,相当于仅将现在的路由进行传递而不需要计算。

IGP --- 选路佳、收敛快、占用资源少

BGP协议的关注点:

1、可控性 --- AS之间需要传递大量的路由信息,所谓可控,就是可以更方便的干涉选路,更容易做路由策略。

       为了保证可控性,BGP舍弃了开销值。取而代之的是BGP给每条路由信息附加了很多路径属性。之后,可以通过这些属性来进行选路。因为多种属性的存在,将导致我们的选路变得更加的灵活和方便。使得BGP协议具有强大的可操控型。

       因为BGP协议需要传递大量的路由信息,所以,其本身不可能存在周期更新机制。BGP仅存在触发更新。

2、可靠性 --- 需要保证数据传输的可靠。BGP为了保证传输的可靠性,其传输层协议直接选择使用TCP协议。使用TCP的179号端口进行工作。

IGP协议不选择使用TCP的原因:

1、TCP传输效率较低

2、TCP传输占用资源较大

3、TCP协议只能实现单播,所以,无法通过组播或者广播的形式发送,则将导致IGP协议无法自动发现邻居关系,只能手工指定。

因为BGP选择使用的是TCP协议,所以,BGP需要手工建立邻居关系。

        BGP因为传输层使用的是TCP协议,所以,只要在TCP协议可以正常建立会话的基础上就可以完成BGP的建邻工作。 --- BGP支持非直连建邻(网络可达)--- BGP的非直连建邻建立在IGP(静态)之上。

在BGP中,我们邻居关系称为对等体关系。

EBGP对等体关系 --- 如果建立对等体的两台路由器位于不同的AS中,则他们的关系被称为EBGP对等体关系。

IBGP对等体关系 --- 如果建立对等体的两台路由器位于不同的AS中,则他们的关系被称为IBGP对等体关系。

       因为,EBGP对等体之间一般使用直连建邻,所以,EBGP对等体之间发送的数据包中的TTL值我们将其设置为1。如果遇到EBGP对等体之间需要进行非直连建邻,则需要手工修改TTL值。IBGP对等体关系在AS内部一般都是非直连建邻,所以,TTL值设置为255。

3、AS - BY - AS --- 在BGP当中,我们将一个AS看作一个整体。

        BGP协议是不支持负载均衡的。--- 在BGP当中,如果到达同一个目标网段存在多条路经可以走时,BGP将会根据其中的路径属性来选择一条最优的加载到路由表中,而不会进行负载均衡。

一、BGP的数据包

           BGP协议所有数据包的传输的可靠性均由TCP协议来保证。所有BGP数据包均基于TCP建立的会话通道发送。

          OSPF的Hello --- 周期性的发现、建立和保活邻居关系。

          在BGP中,发现邻居关系的过程变为由人手工指定。主要因为TCP协议需要建立会话通道,之后才会基于通道发送数据包。

open包 --- 建立BGP对等体关系。

       邻居关系的建立无非就是参数协商的过程。BGP建立邻居关系需要通过open包来携带参数,进行比对协商。

       AS号 --- 在创建邻居关系时需要指定邻居所在的AS号,这个参数将被携带在open报文中发送给对方,对方将比对这个AS号和本地所在的AS号是否一致,如果一致,则可以正常建立邻居关系。

       认证 --- BGP建邻也可以做认证,做认证后将携带认证口令,认证口令双方需要比对,一致则可以正常建立邻居关系。

       Route - ID --- 区分和标定路由器的。也是由32位二进制构成,按照IP地址的格式来表示。 --- 1、手工配置;2、自动获取(先看设备是否存在环回接口,如果存在则将选择环回接口中IP地址最大的地址作为RID,如果没有环回接口,则将在物理接口中选择IP地址最大的作为RID)

         这个RID将在open包中携带,发送到对端之后,对端将检测这个RID,如果和本地的RID不同,则将可以正常的建立邻居关系。

手工建立邻居关系时所指定的建邻的IP地址必须和收到的open包中的源IP地址相同才能正常建立邻居关系。否则,邻居关系将建立失败。

        Holdtime --- 保活时间 --- 默认时间为180s,在保活时间内,如果没有收到对方发送的keeplive包或者update包,则将断开BGP邻居关系。这个参数在open报文中将被携带,但是,双方不一致不会影响邻居关系的建立,但是在执行时,这个时间必须是一致的,则将采用双方中较小的保活时间来使用。

路由器是否支持刷新功能也将成为open报文中所携带的一个协商参数。

keeplive包 --- 周期保活 --- 周期发送时间等于保活时间的1/3.默认保活时间180s,则默认的周期发送时间为60s。

         除了保活之外,keeplive包还将在open报文协商参数时临时充当确认包的作用。

        TCP协议进行确认的目的是为了保证数据传输的可靠性,而keeplive报文确认的目的是为了确认认可对方发送的open报文中的参数。

update包 --- 更新包 --- 携带需要传递路由信息的数据包。

        表示一条路由条目信息,需要携带的参数主要就是目标网络号和子网掩码信息,以及路径属性。

        在更新包中,存在一个撤销路由条目字段,在字段下的路由条目将需要对端删除,而不再需要通过带毒传输的方式来表达。

notifcation包 --- BGP中设计的一个告警机制。

Route - refresh包 --- 用于改变路由策略变更后请求对等体重新发送路由信息。(前提条件是双方均支持路由刷新功能才行。)

二、BGP的状态机

           BGP的状态机描述的是BGP对等体建立过程中状态的变化。因为BGP这个协议可以将邻居建立过程和路由收发过程分开进行。

BGP的状态机6种:

IDLE --- 空闲状态 --- 路由器启动BGP进程之后,将先处于idle状态。当你手工指定邻居关系后,BGP将进入到一个检查环节,检查指定的IP地址在本地路由表中是否可达。如果可达,则将进入到下一个状态 --- connect。

connect --- 连接状态,该状态完成TCP会话的建立。

        如果TCP会话建立成功,则进入到opensent状态,发送open报文;

        如果TCP会话建立失败,则将进入Active状态,尝试重新建立TCP会话。

        在建立TCP会话过程中,因为双方都会发起建立会话的过程,而最终建立的都是一个双向的会话。所以,最终只需要一个会话通道即可。选择方式是通过后续open报文中的RID进行比较,选择保留RID大的设备发起的TCP会话。

Opensent --- 发出本地的open报文。收到对端发送的open报文,查看里面的参数,之后,如果确认参数无误。则将回复Keeplive报文作为确认。

Openconfirm --- open报文确认状态 --- 对端也收到本地发送的open报文,之后根据里面的参数进行确认。如果确认无误则将发送Keeplive报文。本段收到对方发送的Keeplive报文之后将进入到下一个状态。

Established --- 建立状态 --- 标志着BGP对等体关系的建立。

三、BGP的工作过程

1、基于IGP协议实现IP可达;

2、指定邻居关系,通过三次握手,建立TCP的会话通道。之后所有的BGP的数据包都将基于TCP会话通道来进行传递。

3、使用open报文和keeplive报文进行邻居关系的建立;之后将邻居关系收集到一张表中 --- 邻居表。

4、通过update报文传递路由信息。传递的路由条目信息主要包含目标网络号,掩码信息,以及各种路径属性。之后设备会将所有自己发出或收到的路由信息记录在一张表中 ---- BGP表

5、之后将BGP表中最优路径加载到路由表中。

6、收敛完成后,BGP将周期使用keeplive报文进行保活。保活时间默认为180s,周期发送时间默认为保活时间的1/3,即60s。

7、若出现错误信息,将使用notfication报文进行警告。

8、若发生结构突变,则将使用update报文进行触发更新。

四、BGP的路由黑洞

       由于BGP协议支持非直连建邻,故可能出现BGP协议跨越未运行BGP协议的路由器。导致BGP路由传递后,控制层面可达,但是数据层面,在经过未运行BGP协议的路由器时无法通过。形成路由黑洞

解决方法:

1、将R3上BGP协议的路由信息重发布到IGP当中。

2、直接在R4上运行BGP协议。

3、MPLS

         为了避免路由黑洞的情况产生,BGP提出了同步机制 --- 即当一台路由器从自己的IBGP对等体学习到一条BGP路由时,他将不能把他通告给自己的EBGP对等体,除非他又从IGP协议当中学习到这条路由。

五、BGP的防环

BGP使用的防环机制 --- 水平分割机制

1、EGBP的水平分割 --- 一种专门应用在EGBP对等体之间,用来解决EGBP对等体之间可能出现的环路问题

      BGP协议将在路由条目中记录所经过的AS编号 --- AS_PATH --- 记录AS路径的一个属性。(这个属性除了可以完成EBGP的水平分割外,还可以作为选路的依据。)--- 接收到的BGP路由条目中,其中的AS_PATH属性中,若存在本地的AS号,则将拒绝接受。

2、IGBP的水平分割 --- 一种专门应用在IGBP对等体之间,用来解决IGBP对等体之间可能出现的环路问题

        IGBP水平分割 --- 当一个路由器从一个IBGP对等体处学习到某条BGP路由时,他将不能在将这条路由信息通告给其他的IBGP对等体关系。

       因为IBGP水平分割的限制,导致IBGP对等体之间的路由信息只能传递一条,在这种情况下,可能会造成通信障碍。解决方案:

1、构建全连的IBGP对等体关系 --- 这样的方法弊端在于1.全连建邻会导致资源消耗增加;2.可能导致全网的可拓展性降低。

2、路由反射器

3、联邦

六、BGP的基本配置

一 、  BGP建邻的基本配置

1 ,  EBGP对等体关系直连建邻

[r1]bgp 1    ---- 启动BGP进程 ---- 后面的1不是进程号,而是配置路由器所在AS的AS号

[r1-bgp]router-id 1.1.1.1 --- 配置RID

[r1-bgp]peer 12.0.0.2 as-number 2 --- 手工指定对等体关系 [r1]display bgp peer  --- 查看BGP邻居表的命令

2 ,  IBGP对等体关系之间的环回建邻

       由于IBGP邻居处于同一个AS中,一般情况下,一个AS中存在 大量的备份路径,若使用物理接口建立邻居关系,将浪费这些备 份或者负载均衡资源,故建议使用环回接口来进行IBGP对等体关 系的建立。

[r2-bgp]peer 3.3.3.3 as-number 2

[r2-bgp]peer 3.3.3.3 connect-interface LoopBack 0 --- 指定在给3.3.3.3发包时使用的源IP地址为环回接口0的IP地址。

注意:在使用环回接口建立对等体关系时,一定要修改发送 接口。

3 ,  EBGP对等体关系之间的非直连建邻

注意:在EBGP对等体关系之间,一般是不具备非直连建邻的 路由基础的,所以,需要先保证地址可达才行。

[r4-bgp]peer 5.5.5.5 as-number 3

[r4-bgp]peer 5.5.5.5 connect-interface LoopBack 0

[r4-bgp]peer 5.5.5.5 ebgp-max-hop 2 --- 因为EBGP对等体之间 一般是直连建邻,所以,数据包中的TTL值设置为1,要想非 直连建邻,则需要将这个值改大。

[r5-bgp]peer 4.4.4.4 ebgp-max-hop  --- 如果后面不跟参数,则 代表将TTL值修改为最大值255

二,发布路由

1 、 network --- 在BGP中只能用来发布路由条目信息

注意:只要是路由表中存在的路由条目信息,  BGP都可以通过 Network来进行发送。

[r1-bgp]network 1.1.1.0 24 --- 目标网段信息及掩码必须和路由表 中的完全一致才行。

[r1-bgp]display bgp routing-table  --- 查看BGP表

Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

*>   1.1.1.0/24         0.0.0.0         0                  0       i

Network  --- 目标网段信息及掩码信息

NextHop --- BGP的一个路径属性 ---- 谁发的路由信息,下一跳 就是谁,如果是自己发的,则下一跳为0.0.0.0。

状态码

        * --- 代表可用 --- 设备每收到一跳路由信息,都会检查其下一跳 的可达性。即根据下一跳在路由表中递归查询,只要可达,则改 路由信息可用。

        > --- 代表优选 --- 当收到到达相同网段存在多条路由信息时,   BGP将在其中根据属性优选出一条加载到路由表中。这条优选路 由将赋予这个标记。

注意:只有一条路由条目是可用且优选的,他才能够被加到路由 表中,也才能够被传递给其他的BGP对等体。

1.1.1.0/24  EBGP    255 --- 通过EBGP对等体学到的BGP路由信 息,其标记为EBGP,默认的优先级为255。

I --- 状态码I --- 代表BGP路由信息是从自己IBGP对等体处学到的

i  1.1.1.0/24         12.0.0.1  --- 因为在AS内部存在AS-BY-AS规则,所以,默认情况下传递的属性信息是一致的,  因为这个下一 跳也属于路径属性之一,默认情况下也不会传递,则将可能导致 路由可用性校验失败。

[r2-bgp]peer 3.3.3.3 next-hop-local --- 在给3.3.3.3传递路由信息是 将下一跳属性改为本地

1.1.1.0/24  IBGP    255    --- 通过IBGP对等体学到的BGP路由信 息,其标记为IBGP,默认的优先级为255。

        路由表中的NextHop直接使用的是BGP属性中的下一跳,  因为之前 进行过可用性校验,所以,可以保证能够递归查找找到这个下一 跳。

2、重发布

OGN --- 起源码 --- I、e、? --- 用来标识路由条目的起源

I --- 代表该路由信息起源于IGP协议(不局限于IGP协议,包括静态、直连),代表该路由条目起源于AS内部 --- 通过network发布出来的路由信息其起源于为I

E --- 代表该路由信息起源于EGP协议 --- EGP指的是EGP之前使用的外部网关协议

--- 代表通过除了以上两种方式学习到的路由 --- 重发布导入的路由起源码都是?

七、BGP的路由聚合

自动聚合

1、该方法只能针对重发布发布的路由信息生效

2、自动聚合路由只能按照主类进行聚合,将造成巨大的路由黑洞。所以华为设备BGP自动聚合功能默认关闭

1、抓取流量:

2、做路由策略:

3、在重发布中调用路由策略:

开启自动聚合的方法:

*> 172.16.0.0 127.0.0.1 --- 通过自动聚合会发布一条新的汇总路由,他是不携带子网掩码的,因为按照主类汇总,则子网掩码取主类默认值。而且通过聚合发布的路由信息其下一跳属性为127.0.0.1

注意:自动聚合之后,发布的汇总路由信息将在本地路由表中产生一条指向汇总的空接口,自动防环。

状态码 --- S --- suppressed --- 抑制路由条目的传递

手工聚合

       因为自动聚合存在两个缺陷,所以,如果需要对汇总进行精准把控时,手工聚合将是更理想的方案。

手工聚合的问题:

       1、发布聚合路由的情况下,不会抑制明细路由,导致汇总操作并没有减少路由条目数量,反而增加了。

       2、在进行汇总的时候,发布的汇总路由不会继承明细路由的属性,尤其是AS_PATH,则将导致汇总路由部分属性缺失,甚至可能出现环路。

问题解决:

为了避免以上两个问题的产生,我们必须在配置过程中增加命令来完成。

        但是,因为BGP协议的一些特殊性,我们往往不能将其所有的明细路由全部抑制。只能够抑制部分的路由信息 --- 所以我们需要使用到suppressed - policy。

1、抓取流量,使用前缀列表:

2、使用路由策略匹配流量:

3、使用抑制策略调用路由策略:

对于第二个问题,我们专门设计了一个AS_SET关键字,如果在配置命令的时候,将这个关键字激活,则BGP在汇总路由时,将携带上明细AS_PATH属性,来进行防环。

*> 172.16.0.0/22 127.0.0.1 0{1 4}? --- 如果明细路由携带的AS_PATH属性不一样,则在激活了AS_SET属性后,汇总路由将会把明细路由的AS号都携带上并且用大括号括起来,之后,在进行防环的时候,里面所有AS号都将生效,都不能回传。但是,在使用AS_PATH属性进行选路的时候,当作一个AS来看待。

     

        因为聚合后的路由信息存在属性丢失问题,所以,这样的汇总路由需要格外的关注。为此,我们为BGP专门引入了两个属性 --- ATOMIC_AGGREGATE,AGGREGATOR

ATOMIC_AGGREGATE --- 纯粹预警属性 --- 只有在抑制全部明细路由时才会携带

AGGREGATOR --- 将携带汇总者的RID以及其所在的AS号

八、路由反射器

Router Reflector --- 路由反射器 --- RR --- 我们可以通过配置,将某些设备在一定的条件下设置称为路由反射器,之后,该设备将可以反射所学习到的IBG路由信息。

        我们在指定一台路由器称为路由反射器(RR)的同时,必须在他的IBGP对等体关系中选择一个或者多个设备称为他的客户(client),RR和客户之间所构成的系统我们称为反射簇(Cluster)。每个反射簇都将使用RR的RID作为簇ID。其余没有称为RR客户的IBGP对等体关系,我们将称其为非客户。

路由反射器的反射规则:

       1、当路由反射器从自己客户处学习到一条路由,则他将会把这条路由信息反射给自己所有的客户以及非客户

       2、如果路由反射器从自己的非客户处学习到一条路由,则他将把这条路由信息反射给自己所有的客户但是不能反射给非客户。

口诀:“非非不传”

       3、当路由器执行路由反射时,他只将自己使用的最优的BGP路由进行反射。

        因为IBGP的水平分割是为了防止环路的产生,而路由反射器将由路由反射之后就打破IBGP的水平分割,就可能造成环路的出现。 --- 所以,路由反射器为了防止环路的出现,又引入了两个属性 --- Originator_ID(起源者ID),Cluster_list(簇列表)

        起源者ID --- O_ID --- 当一条路由信息来到路由反射器时,反射器需要将这条路由信息反射,反射前将在该路由信息中添加这个属性,这个属性的值为该反射器收到这条路由信息的通告者的RID,之后,别的路由反射收到一条路由信息如果其中包含O_ID,则他将不会改变这个属性。如果一台设备收到一条路由条目其中起源者ID为自己本地的RID,则将不再学习这条路由信息,起到防止环路的效果。

        如果在一个AS当中,存在多次反射,则一定存在多个反射簇,则每个RR在反射路由信息时都会在其中簇列表属性中添加本地的簇ID。当每一个设备收到一条反射的路由信息后,其中的簇列表属性中包含本地簇ID,则将不再学习该路由,防止环路的产生。

九、联邦

       联邦的思想就是将同一个AS当中的IBGP对等体关系改变为EBGP对等体关系,通过这种方法来打破IBGP的水平分割。这就需要不同的IBGP对等体划分到不同成员AS 当中,成员AS之间建立的EBGP对等体关系是一种特殊的EBGP对等体关系,他们之间仅遵循EBGP对等体的传递性,而从传递的内容角度看,依然需要遵循AS-BY-AS规则,因为从宏观上看,他们依然处于同一个AS当中。

       联邦的做法也相当于打破了IBGP的水平分割,则也可能出现环路问题,则也需要考虑防环。防环方法可以直接借鉴EBGP水平分割,在AS_PATH属性当中添加成员AS来防止回传。

注意:为了区分成员AS和正常的AS,成员AS号将使用小括号括起来。

联邦的配置:

十、BGP的选路原则

BGP选路的前提条件 --- 丢弃所有不可用的路由信息

BGP的11条选路原则:

1、优选PV值最大的路由

         PV值是华为的一个的私有属性,可以理解为是权重,数值最大,其优先级越高,又因为他是选路原则中的第一条原则,所以该属性是本设备上选路最方便的一个属性。 ---这个属性只能在本设备上生效,他无法传递给任何BGP对等体。

修改PV值影响选路的配置:

方法一:全局修改

实现选路的效果:负载分担 --- 即让不同的流量走不同的线路,分担单一线路的压力

方法二:精细化控制

1、抓取流量

2、路由策略

3、在BGP当中调用路由策略

2、优选Local_preference属性值最大的路由

       LP --- 本地优先级 --- 默认值为100,越大越优。这个属性可以在IBGP对等体之间进行传递,所以,他是AS内部选路最常用的属性。路由信息在传递给EBGP对等体时将不携带这个属性。

通过修改LP来影响选路:

方法一:全局修改

方法二:精细化修改

1、抓取流量

2、做路由策略

3、在BGP进程中调用

3、自己始发的路由优先级高于从对等体处学来的,自己始发的方法也存在多种,他们的优先级关系为手工聚合>自动聚合>network>import

4、优选AS_PATH属性最短的路由

AS_PATH属性选路时要注意以下两点:

         1、我们在进行留有聚合时,如果激活AS_SET关键字之后,将不同AS的明细路由进行聚合,则我们将在AS_PATH属性中携带所有明细AS的AS号,并用大括号括起来。在进行选路比较时,大括号的内容当作一个AS号来看待。

         2、在联邦时,我们联邦内部也需要使用AS_PATH来进行防环,我们将使用小括号将AS号括起来,再进行选路比较时,将不计算小括号里的内容。

方法一:在R1的出方向修改AS_PATH属性

1、抓取流量

2、配置路由策略

3、在BGP中调用策略

结果:

出方向调用:

入方向调用:

       建议在AS_PATH睡醒中添加真实离开的AS的AS号,因为AS_PATH属性本身具有防环作用,添加AS号后可能导致路由无法发送到对应的AS当中,影响路由的传递。AS_PATH属性在进行选路时,仅关注AS号的长短,不关注内容。

5、优选Origin(起源码)属性最优的路由。

OGN --- 起源码 --- I、e、? --- 用来标识路由条目的起源

       I --- 代表该路由信息起源于IGP协议(不局限于IGP协议,包括静态、直连),代表该路由条目起源于AS内部 --- 通过network发布出来的路由信息其起源于为I

      E --- 代表该路由信息起源于EGP协议 --- EGP指的是EGP之前使用的外部网关协议

      ?--- 代表通过除了以上两种方式学习到的路由 --- 重发布导入的路由起源码都是?

控制选路的方法:

1、抓取流量

2、配置路由策略

3、在BGP上进行调用

6、优选MED属性值较小的路由

        MDE --- 多出口鉴别属性 --- MED值默认初始值并不是0,而是继承了路由表中该路由条目的开销值,所以,它可以反应到达目标网段在本AS内部的开销大小,通过这个参数,别的AS的流量在进入本AS时将可以选择开销较小的入口进入。通过修改这个属性值,我们也可以影响其他AS的流量流入本AS的路径。

      若本地通过IBGP对等体学习到一条BGP路由,其中存在MED值,之后需要将这条路由再传递给本地的EBGP对等体,则他将不再携带这个MED值。这种设置将有可能造成选路不佳的情况。所以,建议,如果存在多组边界设备需要将路由发送给EBGP对等体关系时,需要将所有的路由信息都发布。(每台设备都需要发布)

干涉选路的方法:

再R2上配置,影响R1的选路

1、抓取流量

2、配置路由策略

3、再BGP进程中调用

注意:MED值影响的是别的AS的流量通过多个出口进入到本AS内部,如果流入的不是同一个AS,即收到的路由条目中AS_PATH属性最左边的AS号不同,则将不比较第六条,直接比较第七条。

可以记录流量流过的全过程:

7、优选从EBGP对等体学来的路由(EBGP路由优先级高于IBGP的优先级)

8、优选到Next_HopdeIBGP度量值最小的路由

9、优选Cluster_List最短的路由

10、优选Router ID(Orginator_ID)最小的设备通告的路由

11、优选具有最小IP地址的对等体通告的路由

BGP的属性:

属性名称

传播范围

默认值

评判标准

Preferred_value

不传播

0(0-65535)

越大越优

Local_preference

IBGP对等体之间

100

越大越优

AS_PATH

BGP对等体之间

记录数量,越少越优

OGN

BGP对等体之间

根据起源类型决定

i>e>?

MED

BGP对等体之间

默认继承全局路由表中的开销值

越小越优

十一、BGP的路由过滤

1、通过路由策略来进行过滤

1.抓取流量

2.配置路由策略

3.在BGP进程中进行调用

2、通过前缀列表进行过滤

1.配置前缀列表

2.在BGP进程中进行调用

3、通过filter - policy来进行过滤

       1.配置ACL列表 --- 在BGP中调用过滤策略时,他只能调用ACL列表,所以我们必须使用ACL列表来抓取流量

     2.在BGP进程中调用

十二、BGP的社团属性

BGP的社团属性就类似于路由的一个标记,本质上由32位二进制构成

       1、直接使用十进制来表示;

       2、十六位二进制:十六位二进制

注意:一条BGP路由当中不一定只打一个社团属性,可以打多个。

在BGP当中,定义了几个公有的社团属性:

       1、0X00000000 --- “internet” --- 默认情况下,所有的BGP路由缺省属于这个社团当中,即抓取社团属性为0的路由将会抓到所有的BGP路由

       2、0XFFFFFF02 --- “no - advertise” --- 如果将某条BGP路由打上这个社团属性,则这条路由将不会被通告给自己的任何BGP对等体

       3、0XFFFFFF01 --- “no - export” --- 如果将某条BGP路由打上这个社团属性,则这条路由将不会被通告给自己的任何EBGP对等体。(这个不通告不包括联邦的EBGP对等体)

       4、0XFFFFFF03 --- “no - export - subconfed” --- 如果将某条BGP路由打上这个社团属性,则这条路由将不会被通告给自己的任何EBGP对等体,包括联邦的EBGP对等体

配置社员属性的策略

自定义社团属性:

1、做路由策略

2、在发布路由时调用路由策略

3、根据社团属性抓取流量

使用社团属性过滤器来抓取 --- cmmunity-filter

4、根据抓取到的流量配置策略

5、在BGP进程中调用路由策略

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值