12 第1页 | 共2 页下一页
返回列表 发新帖
查看: 1853|回复: 11
打印 上一主题 下一主题

BGP(边界网关协议) (上)

[复制链接]

1023

主题

3

听众

359

积分

设计实习生

Rank: 2

纳金币
335582
精华
0

最佳新人

跳转到指定楼层
楼主
发表于 2011-9-3 08:40:13 |只看该作者 |倒序浏览
1. 介绍

  BGP是自治系统间的路由协议。BGP交换的网络可达性信息提供了足够的信息来检测路由回路并根据性能优先和策略约束对路由进行决策(要点见RFC 1104[2])。特别地,BGP交换包含全部AS path的网络可达性信息,按照配置信息执行路由策略。

  

  随着近年来互联网的进步和增长,它也不得不面对一些严重的规模问题,包括:

  -B类网络地址空间的耗尽。该问题的主要原因之一,是缺少适于中型组织的中等大小的网络;C类网络,最多拥有254个主机地址,实在太少,而B类网络允许最多65534个地址,却又太大无法充分使用。

  -互联网路由器中路由表的增长使目前的软件(和人们)无法有效管理。

  -32位IP地址空间的耗竭。

  

  很明显,前两个问题和最后一个问题可能分别在今后一两年内和三年内变得急迫。无类别域间路由(CIDR)试图解决这些问题,设计相应机制来降低路由表和对新IP网络分配需求的增长速度。它并没有解决更具长期性的第三个问题,而是努力让近期问题推迟使得互联网仍能有效运作,同时着手远期的解决方案。

  BGP-4对BGP-3做了扩展,支持路由信息的聚合及基于无类别域间路由体系(CIDR)[3]的路由减少。本备忘录论述了BGP-4在互联网中的应用。

  

  本文档的所有讨论基于如下假设:互联网是一些随意连接的自治系统的集合。也就是说,互联网可以建模成一张一般的网络图,图上节点是AS,边是每对AS间的连接。

  自治系统的经典定义是,一组路由器在统一管理之下,在AS内使用内部网关协议和统一度量来路由数据包,而通过外部网关协议将数据包路由到其他AS。该经典定义尚在发展,一些AS在其内部使用多种内部网关协议和度量。在此,强调一下自治系统在本文档中的含义,即使它采用多种IGP和度量,它的管理区别于其他 AS,其内部路由是一致的,当路由穿越它时,它在图上视作一个节点。

  每个AS由一个管理机构管理,至少在外部看来它代表着该系统的路由信息。

  

  2. BGP拓扑模型

  

  当我们说一个在两个AS之间的连接时,意味着两件事:

  物理连接:两个AS之间存在一条共享的数据链路子网,并且在该子网上,每个AS至少有一台自己的边界网关路由器。因此,每个AS的边界网关路由器可以转发数据包到其他AS的边界网关路由器,无需借助于AS内到AS间的路由。

  BGP连接:在各个AS的BGP发言人之间有一个BGP会话进程,通过会话沟通路由,经过声明的AS到达某目标网络。

  

  本文档中,我们对构成BGP连接的BGP发言人加以额外限制:他们必须是自己直接共享数据链路子网。因此,相邻AS间的BGP会话无需AS内或AS间的路由。超出本文范围的案例可能与该限制不符。

  因此,在每个连接中,每个AS拥有一个以上的BGP发言人和边界网关路由器,这些BGP发言人和边界网关路由器分布在共享数据链路子网上。注意到, BGP发言人不一定是边界网关路由器,反之亦然。一条连接上一个AS的BGP发言人声明的路径可以被同一个共享子网上其他AS的边界网关路由器使用,也就是非直接的邻居是允许的。

  一个AS内的流量,要么是源于该AS,要么是终于该AS(也就是说,IP数据包的源IP或目的IP在该AS内)。符合以上描述的流量称为"本地流量",否则称为"过渡流量"。BGP使用的主要目的是控制过渡流量。

  

  按照某AS如何处理过渡流量,AS可以分为以下几类:

  末端AS:只连接到一个其他AS。自然地,末端AS只运输本地流量。

  多宿主AS:连接到超过一个的其他AS,但不运输过渡流量。

  过渡AS:连接到超过一个的其他AS,可以运输本地和过渡流量。

  

  一个完整的AS path提供了有效和简捷的方式来避免路由回路、消除伴随距离向量算法的"计数到无穷"问题,因此,BGP没有对AS之间的连接拓扑加以任何限制。

  

  3. 互联网中的BGP

  

  3.1 拓扑学考虑

  

  互联网拓扑可以视作过渡AS、多宿主AS和末端AS的任意互连。为了尽可能减少对目前互联网结构的影响,末端和多宿主AS不一定要使用BGP。这些AS 可以运行其他的协议(比如,EGP)来与过渡AS交换网络可达性信息。使用BGP的过渡AS将对这些信息做标记,以表明其学习自BGP以外的方法。BGP 不一定运行于末端或多宿主AS,这就不会对源于或终于末端AS或多宿主AS的数据包的AS间路由质量产生负面影响。

  然而,仍然建议在末端和多宿主AS上使用BGP。在这些情况下,BGP相比其他目前使用的协议(比如EGP),可以提供更优的带宽和性能。另外,这将减少默认路由的使用,为多宿主AS的AS间路由提供更好选择。

  

  3.2 BGP的整体特性

  

  整体水平上,BGP用来在多个自治系统间传递路由信息。其信息流如下图示:

               +-----------+         +------------+

        BGP   |  BGP  |    BGP    |  BGP   |  BGP

                -------------------+     +--------------------------+     +----------

                |  IGP  |          |  IGP    |

               +------------+            +-----------+

  

             <-AS A-->           <--AS B->

  这张图表说明,在AS间只用BGP传输信息,而在AS内BGP和IGP均可以传输信息。确保AS内BGP和IGP间路由信息的兼容性,是一个重大问题,最后将在附录A中详细讨论。

  

  3.3 BGP邻居关系

  

  互联网视作随意连接的AS的集合。通过BGP直接连接的路由器就是BGP发言人。BGP发言人可以在同一AS内,也可以在不同AS内。每个AS的BGP 发言人互相通信,遵照每个AS建立的策略,交换网络可达性信息。对某BGP发言人,如果与其他BGP发言人通信而且那个BGP发言人在不同的AS,则那个其他 BGP发言人称为外部对等体,而如果在相同的AS内,则称为内部对等体。

  在一个AS内可以有许多BGP发言人并被认为是需要的。通常,如果一个 AS与其他AS有多个连接,则需要多个BGP发言人。所有BGP发言人代表着相同AS,对外保持统一形象。这就要求他们之间保持一致的路由信息。这些路由器可以通过BGP或其他方法互相通信。在同一AS内的所有BGP发言人的策略约束必须一致。一些技术,如使用带标记的IGP(参见A.2.2),可以用来探测可能的矛盾。

  对于外部对等体,对等体分别属于不同的AS,但共享同一数据链路子网。这共同的子网用来在对等体之间运输BGP信息。如果BGP使用通过一个干预的AS,则将使AS path信息无效。自治系统号必须在BGP中使用,用来标明BGP发言人所在的自治系统。

4. 路由聚合的需要

  

  当路由信息由各部分聚合时,一致的BGP-4实现需要对其声明。例如,一个在自治系统边界的BGP发言人必须能产生某目标IP集合的聚合路由(在BGP -4 术语中该目标IP集合称为网络层可达性信息,NLRI),在它基础上进行管理(包括路由器自身代表的地址),即使当这些地址不是同时全部可达的。

  

  当聚合的NLRI产生时,一致实现应能给予声明。

  当NLRI解聚合时,一致实现应能给予声明。

  当出现重叠路由时,一致实现应能支持如下选项:

  -安装聚合和详细的路由

  -只安装详细路由

  -安装聚合路由

  -均不安装

  

  一定的路由策略可能依赖于NLRI(比如,"研究"与"商业")。因此,一个运行路由聚合的BGP发言人,可能的情况下,应该能认知聚合NLRI时路由策略的潜在实现。

  

  5. BGP的策略生成

  

  BGP通过各种路由参数选择和约束,实现策略。策略并不直接编入协议。而是,策略通过BGP的配置信息来实现。

  

  BGP实现策略的途径有,影响从多条路径中的选择,控制路由信息的下步传递。策略由AS的管理者决定。

  

  路由策略与政治、安全或经济考虑有关。

  

  例如,如果一个AS不愿意将流量运输到其他AS,它可以制定策略来禁止。如下是一些能够改变BGP使用的路由策略的例子:

  1. 一个多宿主AS可以拒绝成为其他AS的过渡AS。(它只告知那些目标网络在自己AS内部的路由。)

  2. 一个多宿主AS可以指定成为几个相邻AS的过渡AS,也就是说,一部分而不是全部AS,可以把该多宿主AS作为过渡AS。(它只把它的路由信息告知被允许的AS。)

  3. 一个AS向外运输流量时,可以决定是否偏爱特定的AS。

  BGP应用可以控制许多性能相关的标准:

  1. 一个AS可以最少化过渡AS的数目。(AS path越短,越可能被采用。)

  2. 过渡AS的权重。如果一个AS决定,两个以上的AS path可以用来到达目标网络,那么,AS可以使用多种方法来决定采纳哪个候选AS path。一个AS的权重值由以下几个因素决定:径向距离,链路速度,容量,拥塞的趋势,和运行质量。这些性能值可以由BGP以外的方法决定。

  3. 优先考虑内部路由,而不是外部路由。

  

  为了一个AS的统一性,那些产自策略和/或正常路由选择过程的等值路径,必须以一致的方式解决。

  

  BGP的基础,是这样一个规则:一个AS只把自己使用的路由通知给相邻的AS。该规则反映了目前互联网常用的"一跳接一跳"的路由方式。

  

  6. BGP的路径选择

  

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

  BGP发言人构建的路由数据库,由所有可用的路径和每条路径可达的目标集合(表达为网络前缀)组成。为了达到前面讨论的目的,考虑目标网络所对应的可用路径,是有用的。大多数情况下,我们期望找到唯一一条可用路径。但是,当不是这样时,所有可用的路径应当保存,当主要路径缺失时,保存能以最快的速度适应,(产生新的主要路径)。任何时候,只有主要路径才会被广播。

  路径选择过程可以形式化为,对所有可用路径及相对应的目标IP,定义完整的优先级。定义这种优先级的一种方法,是定义一个函数,将每条完整的AS path映射成一个非负整数,用来表示该路径的优先级。路径选择于是简化为,将该函数应用到所有可用路径,再选择最高的优先级。

  在真实的BGP实现中,为路径分配优先级的标准在配置信息中说明。

  

  为路径分配优先级的过程源于以下几个信息:

  1. 整条AS path显示的信息

  2. 由AS path和BGP以外信息(比如,配置信息中的路由策略约束)引申出来的混合信息。

  

  为路径分配优先级的可能的标准为:

  -AS数目。AS越少,该条路径越好。

  -策略考虑。BGP对基于策略路由的支持,源于对分布式路由信息的控制。一个BGP发言人可能知道几条策略约束(包括自身AS的内外),进行合适的路径选择。不遵从策略要求的路径不被考虑。

  -某些AS是否在路径中存在。依靠BGP以外的信息,一个AS可以知道某些AS的一些性能特点(比如,带宽,MTU,AS间径向距离),然后选择偏爱程度。

  -路径起源。由BGP学习而来的整条路径(也就是说,路径终点与路径的上一个AS在BGP内部)相比那些部分学习自EGP及其他方法的路径,是更优的。

  -AS path子集。通往同一目的地,一个较长AS path的子集将受到偏爱。在该较短AS path中存在的任何问题都也是较长AS path的问题。

  -链路动态。稳定的路径比不稳定的路径更受欢迎。注意,这个标准应被小心使用,避免出现路由抖动。一般来说,任何依赖于动态信息的标准都可能引发路由不稳定,所以应谨慎对待。
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

Asen    

867

主题

0

听众

1万

积分

外协人员

Rank: 7Rank: 7Rank: 7

纳金币
17488
精华
1
沙发
发表于 2011-9-5 08:44:09 |只看该作者

回复

使用道具 举报

462

主题

1

听众

31万

积分

首席设计师

Rank: 8Rank: 8

纳金币
2
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2012-2-28 23:29:46 |只看该作者
这么后现代
回复

使用道具 举报

5969

主题

1

听众

39万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

地板
发表于 2012-3-10 23:31:35 |只看该作者
此地無銀。。。
回复

使用道具 举报

   

671

主题

1

听众

3247

积分

中级设计师

Rank: 5Rank: 5

纳金币
324742
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

5#
发表于 2012-3-13 23:27:49 |只看该作者
水。。。
回复

使用道具 举报

tc    

5089

主题

1

听众

33万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

6#
发表于 2012-5-17 23:20:07 |只看该作者
水……生命之源……灌……
回复

使用道具 举报

462

主题

1

听众

31万

积分

首席设计师

Rank: 8Rank: 8

纳金币
2
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

7#
发表于 2012-6-15 23:18:31 |只看该作者
不错哦,顶一下......
回复

使用道具 举报

1023

主题

3

听众

359

积分

设计实习生

Rank: 2

纳金币
335582
精华
0

最佳新人

8#
发表于 2012-6-17 23:20:31 |只看该作者
凡系斑竹滴话要听;凡系朋友滴帖要顶!
回复

使用道具 举报

tc    

5089

主题

1

听众

33万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

9#
发表于 2012-7-22 23:21:18 |只看该作者
心中有爱,爱咋咋地
回复

使用道具 举报

5969

主题

1

听众

39万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

10#
发表于 2012-12-6 23:26:39 |只看该作者
佩服,好多阿 ,哈哈
回复

使用道具 举报

12 第1页 | 共2 页下一页
返回列表 发新帖
您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-1-13 14:10 , Processed in 0.086246 second(s), 29 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部