首页 理论教育 计算机网络BGP路由属性

计算机网络BGP路由属性

时间:2023-11-05 理论教育 版权反馈
【摘要】:相对于BGP路由更新消息,IGP更新包要小些,BGP可能要携带更多的路径属性。其中,BGP标识符标识本地路由器,在连接的所有路由器中应唯一。表7-8 BGP类型字段对应值Update消息由不可到达路由、路由属性和网络可到达性组成。BGP路由属性是BGP路由的核心概念,它是一组参数,记录BGP路由信息,用于选择和过滤路由,可被看做选择路由的度量尺度,网络可到达性。在协商发生错误时,BGP向双方发送Notification消息通知错误。

计算机网络BGP路由属性

IGP与BGP之间最大的区别在于运行协议的设备之间传送的附加信息的大小。IGP有时附加消息包括前缀、度量、标签或者最短路径算法,这种情况在OSPF中就可看到。

相对于BGP路由更新消息,IGP更新包要小些,BGP可能要携带更多的路径属性。RIP是一种简单的IGP,仅携带像度量信息和下一跳的路径特性。OSPF相对复杂,路径属性有内部域、互连域和外部状态。对于一个给定路由,BGP携带更多路径属性,包括以下4个。

1.重量属性

重量是Cisco给路由器定义的一个局部属性,不会通告邻居路由器。如路由器发现到同一个目的地有多条路由,会选择重量大的路由。如图7-24所示,路由器A分别从路由器B和C都接收到到达网络192.116.1.0的路由通告。假设路由器B通告的路由的相关重量属性为50,而路由器C通告的路由的重量属性为100。两条到达192.116.1.0的路径和其重量都会保存在BGP路由表中,而重量值等于100的路由则保存在IP路由表中。

2.本地优先属性

该属性用来选择本地自治系统出口点的标准。与重量属性不同,本地优先属性在本地AS内广播。若AS有多个出口,那么本地优先属性值为给定的路由选择出口点。图7-25中,AS100从AS200中接收到两条到达网络192.116.1.0的通告。假设路由器A接收到的通告的本地优先属性值是50,路由器B相应的本地优先属性值是100。这两个值会在路由器A与路由器B之间交换。因路由器B值大于路由器A,所以路由器B会被选做从AS100到达AS200中192.116.1.0的出口点。

978-7-111-43162-6-Chapter07-37.jpg

图7-24 BGP的重量属性

978-7-111-43162-6-Chapter07-38.jpg

图7-25 BGP本地优先属性

3.下一跳属性

该属性是指到达通告路由器的IP地址。对于eBGP对等体来说,下一跳就是连接两对等体之间的IP地址。对于iBGP,如图7-26所示,eBGP的下一跳地址会传送到本地AS中。图中路由器C发布网络192.116.1.0的消息,并携带下一跳为10.1.1.1的信息。当路由器A在它自己的AS中广播这个路由时,eBGP的下一跳信息被保存着。若路由器B没有关于下一跳的路由信息,那么该路由将被丢弃。因此在AS中运行能广播下一跳路由信息的IGP很重要。

4.社区属性

社区属性可将目的地分成几个称为社区(Community)的组,对于不同组可采取不同的路由决定,如接收、优先或重发布。通过路由映射可设置社区属性,这里有3种社区形式。

(1)非出口社区

该社区中路由不能通告给eBGP的对等体。图7-26中,描述了非出口社区。当AS1发送192.116.1.0的路由信息给非出口社区AS2时,AS2会广播该路由在AS2内部,但是它不会将路由继续发送给AS3或者其他外部AS。

(2)非通告社区(no-advertise community)

该社区中,路由不能通告给任何对等体。AS1通告192.116.1.0的路由信息给非通告社区AS2。那么AS2中,路由器B将不会发送路由信息给任何其他的路由器。如图7-27所示。

978-7-111-43162-6-Chapter07-39.jpg(www.xing528.com)

图7-26 非出口社区

978-7-111-43162-6-Chapter07-40.jpg

图7-27 BGP社区属性的非通告社区

(3)互连社区(internet community)

可将路由通告给该社区中的所有路由器。互连社区的特点是来自AS1的路由信息将不会受到任何限制,它会在AS2和AS3中自由传播。

5.BGP消息格式

BGP消息格式由三部分组成:标记(Mark)、长度(Length)和类型(Type)。标记字段16B,用于安全检测和同步检测;长度字段2B,标明整个BGP消息的长度;类型字段1B,标明消息类型。报头后面可不接数据部分,如Keepalive消息。

BGP消息有4种类型:Open、Update、Notification和Keepalive,分别用于建立BGP连接,更新路由信息,差错控制和检测可到达性。报头中长度字段的不同值对应着不同的类型,具体情况见表7-8。

Open消息是在建立TCP连接后向对方发出的第一条消息,包括版本号、各自所在AS号码、BGP标识符(BGP Identifier)、协议参数、会话保持时间(Holdmer)及可选参数、可选参数长度。其中,BGP标识符标识本地路由器,在连接的所有路由器中应唯一。该标识符一般都使用接口上的最大IP地址(常使用opback接口来防止地址失效)。会话保持时间是指在收到相继的Keepalive或Update号之间的最大间隔时间。如超过该时间路由器仍没有收到信号,就认为对应的连接中断了,如把这个保持时间的值设为0,表示认为连接永远存在。

表7-8 BGP类型字段对应值

978-7-111-43162-6-Chapter07-41.jpg

Update消息由不可到达路由、路由属性和网络可到达性组成。BGP路由属性是BGP路由的核心概念,它是一组参数,记录BGP路由信息,用于选择和过滤路由,可被看做选择路由的度量尺度,网络可到达性。在Update消息中被发给连接对等体。

当无路由更新传送时,BGP会话用Keepalive消息验证连接的可用性。因Keepalive包很小,可节省大量带宽。在协商发生错误时,BGP向双方发送Notification消息通知错误。

6.BGP路径选择

BGP发言人的一项主要任务,是评价诸条从自身出发到那些用网络前缀表达的目的地路径,从中选出最优,应用合适的策略约束,然后将它通知给所有的BGP邻居。如何评价和比较这些不同路径,传统的距离向量协议(如RIP)中,每条路径只有一个度量。因此不同路径的比较简化为两个值的比较。AS之间路由的复杂性,源自发言人在如何评价外部路由的问题上缺少共同认可的度量。因此,每个AS拥有自己的一套对路径评价指标。

BGP发言人构建的路由数据库,由所有可用路径和每条路径可达的目标集合(表达网络前缀)组成。大多数情况下,期望找到唯一的一条可用路径,当不是此种情况时,应保存所有可用路径,在主要路径缺失时保存以最快速度产生新的主要路径,并只有主要路径会广播。

路径选择过程可形式化为对所有可用路径及相对应的目标IP定义完整的优先级。定义的一种方法是定义一个函数,将每条完整的As path映射成一个非负整数,表示该路径的优先级。路径选择简化为将该函数应用到所有的可用路径,再选择最优先级。在真实的BGP实现中,为路径分配优先级的标准在配置信息中都有说明。

为路径分配优先级的过程根据的信息:整条AS path显示的信息;由AS path和BGP以外信息(如配置信息中的路由策略约束)引申出来的信息。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈