路由原理与设计之三--bgp路由协议

上传人:xzh****18 文档编号:33962285 上传时间:2018-02-19 格式:DOC 页数:38 大小:1.32MB
返回 下载 相关 举报
路由原理与设计之三--bgp路由协议_第1页
第1页 / 共38页
路由原理与设计之三--bgp路由协议_第2页
第2页 / 共38页
路由原理与设计之三--bgp路由协议_第3页
第3页 / 共38页
路由原理与设计之三--bgp路由协议_第4页
第4页 / 共38页
路由原理与设计之三--bgp路由协议_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《路由原理与设计之三--bgp路由协议》由会员分享,可在线阅读,更多相关《路由原理与设计之三--bgp路由协议(38页珍藏版)》请在金锄头文库上搜索。

1、第一章 BGP 路由协议原理本课程详细介绍了 BGP 协议的基本原理和应用,学完之后相信您对 BGP 协议会有一个全面、深入的了解。1.1 BGP 协议概述BGP(Border Gateway Protocol)是一种自治系统间的动态路由发现协议,它的基本功能是在自治系统间自动交换无环路的路由信息,通过交换带有自治系统号(AS)序列属性的路径可达信息,来构造自治区域的拓扑图,从而消除路由环路并实施用户配置的路由策略。与 OSPF 和 RIP 等在自治区域内部运行的协议对应,BGP 是一类 EGP(Exterior Gateway Protocol)协议,而 OSPF 和 RIP 等为 IGP(

2、Interior Gateway Protocol)协议。BGP 协议经常用于 ISP 之间。BGP 协议从 1989 年以来就已经开始使用。它最早发布的三个版本分别是RFC1105(BGP-1 )、RFC1163(BGP-2)和 RFC1267( BGP-3),当前使用的是RFC1771(BGP- 4)。 随着 INTERNET 的飞速发展,路由表的体积也迅速增加,自治区域间路由信息的交换量越来越大,影响了网络的性能。BGP 支持无类别域间选路CIDR( Classless Interdomain Routing),可以有效的减少日益增大的路由表。BGP-4 正迅速成为事实上的 Intern

3、et 边界路由协议标准。特性描述如下:BGP 是一种外部路由协议,与 OSPF、RIP 等的内部路由协议不同,其着眼点不在于发现和计算路由,而在于控制路由的传播和选择最好的路由。通过携带 AS 路径信息,可以彻底解决路由循环问题。为控制路由的传播和路由选择,它为路由附带属性信息。 BGP-4 支持无类别域间选路 CIDR(Classless InterDomain Routing),有时也称为supernetting,这是对 BGP-3 的一个重要改进。CIDR 以一种全新的方法看待 IP 地址,不再区分 A 类网、B 类网及 C 类网。例如一个非法的 C 类网络地址 192.213.0.0(

4、255.255.0.0)采用 CIDR 表示法 192.213.0.0/16 就成为一个合法的超级网络,其中/16 表示子网掩码由从地址左端开始的 16 比特构成。CIDR 的引入简化了路由聚合(Routes Aggregation),路由聚合实际上是合并几个不同路由的过程,这样从通告几条路由变为广告一条路由,减化了路由表。由于政治的、经济的原因,每个自治系统希望对路由进行过滤、选择和控制, 因此,BGP-4 提供了丰富的路由策略,它使得 BGP 便于扩展以支持因特网新的发展。与 OSPF,RIP 等 IGP 协议相比,BGP 的拓扑图要更抽象和粗略一些。因为 IGP 协议构造的是 AS 内部

5、的路由器的拓扑结构图。IGP 把路由器抽象成若干端点,把路由器之间的链路抽象成边,根据链路的状态等参数和一定的度量标准,每条边配以一定的权值,生成拓扑图。根据此拓扑图选择代价(两点间经过的边的权值和)最小的路由。这里有一个假设,即路由器(端点)转发数据包是没有代价的。而在 BGP 中,拓扑图的端点是一个 AS区域,边是 AS 之间的链路。此时,数据包经过一个端点(AS 自治区域)时的代价就不能假设为 0 了,此代价要由 IGP 来负责计算。这体现了 EGP 和 IGP 是分层的关系。即 IGP负责在 AS 内部选择花费最小的路由,EGP 负责选择 AS 间花费最小的路由。 BGP 作为 EGP

6、 的一种,选择路由时考虑的是 AS 间的链路花费、 AS 区域内的花费(由BGP 路由器配置)等因素。为了减小路由表的体积和发送路由的通信量,BGP 还支持 CIDR(Classless InterDomain Routing)。它使用带有较短的掩码(相对于自然掩码)的路由来在一条路由中表达更多的路由信息。如从 202.112.1.0/24202.112.254.0/24 可以使用 202.112.0.0/16 表示,从而减小了路由表的体积和发送路由信息时的网络流量。1.2 BGP 可靠的路由更新使用 TCP 作为其传输层协议,提高了协议的可靠性。路由更新时,BGP 只发送增量路由,大大减少了

7、 BGP 传播路由所占用的带宽,适用于在 Internet 上传播大量的路由信息。内部网关协议 IGP 需引入 AS 自治区域内部网络拓扑图其它各点的路由,同时向其它端点发送本端点(路由器)所知的路由,如直接路由、静态路由等。作为外部网关协议,BGP 发送和引入路由的单位是整个 AS 自治区域,即 BGP 要发送本地路由器所在的 AS 内部的所有路由,引入其它 AS 自治区域的所有路由(假设不使用路由策略控制发送和引入)。其路由数量显然要远远大于 IGP 发送和引入的路由数量。因此,类似于 IGP 那样定时对外广播路由信息是不可取的。BGP 采用发送路由增量(Incremental)的方法,完

8、成全部路由信息的通告和维护:初始化时发送所有的路由给 BGP 对等体(BGP Peer),同时在本地保存了已经发送给 BGP 对等体的路由信息。当本地的 BGP 收到了一条新路由时(如通过IGP 注入了新路由或加入了新的静态路由),与保存的已发送信息进行比较,如未发送过,则发送,如已发送过则与已经发送的路由进行比较,如新路由花费更小,则发送此新路由,同时更新已发送信息,反之则不发送。当本地 BGP 发现一条路由失效时(如对应端口失效),如此路由已发送过,则向 BGP 对等体发送一个撤消路由消息。总之,BGP 不是每次都广播所有的路由信息,而是在初始化全部路由信息后只发送路由的变化量(增量)。这

9、样保证了 BGP 和对端的最小通信量,但同时也增加了 BGP 的复杂程度。因为对于 IGP,本地路由协议只需发送发送时刻所知的全部路由,而不保存任何已发送信息,路由选择的工作由对端来完成;而 BGP 必须为每个 BGP 对端保存已经发送的路由信息,以便发送一条新路由前确认其是否真的应该发送。1.3 自治系统(Autonomous System)自治系统指的是:由同一个技术管理机构管理、使用统一选路策略的一些路由器的集合。每个自治系统都有唯一的自治系统编号,这个编号是由因特网授权的管理机构分配的。引入自治系统的基本思想:就是通过不同的编号来区分不同的自治系统。这样,当网络管理员不期望自己的通信数

10、据通过某个自治系统时,这种编号方式就十分有用了。或许,该网络管理员的网络完全可以访问这个自治系统,但由于它可能是由竞争对手在管理,或是缺乏足够的安全机制,因此,可能要回避它。通过采用路由协议和自治系统编号,路由器就可以确定彼此间的路径和路由信息的交换方法。同时,作为 AS 自治区域间的路由协议,由于政治的、经济的等原因,BGP 需要按照不同的路由的属性控制路由的发送和引入。因此,BGP 有丰富的路由策略控制手段。自治系统的编号范围是 1 到 65535,其中 1 到 64511 是注册的因特网编号,64512 到65535 是专用网络编号。1.4 BGP 路由传递 BGP 系统作为应用层协议运

11、行在一个特定的路由器上。系统初启时通过发送整个 BGP路由表交换路由信息,之后为了更新路由表只交换更新消息(update message)。系统在运行过程中,是通过接收和发送 keep-alive 消息来检测相互之间的连接是否正常。发送 BGP 消息的路由器称为 BGP 发言人(speaker),它不断的接收或产生新路由信息,并将它广告(advertise )给其它的 BGP 发言人。当 BGP 发言人收到来自其他自治系统的新路由广告时,如果该路由比当前已知路由好、或者当前还没有可接受路由,它就把这个路由广告给自治系统内所有其它的 BGP 发言人。一个 BGP 发言人也将同它交换消息的其它的

12、BGP 发言人称为同伴( peer),若干相关的同伴可以构成同伴组( group)。一般情况下一条路由是从自治系统内部产生的,它由某种内部路由协议发现和计算,传递到自治系统的边界,由自治系统边界路由器(ASBR)通过 EBGP 连接传播到其它自治系统中。路由在传播过程中可能会经过若干个自治系统,这些自治系统称为过渡自治系统。如:AS5。若这个自治系统有多个边界路由器,这些路由器之间运行 IBGP 来交换路由信息。这时内部的路由器并不需要知道这些外部路由,它们只需要在边界路由器之间维护 IP连通性。如:AS2、AS3 、AS4。路由到达自治系统边界后,若内部路由器需要知道这些外部路由,ASBR

13、可以将路由引入内部路由协议。外部路由的数量是很大的,通常会超出内部路由器的处理能力,因此引入外部路由时一般需要过滤或聚合,以减少路由的数量,极端的情况是使用默认路由。还有一种自治系统称为 Stub AS,如:AS1、AS6、AS7。其内部只有一个 ASBR 通过 EBGP 连接外部,同外部其他 AS 的通信要靠过渡自治系统来转接。对一个具体的 ASBR 来说,其路由的来源有两种:从对等体接收的或者从 IGP 引入的。对于接收的路由,根据其属性(如 AS 路径、团体属性等)进行过滤,并设置某些属性(如本地优先、MED 值等),之后若需要的话,将具体的路由聚合为超网路由。BGP 可能从多个对等体收

14、到目的地相同的路由,根据规则选择最好的路由并加入 IP 路由表。对于IGP 路由,则要经过引入策略的过滤和设置。BGP 发送优选的 BGP 路由和引入的 IGP 路由给对等体。1.5 BGP 的两种邻居 BGP 在路由器上以下列两种方式运行:IBGP(Internal BGP)EBGP(External BGP)如果两个交换 BGP 报文的对等体属于同一个自治系统,那么这两个对等体就是 IBGP 对等体(Internal BGP) ,如 RTB 和 RTD。如果两个交换 BGP 报文的对等体属于不同的自治系统,那么这两个对等体就是 EBGP 对等体 (External BGP ) ,如 RTA

15、 和 RTB。虽然 BGP 是运行于自治系统之间的路由协议,但是一个 AS 的不同边界路由器之间也要建立 BGP 连接,只有这样才能实现路由信息在全网的传递,如 RTB 和 RTD,为了建立AS100 和 AS300 之间的通信,我们要在它们之间建立 IBGP 连接。IBGP 对等体之间不一定是物理上直连的,但必须保证逻辑上全连接。(TCP 连接能够建立即可)。为了 IBGP 对等体路由通告的可靠性,我们一般都是采用 loopback 接口建立IBGP 邻居关系,同时必须指定路由更新报文的源接口。peer group-name | peer-address connect-interface

16、interface-name一般的路由器(包括 Quidway 系列路由器)都默认要求 EBGP 对等体之间是有物理上的直连链路,同时他们一般也提供改变这个缺省设置的配置命令。允许同非直连相连网络上的邻居建立 EBGP 连接。peer group-name | peer-address ebgp-max-hop ttl 1.6 BGP 路由通告原则 BGP 的路由通告原则:多条路径时,BGP Speaker 只选最优的给自己使用;BGP Speaker 只把自己使用的路由通告给相邻体;BGP Speaker 从 EBGP 获得的路由会向它所有 BGP 相邻体通告(包括 EBGP 和 IBGP);连接一建立,BGP Speaker 将把自己所有 BGP 路由通告给新相邻体。这些通告原则都是 BGP 的设计者在设计 BGP 路由协议时硬性规定的几条原则中比较容易理解的。主要是结合前两条,即为:BGP Speaker 只把最优路由通告出去在实际运用中,可能会疏忽。1.7 BGP

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 商业合同/协议

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号