BGP的原理

目录

BGP优势与特征

BGP原理


BGP优势:

1.BGP基于TCP工作(端口号为179),与TCP建立连接就可以建立BGP邻居关系

2.BGP承载上万条路由条目,而IGP仅能承载上千条;

3.BGP路由器只传递路由条目,不会暴露AS内的拓扑信息,更加安全;

4.支持MPLS/VPN协议,用于传递客户VPN路由;

BGP的特征:

1.BGP是距离矢量单位,邻居之间之间传递路由,每条BGP路由都携带多种属性

2.可以使用这些属性配置路由策略,实现灵活的路由选择,这是IGP协议无法做到的

BGP协议的应用场景:

1.大型企业的内部,存在多个分支,每个分支属于一个AS,通过BGP协议在不同分支之间传递路由;

2.企业可以与运营商之间运行BGP协议,企业与运营商之间互相传递路由

BGP原理

BGP的协议报文

BGP有限状态机

BGP对等体

  • 运行BGP的路由器被称为BGP Speaker或者BGP路由器
  • 两台BGP路由器之间建立的关系叫BGP对等体(Peer)也叫邻居,对等体之间交换BGP路由表
  • BGP分为两种:EBGP和 IBGP

EBGP Peer: 位于不同AS的路由器之间的BGP邻居关系

  • 互为EBGP Peer的路由器彼此所属的AS号不同
  • EBGP Peer 一般基于直连接口建立
  • Neighbor命令所指定的邻居IP地址要可达,TCP连接要能够正确建立
  • EBGP的路由器管理距离为20,因为AS之间BGP比IGP更优

IBGP Peer: 同属一个AS的路由器之间建立的BGP邻居关系

  • 互为IBGP Peer 的BGP路由器属于同一个AS;
  • IBGP Peer一般基于Lookback接口建立,Peer之间可以跨越路由器,只要TCP连接能够正确建立
  • IBGP的路由器管理距离为200,因此AS内部IGP更优

BGP的邻居表:包含了此台BGP路由器所有的邻居,以及他们之间的状态

BGP默认每隔60秒发送一次BGP/TCP存活消息,保持时间为180秒

BGP路由表

  • 每台BGP路由器独立维护一张BGP路由表,包含了本地导入以及从BGP peer 学习所有BGP路由;
  • BGP路由表中可用最优的路由(标记为*>)将会加载到全局IP路由表中;

代表路由表可用

代表此路是最优的,最优的路由一定是可用的路由

i  代表此路是通过IBGP学习的,如果空的代表从EBGP学习到或者本地引入的

BGP路由的生成

  • BGP本身不会自动产生路由,必须要将  IGP的路由引入到BGP路由表中,引入方式有2种      

BGP路由的传递

  • BGP使用update报文将路由条目发送给BGP Peer
  • BGP 传递路由遵循以下规则:
  1. 仅把BGP路由表中可用且最优(*>)的路由传递给BGP peer
  2. 从EBGP peer 获得的路由,会发送给所有的BGP peer (包括EBGP和 IBGP)
  3. 从 IBGP获得的默认会通告给它的EBGP peer (如果BGP同步开启则需要再判定)

BGP在AS内部的环路避免机制

BGP 作为一种距离矢量路由协议,BGP通过水平分割防止AS内部的环路

--从IBGP获得的路由不向它的IBGP peer通告,以此来防止循环发生

--IBGP在路由器通告时也不会改变路由的下一跳,进一步防止循环的发生

BGP在AS之间的环路避免机制

  • BGP 同时还采用AS-Path属性来防止AS之间的环路
  • EBGP向对等体通告路由时附加自己的AS号存放在AS-Path属性字段中,收到的EBGP对等体Update 报文时检查AS-Path,如果发现自己的AS号则丢弃该路由,EBGP是依靠路由经过的AS路径来发现循环的

  • BGP的路由黑洞

这些设备由于未运行BGP,因此自然不会收到BGP传递来的路由信息

当有数据包经过这些设备时,因为没有相关的路由信息,数据包将会被丢弃

避免路由黑洞问题的方法---BGP同步

解决路由黑洞问题的方法:

---路由重分布:把BGP的路由重发布到AS内的IGP

----使用MPLS:使用MPLS的转发机制解决穿越AS问题

---IBGP全互联:在穿越路径上IBGP启用全连接,确保所有的BGP路由过路设备都知道

BGPnext-hop 不可达问题

·BGP是AS-by-AS的路由协议,而不是router-by-router的路由协议

·在BGP中,next-hop并不意味着下一台路由器,而是下一个ASIP地址

  • ·EBGP中,默认next-hop为发送更新的邻居路由器的IP地址

·IBGP中,从EBGP传来的next-hop属性在IBGP中保持不变的被传递

小结:

1.BGP协议用于AS之间传递路由,基于TCP 179工作,IP报文的协议号为6,并且可以手动指定更新源 ;

2.BGP协议特点在于能承载大量路由,且有丰富的属性用于路由 策略 ;

3.BGP协议的工作主要通过open update notification keepalive router-refresh 、五种报文,其中update报文用于承载路由条目 ;

4.BGP路由器之间有IBGPEBGP两种对等体类型,用6状态来标识与对等体的关系,其中established状态是正常工作的状态

5.BGP不会产生路由,需要从IGP中引入,仅有可用最优的路由会发给邻居,并且依据路由传递规则发送路由 ;

6.从邻居收到的路由会放入BGP路由表中,如果是可用最优的才会加载到本地IP路由表中 ;

7.BGP在AS内部采用水平分割防止环路AS之间采用AS-Path防止环路,水平分割会导致路由黑洞的问题,有路由重分布IBGP全互联MPLS等方式解决路由黑洞问题

8.EBGP传递来的路由可能存在下一跳不可达问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值