BGP详解——边界网关协议(3)

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进程相关的连接,拒绝新连接。

 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值