2021-08-15

本文深入介绍了BGP(边界网关协议)的基本概念、工作原理和应用环境。BGP作为路径矢量型路由协议,用于AS之间的通信,其特点是传递网络掩码、基于TCP封装并支持多种属性。BGP防环机制包括EBGP水平分割和IBGP水平分割,以及路由反射器和联邦AS。此外,文章还阐述了BGP的路由宣告、选路规则以及路由惩罚机制,为网络管理员提供了全面的理解。
摘要由CSDN通过智能技术生成

BGP: 边界网关协议
使用范围: BGP范围,在AS之间使用的协议
协议的特点(算法):路径矢量型,没有算法
协议是否传递网络掩码 :传递网络掩码,支持VLSM CIDR
协议消息数据包封装:基于TCP封装,端口号:179

BGP协议特点
1.BGP是一种路径矢量型路由协议
2.BGP协议版本,当前版本V4(V4+)V1 V2 V3(有类别) V4(无类别 仅仅支持IPV4单播路由传递) V4+(支持IPV4单播路由、 IPV6单播 IPV4 组播 、IPV6组播、VPNV4 、VPNV6 等,除了IPV4单播路由之外的其他的 都称为 MP-BGP—多协议BGP;
注意:默认仅仅支持传递IPV4单播路由, 传递其他方式路由时需要开启(激活)
3.更新地址:单播更新
4.更新方式:触发更新、增量更新
5.BGP协议中存在大量的属性(是一种基于规则的路由协议)
6.BGP协议支持路由认证
7.支持BGP路由聚合(汇总)
8.BGP是一种非常消耗资源的路由协议

适合使用BGP的网络环境
1.传输AS (AS: 自治系统 自治系统范围:1-65535 , 公有AS (1-64511) 私有 AS(64512-65535))
2.多宿主
3.需要对进入和离开的流量进行强大的策略控制时

BGP邻居关系
IBGP :内部BGP邻居,建邻的两台设备处于相同的AS中
EBGP:外部BGP邻居,建邻的两台设备处于不同的AS中

BGP数据包
1.open :建立BGP邻居关系,只发送一次。
BGP邻居关系建立条件:
1.router-id 必须不同
2.BGP认证一致
3.指定正确的AS号
4.建立TCP三次握手的两端路由可达
2.keepalive :保活,维持BGP邻居关系。周期性发送周期时间keepalive 时间默认为60s
Hold 时间,保持时间默认为180s
3.update :更新 携带路由条目 目标网络号+各种属性
4.notification :报告(错误报告) 出现错误数据时收发

BGP的工作过程
1、配置完成后,邻居间单播TCP三次握手,目标端口179,建立TCP的会话;之后所有的BGP协议数据包基于该会话进行传输;
会话建立后,邻居间正常收发一次open报文建立BGP的邻居关系,生成邻居表*;
BGP协议的open报文中将携带本地的RID—生成方式和OSPF一致;仅需要本地及本地所有邻居唯一即可;
邻居关系建立后,默认每1min,使用keeplive周期保活邻居关系(周期保活TCP会话)
2、邻居关系建立后,管理员选择性将本地路由表中通过任意来源获取的路由条目,向BGP协议中进行宣告;使用updata数据包进行邻居间路由共享;之后生成BGP表;— 装载本地发出及接收到的所有路由条目;***
默认将最优路径加载于路由表中(最优-仅仅基于BGP的选路规则,不一定为最佳路径;BGP默认不支持负载均衡)
3、收敛完成,仅keeplive周期保活即可;
4、若出现错误信息,邻居间将使用Notification报文进行报错操作

结构突变
1)新增 — 本地使用updata向本地所有邻居告知,前提该路由不被已经发出的聚合路由包含
2)断开 — 本地使用updata向本地所有邻居告知,前提该路由不被已经发出的聚合路由包含
只有到聚合条目中包含的所有明细路由均在本地失效,才告知邻居删除聚合条目
3)无法沟通 — hold time为3min,连续3次未收到邻居的keeplive;断开邻居关系、TCP会话,删除从该邻居处学习到的所有路由;

BGP的防环机制
1、EBGP水平分割—解决EBGP环路;
依赖了BGP路由条目中的一种属性来进行防环;AS-PASH路径属性;
BGP协议在传递路由条目的过程中,将记录所有经过的AS的编号;
EBGP水平分割—接收到的路由条目中,若存在本地的AS号将拒绝该条目进入;
2、IBGP水平分割—解决IBGP环路由中的一种机制
本地从一个IBGP邻居处学习到的路由条目,不得传递给本地的其他IBGP邻居;
AS-BY-AS在一个AS内部条目传递的过程中,默认不会修改任何的属性;
由于BGP可以非直连建立邻居关系,故在一个AS内部,可以通过与多台运行BGP协议的路由器建立BGP邻居关系,来稳定关系网络;因此在一个AS内部运行BGP协议的设备,正常均存在EBGP邻居(均同时连接其他AS)
在IBGP水平分割的限制下,虽然避免了IBGP的环路产生,但同时也使得AS内部为了能够传递路由条目,必须两两间建立IBGP邻居关系,邻居关系成指数上升,配置量巨大;
后期可以依赖打破水平分割的机制来解决—联邦、路由反射器

路由反射器
反射规则: 非非不传(非客户端收到的路由不能传递给其他的非客户端)
在路由反射器中,由于破坏了IBGP水平分割机制,可能导致路由环路,所以引入了起源者属性和簇ID属性进行防环
设置路由反射器: 设置对等体组中用户为路由反射器的客户端,同时宣告自身为路由反射器的服务器端。

设置RR的cluster-id

查看反射之后的路由:

EBGP联邦:
先部署小AS,再声明大AS
注意: 联邦EBGP邻居既有IBGP邻居特性又有EBGP邻居特性
**IBGP特性:**1.下一跳问题 2.学习到的路由标记为IBGP
**EBGP特性:**邻居建立过程中存在EBGP邻居的非直连检测和TTL问题
联邦EBGP防环:引入联邦AS序列号进行防环(与AS-path 区别 1.不计入选路 2.当传递出大的AS时消失)
BGP路由宣告
BGP协议所宣告路由为本地路由表中任何来源产生的路由信息;
宣告时,可逐条选择本地路由表中的路由信息宣告:
[r1]bgp 1
[r1-bgp]network 1.1.1.0 24
切记:宣告时,所宣告的网络号必须和本地路由表中的记录完全一致;

当宣告配置完成后,本地生成BGP表;-装载本地发出及接收到所有BGP路由
[r1]display bgp routing-table
Total Number of Routes: 1
Network NextHop MED LocPrf PrefVal Path/Ogn
1.1.1.0/24 0.0.0.0 0 0 i
状态 目标网络号 属性

可用
优秀
使用i标识该条目通过本地的IBGP邻居学习
一条条目可用且优秀才能传输给本地的其他邻居;才能加载到本地的路由表中;

条目优秀的条件:
1、 同步问题—目前的设备同步规则默认关闭,该问题在当下已经不需要关注了
同步问题—本地必须先通告IGP学习到该路由,在通过BGP学习
2、 下一跳不可达问题—因为AS-BY-AS规则 使得下一跳地址在一个AS内部传递时,默认不修改;故通过本地的IBGP邻居学习到的路由,大多下一跳不可达
[r2]bgp 2
[r2-bgp]peer 3.3.3.3 next-hop-local R2将路由传输给3.3.3.3时,修改下一跳地址为R2;
BGP选路:
选路条件: BGP路由必须有效,无环的,不能被惩罚 。
BGP 路由惩罚
特点
1.被惩罚的路由不能参与选路,不能加入本地的IP路由表,不能传递
2.路由惩罚仅仅针对EBGP邻居学习的路由,并且针对的是某一个邻居传递的路由并非路由条目本身
惩罚值:路由条目每翻滚一次,惩罚值增加1000,路由属性每翻滚一次惩罚值增加500, 1000 500 是硬件编码的,不能修改
惩罚门限:超过了惩罚门限开启进行路由惩罚,默认值为2000
重用门限:当惩罚值低于该值,重新使用该路由信息,默认为750
半衰期:默认为15分钟
思科:设置了一个最大的惩罚时间默认为 60分钟
注意: 在思科中,最大惩罚值是计算出来的,所以值修改路由惩罚参数时,需要提前运算,保证最大惩罚值一定是大于惩罚门限的
华为:最大惩罚值 ,默认为16000 .

当到达同一目的地存在多条路由时,BGP依次对比下列属性来选择路由:

  1. 优选协议首选值(PrefVal)最高的路由。
    协议首选值(PrefVal)是华为设备的特有属性,该属性仅在本地有效。
  2. 优选本地优先级(Local_Pref)最高的路由。本区域生效
    作用: 用于控制离开本AS的流量时使用
  3. 依次优选手动聚合路由、自动聚合路由、network命令引入的路由、import-route命令引入的路由、从对等体学习的路由。(next-hop为 0.0.0.0 最优先)
  4. 优选AS路径(AS_Path)最短的路由。
  5. 依次优选Origin类型为IGP、EGP、Incomplete的路由。
  6. 对于来自同一AS的路由,优选MED值最低的路由。
  7. EBGP邻居学习路由优于BGP邻居学习路由(联邦EBGP当做普通BGP路由对待)
  8. 依次优选EBGP路由、IBGP路由(联邦EBGP、联邦IBGP)、LocalCross路由、RemoteCross路由。
    PE上某个VPN实例的VPNv4路由的ERT匹配其他VPN实例的IRT后复制到该VPN实例,称为LocalCross;从远端PE学习到的VPNv4路由的ERT匹配某个VPN实例的IRT后复制到该VPN实例,称为RemoteCross。
  9. 优选最近的下一跳(下一跳地址在本地路由表中的metric值)
  10. 可以执行负载均衡
  11. 最小的router-id (若存在起源者属性比较第11条 router-id时使用起源者属性进行比较 )
  12. 优选 Cluster_List 最短的路由
  13. 最小的peer IP地址
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值