《电子技术应用》
您所在的位置:首页 > 通信与网络 > 设计应用 > 跨校区路由解决方案的研究和实现?
跨校区路由解决方案的研究和实现?
2014年微型机与应用第14期
黄伟强,廖春盛,郑文栋
华南师范大学 网络中心,广东 广州
摘要: 分析了跨校区路由选择,根据各校区网络的实际应用情况,使用域间协议BGP,运用合理的路由策略,灵活过滤和选择跨校区间冲突的内部地址和私有地址,满足各校区自治网络不同应用需求,实现跨校区自治网络之间的互联,充分发挥了一校多区网络平台稳定高效的作用。
Abstract:
Key words :

  摘  要: 分析了跨校区路由选择,根据各校区网络的实际应用情况,使用域间协议BGP,运用合理的路由策略,灵活过滤和选择跨校区间冲突的内部地址和私有地址,满足各校区自治网络不同应用需求,实现跨校区自治网络之间的互联,充分发挥了一校多区网络平台稳定高效的作用。

  关键词: 跨校区;路由策略;OSPF;BGP;自治系统

  近年来高等教育得到快速的发展,我国高等教育由精英型教育向大众化教育转变,许多高校因校园面积有限,不能满足快速发展的需要而纷纷异地选址建设新校区。为了实现学校信息实时发布、资源共享互访,必须建立多个校区互联的网络平台。多校区网络建设的投入不是一次性的,而是根据应用和技术的不断发展,需要不断投入。因此,网络的建设不可能一步到位,刚开始时校区间网络互联可能只是通过简单的链路连接、简单的路由设置实现互联互通。随着信息应用和网络技术的发展、网络投入的不断增加,就需要进行适当的调整,通过合理的路由策略实现多校区之间的高速安全互联互通,充分发挥网络平台稳定高效的作用。

  1 跨校区网络互联分析

  跨校区之间的互联可以使用静态路由、内部网关路由选择协议OSPF(Open Shortest Path First)和外部网关路由选择协议BGP(Border Gateway Protocol)。

  静态路由配置简单,网络寻址快捷,但当网络的拓扑结构或链路的状态发生变化时,需要手工修改路由配置,不能实时更新,而且静态路由只适合单路径路由,在链路或节点故障后,不能自动恢复正常的数据通信。网络的可靠性和稳定性很大程度上取决于出现链路或节点故障后,路由协议可以重新计算并获得可用路径所需的响应时间。双链路甚至多链路使用域内协议OSPF、域间协议BGP是多校区保证在链路或节点故障后,能及时自动恢复正常数据通信的主要手段。

  各校区由于网络建设的先后性形成不同的网络系统,每个校区根据建设情况部署了各自校区网络系统内的路由协议类型、路由策略和内部地址。每个校区内负责系统内的路由器间的连通性主要使用域内协议OSPF,但OSPF没有BGP强大的策略控制能力,不能灵活过滤和选择校区间冲突的内部地址和私有地址,因此实现各校区网络之间的连通,主要还是使用域间协议BGP。根据各校区网络的实际应用情况,灵活运用BGP不同种类的路径属性来实现各校区网络之间的策略路由,满足各校区自治网络不同应用的需求。

  2 BGP协议简介

  2.1 BGP基本概念

  (1)自治系统(AS):拥有同一选路策略,在同一技术管理部门下运行的网络系统,如大学、政府部门、企业和公司的网络,以及Internet服务提供者网络[1]。

  (2)BGP对等体:为了交换路由信息,在任意两个路由器之间建立起TCP连接,且用BGP来进行网络可达信息的交换,则这两个路由器叫作BGP对等体,也叫BGP相邻体。

  (3)iBGP和eBGP:如果两个交换选路信息的路由器同属一个自治系统,称为内部相邻体;如果分属不同自治系统,则称为外部相邻体。在一个自治系统中发送路由通告信息以传递自治系统内路由可达信息的协议称为iBGP;而向其他自治系统的邻居路由器发送通告信息,传递外部相邻体网络可达信息的协议称为eBGP。iBGP 和eBGP 会话路由决策过程是相同的, 唯一的区别是BGP收到iBGP 通告消息后决策得到的路由不会继续向自治系统内的其他BGP通告[2]。

  (4)BGP协议:BGP是用来连接网络中不同自治系统的路由选择协议,采用的是结合了距离矢量和链路状态的路径矢量的路由算法,在对等的实体交换路由信息时使用类似距离矢量的算法,而在建立网络拓扑关系图时则采用了类似链路状态的算法。结合两种算法的特点,达到减少信息传输量和降低处理复杂度的目的[3]。

  2.2 BGP的策略选择工作机制

  BGP用到的路由策略(route-policy)基本原理是通过route-map控制BGP路由属性,或者定义路由再分配的条件,从而实现BGP根据需要选路的目的。

  通过定义路由重分配的条件来影响BGP的选路也叫路由过滤,通常路由过滤可以采用以下4种方法:

  (1)distribute-list,用于过滤由ACL定义的路由。

  (2)route-map,与distribute-list一样,用于过滤ACL定义的路由,与修改路由属性方法不同的是它通常不需要有set关键字。

  (3)prefix-list,用于过滤由ip prefix-list定义的路由。

  (4)filter-list,用于过滤由ip as-path access-list定义的路由。

  2.3 BGP特点

  (1)支持无类别域间选路CIDR(Classless Inter Domain Routing),可以有效减少日益增长的路由表[7]。

  (2)具有丰富的路由策略,BGP通过自治系统边界的路由器加上一定的策略,选择过滤路由,可以把RIP、OSPF、BGP等的路由重新分发到对方。

  (3)使用TCP作为传输协议,保证了数据传输的可靠性。

  (4)支持路由聚合、路由过滤等[4]。

  3 跨校区路由解决方案

  以两个校区为例,校区A与校区B之间通过静态路由建立两个校区的连接,跨校区连接部署如图1所示。

001.jpg

  单条链路链接两个校区,不具备网络故障瞬时恢复的能力,在链路(或节点设备)等引发网络故障后,需要等待链路恢复或人工路由重新配置才能恢复两个校区正常的数据通信。在具备多条链路链接条件下,使用域内协议OSPF、域间协议BGP是多校区保证在链路或节点故障后,能及时自动恢复正常数据通信的主要手段[5-6]。

  各个校区内部核心设备都广泛使用OSPF来承载各校区内部的路由。BGP由于其自身的灵活性和丰富的路由策略机制,使得跨校区路由使用外部网关路由协议BGP来控制校区间的路由的传播和最佳路径选择成为跨校区核心网网络规划和优化工作的主要内容。

  根据前面BGP的基本概念,可以把同一个校区管理的一系列路由器和网络看成一个自治系统,校区内部的所有路由器通过OSPF不断交换路由信息来保持相互的内部连通性。每个校区可以被赋予一个自治系统编号,号码由私有编号来定义。在这里定义校区A为BGP1,校区B为BGP2,两个校区边界路由设备启用BGP,通过两条路径携带各自校区路径信息以及BGP路由通告原则,解决校区之间网络互联与校区内部的路由环路问题。

  由于各校区网络建设的先后性,各个校区都按照校区需求对私有地址进行了规划和使用,为了避免私有地址路由条目进入到其他校区自治域内,需过滤掉可能重复的私有地址,重发布公有地址。根据BGP用到的路由策略,在跨校区BGP策略部署中使用route-map,定义route-map采用route-map关键字,关联一个自定义的参数。在一个route-map下定义多个序列,用十进制的序列号来表示,用route-map在各校区重发布自治域路由时,关联一个已经定义好的route-map,通过创建多个序列号语句,进而对不同的路由设置不同的属性和动作。

  以校区A的A-RG8610为例进行BGP路由设置:

  access-list 127 permit ip host 10.0.0.0 host 255.0.0.0

  access-list 127 permit ip host 172.16.0.0 host 255.240.0.0

  access-list 127 permit ip host 192.168.0.0.0 host 255.255.0.0

  access-list 128 permit ip any 10.254.0.0 0.0.255.255

  //创建两个ACL,分别匹配需要过滤的路由和允许的路由

  route-map filter deny 10

  match ip address 127

  //当路由匹配ACL127时拒绝发布

  exit

  route-map filter permit 20

  match ip address 128

  //当路由匹配ACL128时重发布

  route-map filter permit 30

  //由于route-map末尾隐含deny any、多条match语句时

  使用逻辑and运算,因此加上这句,对不匹配ACL127和

  ACL128外的其他情况重发布

  exit

  router bgp 1

  //启动BGP

  no synchronization

  bgp log-neighbor-changes

  no auto-summary

  neighbor 10.10.0.1 remote-as 1

  //与同一校区A建立自治域1

  neighbor 10.10.0.1 description A-Cisco7609

  //与同一校区的A-Cisco7609路由设备

  建立内部相邻体关系

  neighbor 10.10.0.6 remote-as 2

  //与另外校区B建立自治域2

  neighbor 10.10.0.6 description B-RG-8610-1

  //与校区B的B-RG-8610-1路由设备

  建立外部相邻体关系

  network  10.10.0.2 mask 255.255.255.252

  network  10.10.0.5 mask 255.255.255.252

  redistribute ospf 1 match internal external 1 external 2

  //重发布校区A自治域

  exit

  router ospf 1

  redistribute bgp 1 subnets

  exit

  通过show ip bgp查看跨校区的路由:

  RG8610#show ip bgp

  ……

  Network Next Hop Metric LocPrf Weight Path

  *10.254.0.0/16 10.10.0.2 0 0 0 2 1 i

  ……

  保留地址和专有地址没有出现在BGP路由表中,没有允许这些地址在两个校区间通告,而10.254.0.0 255.255.0.0和10.255.0.0 255.255.0.0出现在BGP路由表中,允许地址在两校区间通告。

  校区A和校区B加入BGP1和BGP2自治域的路由设备设置类同,最后形成双链路冗余负载、路由策略可控的跨校区互联网络,如图2所示。

003.jpg

  在目前多校区、多链路互联的高校网络模式下,使用域间协议BGP来实现各校区网络的互连互通是非常有效的方式。本文主要从技术和应用层面探讨BGP对路由信息的控制能力,启用策略选择机制,增加了校区间多链路冗余和流量负载分配,有效地防范了各校区自治网络系统的互相干扰和路由失效等路由故障,实现了各个校区灵活可靠的路由连通。下一步将考虑运用 BGP4+,这样既可以运行在IPv4网络上,也可以运行在IPv6网络上[7]。

  参考文献

  [1] 王洪君,王大东,梁海英,等.一种BGP路由配置错误动态检测方法[J].计算机工程,2006,32(14):81-103.

  [2] 李琦,徐明伟,吴建平.一种互联网的稳定路由选择策略[J].计算机学报,2012,35(12):2668-2675.

  [3] REKHTER Y.A border gateway protocol 4(BGP-4)[Z].RFC1771,March 1995.

  [4] 贾书娟,耿秋月.BGP协议研究及应用[J].无线电工程,2005,35(4):11-31.

  [5] Wang Feng,Mao Zhuoqing,Wang Jia,et al.A measurementstudy on the impact of routing events on end-to-end Internet path performance[C].ACM SIGCOMM Computer Communication Review,2006,36(4):375-386.

  [6] KUSHMAN N,KANDULA S,KATABI D.Can you hear me  now?!It must be BGP[J].ACM SIGCOMM Computer Comm-unication Review,2007,37(2):75-84.

  [7] 丁雪莲.互操作性测试研究-BGP4+测试[J].微型机与应用,2011,30(15):50-56.


此内容为AET网站原创,未经授权禁止转载。