综合百科行业百科金融百科经济百科资源百科管理百科
管理百科
管理营销
资源百科
人力财务
经济百科
经济贸易
金融百科
金融证券
行业百科
物流咨询
综合百科
人物品牌

BGP

  	      	      	    	    	      	    

边界网关协议(Border Gateway Protocol,BGP)

目录

什么是BGP

  BGP(Border Gateway Protocol)即边界网关协议,是互联网上一个核心的去中心化自治路由协议。它通过维护IP路由表或‘前缀’表来实现自治系统(AS)之间的可达性,属于矢量路由协议。 BGP不使用传统的内部网关协议IGP)的指标,而使用基于路径、网络策略或规则集来决定路由。因此,它更适合被称为矢量性协议,而不是路由协议。

  BGP是为了取代外部网关协议(EGP)协议而创建的,允许运行一个完全分散的路由系统,从ARPANET模型的核心路由系统过渡到包括NSFNET骨干网及其相关区域网络的分散系统。这使得互联网成为一个真正的分权制度。自1994年以来,BGP已有四个版本在互联网上使用,所有以前的版本现在已经过时不可用。在第4版主要的增强功能是通过支持无类别域间路由和路由聚合来减少路由表的大小。第4版是在早期的RFC 1771第4版的基础上编纂,通过20多个草案修改,最终在2006年1月通过形成RFC 4271RFC 4271版本纠正了一些错误,澄清模糊之处,带来了更接近工业级应用标准的RFC行业惯例。

  大多数互联网服务提供商(ISP)必须使用BGP来与其他ISP建立路由连接(尤其是当它们采取多宿主连接时)。因此,即使大多数互联网用户不直接使用它,但是与7号信令系统(SS7)相比,即通过PSTN的跨供应商核心响应设置协议,BGP仍然是互联网最重要的协议之一。特大型的私有IP网络也可以使用BGP。例如当需要将若干个大型的开放最短路径优先OSPF)网络进行合并,而开放最短路径优先协议本身又无法提供这种可扩展性时。使用BGP的另一个原因是其能为多宿主的单个ISP(RFC 1998)或多个ISP网络提供更好的冗余网络。

BGP使用原则

  ①多条路径时,BGPSpeaker只选最优的路径给自己使用。

  ②BGPSpeaker只把自己使用的路由通告给邻居。

  ③BGPSpeaker从EBGP获得的路由会向它所有BGP邻居通告(包括EBGP和IBGP)。

  ④BGPSpeaker从IBGP获得的路由不向它的IBGP邻居通告。

  ⑤BGPSpeaker从IBGP获得的路由是否通告给它的EBGP邻居要依IGP和BGP同步的情况来决定。

  ⑥连接一旦建立,BGPSpeaker将把自己所有BGP路由通告给新邻居。

BGP属性[1]

  BGP是一种外部路由协议,与OSPFRIP等的内部路由协议不同,其着眼点不在于发现和计算路由,而在于控制路由的传播和选择最好的路由。

  为控制路由的传播和路由选择,BGP为路由附带属性信息。BGP可在给定的路由上附上很多属性,因此,IGP使用的路由更新包比BGP使用的路由更新报文更小,这也是IGP和BGP最大的不同之处。

  BGP路由属性是一套参数,它对特定的路由进行了进一步的描述,使得BGP能够对路由进行过滤和选择。在配置路由策略时将广泛地使用路由属性,但是不是所有路由属性都要被用上。路由属性被分为以下几类。

  • 必遵属性:在路由更新数据报文中必须存在的路由属性,这种属性域在BGP路由信息中有着不可替代的作用,如果缺少必遵属性,路由信息就会出错。如AS-Path就是必遵属性,BGP用它来避免路由环路,没有它路由就可能出问题。
  • 可选属性:它是可选的,不一定存在于路由更新数据报文中,设置它完全是根据需要。如MED属性,就用它来控制选路。
  • 过渡属性:具有AS间可传递性的属性就是过渡属性,过渡属性的域值可以被传递到其他AS中去并继续起作用。如Origin属性,路由信息的起源一旦确定,域值会一直存在,无论此路由信息被传到哪个AS中去。
  • 非过渡属性:只在本地起作用,出了自治系统,域值就恢复成默认值,如Local preference。以下列出几种常用属性的情况,如表所示。

  表:几种常用属性

类型代码属性名必遵/可选过渡/非过渡
1Origin必遵过渡
2AS-Path必遵过渡
3Next-hop必遵过渡
4MED可选非过渡
5Local-preference可选非过渡
8Community可选过渡

  每个属性都有特定的含义并可以灵活地运用,使得BGP的功能十分强大。BGP属性可以扩展到256种。这里列出了一些BGP的常用属性。

  • Origin起点属性:定义路径信息的来源,标记一条路由是怎样成为BGP路由的。如IGP、EGP和Incomplete等。
  • AS-PathAS路径属性:是路由经过的AS的序列,即列出在到达所通告的网络之前所经过的AS的清单。BGP发言者将自己的AS前置到接收到的AS路径的头部,它可以防止路由循环,并用于路由的过滤和选择。
  • Next-hop下一跳属性:包含到达更新消息所列网络的下一跳边界路由器的IP地址。BGP的下一跳与IGP有所不同,它可以是通告此路由的对等体的地址,如EBGP,这同IGP是相同的。而在其他情况下,BGP使用第三方的下一跳,如IBGP对从EBGP对等体获得的下一跳不加改变地在自治系统内传递。在多路访问媒体上,BGP以路由的实际来源为下一跳,即使它不是BGP对等体。
  • MED(Multi-Exit-Discriminators)属性:当某个AS有多个入口时,可以用MED属性来帮助其外部的邻居路由器选择一个较好的人口路径。一条路由的MED值越小,其优先级越高。
  • Local-preference本地优先属性:用于在自治系统内优选到达某一个目的地的路由。反映了BGP发言人对每个外部路由的偏好程度。本地优先属性值越大,路由的优选程度就越高。
  • Community团体属性:标识了一组具有相同特征的路由信息,与它所在的IP子网和自治系统无关。公认的团体属性值有NO-EXPORT、N0一ADVERTISE、LOCALAS和INTERNET。

参考文献

  1. 徐宇杰.路由技术深入分析[M].清华大学出版社,2009.05.