5.BGP

BGP路由协议

AS自治系统

EGP中引入AS自治系统,AS是指由同一个技术管理机构管理,使用统一选路策略的一些路由器的集合

  • AS内部使用IGP来计算和发现路由,例如OSPF,RIP,ISIS等等
  • AS之间使用BGP来传递和控制路由

BGP基础知识

  1. 工作在大网之中
  2. AS有16位空间,可以拓展到32位空间
  3. BGP工作在AS之间,承载大量路由,同时提供丰富的选路策略(在AS之间传递路由信息)
  4. BGP:我们不产生路由,我们只是路由的搬运工
  5. BGP可以跨越多跳路由建立邻居关系

BGP特征

  • BGP是外部路由协议,用来在AS之间传递路由信息
  • BGP是一种增强型的距离矢量协议—不用交互LSDB和SPF计算
  • 可靠的路由更新机制 --TCP单播建立 TCP179(一台设备上只能有一个BGP进程)动态路由协议
  • 丰富的度量路由属性----选路的维度多(开销)
  • 防环机制----IBGP防环 EBGP防环 RR环境下的防环 联盟防环 MPLS VPN的防环机制

BGP建立邻居关系

在这里插入图片描述

  1. 直连建立EBGP邻居关系
  2. 采用环回口建立BGP邻居关系
[AR2]dis bgp peer

 BGP local router ID : 10.1.12.2
 Local AS number : 200
 Total number of peers : 1                Peers in established state : 1

  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State PrefRcv(收到的路由条目数量)

  10.1.12.1       4         100        3        3     0 00:01:53 Established       0

BGP的五种报文

1.open —协商参数
2.Keepalive—保持TCP连接的有效性
3.update—交互路由信息
4.notification—断开TCP连接
5.router fresh—策略改变发送邻居请求邻居刷新

BGP状态机

在这里插入图片描述
产生IDLE状态的原因:底层不通/禁用端口/EBGP没有修改最大跳数/地址族没有激活/管理性的挂起

 
 

BGP产生路由的方式

  1. network宣告(这个设备上存在这样一条路由以其他形式,以BGP形式产生路由)一定不要把建立邻居的地址宣告进BGP,否则路由不是最优 ,导致路由无法被学习到
  2. 引入 ----起源属性 import
  3. 聚合产生的(汇总路由) ----IGP

BGP通告原则

  • BGP向邻居通告最优的路由(*>)
  • 从EBGP邻居获得的路由无条件的通告给所有的EBGP邻居和IBGP邻居 (除了发给我路由的这个EBGP邻居之外)
  • IBGP的水平分割,从IBGP邻居收到的路由不再通告给其他的IBGP邻居
  • BGP与IGP同步

BGP的Update报文

  • BGP路由封装在Update报文中通告给邻居。BGP在邻居关系建立后才开始通告路由信息。

Update消息主要用来公布可用路由和撤销路由,Update中包含以下信息:
网络层可达信息(NLRI):用来公布IP前缀和前缀长度。
路径属性:为BGP提供环路检测,控制路由优选。
撤销路由:用来描述无法到达且从业务中撤销的路由前缀和前缀长度。

BGP聚合

路由汇总:减少路由条目 减少路由器的规模,加快了转发的速度,减少路由表的震荡,聚合产生明细路由,明细只要有一条存在,聚合就存在,只有明细全部消失,聚合才消失。

三种方式:
手动聚合>自动聚合

  1. 自动聚合------华为设备上只有RIP和BGP支持 ----距离矢量协议 只能聚合引入路由,不能聚合宣告的路由
  2. 手动聚合—静态聚合
  3. BGP特有的聚合方式aggregate

反射和联盟

反射规则

  • 反射Router reflector—解决大型BGP站点的问题(运营商)
  • RR更改了水平分割
  • 客户机之间不需要全互联,只需要和RR建立IBGP
  • 非客户机之间需要全互联,需要和RR建立IBGP
    规则:
  • 从非客户机学到的路由, 发布给所有的客户机
  • 从客户机学到的路由,发布给所有非客户机和客户机(发起此路由的客户机除外)
  • 从EBGP对等体学到的路由,发布给所有的非客户机和客户机

联盟

不破坏原来的水平分割原则

  1. 第一步:删除原有的BGP进程
  2. 第二步:confederation id —联盟ID—大的AS confederation peer-as
     
     

反射和联盟的比较

在这里插入图片描述

BGP属性

在这里插入图片描述

  • 公认必遵:所有的bgp路由器都需要识别和支持的属性(需要存在于update)
  • 公认任意:不需要必须存在于update,可以根据需求自己选择决定是否携带 所有的都认识
  • 可选过渡:可以认识也可以不认识,不认识的可以帮助转发。//默认不传递
  • 可选非过渡:可以认识也可以不认识,不认识的不可以转发。
    Internet—默认携带。作用:通过给所有BGP对等体

Next-hop 公认必遵属性—下一跳可达
注:ibgp下一跳为更新源,ebgp向ibgp通告下一跳不变,ebgp向ebgp通告下一跳修改为自己的接口地址

团队属性

团队属性:TAG —IGP, 打标记,可以在接收,产生,聚合路由去调用
BGP的私有属性,在BGP对等体之间传递。并且不受AS限制
在这里插入图片描述

  • 默认不更新团体属性,需要命令开启传递// peer 1.1.1.1 advertise-community

origin属性

定义路径信息的来源,标记一条路由是怎么成为BGP路由的

起源属性 origin :I—IGP(network宣告+汇聚:前提条件–所有的明细路由都是I) E—EGP(几乎没有) ?(引入)
优先级顺序:i>e>?

AS-path属性

As-path属性(公认必遵)路由器在AS内部传递,不会对as-path属性的内容做更改,路由在离开AS的时候,当前的AS号会自动加到as-path序列,左手,BGP设备在收到路由后,首先检查as-path

  • As-path用于as之间防环,as内部防环水平分割,as-path优选最短的路径
  • 不想让as-path影响选路 // bestroute as-path-ignore不建议使用

Local_Preference

公认任意属性—影响离开AS时的路径选路,仅仅在ibgp之间更新(不会更新AS) 默认值100,数值越大越优先。挂接import方向
在ASBR设备上针对EBGP邻居做import方向的本地优先级

  • default local-preference //经过我这台设备的路由本地优先级全部改变
  • 本地优先级在联盟的EBGP之间也是可以更新的

协议首选值(pref-val) //华为私有

1.只在本地有效,不会更新给任何邻居,只影响本地选路,默认为0 数值越大越优先
2.任何出现在BGP路由表中的路由都会被分配本地首选权值—影响选路

MED–BGP的开销值

可选非过渡,用于影响进入AS时候的最佳路由(和本地优先级相反) 默认值为0,数值越小越优先,只在两个相邻的AS之间传递,不会传递给第三方

  • 默认情况下MED的比较只会比较相同的AS,来自不同的AS的路由没有可比性。
  • compare-different-as-med强制比较来自不通的AS的路由的med

Community

作用:

  1. 限定路由的传播范围
  2. 打标记,便于对符合相同条件的路由进行统一处理

BGP选路原则

  • 13条选路原则,前8条选路原则一样,认为是负载分担
  • 前提条件:下一跳可达----才可以向下面比较

在这里插入图片描述

正则表达式(非重点)

在这用于As-path过滤
在这里插入图片描述
^$匹配本地始发的路由
.*匹配所有路由
_10_必须匹配经过10的

BGP其他知识点汇总

  • AS号相同时IBDG邻居关系,AS号不同时EBGP邻居关系
  • AS之间一定不要跑IGP协议—会有问题
  • dis bgp peer verbose 查看BGP邻居详细信息
  • EBGP默认的TTL值为1,默认一跳。通过命令peer 2.2.2.2 ebgp-max-hop 10-----修改跳数为10
  • GTSM—TTL安全机制
  • IBGP邻居关系建立–可以跨越设备
  • BGP工作原理:1.TCP连接建立 2.数据库的更新
  • refresh bgp all export—刷新出方向路由
    refresh bgp all import —刷新bgp进方向路由
  • peer 2.2.2.2 ignore—断开邻居关系,挂起邻居关系—(用于割接的时候)
  • 如果路由不是最优,首先检查下一跳地址是否可达。
  • IBGP通告他从EBGP邻居那里获得的路由不更改下一跳
  • Next-hop-invariable //下一跳不变,用于优化转发路径的,防止次优路径
  • 修改下一跳为本身是最优的
  • 其他方式实现下一跳可达:静态路由 IGP中引入外部路由 内部依次做下一跳为本身
  • EBGP对等体之间通告路由的时候会自动修改下一跳为本身
  • 不用做下一跳为本身------MA网络 自动优化
  • Undo synchronization//关闭BGP同步
  • BGP的路由黑洞,默认情况下只能引入EBGP路由
  • 下一跳属性在哪里做的???针对于AS内部IBGP对等体做下一跳本身起作用
  • 经过RR反射的路由下一跳不更改。
  • IGP产生路由,bgp控制路由
  • 华为默认不开启负载分担,可以开启路由等价条数maximum load-balancing ebgp 8
  • 如果超出设置的等价路由器最大数则继续比较
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值