HCIP---BGP协议详解

目录

前言---了解AS

BGP---边界网关协议

基本认识:

BGP----称为五类别路径矢量协议

EGP协议的重点

1.可控性---AS之间传递大量的路由信息,这些信息所谓可控,只可以方便干涉选路,做路由策略

2.可靠性---BGP协议为了保证传输的可靠性,直接使用TCP协议进行传输---端口号为179

3.AS-BY-AS---BGP是将AS看作一个整体

1.BGP的数据包

open报文

eep-live报文

Update报文

notification报文

Route-refresh报文

2.BGP的状态机

3.BGP的工作过程

4.BGP的路由黑洞

5.BGP的防环

6.BGP的基础配置

步骤:

1.分配网段

2.IBGP启用OSPF协议宣告网段

3.建立直连的EBGP对等体

①启动BGP进程

②配置RID

③建立邻居

对端的R2操作:

④查看操作

4.使用环回建立IBGP对等体

①启用gbp进程

②改变发送端口

5.EBGO对等体非直连建邻---利用环回接口

①配置静态路由,保证能够互通

②启用BGP进程建立连接

③更改发送数据包端口

④更改TTL值

7.BGP的路由发布

①通过network命令进行宣告

②通过重发布进行批量发布

8.BGP的路由聚合(路由汇总)

自动聚合

自动聚合

重发布指定网段

手工聚合

手工聚合

抑制策略(列表)

全部明细路由抑制

利用空接口发布汇总

9.路由反射器----Router-Reflector--RR

成为RR的条件:

反射规则:

配置

防环属性:

Originator_ID:起源者ID,某条路由信息的始发者ID

Cluster_list:簇列表

10.联邦---大AS里分小AS

​编辑

配置:

11.BGP选路原则

​编辑

1.优选PV值最大的路由信息

修改属性操作

2.优选LP值最大的路由

修改属性操作

负载分担:

方法1:将R3的LP值改大

 3.始发的大于对等体出学来的,始发中:手工>自动聚合>network>import

4.优先选择AS_PATH属性最短的路由条目--经过的AS越少越好

修改属性操作

5.优选Origin属性最优的路由

修改属性操作:

6.优选MED属性值最小的路由

修改MED值的操作

7.EBGP的路由优于IBGP的路由

8.优先NEXT_HOP的IGP度量值最小的

9.优选Cluster_List最短的路由---经过反射簇最少的一条

10.优选RID最小的涉笔通告路由

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

12.BGP的路由过滤

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

2.通过fiter—Policy来过滤

3.直接通过前缀列表进行过滤

13.BGP的社团属性

1.公有社团属性


前言---了解AS

AS:自治系统----由单一的组织或者机构管理的一系列IP及其网络设备所构成的集合。(可以理解为由单一的组织或者机构管理的一片网络)

 AS号---十六位二进制构成---0-65535,用来标定一片网络;其中0和65535不能使用,真实的取值范围为1-65534.其中64512-65534称为私有AS号。所以目前已有拓展版AS号---32位二进制构成。

根据AS可以将动态路由协议划分为IGP和EGP协议

IGP:内部网关协议用于AS内部---RIP,OSPF

EGP: 外部网关协议用于AS之间---BGP,EGP

BGP---边界网关协议

基本认识:

主要使用BGPV4版本---IPV4

现在也推出BGPV4+---MP-BGP---支持多种地址族,可以应用在IPV6环境下。

AS之间通过重发布完成路由交换存在的问题:选路不佳;ASBR的运营商归属问题

BGP协议获取信息的方式----传递路由信息,而不是拓扑信息

BGP----称为五类别路径矢量协议

1.无类别---传递路由条目信息时携带子网掩码

2.距离矢量---1.距离矢量是以一个路由器为一跳来传递信息

                      2.距离矢量时算法的概念,IGP协议主要是计算AS内部的路由信息

   路径矢量---1.路径矢量是以一个AS为一跳来传递信息

                       2.路径矢量不是算法,因为BGP只是将IGP计算好的路由信息传递给其他AS

EGP协议的重点

1.可控性---AS之间传递大量的路由信息,这些信息所谓可控,只可以方便干涉选路,做路由策略

    BGP为了保证可控性,舍弃了开销值。取而代之的是BGP给每一条路由信息赋予了很多属性,      可以通过属性进行干涉选路。

BGP协议具有触发更新,但是没有周期更新

2.可靠性---BGP协议为了保证传输的可靠性,直接使用TCP协议进行传输---端口号为179

---因为TCP运用于1对1会话,所以BGP使用TCP协议,IGP不使用TCP协议

在BGP中,因为使用TCP进行传输,所以可以实现非直连建邻,而非直连建邻需要建立在IGP可达得基础上。

EBGP对等体---位于不同AS中的建立对等体设备

IBGP对等体---位于同一AS中的建立对等体设备

为了保证EBGP对等体关系直连建邻,EBGP对等体之间的数据包中的TTL值被设置为1。

如果要建邻非直连建邻,则需要将TTL值改大。

IBGP对等体之间一般都是非直连建邻,所以IBGP对等体的数据包的TTL值为255。

3.AS-BY-AS---BGP是将AS看作一个整体

----BGP不支持负载均衡,只会选择一条最优。

1.BGP的数据包

open报文

---比对参数,建立对等体关系;BGP只能手工指定邻居关系,发现邻居这件事交给网络管理员来完成。

数据包含有的参数:

1.AS号---两个AS号,发出者所在的AS号,对端的AS号

2.RID--作为设备的身份标识---可以手工配置也可以自动获取(和OSPF规则一样);报文中的RID是发出者的,对端收到RID对比之后若RID不同则可以建立对等体关系。

3.认证---认证参数携带在TCP选项字段中

4.保活时间---默认180S

eep-live报文

---保活对等体关系;周期性的保活邻居关系;在发送open报文进行建邻临时充当确认报文来使用

--在OPEN报文参数都核对成功后,发送Keep-live报文进行最后的确认,代表统一建邻。

注意:周期时间根据保活时间来决定。周期发送时间为保活时间的1/3,即60A为周期发送keep-live报文。

Update报文

真正携带路由信息的数据包---会携带路由信息的网段信息,以及掩码信息,以及路由条目所附加的属性。---BGPUpdate报文中存在一个撤销路由信息字段,如果有路由信息失效,则通过该报文通知对端。

notification报文

BGP协议的预警机制保障BGP的全过程;发送建邻建立失败的原因。

Route-refresh报文

----用于改变路由策略后请求对等体重新发送路由信息

2.BGP的状态机

        注意:BGP的状态机,仅仅描述的是邻居状态建立过程中的不同阶段,因为BGP可以做到建邻和发布路由分开完成

Idle---空闲状态---BGP建邻之前的初始状态

在设备启动配置BGP之后,将进入到一个检查阶段。将基于我们配置的邻居地址,检查本地路由表,看目标IP是否可达,可达则进入到下一个状态---Connect状态,则将停留在IDLE状态。

connect状态---尝试进行TCP绘画的建立。如果建立成功,则将进入到Opensent状态,开始发送OPEN报文。如果建立失败,则将进入到Active状态,将反复尝试建立连接。

opensent状态---在接收到对方发送的open报文,如果参数正确,则将回复keep-live报文进行确认,并进入到下一个状态---openconfirm状态

openconfirm状态----如果收到对方发送的keep-live报文,则进入到下一个状态。

established---建立完成---标志着EGP建立完成。

3.BGP的工作过程

1.基于IGP实现IP可达

2.手工指定邻居关系,邻居之间通过单播进行通信。通过三次握手建立TCP会话通道

3.通过open报文和keep-live报文进行邻居关系的建立。建立邻居关系之后,将会把邻居关系收集记录在本地的一张表中即邻居表

4.使用ipdate更新报文携带路由信息传递给邻居。数据包中包含目标网络号,掩码以及路径属性。之后GBP会将发送的以及收集到的路由信息都记录在本地的一张表中---BGP表

到达同一目标网段存在多条路由信息,都将记录在BGP表中,但仅选择其中最优的加载到路由表中。因为BGP不支持负载均衡。

5.选择在到达目标网段最优路径加载到本地的路由表

6.收敛完成后,将使用keep-live'包进行周期保活---1/3hold time --默认60S

7.如果全过程中出现错误,则将使用notification报文进行告警。

8.如果发生结构突变,则将发送update报文进行更新。

4.BGP的路由黑洞

当R2向1.0.0.0发包,在R7向R4发包阶段,由于R4没有启用BGP协议,不知道通向1.0.0.0网段

的路由,故把该包丢弃,信息无法通过形成路由黑洞。

解决方法

1.让所有设备运行BGP协议

2.在同时运行BGP和IGP协议的设备上进行重发布,让没有运行BGP协议的设备通过IGP协议获取到路由信息。

3.MPLS技术

为了解决路由黑洞,BGP提出了一个同步原则---即当一台路由器从自己的IBGP对等体处学习到一

条BGP路由时,他将不能将他传输给自己的EBGP对等体,除非他又从IGP协议处获取到这条路由

---BGP与IBGP同步

5.BGP的防环

水平分割---

EBGP的水平分割:用于解决EBGP对等体关系中可能出现的环路问题

BGP协议将路由条目所经过的AS编号记录在一个属性中---AS_PATH,如果存在本地的AS号,则拒绝接收,避免环路的出现。

IBGP的水平分割 :用于解决IBGP对等体关系中可能出现的环路问题

当IBGP路由器在对等体学来一条BGP路由时,则不能再传递给其他IBGP对等体。

注意:因为IBGP的水平分割定义导致在IBGP对等体关系内部只能传递一跳,则可能造成通信障碍---R5不能收到IBGP对等体的BGP路由

解决方案:

1.建立全连的IBGP对等体----导致资源占用变大,网络拓展性变差

2.路由反射器----后面深入学习

3.联邦---后面深入学习

6.BGP的基础配置

BGP的目的是将建邻和发布路由分开

步骤:

1.分配网段

2.IBGP启用OSPF协议宣告网段

[r2]ospf 1 router-id 2.2.2.2
[r2-ospf-1]ar 0
[r2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[r2-ospf-1-area-0.0.0.0]network 23.0.0.0 0.0.0.255

这里R2既做为EBGP,也做为IBGP,但OSPF只宣告内部网段,即G 0/0/0口的对外网段不进行宣告;R4也是如此;

3.建立直连的EBGP对等体

①启动BGP进程
[R1]BGP 1 ----这里的1不是进程号是AS号
[R1-bgp]
②配置RID
[R1-bgp]router-id 1.1.1.1
③建立邻居
[R1-bgp]peer 12.0.0.2 as-number 2 ---选择直连的AS号
对端的R2操作:
[r2]bgp 2
[r2-bgp]router-id 2.2.2.2
[r2-bgp]peer 12.0.0.1 as-number 1
④查看操作
[r2]display bgp peer 

 BGP local router ID : 2.2.2.2
 Local AS number : 2
 Total number of peers : 1		  Peers in established state : 1

  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State Pre
fRcv

  12.0.0.1        4           1        3        3     0 00:01:52 Established    
   0

peer代表邻接的IP

V代表BGP版本 

AS代表直连的邻居AS号

MsgRcvd :接受邻居的数据包

MsgSent:发送的数据报包

OutQ:出站的队列

State PrefRcv:从邻居收到的路由条目数量

4.使用环回建立IBGP对等体

①启用gbp进程
[r2]bgp 2 ----启动BGP进程
[r2-bgp]peer 3.3.3.3 as-number 2---选择直连IBGP的环回

注意此时还不能建立IBGP的关系

因为进行BGP配置时指定的对等体IP地址必须和对端发送的数据包中的源IP相同

所以R2发送数据包的端口需要改变为接口2.2.2.2

②改变发送端口
[r2-bgp]peer 3.3.3.3 connect-interface LoopBack 0
[R3-bgp]peer 2.2.2.2 connect-interface LoopBack 0

R3 的发送端口改为环回接口3.3.3.3

注意:IBGP对等体建立邻居关系时建议使用环回接口建邻,因为AS内部一般拥有大量的备份路由,如果仅使用物理接口建邻将将浪费备用链路。

5.EBGO对等体非直连建邻---利用环回接口

①配置静态路由,保证能够互通
[r5]ip route-static 4.4.4.0 24 45.0.0.1
[r4]ip route-static 5.5.5.0 24 45.0.0.2
②启用BGP进程建立连接
[r5]bgp 3
[r5-bgp]peer 4.4.4.4 as-number 2
③更改发送数据包端口
[r5-bgp]peer 4.4.4.4 connect-interface l 0
[r5]display bgp peer 

 BGP local router ID : 45.0.0.2
 Local AS number : 3
 Total number of peers : 1		  Peers in established state : 0

  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State Pre
fRcv

  4.4.4.4         4           2        0        0     0 00:00:26        Idle    
   0

此时也不能建立邻居关系,因为EBGP对等体之间的数据包默认TTL值为1,需要建立非直连建邻需要将TTTL值改大

④更改TTL值
[r4-bgp]peer 5.5.5.5 ebgp-max-hop  20---可自行设置,不写默认为255
[r5-bgp]peer 4.4.4.4 ebgp-max-hop 20

7.BGP的路由发布

①通过network命令进行宣告

[R1-bgp]network 1.1.1.0 24

查看BGP路由表

[R1]display  bgp routing-table 

 BGP Local router ID is 1.1.1.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 1
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   1.1.1.0/24         0.0.0.0         0                     0      i

*>----状态码;

*---路由信息可用,BGP设备收到一条BGP路由,首先检查下一跳的可达性,如果下一跳可达则可用;只有可用的路由信息才会参与BGP路由信息的选举

>---如果到达统一目标网段,则将通过属性选择其中最优的赋予优选标记.

network----目标网段和掩码信息

nexthop---下一跳---谁发送的,下一跳就是谁,这里的0.0.0.0是因为自己始发的

[R3]display bgp routing-table 

 BGP Local router ID is 23.0.0.2 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 1
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

   i  1.1.1.0/24         12.0.0.1        0          100        0      1i
[R3]

i--状态码;表示该路由信息是从IBGP对等体处学来的.

此时无*不可用;因为下一跳不可达.

解决方法:

[r2-bgp]peer 3.3.3.3 next-hop-local---要在R2上做操作,将下一跳更改为本地
[R3]display bgp routing-table 

 BGP Local router ID is 23.0.0.2 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 1
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  1.1.1.0/24         2.2.2.2         0          100        0      1i
[R3]

配置完成,R2向R3传递完BGOP路由后,因为IBGP协议的水平分割导致R3不能向R4传递BGP路由信息,所以要进行IBGP全连操作

R2

[r2]BGP 2
[r2-bgp]peer 4.4.4.4 as-number 2---建立直连
[r2-bgp]peer 4.4.4.4 connect-interface  l 0----更改发送接口
[r2-bgp]peer 4.4.4.4 next-hop-local----下一跳也要在R2上进行更改

R4

[r4]bgp 2	
[r4-bgp]peer 2.2.2.2 as-number 2---建立直连
[r4-bgp]peer 2.2.2.2 connect-interface  l 0---更改发送数据包接口
[r4]dis bgp routing-table 

 BGP Local router ID is 34.0.0.2 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 1
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  1.1.1.0/24         2.2.2.2         0          100        0      1i
这里的下一跳为2.2.2.2是因为与R2进行了直连配置

反过来,进行相同的配置

R5:

①network发布路由;

②配置静态路由

③与R4环回建立EBGP非直连,更改发送数据包的端口为环回口;更改TTL值

R4

①配置静态路由

②与R4环回建立EBGP非直连,更改发送数据包的端口为环回口;更改TTL值

③告诉R2;R3更改下一跳为本地

②通过重发布进行批量发布

[r2-bgp]import-route ospf 1---重发布包括OSPF协议里的网段,静态与直连网段

[r2-bgp]display bgp routing-table 

 BGP Local router ID is 2.2.2.2 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 8
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   1.1.1.0/24         12.0.0.1        0                     0      1i
 *>   2.2.2.0/24         0.0.0.0         0                     0      ?
 *>   3.3.3.3/32         0.0.0.0         1                     0      ?
 *>   4.4.4.4/32         0.0.0.0         2                     0      ?
 *>i  10.0.0.0/24        4.4.4.4         0          100        0      3i
 *>   23.0.0.0/24        0.0.0.0         0                     0      ?
 *>   34.0.0.0/24        0.0.0.0         2                     0      ?
 *>   45.0.0.0/24        0.0.0.0         3                     0      ?
[r2-bgp]

Ogn---起源码

        I---通过network发布的路由条目其起源码为I,代表该路由起源于IGP(包括静态和直连协议.

        E---通过EGP协议发布的.

        ?---除了以上两种情况,其他情况发布的都使用?

8.BGP的路由聚合(路由汇总)

自动聚合

1.BGP的自动聚合仅针对重发布的路由信息生效

2.仅能按照主类进行汇总(A-E类)

自动聚合
[R1-bgp]summary automatic 

重发布指定网段

①创建前缀列表

[R1]ip ip-prefix aa permit 172.16.0.0 16 greater-equal 24 less-equal 24

②做路由策略

[R1]route-policy aa permit node 10
[R1-route-policy]if-match ip-prefix aa

③调用

[R1-bgp]import-route direct route-policy aa
[R1]display bgp routing-table

 BGP Local router ID is 1.1.1.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 11
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   1.1.1.0/24         0.0.0.0         0                     0      i
 *>   2.2.2.0/24         12.0.0.2        0                     0      2?
 *>   3.3.3.3/32         12.0.0.2        1                     0      2?
 *>   4.4.4.4/32         12.0.0.2        2                     0      2?
 *>   10.0.0.0/24        12.0.0.2                              0      2 3i
 *>   23.0.0.0/24        12.0.0.2        0                     0      2?
 *>   34.0.0.0/24        12.0.0.2        2                     0      2?
 *>   45.0.0.0/24        12.0.0.2        3                     0      2?
 *>   172.16.0.0         127.0.0.1                             0      ?
 s>   172.16.1.0/24      0.0.0.0         0                     0      ?
 s>   172.16.2.0/24      0.0.0.0         0                     0      ?
[R1]

S---状态码---代表抑制,因为自动聚合了,这里的明细是被抑制发送的

 *>   172.16.0.0         127.0.0.1                             0      ?

-----自动聚合会发布一条路由信息下一跳为127.0.0.1;并且自动聚合会生成一条指向汇总的空接口路由进行防环.

.

手工聚合

手工聚合
[R1-bgp]aggregate 172.16.0.0 22

手工聚合也将自动生成一条指向汇总的空接口

1.直接通过该命令进行聚合,明细没有被抑制,无法减少路由条目数量,反而增加了一条聚合路由.

2.如果在其他AS进行聚合,聚合路由将不携带明细路由的部分属性,主要包括AS-PATH

属性,将导致路由可能被传回到源S中,导致回环

抑制策略(列表)

---suppress-policy---抑制某一条路由

1.抓取流量--抓谁抑制谁

[r4]ip ip-prefix aa permit 172.16.2.0 24

2.创建路由策略

[r4]route-policy aa permit node 10---路由策略里都是permit
Info: New Sequence of this List.
[r4-route-policy]if-match ip-prefix aa---匹配aa抓取的流量

3.在聚合中调用

[r4-bgp]aggregate 172.16.0.0 22 suppress-policy aa

BGP为了保证聚合路由可以携带明细路由的AS-PATH属性,专门设计了一个关键字---AS-SET

如果明细路由来自多个不同的AS中,之后在同一个AS中进行汇总。激活AS-SET之后,将同时携带所有明细的AS号在AS-PATH中,进行防环时,将都不能回传。但是,会使用大括号将其括起来,在进行选路评判时,仅作为一个AS来判断

 因为聚合路由可能存在路由属性丢失的问题,所以,专门设计了两个属性

ATOMIC-AGGREGATE----这是一个纯粹的预警属性,聚合路由专门携带,聚合路由将携带表示该路由可能存在属性丢失(当这个路由抑制了所有的明细就会携带

AGGREGATOR.----包含了做汇总设备的RID及其AS号

[r4]display bgp rou	
[r4]display bgp routing-table 172.16.0.0 22-----查看BGP细节路由信息

 BGP local router ID : 34.0.0.2
 Local AS number : 2
 Paths:   1 available, 1 best, 1 select
 BGP routing table entry information of 172.16.0.0/22:
 Aggregated route. 
 Route Duration: 00h08m02s  
 Direct Out-interface: NULL0
 Original nexthop: 127.0.0.1
 Qos information : 0x0
 AS-path Nil, origin igp, pref-val 0, valid, local, best, select, active, pre 25
5
 Aggregator: AS 2, Aggregator ID 34.0.0.2
 Advertised to such 3 peers:
    5.5.5.5
    3.3.3.3
    2.2.2.2
全部明细路由抑制
[r4-bgp]aggregate 172.16.0.0 22 detail-suppressed as-set 

利用空接口发布汇总

[R1]ip route-static 172.16.0.0 22 NULL  0
[R1]bgp 1
[R1-bgp]network 172.16.0.0 22

先写一条指向汇总的空接口,然后在BGP中发布汇总。

9.路由反射器----Router-Reflector--RR

成为RR的条件:

有一台或者多台其对等体作为反射器的客户,其余不是客户的对等体均属于非客户。客户和RR之间将形成一个反射簇。会使用RR的RID作为反射簇的簇ID。

反射规则:

1.所有客户发来的路由信息将反射给反射器的客户和非客户。

2.非客户发来的路由信息将反射给所有客户。

记作:非非不传

3.只有可用且优的路由才会被反射

配置

[R3-bgp]peer 2.2.2.2 reflect-client

将R2作为客户

防环属性:

Originator_ID:起源者ID,某条路由信息的始发者ID

 R1作为起源者给R3发路由信息,R3作为RR反射给R2,R2作为RR反射给R1,因为此条路由信息中的OID是R1自身的,R1不会再次学习此条路由信息,所以不会造成回环。

Cluster_list:簇列表

 只有OID属性,此图情况中R1会有回环。

当反射路由离开一个反射簇时,将把反射簇的簇ID记录在簇列表中。类似于AS-PATH,记录走过的路径。

如果收到路由信息的簇列表中包含本地的簇ID,则将不学习该路由信息。

注意这两个属性仅在IBGP对等体间生效,在EBGP之间不携带

10.联邦---大AS里分小AS

小的AS里面将形成联邦的EBGP对等体关系,使原本的IBGP对等体能够有EBGP对等体的传输特性,还是遵循AS-BY-AS规则,此时的防环制度使用EDGP的水平分割

配置:

R2:

[r2]bgp 64511---先选择小号
[r2-bgp]router-id 2.2.2.2	
[r2-bgp]confederation id 2----申明大号
[r2-bgp]peer 12.0.0.1 as 1---与R1建立EBGP
[r2-bgp]peer 3.3.3.3 as 64511---与R3建立IBGP时使用的AS号是64511
[r2-bgp]peer 3.3.3.3 connect-interface l 0
[r2-bgp]peer 3.3.3.3 next-hop-local--下一跳更改为本地

R3:

[R3]bgp 64511
[R3-bgp]confederation id 2
[R3-bgp]peer 2.2.2.2 as-number 64511
[R3-bgp]peer 2.2.2.2 connect-interface l0
[R3-bgp]confederation peer-as 64512----R3特殊是建立联邦EBGP对等体的设备,需要申明其对端联邦的AS号
[R3-bgp]peer 4.4.4.4 as 64513
[R3-bgp]peer 4.4.4.4 connect-interface LoopBack 0
[R3-bgp]peer 4.4.4.4 ebgp-max-hop ----因为是EBGP关系,所以要更改TTL值

R4:

[r4]bgp 64513
[r4-bgp]peer 3.3.3.3 as 64511
[r4-bgp]peer 3.3.3.3 connect-interface LoopBack  0
[r4-bgp]peer 3.3.3.3 ebgp-max-hop----与R3建立EBGP,更改TTL值
[r4-bgp]peer 5.5.5.5 as-number 64513
[r4-bgp]peer 5.5.5.5 connect-interface l 0

联邦和路由反射联合使用一个小AS里面最多可以容纳三个路由

11.BGP选路原则

选路的前提条件:需要先排除所有不可用的路由条目

以下讲解都基于此拓扑环境

1.优选PV值最大的路由信息

可以将PV视为权重,是本地(本设备)进行路由选路时优先级最高的属性

修改属性操作

[r4-bgp]peer 3.3.3.3 preferred-value  100

更改R3-R4这条路的PV值

更改结果:

[r4]dis bgp routing-table 1.1.1.1

 BGP local router ID : 4.4.4.4
 Local AS number : 2
 Paths:   2 available, 1 best, 1 select
 BGP routing table entry information of 1.1.1.0/24:
 From: 3.3.3.3 (3.3.3.3)
 Route Duration: 00h05m28s  
 Relay IP Nexthop: 34.0.0.1
 Relay IP Out-Interface: GigabitEthernet0/0/0
 Original nexthop: 3.3.3.3
 Qos information : 0x0
 AS-path 1, origin igp, MED 0, localpref 100, pref-val 100, valid, internal, bes
t, select, active, pre 255, IGP cost 1
 Advertised to such 1 peers:
    45.0.0.2
 BGP routing table entry information of 1.1.1.0/24:
 From: 2.2.2.2 (2.2.2.2)
 Route Duration: 00h35m03s  
 Relay IP Nexthop: 23.0.0.1
 Relay IP Out-Interface: GigabitEthernet0/0/2
 Original nexthop: 2.2.2.2
 Qos information : 0x0
 AS-path 1, origin igp, MED 0, localpref 100, pref-val 0, valid, internal, pre 2
55, IGP cost 1, not preferred for PreVal-----------没有被优选
 Not advertised to any peer yet

[r4]

负载分担:

通过路由策略实现控制效果:

[r4]ip ip-prefix pv permit 10.0.0.0 24----通过前缀列表抓取流量
//创建路由策略
[r4]route-policy PV permit node 10
Info: New Sequence of this List.
[r4-route-policy]if-match ip-prefix PV
[r4-route-policy]apply preferred-value 100
//

2.优选LP值最大的路由

本地优先级属性---因为这个属性只能在IBGP对等体之间传递,所以时AS内部选路最佳的

R3会向IBGP对等体发送LP发送该优先级

修改属性操作

[r3-bgp]default local-preference  200

负载分担:

通过路由策略实现控制效果:

现要求10.0.0.0网段走R3-R4、1.0.0.0网段哦组R2-R4

方法1:将R3的LP值改大

[r3]ip ip-prefix LP permit 10.0.0.0 24	----抓取流量
[r3]route-policy LP permit node 10
Info: New Sequence of this List.
[r3-route-policy]if-match ip-prefix LP----匹配LP策略
[r3-route-policy]apply local-preference 200---改变LP值
[r3]route-policy LP permit node 20-----放空所有
[r3-bgp]peer 4.4.4.4 route-policy LP export -----在R3上调用

结果

 3.始发的大于对等体出学来的,始发中:手工>自动聚合>network>import

R2添加一个新环回,网段为11.0.0.0,通过BGP和OSPF发布路由,通过OSPF此时R4学到11.00000的路由,再通过自己BGP发布出去,此时查看R2的BGP路由表,如下图优先选择自己发布出来的那条

4.优先选择AS_PATH属性最短的路由条目--经过的AS越少越好

注意:

1.在手工聚合时,如果激活了AS_SET属性,如果明细来自不同的AS,则AS——PATH属性会携带所有AS的AS号,并用大括号括起,在进行防环时,大括号内的所有AS都不能回传,但在进行选路时,大括号内所有AS当作一个新AS来看待。

2.如果存在联邦,需要使用AS_PATH进行联邦的防环,但是这个小AS号会用小括号括起来,在进行选路比较的时候,不会看小括号中的内容。

修改属性操作

[r1]ip ip-prefix AS permit 10.0.0.0 24----抓取流量
[r1]route-policy AS permit node 10
Info: New Sequence of this List.
[r1-route-policy]if-match ip-prefix AS----匹配AS策略
[r1-route-policy]apply as-path 12 23 34 ?
  INTEGER<1-4294967295>  AS number in asplain format (number<1-4294967295>)
  STRING<3-11>           AS number in asdot format                              
                         (number<1-65535>.number<0-65535>)
  additive               Append to original As Number-----增加AS号
  overwrite              Overwrite original As Number----覆盖原先的AS号
[r1-route-policy]apply as-path 12 23 34 additive---增加12 23 34 三个AS号
[r1]route-policy AS permit  node 20----允许所有 
[r1-bgp]peer 12.0.0.2 route-policy AS export ----在R1上的出口调用

结果展示

在R2上看

 在R4上看

 R4选择了R3传递的路由

在R5上看

 由于加了AS号之后,R4学到的不是优选路由,所以不会传递给R5

5.优选Origin属性最优的路由

优先级关系为I>E>?

修改属性操作:

[r1]ip ip-prefix OGN permit 10.0.0.0 24
[r1]route-policy OGN permit node 10
Info: New Sequence of this List.
[r1-route-policy]if-match ip-prefix OGN
[r1-route-policy]apply origin ?
  egp         Remote EGP        ---改为E
  igp         Local IGP         ----改为I
  incomplete  Unknown heritage  -----改为问号
[r1-route-policy]apply origin incomplete 
[r1-route-policy]q
[r1]route-policy OGN permit node 20
[r1-bgp]peer 12.0.0.2 route-policy OGN export 

6.优选MED属性值最小的路由

 一般情况下MED都为0---继承了IBGP协议中的开销值

多出口鉴别属性---MED属性默认继承IBGP协议的开销值,这个值是可以在BGP邻居之间进行传递的,便于EBGP选路。若IBGP已学到到某BGP对等体的MED值,再通过IBGP对等体了解到去该BGP的MED值时,不再学习该新MED值。

修改MED值的操作

[r2]ip ip-prefix MED permit 4.4.4.0 24
[r2]route-policy MED permit node 10
Info: New Sequence of this List.
[r2-route-policy]if-match ip-prefix MED
[r2-route-policy]apply cost 10	
[r2]route-policy MED permit nod 20
Info: New Sequence of this List.
[r2-route-policy]bgp 2
[r2-bgp]peer  12.0.0.1 route-policy MED export 

7.EBGP的路由优于IBGP的路由

8.优先NEXT_HOP的IGP度量值最小的

9.优选Cluster_List最短的路由---经过反射簇最少的一条

10.优选RID最小的涉笔通告路由

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

12.BGP的路由过滤

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

[r1]ip ip-prefix aa permit 1.1.1.0 24----抓取流量
//做策略
[r1]route-policy aa deny node  10
Info: You are overwriting this sequence.
[r1-route-policy]if-match ip-prefix aa
[r1-route-policy]q
[r1]route-policy aa permit node 20
Info: New Sequence of this List.
[r1-route-policy]q
//调用
[r1]bgp 1
[r1-bgp]peer 12.0.0.2 route-policy aa export 

2.通过fiter—Policy来过滤

1.抓取流量

[r2]ip ip-prefix aa deny 10.0.0.0 24---因为是过滤所以这里需要使用拒绝
[r2]ip ip-prefix aa permit 0.0.0.0 0 less-equal 32----允许所有流量通过
[r2-bgp]peer 12.0.0.1 filter-policy ?
  INTEGER<2000-2999>  Apply basic ACL
  acl-name            Specify the ACL name for filtering IPv4 routes

后面调用会发现此时过滤只能调用ACL

[r2]acl 2000
[r2-acl-basic-2000]rule deny source 10.0.0.0 0	---拒绝流量
[r2-acl-basic-2000]rule permit source any ---允许所有流量通过

2.调用过滤列表

[r2-bgp]peer 12.0.0.1 filter-policy 2000 import 

调用允许进入

3.直接通过前缀列表进行过滤

[r3]ip ip-prefix aa deny 10.0.0.0 24----抓取流量
[r3]ip ip-prefix aa permit 0.0.0.0 0 less-equal 32---允许所有流量通过
[r3]bgp 2
[r3-bgp]peer 65.0.0.1 ip-prefix aa import ----直接调用

13.BGP的社团属性

可以理解为标签

社团属性---32位二进制构成---AS:NN---例如在AS600中有多个网段可以打上600:10   600:12 600:30

1.公有社团属性

1.0X00000000(0)----Internet---所有的路由条目默认加入到这个社团中,如果根据这个社团属性抓取路由,将抓取所有的路由信息

2.0XFFFFFF02---"no-advertise"---如果被打上该属性,将不会通告给任何一个BGP对等体

3.0XFFFFFF01---"no-export"---会通告给IBGP但不会通告给EBGP对等体。(这里不限制联邦的EBGP对等体)

4.0XFFFFFF03---"no-export-subconfed"---会通告给IBGP但不会通告给EBGP对等体。(这里会限制联邦的EBGP对等体)

[r2-route-policy]apply community ?
  INTEGER<0-4294967295>  Specify community number
  STRING<3-11>           Specify aa<0-65535>:nn<0-65535>
  internet               Internet(well-known community attributes)
  no-advertise           Do not advertise to any peer (well-known community     
                         attributes)
  no-export              Do not export to external peers(well-known community   
                         attributes)
  no-export-subconfed    Do not send outside a sub-confederation(well-known     
                         community attributes)
  none                   No community attribute


//no advertise情况
[R1-route-policy]apply community no-advertise----在策略中打上社团属性
[R1-bgp]peer 12.0.0.2 route-policy aa export ---在peer中调用

//打上特殊标签
[R1-route-policy]apply community 1:11----写标签内容
[R1-route-policy]q
[R1-bgp]network 172.16.1.0 route-policy com1----调用com1;给该网段打上该标签

 //抓取社团属性
[R1]ip community-filter 1 permit 1:11

//做策略
[R1]route-policy bb deny node 10 
Info: New Sequence of this List.
[R1-route-policy]if-match  community-filter 1
[R1-route-policy]apply community no-advertise additive---在添加多个社团属性时,需要增加这个参数

//放通所有
[R1]route-policy bb permit node 30

//调用
[R1-bgp]peer  12.0.0.2 route-policy bb export 


 

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值