当前位置:文档之家› 最详细BGP的学习笔记

最详细BGP的学习笔记

最详细BGP的学习笔记
最详细BGP的学习笔记

BGP第一节:IBGP邻居(所用的版本是4)

IBGP邻居:通常运行在同一个AS内。

AS :就是一组被统一管理的路由器。

这组路由器的特点:使用相同的内部网关协议,统一的度量值。

特点:可以直连,也可以不直连,但是底层必须能够访问。

AS号在eigrp的作用就是用于邻居的建立。在BGP中可以理解为是不同的运营商。

bgp的AS号是需要申请的。

具体的配置:neighbor 邻居Ip remote-as AS号

show controllers serial 0/0

查看某接口是DCE还是DTE。

配置时钟速率:clock rate 64000

一定要在DCE端配置时钟速率。

R1与R2 建立邻居

BGP的三张表:

邻居表:BGP的邻居关系不会自动建立,需要单播进行指邻居。(保留对端的AS 号码)BGP表:收集所有的路由信息,并且保留BGP 的所有属性--------更好的做人为控制。

BGP的管理距离值:20和200;20是从EBGP学过来的路由,200是从IBGP学过来的路由。路由表:

BGP的报文:

Open:

Keepalive:激活(hold时间不一样,邻居可以建立,它会进行协商选择时间小的,并且它的keepalive的时间自动调整为Hold时间的1/3。如果hello时间为0则BGP的邻居不down)

(需要注注意的是:hello时间不一样,ospf的邻居将不会建立)

修改命令;timesbgp 10 30

Update:包括路由器的属性,还有我BGP的路由信息。

Notification:

如果两端的AS号不一致,则会出现NOTIFICATION这个报文。-------BGP建立出错的时候也会出现这个报文。(2):清除了BGP的邻居关系时,也会出现这种报文。

BGP的经典案例(IBGP)

解决方法:如果有多条链路,就要建立多个邻居关系。

用物理接口建立邻居;不太可行(不太稳定),但是所出现的问题能解决。

用这种方法所出现的问题:设备的消耗(内存,CPU)

第二中的解决方法:就是邻居地址起环回口。(提供了邻居关系的备份)

这样的解决方案是最优的。

为什么做是最优的?

用环回口建立邻居可以使的邻居关系更稳定,因为如果是接口建立,一出现接口动荡就会影响邻居关系,用环回口会一直在。环回口还可以使链路有冗余。

但是需要解决两问题:

1:底层路由可达性

2:就是对源的检测(比较我neighbor地址是否是对端的发包地址的源地址)

源检测就是检测数据包的源地址是否是neighbor后的地址

如果要想邻居建立则如图

该怎么解决呢?根据命令修改。

Neighbor (ip-address)update-source interface-type interface-number

R1

Neighbor 2.2.2.2 update-source loopback 0

R2

Neighbor 1.1.1.1 update-source loopback 0

需要注意的是:该命令通常用在建立IBGP邻居。

如果R2开启了源检测,则那一个端口是TCP端口。(提供服务的端口,或者是目的端口)

R2是TCP端口。查看命令show ipbgpnei

Show tcpbri

BGP的同步技术

如果不是通过IBP得到的路由,或者是不可到达广播的下一跳,就不能把IBGP学到的路由,安装在路由表中,这就是同步。

EBGP邻居的建立

建立EBGP所遵循的规则;

1:解决问题是路由。(通常AS与AS之间有两种路由,一种是静态路由,另一种是缺省路由。)--------底层可达

2:更新源的问题

3:检测直连路由(TTL默认1)如果TTL值为0,路由器将会把包丢弃。

以环回接口来建立EBGP邻居,如果TTL值为1.则BGP不会发包,所以要修改TTL值。

命令:neighbor (ip-address) ebgp-multihop +(ttl值)

总结:

1:如果用的是直连接口,不管建立的是EBGP还IBGP,只需neighbor一条命令。

2:如果用环回接口来建立IBGP邻居,需要两条命令

(1)neighbor XXX remote-as +AS号

(2)Neighbor (ip-address)update-source interface-type interface-number

3:如果用环回接口来建立EBGP邻居,需要用三条命令:

(1)neighbor

(2)Neighbor (ip-address)update-source interface-type interface-number

(3)neighbor (ip-address) ebgp-multihop +(ttl值)

注意的是;

BGP的连接关系凌驾与IGP之上。(BGP的邻居的建立需要igp,但是我bgp的路由的传递不需要igp的)

如果两AS与AS之间用的是静态路由,则邻居将会建立。

如果两AS与AS之间用的是缺省路由,则邻居将不会建立。

原因是:BGP建立邻居需要在路由表里找到邻居Ip地址的明细路由,如果没有明细路由邻居将不能建立。

假如:

R1 静态路由(发包)

R2 缺省路由show tcpbri 179

实验:

EBGP建立邻居一般用直连接口建立。

show running-config | begin bgp

第二部分:

邻居已建立,但是路由器的BGP表是空的,需要我们手工指定的。

比较特殊的是ebgp的network和IBGP不一样,EBGP的network叫通告路由。

BGP路由的通告

邻居已建立,但是路由器的BGP表是空的,需要我们手工指定的。就是没有BGP路由。

解决方法:就是用通告路由技术。就是BGP的network

比较特殊的是IGP的network和EGP不一样,EGP的network叫通告路由。

IGP的network是匹配接口范围。(属于这个范围的接口,都能network)

第一个问题:

BGP network所遵循的规则;

1:不能随便network,比如是自己路由表中不存在的路由条目,BGP就不能network。

2:BGP network时首先检测自己的路由表,如果路由表中有这条路由条目,则这条路由就能被BGP network.

如果没有就不能network。(除去路由条目的前面标识为B的路由条目)

Router bgp AS号

Network xxxx mask xxxx

一般从EBGP邻居学来的路由,都是可优的。只有优化的路由才能被传递。

bgp的路由传递不借助底层链路。

第二个问题:

从IBGP学来的路由让它可优遵循两条件:

1:同步》我BGP的路由和IGP的路由相同。也可以说我BGP有的路由条目,我IGP也有。ip route x xxxxxxx null 0 (不同放入路由表,该方法不可行)

2:下一跳可达

主要看自己的路由表中有没有下一跳可达路由的网段。如果没有,用BGP欺骗的方法给自己的路由表中加入该网段。

命令:

ip route x xxxxxxx null 0 (不可行,但是能解决)

正确的解决方法:

Neighbor (ip-address) next-hop-self

需要注意的是:(一般跳数是根据AS来算的,在一个AS内部跳数不会发生改变)

接下来就是解决同步问题:

1:重分布,把bgp额路由条目重分布到,OSPF中,这种是一种方法。

2:关闭同步no synchronization 关闭同步的条件。

解决BGP的路由黑洞

1:全网互联

2:联邦

3:路由反射器

另一种邻居的建立

Neighbor peer-group -name peer-group

当一个路由器尝试与多个路由器之间建立BGP邻居关系时,并且我和这几个邻居路由器之间的路由条目或者做的路由的策略相同时,这样我就会与这个组建立邻居。

条件就是:必须把这几个路由器加入到这个组里。

需要用到的命令:

Neighbor 组的名字peer-group

Neighbor 邻居的地址peer-group 组名

Peer-group 的缺点:

当R2 R3建立单独的策略时,out方向不行,in方向行。优点:

1:减少资源

2:减少配置

BGP的五种状态

Idle 查找路由表,找建立邻居的路由条目,如果有则进行TCP握手。

Active 表明我的底层路由有,并且尝试的去建立邻居了。

Connect 当完成了三次握手,就到了这状态了。目的端口是179时,才会到这状态。意味这TCP连接已经完成了。

Open sent 发送BGP信息,路由信息

Open confirm 表示邻居已经建立。

Established

查看某路由器是否是给自己的邻居路由的命令:

Show ipbgp neighbors 对端邻居的地址advertised-routes

BGP邻居的认证

命令:neighbor (ip-address/peer-group-name) password string(密码)

注意:bgp只支持MD5认证,不支持明文认证。

认证成功的标志:就是对端发送过来的hash与自己本端的hash值进行对比。如果相同,则表明认证成功。反之,则认证不成功

清除BGP表的方式

清除BGP表的方式有两种:

1:硬清除hard reset clear ipbgp * / clear ipbgp +邻居地址

2:软清除soft reset clear ipbgp +(邻居地址/ *) softout (只对out方向进行清理)

对in方向的清理命令:

clear ipbgp +邻居地址soft-reconfiguration inbound

clear ipbgp +(邻居地址/*) soft in

这几条命令的用途:配置路由器的策略时。主要对bgp的策略起来的速度快点

IBGP的水平分割技术

解析该试验;

R4将自己的4.4.44 network后,查R2的bgp表,得到的结果是该路由是优化的,在查看R1是该路由没有优化,(解决方法就是在R2上修改下一跳)这样这条路由就优化了。但是在查看R3时,发现R3的bgp表中就没有这条路由条目,(不管是优化的,还是没有优化的都没有)。

根据这条命令查看(Show ipbgp neighbors 对端邻居的地址advertised-routes)得到结果就是R1就没有给R3发送这条路由。

造成这样的后果的原因就是,IBGP的水平分割。

解决以上出现的问题就是:

1:R2 与R3之间建立IBGP邻居。

2:创建路由反射器

IBGP的水平分割:(路由黑洞)

就是从IBGP邻居学习到的一条路由,我就不会再把这条路由在传递我的IBGP邻居。

解决IBGP水平的方法:

1:R2与R3建立IBGP邻居。

2:全网互联

3:路由反射器

4:联邦

第一部分:

路由反射器(RR)

路由反射簇:一组路由器的集合

解释图中的角色:

RB RC RD 是一个路由反射簇。

RC RD是一个路由反射簇中的客户端

RB是反射器

RE是非客户端

RA是EBGP邻居

杰克的三句话:

1:从我的路由反射簇中的组成员,传过来一条路由,我会把它反射给我的另一个客户端,我会把它反射给我的一个非客户端。同时也反射给我的一个EBGP邻居。

2:

角色介绍:

RB RD 是一个路由反射簇

RB是反射器

RD是客户端

一个普通运行BGP的路由器,传过来一条路由,给RR,RR会给我的客户端,RR也会给我的EBGP邻居。但不会传给我的另外一个普通的IBGP邻居。

3:

角色介绍:

RB RD 是一个路由反射簇

RB是反射器

RD是客户端

3:从我EBGP传过来的路由,当达到RR之后,RR会反射给我的另一个EBGP邻居,RR也会反射我的客户端,RR也会反射给我的另外一个普通IBGP邻居。

总结:

路由反射簇=大的路由器

实验:

主要的配置就是在反射器上,配置一条命令:

Neighbor (对端邻居的地址) route-reflector-client

这样做的效果就是让R3 R5 把4.4.4.4这条路由优化。

配置路由反射器簇ID:bgp cluster-id xxxx(它会随机产生的)

这簇id与BGP的选路的时候会考虑到簇id,进过的RR越多,则簇id越长。

作业:分析实验拓扑。

会出现什么情况呢?

主要的两句话:

1:我们把路由反射簇当做一个大的路由器。我路由反射器与client共同构成了路由反射簇。

2:这个路由反射簇只有RR知道。就是在这个路由反射簇中只有server知道client,但是client 不知道server。

以上的两句话是解决以上实验拓扑的钥匙。认真研究。

联邦技术

主要就是在大的AS中划分成几个的小的联邦。

需要一个联邦的AS号(私有的)

说明:

R2与R1组的AS号是:65001

R3组的AS号是:65002

在大的AS=123中建立两个小联邦,联邦的标识用联邦的AS来标识。

需要注意的是:R2与R1建立

bgp confederation identifier 123)这句话配在建立联邦的每一个路由器上。

这句话的作用就是:告诉我EBGP邻居,我的AS号是123.

R2 R4 建立的是EBGP邻居时,只要配置这一条命令,邻居就会起来,但是如果向R3 R5建立的是IBGP邻居时。这条命令不能让邻居起来。

解决的方法:

R1与R3建立的是联邦的EBGP,R2 与R1建立的IBGP不一样。

R1与R3在大的AS=123中建立的是联邦的EBGP,而且是用环回口建立的所以要敲三条命令:

Neighbor 环回remote-as AS号

Neighbor 环回update-soure

Neighbor 环回ebgp-multihop

建立联邦必须要打的命令:

bgp confederation peers+邻居的AS号

作用就是除去这个AS号,其他的是As是123

bgp confederation identifier 123

主要作用就是。来联邦内部的路由器向外部宣告自己是AS=123

一定要注意的是在建立R4与R2 和R3与R5,邻居时其实就要就要这样配:

Router bgp 400

Neihbor 192.169.24.2 remote-as 123

小技巧:检测下一跳是否可达,拼下一跳就会判定出来。

BGP聚合技术

作用:减少路由条目

BGP的路由聚合可以在任何路由器上做聚合。

第一种方法:

有两步:

1:在路由表中加一条:

ip route +(明细的聚合路由) mask x xxx null 0 (防止打环)

2:再把这条聚合路由network BGP表中。

需要注意的是:把明细的路由条目不要network到BGP表中。

如:

172.1.12.1

172.1.13.1

172.1.14.1

172.1.15.1

会聚后的地址:172.1.12.1----------- 255.255.252.0

第二种方法:

Router bgp 400

Aggregate-address 172.1.12.0 255.255.252.0 summary-only

注意的是:AS的丢失会造成路由环路。

AS可以防环。

2)“as-set”参数可以使BGP 聚合路由不丢失原来的AS-PATH 属性,从而避免路由环路。

解决AS丢失的问题:

Router bgp 400

Aggregate-address 172.1.12.0 255.255.252.0 summary-only as-set

这条命令的作用就是:还原AS-path属性

实验图形:

这个实验比较简单,主要能体现出,还原AS-PATH属性的实验。

R1:BGP表

Network Next Hop Metric LocPrf Weight Path *> 1.1.0.0/24 0.0.0.0 0 32768 i

*> 1.1.0.0/22 192.168.13.3 0 0 200 i *> 1.1.1.0/24 0.0.0.0 0 32768 i

*> 1.1.2.0/24 192.168.13.3 0 200 300 i *> 1.1.3.0/24 192.168.13.3 0 200 300 i

R2:BGP表:

Network Next Hop Metric LocPrf Weight Path *> 1.1.0.0/24 192.168.23.3 0 200 100 i *> 1.1.0.0/22 192.168.23.3 0 0 200 i *> 1.1.1.0/24 192.168.23.3 0 200 100 i *> 1.1.2.0/24 0.0.0.0 0 32768 i

*> 1.1.3.0/24 0.0.0.0 0 32768 i

R3:BGP表

Network Next Hop Metric LocPrf Weight Path *> 1.1.0.0/24 192.168.13.1 0 0 100 i *> 1.1.0.0/22 0.0.0.0 32768 i

*> 1.1.1.0/24 192.168.13.1 0 0 100 i *> 1.1.2.0/24 192.168.23.2 0 0 300 i *> 1.1.3.0/24 192.168.23.2 0 0 300 i

R4:BGP表

Network Next Hop Metric LocPrf Weight Path

*> 1.1.0.0/24 192.168.34.3 0 200 100 i

*> 1.1.0.0/22 192.168.34.3 0 0 200 i

*> 1.1.1.0/24 192.168.34.3 0 200 100 i

*> 1.1.2.0/24 192.168.34.3 0 200 300 i

*> 1.1.3.0/24 192.168.34.3 0 200 300 i

①路由器R1、R4 收到“1.1.0.0/22”聚合路由,通过AS-PATH 属性可以看出,执行地址聚合的路由器R2 成为新路由的创造者,原来AS-PATH 属性丢失;

②路由器R4 同时也收到4 条明细路由,在显示的AS-PATH 序列中,路由的始发AS 在

列表的末端(右侧),每个收到该路由,并把它传递给其它AS 的BGP 对等体会把它自己的AS 追加在列表的开头(左侧);

③BGP 路由器下一跳为“0.0.0.0”,表示该BGP 路由起源本地,Weight 值为“32768”;

④因为所有BGP 路由条目的代码为“*>”,所以所有BGP 路由条目都为最优。

R3路由器配置了路由聚合:

2)“as-set”参数可以使BGP 聚合路由不丢失原来的AS-PATH 属性,从而避免路由环路,在路由器R3 上操作如下

aggregate-address 1.1.0.0 255.255.252.0 as-set

BGP表的变化:

Network Next Hop Metric LocPrf Weight Path

*> 1.1.0.0/24 192.168.13.1 0 0 100 i

*> 1.1.0.0/22 0.0.0.0 100 32768 {100,300} i

*> 1.1.1.0/24 192.168.13.1 0 0 100 i

*> 1.1.2.0/24 192.168.23.2 0 0 300 i

*> 1.1.3.0/24 192.168.23.2 0 0 300 i

R4

Network Next Hop Metric LocPrf Weight Path

*> 1.1.0.0/24 192.168.34.3 0 200 100 i

*> 1.1.0.0/22 192.168.34.3 0 0 200 {100,300} i

*> 1.1.1.0/24 192.168.34.3 0 200 100 i

*> 1.1.2.0/24 192.168.34.3 0 200 300 i

*> 1.1.3.0/24 192.168.34.3 0 200 300 i

①路由器R4 上收到的汇总路由“1.1.0.0/22”中,AS-PATH 包含了被聚合路由中所有

的AS 号码的集合“{100,300}”;

②聚合路由正是由于携带了所有的AS,所以在路由器R1 的BGP 表中没有出现,当然

在路由器R2 的BGP 表中也不会出现。

【技术要点】

BGP 使用AS-PATH 属性作为路由更新的一部分来确保没有路由环路。因为在BGP 对等体之间传递的每条路由都携带它所经过的AS 号码序列表,如果该路由被通告给它始发的AS,该AS 路由器将在AS 序列表中看到自己的AS,它将不接受该路由。

R3#show ipbgp neighbor 192.168.13.1 advertised-routes

Network Next Hop Metric LocPrf Weight Path

*> 1.1.0.0/22 0.0.0.0 100 32768 {100,300} i

说明:R3向R1发送了一条1.1.0.0/22这条路由聚合。

R1#show ipbgp neighbors 192.168.13.3 received-routes

% No such neighbor or address family

路由器R1 没有接收聚合路由“1.1.0.0/22”,因为它发现聚合路由条目中

的AS-PATH 属性列表“{100,300}”中包含自己的AS 号码100,所以不接收。同理,路由器R3 也不会接收该聚合路由条目。

接下来这个实验有点难。

路由条目表项的状态代码

以上输出中,路由条目表项的状态代码(Status codes)的含义解释如下:

①s:表示路由条目被抑制;

②d:表示路由条目由于被惩罚而受到抑制,从而阻止了不稳定路由的发布;

③h: 表示该路由该路由正在被惩罚,但还未达到抑制阀值而使它被抑制;

④*: 表示该路由条目有效;

⑤>: 表示该路由条目最优,可以被传递,达到最优的重要前提是下一跳可达;

⑥i:表示该路由条目是从IBGP 邻居学到的;

⑦r:表示将BGP 表中的路由条目放入到IP 路由表中失败。

以上输出中,起源代码(Origin codes)的含义解释如下:

①i:表示路由条目来源为IGP;

②e:表示路由条目来源为EGP;

③?: 表示路由条目来源不清楚,通常是从IGP 重分布到BGP 的路由条目。

BGP的suppress-map参数的解释:

主要含义是:

如果有特殊的需求,在聚合后只抑制部分明细路由条目,参数“suppress-map”可以完成。

在做会聚路由的路由器上查看BGP表会出现一个情况:

路由器R3 上所有被聚合的明细路由被标记为“s”,表示被抑制,不被送;

“summary-only”这参数的意思是:会抑制全部的明细路由条目。(在其他路由器上)

实验要求:

本实验要求路由器R2 地址聚合后,要求路由器R1 的两条明细路由被抑制,而路由器R2 的明细路由要求传递给路由器R4,路由器R3 配置步骤如下:

前缀列表的写法:

ip prefix-list 1 permit 1.1.0.0/24 //匹配路由条目,以便进行控制

ip prefix-list 1 permit 1.1.1.0/24

route-map sup permit 10

matchip address prefix-list 1

BGP-community应用配置实例

BGP community属性 网友:怒咆的野狼发布于:2007.05.18 13:11(共有条评论) 查看评论| 我要评论 R1R2R3R4R5顺次互联 community属性。这是不同于选路属性的一个属性。该属性具有以下几个特点; 1 community是一个任选可透明传送属性,它可以简化策略的执行。 2 它是cisco的一个专有属性,现在在RFC1997中已被标准化。 3 commnity属性标明一个目的地作为一些目的地团体中的一个成员,这些目的地共享一个或多个共同的特性。 4 community值可以自己定义,另外有几个已经定义好的团体属性: NO_ADVERTISE:表示携带该值的路由不能公布给EBGP和IBGP邻居 NO_EXPORT:表示携带该值的路由不能公布给EBGP邻居 LOCAL_AS:(NO_EXPORT_SUBCONFED)携带该值的路由可以公布给联盟内的其它子自治系统但不能在构成联盟的AS以外进行公布。 试验步骤如下: 配置BGP,在本实验中要建立联邦我们顺便学习一下联邦 配置团体属性,让2.2.2.0网络只被R2学习到 配置团体属性,让22.22.22.0网络只被R2,R3学习到 配置团体属性,让222.222.222.0网络只被R2,R3,R4学习到 配置团体属性,让R1不传递2.2.2.0 这条路由 二试验配置 配置BGP r1#sh run | b r b

router bgp 100 no synchronization network 2.2.2.0 mask 255.255.255.0 network 22.22.22.0 mask 255.255.255.0 network 222.222.222.0 neighbor 12.0.0.2 remote-as 234 no auto-summary r2#sh run | b r b router bgp 64512 no synchronization bgp confederation identifier 234 /指明联邦号是234 neighbor 12.0.0.1 remote-as 100 neighbor 23.0.0.3 remote-as 64512 /R3跟它处于联邦内同一个子AS中neighbor 23.0.0.3 next-hop-self /指定下一跳是它自己 no auto-summary r3#sh run | b r b router bgp 64512 no synchronization bgp confederation identifier 234 bgp confederation peers 64513 /指明该联邦内的另一个子AS neighbor 23.0.0.2 remote-as 64512 neighbor 34.0.0.4 remote-as 64513 /R4跟它处于联邦内不同子AS之间no auto-summary

BGP的团体属性

BGP的团体属性 2012年12月2日BGP的团体属性有别于其它任何一个属性,团体不限于一个网络或一个自治系统,它没有物理边界,可以穿越多个AS。从实质上讲,团体属性其实就是对BGP路由更新的一种标记方法,携带了团体属性的BGP路由在传递过程中,沿途的路由器可以根据团体属性来对该路由进行相应的操作(如修改LP、MED等),而不需要再执行路由过滤,从而简化了路由策略的配置,增强了灵活性。 例如,一个ISP_A与ISP_B和ISP_C相连,其分配的IP地址很分散,但它欲向ISP_B 通告本AS内的路由时设置MED值为200,而向ISP_C通告本AS内的路由时设置MED值为100,则在ISP_A内的所有BGP路由器上要求注入到BGP的本地路由分配团体属性“A:N”,这样,两个出口路由器RTB和RTC分别向EBGP邻居发送路由时,直接根据路由携带的团体属性值进行相应的过滤和控制即可,不再依赖于繁琐的ACL或是IP Prefix列表一条路由一条路由的指定,从而简化了操作。 团体属性的Type Code是8,32比特长,有3种方式定义:十进制方式,取值范围是1-4294967295;十六进制方式,以AA:NN的格式表示,前面是本地自治系统号码,后面两个八位组是本地定义值(开头部分0x00000000-0x0000FFFF和结尾部分0xFFFF0000-0xFFFFFFFF被保留);第三种方式是使用名字,使用公认的BGP团体名字。默认情况下,Cisco IOS 软件使用较旧的十进制格式。要以AA:NN 格式进行配置和显示,则发出ip bgp-community new-format 全局配置命令。AA:NN 格式的第一部分表示AS 编号,第二部分表示 2 字节编号。 因为团体属性为可选传递属性,所以需要在每台传递途径路由器上向邻居send-community,保持其属性的正常传递。 RFC1997还规定了4种公认的团体属性,设备收到带有这4个公认的团体属性的路由,自动按照RFC规定来执行的,不需要再配置路由策略: (1)Internet 默认的团体属性,默认所有路由都属性该团体。 (2)No_Export 值为0xFFFFFF01或4294967041,携带该团体属性值的路由不向AS外的EBGP邻居发送,但可以向联盟内的EBGP邻居发送,即该路由只被限制在AS内部传递,如果配置了联盟,则只在联盟内传递。 该路由可以被传递到整个AS或联盟内。(注:为解决大型AS内的IBGP互连,可以将一个AS划分为若干个子AS,被划分的AS称为联盟。各AS内部采用IBGP全互连;各AS间采用EBGP连接,称为联盟内的EBGP连接;与联盟外的AS的连接称为联盟外的EBGP 连接) 例如某个运营商网络以省为单位划分成若干个私有AS,携带该团体属性值的路由可以在整个运营商网络中传递。 (3)Local_AS 值为0xFFFFFF03或4294967043,又称No_ Advertise_Subconfed,携带该团体属性值的路由不向任何EBGP邻居发送,包括联盟内的EBGP邻居,即该路由只被限制在AS内部传递,如果配置了联盟,则只在联盟内的子AS内部传递。 例如某个运营商网络以省为单位划分成若干个私有AS,携带该团体属性值的路由只能在运营商网络中的某个子AS内传递。 (4)No_Advertise 值为0xFFFFFF02或4294967042,携带该团体属性值的路由不向任何BGP邻居发送,

BGP路径属性之AS_PATH的四种类型浅析

BGP路径属性之AS_PATH的四种类型浅析 AS_PATH属性,公认必遵,描述到达目标网络所要经过的AS号序列。最重要的作用是防环,如果BGP router发现自己的AS号位于接收自外部对等体的路由,则忽略该路由 仅当update消息被发送给其他的AS时,BGP 路由器才会将其AS号追加在AS_PATH中。这句话也隐含了另一个意思,那就是如果要修改AS_PATH属性,则必须在AS边界路由器上执行策略。 有四种类型的AS_PATH: AS_SET:一个去往特定目的地所经路径上的无序AS号列表 AS_SEQENCE:一个有序的AS号列表 AS_CONFED_SEQUENCE 一个去往特定目的地所经路径上的有序AS 号列表,其用法与AS_SEQUENCE完全一样,区别在于该列表中的AS号属于本地联邦中的AS AS_CONFED_SET 一个去往特定目的地所经路径上的无序AS号列表,去用方法与AS_SET完全一样,区别在于列表中的AS号属于本地联邦中的AS 以上四种类型是通过AS_PATH属性中的类型代码进行区分。关于这两个联邦特有的AS_PATH 类型,详细内容请见本文档“联邦”一小节,对于前两种AS_PATH怎么理解呢?

如上图由于做了汇聚,可能会丢失AS号信息,而作为AS号本身,如果用于防环的目的,其实并不一定要求AS号排列有序,因此AS3113向上游通告汇总路由时,以AS_SEQENCE为起始,同时AS_SET仍然保留明细路由的AS号(无序)。 如果AS_PATH中包含了AS_SET,那么就不需要在聚合路由中包含ATOMIC_AGGREGATE了,这是因为,AS_SET不但可以向下行路由器通告已经发生了路由聚合,而且包含了比ATOMIC_AGGREGATE更多的信息 AS_PATH:类型 AS_SEQENCE 以下为UPDATE消息中的AS_PATH字段内容(AS_PATH类型为AS_SEQUENCE的情况,也就是一般情况) 上图仅做基本的BGP配置,在R1上发布1.0及2.0,不做汇总,R4收到的AS_PATH如下:

第七部分 BGP协议的属性

BGP 协议复习大纲 第七部分BGP协议的属性 引:BGP属性是了解BGP协议的一大重点,也可以称之为BGP路径选择的属性,在第四部分中已经介绍了BGP的路径属性位于Update 报文中,本部分将详细介绍BGP的属性及其应用。BGP的属性是施加在每一条路由上的,表达了路由的特征,这些属性可以分为过渡和非过渡的,还有一些是必遵的和可选的,且便于扩展和开发。从而才有路径的选择。 一、BGP度量值使用属性来判断 1、公认属性 & 公认属性 ——所有BGP 路由器都必须识别的属性 ——该属性传递给BGP邻居 & 公认必遵属性 ——在所有的更新消息中必须出现 & 公认自由决定属性 ——可以在更新消息中不出现 2、可选属性 & 可选属性 ——非公认属性被称为可选属性 ——可选属性并不要求BGP实现都支持。它可能是私有的属性。 & 可选传递属性 ——非公认属性,可选属性可以是传递的和非传递的。 ——对于不支持的可选传递属性,路由器将原封不动地传递给其他BGP路由器。在这种情况下,属性被标记为partial(部分的)。 & 可选非传递属性 ——路由器将其删除,而不将它传递给其他路由器 3、强制属性 4、自由决定属性 5、传递属性 6、非传递属性 7、部分属性 二、BGP属性组合包含以下几部分 1、公认强制属性 & AS路径(as-path) & 下一跳(next-hop) & 源头(origin) 2、公认自由决定属性 & 本地优先级 & 原子聚合

3、可选传递属性 & 聚合站 & 共同体 4、可选非传递属性 & 多出口鉴别器(MED) 三、BGP的所有路由属性(最多有256种属性,截止目前共有16种属性被使用) & *必遵属性(重点) *1、Origin(起点属性) *2、AS-Path(经过哪些自治系统) *3、Next hop(自治系统的下一跳) 4、MED(控制优先的线路) 5、Local-Prefernce(本地优先属性) 6、Community(团体属性) & 聚合属性(BGP在聚合时使用) 7、Atomic-Aggregate 8、Aggregate & 反射属性(配置BGP反射器时使用) 9、Originator – ID 10、Cluster – List & 厂家新增的(设备制造商增加的) 11、Destination Pref (MCI) 12、Advertiser(Baynet) 13、Rcid – Path(Baynet) & 被用在NPRS的MBGP上的(非重点) 14、MP _ Reach _ NLRI 15、MP _ Unreach _ NLRI 16、Extended _ Communities 四、起点属性(Origin) 起点(源)属性告诉所有的自治系统该路径的好或坏。起点属性是公认的必遵的和可传递的。 标志着一条路由怎样成为BGP路由,可能有下面三种属性: 1、 IGP属性 路由是用“network”命令注入到BGP路由表中的,则Origin属性为IGP 2、 Incomplete属性 路由是用“redistribute”命令注入到BGP路由表中的,则Origin属性为Incomplete 由于IGP比Incomplete人为操纵的程度更高,因此再选路时拥有较高的优先级 3、 EGP属性 指在早期的EGP协议时使用,由于BGP取代了EGP,所以这种EGP属性很少见,在实际中应用的也很少,此章不做重点探讨。

BGP origin属性

一试验说明: 在本实验中要分别建立IBGP邻居和EBGP邻居。然后研究一下BGP路由的origin属性。这个属性有3个值,分别为: 1 IGP:当使用bgp network 命令或将IGP路由重分布进BGP中。在BGP路由表中起源于IGP的路由用“i”表示 2 EGP:通过BGP学习到的路由。在BGP路由表中起源于EGP的路由用“e”表示 3 incomplete:当路由重分布进BGP时,即无法确定路由的始发者时,在BGP路由表中用“?”表示――――――――――――――――――――――――――――――――――――――― 配置IGP协议 要在AS 100中配置IGP协议,首先建立IGP的连通性,本实验选用EIGRP作为IGP协议,现在进行配置。 RTA RTA(config)#router eigrp 90 RTA(config-router)#no auto-summary RTA(config-router)#network 150.10.0.0 RTA(config-router)#passive-interface s1/0.23 RTC RTC(config)#router eigrp 90 RTC(config-router)#no auto-summary RTC(config-router)#network 150.10.0.0 RTC(config-router)#network 175.10.0.0 RTB RTB(config)#router eigrp 90 RTB(config-router)#no auto-summary

RTB(config-router)#net 175.10.0.0 RTB(config-router)#network 190.10.50.0 ―――――――――――――――――― RTA#sh ip route 170.10.0.0/24 is subnetted, 1 subnets C 170.10.20.0 is directly connected, Serial1/0.23 190.10.0.0/24 is subnetted, 1 subnets D 190.10.50.0 [90/2809856] via 150.10.30.2, 00:21:34, Serial1/0.21 D 175.10.0.0/16 [90/2681856] via 150.10.30.2, 00:23:10, Serial1/0.21 C 150.10.0.0/16 is directly connected, Serial1/0.21 EIGRP路由已经可以正常学习到。―――――――――――――――――――――――――――――――――――――――配置BGP RTA router bgp 100 no synchronization network 150.10.0.0 neighbor 170.10.20.2 remote-as 300 neighbor 175.10.40.2 remote-as 100 no auto-summary RTB router bgp 100 no synchronization network 190.10.50.0 mask 255.255.255.0 neighbor 150.10.30.1 remote-as 100 no auto-summary RTE router bgp 300 no synchronization network 170.10.0.0 mask 255.255.255.0 neighbor 170.10.20.1 remote-as 100 no auto-summary ――――――――――――――――――――――――――――――――――――― 配置静态路由 在RTA上配置一条静态路由,然后重分布到BGP中 RTA(config)#ip route 190.10.0.0 255.255.0.0 null 0 RTA(config)#router bgp 100 RTA(config-router)#redistribute static ――――――――――――――――――――――――――――――――――――――试验测试: 分别查看RTA和RTE的BGP路由表 RTA#sh ip bgp

BGP community属性

BGP community属性无敌详解文档(视频详解+配套文档) community属性是BGP众多路径属性中一个相对比较难理解的知识点,需要通过大量实验加深印象,为了帮助大家更清晰的了解这个路径属性,我特定编写了这份文档,希望对大家有所帮助。 本文档配套详解视频: 1、community的基本概念 可选传递,用于简化路由策略的执行。可以将某些路由分配一个特定的COMMUNITY 属性,之后就可以基于COMMUNITY值而不是每条路由进行BGP属性的设置了。COMMUNITY属性对邻居起作用,在设置后,同时需要向邻居发送(send community,默认是不会发送的)。 COMMUNITY属性是一组4个8位组的数值,RFC1997规定前2B表示AS号,后2B 表示基于管理目的设置的标示符,格式为AA:NN,而CISCO默认显示格式为NN:AA (CISCO IOS在显示community值时,默认是按10进制格式显示),可使用全局配置命令ip bgpcommunity new-format将CISCO默认格式改为RFC格式。 例如将AS12的某条路由COMM值改为10000,RFC采用十六进制表示COMMUNITY属性,而CISCO采用十进制。RFC格式为12:10000,十六进制为0x 000C2710,再转换为十进制796432(这就是CISCO IOS默认显示的值)。

抓个包看一下: 2、在route-map中设置community属性 route-map test permit 10 set community ? <1-4294967295> community number aa:nn community number in aa:nn format additive Add to the existing community 设置commu值为附加,否则为覆盖 internet Internet (well-known community) 默认所有路由都属于该团体 local-AS Do not send outside local AS (well-known community) no-advertise Do not advertise to any peer (well-known community) no-export Do not export to next AS (well-known community) none No community attribute 下边我们来看一下community的这几个众所周知值的本文为原创博文, no-advertise

BGP团体属性和策略

实验:BGP中路由策略的一些应用 要求: 192.168.20.1/24 COST 101 团体属性值200:100 21.1/24 过滤 22.1/24 COST100 R3的收到的20.1 附加一个AS号1000和团体属性100:100 AS100过滤AS200的流量不传给AS300 (r3没有2.2.2.2) 发送BGP更新报文时,可以携带私有自治系统号不携带私有自治系统号(peer 192.168.1.2 public-as-only ) 配置如下: AR1 # sysname r1 # interface Ethernet0/0/0 ip address 192.168.1.1 255.255.255.252 # interface Ethernet0/0/1 ip address 192.168.1.5 255.255.255.252 # interface LoopBack20 ip address 192.168.20.1 255.255.255.0 # interface LoopBack21 ip address 192.168.21.1 255.255.255.0 # interface LoopBack22 ip address 192.168.22.1 255.255.255.0

# bgp 100 peer 192.168.1.2 as-number 200 peer 192.168.1.6 as-number 300 # ipv4-family unicast undo synchronization import-route direct peer 192.168.1.2 enable peer 192.168.1.6 enable peer 192.168.1.6 route-policy a export peer 192.168.1.2 route-policy a export peer 192.168.1.6 advertise-community peer 192.168.1.2 advertise-community # route-policy a permit node 10 if-match ip-prefix a apply cost 101 apply community 200:100 # route-policy a deny node 20 if-match ip-prefix b # route-policy a permit node 30 if-match ip-prefix c apply cost 100 # route-policy a permit node 200 # ip ip-prefix a index 10 permit 192.168.20.0 24 greater-equal 24 less-equal 32 ip ip-prefix b index 10 permit 192.168.21.0 24 greater-equal 24 less-equal 32 ip ip-prefix c index 10 permit 192.168.22.0 24 greater-equal 24 less-equal 32 # return AR2 # sysname r2 # interface Ethernet0/0/0 ip address 192.168.1.2 255.255.255.252 # interface Serial0/0/3

BGP基础之origin属性

BGP基础之origin属性 [ 2007/1/24 2:45:18 | By: wangyang ] 一试验说明: 在本实验中我们要分别建立IBGP邻居和EBGP邻居。然后研究一下BGP路由的origin属性。这个属性有3个值,分别为: 1 IGP:当使用bgp network 命令或将IGP路由重分布进BGP中。在BGP路由表中起源于IGP的路由用“i”表示 2 EGP:通过BGP学习到的路由。在BGP路由表中起源于EGP的路由用“e”表示 3 incomplete:当路由重分布进BGP时,即无法确定路由的始发者时,在BGP 路由表中用“?”表示――――――――――――――――――――――――――――――――――――――― 二基本配置: 1 配置底层联通 由于我的底层拓扑是帧中继,所以先要把帧中继配通。下面是配置 RTA interface Serial1/0 no ip address encapsulation frame-relay no frame-relay inverse-arp frame-relay lmi-type ansi interface Serial1/0.21 point-to-point ip address 150.10.30.1 255.255.0.0 frame-relay interface-dlci 201 interface Serial1/0.23 point-to-point

ip address 170.10.20.1 255.255.0.0 frame-relay interface-dlci 203 ――――――――――――――― RTB interface Loopback1 ip address 190.10.50.1 255.255.255.0 interface Serial1/0 ip address 175.10.40.2 255.255.0.0 encapsulation frame-relay frame-relay map ip 175.10.40.1 401 broadcast no frame-relay inverse-arp frame-relay lmi-type ansi ―――――――――――――――――――― RTE interface Loopback1 ip address 170.10.0.1 255.255.255.0 interface Serial1/0 ip address 170.10.20.2 255.255.255.0 encapsulation frame-relay frame-relay map ip 170.10.20.1 302 broadcast no frame-relay inverse-arp frame-relay lmi-type ansi 经测试底层已经联通。――――――――――――――――――――――――――――――――――― 2 配置IGP协议 要在AS 100中配置IGP协议,首先建立IGP的连通性,本实验我们选用EIG RP作为IGP协议,现在进行配置。 RTA RTA(config)#router eigrp 90 RTA(config-router)#no auto-summary RTA(config-router)#network 150.10.0.0 RTA(config-router)#passive-interface s1/0.23 RTC RTC(config)#router eigrp 90 RTC(config-router)#no auto-summary RTC(config-router)#network 150.10.0.0 RTC(config-router)#network 175.10.0.0 RTB RTB(config)#router eigrp 90 RTB(config-router)#no auto-summary RTB(config-router)#net 175.10.0.0 RTB(config-router)#network 190.10.50.0――――――――――――――――――

BGP基础之community属性

BGP基础之community属性 一试验说明: 本实验我们来研究一下BGP的一个属性:community属性。这是不同于选路属性的一个属性。该属性具有以下几个特点; 1 community是一个任选可透明传送属性,它可以简化策略的执行。 2 它是cisco的一个专有属性,现在在RFC1997中已被标准化。 3 commnity属性标明一个目的地作为一些目的地团体中的一个成员,这些目的地共享一个或多个共同的特性。 4 community值可以自己定义,另外有几个已经定义好的团体属性: NO_ADVERTISE:表示携带该值的路由不能公布给EBGP和IBGP邻居NO_EXPORT:表示携带该值的路由不能公布给EBGP邻居 LOCAL_AS:(NO_EXPORT_SUBCONFED)携带该值的路由可以公布给联盟内的其它子自治系统但不能在构成联盟的AS以外进行公布。 在本实验中,我们就先来研究以下这几个已经定义好的团体属性。试验步骤如下: 1 底层配置 2 配置BGP,在本实验中要建立联邦我们顺便学习一下联邦 3 配置团体属性,让2.2.2.0网络只被R2学习到 4 配置团体属性,让22.22.22.0网络只被R2,R3学习到 5 配置团体属性,让222.222.222.0网络只被R2,R3,R4学习到 6 配置团体属性,让R1不传递2.2.2.0 这条路由 ********************************************************************* ********* 二试验配置

1 底层配置 ―――――――――――――――――――――――――― 2 配置BGP r1#sh run | b r b router bgp 100 no synchronization network 2.2.2.0 mask 255.255.255.0 network 22.22.22.0 mask 255.255.255.0 network 222.222.222.0 neighbor 12.0.0.2 remote-as 234 no auto-summary ―――――――――――――――――― r2#sh run | b r b router bgp 64512 no synchronization bgp confederation identifier 234 /指明联邦号是234 neighbor 12.0.0.1 remote-as 100 neighbor 23.0.0.3 remote-as 64512 /R3跟它处于联邦内同一个子AS中neighbor 23.0.0.3 next-hop-self /指定下一跳是它自己 no auto-summary ――――――――――――――――――― r3#sh run | b r b router bgp 64512 no synchronization bgp confederation identifier 234 bgp confederation peers 64513 /指明该联邦内的另一个子AS neighbor 23.0.0.2 remote-as 64512 neighbor 34.0.0.4 remote-as 64513 /R4跟它处于联邦内不同子AS之间no auto-summary ――――――――――――――――――― r4#sh run | b r b router bgp 64513 no synchronization bgp confederation identifier 234 bgp confederation peers 64512 neighbor 34.0.0.3 remote-as 64512 neighbor 45.0.0.5 remote-as 500 no auto-summary ――――――――――――――――――― r5#sh run | b r b router bgp 500 no synchronization neighbor 45.0.0.4 remote-as 234 no auto-summary

H3C-BGP属性实例

BGP路由属性实例 AS_path属性 * AS_PATH属性按一定次序记录了某条路由从本地到目的地址所要经过的所有AS号。当BGP将一条路由通告到其他AS时,便会把本地AS号添加在AS_PATH列表的最前面。收到此路由的BGP路由器根据AS_PATH属性就可以知道去目的地址所要经过的AS。离本地AS最近的相邻AS号排在前面,其他AS号按顺序依次排列。例如: * 通常BGP不会接受AS_PATH中已包含本地AS号的路由,从而避免形成环路的可能. Next_hop属性 BGP的下一跳属性和IGP的有所不同,不一定就是邻居路由器

的IP地址。主要分以下三种情况: ●BGP发言者把自己产生的路由发给所有邻居时,将把该路由信息 的下一跳属性设置为自己与对端连接的接口地址; 如图: ●BGP发言者把接收到的路由发送给EBGP对等体时,将把该路由 信息的下一跳属性设置为本地与对端连接的接口地址; 如图: ●BGP发言者把从EBGP邻居得到的路由发给IBGP邻居时,并不 改变路由信息的下一跳属性。

Local_pref属性 Local_pref属性仅在IBGP对等体之间交换,不通告给其他AS。它表明BGP路由器的优先级。Local_pref属性用于判断流量离开本AS时的最佳路由。当BGP的路由器通过不同的IBGP对等体得到目的地址相同但下一跳不同的多条路由时,将优先选择Local_pref属性值较高的路由。如图: Med属性 MED属性仅在相邻两个AS之间交换,收到此属性的AS一方不会再将其通告给任何其他第三方AS。 MED属性相当于IGP使用的度量值,它用于判断流量进入AS 时的最佳路由。当一个运行BGP的路由器通过不同的EBGP对等体得到目的地址相同但下一跳不同的多条路由时,在其它条件相同的情

BGP的各种属性配置

BGP的各种属性配置 Lab 31. Configuring BGP Summarization 实验目的: 1、掌握使用指向NULL0接口的静态路由的汇总配置方法。 2、掌握使用聚合属性的路由汇总配置方法。 R1(config)#ip route 172.16.0.0 255.25 5.252.0 null 0 R1(config)#router bgp 64512 R1(config-router)#aggregate-address 172.16.0.0 255.255.252.0 summary- only Lab 33. BGP Neighbor Authentication 实验目的: 1、掌握其于MD5的BGP对等体认证配置。 R1(config)#router bgp 64512 R1(config-router)#neighbor 10.1.255.2 password cisco123 R2(config)#router bgp 64513 R2(config-router)#neighbor 10.1.255.1 password cisco123 Lab 34. Configuring BGP Local Preference 实验目的: 1、理解掌握BGP的本地优选属性概念和配置方法。 2、本地优选的属性默认值为100,较高值的路径会被优先选择。 3、本地优先属性,决定离开本自治系统最佳的路径。 (BGP在选择最佳路由时,并不会考具体链路的带宽。为了解决这一问题,可以在本地配置“本地优先”来确定数据流如何流出本自治系统。BGP会优先选择本地优先属性值较高的路由。)

BGP属性总结

11月8日 BGP属性总结 AS_PATH有四类: 1.AS_SEQUENCE --有序AS号列表 2.AS_SET --无须AS号列表 3.AS_CONFED_SEQUENCE --联盟有序AS号列表 4.AS_CONFED_SET --联盟无须AS号列表 与as_sequence不同,as_set并不用来决定最短路径,它唯一的目的是恢复被聚合路由丢失掉的环路检测功能 当公布了as_set以后,聚合路由就继承了被聚合路由所有的属性 neighbor remove-private-as将路由公布给指定的邻居前,从他们的as_path中过滤掉私有as号 ip as-path access-list命令定义了访问列表的一个变量,该变量用来定义as号 neighbor filter-list命令可以引用as_path访问列表 在再发布路由的标记中恢复as_path信息的一种方法是通过set as-path tag r3(config-router)#neighbor 23.0.0.2 allowas-in 1 使用这个命令的作用是允许R3接收起源于本地AS的路由,后面的1表示允许的次数。 路由的origin属性。这个属性有3个值,分别为: 1 IGP:当使用 bgp network 命令或将IGP路由重分布进BGP中。在BGP路由表中起源于IGP的路由用“i”表示 2 EGP:通过BGP学习到的路由。在BGP路由表中起源于EGP的路由用“e”表示 3 incomplete:当将静态路由重分布进BGP时,在BGP路由表中用“?”表示 在一个多路访问网络中的路由器产生的一条路由通过多路网络的其它路由器传到另一个BGP AS中, 则在那个AS中的路由器通过这条路由的下一跳不是它的EBGP邻居而是产生这条路由的那个路由器。BGP有三种管理距离: 外部BGP的AD=20 (external distance) 内部BGP的AD=200 (internal distance) 本地BGP的AD=200 (local distance) RTA(config-router)#distance bgp 200 200 200 (这3个值分别为external internal local) weight属性的一些概念。 1 weight属性是cisco的私有属性,是一种选路属性,用来选择一条最优路径。 2 weight属性只对本地路由器有效。该属性不会被传递。 3 weight值的取值范围是0-65535。 对于本路由器产生的路由,weight的默认值=32768;对于所有学到的路由,weight的默认值=0。 4 对于到同一目的地的多条路径来说,weight值越高的路径越优先 LOCAL PRE也是一条选路属性,它有以下几个特点。 1 在到达同一目标网络的多条路径中,LOCAL PRE越大则越优先。 2 LOCAL PRE的默认值是100 3 与WEIGHT属性不同的是LOCAL PRE属性可以在同一个AS内传递。 一般来说有以下几种过滤方法。 1 基于路由信息进行过滤----neighbor distribute-list 2 基于路径信息进行过滤----ip as-path access-list & neighbor filter-list 3 基于community信息进行过滤。 community属性。这是不同于选路属性的一个属性。该属性具有以下几个特点; 1 community是一个任选可透明传送属性,它可以简化策略的执行。

BGP属性与路径选择1

场景: 公司的网络采用BGP协议接入了两个服务运营商,ISP1的AS为100,ISP2的AS 号为200,现在Internet上的部分用户反应访问公司网站的速度较慢,你通过BGP调整路由走向的目的。 步骤一:基础配置 system-view [Huawei]sysname R1 [R1]interface Serial 1/0/0 [R1-Serial1/0/0]ip address 10.0.12.1 255.255.255.0 [R1-Serial1/0/0]interface GigabitEthernet 0/0/2 [R1-GigabitEthernet 0/0/2]ip address 10.0.15.1 255.255.255.0 [R1-GigabitEthernet 0/0/2]interface GigabitEthernet 0/0/1 [R1-GigabitEthernet 0/0/1]ip address 10.0.111.1 255.255.255.0

[R1-GigabitEthernet 0/0/1]interface LoopBack 0 [R1-LoopBack0]ip address 10.0.1.1 255.255.255.255 system-view [Huawei]sysname R2 [R2]interface Serial 1/0/0 [R2-Serial1/0/0]ip address 10.0.12.2 255.255.255.0 [R2-Serial1/0/0]interface Serial 2/0/0 [R2-Serial 2/0/0]ip address 10.0.23.2 255.255.255.0 [R2-Serial 2/0/0]interface LoopBack 0 [R2-LoopBack0]ip address 10.0.2.2 255.255.255.255 system-view [Huawei]sysname R3 [R3]interface GigabitEthernet 0/0/2 [R3-GigabitEthernet 0/0/2]ip address 10.0.15.3 255.255.255.0 [R3-GigabitEthernet 0/0/2]interface Serial 2/0/0 [R3-Serial2/0/0]ip address 10.0.23.3 255.255.255.0 [R3-Serial2/0/0]interface Serial 3/0/0 [R3-Serial3/0/0]ip address 10.0.23.3 255.255.255.0 [R3-Serial3/0/0]interface loopback 0 [R3-LoopBack0]ip address 10.0.3.3 255.255.255.255

BGP的MED属性

BGP路由协议MED属性 多出口区分MED(Multi-Exit Discriminators)属性是一个可选非过渡属性。自治系统使用本地优先级属性(Local Preference)来进行出自治系统路由的选择;而MED属性用于判断进入该自治系统的最佳路由,当一个运行BGP的自治系统得到目的地址相同、下一跳不同的多条路由时,在其它条件相同的情况下,MED值较小的路由将被优先选作进入该自治系统的外部路由。 在缺省情况下,自治系统的MED值为0。 一般情况下,路由器只比较来自同一AS中各EBGP邻居路径的MED属性,不比较来自不同AS的MED值。若非得要比较的话,Quidway系列路由器提供的“bgp always-compare-med”命令,可实现用户的这一要求。 注:缺省情况下,不比较来自不同自治系统邻居的路径的MED属性值。除非能够确认不同的自治系统采用了同样的IGP和路由选择方式,否则不要使用该配置命令。 下面的例子就是一个这样的问题,教师在讲述BGP路由协议MED属性时,可以引用这个例子来说明。 相同路由比较为什么有时没有选择MED值小的路由? 1.组网: 2.配置: RTA# ! router bgp 500 neighbor 201.1.1.2 remote-as 700 neighbor 201.1.1.2 route-map SETMED out ! route-map SETMED permit 10 set metric 50 ! RTB#

router bgp 600 neighbor 160.1.1.2 remote-as 700 neighbor 160.1.1.2 route-map SETMED out ! route-map SETMED permit 10 set metric 100 ! RTC# ! router bgp 700 neighbor 160.1.1.1 remote-as 600 neighbor 160.1.1.1 filter-list 1 out neighbor 201.1.1.1 remote-as 500 neighbor 201.1.1.1 filter-list 1 out ! ip as-path access-list 1 permit ^$ ! ....... 3.现象描述:三台Quidway之间分别建立了EBGP邻居关系,其中RTC同时收到RTA和RTB 发来的因特网路由,从而可以通过两条链路到达因特网。根据RTC的要求,RTA将自己发送给RTC的路由设置MED值为50,而RTB将自己发送给RTC的MED设置为100。RTC希望选择MED小的路由作为最佳路由,从而对相同目的地来说,把通过RTA的链路作为主链路,而把通过RTB的链路作为备份链路。 现已知路由192.10.0.0/16同时由RTA和RTB传给RTC,但RTC选择了RTB传来的路由。 可见,RTC确实同时从RTA和RTB收到了路由192.10.0.0/16,它们的AS-PATH长度相同,并且MED值符合要求。 RTC#show ip route Routing Tables: Destination/Mask Proto Pre Metric Nexthop Interface ... 176.17.20.0/24 BGP 256 100 160.1.1.1 Serial0 192.10.0.0/16 BGP 256 100 160.1.1.1 Serial0 RTC#show ip bgp BGP local router ID is 200.1.7.2 Status codes: s suppressed, d damped, h history, * valid, > best, i internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Path *> 176.17.20.0/24 160.1.1.1 100 600 i *> 192.10.0.0/16 160.1.1.1 100 600 400 300 100 i * 201.1.1.1 50 500 400 300 100 i 问题:RTC为什么没有选择MED值最小的路由?

相关主题
文本预览
相关文档 最新文档