CN105978741A - 一种网络故障处理方法和处理系统 - Google Patents
一种网络故障处理方法和处理系统 Download PDFInfo
- Publication number
- CN105978741A CN105978741A CN201610566566.XA CN201610566566A CN105978741A CN 105978741 A CN105978741 A CN 105978741A CN 201610566566 A CN201610566566 A CN 201610566566A CN 105978741 A CN105978741 A CN 105978741A
- Authority
- CN
- China
- Prior art keywords
- backup
- network
- path
- stream
- switch
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种网络故障处理方法和处理系统,所述方法包括以下步骤:A、根据网络拓扑和策略需求构建备份路径;B、根据网络中交换机的可用资源(TCAM)情况合理分配备份流表,使得每个流的故障需求都能够得到满足。所述处理系统包括交换机和控制器,控制器包括网络状态获取模块、备份路径生成模块、备份流表分配模块、备份流表下发模块、故障响应模块和备份路径更新模块。本发明的网络故障处理方法和处理系统将故障保护和故障恢复结合起来,能够进行细粒度的网络资源分配,从流的级别保证服务质量,在处理故障的同时保证网络策略的正确执行。
Description
技术领域
本发明涉及计算机网络领域,特别是涉及一种网络故障处理方法和处理系统。
背景技术
自20世纪70年代诞生以来,计算机网络经历了飞速的发展。Internet的成功普及使得网络的应用范围从传统的军事、科研等领域走向生活的方方面面。随着信息时代的到来,网络的作用逐渐突起,网络的可靠性与稳定变得尤为重要。调查发现,可达性、吞吐量及延迟是目前网络的主要症结。而造成这些症结的主要原因就是链路故障。另外,不同应用(Email,Video等)对网络的需求并不相同,所以提出一种有效应对链路故障的解决方案变得十分紧迫。
当前网络正在进行着与个人PC(Personal Computer)相同的演变:从软硬件一体化逐渐发展到软件与硬件相互分离。事实证明,早期的软硬件一体化有利于网络的快速构建与大规模应用,但是随着网络的规模的逐渐扩大,这种一体化模式限制了网络的发展,网络管理的灵活性变得越来越重要。SDN(Software Defined Networking)应运而生,它通过将控制平面(ControlPlane)和转发平面(Forwarding Plane)分离和对转发平面的集中控制来简化网络管理,使得网络管理的灵活性大大增强。
相对于传统网络,SDN网络的特点如下:
1)SDN是一种新的网络管理范式,它将控制平面从传统的路由器中抽离,使得复杂的“路由器”变成了简单的“交换机”。即,它通过将数据面板和控制面板解耦来降低交换机的复杂度,使得在实时网络中测试新开发的协议成为可能。
2)在SDN网络中,主要的“智能部件”都集中在控制器中,底层的交换机变得十分简单。控制器负责实现传统网络的各种协议功能(OSPF,BGP,LLDP,VLAN等),通过南向标准协议(如OpenFlow)与底层的交换机通讯,将生成的流表下发到交换机之中;底层的交换机负责执行转发功能,当它收到数据包之后,它将查询流表,匹配数据包的头部,根据匹配的结果执行相应的转发操作;如果没有相应的匹配项,那么它就将这个数据包传递给控制器进行处理。
3)SDN提供了更丰富的匹配字段,包括入端口号,TCP源/目的端口号,ARP操作码等41个字段,而不局限于传统的MAC地址和IP地址等少量二层/三层字段,从而能够实现更细粒度的网络流量管理与控制。
4)在SDN环境下,网络管理员(Network Operator)能够有一个全局的网络管理视图,从而便于资源的统一管理与调度。在传统网络中,复杂分布式算法的交互与通讯使得资源的全局调度与分配变得十分困难。
5)OpenFlow的目标是提供一个管理转发硬件的开放的标准接口,这个转发硬件可以是一个路由器或者交换机。这种想法的基础是现代的路由器(或者交换机)都有FIB(forwarding information table),FIB一般使用TCAM(Ternary Content Addressable Memory)构成的。OpenFlow提供一个协议,通过添加、修改、删除Flowtable的表项来对FIB编程。OpenFlow中的FlowTable是对路由器中FIB的一个抽象。在OpenFlow网络中,所有的逻辑都是在叫做OpenFlow控制器的中心系统中执行的,OpenFlow控制器使用OpenFlow协议来管理OpenFlow交换机。
但是在SDN大规模部署过程中,尤其是在向运营商级别网络部署的时候,SDN网络的可靠性受到严峻考验,目前还没有高效的机制能够使其达到运营商级别网络的50ms恢复时间的QoS要求。
网络的性能主要通过丢包率、延迟、吞吐量和可用性来度量。在发生故障(光纤被挖断、路由器崩溃等)的情况下,网络的性能将会大大降低。根据Gianluca Iannaccone等人收集的数据,链路(接口)故障经常发生,它们会遍布在几天内,甚至一整天内。据推断,10%的故障可能由于光纤被挖断而造成;50%的故障可能由于链路不明原因的短暂故障而造成。另外,链路故障发生频繁,几乎所有链路故障的时间间隔都在100分钟以内,这将严重影响网络的服务质量。由此可见,即使在现代网络中,网络故障还是频繁发生,成为导致网络性能降级的主要因素。
一般来讲,运营商网络严格限制故障恢复的时间延迟不能超过50ms。但是,不同的应用程序有不同的故障恢复需求。例如:一些多媒体应用程序(如网络电话、视频会议和在线游戏等)和一些新兴服务(如数据中心中的高性能计算,光纤网络的存储服务和交易算法等)都是延迟敏感的,一点点的端到端延迟将会导致用户体验的极度下降,巨大的经济损失,甚至不可挽回的灾难;但是也有一些服务不是延迟敏感的(如Email等),适度的延迟对它们来说是可以容忍的。另外,即使网络发生了故障,网络的一些策略(Policy)(如防火墙策略、访问控制等)也必须执行。例如,无论何时,http流量都必须经过一个防火墙(Firewalls);所有的流都必须避免一些可疑的攻击者,即黑名单机制。
整体上,目前应对网络故障的方案分为故障保护和故障恢复两种。
1)故障保护。故障保护依赖于提前计算的备份路径和预分配的资源来对故障部件进行绕行。在故障保护中,备份路径时提前计算好的,相应的备份流表项也会提前在交换机上面分配好。在正常情况下,数据包沿着正常链路进行转发;当故障发生时,检测到故障的交换机迅速将数据包切换到备份链路进行转发,这种切换进行的十分迅速,从而保证的极短的故障恢复时间。
2)故障恢复。故障恢复依赖动态重路由来规避故障部件。在故障恢复中,备份路径可能是提前计算好的,也可能是当网络发生故障时动态计算的,但是相应的备份流表项一定是在发生故障之后才进行分配的。当交换机检测到故障之后,它会向控制器报告相应的故障,根据控制器的响应建立备份路径,实现故障保护。相比于故障保护,故障恢复最大的特点在于动态性,这种动态性赋予了故障恢复更强的灵活性,同时也使得它的恢复延迟较大,较难满足一些程序的故障恢复延迟需求。
由此可见,故障保护是服务优先型,通过占有大量的资源来保证对网络故障的快速应对;故障恢复方案是资源优先型,它以牺牲故障恢复的时间来换取更少的资源需求。然而,它们都没有考虑到不同应用的故障恢复需求,没有提供区分服务,从而导致网络资源的低效利用。
发明内容
本发明的主要目的在于克服现有技术的不足,提供一种网络故障处理方法和处理系统,将故障保护和故障恢复结合起来,能够进行细粒度的网络资源分配,从流的级别保证服务质量,在处理故障的同时保证网络策略的正确执行。
为实现上述目的,本发明采用以下技术方案:
一种网络故障处理方法,所述网络包括交换机和控制器,交换机和控制器之间通过OpenFlow协议标准进行交互,控制器能够获取网络的全局拓扑,采用带外控制方式和交换机进行通讯,交换机负责正常数据包的转发和故障检测,控制器负责备份路径的构建、备份流表项的分配和流表的下发;
所述方法包括以下步骤:
A、根据网络拓扑和策略需求构建备份路径;
其中对于每条流,针对正常转发路径上面的每条链路,备份路径由对应的安全点唯一确定,所述安全点是满足以下条件的点:
a.从故障上游节点到安全点之间的路径不经过故障链路;
b.从安全点到目的地的正常转发路径不经过故障链路;
c.连接上面的两段链路形成的备份路径满足流的服务链需求;
B、根据网络中交换机的可用资源(TCAM)情况合理分配备份流表,使得每个流的故障需求都能够得到满足。
进一步地:
所述备份路径包括以下三部分:(1)从流的起点到故障点之间的路径,这部分路径和流的正常转发路径相重叠;(2)从故障点到安全点之间的路径,这部分路径根据遍历算法得到,需要额外的备份流表;(3)从安全点到流终点的路径,这部分路径和正常转发路径重叠;
对于网络中的流,其针对某条链路的备份路径满足以下条件:
a.备份路径不经过特定的故障链路;
b.备份路径上面的服务链和原始服务链相互兼容。
备份路径满足以下条件:对于任意给定的网络流对于其正常转发路径上面的每一条链路ei,为其构造一条相应的备份路径,使得这条备份路径不经过链路ei,并且路径上面的middlebox所构成的服务链满足原始流的服务链需求。
步骤A中,构建备份路径的算法包括:以广度优先搜索的方式遍历网络拓扑来寻找安全点,从上游检测到故障的节点开始,依次遍历网络中每一个节点并假设该节点为安全点,用该安全点来构建备份路径;然后,用流的故障需求和服务链需求来验证这条备份路径是否合法:如果这条备份路径是合法的,则判断当前的节点就是要找的安全点,保存相应的备份路径;如果这条路径不满足需求,则就退出当前验证过程,遍历下一个节点;
优选地,在有多个合法的安全点存在的情况下,选择第一个合法的安全点。
步骤B中,所述合理分配备份流表满足以下条件:对于给定的交换机可利用资源σv,网络流的延迟需求,备分流表的分配方案使得分配给每个交换机的备份流表项数目不超过交换机的可用资源数目,并且保证每个流的延迟需求能够得到满足。
按照以下规则分配备份流表:(1)TCAM容量越大的交换机放置越多的备份流表项;(2)延迟需求越高的流的备份流表项越被优先放置到相应的交换机中;(3)遍历路径越短的流的备份流表项越被优先放置到相应的交换机中。
步骤B中,分配备份流表的算法包括:依次将最应该放到交换机中的备份流表放到交换机中,直到所有网络流都满足它们的故障需求为止;其中对于每一个备份流表,都有把它放置在控制器上面和分配给相应的交换机两种可能,所有这些可能构成了一个树形解空间,按照广度优先的策略来遍历这个解空间,通过减枝,直到找到近似最优解;
优选地:采用广度优先搜索遍历可行域;当找到一个可行解之后,不再搜索层次更深的可行域。
步骤B中,分配备份流表的算法包括:
将所有的备份流表项分配给相应的交换机;
对于每一个过载的交换机,将一部分备份流表转移到控制器,直到交换机不再过载为止;
遍历所有的交换机,将更多的备份流表搬到控制器上面。
一种用于实施所述的网络故障处理方法的网络故障处理系统,包括交换机和控制器,交换机和控制器之间通过OpenFlow协议标准进行交互,控制器能够获取网络的全局拓扑,采用带外控制方式和交换机进行通讯,交换机负责正常数据包的转发和故障检测,控制器负责备份路径的构建、备份流表项的分配和流表的下发,所述控制器包括:
网络状态获取模块,用于获取以下三种网络状态:(a)网络拓扑;(b)网络端口状态;(c)数据包的Table-miss;
备份路径生成模块,用于从网络状态获取模块获取网络的拓扑信息和端口状态,并以流的故障需求和网络的服务链需求作为输入,运行备份路径构建算法,构建出所有的备份路径,构建完成之后,将这些生成的备份路径交由备份流表分配模块进行处理;
备份流表分配模块,用于从备份路径生成模块获取网络中所有的备份路径,以流的时间延迟需求为输入,运行算法进行备份流表的分配,分配算法运行结束后,将分配结果提交给备份流表下发模块进行处理。
备份流表下发模块,用于从备份流表分配模块获取备份流表的分配结果,对于分配给下层交换机的备份流表,即故障保护部分,备份流表下发模块立刻生成相应的OFP_TABLE_MOD流表修改消息,将它们插入到相应的交换机中;对于放置在控制器上面的备份流表,即故障恢复部分,备份流表下发模块更新本地数据库,将它们存储在本地;
故障响应模块,用于负责协调全局的其他模块,故障响应模块从网络管理员获取网络已知的状态信息和流的需求输入,从网络状态获取模块处获取网络的拓扑等信息,调用备份路径生成模块生成备份路径,调用备份流表分配模块计算分配结果,调用备份流表下发模块将相应的备份流表下发给相应的交换机,根据备份路径更新模块的请求定期更新;
备份路径更新模块,用于更新备份路径,当备份路径更新模块认定当前网络的状态已经较上一个状态发生质的变化的时候,它将通知备份路径生成模块重新获取网络状态和输入需求,并重新构建备份路径。
进一步地,当网络新增加一个边或者节点时,备份路径更新模块并不进行实时更新,仅记录下相应的状态变化,在全局定期更新时,这些累积的状态变化被考虑;当网络删除一个边或者节点时,备份路径更新模块立刻将用到这个组件的备份路径标记为不可用,并重新计算相应的备份路径。
本发明的有益效果:
相对于传统的故障保护方案和故障恢复方案,本发明的方案以更小的粒度来分配网络资源,从流的级别来提供故障处理服务,使得网络资源的利用率有了极大地提高,网络的灵活性得意体现,网络的管理变得更加简单。针对相同的网络和相同故障需求,本发明的方案节约了一个数量级的网络资源,这对于缓解当前网络TCAM资源紧缺的情况具有重要意义。
附图说明
图1示出本发明实施例构建备份路径的原理图,其中流的服务链需求是必须经过c,但是不能经过e;f/b/c/d是合法的安全点。
图2示出本发明实施例备份路径构建算法图。
图3示出本发明实施例ADD算法搜索空间图,其中箭头方向表示流行因子不断降低。
图4示出本发明实施例ADD算法框架图。
图5示出本发明实施例SUB算法框架图。
图6示出本发明实施例SUB消除过载的交换机的流程图。
图7示出本发明实施例SUB将更多的备份流表搬到控制器的流程图。
图8示出本发明实施例网络故障处理系统的模块框图。
具体实施方式
以下对本发明的实施方式作详细说明。应该强调的是,下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用。
参阅图1至图7,在一种实施例中,本发明实施例的网络故障处理方法主要包括两个方面,一是根据网络的拓扑和策略需求构建备份路径,二是根据网络中交换机的可用资源(TCAM)情况合理分配备份流表,使得每个流的故障需求都能够得到满足。现详细叙述如下。
网络模型
本发明基于软件定义网络,交换机和控制器之间通过OpenFlow协议标准进行交互,控制器采用带外控制方式和交换机进行通讯。交换机负责正常数据包的转发和故障检测,控制器负责备份路径的构建、备份流表项的分配和流表的下发。在此模型中,认为控制器可以通过LLDP等协议获取网络的全局拓扑,网络中交换机的可用资源情况已知,流的故障需求已知。
安全点
基于上面的网络模型,我们定义安全点的概念如下:
在网络拓扑中,满足下面三个条件的点叫做安全点:
(1)从故障上游节点到安全点之间的路径不经过故障链路;
(2)从安全点到目的地的正常转发路径不经过故障链路;
(3)连接上面的两段链路形成的备份路径满足流的服务链需求;
这样,对于每条流,针对正常转发路径上面的每条链路,一个安全点就唯一确定了一条备份路径。
备份路径
如上所述,我们的备份路径由三部分构成:(1)从流的起点到故障点之间的路径,这部分路径和流的正常转发路径相重叠,不需要额外的备份流表;(2)从故障点到安全点之间的路径,这部分路径根据2.2.2的遍历算法得到,需要通过隧道等机制来实现,需要额外的备份流表;(3)从安全点到流终点的路径,这部分路径和正常转发路径重叠,不要额外的处理;
构建备份路径
对于网络中的流,其针对某条链路的备份路径应该满足以下条件:
(1)备份路径不经过特定的故障链路;
(2)备份路径上面的服务链和原始服务链相互兼容;
具体来讲,对于任意给定的网络流对于其正常转发路径上面的每一条链路ei,我们都应该为其构造一条相应的备份路径,使得这条备份路径不经过链路ei,并且路径上面的middlebox所构成的服务链满足原始流的服务链需求。
构建备份路径的算法流程
见图2,根据前面的定义,一条合法的备份路径由安全点来唯一确定,因此,只要找到合法的安全点就成功构建出了相应的备份路径。
我们以广度优先搜索的方式遍历网络拓扑来寻找安全点。从上游检测到故障的节点开始,我们依次遍历网络中每一个节点并假设该节点为安全定,用这个“安全点”来构建备份路径。然后,我们用流的故障需求和服务链需求来验证这条备份路径是否合法:如果这条备份路径是合法的,那么当前的节点就是要找的安全点,保存相应的备份路径,算法退出;如果这条路径不满足需求,那么就退出当前验证过程,遍历下一个节点。
在图1所示的网络拓扑和流的需求中,针对故障链路(a,b),算法从节点a开始寻找安全点。此例中,流的服务链需求指定所有的数据包必须经过节点c,并且不能经过节点e。因此,e不是一个合法的安全点;g也不是一个合法的安全点,因为从g到目的节点的正常转发路径经过了链路(a,b);节点f是一个合法的安全点,相应的备份路径能够满足流的需求。值得注意的是,可能有多个合法的安全点存在,如b,c和d。在这种情况下,我们总是选择第一个合法的安全点,因为我们采用广度优先搜索的方式来寻找安全点,先找到的安全点离故障点更近,从而需要更少的备份流表项。
分配备份流表项
在前面,我们构建出了所有的备份路径,但是受限于网络的可用资源情况,将这些备份路径对应的备份流表项全部下发到下面的交换机是不可能的。因此,我们根据网络中的可用资源情况,在满足流的故障修复时间需求的情况下,将这些备份流表中的一部分下发到下面的交换机上面。
具体来讲,对于给定的交换机可利用资源σv,网络流的延迟需求,备分流表的分配方案应该使得分配给每个交换机的备份流表项数目不超过交换机的可用资源数目,即:
并且保证每个流的延迟需求能够满足,即:
在此前提下,我们定义目标函数如下:
旨在使得总体的网络资源消耗最少。
事实上,上面描述的备份流表分配问题是一个典型的NPC问题,当网络拓扑规模比较大、网络中的应用比较多少的时候,上述问题很难在合理的时间内求得最优解。为了能够在较短时间内求得近似最有解,我们为每一个备份流表定义流行因子(popular factor)如下:
直观的讲,(1)TCAM容量大的交换机应该放置更多的备份流表项;(2)延迟需求高的流的备份流表项应该被优先放置;(3)遍历路径短的流的备份流表项应该被优先放置。
即流行因子越大,相应的备份流表项就越应该被插入到相应的交换机中。即,流行因子越大,相应的备份流表项越有理由被分配给下面的交换机而不是放置在控制器上面。
ADD算法
本实施例的启发式算法ADD基于分支和定界(B&B,Branch andBound),分支和定界算法是目前解决NP难问题最广泛使用的启发式算法,其求得的解是近似最优解。正如算法名字(ADD)所示,这个算法就是依次将最应该放到交换机上面的备份流表放到交换机上面,直到所有网络流都满足它们的故障需求为止。对于每一个备份流表,都有把它放置在控制器上面和分配给相应的交换机两种可能,所有这些可能构成了一个巨大的树形解空间,ADD算法就是按照广度优先的策略来遍历这个解空间,合理减枝,直到找到近似最优解,其解空间搜索过程如图3所示。
基于目标函数所有系数都为1的特点,我们对原始算法进行了两步关键优化:
(1)采用广度优先搜索遍历可行域;
(2)当找到一个可行解之后,不再搜索层次更深的可行域。
从而,使得算法的收敛时间更短。
SUB算法
正如名字所示,本实施例的SUB算法基于一种“减”的思想,它先将所有的备份流表项都分配给相应的交换机,然后再尽量将更多的流表“搬”到控制器来减轻交换机的负担。具体来讲,SUB算法主要基于以下几步:
(1)将所有的备份流表项分配给相应的交换机controller,并对每个交换机上面的备份流表项按照流行因子排序;
(2)对于每一个过载的交换机按照图6的流程将一部分备份流表“搬”到控制器,直到交换机不再过载为止;
(3)遍历所有的交换机,按照图7的流程试图将更多的备份流表搬到控制器上面。
SUB算法和ADD算法基于不同的启发式策略,具有不同的启发结果和运行开销。很明显,ADD算法的时间复杂度更高,它遍历了更多的解空间,因此求出的结果更优;SUB算法提前进行了大量减枝,使得其运行时间大大减少,但却影响了其解的质量。因此,这两种算法各有优势,ADD算法适用于小型拓扑,SUB算法适用于资源较充裕的大型网络拓扑。
根据本发明实施例的网络故障处理方法,只需要对控制器进行修改升级,对于SDN网络中的交换机不需要任何改动。
在本发明网络故障处理系统的一种实施例中,网络故障处理系统包括连接于网络中的交换机和控制器,控制器包括网络状态获取模块、备份路径生成模块、备份流表分配模块、备份流表下发模块、故障响应模块、备份路径更新模块。下面具体介绍每一个模块的功能和实现:
网络状态获取模块
交换机通过Hello消息主动与控制器建立连接,而后交换机和控制器的所有交互消息都是通过这个连接来完成的。此模块主要获取以下三种网络状态:(a)网络拓扑;(b)网络端口状态;(c)数据包的Table-miss。下面将分别进行说明:
(a)网络拓扑。LLDP是链路层发现协议,用于通告自身的存在。网络状态获取模块可以收集底层交换机的LLDP消息,进行分析整合,从而获得整个网络的拓扑信息;
(b)网络端口状态。根据OpenFlow协议,当交换机的端口被增加、修改或者删除的时候,交换机会向控制器发送OFPT_PORT_STATUS消息。当发生链路故障或者端口故障时,相应的交换机就会触发内部的状态改变,从而向控制器发送OFPT_PORT_STATUS消息,这时,网络状态获取模块需要根据这个消息和网络的初始拓扑状态来维护网络的端口状态信息;
(c)数据包的Table-miss。当数据包沿着备份路径转发时,可能在某个交换机上面并没有相应的转发流表项,这个时候就会触发交换机的Table-miss,它会向控制器发送Packet-out消息,网络状态获取模块需要根据此Packet-out消息来获取底层交换机的Table-miss状态;
备份路径生成模块
该模块需要与网络状态获取模块、备份流表分配模块和备份路径更新模块进行交互。简体来讲,备份路径生成模块从网络状态获取模块获取网络的拓扑信息和端口状态,并以流的故障需求和网络的服务链需求作为输入,运行备份路径构建算法,构建出所有的备份路径。构建完成之后,它将这些生成的备份路径交由备份流表分配模块进行处理。
随着网络的运行,网络的状态变化不断累积,当备份路径更新模块认定当前网络的状态已经较上一个状态发生质的变化的时候,它将通知备份路径生成模块重新获取网络状态和输入需求,并重新构建备份路径。
备份流表分配模块
备份流表分配模块需要与备份路径生成模块,备份流表下发模块进行交互。该模块从备份路径生成模块获取网络中所有的备份路径,以流的时间延迟需求为输入,根据网络管理员的选择运行ADD算法或者SUB算法进行备份流表的分配。分配算法运行结束后,它将分配结果提交给备份流表下发模块进行处理。
备份流表下发模块
备份流表下发模块需要和备份流表分配模块和故障响应模块进行交互。我们的方案是故障保护与故障恢复的结合体。该模块从备份流表分配模块获取备份流表的分配结果。对于那些分配给下层交换机的备份流表,即故障保护部分,该模块立刻生成相应的OFP_TABLE_MOD流表修改消息,将它们插入到相应的交换机中去;对于那些放置在控制器上面的备份流表,即故障恢复部分,该模块将更新本地数据库,将它们存储在本地,当相应的故障发生时,因为这些备份流表没有被下发出去,控制器会收到受影响数据包的Packet-in消息,网络状态获取模块会识别这些消息,并将识别结果提交给故障响应模块,故障响应模块会从备份流表下发模块请求相应的备份流表,然后将它们下发下去。
故障响应模块
此模块是本发明的主要模块,负责协调全局的其他模块。它和网络状态获取模块、备份路径生成模块、备份流表分配模块、备份流表下发模块、备份路径更新模块等所有其他模块进行交互,相应的结构图如图8所示。它从网络管理员获取网络已知的状态信息和流的需求等输入,从网络状态获取模块处获取网络的拓扑等信息,调用备份路径生成模块生成备份路径,调用备份流表分配模块计算分配结果,调用备份流表下发模块将相应的备份流表下发给相应的交换机,根据备份路径更新模块的请求定期更新。
备份路径更新模块
网络的状态是不断变化的,为了保证正确性,故障处理方案必须能够适应这种变化。本方案采用“懒更新”的策略,即当网络新增加一个组件(边或者节点)时,备份路径更新模块并不进行实时更新,它只是记录下相应的状态变化,在全局定期更新时(建议10min),这些累积的状态变化被考虑进去;当网络删除一个组件时,备份路径更新模块立刻将用到这个组件的备份路径标记为不可用,并重新计算相应的备份路径。这种“懒更新”可能会导致次优的结果,但是它保证了转发行为的正确性。实践证明,这种更新策略能够满足大多数网络的性能要求。
以上内容是结合具体/优选的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,其还可以对这些已描述的实施方式做出若干替代或变型,而这些替代或变型方式都应当视为属于本发明的保护范围。
Claims (10)
1.一种网络故障处理方法,其特征在于,所述网络包括交换机和控制器,交换机和控制器之间通过OpenFlow协议标准进行交互,控制器能够获取网络的全局拓扑,采用带外控制方式和交换机进行通讯,交换机负责正常数据包的转发和故障检测,控制器负责备份路径的构建、备份流表项的分配和流表的下发;
所述方法包括以下步骤:
A、根据网络拓扑和策略需求构建备份路径;
其中对于每条流,针对正常转发路径上面的每条链路,备份路径由对应的安全点唯一确定,所述安全点是满足以下条件的点:
a.从故障上游节点到安全点之间的路径不经过故障链路;
b.从安全点到目的地的正常转发路径不经过故障链路;
c.连接上面的两段路径形成的备份路径满足流的服务链需求;
B、根据网络中交换机的可用资源(TCAM)情况合理分配备份流表,使得每个流的故障需求都能够得到满足。
2.如权利要求1所述的网络故障处理方法,其特征在于,所述备份路径包括以下三部分:(1)从流的起点到故障点之间的路径,这部分路径和流的正常转发路径相重叠;(2)从故障点到安全点之间的路径,这部分路径根据遍历算法得到,需要额外的备份流表;(3)从安全点到流终点的路径,这部分路径和正常转发路径重叠;
对于网络中的流,其针对某条链路的备份路径满足以下条件:
a.备份路径不经过特定的故障链路;
b.备份路径上面的服务链和原始服务链相互兼容。
3.如权利要求2所述的网络故障处理方法,其特征在于,备份路径满足以下条件:对于任意给定的网络流对于其正常转发路径上面的每一条链路ei,为其构造一条相应的备份路径,使得这条备份路径不经过链路ei,并且路径上面的middlebox所构成的服务链满足原始流的服务链需求。
4.如权利要求2或3所述的网络故障处理方法,其特征在于,步骤A中,构建备份路径的算法包括:以广度优先搜索的方式遍历网络拓扑来寻找安全点,从上游检测到故障的节点开始,依次遍历网络中每一个节点并假设该节点为安全点,用该安全点来构建备份路径;然后,用流的故障需求和服务链需求来验证这条备份路径是否合法:如果这条备份路径是合法的,则判断当前的节点就是要找的安全点,保存相应的备份路径;如果这条路径不满足需求,则就退出当前验证过程,遍历下一个节点;
优选地,在有多个合法的安全点存在的情况下,选择第一个合法的安全点。
5.如权利要求1至4任一项所述的网络故障处理方法,其特征在于,步骤B中,所述合理分配备份流表满足以下条件:对于给定的交换机可利用资源σv,网络流的延迟需求,备分流表的分配方案使得分配给每个交换机的备份流表项数目不超过交换机的可用资源数目,并且保证每个流的延迟需求能够得到满足。
6.如权利要求5所述的网络故障处理方法,其特征在于,按照以下规则分配备份流表:(1)TCAM容量越大的交换机放置越多的备份流表项;(2)延迟需求越高的流的备份流表项越被优先放置到相应的交换机中;(3)遍历路径越短的流的备份流表项越被优先放置到相应的交换机中。
7.如权利要求6所述的网络故障处理方法,其特征在于,步骤B中,分配备份流表的算法包括:依次将最应该放到交换机中的备份流表放到交换机中,直到所有网络流都满足它们的故障需求为止;其中对于每一个备份流表,都有把它放置在控制器上面和分配给相应的交换机两种可能,所有这些可能构成了一个树形解空间,按照广度优先的策略来遍历这个解空间,通过减枝,直到找到近似最优解;
优选地:采用广度优先搜索遍历可行域;当找到一个可行解之后,不再搜索层次更深的可行域。
8.如权利要求6所述的网络故障处理方法,其特征在于,步骤B中,分配备份流表的算法包括:
将所有的备份流表项分配给相应的交换机;
对于每一个过载的交换机,将一部分备份流表转移到控制器,直到交换机不再过载为止;
遍历所有的交换机,将更多的备份流表搬到控制器上面。
9.一种用于实施如权利要求1至8任一项所述的网络故障处理方法的网络故障处理系统,其特征在于,包括交换机和控制器,交换机和控制器之间通过OpenFlow协议标准进行交互,控制器能够获取网络的全局拓扑,采用带外控制方式和交换机进行通讯,交换机负责正常数据包的转发和故障检测,控制器负责备份路径的构建、备份流表项的分配和流表的下发,所述控制器包括:
网络状态获取模块,用于获取以下三种网络状态:(a)网络拓扑;(b)网络端口状态;(c)数据包的Table-miss;
备份路径生成模块,用于从网络状态获取模块获取网络的拓扑信息和端口状态,并以流的故障需求和网络的服务链需求作为输入,运行备份路径构建算法,构建出所有的备份路径,构建完成之后,将这些生成的备份路径交由备份流表分配模块进行处理;
备份流表分配模块,用于从备份路径生成模块获取网络中所有的备份路径,以流的时间延迟需求为输入,运行算法进行备份流表的分配,分配算法运行结束后,将分配结果提交给备份流表下发模块进行处理。
备份流表下发模块,用于从备份流表分配模块获取备份流表的分配结果,对于分配给下层交换机的备份流表,即故障保护部分,备份流表下发模块立刻生成相应的OFP_TABLE_MOD流表修改消息,将它们插入到相应的交换机中;对于放置在控制器上面的备份流表,即故障恢复部分,备份流表下发模块更新本地数据库,将它们存储在本地;
故障响应模块,用于负责协调全局的其他模块,故障响应模块从网络管理员获取网络已知的状态信息和流的需求输入,从网络状态获取模块处获取网络的拓扑等信息,调用备份路径生成模块生成备份路径,调用备份流表分配模块计算分配结果,调用备份流表下发模块将相应的备份流表下发给相应的交换机,根据备份路径更新模块的请求定期更新;
备份路径更新模块,用于更新备份路径,当备份路径更新模块认定当前网络的状态已经较上一个状态发生质的变化的时候,它将通知备份路径生成模块重新获取网络状态和输入需求,并重新构建备份路径。
10.如权利要求9所述的网络故障处理系统,其特征在于,当网络新增加一个边或者节点时,备份路径更新模块并不进行实时更新,仅记录下相应的状态变化,在全局定期更新时,这些累积的状态变化被考虑;当网络删除一个边或者节点时,备份路径更新模块立刻将用到这个组件的备份路径标记为不可用,并重新计算相应的备份路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610566566.XA CN105978741A (zh) | 2016-07-15 | 2016-07-15 | 一种网络故障处理方法和处理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610566566.XA CN105978741A (zh) | 2016-07-15 | 2016-07-15 | 一种网络故障处理方法和处理系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105978741A true CN105978741A (zh) | 2016-09-28 |
Family
ID=56952756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610566566.XA Withdrawn CN105978741A (zh) | 2016-07-15 | 2016-07-15 | 一种网络故障处理方法和处理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105978741A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106230650A (zh) * | 2016-09-30 | 2016-12-14 | 赛特斯信息科技股份有限公司 | SDN Overlay网络故障定位系统及方法 |
CN106953747A (zh) * | 2017-03-01 | 2017-07-14 | 浙江工商大学 | 一种基于深度学习的sdn网络自愈方法 |
CN108023739A (zh) * | 2016-10-31 | 2018-05-11 | 中国电信股份有限公司 | 保护倒换方法及控制器 |
CN108270669A (zh) * | 2016-12-30 | 2018-07-10 | 中兴通讯股份有限公司 | Sdn网络的业务恢复装置、主控制器、系统及方法 |
CN108566298A (zh) * | 2018-04-12 | 2018-09-21 | 联想(北京)有限公司 | 一种链路故障处理方法、交换机和链路故障处理系统 |
CN110166299A (zh) * | 2019-05-24 | 2019-08-23 | 新华三技术有限公司 | Sdn控制器配置恢复方法及装置 |
CN112907232A (zh) * | 2021-04-16 | 2021-06-04 | 广东电网有限责任公司清远供电局 | 电网业务端到端传输可靠性保障方法、装置、设备及存储介质 |
CN112995041A (zh) * | 2021-04-21 | 2021-06-18 | 北京国科天迅科技有限公司 | 网络通信方法、装置、电子设备及存储介质 |
CN113285871A (zh) * | 2020-02-19 | 2021-08-20 | 中国电信股份有限公司 | 链路保护方法、sdn控制器和通信网络系统 |
CN113365165A (zh) * | 2021-06-22 | 2021-09-07 | 烽火通信科技股份有限公司 | 一种传送网重路由业务动态切换的方法和设备 |
CN114640593A (zh) * | 2020-12-16 | 2022-06-17 | 中国科学院声学研究所 | 一种用于sdn与ip混合网络的加速路由信息传播的方法 |
CN116405375A (zh) * | 2023-06-09 | 2023-07-07 | 深圳和润达科技有限公司 | 基于多路径网络的数据传输和供电方法及系统 |
CN116819943A (zh) * | 2023-08-30 | 2023-09-29 | 浙江大学 | 一种可实现任务迁移柔性功能重构的控制系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2822241A1 (en) * | 2012-11-19 | 2015-01-07 | Huawei Technologies Co., Ltd. | Packet switching resource allocation method and device |
CN104580025A (zh) * | 2013-10-18 | 2015-04-29 | 华为技术有限公司 | 用于开放流网络中建立带内连接的方法和交换机 |
-
2016
- 2016-07-15 CN CN201610566566.XA patent/CN105978741A/zh not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2822241A1 (en) * | 2012-11-19 | 2015-01-07 | Huawei Technologies Co., Ltd. | Packet switching resource allocation method and device |
CN104580025A (zh) * | 2013-10-18 | 2015-04-29 | 华为技术有限公司 | 用于开放流网络中建立带内连接的方法和交换机 |
Non-Patent Citations (2)
Title |
---|
HENGTONG LI, QING LI, YONG JIANG, TING ZHANG, LEI WANG: "A Declarative Failure Recovery System in Software Defined Networks", 《2016 IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS (ICC)》 * |
龙飞: "OpenFlow 交换机关键技术研究与实现", 《中国优秀硕士学位论文全文数据库信息科技辑(月刊)》 * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106230650A (zh) * | 2016-09-30 | 2016-12-14 | 赛特斯信息科技股份有限公司 | SDN Overlay网络故障定位系统及方法 |
CN108023739A (zh) * | 2016-10-31 | 2018-05-11 | 中国电信股份有限公司 | 保护倒换方法及控制器 |
CN108270669A (zh) * | 2016-12-30 | 2018-07-10 | 中兴通讯股份有限公司 | Sdn网络的业务恢复装置、主控制器、系统及方法 |
CN108270669B (zh) * | 2016-12-30 | 2022-08-02 | 中兴通讯股份有限公司 | Sdn网络的业务恢复装置、主控制器、系统及方法 |
CN106953747A (zh) * | 2017-03-01 | 2017-07-14 | 浙江工商大学 | 一种基于深度学习的sdn网络自愈方法 |
CN108566298A (zh) * | 2018-04-12 | 2018-09-21 | 联想(北京)有限公司 | 一种链路故障处理方法、交换机和链路故障处理系统 |
CN110166299B (zh) * | 2019-05-24 | 2022-05-10 | 新华三技术有限公司 | Sdn控制器配置恢复方法及装置 |
CN110166299A (zh) * | 2019-05-24 | 2019-08-23 | 新华三技术有限公司 | Sdn控制器配置恢复方法及装置 |
CN113285871A (zh) * | 2020-02-19 | 2021-08-20 | 中国电信股份有限公司 | 链路保护方法、sdn控制器和通信网络系统 |
CN113285871B (zh) * | 2020-02-19 | 2022-08-12 | 中国电信股份有限公司 | 链路保护方法、sdn控制器和通信网络系统 |
CN114640593B (zh) * | 2020-12-16 | 2023-10-31 | 中国科学院声学研究所 | 一种用于sdn与ip混合网络的加速路由信息传播的方法 |
CN114640593A (zh) * | 2020-12-16 | 2022-06-17 | 中国科学院声学研究所 | 一种用于sdn与ip混合网络的加速路由信息传播的方法 |
CN112907232A (zh) * | 2021-04-16 | 2021-06-04 | 广东电网有限责任公司清远供电局 | 电网业务端到端传输可靠性保障方法、装置、设备及存储介质 |
CN112995041A (zh) * | 2021-04-21 | 2021-06-18 | 北京国科天迅科技有限公司 | 网络通信方法、装置、电子设备及存储介质 |
CN113365165B (zh) * | 2021-06-22 | 2022-07-08 | 烽火通信科技股份有限公司 | 一种传送网重路由业务动态切换的方法和设备 |
CN113365165A (zh) * | 2021-06-22 | 2021-09-07 | 烽火通信科技股份有限公司 | 一种传送网重路由业务动态切换的方法和设备 |
CN116405375A (zh) * | 2023-06-09 | 2023-07-07 | 深圳和润达科技有限公司 | 基于多路径网络的数据传输和供电方法及系统 |
CN116405375B (zh) * | 2023-06-09 | 2023-08-25 | 深圳和润达科技有限公司 | 基于多路径网络的数据传输和供电方法及系统 |
CN116819943A (zh) * | 2023-08-30 | 2023-09-29 | 浙江大学 | 一种可实现任务迁移柔性功能重构的控制系统及方法 |
CN116819943B (zh) * | 2023-08-30 | 2023-11-14 | 浙江大学 | 一种可实现任务迁移柔性功能重构的控制系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105978741A (zh) | 一种网络故障处理方法和处理系统 | |
CN103119900B (zh) | 通信系统、控制设备、节点控制方法和节点控制程序 | |
CN100505692C (zh) | 高性能路由器bgp路由协议分布并行实现方法 | |
TW202026896A (zh) | 在網路路由環境中的非同步物件管理機制 | |
US9794167B2 (en) | Bicasting using non-congruent paths in a loop-free routing topology having routing arcs | |
US9338086B2 (en) | Hierarchal label distribution and route installation in a loop-free routing topology using routing arcs at multiple hierarchal levels for ring topologies | |
CN101313528B (zh) | 一种多域路由计算方法和系统 | |
CN104717098B (zh) | 一种数据处理方法及装置 | |
CN100450039C (zh) | 快速收敛端到端业务的方法和装置 | |
CN102291455B (zh) | 分布式集群处理系统及其报文处理方法 | |
CN100454837C (zh) | 一种实现跨域路由分离的方法 | |
Wang et al. | Survivable virtual network mapping using optimal backup topology in virtualized SDN | |
CN103516602A (zh) | 服务工程路径的反馈回路 | |
CN106170952A (zh) | 用于在数据网络中部署最大冗余树的方法和系统 | |
CN103873379B (zh) | 一种基于重叠网的分布式路由抗毁策略配置方法和系统 | |
CN104202183B (zh) | 一种解决sdn流级别配置一致性更新的方法和装置 | |
CN109905251A (zh) | 网络管理方法、装置、电子设备和存储介质 | |
CN103957157B (zh) | 一种网络接口可定义转发规则的路由方法 | |
CN110198234A (zh) | 软件定义网络中虚拟交换机和虚拟网络功能联合部署方法 | |
CN105871718A (zh) | 一种sdn域间路由实现方法 | |
CN104380671A (zh) | 在分级、冗余、多播路由选择中增加失效覆盖 | |
CN103780419B (zh) | 一种分布式链路聚合组业务切换方法和装置 | |
CN104718729A (zh) | 控制装置及其控制方法和程序 | |
CN109246013A (zh) | 一种fc-ae-1553交换型网络中的路由方法 | |
Barakabitze et al. | Multipath protections and dynamic link recoveryin softwarized 5G networks using segment routing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20160928 |