BGP

边界网管路由协议BGP

AS

自治系统 一组被统一管理的路由器集合。
a,使用相同的度量值
b 使用相同的IGP

AS号

系统之间通过AS号区分,由IANA 地址授权委员会统一分配。
-公有AS号 2byte 范围 0-64511 0为保留的AS号
-私有AS号 64512-65535 不能在公网出现
-如今AS被拓展为4byte

IGP特点

  1. 运行在同一个as内部
  2. 周期性更新确保路由正确
  3. 收敛速度快,抖动比较频繁
  4. 采用相同标准结束度量值
  5. 提供有限的路由策略,调整路由路径只能通过metric(BGP 13条选路原则)
  6. ospf 最多支持10000条 isis做多支持20000 条路由条目

BGP特点

  1. 属于外部网关路由协议(EGP),高级路径矢量路由协议
  2. BGP基于TCP,端口号 179
  3. 第一次做完整更新,后面只做增量更新,触发更新
  4. 使用keeplive维持BGP邻居关系
  5. 丰富的度量值
  6. BGP只用于internet,是互联网协议
  7. BGP在AS间传递路由信息

BGP优点

1非常可靠

  1. 通过TCP建立可靠连接
  2. BGP放环机制 IBGP 防环 EBGP防环

2稳定性

路由条目稳定 cisco IOS,外部bgp路由30s放进BGP转发表
可以追踪指定的路由,根据他的震荡历史,对其进行路由的惩罚---damping

3可拓展性


BGP三张表

  1. 邻居表 可以不用直连,底层可达即可 需要显示配置
show ip bgp summary----------查看bgp路由表
  1. BGP转发表 从邻居收掉的所有BGP路由属性
show ip bgp ----------查看bgp路由表
  1. 路由表 最优的BGP路由提交给路由表

BGP对等体关系

  1. IBGP邻居
    1.1位于一个AS内部
    1.2通常建IBGP邻居使用环回口
    1.3TTL=255
    1.4 构造IBGP对等体
            R2:
            no auto-summary -----关闭自动汇总
            no synchronization -----关闭同步检测机制
            bgp router-id 2.2.2.2-----配置BGP的router-id,BGP的标识符
            BGP router-id选举原则和OSPF一样,建议手工配置
            neighbor 1.1.1.1 remote-as 12
            Neighbor 1.1.1.1 update-source loopback 0
            
            R1:
            router bgp 12
            bgp router-id 1.1.1.1
            bgp log-neighbor-changes
            neighbor 2.2.2.2 remote-as 12
            neighbor 2.2.2.2 update-source Loopback0


  1. EBGP
    2.1 位于不同AS
    2.2 使用直连接口
    2.3 EBGP对等体(基于直连接口)
R2
Router bgp 2
BGP ROUTER-ID 2.2.2.2
NEIGHBOR 12.1.1.1 REMOT 1
 
R1
Router bgp 1
BGP ROUTER-ID 1.1.1.1
NEIGHBOR 12.1.1.1 REMOT 2

2.4

R2
router bgp 2
 bgp router-id 2.2.2.2
 bgp log-neighbor-changes
 neighbor 1.1.1.1 remote-as 1
 neighbor 1.1.1.1 disable-connected-check----关闭直连检测
 neighbor 1.1.1.1 update-source Loopback0
R1
router bgp 1
 bgp router-id 1.1.1.1
 bgp log-neighbor-changes
 neighbor 2.2.2.2 remote-as 2
 neighbor 2.2.2.2 disable-connected-check
 neighbor 2.2.2.2 update-source Loopback0


BGP的状态机

  1. idle状态原因
    1.1 没有去往邻居路由
    1.2 指错neighbor后面地址
    !路由器无法通过默认路由主动发起tcp,需要一条明细的静态
  2. connect
  3. active
  4. opensent
  5. openconfirm
  6. establish-------------BGP邻居建立
    !更新源地址:路由器用来和路由器建立BGP邻居的地址
show ip bgp neighbor

neighbor的含义

  1. 向neighbor后的地址发起TCP连接,源端口为随机高端口,目的端口为179
  2. 允许neighbor后的地址向本路由器发起tcp连接

BGP数据包

  1. open 用于建立BGP邻居关系
  2. keeplive 维持邻居关系,60s发一次 保持时间 180s
  3. update 携带路由更新和利用属性
  4. notification 当bgp邻居发生错误时产生

路由通告进BGP

network x.x.x.x mask 掩码

只会通告路由进BGP,而不会激活一个接口
特点:

  1. 路由表除了非BGP路由,都可以通告进BGP C S IGP
  2. network通告的时候,必须精确(网络号和掩码必须要和路由表相同)
  3. 可以通告从IGP学习到的路由,会将下一跳地址和metric带入bgp转发表
    !BGP转发表看到吓一跳地址为0.0.0.0,表示的是路由是自己产生的
    !在bgp转发表看到 r 表示压入路由表失败
    !* 有效
    ==!> 最优==

对等体传递路由

  1. IBGP对等体传路由时,不会更改下一跳地址
  2. EBGP对等体传路由时,更改下一跳地址

==最优的条件==

  1. 同步检测
  2. ==下一跳可达==

如何下一跳可达
将直连接口宣告进IGP
or

neighbour 3.3.3.3 next-hop-self//需要在IBGP和EBGP边界敲该命令

  1. 从Ibgp学来的路由,ad为200
  2. 从EBGP学来的路由,ad为20

路由黑洞

路由黑洞
IBGP的水平分割(用于防环)
从一个IBGP对等体学习到的路由不会传递给另外一个IBGP对等体
show ip bgp neighbour 3.3.3.3 advertised-routes//查看已经向邻居3.3.3.3通告的路由条目


解决:

  1. 建立全互联对等体
  2. 路由反射器(打破水平分割)
    配置了路由反射器,会给bgp路由添加两个新的属性(用于防环)
    1 orignator 路由器起源(从哪个IBGP对等体收到
    2 cluster list 路由反射器的router-id
neighbour 3.3.3.3 router-reflect-cliebt---------R1是路由的反射器,3.3.3.3是反射器的客户端

2.1 从客户端收到的路由可以反射给非客户端
2.2 从非客户端收到的路由可以反射给客户端
2.3 客户端收到的路由可以反射给客户端
2.4 从非客户端收到的路由==不==可以反射给非客户端

  1. 联邦:将大的AS划分为若干个小的AS,在AS之间建立的是EBGP(联邦内部使用私有AS号64512-65535)
    3.1:联邦内部所有路由器需要配置
bgp configration identifier 123 //对外宣称AS号为123

3.2: 联邦内部建EBGP对等体的路由器配置

bgp confideration peers <内部AS号>

联邦缺点:
配置复杂 两个路由器放在一个联邦的内部,AS号需要规划好

  1. BGP重分布进IGP(一般不用,BGP路由条目太多,重分布进IGP会搞瘫)

在EBGP如果不小心将环回口宣告进BGP,路由表会每3分钟翻动一次

解决方案
  1. 修改EBGP对等体发过来的路由AD值
access-list 1 permit 2.2.2.0
router bgp 1
distance 150 2.2.2.0 0.0.0.1

distance EBGP路由AD值 IBGP路由AD 本地产生路由AD 

  1. 后门链路
network 2.2.2.0 mask 255.255.255.0 backdoor --------------针对2.2.2.0/24路由开后门,相当于将2.2.2.0/24路由AD改为200


BGP下发默认路由
ip route 0.0.0.0 0.0.0.0 出接口
router bgp xx
net 0.0.0.0 

  1. 以上两种方法向所有对等体发
ip route 0.0.0.0 0.0.0.0 出接口
router bgp xx
redistribute static 
defaule-information originate

  1. 向特定的对等体下发默认路由
neighbour 2.2.2.2 default-orignate


BGP和IGP重分布
  1. ospf->bgp
router bgp 1
redistribute ospf 110 match internal external(默认只有internal)


BGP AS-BY-AS的路由协议

  1. 在AS之间传递路由信息
  2. BGP路由每经过一个AS会记录下AS号

path属性,最右边为起源AS
EBGP通过AS号来防环:如果发来的路由信息的AS号与本地AS号相同,则拒绝收取该路由信息
如果想要接受含有本地AS号的路由则敲以下命令:

neighbour 35.1.1.1 allowas-in      //本命令后面还可跟上
参数1-10,表示本地AS号在as-path出现的次数,默认为3,次数超过该数字则不收取该路由


peer-group 对等体组

配置:

neighbour a peer-group
neighbour a remote-as 123 
neighbour a update-source loopback 0
neighbour a route-reflactor-client
neighbour 123.2.2.2 peer-group a
neighbour 123.3.3.3 peer-group a


BGP聚合-----BGP的汇总

方法

ip route 10.1.0.0 255.255.252.0 null0---配置一条汇总路由的静态,指向null0防环
router bgp 4
net 10.1.0.0 mask 255.255.252.0 ------------必须精确宣告

先将明细宣告进BGP
aggregate-address 10.1.0.0 255.255.252.0------------聚合10.1.0.0/22,该命令会将明细和汇总一起发送,
其实际是后面跟着suppress-map为空,没有路由被匹配,所以都会被放行。反之,被suppress-map匹配的路由都被抑制
aggregate-address 10.1.0.0 255.255.252.0 summary-only-----------------抑制明细,只发汇总

特点
本地产生指向null0的汇总,防环 AD=200(所以BGP有三个管理距离)
聚合路由不会携带明细路由属性
聚合的命令 as-set 让聚合路由携带明细路由属性


建对等体时过滤路由条目

access-list 1 deny 55.55.55.0
access-list 1 permit any
router bgp 5
neighbour 35.1.1.3 distribute-list 1 out

BGP触发更新


BGP的团体属性

分两大类

  1. 熟知团体属性:限制BGP路由传递范
    1.1 no-advertise 不会通知给任意的对等体
    1.2 local-as 只能在as内部进行传递,不能出as(有联邦的情况不能出小as)
    1.3 no-export 只能在as内部传递,不能出本as(联邦之间也可以传递,不能出大as)
    1.4 internet 全网传递
    1.5 none 没有团体属性
show ip bgp community-----------哪些bgp路由有团体属性
团体属性默认情况下不会发送给对等体
neighbor x.x.x.x send-community-------------这样才会发送团体属性

  1. 私有团体属性:给BGP路由打上标记
    标记的两种格式:
    1-4294967295 数字
    默认显示老的格式
    AA:NN AA-------bgp路由as号 NN分配数值
ip bgp-community new-format----显示AA:NN这种格式
ip community-list  ------------------团体属性列表  ,匹配带有团体属性路由,然后去做某些策略



BGP的第三方下一跳

EBGP传路由默认修改下一跳,但有特例

第三方下一跳

==默认行为:EBGP传路由会修改下一跳==
特例:

  1. Neighbor 后面的地址和BGP路由的下一跳在通一网段,不修改下一跳直接发出
  2. bgp路由最终的下一跳(递归后的路由)和neighbour后的地址在同一网段,不改变下一跳地址

在指EBGP对等体,不修改BGP路由的下一跳

neighbour 1.1.1.1 next-hop unchanged


路由属性----------衡量BGP路由优劣

  1. 公有必尊,所有厂家都必须要有的BGP路由属性,每条BGP路由都携带该属性
    a. next-hop
    b. as-path
    c. 起源代码(network进 i EGP重分布进BGP路由 e IGP重分布进BGP ?)
  2. 公认可选,共有的,但不是每条BGP都要携带
    a. local-preference 本地优先级
    b. 原子聚合属性 (BGP汇总属性有关)
  3. 任选可透明 可有可无,从一个AS去往另外AS不会丢失
    a. 聚合者(BGP汇总)
    b. 团体属性
    4.任选非传递,可有可无,从一个AS去往另外AS会丢失
    a. Originator 路由器起源 (从哪个IBGP对等体收到的) b. Cluster list-------路由反射器的router-id
    c. MED (多鉴别出口路由属性)

选路的原因

从多个对等体学到相同的路由,需要进行选路

13条选路原则

见截图:


13条选路原则

你可能感兴趣的:(BGP)