01_1_BGP

BGP属性值分了两个大类

1、周知的

   1.1、必选的

      1.1.1、origin 起源

      1.1.2、as-path

      1.1.3、next-hop

      1.1.4、local preference

      1.1.5、atomic aggregate   圆子聚合(汇总)

    1.2、自觉的

2、可选的

    2.1、可选传递(哪怕你不认识也需要往下传递)

      2.1.1、aggregator  聚合

      2.1.2、community  胎记   必须手动传送 才会传送给邻居

route-map att permit 10

 set community 100:8

router bgp 100

network 1.1.1.0 mask 255.255.255.0 route-map att

neighbor 1.1.1.1 send-community    

ip bgp-community new-format 

    2.2、可选非传递(如果你不认识就把这个属性值丢掉)

BGP 的汇总

BGP 自动汇总在做无类宣告单时候是不生效单,在重分布和有类宣告单时候才会生效。

BGP 手动汇总 aggregate 加上as-set  表示我需要把我的明细路由的 路由属性继承下来。

BGP 手动汇总 加上 summary-only 表示我在传递路由单时候不在传递被汇总后的明细路由。

BGP 手动汇总 加上 advertise-map 选择一些明细路由来做汇总并且继承这些明细路由单属性,被deny的明细路由就不继承他们的属性了。

BGP 手动汇总 加上 attribute-map 修改汇总路由的属性。

BGP 手动汇总 加上 suprers-map 传递汇总路由的时候选择性宣告部分明细路由。

工作为transit AS

1、别人给我给我的路由我要给别人。

2、别人给我的数据包我要转发给别人。

BGP 的路由过滤

过滤的优先级

1、prefix-list

2、filter-list

3、route-map

1、基于as-path的过滤

ip as-path access-list 1 permit regexp(正则表达式)

正则表达式

|        选择符 如 21|31 选择其中一个来匹配。

[]    [1-3].[34]表示 1 2 3 任意选择一个来匹配 . 表示任意字符 3 4 任意选择一个来匹配。

^          表示开始

$          表示结束

_          表示分隔符  ^  $ 空格

\           表示后边跟的是字符

*        表示0个或者多个字符

?        表示0个或者一个字符

+        表示1个或者多个字符

.           表示任意字符

2、基于路由的过滤

手动配置基于prefix-list

ORF协商基于prefix-list

3、route-map

与路由反射器相关的两个属性值

 
 

1、originator_id 起源id

2、cluster list 路由反射器的id

 
 

MED详细设置

bgp always-compare-med     总是要比较med值(不敲这条命令默认只在同一个as学到的时候才能比较med)

bgp bestpath med missing-med-worst   如果med不显示将他视为最坏的就不会被选择。

bgp bestpath med confed 用于bgp联邦的时候从2个邻居学到路由进行比较med

Communitiy详细设置

标准的属性值

no-advertise    不会通告给任何邻居

no-export       不会通告给一个真正的EBGP邻居(BGP联邦)

local-as           不会通告给任何一个EBGP邻居(BGP联邦)

internet         

aa:nn          AA所在的as号   NN 自己定义具有本地意义

ip bgp-community new-format  需要开启新的格式的显示

ip community-list 1 permit aa:nn  配合route-map来做路由过滤

扩展的属性值

cost  打破平衡优选cost值,当cost值一样的时候选着扩展ID小的路由(在第8条之后,第9条之前)

配置举例:

route-map cost

set excommunity cost 1 2

如果配置了pre-bestpath 就会比weight值还优先

route-map cost

set excommunity cost pre-bestpath 1 2 

链路带宽

bgp dmzlink-bw 支持不等价的负载均衡

配置举例:

router bgp 100

nei 1.1.1.1 dmzlink-bw     针对邻居开启

bgp dmzlink-bw               全局开启

maximum-pahts 2            开启负载均衡

neighbor 1.1.1.1 remove-private-as  去除私有AS号

neighbor 1.1.1.1 local-as 210 no-prepend replace-as dual-as  

local-as 210      与1.1.1.1建立邻居的时候用210去建立邻居  

no-prepend         隐藏原有进程的AS 

replace-as         隐藏原有进程的AS 

dual-as              邻居可以和我原有进程带的as建立邻居也可以和210这个as建立邻居 

neighbor 1.1.1.1 ebgp-multihop    EBGP多条 默认ebgp建立邻居时TTL为1

路由反射器

1、所有的客户端都需要和路由反射器建立邻居

2、所有的路由反射器都需要全互联的关系

联邦

BGP收敛

BGP收敛条件

1、所有的路由条目都收到了

2、所有的路由条目通过计算都安装到了路由表里面

3、BGP表的版本要和所有的邻居一致

show ip bgp

show ip bgp nei

4、所有的输入队列和输出队列都是0

show interface f0/0

neighbor 1.1.1.1 maximum-prefix 600 我从邻居收到的最大路由条目

peer group 加入group以后可以单独对进入的流量做策略但是对于出去的流量只能针对group做策略

BGP damepening 只对EBGP的路由生效

====================================================================================

保留 AS 64512-65535

 
 

相同 AS 叫 IBGP 不同 AS叫 EBGP,TCP 179

 
 

有5种报文

1、open            建立邻居关系以后

2、keepalive       解决TCP的缺陷         (TCP不知道对方是死是活)

3、update          更新路由表            

4、notification    如果遇到更新错误会报然后断开tcp连接

5、route refresh message 在执行 clear ip bgp * soft in 路由器产生的请求信息

 
 

BGP的防环机制

BGP     在EBGP带路径信息的距离向量协议(防环机制)在传路由的时候会带上as path

BGP     在IBGP里面有水平分割的防环机制(从IBGP邻居学到的路由不在传给其他的IBGP邻居)

 
 

BGP的2张表

1、BGP表

2、路由表

3、邻居表

BGP同步规则的定义:

在BGP同步打开的情况下一个BGP路由器不会把通过IBGP邻居学到的路由通告给自己的EBGP邻居,除非自己的IGP路由表中存在这个路由才可以向EBGP邻居通告。

 
 

BGP同步的解决方法:

1、路由反射器:             (路由条路多了 cluster ID 也就是路由ID)

   1、路由器从一个外部路由器学到的路由他会通告给所有的IBGP邻居

   2、我从client学到的路由我会通告给所有的client和非client路由器

   3、我从非client学到的路由我会通告给所有的client和EBGP

   4、我学到的所有的IBGP和EBGP学到的路由我都会通告给所有的EGBP

2、BGP联盟

 
 

BGP的状态

1、idle

2、connect

3、opensent                              (协商是否支持多协议 )

4、openconfirm

5、established                           (这个状态才刚刚开始交换路由)

 
 

IGP为BGP服务,IGP帮助BGP的下一跳可达

 
 

BGP的选路原则

1、weight 值                   谁的weight值高谁就优,本地生成的路由是32768 ,别人传给我的是0.  weight 本地有效 其他无效。

2、local-preference            谁的locprf值高谁就优,为0表示是EBGP邻居传给我的,当一条路由通过多个IBGP邻居学到才会去比较locprf值,如果一条路由通过IBGP邻居和EBGP邻居同时学到就不比较locprf值。

3、这条路由产生于我自己的话我自己就是最优的。

4、AS path 的长度              谁的AS path短谁的优先,  (只在EBGP邻居有效,IBGP邻居无效)

5、通过NETWORK宣告进来的优先,通过从分布进来的次优先。  在path里面 字母 i 代表network进来的, ?号代表从分布进来的。

6、更小的MED值                                          (影响全局)    metric值

7、EBGP的path优先于IBGP的path

8、比较这条路由的下一跳,通过IGP学路由的metric值。

9、load balance                允许路由表存在多条路由(负载均衡)

10、最老的EBGP路由

11、route-id                   小的优先

12、cluster list-ID            谁小的谁优先(在双RR的情况下才会出现而且没有统一他们的cluster-ID)

13、lowest address  最低的IP地址      (如果R1-R4起了一个BGP进程 通过双线互联 而且双线都建立了BGP邻居,选在IP地址小的线路优先)

  
 


 
 

Work Blog » 01_1_BGP
分享到:
赞(0) 打赏

评论抢沙发

评论前必须登录!

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏