立即注册 登录
雏鹰部落 返回首页

子杰的个人空间 https://bbs.spoto.net/?131778 [收藏] [复制] [分享] [RSS]

日志

BGP笔记小总结

已有 263 次阅读2013-2-6 16:32 | BGP

目录

1       BGP基础部分

1.1        BGP的报文

1.2        BGP建立邻居经历五个状态

1.2.1          出现IDLE状态:

1.2.2          出现ACtive状态原因:

1.3        邻居建立的条件

1.4        BGP的TTL

1.5        BGP的路由表

1.6        BGP路由优化的条件

1.7        BGP RIB-Failure

1.7.1      RIB产生的原因

1.7.2      RIB的结果

1.7.3          查看BGP的路由条目

2       BGP的各种特殊情况

2.1        BGP中自动汇总的情况环境

2.2        BGP中解决路由黑洞

2.3        peer group作用

2.4        路由聚合(汇总)

2.4.1          手工创建:

2.4.2          创建静态路由并重分布进BGP

2.5        BGP的默认路由产生

2.5.1          对所有邻居发送默认路由

2.5.2          只对特定的邻居发送默认路由

2.6        BGP的密码认证

2.7        BGP的过滤

2.7.1          根据路由的IP来过滤之外

2.7.2          根据路由携带的AS_Path来过滤

2.8        BGP条件路由

3       BGP的反射器

3.1        为什么需要配置BGP的反射器

3.2        BGP的反射器的机制

3.3        BGP的反射器的特点

3.4        BGP的反射器命令配置

3.5        BGP的反射器中修改cluster ID

4       BGP联邦

4.1        为什么需要配置联邦

4.2        BGP联邦的机制

4.3        BGP联邦的特点

4.4        BGP联邦的配置命令步骤

 


 

1     BGP基础部分

1.1   BGP的报文

1.      OPEN :建立邻居,open包中包含holdtime/router-id

2.      keepalive :维持邻居关系,默认每60秒发送一次,hold timer180秒,即到达180秒没有收到邻居的Keepalive,便认为邻居丢失,则断开与邻居的连接。

3.      **:更新报文

4.      notification:当错误发生的时候,会发生通告报文

1.2   BGP建立邻居经历五个状态

1.      idle  空闲状态,查找邻居的条目是否在自己的路由表里

2.      connect 本台已找到邻居的路由,也已完成TCP三次握手,首先先建TCP握手,再发**报文

3.      open sent :比较参数,密码认证、AS号是否与邻居一致

4.      open confirm:发现参数都通过

5.      established:邻居已建立完成

1.2.1   出现IDLE状态:

1.      IGP的邻居不完整

1.2.2   出现ACtive状态原因:

1.      邻居没有本端的路由条目

2.      对端没有配置邻居的命令

3.      neighbor x.x.x.x 中地址写错

4.      AS号写错

1.3   邻居建立的条件

1.     双方需要建立邻居的IP地址在网络上是互通的,可以建立TCP会话。

2.     双方指定的AS号码必须匹配

3.     双方BGP数据包必须可达(eBGP默认TTL1,需要注意)

4.     对方BGP数据包的目的IP和自己的源IP必须相同(单向满足即可)

1.4   BGPTTL

1.      数据包发送给EBGP邻居时,TTL默认值为1,所以EBGP邻居必须是直连的路由器

2.      数据包发送给IBGP邻居时,TTL默认值为255,所以IBGP邻居可以是任意路由器

1.5   BGP的路由表

1.      一台运行了BGP协议的路由器,会将BGP得到的路由表与普通路由表分开存放,所以BGP路由器会同时拥有两张路由器。

2.      BGP路由表需要通过命令show ip bgp才能查看

3.      在初始状态下,BGP的路由表为空,没有任何路由

4.      BGP本地路由:只要BGP的路由不是从邻居学习到的而是手工导入的,那么这样的路由被称为。

1.6   BGP路由优化的条件

    当收到的更新信息只有在BGP表中被优化了以后,才会被发送给其他的邻居

1.      同步(从IGP学习到/no syn)同步条件只是对IBGP起作用

2.      下一跳(静态/next-hop-self)

1.7   BGP RIB-Failure

1.7.1   RIB产生的原因

1.      该路由已经在IGP中有比BGP更高优先级的AD

2.      内存错误

3.      超出VRF中的路由限制数。

1.7.2   RIB的结果:

1.      不放进路由表

2.      但会传给其他的BGP邻居

1.7.3   查看BGP的路由条目:

1.      查看发送出去的路由条目的命令:show ip bgp neighbor 12.1.1.1 advertised-routes

2.      查看接收者接收到的哪些路由(前提是有在设备上配置了保留邻居路由条目的命令)

show ip bgp neighbor 12.1.1.2 received-routes

保留邻居给自己发送的哪些路由:

router bgp x

 neighbor x.x.x.x soft-reconfiguration inbound

2     BGP的各种特殊情况

2.1   BGP中自动汇总的情况环境:

1.      在任何路由重分布进BGP时,会发生自动汇总,但正常network的路由条目不会发生自动汇总

2.      auto-summary :不携带IGPnext-hopmetric值,会自动汇总

3.      no auto-summary :携带源有的IGPnext-hopmetric值,不会自动汇总

2.2   BGP中解决路由黑洞:

1.      物理线路FULL MESH

2.      BGP邻居的full mesh

3.      BGP重分布进IGPLAB

4.      MPLS

2.3   peer group作用

1.减少buffer

2.减少命令行

配置命令:

router bgp 1

neighbor ccna peer-group

neighbor ccna remote-as 1

neighbor ccna **-source loopback 0

neighbor 2.2.2.2 peer-group ccna

neighbor 3.3.3.3 peer-group ccna

neighbor 4.4.4.4 peer-group ccna

注意:Peer Group唯一的限制就是,同一个Peer Group中的所有邻居,必须全部为iBGP邻居,或者全部为eBGP邻居,也就是说不能将iBGP邻居和eBGP邻居同时混杂在同一个Peer Group中,但是如果全部都为eBGP邻居,这些邻居可以是任意AS,而不必所有邻居都是同一个AS的。

1peer-group的策略会对三个邻居都产生相同的作用:

(修改peer-group的名字ccna

r1(config)#router bgp 1

r1(config-router)#neighbor ccna weight 111

说明:将Peer Groupas1”的weight值改为111,将对Peer Group中所有邻居生效。

2)若其中一个策略只对2.2.2.2起作用,则可以用以下的方法:

(修改peer-group中的一个参数,但只对2.2.2.2起作用)

r1(config)#router bgp 1

r1(config-router)#neighbor 5.5.5.5 weight 5

说明:将Peer Groupas45”的中邻居5.5.5.5weight值改为5,此改动只对Peer Group中的单个邻居生效,而不会影响其它邻居。

2.4   路由聚合(汇总)

汇总有两种方法:

1)手工命令创建汇总路由

2)创建静态路由并重分布进BGP

2.4.1   手工创建:

1)     汇总时允许所有明细路由传递出去:

router bgp 4

 aggregate-address 100.1.0.0 255.255.252.0 as-set

注意:AS-SET会显示出明细路由所含有的AS号,

bgp路由表会显示明细路由和汇总路由条目,但汇总路由不会传递给已有的明细路由器中。

2)     汇总时拒绝所有明细路由传递出去:

router bgp 4

  aggregate-address 100.1.0.0 255.255.252.0 as-set summary-only

3)     汇总时抑制某条特定明细路由传递出去:

access-list 1 permit 100.1.1.0

route-map spoto permit 10

 match ip address 1

router bgp 4

 aggregate-address 100.1.0.0 255.255.252.0 as-set suppress-map spoto

4)     汇总时,除某条特点明细不抑制,其他都拒绝传递出去:

access-list 1 permit 100.1.1.0

route-map spoto permit 10

 match ip address 1

router bgp 4

  aggregate-address 100.1.0.0 255.255.252.0 as-set summary-only

  neighbor 5.5.5.5 unsuppress-map spoto

2.4.2   创建静态路由并重分布进BGP

ip route 100.1.0.0 255.255.252.0 null 0

router bgp 4

 redistribute static

 network 100.1.0.0 mask 255.255.252.0

2.5   BGP的默认路由产生

BGP的默认路由只能创建,不能通过静态重分布)

2.5.1   对所有邻居发送默认路由:

router bgp 4

 default-information originate

2.5.2   只对特定的邻居发送默认路由:

router bgp 4

 neighbor 6.6.6.6 default-originate

2.6   BGP的密码认证

配置:

router bgp 1

 neighbor 1.1.1.1 password xxx

2.7   BGP的过滤

2.7.1   根据路由的IP来过滤之外

1)配置全局过滤路由

r4(config)#access-list 2 permit 100.1.2.0

r4(config)#router bgp 4

r4(config-router)#distribute-list 2 in

说明:该方式配置全局过滤路由,所有邻居只接收100.1.2.0的路由。

2)针对单个邻居过滤路由

r4(config)#access-list 2 permit 100.1.2.0

r4(config)#router bgp 4

r4(config-router)#neighbor 6.6.6.6 distribute-list 2 in

   说明:只有邻居6.6.6.6只接收100.1.2.0

2.7.2   根据路由携带的AS_Path来过滤:

1)只收起源于AS 6的路由,过滤其它所有路由 (AS起源必须是为6才能接收)

r5(config)#ip as-path access-list 5 permit ^6$

r5(config)#router bgp 5

r5(config-router)#neighbor 4.4.4.4 filter-list 5 in

2)起源于AS 6的路由(只要AS含有6都能接收)

r5(config)#ip as-path access-list 55 permit _6$

r5(config)#router bgp 5

r5(config-router)#neighbor 4.4.4.4 filter-list 55 in

2.8   BGP条件路由

(作用是只有当100.1.1.0存在bgp路由表里,100.1.2.0条目才会传递给x.x.x.x邻居)

配置命令:

access-list 10 permit 100.1.1.0

route-map ccna permit 10

 match ip address 10

 exit

access-list 20 permit 100.1.2.0

route-map ccnp permit 10

 match ip address 20

 exit

router bgp x

 nei x.x.x.x advertise-map ccna exist-map ccnp

/作用是只有当100.1.1.0存在bgp路由表里,100.1.2.0条目才会传递给x.x.x.x邻居/

3     BGP的反射器

3.1   为什么需要配置BGP的反射器:

BGP在将路由传递给eBGP邻居时,会带上AS-path,为了防止环路。而传递给iBGP时,不会带上AS-path,但为了防止环路,所以就规定在iBGP内部只能传递一跳。

3.2   BGP的反射器的机制:

1.      BGP Reflector和自己的Client称为一个cluster

2.      一个Cluster拥有一个唯一的Cluster ID,这个Cluster ID默认就是ReflectorRouter-ID,也可以随  

意设置。

3.      Reflector在将路由反射出去时,都会写入自己的Cluster ID,在路由发送到其它Cluster后,其它Reflector在写入自己的Cluster ID时,还会保留之前的Cluster ID,就像保留AS_Path一样。

3.3   BGP的反射器的特点:

1.      eBGP邻居学习到的路由会发送给所有client和所有非client,也就是发给所有邻居。

2.      从非client学习到的路由将发送给所有client

3.      client学习到的路由将发送给所有client和所有非client,也就是发给所有邻居。

3.4   BGP的反射器命令配置:

R2R3都为同一个AS号时,将R2设置为BGP 反射器,R3设为client端:

r2(config)#router bgp 1

r2(config-router)#neighbor 3.3.3.3 route-reflector-client

3.5   BGP的反射器中修改cluster ID

r3(config)#router bgp 1

r3(config-router)#bgp cluster-id 123

4     BGP联邦

4.1   为什么需要配置联邦

       为了解决路由在iBGP内部只能传递一跳的问题,除了BGP的反射器,还可以通过BGP联邦实现。

4.2   BGP联邦的机制:

      采用在AS内部建立多个子AS的方法,从而将一个大的AS分割成多个小型AS,让AS内部拥有足够数量的eBGP邻居关系来解决路由限制问题。

4.3   BGP联邦的特点:

      1.      在使用BGP ConfederationAS内部创建子AS时,建议使用私有AS号码,范围是64512-65534

      2.      在路径属性中,联邦内部的子AS是不被AS_Path计算在内的。

      3.      在选路规则中,比较eBGPiBGP邻居类型时,AS内部的子AS之间是不作eBGPiBGP邻居类型比较的。

4.4   BGP联邦的配置命令步骤:

    

     

R1上配置BGP Confederation

r1(config)#router bgp 64512

r1(config-router)#bgp router-id 1.1.1.1

r1(config-router)#bgp confederation identifier 1

r1(config-router)#bgp confederation peers 64513

r1(config-router)#neighbor 5.5.5.5 remote-as 5

r1(config-router)#neighbor 5.5.5.5 **-source loopback 0

r1(config-router)#neighbor 5.5.5.5 ebgp-multihop

r1(config-router)#neighbor 2.2.2.2 remote-as 64513

r1(config-router)#neighbor 2.2.2.2 **-source loopback 0

r1(config-router)#neighbor 2.2.2.2 ebgp-multihop

r1(config-router)#neighbor 3.3.3.3 remote-as 64512

r1(config-router)#neighbor 3.3.3.3 **-source loopback 0

 

 

      待续。。。。。。

 

 

 

 

 

-----------------------------------------------------------------------------------------

SPOTO 我们共创未来


您的朋友 周俊杰(Jay)
 

Email:zhoujj@spoto.net
新浪微博:http://weibo.com/zhoujj0130
新浪博客:http://blog.sina.com.cn/zhoujj0130
持续付出不亚于任何人的努力
-----------------------------------------------------------------------------------------

 

 

路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

QQ|熊猫同学技术论坛|小黑屋| 网络工程师论坛 ( 沪ICP备09076391 )

GMT+8, 2024-5-2 17:17 , Processed in 0.060049 second(s), 18 queries , Gzip On.

返回顶部