BGP选路③

选路的前提路由必须是优的
BGP表的不优情况
1.BGP路由表中路由的下一跳不可达(递归失败)
2.如果开启了BGP的同步,在没有同步(重发布)的情况下bgp的路由不优(默认关闭)
r标记的路由,表示在路由表中不优
bgp表中路由信息如何传递到路由表之中

BGP Router 进程负责执行图 所示的通用功能。在输入侧,Router 进程负责从 InQ 取 出 BGP 消息并进行处理,如果是 Update 消息,那么就根据已配置的入站策略评估这些路由,然后再运行 BGP 决策进程并将相应的信息写入 BGP 表。在输出侧,Router 进程负责从 BGP表取出路由,根据已配置的出站策略评估这些路由,然后再根据评估结果生成 Update 消息并将 Update 消息添加到 OutQ 中。
BGP Router 进程负责提取 BGP 表中出现添加、删除或变更操作的路由,并修改 RIB 中的相关信息。如果进程试图将路由添加到到 RIB 中但是未成功(例如,原因是 RIB 中存在其他去往相同目的端的路由,且该路由的管理距离较小),那么 Router 进程就会提示出现了RIB-failure 问题
Scanner 进程负责将 RIB 中的前缀与已配置的 network、redistribute 以及 aggregate 语句进行评估,将所有默认路径属性或已配置的路径属性添加到匹配前缀上,并将最终的 BGP路由放入 BGP 表。
具体选路规则
在这里插入图片描述
1.weight(范围 0-65535,选大)
2.local-preference(范围 0-4294967295,选大)
3.本地起源(起源于本地最优先)
4.AS-Path,经过的as-path越多越不优
5.起源代码 orgin(一般建议不使用)
6.MED(范围 0-4294967295,只在通过两条路径得到最左边 AS 是相 同时才进行 比较)
7.EBGP 优于 IBGP,(管理距离ebgp为20,ibgp管理距离为200)(联邦 EBGP 与普通 IBGP 不能使用该条进行比较, 此时联邦 EBGP 路由与 IBGP 相同)
8.优先选择最近的ibgp邻居
9.最老的路由–优先存在的路由(前提必须是 external 路由,联邦内的 EBGP 路由当做 IBGP 处理)
10.最低的 router-id
11.BGP 优选来自最低邻居 IP 地址的路径(BGP 的 neighbor 配置的那 个 IP 地 址)
第八条中bgp默认负载均衡条目数为1,也就意味着默认它没有负载均衡,可以修改max-path参数来改变负载均衡条目数,一旦修改大于1,那么选路原则只会工作到第八条。
MED影响对方回来的选路(主备),一个路由器首选weight,一个AS多个路由器多个出口(到达as)local,一般不建议用orgin。
联盟
把一个大的as拆分为若干个小的私有as
减少建立邻居个数的一种措施
方便管理思路与ospf一样AS-path 在联盟中as-path中()内写入时联盟中私有as,加以区分
在小as之间建立邻居需要声明自己的大AS号(拥有EBGP邻居关系都需要声明大as号,对内声明对方的小as号)
1)所有的配置和管理均基于小as号进行
2)联邦内所有设备声明自己所在的大as

r2(config-router)#bgp confederation identifier 2

3)小AS间互指peer

r3(config-router)#bgp confederation peers 64513  对端小AS的编号

过滤
bgp路由传递的流程 bgp路由表–发送策略–发送路由表–接收策略–接收路由表–bgp的路由表
1.前缀列表(在邻居后面直接加 prefix-list)

r5(config)#ip prefix-list qq deny 10.1.2.0/24
r5(config)#ip prefix-list qq permit  0.0.0.0/0 le 32
r5(config)#router bgp 3
r5(config-router)#neighbor 4.4.4.4 prefix-list qq out 控制层面方向调用
r5(config-router)#end

2.分发列表–针对路由表 全局的分发列表

r5(config)#access-list 1 deny 10.1.2.0
r5(config)#access-list 1 permit any
r5(config)#router bgp 3
r5(config-router)#neighbor 4.4.4.4 distribute-list 1 out 控制层面方向的邻居
r5#clear ip bgp * soft 

3.过滤route-map

Route-map
r5(config)#ip prefix-list r permit 10.1.2.0/24
r5(config)#route-map r deny 10
r5(config-route-map)#match ip address prefix-list r 
r5(config-route-map)#exit
r5(config)#route-map r permit 20
r5(config-route-map)#exit
r5(config)#router bgp 3
r5(config-router)#neighbor 4.4.4.4 route-map r out 控制层面方向
r5(config-router)#end

默认路由(缺省)
1.针对单个邻居的默认路由

neighbor 10.3.3.3 default-originate

2.针对所有邻居的默认路由(全局)
全局路由表必须优默认路由

default-information originate +network   0.0.0.0(起源orgin)

重发布进去的
后门—直接改某条路由的管理距离

BGP backdoor
network 2.2.2.2 mask 255.255.255.0 backdoor e-as 
AS_PATH 过滤器

*ip as-path acces-list 1 permit as号 匹配as-path的专门列表
•源自指定 AS 的所有路由;
• 穿越指定 AS 的所有路由;
• 由指定邻接 AS 宣告的所有路由;
• 穿越指定 AS 序列的所有路由。
所涉及正则表达式

元字符匹配内容
.匹配任意单字符(包括空格)
[]匹配方括号内的任意字符
[^]匹配除方括号内的字符之外的任意字符(^要位于文本序列之前)
-(连字符)匹配被连字符分隔的两个文本之间的任何字符
?匹配零或一个字符(或模式)
*匹配零或多个字符(或模式)
+匹配一个或多个字符(或模式)
^匹配字符串的开始
$匹配字符串的结束
匹配被该元字符隔开的两个文本之一
_(下划线)匹配逗号、字符串的开始、字符串的结束或空格

实例:

ip as-path access-list 20 permit ^850$ 只匹配AS为850的路由
 ip as-path access-list 21 permit ^$ 只匹配该过滤器的作用是匹配源自本地

AS 的所有前缀(这些前缀的 AS_PATH 还未附加任何 ASN)
ip as-path access-list 22 permit ^85[0123459]$
该过滤器的含义是匹配 AS 号为 850、851、852、853、854、855 或 859 的 AS_PATH。
ip as-path access-list 23 permit ^85[0-5]$ 匹配 AS 号为 850、851、852、853、854、855 AS-PATH

ip as-path access-list 24 permit ^85. 

该过滤器的含义是匹配起始 AS 号位于 850~859 范围内的 AS_PATH。由于点号(.)也配空格,因而 AS 号 85 也属于匹配范围。

ip as-path access-list 10 permit ^(550)+_[880|2304]?_1805_.*

该过滤器匹配的就是源自任意 AS 但是需在穿越 1805 之后再穿越邻接 AS550 的路由,这些路由既可以直接在 AS1805 与 AS550 之间穿越,也可以在 AS1805 与 AS550 之间穿越AS880 或 AS2304。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值