其他分享
首页 > 其他分享> > BGP

BGP

作者:互联网

 

 

 

 

     BGP简介
边界网关协议BGP 是一种实现自治系统AS之间的路由可达,并选择最佳路由的
距离矢量路由协议,方便管理规模不断扩大的网络,网络被分成了不通的自治系统。
保证网络的安全性,灵活性,稳定性,可靠行和高效性

BGP采用认证和GTSM方式 保证网络安全性
BGP提供了丰富的路由策略,能够灵活的进行路由选路,并且能指导邻居按策略发布路由
BGP提供了路由聚合和路由衰减功能由于防止路由震荡,有效的提高网的稳定性
BGP使用TCP为其传输层协议(端口号179)并支持与BFD联动,BGPTracking BGP GR和NSR提高网络可靠性
在邻居数目多,路由量大且部分邻居具有相同出口的策略的场景下,BGP使用按组打包技术极大的提高了BGP打包发包功能

      AS
   是指一个实体管辖下的拥有相同选路策略的IP网络,BGP网络中的每个AS都被分配一个唯一的AS号
用于区分不通的AS,AS号分为2字节和AS4字节,其中2字节AS号的范围为1-655535

      BGP分类
BGP按照运行方式分为EBGP和IBGP
EBGP:运行不通AS之间的BGP为EBGP,为了防止AS间产生环路,当BGP设备收到EBGP
对等体发送的路由时,会将本地带AS号的路由丢弃
IBGP:运行于同一AS内部的BGP称为IBGP。为了防止AS内产生环路,BGP设备不降从IBGP
对等体学到的路由通告给其他IBGP对等体,并与所有IBGP对等体建立全连接为了解决
对等体数量大多,BGP涉及了路由反射器和BGP联盟

     BGP报文交互中的角色
Speaker:发送BGP报文的设备成为BGP发言者(Speaker),它接收或产生新的
报文信息,并发布给其他BGP Speaker
Peer:相互交换报文的Speaker之间互称对等体(peer)。若干相关的对等体可以构成
对等体组(Peer Group)

      BGP的路由器号(Router ID)
BGP的Router ID是一个用于标识BGP的32位值,通常是IPv4地址的形式,在BGP会话
建立时发送的Open报文中携带。对等体之间建立BGP会话时,每个BGP设备都必须
有唯一的Router ID,否则对等体之间不能建立BGP连接。

BGP的Router ID在BGP网络中必须是唯一的,可以采用手工配置,也可以让设备
自动选取。缺省情况下,BGP选择设备上的Loopback接口的IPv4地址作为BGP的routerID
如果设备上没有配置loopback接口,系统会选择接口中最大的IPv4地址作为BGP的
Router ID。

      BGP工作原理:
BGP对等体的建立,更新和删除等交互过程主要有5种报文,6种状态机和5个原则
BGP的报文:
  Open报文:用于建立BGP对等体连接
  Update报文:用于对等体之间交换路由信息
  Notification报文:用于中断BGP连接
  Keepalive:用于保持BGP连接
  Router-refresh报文:用于在改变路由策略后对等体重新发布路由信息

BGP对等体之间的交互原则
       从IBGP对等体获得的BGP路由,BGP设备只能发布给他的EBGP对等体
       从EBGP对等体获得的BGP路由,BGP设备发布给它所有的EBGP和IBGP对等体
             当存在多条到达同一目的地址的有效路由时,BGP设备只能将最优路由发布给对等体
路由更新时,BGP设备只发送更新的BGP路由,所有对等体发送的路由,BGP设备都会接受

BGP与IGP交互
      BGP与IGP在设备中使用不同的路由表,为了实现不同AS间相互通信,BGP需要
与IGP进行交互,即路由互相引入

BGP引入IGP路由:
      BGP协议本身不发现路由,因此需要其他路由引入到BGP路由表。实现
AS之间互通,,当一个AS需要将路由发布给其他AS时,AS边缘路由器会
BGP路由表中引入IGP的路由,为了更好的规划网络,BGP在引入IGP的路由时,可以使用路由策略进行
路由过滤,和路由属性设置,也可以设置MED指导EBGP对等体流量进入AS时选路
           BGP引入路由时支持Import和Network两种
                Import方式按照协议类型
                network 逐条引入

            BGP属性

     BGP利用属性进行路由选路
公认必遵:所有BGP设备都可以识别此类属性,且必须存在Update报文中
如果缺少这类属性,路由信息就会出错
             Orgin   AS_Path     Next_Hop
公认任意:所有BGP设备都可以识别此类属性,但不要求必须存在于Update
报文中,即缺少这类属性,路由信息不会出错
             Local_Pref
可选过度:BGP设备可以不识别此类属性,如果BGP设备不识别此类属性,
如果BGP设备不识别此类属性,他仍然会接收这类属性,并通告给其他对等体
             团体属性
可选非过度:BGP设备可以不识别此类属性,如果BGP设备不识别此类属性
则会忽略该属性,且不会通告给其他对等体
            MED    Originator_ID    Cluster_list 

AS_Path属性:AS_Path属性记录了某条路由从本地到目的地址所有经过的所有AS编号。

当BGP Speaker将这条路由通告到EBGP对等体时,便会在Update报文中
创建一个携带本地AS号的AS_Path列表
当BGP BGPSpeaker 将这条路由通告给IBGP对等体时,便会在Update报文中
创建一个空的AS_Path列表

当BGP Speaker 传播从其他BGP Speaker的Update报文中学习到的路由时:
当BGP Speaker 将这条路由通告给EBGP对等体时,便会把本地AS编号添加在
AS_Path列表的最前面(最左面)。收到此路由的BGP设备根据AS_Path属性就
可以知道去目的地址所有要经过的AS。离本地AS最近的相邻AS号排在前面,其他AS
号按照顺序依次排列。

当BGP Speaker将这条路由通告给IBGP对等体时,不会改变这条路由的AS_Path属性


Next_hop属性:Next_Hop属性记录了路由的吓一跳信息
Local_pref属性:BGP路由的优先级
团体属性:用于标记具有相同特征的BGP路由,使路由策略应用更加灵活,同时降低了维护
管理的难度。

    团体属性分为自定义团体属性和公认团体属性。
internet              0x00000000    收到此属性路由,可以向任何BGP对等体发送路由
No_Advertise    0xFFFFFF02   收到此属性路由,不向任何GP对等体发送该路由
No_Export         0xFFFFFF01   收到此属性路由,不想AS外发送该路由
No_Exp_sub     0xFFFFFF03   收到此属性路由,不向AS外发送也不向AS内

MED属性:用于判断进入AS时的最佳路由,将优先选择MED较小的作为最佳路由

Orginator_ID和Cluster_List属性:解决路由反射器场景中的环路问题

 


[R1]acl number 2000 //创建ACL限制
[R1-acl-basic-2000]rule 2000 permit source 192.168.24.0 0.0.0.255 //过滤地址
[R1]route-policy 1 permit node 10 //创建策略条目
[R1-route-policy]if-match acl 2000 //匹配ACL
[R1-route-policy]apply preferred-value 1000 // 增大 pre-val1000值
[R1-bgp]peer 10.10.3.3 route-policy 200 import //引入策略

BGP选择路由的策略:当到达同一目的地存在多条路由时,BGP依次对比下列属性
来选择路由:
1,优选协议首选度(Prefvla)最高的路由
2,优选本地优先级(Prefval)最高的路由
3,依次优选手动聚合路由,自动聚合 network import-router学习的路由
4,优选AS路径最短
5,依次优选Origin类型为IGP,EGP,Incomplete的路由
6,对于来自同一AS的路由,优选MED值最低的路由
7,依次优选EBGP路由,IBGP路由,LocalCross路由,RemoteCross路由
8,优选到BGP下一跳IGP度量值(meteic)最小的路由
9,优选Cluster_List最短的路由
10,优选Router ID最小的设备发布的路由
11,优选从具有小IP Address的对等体学来的路由


BGP负载分担:
当到达同一目的地址存在多条等价路由时,可以通过BGP等价负载分担实现
均衡流量de目的。形成BGP等价负载分担的条件是"BGP选择路由的策略"

路由反射器:
为保证IBGP对等体之间的连通性,需要在IBGP对等体之间建立连接关系。假设
在一个AS内部有N台设备,那么建立IBGP连接数就为n(n-1)/2 当设备数目很多时
设备配置将十分复杂,而且配置后网络资源和CPU资源的消耗很大。在IBGP对等体
使用路由反射器可以解决以上问题
在一个AS内部关于路由反射器有以下几种角色:
路由反射器RR:OSPF中的DR
客户机:与RR形成反射邻居关系的IBGP设备。只需要和RR相连
非客户机: 既不是RR也不是客户机,在AS内部,需要与RR和所有非客户机建立连接
始发者:在AS内部始发路由的设备。Originator_ID属性用于防止集群内产生路由环路
集群:路由反射器和客户机的集合,Cluster_list用于防止集群间产生路由环路
备份路由反射器:BDR,防止单点故障造成影响,集群中所有RR使用相同的Cluster ID避免环路

BGP联盟:
为了解决AS内部的IBGP网络连接激增问题,除了使用路由反射器之外,还可以使用联盟
联盟将一个AS划分为若干个子AS,每个AS内部建立IBGP连接关系,子AS之间
建立联盟EBGP连接关系,但联盟外部AS仍认为联盟是一个AS。配置联盟后,
原AS号将作为每个路由器的联盟ID
优点:1保存原有IBGP属性,local Preference属性,MED属性和NEXT_hop
           2联盟相关属性传出联盟自动删除,无需联盟出口设置过滤

路由聚合:
        在大规模网络中,BGP路由表十分庞大,给设备造成了很大的负担,同时使发生
路由震荡的纪律也大大增加,影响网络稳定性
        路由聚合是将多条路由合并的机制,他通过只向对等体发送聚合后的路由而不发送
所有的具体路由的方法,减小路由表的规模。并且被聚合的路由如果发生路由震荡
也不会对网络造成影响,从而提高网络的稳定性
        BGP在IPv4支持自动和手动 IPv6只支持手动
自动聚合:BGP引入的路由进行聚合,设置自动聚合后,BGP按照自然网段
聚合路由,非自然网段A类地址10.1.1.1/24和10.2.1.1/24将聚合为自然网段10.0.0.8
并且向BGP对等体只发送聚合后的路由
手动聚合:对BGP本都路由表中存在的路由进行聚合。手动聚合可以控制聚合路由的
属性,以及决定是否发布具体路由。
为了避免路由聚合引起的路由环路,BGP设计了AS_Set属性。AS_Set属性是一种无序的
AS_Path属性,标明聚合路由所经过的AS号。如果经过过,舍弃掉

路由衰减:当路由衰减到一定程度禁止加入到路由表中。只对EBGP

BGP和BFD联动

[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ip address 12.1.1.1 24

[r1]bgp 1
[r1-bgp]router-id 1.1.1.1
[r1-bgp]peer 12.1.1.2 as-number 2
[r1-bgp]peer 13.1.1.2 as-number 2

[r2]bgp 2
[r2-bgp]router-id 2.2.2.2
[r2-bgp]peer 12.1.1.1 as-number 1
[r2-bgp]peer 23.1.1.2 as-number 2
[r2-bgp]ipv4-family unicast
[r2-bgp-af-ipv4]network 2.2.2.2 255.255.255.0

[r3]bgp 2
[r3-bgp]router-id 3.3.3.3
[r3-bgp]peer 23.1.1.1 as-number 2
[r3-bgp]peer 13.1.1.1 as-number 1

[r1]display bgp routing-table

[r1]bfd
[r1-bfd]quit
[r1]bgp 1
[r1-bgp]peer 12.1.1.2 bfd enable
[r1-bgp]peer 12.1.1.2 bfd min-rx-interval 100 min-tx-interval 100 detect-multiplier 4

[r2]bfd
[r2-bfd]quit
[r2-bfd]bgp 2
[r2-bgp]peer 12.1.1.1 bfd enable
[r2-bgp]peer 12.1.1.1 bfd min-rx-interval 100 min-tx-interval 100 detect-multiplier 4

[r1]display bfd session all

BGPRracking:
可以为BGP提供快速的链路故障检测,加速BGP网络的收敛速度。当使能了BGP
Tracking功能的BGP对等体之间的链路发生故障时,BGP Tracking将快速感知到
邻居不可达,快速收敛
与BFD相比,配置简单,只需要本地不需要全网,他是三层,BFD二层

BGP GR:
BGP的平滑重启GR,保证主备转换,和重启能够继续指导数据的转发
GR Retarter:指由管理员触发或故障触发后,以GR方式重启的设备
GR Helper:GR Restarter的邻居,协助GR Restarter进行GR的设备
GR Time:时GR Helper检测到GR Restarter重启后,保证转发信息不删除的时间
过程1:利用BGP的能力协商机制,GR restater和GR Helper了解彼此的GR能力,
       2:当GR Helper检测到GR Restarter重启和主备倒换后,不删除相关路由和转发表项
       3:GR Restarter 在GR time超时前与重启前的所有GR Helper新建立号邻居关系

 

标签:bgp,GR,BGP,对等体,路由,属性
来源: https://www.cnblogs.com/fuhuajian/p/15979887.html