前缀列表 匹配路由
prefix-list
ip prefix-list {list-name | list-number} [seq number] {deny network/length | permit network/length} [ge ge-length] [le le-length]
- prefix-list 本来就是为BGP 设计的。可以匹配路由条目的网络地址部分和掩码部分
- 可以使用distribute-list 直接调用prefix-list
ip prefix-list NAME permit 172.16.0.0/22 ge 24 le 24
- /22 前缀22bit相同的
- ge 24 掩码范围最小24位,当没有ge,掩码范围最小值跟前缀相同
- le 24 掩码范围最大24位
- 如果没写 le
1, 当没有ge , le 值跟前缀相同
2, 当有ge, 没有指定le, le=32
例子:
- 172.16.0.0/26
ip prefix-list test seq 5 permit 172.16.0.0/26 ge 26 le 26
- 172.16.1.0/26
ip prefix-list test seq 10 permit 172.16.1.0/26 ge 26 le 26
- 172.16.2.0/26
ip prefix-list test seq 15 permit 172.16.2.0/26 ge 26 le26
- 172.16.3.0/26
ip prefix-list test seq 20 permit 172.16.3.0/26 ge 26 le 26
-用一条 ip prefix-list test permit 172.16.0.0/22 ge 26 le 26 不精确
特殊:
所有32位主机路由 ip prefix-list A permit 0.0.0.0/0 ge 32
ip prefix-list A permit 128.0.0.0/2 ge 17
所有路由 ip prefix-list A permit 0.0.0.0/0 le 32
默认路由 ip prefix-list A permit 0.0.0.0/0
############################################################################### BGP 的路径属性
- BGP 的度量是属性
- 属性分为:4类
{ 强制
公认 {
{ 自由决定
{ 传递
可选 {
{ 非传递
公认属性:每个运行BGP的路由器都必须支持和识别的;
传播给其他邻居
公认强制属性:在更新消息中必须有的
AS-path next-hop origin(路由怎样加入到BGP)
公认自由属性:在更新消息中可以没有
local preference (本地优先级) atomiic aggregate(链路聚合)
可选属性:是公认属性的补充(可能是私有),但是可以不必被所有BGP路由器所支持
可用属性根据其含义来传递给其他邻居
可选传递属性:如果不支持,原封不动的传给其他邻居
aggregator community
可选非传递属性:如果不支持,就忽略此属性;并且次路由不传递给邻居
MED
BGP 属性:
- AS path *
- next-hop *
- origin *
- local preference
- MED
- others
AS-Path
- 就是一个到达目的地所有要经过的自治系统列表(每离开一个AS就加上一个AS-path属性)
next-hop
- EBGP之间传递时才会改变(下一跳指向EBGP邻居的IP)IBGP传递不改变next-hop,可以用
next-hop-self 使得路由再IBGP传递时也更改下一跳
origin 起源属性
- IGP (i)
network 命令宣告的
聚合产生
- Incomplete(?)
从IGP或静态路由重分布过来的
- 起源属性,用来告知AS内 所有路由器,一个网络前缀是如何引入BGP的
以上属性 可以通过 sho ip bgp查看
local preference 本地优先级属性
- 选择local preference 高的路径
@ local preference 通告给本地IBGP邻居,指导数据如何离开本AS
@ 指向 IBGP 邻居发送(即只在AS内部)
@ local preference 默认为100
@ 公认自由决定属性,选路用
MED
- 选择MED 低的路径(可以想象为度量值)
- 通告给相邻EBGP邻居,指导数据如何进入本AS
- 默认 0
- 可选非传递属性
通过本地设置来影响EBGP邻居到达本地路径选择
上图,A发送给B C的路由带上MED值,数据从B到A路径就是B->A,从C到A路径 就是C->B>A
weight 属性(cisco私有)
- 选择 weigh 高的路径
@ 不发送给任何BGP 邻居;路由器本地有效
BGP路径选择
- 在BGP表通常有很多到达同一目的地的路径
- BGP 默认不负载均衡
路径选择基于属性
并不基于带宽等因素
- BGP根据属性在很多路径选择一条最佳路径
- 最佳路径提交到路由表管理进程。并对其他路由协议同样到达相同目的地的路由进行评价 (根 据 AD值)
路径决策过程
1,更高的 weigh (本地路由器)
2,更高的 local preference (本AS)
3,起源于自己的路由 (下一跳=0.0.0.0)
4,更短的 AS-path 列表
5,比起源属性 (IGP < EGP < incomplete)
6,更小的MED (比较相邻AS之间)
7, EBPG 比 IBGP 更好
8,选择最近的 BGP 邻居路由
9,如果配置了 maximum-path ,会负载均衡
10,对应 EBGP 路径 ,选择最老路由
11,更低的邻居 IBGP 路由器ID
12,更短的 cluster-list
13,更低的邻居IP
待续。。。。。。。