电脑技术学习

双核心星形结构IP城域网的路由规划与配置实践

dn001

  多核心,尤其是双核心的星形(以下简称双星)网络拓扑结构因为其许多优点,成为多数城域宽带IP网络的首选拓扑结构。因此,双星形结构的路由规划在城域网的建设中,显得尤为重要。
  一、 双星形拓朴结构概述
  双星形的结构综合了单星形结构和网状结构的优点,即节省了链路,又能起到网状结构的路由冗余与备份的作用。它一般分为核心层、分布层、接入层三个层面,一个典型的双星形结构如图一:
   
  图 中,核心层设计两个节点,分布层五个节点,接入层可以是N个节点。核心节点做为城域网骨干,也是城域网出口,两个节点设计有链路互连;分布层节点设计五个,每个节点均以双链路与两个核心之间互连,接入层节点设计多个,每个节点可以有一条或两条链路连到一个分布节点。这样的设计,使核心设备可以高速转发数据包,并保持路由冗余;分布层节点汇接接入层流量并做策略控制,接入层就是接入用户以及其它一些设备。 
  二、 路由协议的选择
  在宽带IP城域网的建设中,IP路由的规划应当参照Internet骨干路由的方法进行设计,对于双星形结构来说,可以在内部路由采用OSPF v2,对于外部路由采用BGP4。内部路由在层次上可以分为两层:骨干路由层和接入层。
     骨干路由层原则上采用OSPF v2,OSPF v2是由RFC1583定义,适用于自治域内的路由规划,有较强的域内路由分区和负载分担的功能,更重要的是它是一种开放的标准,各种厂家的设备均支持,不必担心不同厂家设备之间的路由协议的兼容问题。
  接入层路由一般采用静态路由,只有在用户的网络确实需要采用动态路由协议时才分情况采用OSPF或BGP。
  外部路由协议采用BGP4协议。BGP4是边界网关协议,适用于独立的自治域治理系统,有很强的策略路由和流量控制,路由过滤的功能.国内大多数IP网络的骨干网协议均选用BGP4。
  
  三、城域网外部路由的规划设计
  对于双星形结构的城域网络来说,BGP4协议是整个城域网的外部路由协议,它担负着与骨干BGP4协议的互通,广播城域网路由,学习外网路由,路由过滤,流量控制,路由广播等功能.双星结构的城域网原则上应该独立运行于一个自治域,拥有独立的自治域号,也可与省网骨干共同运行于同一个自治域。BGP4的功能大部份厂家的设备都支持。下面以Cisco设备为例来说明. 
  两个核心路由器之间运行IBGP,互相学习对方从外网学来的BGP路由,与外网运行EBGP,各自学习相应的BGP路由。有条件的话,双核心应与不同的出口设备互连,做为路由备份,如图二。
  
  
  1、 路由的过滤与广播
  BGP运行以后,如何广播城域网内部路由是一个很重要的问题。广播路由主要有两种方法。
  a)向BGP中自动注入OSPF路由,使用Redistribute OSPF命令;
  b)在双核心上配置相应的广播路由,OSPF路由不注入BGP路由,而是广播什么路由就配置什么广播路由,使用NETWORK X.X.X.X命令。
  第一种方法配置简单,但是由于内网路由的复杂性,可能会广播一些不应该广播的内网路由,从而影响外网的路由的稳定性,同时,也比较耗费路由器资源。
  第二种方法配置语句较多,但是可以很好的控制路由的广播,做到内网广播的路由过滤,同时,比较节省路由器资源。更进一步,通过路由总结,可以只向外网广播汇聚路由,减少骨干网络上的路由数目,有利于整个骨干网络的稳定性。 
  2、 流量控制
  城域网流量全部由双核心出口出去。为了充分利用双链路,可以利用BGP4的LOCAL PREFERENCE 属性,设置出口流量控制策略,使双出口链路的带宽得到充分利用,最优化出口流量分布。而且,对于一些多核心的网络,流量控制更加显得重要。
  3、 使用LOOPBACK地址
  对于运行IBGP的双核心来说,在向邻居宣告其邻居关系时,应该使用LOOPBACK地址,而不是相邻接口地址,这样,当对应接口链路发生故障时,LOOPBACK地址仍然可达,使BGP邻居关系仍然能够形成,可以使用Update-source子句。
  4、 对于BGP同步规则的处理
  因为双星形结构的非凡性,在双星之间有直达链路,因此,一般不要求BGP的同步规则。但是,假如城域网不是单独运行在一个自治域内,而是还有别的IBGP邻居,并且可能会转发其它自治域的流量,则应该要求同步规则,在BGP协议的配置段中使用Synchronization语句。对于多核心的网络,一般均要求同步规则。
  一个配置实例如下:
  router bgp 100
  no synchronization
  network 200.100.0.0 mask 255.255.224.0
  network 200.100.32.0 mask 255.255.224.0
  network 200.150.0.0 mask 255.255.192.0
  aggregate-address 200.100.0.0 255.255.224.0 summary-only
  aggregate-address 200.100.32.0 255.255.224.0 summary-only
  aggregate-address 200.150.0.0 255.255.192.0 summary-only
  neighbor 200.100.0.18 remote-as 200
  neighbor 200.100.0.18 description "MAN EXIT 1"
  neighbor 200.100.0.18 update-source Loopback0
  neighbor 200.100.0.18 route-map local-pref in
  neighbor 200.100.0.18 filter-list 1 out
  neighbor 200.100.0.17 remote-as 300
  neighbor 200.100.0.17 description "MAN EXIT 2"
  neighbor 200.100.0.17 update-source Loopback0
  no auto-summary
  route-map local-pref permit 10
  set local-preference 300
  
  四、城域网内部路由规划设计
  
  1、 路由分区的规划
  无论是多星还是双星型结构的城域网结构来说,都应根据路由器数量,网络的基本拓扑,路由器的负载等来合理规划路由区域。对于双星型结构的网络,毫无疑问,将双核心设计为骨干路由区域,即AREA 0,负责高速,稳定的转发数据包。对于各个汇接区,经过合理规划,将每个汇接区设计为一个单独路由区域。汇接层路由器设计成区域边界路由器。各个汇接区域内接入路由器设计成域内路由器,也运行OSPF协议。见图二。
  2、 IP地址规划与路由汇总的应用
  对于每个汇接区域内的OSPF 区域来说,由于边界路由器负责向骨干区域内注入区域内的路由,许多路由将会是非常零散的小路由,这样,轻易造成AREA 0内的路由器路由表项过大,使路由器资源耗费过大,路由收敛时间增大,影响城域网络的稳定性和健壮性。因此,解决这个问题的最好方法是在边界路由器上做汇接区域内的路由汇总。使注入到零域内的路由是一个个较整洁的汇总路由,大大减少了路由表数目。但是,这就要求进行城域网规划时,合理规划IP地址,为每个汇接区域分配连续的,大段的IP地址,只有这样,才可以更好利用OSPF的特性,使城域网络的路由规划更合理,使网络更健壮。
  3、 接入用户路由的注入
  对于各个接入层交换机来说,由于许多最终用户将直接接到这个交换机上,这样将会产生许多最终用户的路由,对于这些路由的域内广播可以有两种方法:
  a)将这些路由做为OSPF内部路由来广播,需单独配置,比较繁琐, 
  b)将这些路由做为外部路由来广播,使用Redistribute Connect和Redistribute Static语句。这种方法只需配置一次,比较简单,且将来网管人员定义方便。
  对于城域网来说,采用第二种方案比较合理
  4、 NSSA路由区域的应用
  对于双星形结构的网络来说,由于每个域只有一个汇接层路由器做为出口,按照普通的路由区域,则域内路由器不但学到了域内的路由,还学到了许多域间路由,路由表项还可以进一步减少。传统的做法是每一个路由区域做为stub区域,但是如前所述,每一个汇接层路由区域是一个单独的路由区域,有许多用户路由做外部路由注入, 所以不可以做为STUB域,但是可以设计成NSSA(Not So Stub Area)。NSSA区别于STUB的地方在于NSSA可以答应外部路由以7类LSA注入到OSPF区域,最后由边界路由器转化为5类LSA注入到OSPF AREA 0 内。同时域内的路由器可以不学习域间路由,只用一条默认路由指向边界路由器。大大减少了路由条目,使用AREA X NSSA语句。
  5、 网内默认路由的产生
  城域网的全网出口是由双核心出去,对于每个路由器配置默认路由很不现实。因此,可以在双核心路由器上产生默认路由,通过OSPF广播到全部城域网内的路由器,使每个路由器可以自学习默认路由。使用Default-information originate语句。
  6、 动态接入路由的设计
  由于用户接入路由关系到全网的安全性和稳定性,从这方面的因素考虑,建议接入层路由只提供静态路由,然后将静态路由重分布(Redistribution)到OSPF的路由表中。这样可以最大限度的保证网络的安全性和保持整个系统路由的稳定性。只有在用户的网络确实需要采用动态路由协议时才分情况采用OSPF或BGP,例如用户网络到城域网间存在多条链路,为了提供自动故障恢复功能,可以采用OSPF路由协议;假如该用户同时还连接到其它ISP(multihome),可能需要采用BGP协议予以解决。
  一个简单的配置实例如下:
  Router OSPF 100
  network 200.100.0.16 0.0.0.240 area 0
  network 100.200.200.128 0.0.0.240 area 1
  network 100.100.100.128 0.0.0.240 area 1
  area 1 nssa 
  area 1 nssa default-information originate
  area 1 range 60.150.231.0 255.255.255.0
  redistribution connected
  redistribution static
  Default-information originate
  小结:
  城域网的内部不适合进行OSPF与BGP路由之间的相互注入,而是应采用OSPF默认路由指向核心,再由核心路由器对内网路由进行BGP路由广播,使外网可以学习城域网内路由,同时,保证了外网的稳定性。本文主要针对双核心的星形结构的宽带IP城域网的路由规划设计与配置进行了讨论,实际上,对于多核心的星形结构本文所做的讨论同样适用,但是在一些细节方面较复杂一些。