玄女神功 txt:BGP路由协议

来源:百度文库 编辑:中财网 时间:2024/04/28 07:34:00
BGP是为TCP/IP互联网设计的外部网关协议,用于多个自治域之间。它既不是基于纯粹的链路状态算法,也不是基于纯粹的距离向量算法。它的主要功能是与其他自治域的BGP交换网络可达信息。各个自治域可以运行不同的内部网关协议。BGP更新信息包括网络号/自治域路径的成对信息。自治域路径包括到达某个特定网络须经过的自治域串,这些更新信息通过TCP传送出去,以保证传输的可靠性。
1.BGP路由协议简介
BGP(Border Gateway Protocol)是一种自治系统间的动态路由发现协议。BGP 协议早期发布的三个版本分别是BGP-1(请参阅RFC1105)、BGP-2(请参阅RFC1163)和BGP-3(请参阅RFC1267),当前使用的版本是BGP-4(请参阅RFC1771)。BGP-4 适用于分布式结构,并支持无类域间路由CIDR(Classless Inter-Domain Routing)。利用BGP 还可以实施用户配置的策略。
BGP-4正迅速成为事实上的Internet外部路由协议标准,BGP协议经常用于ISP之间。
2.BGP工作机制
BGP系统作为高层协议运行在一个特定的路由器上。系统初启时BGP路由器通过发送整个BGP路由表与对等体交换路由信息,之后只交换更新消息(update message)。系统在运行过程中,是通过接收和发送keep-alive消息来检测相互之间的连接是否正常的。
发送BGP消息的路由器称为BGP发言人(speaker),它不断地接收或产生新路由信息,并将它广告(advertise)给其他的BGP发言人。当BGP发言人收到来自其他自治系统的新路由广告时,如果该路由比当前已知路由好,或者当前还没有该接收路由,它就把这个路由广告给自治系统内所有其他的BGP发言人。一个BGP发言人也将同它交换消息的其他的BGP发言人称为对等体(peer),若干相关的对等体可以构成对等体组(group)。
BGP在路由器上以下列两种方式运行:
IBGP(Internal BGP)
EBGP(External BGP)
当BGP运行于同一自治系统(AS)内部时,被称为IBGP;当BGP 运行于不同自治系统之间时,称为EBGP。
BGP 协议机的运行是通过消息驱动的,其消息共可分为4类:
open message
update message
notification message
keep-alive message
open message是连接建立后发送的第一个消息,它用于建立BGP 对等体间的连接关系。notification message是错误通告消息。keep-alive message是用于检测连接有效性的消息。update message是BGP 系统中最重要的信息,用于在对等体之间交换路由信息,它最多由3部分构成,即不可达路由(unreachable)、路径属性(path attributes)和网络可达性信息NLRI(network layer reach/reachable information)。
3.BGP路由协议特性
BGP路由具有以下特点:
BGP是一种外部路由协议,与OSPF、RIP等内部路由协议不同,其着眼点不在于发现和计算路由,而在于控制路由的传播和选择最好的路由。
过在BGP路由中携带AS路径信息,可以彻底解决路由循环问题。
用TCP作为其传输层协议,提高了协议的可靠性。
BGP-4支持无类域间路由CIDR。这是较BGP-3的一个重要改进。CIDR以一种全新的方法看待IP 地址,不再区分A类网、B类网及C类网。例如一个非法的C类网络地址192.213.0.0(255.255.0.0)采用CIDR表示法192.213.0.0/16 就成为一个合法的超级网络,其中“/16”表示子网掩码由从地址左端开始的16 比特构成。CIDR的引入简化了路由聚合(Routes Aggregation),路由聚合实际上是合并几个不同路由的过程,这样从通告几条路由变为通告一条路由,减小了路由表规模。
路由更新时,BGP只发送更新的路由,大大减少了BGP传播路由所占用的带宽,适用于在Internet上传播大量的路由信息。
出于管理和安全方面的考虑,每个自治系统都希望能够对进出自治系统的路由进行控制,BGP-4提供了丰富的路由策略,能够对路由实现灵活的过滤和选择,并且易于扩展以支持网络新的发展。