论文部分内容阅读
随着近年来各种网络服务的爆炸性增长,通信网络已经成为当今社会最重要的基础设施之一,人们越来越依赖大规模通信网络提供的各种服务,包括商业服务,医疗处理,金融活动等。然而,目前的网络基础设施面临着各种潜在的威胁,如自然灾害和人为破坏。由于这些潜在的威胁可能造成某个网络区域内的多个节点或链路同时发生故障,我们称之为网络的区域损毁。区域损毁会使大量的网络服务无法正常工作,甚至造成长时间的网络瘫痪,严重影响通信网络的可靠性。区域损毁发生后,如何迅速地恢复被切断网络连接,尽可能减小区域损毁对网络服务的影响,是网络运营商亟需解决的关键性问题。传统的网络连接恢复策略主要包括两类方法:主动式的连接保护和被动式的重路由策略。主动式的连接保护策略通过预先计算好的备份资源实现故障连接的快速恢复。然而,这种策略无法适用于区域损毁场景,因为预先计算好的备份路径可能同时被区域损毁切断。另外,为大量潜在的故障场景提供备份资源也会极大增加网络的维护开销。被动式的重路由策略在故障发生后根据网络的即时状态为故障连接重新寻找传输路径。这种策略能够更加灵活地利用网络的路径多样性。但是,被动式路由策略通常需要精确的故障定位机制以及复杂的寻路算法,导致连接的恢复时间远大于主动式连接保护策略。针对上述问题,本文提出的灾后通信恢复策略结合了两种传统策略的优点,在保证故障连接快速恢复的同时,也能灵活有效地利用剩余的网络资源。本文首先提出了一种基于覆盖网络的源路由连接恢复策略。在不改变已有网络架构和协议的情况下,该策略利用覆盖网络和单跳源路由的思想挖掘网络的路径多样性,通过一系列精心挑选的中间节点(称为landmark),恢复系统能快速地为故障连接找到新的传输路径。在区域损毁的位置和大小未知的情况下,流量就可以通过源路由的方式绕过故障区域。大量仿真实验表明,本文的连接恢复策略比已有的恢复算法提高至少10%的恢复成功率,而且恢复系统只需要维护少量的landmark节点(4-5个)就能使连接恢复成功率达到90%以上。另外,实验结果验证了本文的策略不仅能有效处理区域损毁场景,在随机链路故障场景下,也具有90%以上的恢复成功率。为了使恢复策略适用于真实的网络损毁场景,本文进一步考虑了网络中的流量负载情况。本文设计了一种基于覆盖网络的拥塞感知连接恢复系统。该系统利用在覆盖网络上逐跳转发的拥塞感知路由算法,只需要少量的网络探测开销就能够保证连接的恢复路径同时绕过损毁区域和高负载的网络节点。此外,该算法也利用几何路由策略保证了流量在覆盖网络节点之间不会形成环路。为了验证系统的可行性,本文基于Linux的Netfilter框架,通过在IP层修改并转发重传数据包的方式实现了区域故障恢复系统。系统包括客户端模块和覆盖网络节点模块:(1)客户端模块实现连接检测以及连接故障后将数据包转发到合适的覆盖网络节点;(2)覆盖网络节点模块执行路由代理(proxy)的功能,根据探测得到的网络状况将到达数据包转发到合适的下一跳节点。由于采用IP-to-IP管道技术,该系统能够支持多传输层协议(包括TCP和UDP)的连接恢复。目前,区域故障恢复系统已成功部署在Emulab网络测试平台。实际模拟区域故障实验表明该系统只需引入数KBits的网络探测开销,并能够在一秒内重建断开的网络连接。最后,为了能够更直观地反映区域损毁对网络的影响,本文参考地震烈度的定义,第一次提出了"网络损毁度"的概念。网络损毁度将网络故障的影响程度分为5个等级,这5个等级能够从时间和空间两个维度衡量区域损毁对网络基础设施、网络服务的影响程度。网络损毁度可以加深人们对区域损毁的理解,对于设计容灾性网络、评估网络脆弱性以及设计网络恢复策略都有借鉴意义。