边界网关协议学习指引( 六 )


引入这个约束后 , 即使不携带AS-PATH属性 , 路由在AS内部的自环也解决了 。但引入了这样一条规则后 , 又出现了一个概念:内部对等体 。
所谓内部对等体 , 就是AS内部运行扩展RIP协议并建立TCP连接的路由器两两之间的一种关系 。而前面介绍的外部对等体 , 却是AS之间运行扩展RIP协议并建立TCP连接的路由器两两之间的一种关系 。
在这条规则的约束下 , 要求AS内部扩展RIP协议对等体之间必须建立全网状的TCP连接 。
& 本部分有下列要点:
1、在AS内部 , 我们的扩展RIP在通告路由的时候并不修改AS-PATH属性 , 这样为了避免自环 , 我们严格限制AS内部路由器从内部对等体获得的路由不向任何内部对等体通告(但可以向外部对等体通告) , 这样为了达到整个AS内路由的同步 , 要求AS内所有运行扩展RIP协议的路由器建立全网状连接 。
到此为止 , 我们已经介绍了外部对等体和内部对等体 , 下一跳属性 , AS-PATH属性等概念 , 在以后的介绍中我们将直接引用这些概念 , 希望没弄明白这些概念的读者再回过头去看一下这些概念的含义和产生的背景 。在没弄明白这些概念的情况下 , 看后面的内容将很困难 。
2.5 需求之五—出口流量控制(一)
在某些情况下 , 一个ISP可能通过两条高速链路连接两个大的ISP作为自己到INTERNET的出口 , 如下图所示:
在这种情况下 , ISP0怎样把流量均衡的分布在到ISP1和ISP2的链路上就是一个问题 。假设INTERNET上有这样两条路由:210.52.83.0/24(在后面的介绍中以83代表)和210.52.82.0/24(在后面的介绍中以82代表) , 我们的目标是使到网络83的流量分布在到ISP1的链路上 , 而到网络82的流量分布在到ISP2的链路上 。
分析ISP0内部网络结构 , RT3 , RT4和RT5之间分别两两建立TCP连接来构成扩展RIP内部对等体关系 , 而RT3和RT4分别和位于ISP1和ISP2的路由器建立扩展RIP外部对等体关系 。这样路由器RT3和RT4都会从自己的外部对等体连接中接收到82和83这两条路由 , 而且RT3和RT4也会通过内部对等体关系从对方获得82和83这两条路由 。由此可以看出 , RT3和RT4分别有两个来源获得82和83路由 , 这样我们要达到上述要求 , 只需要在RT3和RT4上忽略适当的来源即可 。
假设我们在RT3路由器上只安装从外部对等体获得的82路由 , 而忽略83路由 , 只安装从内部对等体RT4获得的83路由 , 而忽略82路由 , 同样的道理 , 在RT4上我们只安装从外部对等体获得的83路由 , 忽略从外部对等体获得的82路由 , 只安装从内部对等体RT3获得的83路由 , 而忽略82路由 , 这样就可以达到要求了 。
那么我们怎样做到这一点呢?答案还是给路由附加适当的属性 。在这里 , 我们给路由附加一种称为本地优先(LOCAL-PREF)的属性 , 增加了这种属性后 , 假如路由器接收到了同样的一条路由 , 则根据本地优先属性来选择安装哪条路由(所谓安装 , 就是选择合适的路由并加入路由表 , 作为转发数据之用) 。
引入这个属性后 , 在RT3上 , 当从ISP2获得路由82和83的时候 , 给83赋予本地优先属性100 , 而给82赋予本地优先属性50 , 同样的道理 , 在RT4上 , 当从ISP2获得路由82和83的时候 , 给82赋予本地优先属性100而给82赋予本地优先属性50 。这样本地优先属性会跟其它属性(比如下一跳 , AS-PATH)一起传输给其他内部对等体 , 这样当其他内部对等体假如从两个地方接收到了同一条路由 , 则首先选择本地优先数值高的安装 。
由此可见 , 引入本地优先属性后 , 上面的问题解决了 , 但读者可能还有一个疑点 , 那就是从外部对等体来的路由其本地优先属性怎么设置 。在这里我们需要注重的是 , 本地优先属性只对AS内部有效(即仅仅对内部对等体有效) , 假如跨越了AS , 则本地优先属性一律设置为0 , 由此可以看出 , 在路由器通过外部对等体连接把路由通告出去的时候 , 首先把本地优先属性清空 。

推荐阅读