唐宏,朱华虹,曹维华,邹洁
(中国电信股份有限公司广州研究院,广东广州510630)
摘要:针对l P骨干网路南规模大、路径多、重叠度高而易绕转的问题,在分析传统BGP路由选路机制缺陷的基础上,采用SDN控制技术,提出了一种支持传统路由没备和Open Flow设备的路由反射优化方法,并给出了具体实现算法及部署方案。典型应用场景的测试结果表明,罔际访问时延平均缩短了 30%,验证了方法的有效性。
关键词:软件定义网络;Open Flow;边界网关协议;Open Daylight
中图分类号:TN915.41doi: 10.11959/j.issn.1000-0801.2016112
1 引言
近年来,随着产业变革和新技术的发展,互联网迅速成为影响社会经济发展、改善人民生活品质的重要基石。互联网应用不断丰富,宽带用户数高速增长,尤其是“宽带中国”战略进一步促进了宽带网络能力的跃升,网络流量每年以60%的速度高速增长,给IP骨干网运营带来巨大的挑战。互联网路由条目数不断增加,但受限于传统分布式的路由算法以及匮乏的整体网络拓扑,大量的重叠路由导致流量绕转、用户感知下降等问题。因此,随着骨干网规模的增加及流量的增长,如何优化路由选路策略成为一个重要而有价值的研究课题。
软件定义网络(software defined networking,SDN)技术为骨干网路由优化提供了有效手段,但骨干网设备数量多、改造成本高,全网设备的升级替换较为困难,需要考虑兼容现有设备能力的解决方案。本文在分析现有路由反射器选路机制缺陷的基础上,提出了一种基于源和目的地址的路由反射优化方法,并给出了骨干网部署方案。最后,在典型应用场景下进行测试,验证了方法的有效性。
2传统路由反射器路由选路机制
边界网关协议(border gateway protocol,BGP)是_种自治系统间的动态路由发现协议,它的基本功能是在自治系统间自动交换无环路的路由信息,通过交换带有自治系统号(AS)序列属性的路径可达信息,构造自治区域的拓扑图,从而消除路由环路并实施用户配置的路由策略。在大规模网络中,通过部署路由反射器来减少对等体连接关系,如图1所示。路由反射器收到多个指向同- IP地址前缀但下一跳不同的路由信息,路由反射器按照BGP路由选择机制来确定最优路由,也就是选择下一跳,然后转发给客户机和非客户机。选路的规则如下:
(1)如果next-hop无法到达,则不考虑;
(2)首选具有最大weight的路由(Cisco特有);
(3)如果路由具有相同weight,则使用本地优先级最高的路由:
(4)如果具有相同本地优先级,则首选来自本身路由器的BGP路由:
(5)如果没有来自本身路由器上的BGP路由,则选择AS长度最短的路由:
(6)如果所有的路由具有相同的AS长度,则选择具有最低origin code的路由;
(7)如果origin code相同,则选择MED值最小的路由:
(8)如果MED相同,则首选外部路由,而不是内部路由:
(9)如果仍然相同,选择最近的ICP邻居的路由:
(10)如果仍然相同,选路由器ID最小的路由:
(Il)如果仍然相同,选cluster_ list最短的路由。
因此,从客户机角度看,经过路由反射器选择后的下一跳可能不是最佳选择——只是距离路由反射器最近的路由,而不是源和目的地址间距离最近的路由,导致次优路由的产生,如图2所示。
图2中,上海客户机和广州客户机1都有ICP的路由prefix 1,并将该条路由向路由反射器进行通告。路由反射器根据BGP选路规则进行选路,当(1)~(8)的属性都相同,无法判断时,根据规则(9)选择距离自身IGP最近的上海客户机作为下一跳反射给所有客户机,导致广州客户机2接人的用户经上海访问prefix 1,造成路由绕转。
3基于源和目的地址的路由反射方法
3.1基于源和目的地址的路由反射方法
传统路由反射器的选路规则在(9)中是从路由反射器自身角度计算到下一跳的IGP最短距离,因此所有的客户机都将收到同样的路由,对于某些客户机来说,该路由并非最优路径。在很多情况下,可能导致流量的绕转,造成时延增大,用户感知下降。针对该问题,IETF也有相关草案,路由器支持add-path功能,反射器反射多条路由,由客户机自行计算最佳路由。考虑目前互联网路由数量超过50万条、且波动较大,因此,对反射器的性能要求较高,
客户机需要接收的路由条目也较多,实际应用中实施困难。为此,对该条选路规则进行修改,路由反射器反射路由时,对不同的客户机计算客户机到下一跳的IGP最短距离,从而选择源和目的地址间的路径最短路由。基于OpenFlow技术,在网络中部署OpenFlow控制器,对不同的设备下发不同的流表实现最优路径的选择。图3为OpenFlow 1.3的流表结构,对于相同的路由前缀,针对不同的客户机计算其与各下一跳之间的IGP距离,选择距离最小的下一跳作为最优路由下发流表。
然而,在骨干网中,仍然存在大量传统路由设备,对OpenFlow的支持有限。为了在现网中实现该方法,依然需要考虑基于BGP对网络设备进行控制。控制器主要包含状态信息采集、数据中心、策略管理、网络建模、统一计算以及指令适配模块,具体如图4所示。
状态信息采集模块采集l P骨干网拓扑及网络基础设施和互联网业务路由、业务流量流向和业务质量等信息数据,同时将这一系列的大数据入库到数据中心:统一计算模块从BGP路由表中选出上述选路规则中(1)~(8)全相同的路由条目,同时计算设备间IGP metric矩阵,并对不同的客户机计算下一跳IGP最短的最优路径;经路由仿真模块验证策略后,最后进行统一下发。主要算法实现如下所示。
步骤1从当前BGP路由表查找选路规则(1)~(8)中路由属性相同(如local-preference、MED、AS path length)的路由,即经过路由反射器可能产生非优选的路由。
步骤2将步骤1中查到的路由数据复制到数据表BGP prefix中(先清空BGP prefix中已有数据,再写入)。
步骤3由于BGP路由更新频繁,为了便于比较更新的路由,数据表prefix Snap用于存放以前采用步骤1获取的路由。将BGP prefix表中的prefix与数据表prefix Snap中的prefix进行比较,如果相同,说明路由没有更新,不做处理;如果不同,则将BGP prefix表中的prefix增量更新到数据表prefix Snap中。
步骤4采集当前网络中IGP拓扑信息,生成设备间IGP metric矩阵。
步骤5获取当前控制器的客户机列表igp Dev Metric,为了便于比较更新的拓扑,peerIp MetricSnap用于存放以前采集的客户机列表。将igpDevMetric与peerlpMetricSnap进行比较,如果相同,说明拓扑没有更新,不做处理;如果不同,则将igpDevMetric增量更新到peerIpMetricSnap中。
步骤6获取peerIpMetricSnap中的客户机列表,针对每个客户机,分别以该客户机为根节点,基于IGP metric矩阵,采用SPF算法,对数据表prefix Snap中的相同prefix计算根节点到各下一跳的metrc,将metric最小的下一跳作为该prefix的优选路由。
步骤7无论是否需要进行配置下发,都将上述最优路由进行统计,并将其放人数据表Work Status中。
3.2 网络部署方案
软件定义网络技术为传统IP的优化提供了重要手段,然而,IP网络全面实现软件自主定义还有很长的过程。首先是技术的成熟度还不适合大规模现网运营的要求,如高可靠性、高安全性以及电信级SLA要求;其次,现网设备的技术支持能力也成为应用推广的关键。考虑到骨干网仍然以传统网络设备为主及新技术引入的可能风险,网络中的部署方案以增量叠加为主:在网络中部署SDN控制器,支持Open Flow和BGP,对传统设备采用BGP的更新方式,对Open Flow设备下发流表进行控制。其部署方案如图5所示。
控制器与路由反射器、相关的客户机建立IBGP邻居关系,并仅接收路由反射器反射的路由,同时获取IGPmetric矩阵信息。结合BGP路由数据库及链路状态数据库,提取多路径路由,计算源到路由接收段之间的SPF计算,针对不同的客户机提取最优路径,经校验路由可达后分别对不同的客户机反射相关路由,或者下发流表,具体算法见第3.1节中的描述。客户机同时收到传统路由反射器及控制器的路由,根据BGP选路信息可以进一步得到最佳路径,放入路由表。该部署方案的好处在于,如果控制器发生故障或者计算错误,可以直接退出服务,原有l P地址仍然起效,不会对网络运营造成巨大影响。为了更好地对全网路由进行维护和监控,系统提供了相关的展示功能,如图6所示。
路由表中的数据可以按“路由前缀”(prefix字段)、归属AS(destAS字段)、next-hop进行查询及显示,方便人员进行操作。
4测试结果分析
SDN控制器主要是一个软件实体,目前主流的开源控制器主要有NOX、POX、Ryu等。本文提出的控制器主要基于Open Daylight开源平台实现,采用OSGI框架和Java开发,南向支持SNMP、BGP、Open Flow等协议,北向提供RESTful接口,便于实现开放性。
测试的典型场景如图5所示,大量ICP会在多地接入骨干网,例如从上海、广州两地的ASBR均拥有ICP的路由,经骨干网路由反射器后只优选一条下一跳为上海节点的路由进行反射,导致广州接人段的用户需要绕转到上海节点访问ICP,造成时延增加,用户体验下降。尤其在国际网络环境下,绕转的距离将大幅度增加,从而裂化访问质量。在骨干网(100多台路由器,50万多条互联网路由)中部署SDN控制器,采用本文所提方法采集全网拓扑信息和路由数据,针对广州客户机2,计算出到达ICP的最优路径为广州客户机1,于是对广州客户机2下发下一跳为广州客户机1的ICP路由,实现路由最优化,降低单向访问时延约15 ms,如图7所示。进一步地,国际访问时延平均可降低300。测试结果表明,本文方法可实现路由端到端优化,提高互联网访问质量,验证了方法的可行性。
5 结束语
SDN作为一种优化和简化网络操作的体系结构方式,具有更大的灵活性和敏捷性,为基础互联网设施提供了智能化选择,成为当前网络领域最热门和最具发展前途的技术之一。本文针对BGP的缺陷导致l P骨干网路由不佳、流量绕转问题,提出了一种基于SDN的路由反射方法,并给出了网络规模部署方案。测试结果表明,新方法可减少流量绕转情况,国际互联网访问质量可大幅度提升,证明了方法的有效性。然而,SDN作为一项系统工程,仍有大量的技术研发及实例化工作,后续将进一步完善控制器功能,实现网络的高质量运营。
下一篇:返回列表