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

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

[复制链接]

1023

主题

3

听众

359

积分

设计实习生

Rank: 2

纳金币
335582
精华
0

最佳新人

跳转到指定楼层
楼主
发表于 2011-9-3 08:42:09 |只看该作者 |倒序浏览
7. 支持路由策略的必备集合

  

  BGP策略以配置信息的形式实现。该信息不直接编入协议。因此,BGP可以提供非常复杂的路由策略。但是,并不要求所有的BGP实现支持这些策略。

  我们不试图将路由策略标准化使其适用于每个BGP实现,强烈鼓励所有的实现支持如下的路由策略集:

  1. BGP实现应允许一个AS控制向相邻AS广播由BGP学习来的路由。实现还应支持对地址前缀大小的控制。实现还应支持对自治系统大小的控制,不管该自治系统是起源,还是邻居。如果某路由对某外部对等体按上述控制声明,则需注意该路由不能向那个对等体通告。特别地,本地系统必须明确向那个对等体通告,该路由现在不可用。

  2. BGP实现应允许一个AS对某条路径优先考虑(当存在多条可用路径时)。实现至少具备以下相同功能,允许管理者对来自邻居的路由设置优先级。优先级的大小应在0到2^(31)-1之间。

  3. BGP实现应允许一个AS忽略某些在AS_PATH属性中存在特定AS的路由。该功能的实现,可以使用[2]中说明的技术,设置这些AS的"weight"为"infinity"。路由选择过程必须忽略那些"weight"为"infinity"的路由。

  

  8. 与其他外部路由协议的关系

  

  本部分建议的指导方针与[3]中陈述的指导方针一致。

  一个AS应通告它内部目标网络的最小聚合及与实际使用的地址空间的关系。这可以被非BGP-4的AS的管理者用来决定从某条聚合路由可以解聚出多少路由。

  一个携带ATOMIC_AGGREGATE路径属性的路由,不应传递于BGP-3或EGP2,除非这种传递不出现路由NLRI的解聚。

  

  8.1 与EGP2交换信息

  

  本文档对于BGP-4与EGP2间的路由信息交换,建议如下方针。

  为过渡顺利,一个BGP发言人EGP2和BGP-4都可以参与。因此,一个BGP发言人接收IP可达性信息,可能产自EGP2,也可能产自BGP-4。由 EGP2产生的信息,将ORIGIN路径属性设为1后,可插入BGP-4。同样地,由BGP-4产生的信息也可以插入EGP2。但是,第二种情况,当从 BGP-4接收来的IP前缀代表连续的A/B/C类网络集合时,应清楚潜在的解聚信息。由BGP-4接收的NLRI代表IP子集,插入时,要求BGP发言人将相应的网络插入EGP2。本地系统将提供控制EGP2与BGP-4之间可达性信息交换的机制。特别地,当把来自BGP-4的可达性信息插入EGP2 时,一个一致实现要求支持所有如下选项:

  -插入默认的(0.0.0.0),不传递其他NLRI

  -允许受控的解聚,但只对特定路由;

  -允许传递非聚合的NLRI

  -允许只传递非聚合的NLRI

  在一个参与BGP-4的BGP发言人和一个单纯的EGP2发言人之间以EGP2交换路由信息的情况,只可能发现在域(自治系统)边界。

  

  8.2 与BGP-3交换信息

  

  本文档对于BGP-4与BGP-3间的路由信息交换,建议如下方针。

  为过渡顺利,一个BGP发言人BGP-3和BGP-4都可以参与。因此,一个BGP发言人接收IP可达性信息,可能产自BGP-3,也可能产自BGP-4。

  一个BGP发言人可能按如下方式将来自BGP-4的信息插入到BGP-3。

  如果一条BGP-4路由的AS_PATH属性带有AS_SET路径段,那么,BGP-3路由的AS_PATH属性应为将此AS_SET段视作 AS_SEQUENCE段,最后的AS_PATH为单纯的一个AS_SEQUENCE。这个过程损失了set/sequence信息,但不影响预防路由回路,但可能影响策略,如果策略是建立在AS_PATH属性的内容或顺序上的话。

  把源自BGP-4的NLRI插入BGP-3,当从BGP-4接收来的IP前缀代表连续的A/B/C类网络集合时,应清楚潜在的解聚信息。由BGP-4接收的NLRI代表IP子集,插入时,要求BGP发言人将相应的网络插入BGP-3。本地系统将提供控制BGP-3与BGP-4之间可达性信息交换的机制。特别地,当把来自BGP-4的可达性信息插入BGP-3时,一个一致实现要求支持所有如下选项:

  -插入默认的(0.0.0.0),不传递其他NLRI

  -允许受控的解聚,但只对特定路由;

  -允许传递非聚合的NLRI

  -允许只传递非聚合的NLRI

  在一个参与BGP-4的BGP发言人和一个单纯的BGP-3发言人之间以BGP-3交换路由信息的情况,只可能发现在自治系统边界。在一个单独的自治系统内部,所有BGP发言人的会话必须要么是BGP-3,要么是BGP-4,不能是混合体。

  

  9. 在虚拟交换线路上的运作

  

  BGP使用在虚拟交换子网(SVC)上,被要求产生尽可能少的流量。特别地,可能被要求消除由周期性KEEPALIVE消息所产生的流量。BGP包含了一个机制,在虚拟交换线路(SVC)服务运作时,避免SVCs始终开启,允许它终止周期性KEEPALIVE消息的发送。

  本部分论述了如何在没有周期性KEEPALIVE消息的条件下,使用智能的SVC管理,使SVC使用最少。所提议的方案也适用于"永久"线路,"永久"线路支持类似链路质量监测的特性,或者可以显示请求来决定链路连接的状态。

  

  9.1 建立BGP连接

  

  通过在OPEN消息中设定Hold Time为0来实现

  

  9.2 线路管理器特性

  

  线路管理必须具备足够的功能来弥补周期性KEEPALIVE消息的缺失:

  -必须能够在失败发生的可预见的有限时间内,确定链路层的不可达性。

  -关于确定不可达性,应该:

   -开启一个配置死寂的计数器(与典型的保持计数器值相比)。

   -试图重建链路层连接。

  -如果死寂计数器终止,应该:

   -发送一个内部线路DEAD指示给TCP。

  -如果连接重建,应该

   -取消死寂计数器

   -发送一个内部线路UP指示给TCP。

  

  9.3 TCP特性

  

  TCP须做一点修改,来处理来自线路管理器的内部通告:

  -DEAD:清除发送队列,取消TCP连接。

  -UP:发送任何队列数据,或者允许向进程传递TCP调用

  

  9.4 混合特性

  

  一些应用可能无法保证BGP进程和线路管理器统一工作;也就是说,当一个停止或崩溃时,另一个仍独立存在。

  如果这是事实,在BGP进程和线路管理器之间周期性的双向握手就需要实现。如果BGP进程发现线路管理器死亡,它就关闭所有相关的TCP连接。如果线路管理器发现BGP进程死亡,它将关闭所有与BGP进程相关的连接,拒绝新连接。

10. 结论

  BGP协议为域间路由提供高度的控制和柔韧性,执行策略约束,避免路由回路。在此说明的指导方针为BGP使用提供了一个起点,随着BGP增长,它将提供更多高级和可管理的路由方法。

  

  附录A. BGP与IGP的关系

  

  本部分概述了BGP与IGP交换路由信息的方法。这些方法此处不提议作为标准BGP使用的一部分。这些方法仅是信息补充。应用在引入IGP信息时,可能需要考虑这些方法。

  这是适用于一般IGP的概述信息。

  BGP与某特定IGP的关系不在此部分讨论。特定IGP的方法应在其他文档论述,在将来应成为标准化用法。

  

  概论

  

  根据定义,所有过渡AS必须能运输那些源于或终于该AS的流量。这要求在BGP和那个特定AS使用的内部网关协议(IGP)之间具有一定的联系和协调。一般来说,源于外部AS的流量将同时穿越内部网关(只支持IGP)和边界网关(支持IGP和BGP)。所有内部网关都通过IGP从一个以上的边界网关那儿接收有关外部路由的信息。

  依靠在一个AS内传播BGP信息的机制,BGP和IGP之间的一致性须得到特别关注,因为状态的改变可能以不同的速度在AS 内传播。可能出现时间窗,两个时刻分别为:在某边界网关(A)从相同AS内的另一台边界网关(B)获取新的BGP路由信息;AS的IGP能够路由过渡流量到边界网关(B)。在这两个时刻之间,错误路由和"黑洞"均可能发生。

  为了尽可能减轻这个路由问题,在AS的所有内部网关准备好将目标为外部 IP 的流量发往正确出口边界网关(B)之前,边界网关(A)不应该向外部对等体广播那些通过边界网关(B)运往外部目标网络的路由。换句话说,内部路由须会聚一个合适的出口网关,然后才能广播通过该出口网关前往外部对等体的路由。

  

  A.2 实现稳定关系的方法

  

  下面的讨论概述了几个能实现在AS内BGP和IGP之间稳定关系的技术。

  

  A.2.1 通过IGP传递BGP信息

  

  BGP 提供自己的机制在AS内传递BGP信息,同样,只要IGP支持全部路由信息的洪泛(提供分散BGP信息的机制)和一条通路的会聚(使得机制有效原子化),就可以用来传输BGP信息。如果一个IGP用来传递BGP信息,前述的异步时间将不复存在,因为AS内部的BGP信息传递与IGP同步,IGP的会聚或多或少与新路由信息的到来同步。注意,IGP只运输BGP信息,不对其解析或处理。

  

  A.2.2 标记的内部网关协议

  

  当向外的路由在 AS内传递时,一定的IGP可以用它们的出口点给它们做标记。每个边界网关应使用同一的标记声明外部路由信息(通过BGP接收),不管这些路由信息是进入 IGP还是传递到其他的内部对等体(拥有相同AS号的对等体)。边界网关产生的标记必须唯一对应那个特定的边界网关——不同的边界网关必须使用不同的标记。

  在一个AS内的所有边界网关必须遵守如下两条规则:

  1. 如果边界网关A从内部对等体接收到信息声称某些目标网络不可达,则它必须向所有外部对等体传递该信息。

  2. 如果边界网关A从内部对等体接收到关于某些可达目标网络X的信息,则它必须拥有到X的IGP路由,而且IGP和BGP的路由信息都有对应标记,否则无法将这些信息传递到任何外部对等体。

  这些规则保证了除非IGP正确支持,否则不向外声明路由信息。它也可以部分避免"黑洞"。

  在AS内标记BGP和IGP的一种方法是使用出口边界网关的IP地址。这种情况下,BGP的UPDATE消息的"gateway"域将用作标记。

  

  A.2.3 封装

  

  封装为运输AS间过渡流量提供了最简单的机制(关于IGP和BGP的联系)。用这种方法,过渡流量封装在一个地址为出口网关的IP数据包内。这种方法对IGP的唯一要求是能够支持同一AS内边界网关间的路由。

  前往某些外部目标网络X的出口网关A的地址,通过A向同一AS内其他边界网关发送的BGP OPEN消息中的BGP标识符进行声明。为了路由流量到目标X,AS内的每个边界网关都封装流量到以网关A为地址的IP数据包。然后,网关A解封装,将原始数据包发送到外部AS的对应网关。

  因为封装不依靠IGP来运输外部路由信息,所以在BGP和IGP之间无需同步。

  一些方法用来标识包含封装IP的数据包,如用IP协议类型码,必须在使用前定义。

  注意,如果一个封装后的数据包的长度非常接近MTU,这个数据包将被那个执行封装的网关分片。

  

  A.2.4 遍布的BGP

  

  如果一个AS内的所有路由器都是BGP发言人,那么就没有必要联系BGP和IGP。这种情况下,AS内的所有路由器拥有BGP路由的全部信息。IGP只用来在AS中路由,不再有BGP路由被导入成IGP。

  如果路由器按此方式工作,它们必须能够完成对路由表的循环查找。第一次查找将使用一条BGP路由来建立出口路由器,第二次查找将决定前往出口路由器的IGP路径。

  这种情形下,IGP不携带任何外部信息,所有BGP发言人一旦获得路由的新信息,该AS内的路由器将很快会聚。因为不存在为IGP的会聚延迟,一个应用能广播这些路由,而没有延迟。

  

  A.2.5 其他情况

  

  有些AS的IGP,可能既无法传输BGP信息,也无法标记外部路由(比如,RIP)。另外,封装可能不可行或不被接受。这些情况下,以下两条规则须被遵守:

  (1). 如果边界网关A从内部对等体接收到信息声称某些目标网络不可达,则它必须向所有外部对等体传递该信息。

  (2). 如果边界网关A从内部对等体接收到关于某些可达目标网络X的信息,则它必须拥有到X的IGP路由,而且有足够的时间使IGP路由会聚,否则无法将这些信息传递到任何外部对等体。

  以上规则只说明了传递BGP路由信息到其他AS的必要(但不充分)条件。与标记的IGP相比,这些规则不能保证,在传递路由到其他AS之前,到出口网关的内部路由存在。

  如果IGP会聚时间比某小值X还小,IGP和BGP不同步造成的时间窗也将小于X,那么,路由不稳定是异常短暂的,这个问题就可以忽略。至于这个X的合理取值,尚待研究,但至少应小于1秒。

  如果IGP会聚时间无法忽略,就需要不同的方法。适合这种情形的机制和技术尚待深入研究。
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

Asen    

867

主题

0

听众

1万

积分

外协人员

Rank: 7Rank: 7Rank: 7

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

回复

使用道具 举报

462

主题

1

听众

31万

积分

首席设计师

Rank: 8Rank: 8

纳金币
2
精华
0

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

板凳
发表于 2012-2-6 23:36:01 |只看该作者
佩服,好多阿 ,哈哈
回复

使用道具 举报

1023

主题

3

听众

359

积分

设计实习生

Rank: 2

纳金币
335582
精华
0

最佳新人

地板
发表于 2012-3-7 23:21:17 |只看该作者
水……生命之源……灌……
回复

使用道具 举报

tc    

5089

主题

1

听众

33万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

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

5#
发表于 2012-3-15 23:29:47 |只看该作者
加精、加亮滴铁子,尤其要多丁页丁页
回复

使用道具 举报

   

671

主题

1

听众

3247

积分

中级设计师

Rank: 5Rank: 5

纳金币
324742
精华
0

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

6#
发表于 2012-3-18 23:32:10 |只看该作者
谢谢楼主,真是太实用了
回复

使用道具 举报

5969

主题

1

听众

39万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

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

7#
发表于 2012-4-4 23:32:52 |只看该作者
灌水。。。
回复

使用道具 举报

5969

主题

1

听众

39万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

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

8#
发表于 2012-5-12 23:18:53 |只看该作者
不错哦,顶一下......
回复

使用道具 举报

1023

主题

3

听众

359

积分

设计实习生

Rank: 2

纳金币
335582
精华
0

最佳新人

9#
发表于 2012-8-5 00:03:07 |只看该作者
加精、加亮滴铁子,尤其要多丁页丁页
回复

使用道具 举报

tc    

5089

主题

1

听众

33万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

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

10#
发表于 2012-8-8 23:49:22 |只看该作者
其实楼主所说的这些,俺支很少用!
回复

使用道具 举报

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

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

GMT+8, 2025-6-27 05:21 , Processed in 0.086898 second(s), 29 queries .

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

© 2008-2019 Narkii Inc.

回顶部