Weight
属性
:
cisco
私有
的
BGP
属性参数,它只适用于一台路由器中的路由,也就是
不会传递给任何其他的路由器
。他的取值范围为
<0-65535>
,这个数
越大优先级越高
,默认从邻居学到的路由的
weight
都为
0
,从本地重分布进
BGP
路由表中的值为
32768
。
Weight
属性
不能包括在
BGP
的
update
中,也不能以任何形式传递给其他运行
BGP
的邻居,就是说一个路由器上权值的分配不会影响其他路由器上的路由选项。
Neighbor X.X.X.X weight
命令可以更改从该邻居收到的路由的
weight
。也可以用
route-map
中的
set weight
来设置
weight
,但是
weigh
不能用在路由更新的出方向
。我们还可以在
neighbor X.X.X.X filter-list ? Weight
设置
weight
从而来
匹配
ip as-path access-list
列表
中的
AS
为他们设置
weigh
。如果三种都配置。那么
route-map
优于
filter-list
优于
neighbot weight
!!
Origin
属性和
next-hop
属性
在前面已经做了解释,在此不再赘述只说一下他们的修改方法。
Origin
属性:
route-map
中
set origin[egp/igp/
incomplete
]
修改
origin
属性
Next-hop
属性:
neighbor X.X.X.X [next-hop-self/
next-hop-unchanged
]
修改
next-hop
属性,也可以
route-map
中
set ip next-hop[X.X.X.X/dynamic/in-vrf/peer-address/recursive/
verify-availability
]
中进行更详细的修改。
第三方下一跳现象:
当前缀通过
EBGP
通告出去后,
next-hop
会被自动的设置为那个正在发送该前缀的
EBGP
对等体的
IP
地址。有一种情况是例外的,就是当多个对等体同在一个共享的多路访问网络中,那么宣告者会把同一个网段上原来的宣告者设置为下一跳,而不是他自身。
这个特性可以被
neighbor next-hop-self
命令修改掉!
As-path
属性:
它以
相反的顺序
列出了一条前缀先后所经过的
AS
,最后一个
AS
放置在该列表的开始处。
AS-path
主要目的是为
AS
域间路由选择提供环路防止机制。因为
AS-path
列表的最短优先
原则,因此在列表中
前置相同的
AS
号
影响入站路由选择是常用的方法,这种方法叫
AS-path
的通路附加
。可以在
route-map
中
in
方向
设置
set as-path prepend 100 101 102
在
AS-path
列表的
最前面
增加
100 101 102
三个
AS
号码
。
out
方向在最后面加
。
Set as-path prepend last-as
3
在
AS-path
列表的
最前面
增加
3
个
最后的
AS
号码
。
只有在
EBGP
对等体之间公布路由的时候
AS
号才会被附加到
AS-path
中
。
CISCO-IOS
软件支持
4
种
as-path
:
AS-SET
、
AS-SEQUENCE
、
AS-CONFED-SET
、
AS-CONFED-SEQUENCE
!set
和
Sequence
不同处是
set
中的
AS-path
是无序的,而
sequence
中的
AS-path
列表是有序的
。当执行路由汇总时,会丢失
AS-Path
的细节信息,因为聚合点后面的
AS
号不会加在
AS-path
中,这样会出现路由选择环路。所以有了
AS-set
列表
,
当一个运行
BGP
的路由器根据从其他
AS
学习到的
NLRI
生成一个聚合路由时,在聚合点后面的路由所经过的
AS
会形成一个
AS-SET
。这个
as-set
在
show ip bgp
时
用
{}
括起来
,
{}
外面的就是
as-sequence.
如:
3 {1,2} i
。
as-set
默认是关闭的
我们可以在聚合命令下
Aggregate-address 10.10.0.0 255.255.0.0 summary-only as-
Set
开启
as-set
功能
。因为
as-set
会携带更多信息,所以
只要开启
as-set
就不会再产生
atomic-aggregate
。
Local-preference
属性
:本地优先级,它只用在
IBGP
对等体之间的
update
消息中
,以设置离开本
AS
的最优出口点,不会传给其他的
AS
(典型的,在入境
EBGP
更新中被设置),并且仅仅被同一个
AS
内的路径选择处理所使用。
默认为
100
(
可以被
bgp default local-preference
修改
),
越高越优先
。即使在
EBGP
邻居使用
route-map
配置了
Set local-preference
<0-4294967295>
在出方向也是没用的,因为
发给
EBGP
对等体的
update
根本不会携带这个属性
,所以这样配置没有意义。这个属性
发给
IBGP
对等体时会被自动继承下来
,传递到所有路由器都知道这个路由前缀的本地优先级属性。
Multi-Exit-Disc
(
MED
)属性:
它被典型的用在
AS
间的链路上,以区分到达相同的邻居
AS
的多个出口点。它在
EBGP
和
IBGP
的
update
消息中携带但不可以在接收
AS
范围之外的地方传递
MED
属性,也就是说
MED
只会在相邻的
AS
之间影响业务量。
它允许一个
AS
将它的首选入口点通过此属性通告给另外一个
AS
。可以在
route-map
中的
set metric<0-4294967295>
中设置
,还可以在
route-map
中
set metric
+/-<metric>
格外增加或者减少这个值
。具有
最低的
metric
值的路由优先
。我们可以把它看为一个度量,越小越优先。
如果到同一个目的地的两条路由来自不同的
AS
,此时
BGP
路由选路时不进行比较
MED
,
MED
只对单一的
AS
有意义
(我们可以强制让它们比较
bgp always-compare-med
)。
在边界路由器本地被注入到
BGP
中的路由在被通告给
EBGP
对等体时携带
MED
值。他们的规则如下:
如果通过
network
或
redistribute
命令注入到
BGP
中的路由是来自于
IGP
的,那么
BGP
的
MED
从
IGP
中导出。
如果通过
network
或
redistribute
命令注入到
BGP
中的路由是来自于直连的,那么
BGP
的
MED
被设置为
0
。
如果是通过
aggregate-address
命令注入路由,那么本
BGP
表的
MED
不被设置。邻居收到后写成
0
。
如果
路由从
i/eBGP
对等体学习到,那么它的
MED
传给
EBGP
对等体是删除的
。我们可以强制边界路由器通告
MED
给
EBGP
对等体邻居。
Route-map
中设置
set metric-type internal
这样就会将
本地
IGP
路由表的
metric
增加到条目中,如果本地
IGP
没有那么就为
0
。
Default-metric
这条命令可以更改
重分布(必须是
redistribute
命令)进
BGP
路由表的
IGP
条目的默认
MED
为多少
。(缺省情况下
redistribute
会把
IGP
的开销放到
BGP
的
MED
属性中)
ATOMIC-AGGREGATE
属性和
AGGREGATOR
属性:
一个运行
BGP
的路由器能够向另外一个运行
BGP
的路由器传送重叠的路由。聚合路由是产生重叠路由的最主要方式。
重叠路由:可以到达同一个目的地但是不完全相同的路由。(常见的就是一条路由包含另一条路由)
当执行路由聚合时,会丢失路由信息
(
as-path
、
next-hop
等),路由会变得不准确。
聚合的发起者只会把自己的
AS
放入
AS-path
中,聚合前的
AS
信息都会丢失。
Atomic-aggregate
属性:
它可以
警告下游路由器出现了路径的丢失
。聚合时总是会把这个属性放进聚合后路由的
update
中。任何下游路由器再公布给其他路由器时,会
传递这条路由的这个属性
。
Aggregator
属性:
聚合时也会自动出现该属性。它包括发动
聚合路由器的
AS
号码还有它的
router-id
,从而提供了执行聚合的地点信息。
Atomic-aggregate
属性指示出现了路径信息的丢失而
aggregator
属性指示聚合路由出现在哪里
。
Community
属性:
它被一组
共享相同特性的前缀
所定义,
多个社团可以应用到一条前缀上
。
Community
属性有
4
个字节,
RFC1997
规定前两个字节代表
AS
号码,后两个字节是管理上定义的标识符。格式为
AA:NN
。
cisco
缺省时
NN:AA
格式,但是可用命令
ip bgp-community new-format
将这个缺省的
NN:AA
改为
RFC1997
的
AA:NN
。
团体属性有以下两种类型:
well-known
(公共)和
Private
(私有)
。
公共社团属性:当收到这些带有团体属性的前缀时,对等体会
自动根据预定义(操作已经定义好了)的社团属性意义来采取操作
,不需要额外的配置。公共团体属性的保留范围是(
0xFFFF0000-0xFFFFFFFF
)。下面是
4
种公共社团属性
Internet:
所有属于这个社团属性的路由都有一个缺省值,可以自由地公布属于这个团体的路由。换句话说
这个社团的前缀通告没有任何限制
。在
cisco
的
IOS
软件中,
每一条前缀都没有团体属性
,但配置上这个属性并不会有什么变化,也是可以自由传递。它的
值为
0
。
No-export:
有这个属性的前缀
不会被通告给
EBGP
对等体
,但是
可以发送给联邦的
EBGP
对等体
,也就是不能在联邦范围以外公布。这个团体的值为
0xFFFFFF01
。
Local-AS:
有这个属性的路由条目
不会被通告到本地
AS
之外
。在联邦情况下,只有在同一个
子
AS
中的对等体
才会允许接受这些前缀。它的值为
0xFFFFFF03
在
RFC1997
中这个团体也叫做
no-export-subconfed
。
No-advertise:
接受到带有值的路由
不能公布给任何对等体
,包括
IBGP
对等体和
EBGP
对等体。它的值为
0xFFFFFF02
。
私有社团属性:
有网络管理员自己定义的社团属性,它的主要目的是
为前缀附加管理标记
,以便制定合适的策略。
社团属性默认并不会在对等体之间传递,传递社团属性需要命令
neighbor send-community
Originator-id
属性和
cluster-list
属性:
他们在路由反射器中使用用来防止路由选择环路。
Originator-id
:
是本地
AS
中
路由发起者的路由器
ID
。如果路由发起者在接收到路由的
originator-id
中发现了自己的
RID
,就知道产生了环路,于是
忽略
该路由条目,它提供在
AS
内的防环作用,它由
第一个
RR
创建,并且不被后续的
RR
修改
。它只应在
IBGP
对等体那里接收到,
在
RR
上
originator-id
用来替代路由选择过程中的
router-ID
。
它应该是这些路由器的
router-id
:
在本地
AS
始发路由的
BGP
宣告者的
router-id;
如果是从
EBGP
学到的就是最初学到那个条目的路由器
(
本
AS
内边界路由器
)
的
router-id
(它一定是本
AS
内路由器的
router-id
)。
Cluster-list
:
是路由经过的
路由反射器的簇
ID
(默认
RR
的
router-ID
)的一个列表
,如果路由反射器接收到的路由的
cluster-List
中发现了自己的本地簇
ID
,就知道产生了环路,于是忽略该路由条目,
RR
从而能够分别出路由选择信息是否又环回到同一个簇。可以配置
bgp cluster-id
。
cluter-id
默认为
RR
自己的
router-id
所以默认情况下所有的
RR
都不在同一个簇。
MP_Reach_NLRI
属性、
MP_Unreach_NLRI
属性和
Extended_Communities
属性将在
MPLS/VPN
体系结构中详细讲述。