CN105959217A - 一种sdn移动自组网的数据处理方法及装置 - Google Patents

一种sdn移动自组网的数据处理方法及装置 Download PDF

Info

Publication number
CN105959217A
CN105959217A CN201610390634.1A CN201610390634A CN105959217A CN 105959217 A CN105959217 A CN 105959217A CN 201610390634 A CN201610390634 A CN 201610390634A CN 105959217 A CN105959217 A CN 105959217A
Authority
CN
China
Prior art keywords
list item
stream
controller
message
calamity
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.)
Pending
Application number
CN201610390634.1A
Other languages
English (en)
Inventor
黄韬
杨帆
刘江
晏思宇
妥艳君
李吉良
刘玉贞
张学敏
张文志
候乐
刘韵洁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
CETC 54 Research Institute
Original Assignee
Beijing University of Posts and Telecommunications
CETC 54 Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications, CETC 54 Research Institute filed Critical Beijing University of Posts and Telecommunications
Priority to CN201610390634.1A priority Critical patent/CN105959217A/zh
Publication of CN105959217A publication Critical patent/CN105959217A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明实施例提供了一种SDN移动自组网的数据处理方法及装置,可以获得控制器与交换机的最新连接状态;当最新连接状态为断开时,对待处理的数据报文进行自学习并构造第一流表项;判断灾备流表中是否存在与该第一流表项的匹配域相同的流表项,如果是,将与该第一流表项的匹配域相同的流表项删除,将该第一流表项添加到灾备流表中;否则,将该第一流表项添加到灾备流表中;判断待处理的数据报文是否与添加到灾备流表中的第一流表项相匹配,如果是,根据灾备流表中的第一流表项对数据报文进行处理;否则,根据默认流表项对数据报文进行处理。因此,本发明提供的数据处理方法及装置可以缩短控制器失效时的故障恢复时间,提高网络的可靠性和稳定性。

Description

一种SDN移动自组网的数据处理方法及装置
技术领域
本发明涉及无线通信网络设计技术领域,特别是涉及一种SDN移动自组网的数据处理方法及装置。
背景技术
Ad Hoc网络是一种无中心无线网络,具有自组织和快速部署的优点,因此被广泛应用于军事、车载网、灾区营救和智慧城市等多领域。但是,Ad Hoc网络是一种分布式网络结构,其节点由移动中的主机构成,且所有节点处于对等地位,因此缺乏全网视图和集中式控制,对资源调度的灵活性不足。软件定义网络(Software Defined Networking,SDN)技术将网络在逻辑上分为控制平面和数据平面,网络的控制转发策略由控制层面的控制器进行集中部署,转发设备则在控制策略指导下专注于数据处理与转发,大大提高了网络灵活性和网络效率。因此,基于SDN的Ad Hoc网络应运而生。具体的,基于SDN的Ad Hoc网络选举某个移动节点作为控制器,将移动节点的控制功能集中在控制器中,控制器通过标准的南向接口向交换机下发流表,对交换机、数据报文的处理与转发进行集中控制,而其他移动节点作为交换机,只保留数据转发功能。因此,基于SDN的Ad Hoc网络可以很方便地获取全网视图,并且集中下发数据转发策略,这样Ad Hoc网络资源可以实现集中控制和资源灵活调度的功能,提高了网络运行效率。
但是,由于Ad hoc网络具有移动性强,网络动态拓扑变化和无线链路资源紧张等特点,当具备控制器功能的移动节点离开SDN网络时,导致底层交换机失去控制器控制,无法处理与转发新的数据报文,即使从其他节点中选举出新的控制器,这段选举切换时间也会导致通信的暂时性中断,导致基于SDN的Ad Hoc网络故障恢复时间长。该故障恢复时间具体是指,控制器断开后至交换机能够处理与转发新的数据报文所需要的时间。
目前,由开放式网络基金会(Open Network Foundation,ONF)提出的Openflow协议,以及支持Openflow协议的Open vSwitch(OVS)多层虚拟交换机,被广泛应用于基于SDN的Ad Hoc网络中以解决上述控制器失效后如何减短故障恢复时间的技术问题。OVS主要通过“失败独立模式”和“失败安全模式”两种工作模式解决上述问题。OVS既支持数据报文在Openflow通道的处理转发,又支持数据报文在传统通道的处理与转发,数据报文首先在Openflow通道进行处理,当Openflow通道无法处理时,转入传统通道进行处理。
OVS在“失败独立模式”下,若控制器连接正常,数据报文会正常匹配转发流表项,并根据匹配到的流表项的动作实现数据报文的转发与处理;若控制器连接断开,根据优先级的先后,如果数据报文首先匹配到的流表项的动作为转发给控制器,而此时因控制器断开,交换机无法将数据报文转发给控制器,但该流表项又存在一定的超时时间,在超时结束后该流表项才会被自动删除,数据报文才会去匹配优先级更低的流表项,例如动作为进入传统通道进行数据报文的处理与转发的流表项,从而保证控制器断开情况下的通信正常。可见,OVS在“失败独立模式”下,需要控制器定时维护优先级较高的特定流表项,在控制器断开后至该特定流表项超时期间,对于新的数据报文无法匹配到优先级更低的流表项而丢弃,影响正常通信,且该特定流表项的超时时间不能设置太小(一般大于1s),否则控制器下发该特定流表项的时间间隔过小,容易引起通信链路拥塞,从而影响流表项下发的及时性,因此故障恢复时间长。
OVS在“失败安全模式”下,OVS交换机周期性地向控制器发出echo消息作为探针进行连接状态探测,当5s内没有接收到控制器的echo消息回复,则从ACTIVE状态进入“IDLE”状态,然后再次发送echo消息作为探针进行连接状态探测,如果5s内仍未收到echo消息回复,则认定为连接断开。当控制器连接断开时,数据报文首先根据优先级的高低进行流表项的匹配,如果匹配不到,则会根据连接状态将没有匹配到流表项的数据报文匹配一条不可见的默认流表项,根据默认流表项的动作进行转发处理,从而保障控制器断开情况下的通信正常。但是OVS在“失败安全模式”下,当控制器断开时,获取连接状态的时间需要10s,因此,故障恢复时间也需要10s左右,因此,故障恢复时间长。
可见,无论OVS是哪种工作模式,在控制器失效的情况下,通信故障恢复的时间依然较长,严重影响了网络的可靠性和稳定性。
发明内容
本发明实施例的目的在于提供一种SDN移动自组网的数据处理方法及装置,以缩短控制器失效时的故障恢复时间,从而提高网络的可靠性和稳定性。
为达到上述目的,本发明实施例公开了一种SDN移动自组网的数据处理方法,应用于交换机,该方法包括如下步骤:
按照预设规则检测所述控制器与所述交换机的连接状态,获得最新连接状态;
当所述最新连接状态为断开时,对待处理的数据报文进行自学习,根据自学习结果构造第一流表项;
判断所述灾备流表中是否存在与所述第一流表项的匹配域相同的流表项,如果是,将所述与所述第一流表项的匹配域相同的流表项删除,并将所述第一流表项添加到所述灾备流表中;否则,将所述第一流表项添加到所述灾备流表中;其中,所述第一流表项的优先级高于所述灾备流表中的默认流表项;
判断所述待处理的数据报文是否与添加到所述灾备流表中的所述第一流表项相匹配,如果是,根据所述灾备流表中的所述第一流表项对所述数据报文进行处理;否则,根据所述默认流表项对所述数据报文进行处理。
优选的,所述交换机中还预先存储有控制器下发的正常转发流表,所述方法还包括:
当所述最新连接状态为正常时,将所述数据报文与所述正常转发流表进行匹配,获得相匹配的第二流表项,根据所述第二流表项对所述数据报文进行处理。
优选的,所述灾备流表还包括:安全限流流表项,且所述安全限流流表项的优先级最高;
所述安全限流流表项的匹配域中包含对数据报文进行限流的目的接收设备的地址信息。
优选的,所述对待处理的数据报文进行自学习,根据自学习结果构造第一流表项包括:
对待处理的数据报文的包头进行解析,提取数据报文包头中的信息;
根据提取的数据报文包头中的信息构造第一流表项。
优选的,所述按照预设规则检测所述控制器与所述交换机的连接状态包括:
向所述控制器发送第一Echo请求消息;
判断所述交换机是否在设定的超时时间长度内接收到所述控制器发送的消息,其中从所述交换机接收所述控制器发送的最后一条消息的时间开始对所述设定的超时时间长度进行计时;
如果否,确定所述控制器与所述交换机的最新连接状态为断开状态,如果是,确定所述控制器与所述交换机的最新连接状态为正常状态。
优选的,所述确定所述控制器与所述交换机的最新连接状态为正常状态包括:
当在设定的第一超时时间长度内未接收到所述控制器发送的消息时,确定所述控制器与所述交换机的最新连接状态为正常状态中的空闲状态;其中从所述交换机接收所述控制器发送的最后一条消息的时间开始对所述设定的第一超时时间长度进行计时;
当确定最新连接状态为空闲状态时,向所述控制器发送第二Echo请求消息;
当在设定的第二超时时间长度内接收到所述控制器发送的消息时,确定所述控制器与所述交换机的最新连接状态为正常状态中的活跃状态,其中所述设定的第一超时时间长度和设定的第二超时时间长度的和为所述设定的超时时间长度。
优选的,当确定所述控制器与所述交换机的最新连接状态为正常状态时,所述方法还包括:
当所述连接状态为活跃状态时,根据最近一次发送第一Echo请求消息的时间,及接收所述控制器针对该第一Echo请求消息发送的第一Echo响应消息的时间,对发送第一Echo请求消息的时间间隔、设定的第一超时时间长度和设定的第二超时时间长度进行调整;
当所述连接状态为空闲状态时,根据发送第二Echo请求消息的时间,及接收所述控制器针对该第二Echo请求消息发送的第二Echo响应消息的时间,对发送第一Echo请求消息的时间间隔、设定的第一超时时间长度进行调整。
本发明实施例还公开了SDN移动自组网的数据处理装置,应用于交换机,所述交换机中预先存储有控制器下发的灾备流表,所述灾备流表中预先存储有默认流表项,所述装置包括:连接状态检测模块、自学习模块、第一处理模块和第二处理模块,所述连接状态检测模块,用于按照预设规则检测所述控制器与所述交换机的连接状态,获得最新连接状态;
所述自学习模块,用于当所述最新连接状态为断开时,对待处理的数据报文进行自学习,根据自学习结果构造第一流表项;
所述第一处理模块,用于判断所述灾备流表中是否存在与所述第一流表项的匹配域相同的流表项,如果是,将所述与所述第一流表项的匹配域相同的流表项删除,并将所述第一流表项添加到所述灾备流表中;否则,将所述第一流表项添加到所述灾备流表中;其中,所述第一流表项的优先级高于所述灾备流表中的默认流表项;
所述第二处理模块,用于判断所述待处理的数据报文是否与添加到所述灾备流表中的所述第一流表项相匹配,如果是,根据所述灾备流表中的所述第一流表项对所述数据报文进行处理;否则,根据所述默认流表项对所述数据报文进行处理。
优选的,所述装置还包括:正常处理模块,
所述正常处理模块,用于在所述交换机中还预先存储有控制器下发的正常转发流表的情况下,当所述最新连接状态为正常时,将所述数据报文与所述正常转发流表进行匹配,获得相匹配的第二流表项,根据所述第二流表项对所述数据报文进行处理。
优选的,所述灾备流表还包括:安全限流流表项,且所述安全限流流表项的优先级最高;
所述安全限流流表项的匹配域中包含对数据报文进行限流的目的接收设备的地址信息。
本发明实施例提供的一种SDN移动自组网的数据处理方法及装置,应用于交换机,可以检测并获得控制器与交换机最新连接状态;当最新连接状态为断开时,对待处理的数据报文进行自学习,根据自学习结果构造第一流表项;判断灾备流表中是否存在与该第一流表项的匹配域相同的流表项,如果是,将与该第一流表项的匹配域相同的流表项删除,并将该第一流表项添加到灾备流表中;否则,将该第一流表项添加到灾备流表中;判断待处理的数据报文是否与添加到灾备流表中的第一流表项相匹配,如果是,根据灾备流表中的第一流表项对数据报文进行处理;否则,根据默认流表项对数据报文进行处理。因此,本发明提供的SDN移动自组网的数据处理方法及装置可以快速感知交换机与控制器连接故障的发生,当控制器断开时,新来的数据报文可以不用盲目地发送给控制器处理而是直接与连接状态断开时的灾备流表进行匹配,获得相应的处理策略,这缩短了故障恢复时间,提高了交换机的数据处理能力和效率,从而提高了网络的可靠性和稳定性;此外,在移动自组网络拓扑结构变化导致控制器失效时,本发明还可以根据连接状态的变化及时进行流表项的学习老化,防止网络拓扑结构变化后交换机仍使用旧的流表项,进一步提高了网络的可靠性。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种SDN移动自组网的数据处理方法流程图;
图2为本发明实施例提供的另一种SDN移动自组网的数据处理方法流程图;
图3为本发明实施例提供的控制器与交换机的一种连接状态检测原理示意图;
图4为本发明实施例提供的控制器与交换机连接状态转化关系示意图;
图5为本发明实施例提供的另一种SDN移动自组网的数据处理方法流程图;
图6为本发明实施例提供的另一种SDN移动自组网的数据处理方法流程图;
图7为本发明实施例提供的实际应用中的一种SDN移动自组网的数据处理方法流程图;
图8为本发明实施例提供的一种SDN移动自组网的数据处理装置结构图;
图9为本发明实施例提供的另一种SDN移动自组网的数据处理装置结构图;
图10为本发明实施例提供的另一种SDN移动自组网的数据处理装置结构图;
图11为本发明实施例提供的另一种SDN移动自组网的数据处理装置结构图;
图12为本发明实施例提供的实际应用中的一种SDN移动自组网的数据处理装置结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种SDN移动自组网的数据处理方法及一种SDN移动自组网的数据处理装置,应用于交换机,下面分别进行说明。
首先对一种SDN移动自组网的数据处理方法进行说明。
如图1所示,本发明实施例提供的一种SDN移动自组网的数据处理方法,应用于交换机,所述交换机中预先存储有控制器下发的灾备流表,所述灾备流表中预先存储有默认流表项,该方法可以包括:
S100、按照预设规则检测所述控制器与所述交换机的连接状态,获得最新连接状态;
首先,需要说明的是,本发明实施例中所说的交换机可以是支持Openflow协议的Open vSwitch(OVS)虚拟交换机,也可以是其他交换机,且本发明实施例中所说的交换机主要应用于基于SDN的Ad Hoc网络中,当然也可以应用于其他网络中。但为了方便说明,在本发明下述的实施方式中都是以应用于基于SDN的Ad Hoc网络中,并且支持Openflow协议的OVS交换机为例进行说明。
控制器连接状态检测机制主要基于有限状态机制实现。控制器与交换机的连接状态可以包括:正常状态和断开(DISCONNECTION)状态,其中正常状态又可以包括活跃(ACTIVE)状态和空闲(IDLE)状态。
S200、当所述最新连接状态为断开时,对待处理的数据报文进行自学习,根据自学习结果构造第一流表项;
其中,对待处理的的数据报文进行自学习,根据自学习结果构造第一流表项可以包括:
步骤一、对待处理的数据报文的包头进行解析,提取数据报文包头中的信息;
步骤二、根据提取的数据报文包头中的信息构造第一流表项。
具体的,第一流表项的目的地址匹配字段可以是数据报文的源mac地址,行为的转发出口就是数据报文的入端口,即进行自学习的数据报文可以为反向数据报文。
在本发明提供的实施例中,可以使OVS交换机在数据处理层面直接调用自学习功能,这样,一方面,在控制器断开的这种情况下,数据报文可以不用盲目地发送给控制器处理而直接在交换机中匹配连接状态断开时的灾备流表,并执行相应的处理策略,提高了交换机的数据处理能力和效率;在控制器连接正常的情况下,可以减少上交控制器的数据报文的数量,有效避免控制器处理延时,减轻控制器负担;另一方面,这更符合SDN网络将控制和转发分离的思想且增加了灵活性;此外,自学习产生的第一流表项和交换机中存储的灾备流表中的默认流表项的规则相同,即自学习产生的第一流表项也包括匹配域、计数器和动作,可以无差异的添加到原有的灾备流表中,保持了OpenFlow和SDN的原有的特性,从而也保证了网络的稳定性。另外,在移动自组网络拓扑结构变化导致控制器失效时,本发明可以根据连接状态的变化及时进行流表项的学习老化,防止网络拓扑结构变化后交换机仍使用旧的流表项,进一步提高了网络的可靠性。
S300、判断所述灾备流表中是否存在与所述第一流表项的匹配域相同的流表项,如果是,将所述与所述第一流表项的匹配域相同的流表项删除,并将所述第一流表项添加到所述灾备流表中;否则,将所述第一流表项添加到所述灾备流表中,其中所述第一流表项的优先级高于所述灾备流表中的默认流表项;
具体的,灾备流表可以为控制器预先下发给交换机的流表之一,流表中一般包含多个流表项,流表项包括:匹配域、计数器、动作。OpenFlow的匹配域(OpenFlow v1.3.1)用于对数据报文的包头等字段进行匹配,动作则指导匹配到流表项的数据报文的处理与转发。在实际应用中,待处理的数据报文先与优先级较高的流表项进行匹配,匹配不到时再与优先级较低的流表项进行匹配。灾备流表中预先存储有默认流表项,默认流表项的优先级最低。
具体的,如表1所示,灾备流表中的默认流表项的匹配域可以为与任意数据报文的包头等字段匹配,默认流表项的动作可以为泛洪(flood),即将数据报文从除该数据报文入端口外的所有端口转发出去。
表1灾备流表
具体的,表2为在表1的基础上***一条自学习获得的第一流表项后的灾备流表,其优先级高于默认流表项。
表2***一条第一流表项后的灾备流表
S400、判断所述待处理的数据报文是否与添加到所述灾备流表中的所述第一流表项相匹配,如果是,根据所述灾备流表中的所述第一流表项对所述数据报文进行处理;否则,根据所述默认流表项对所述数据报文进行处理。
具体的,当前待处理的数据报文首先与添加到灾备流表(如表2)中的第一流表项相匹配,如果匹配,根据第一流表项的动作对当前待处理的数据报文进行处理;否则,根据默认流表项的动作,对当前待处理的数据报文进行处理。
图2显示了步骤S100中“按照预设规则检测所述控制器与所述交换机的连接状态”的过程,该过程可以包括:
S101、向所述控制器发送第一Echo请求消息;
具体的,当交换机和控制器建立起OpenFlow连接后,进入活跃状态。然后,交换机向控制器发送第一个第一Echo请求消息(Echo request)作为探针进行连接状态跟踪检测。
S102、判断所述交换机是否在设定的超时时间长度内接收到所述控制器发送的消息,其中从所述交换机接收所述控制器发送的最后一条消息的时间开始对所述设定的超时时间长度进行计时;
具体的,判断交换机是否在设定的超时时间长度内接收到控制器发送的Openflow消息;其中,从交换机接收到控制器发送的最后一条Openflow消息的时间开始对所述设定的超时时间长度进行计时,即从Openflow消息的最后活跃时间开始对所述设定的超时时间长度进行计时;该Openflow消息可以是控制器发送给交换机的任何Openflow消息,包括针对第一个第一Echo请求消息的第一Echo响应消息(Echo reply)。
S103、如果否,确定所述控制器与所述交换机的最新连接状态为断开状态,如果是,确定所述控制器与所述交换机的最新连接状态为正常状态。
具体的,如果交换机在设定的超时时间长度内未收到控制器发送的Openflow消息,则确定所述控制器与所述交换机的最新连接状态为断开状态;如果交换机在设定的时间长度内收到了控制器发送的Openflow消息,则说明连接状态正常,并在一定的时间间隔后发送第二个第一Echo请求消息作为探针继续进行交换机与控制器的连接状态的跟踪检测。
具体的,如图3所示,前述设定的超时时间长度为设定的第一超时时间长度t1和设定的第二超时时间长度t2的和。步骤S103中确定所述控制器与所述交换机的最新连接状态为正常状态可以包括:
步骤一、当交换机在设定的第一超时时间长度t1内未接收到控制器发送的Openflow消息时,确定所述控制器与所述交换机的最新连接状态为正常状态中的空闲状态;同样的,从交换机接收到所述控制器发送的最后一条Openflow消息的时间开始对设定的第一超时时间长度t1进行计时,即从Openflow消息的最后活跃时间开始对设定的第一超时时间长度t1进行计时;
步骤二、当确定最新连接状态为空闲状态时,向所述控制器发送第二Echo请求消息;
步骤三、当在设定的第二超时时间长度t2内接收到所述控制器发送的消息时,确定所述控制器与所述交换机的最新连接状态为正常状态中的活跃状态,其中所述设定的第一超时时间长度和设定的第二超时时间长度的和为所述设定的超时时间长度。
在上述步骤三中,当在设定的第二超时时间长度t2内未接收到所述控制器发送的Openflow消息时,则控制器与交换机由空闲状态进入断开状态,即从Openflow消息的最后活跃时间开始至t1+t2的时间长度到期后,交换机一直未收到控制器发送的Openflow消息,说明控制器已失效,交换机陷入故障状态中。
当然,可以理解的是,还有另外一种情况,即当交换机收到控制器发送的即将主动断开连接的消息后,控制器直接由活跃状态进入断开状态。
图4显示了活跃、空闲和断开这三种状态的具体转化关系。
优选的,当所述连接状态为活跃状态时,交换机还可以根据最近一次发送第一Echo请求消息的时间,及接收所述控制器针对该第一Echo请求消息发送的第一Echo响应消息的时间,对发送第一Echo请求消息的时间间隔、设定的第一超时时间长度和设定的第二超时时间长度进行调整;当所述连接状态为空闲状态时,根据发送第二Echo请求消息的时间,及接收所述控制器针对该第二Echo请求消息发送的第二Echo响应消息的时间,对发送第一Echo请求消息的时间间隔、设定的第一超时时间长度进行调整。
具体的,如图3所示,当连接状态为活跃状态时,可以将交换机发送第一个第一Echo请求消息至接收到控制器发送的针对第一个第一Echo请求消息的第一Echo响应消息的时间长度计为T1,将接收到第一Echo响应消息至发送第二个第一Echo请求消息的时间长度计为T2,T1与T2的和即为交换机在活跃状态下发送第一Echo请求消息的时间间隔。交换机可以通过检测最近一次第一Echo请求消息的往返时延T1,动态调整第一Echo请求消息的发送间隔Tx、设定的第一超时时间长度t1和设定的第二超时时间长度t2;
具体的,当所述连接状态为空闲状态时,如果交换机在设定的第二超时时间内收到Openflow消息(可以是第二Echo响应消息),连接状态由空闲状态跳入活跃状态,可以根据发送第二Echo请求消息的时间,及接收所述控制器针对该第二Echo请求消息发送的第二Echo响应消息的时间,对发送第一Echo请求消息的时间间隔、设定的第一超时时间长度进行调整。
这样一方面可以实现Echo消息的智能管理,从而节省通信链路的资源,另一方面有助于缩短控制器失效后的故障恢复时间。
在传统解决方案中,交换机通过周期性地发送Echo消息进行连接状态检测,该周期较长(一般为5s)且固定不变,因此,不能根据链路状况(如链路拥塞影响echo消息的往返时间)动态调整echo消息的发送间隔,也不能及时检测到控制器连接失效的情况。而本发明提供的实施例对连接状态进行动态、实时的检测,可以快速感知交换机与控制器连接故障的发生,为缩短控制器失效时的故障恢复时间提供了有力帮助,提高了网络的可靠性。
如图5所示,在图1所示的实施例的基础上,本发明还提供了另一种SDN移动自组网的数据处理方法,所述交换机中还预先存储有控制器下发的正常转发流表,所述方法还可以包括:
S500、当所述最新连接状态为正常时,将所述数据报文与所述正常转发流表进行匹配,获得相匹配的第二流表项,根据所述第二流表项对所述数据报文进行处理。
即具体的,交换机中还预先存储有正常转发流表,当最新连接状态为正常时,将所述数据报文与所述正常转发流表进行匹配,获得相匹配的第二流表项,根据所述第二流表项对所述数据报文进行处理。
另外,由于本发明提供的数据处理方法可以实现所有数据报文在Openflow通道中的处理,而无需进入传统通道,因此,本发明提供的数据处理方法兼容性好,且更符合SDN网络中控制与转发分离的核心思想。
较佳的,如图6所示,在控制器与交换机的断开时,为了保证数据报文的安全性,本发明实施例还提供了另一种SDN移动自组网的数据处理方法,应用于交换机,所述交换机中预先存储有控制器下发的灾备流表,所述灾备流表中预先存储有默认流表项和安全限流流表项,其中,该安全限流流表项的优先级最高,该方法可以包括:
S010、按照预设规则检测所述控制器与所述交换机的连接状态,获得最新连接状态;
具体的,连接状态检测方法与图1所示的实施例中的方法一致,此处不再赘述。
S020、当所述最新连接状态为断开时,在存储的所述灾备流表中查找是否存在与当前待处理的数据报文匹配的安全限流流表项;如果是,根据该安全限流流表项对所述数据报文进行处理;否则,对待处理的数据报文进行自学习,根据自学习结果构造第一流表项;
具体的,灾备流表中可以预先存储有至少一条安全限流流表项;由于安全限流流表项在灾备流表中的优先级最高,因此,首先在灾备流表中查找是否存在与当前待处理的数据报文匹配的安全限流流表项,当找到与当前待处理的数据报文匹配的安全限流流表项时,根据该安全限流流表项对待处理的数据报文进行处理;当找不到与当前待处理的数据报文匹配的安全限流流表项时,再对待处理的数据报文进行自学习,根据自学习结果构造第一流表项。
具体的,如表3所示,安全限流流表项的匹配域中可以包含对数据报文进行限流的目的接收设备的地址信息,动作为丢弃或者发往目的接收设备,即交换机可以选择将当前待处理的数据报文进行丢弃,也可以选择将当前待处理的数据报文发往目的接收设备,还可以在将当前待处理的数据报文发往目的接收设备不成功时将待处理的数据报文丢弃。
表3含有安全限流流表项的灾备流表
S030、判断所述灾备流表中是否存在与所述第一流表项的匹配域相同的流表项,如果是,将所述与所述第一流表项的匹配域相同的流表项删除,并将所述第一流表项添加到所述灾备流表中;否则,将所述第一流表项添加到所述灾备流表中,其中所述第一流表项的优先级高于所述灾备流表中的默认流表项;
其中,构造第一流表项的方法与图1所示的实施例中的方法一致,此处不再赘述。
S040、判断所述待处理的数据报文是否与添加到所述灾备流表中的所述第一流表项相匹配,如果是,根据所述灾备流表中的所述第一流表项对所述数据报文进行处理;否则,根据所述默认流表项对所述数据报文进行处理。
本发明图6所示的实施例提供的数据处理方法,可以保证具有安全要求的特定数据报文的安全性,解决了现有技术中,当控制器和交换机的连接断开后,对所有的数据报文都按默认流表项进行处理时,即将数据报文从除该数据报文入端口外的所有端口转发出去,导致对有安全要求的特定数据报文失去控制,从而降低通信安全的问题。
由于在实际应用中,当数据报文进入交换机时,首先在交换机的内核层中查找匹配的流表项,如果查找到相匹配的流表项,则根据该流表项对数据报文进行处理;如果没有查找到相匹配的流表项,则将数据报文发送给用户层,并在用户层中查找匹配的流表项,并根据查找到的相匹配的流表项对数据报文进行处理,同时将该相匹配的流表项发给内核层进行缓存,以使交换机下次接收到与本次处理的数据报文相同的数据报文时,直接在内核层进行处理,提高数据报文处理效率。因此,如图7所示,本发明实施例还提供了在实际应用中的一种SDN移动自组网的数据处理方法,应用于交换机,交换机中预先存储有状态控制流表、正常转发流表和灾备流表,所述灾备流表中预先存储有默认流表项,该方法可以包括:
S001、按照预设规则检测所述控制器与所述交换机的连接状态,获得最新连接状态;
具体的,连接状态的检测方法与步骤S100中的方法一致,此处不再赘述。
S002、在交换机的内核层中,利用交换机与控制器的最新连接状态作为待处理的数据报文的元数据,构造带有连接状态的第一查找Key;
具体的,当交换机接收到数据报文后,交换机内核层会调用Key值提取函数解析数据报文包头各个字段,然后合并最新连接状态构造第一查找Key。
S003、将该第一查找key与内核层中缓存的流表进行匹配;当在内核层中缓存的流表中没有查找到与该第一查找key相匹配的的流表项时,将待处理的数据报文及第一查找key发送至交换机的用户层;
S004、在交换机的用户层中,将第一查找key更新为带有当前最新连接状态的第二查找key;
经过步骤S003和步骤S004的处理,实现了连接状态在内核层与用户层中与查找key的双同步与封装,即第一查找key和第二查找key中均封装有最新的连接状态,可以提高交换机对连接状态感知的实时性与准确性,从而尽可能地减小了连接状态转换对网络通信的影响。
S005、将该第二查找key与状态控制流表进行匹配;当第二查找key与所述状态控制流表中的匹配域为连接状态为断开的流表项匹配时,跳转到灾备流表;
具体的,该灾备流表可以包括安全限流流表项(如表3),也可以不包括安全限流流表项(如表2);
具体的,状态控制流表可以包括匹配域分别为连接状态为正常和连接状态为断开的两条流表项,如表4。当第二查找key中封装的最新连接状态为正常时,与表4中的第二条流表项相匹配,然后执行该第二条流表项的动作,即跳转到表5,表5为正常转发流表;
具体的,当第二查找key中封装的最新连接状态为断开时,与表4中的第一条流表项相匹配,然后执行该第一条流表项的动作,即跳转到上文中的灾备流表2,或者,优选的,跳转到上文中的灾备流表3。当跳转到表3时,首先在表3中查找是否存在与当前待处理的数据报文匹配的安全限流流表项;如果是,根据该安全限流流表项对所述数据报文进行处理;否则,执行步骤S006。
表4为本发明实施例在实际应用时采用的状态控制流表。
表4状态控制流表
表5正常转发流表
S006、对待处理的数据报文进行自学习,根据自学习结果构造第一流表项;判断所述灾备流表中是否存在与所述第一流表项的匹配域相同的流表项,如果是,将所述与所述第一流表项的匹配域相同的流表项删除,并将所述第一流表项添加到所述灾备流表中;否则,将所述第一流表项添加到所述灾备流表中,其中所述第一流表项的优先级高于所述灾备流表中的默认流表项;
具体的,对数据报文进行自学习的过程与图1所示的方法实施例中的过程一致,此处不再赘述。
具体的,将根据自学习结果构造的第一流表项添加到表2中;或者,判断表3中已经存在的第一流表项的匹配域是否相同,如果是,将表3中已经存在的第一流表项删除,将当前自学习获得的第一流表项添加到表3中,否则,直接将当前自学习获得的第一流表项添加到表3中,此时表3中存在两条自学习获得的第一流表项。
S007、判断第二查找key是否与添加到所述灾备流表中的所述第一流表项相匹配,如果是,根据所述灾备流表中的所述第一流表项对所述数据报文进行处理;否则,根据所述默认流表项对所述数据报文进行处理。
本发明实施例提供的一种SDN移动自组网的数据处理方法,应用于交换机,可以检测并获得控制器与交换机最新连接状态;当最新连接状态为断开时,对待处理的数据报文进行自学习,根据自学习结果构造第一流表项;判断灾备流表中是否存在与该第一流表项的匹配域相同的流表项,如果是,将与该第一流表项的匹配域相同的流表项删除,并将该第一流表项添加到灾备流表中;否则,将该第一流表项添加到灾备流表中;判断待处理的数据报文是否与添加到灾备流表中的第一流表项相匹配,如果是,根据灾备流表中的第一流表项对数据报文进行处理;否则,根据默认流表项对数据报文进行处理。因此,本发明提供的SDN移动自组网的数据处理方法可以快速感知交换机与控制器连接故障的发生,当控制器断开时,新来的数据报文可以不用盲目地发送给控制器处理而是直接与连接状态断开时的灾备流表进行匹配,获得相应的处理策略,这缩短了故障恢复时间,提高了交换机的数据处理能力和效率,从而提高了网络的可靠性和稳定性;此外,在移动自组网络拓扑结构变化导致控制器失效时,本发明可以根据连接状态的变化及时进行流表项的学习老化,防止网络拓扑结构变化后交换机仍使用旧的流表项,进一步提高了网络的可靠性。
相应于图1所示的方法实施例,如图8所示,本发明还提供了一种SDN移动自组网的数据处理装置,应用于交换机,所述交换机中预先存储有控制器下发的灾备流表,所述灾备流表中预先存储有默认流表项,该装置可以包括:连接状态检测模块100、自学习模块200、第一处理模块300和第二处理模块400,
连接状态检测模块100,用于按照预设规则检测所述控制器与所述交换机的连接状态,获得最新连接状态;
同样需要说明的是,本发明实施例中所说的交换机可以是支持Openflow协议的Open vSwitch(OVS)虚拟交换机,也可以是其他交换机,且本发明实施例中所说的交换机主要应用于基于SDN的Ad Hoc网络中,当然也可以应用于其他网络中。
具体的,控制器连接状态的类型与图1所示的方法实施例中一致,此处不再赘述。
自学习模块200,用于当所述最新连接状态为断开时,对待处理的数据报文进行自学习,根据自学习结果构造第一流表项;
具体的,灾备流表为控制器预先下发给交换机的流表之一,流表中一般包含多个流表项,流表项主要由三部分组成:匹配域、计数器、动作。OpenFlow的匹配域(OpenFlow v1.3.1)用于对数据报文的包头等字段进行匹配,动作则指导匹配到流表项的数据报文的处理与转发。在实际应用中,待处理的数据报文先与优先级较高的流表项进行匹配,匹配不到时再与优先级较低的流表项进行匹配。灾备流表中预先存储有默认流表项,默认流表项的优先级最低。
第一处理模块300,用于判断所述灾备流表中是否存在与所述第一流表项的匹配域相同的流表项,如果是,将所述与所述第一流表项的匹配域相同的流表项删除,并将所述第一流表项添加到所述灾备流表中;否则,将所述第一流表项添加到所述灾备流表中,其中所述第一流表项的优先级高于所述灾备流表中的默认流表项;
第二处理模块400,用于判断所述待处理的数据报文是否与添加到所述灾备流表中的所述第一流表项相匹配,如果是,根据所述灾备流表中的所述第一流表项对所述数据报文进行处理;否则,根据所述默认流表项对所述数据报文进行处理。
具体的,如图9所示,连接状态检测模块100可以包括:第一请求子模块101、第一判断子模块102和状态确定子模块103,
第一请求子模块101,用于向所述控制器发送第一Echo请求消息;
第一判断子模块102,用于判断是否在设定的超时时间长度内接收到所述控制器发送的信息,其中从所述交换机接收所述控制器发送的最后一条信息的时间开始对所述设定的超时时间长度进行计时;
具体的,从交换机接收到控制器发送的最后一条Openflow消息的时间开始对所述设定的超时时间长度进行计时,即从Openflow消息的最后活跃时间开始对所述设定的时间长度进行计时;该Openflow消息可以是控制器发送给交换机的任何Openflow消息,包括针对第一个第一Echo请求消息的第一Echo响应消息(Echo reply)。
状态确定子模块103,用于在所述第一判断模子块获得的判断结果为否时,确定所述控制器与所述交换机的最新连接状态为断开状态;用于在所述第一判断模子块获得的判断结果为是时,确定所述控制器与所述交换机的最新连接状态为正常状态。
其中,状态确定模块子103可以包括:第一状态确定子模块、第二请求子模块和第二状态确定子模块,
第一状态确定子模块,用于当在设定的第一超时时间长度内未接收到所述控制器发送的消息时,确定所述控制器与所述交换机的最新连接状态为正常状态中的空闲状态;其中从所述交换机接收所述控制器发送的最后一条消息的时间开始对所述设定的第一超时时间长度进行计时;
第二请求子模块,用于当确定最新连接状态为空闲状态时,向所述控制器发送第二Echo请求消息;
第二状态确定子模块,用于当在设定的第二超时时间长度内接收到所述控制器发送的消息时,确定所述控制器与所述交换机的最新连接状态为正常状态中的活跃状态,其中所述设定的第一超时时间长度和设定的第二超时时间长度的和为所述设定的超时时间长度。
具体的,确定设定的超时时间长度、设定的第一超时时间长度和设定的第二超时时间长度的过程,以及确定活跃、空闲和断开这三种状态的相互转化时的条件的过程,与图1所示的方法实施例中描述的一致,此处不再赘述。
同样较佳的,在图9所示的数据处理装置的基础上,该装置还可以包括:第一调整模块和第二调整模块,
第一调整模块,用于当所述连接状态为活跃状态时,根据最近一次发送第一Echo请求消息的时间,及接收所述控制器针对该第一Echo请求消息发送的第一Echo响应消息的时间,对下一次发送第一Echo请求消息的时间间隔、设定的第一超时时间长度和设定的第二超时时间长度进行调整;
第二调整模块,用于当所述连接状态为空闲状态时,根据发送第二Echo请求消息的时间,及接收所述控制器针对该第二Echo请求消息发送的第二Echo响应消息的时间,对发送第一Echo请求消息的时间间隔、设定的第一超时时间长度进行调整。
在传统解决方案中,交换机通过周期性地发送Echo消息进行连接状态检测,该周期较长(一般为5s)且固定不变,因此,不能根据链路状况(如链路拥塞影响echo消息的往返时间)动态调整echo消息的发送间隔,也不能及时检测到控制器连接失效的情况。而本发明提供的实施例对连接状态进行动态、实时的检测,可以快速感知交换机与控制器连接故障的发生,为缩短控制器失效时的故障恢复时间提供了有力帮助,提高了网络的可靠性。
具体的,第一处理模块300可以包括:解析子模块和流表项构造子模块,
解析子模块,用于对待处理的数据报文的包头进行解析,提取数据报文包头中的信息;
流表项构造子模块,用于根据提取的数据报文包头中的信息构造第一流表项。
具体的,第一流表项的目的地址匹配字段可以是数据报文的源mac地址,行为的转发出口就是数据报文的入端口,即进行自学习的数据报文可以为反向数据报文。
如图10所示,在图8所示的数据处理装置的基础上,本发明还提供了另一种SDN移动自组网的数据处理装置,所述交换机中还预先存储有控制器下发的正常转发流表,该装置还可以包括:正常处理模块500,
正常处理模块500,用于在所述交换机中还预先存储有控制器下发的正常转发流表的情况下,当所述最新连接状态为正常时,将所述数据报文与所述正常转发流表进行匹配,获得相匹配的第二流表项,根据所述第二流表项对所述数据报文进行处理。
相应于图6所示的方法实施例,如图11所示,本发明实施例还提供了另一种SDN移动自组网的数据处理装置,应用于交换机,所述交换机中预先存储有控制器下发的灾备流表,所述灾备流表中预先存储有默认流表项和安全限流流表项,其中,该安全限流流表项的优先级最高,该装置可以包括:第一连接状态检测模块010、第一查找模块020、第三处理模块030和第四处理模块040,
第一连接状态检测模块010,用于按照预设规则检测所述控制器与所述交换机的连接状态,获得最新连接状态;
具体的,连接状态检测方法与图1所示的实施例中的方法一致,此处不再赘述。
第一查找模块020,用于当所述最新连接状态为断开时,在存储的所述灾备流表中查找是否存在与当前待处理的数据报文匹配的安全限流流表项;如果是,根据该安全限流流表项对所述数据报文进行处理;否则,对待处理的数据报文进行自学习,根据自学习结果构造第一流表项;
具体的,灾备流表中可以预先存储有至少一条安全限流流表项;由于安全限流流表项在灾备流表中的优先级最高,因此,首先在灾备流表中查找是否存在与当前待处理的数据报文匹配的安全限流流表项,当找到与当前待处理的数据报文匹配的安全限流流表项时,根据该安全限流流表项对待处理的数据报文进行处理;当找不到与当前待处理的数据报文匹配的安全限流流表项时,再对待处理的数据报文进行自学习,根据自学习结果构造第一流表项。
第三处理模块030,用于判断所述灾备流表中是否存在与所述第一流表项的匹配域相同的流表项,如果是,将所述与所述第一流表项的匹配域相同的流表项删除,并将所述第一流表项添加到所述灾备流表中;否则,将所述第一流表项添加到所述灾备流表中,其中所述第一流表项的优先级高于所述灾备流表中的默认流表项;
其中,构造第一流表项的方法与图1所示的实施例中的方法一致,此处不再赘述。
第四处理模块040,用于判断所述待处理的数据报文是否与添加到所述灾备流表中的所述第一流表项相匹配,如果是,根据所述灾备流表中的所述第一流表项对所述数据报文进行处理;否则,根据所述默认流表项对所述数据报文进行处理。
本发明图11提供的数据处理装置,可以保证具有安全要求的特定数据报文的安全性,解决了现有技术中,当控制器和交换机的连接断开后,对所有的数据报文都按默认流表项进行处理时,即将数据报文从除该数据报文入端口外的所有端口转发出去,导致对有安全要求的特定数据报文失去控制,从而降低通信安全的问题。
相应于图7所示的实际应用中的一种SDN移动自组网的数据处理方法,如图12所示,本发明实施例还提供了一种实际应用中的一种SDN移动自组网的数据处理装置,应用于交换机,交换机中预先存储有状态控制流表、正常转发流表和灾备流表,所述灾备流表中预先存储有默认流表项,该装置可以包括:状态处理模块001、第一查找key构造模块002、第一流表匹配模块003、第二查找key构造模块004、第二流表匹配模块005、第一数据处理模块006和第二数据处理模块007,
状态处理模块001,用于按照预设规则检测所述控制器与所述交换机的连接状态,获得最新连接状态;
第一查找key构造模块002,用于在交换机的内核层中,利用交换机与控制器的最新连接状态作为待处理的数据报文的元数据,构造带有连接状态的第一查找Key;
第一流表匹配模块003,用于将该第一查找key与内核层中缓存的流表进行匹配;当在内核层中缓存的流表中没有查找到与该第一查找key相匹配的的流表项时,将待处理的数据报文及第一查找key发送至交换机的用户层;
第二查找key构造模块004,用于在交换机的用户层中,将第一查找key更新为带有当前最新连接状态的第二查找key;
第二流表匹配模块005,用于将该第二查找key与状态控制流表进行匹配;当第二查找key与所述状态控制流表中的匹配域为连接状态为断开的流表项匹配时,跳转到灾备流表;
具体的,该灾备流表可以包括安全限流流表项,也可以不包括安全限流流表项。
第一数据处理模块006,用于对待处理的数据报文进行自学习,根据自学习结果构造第一流表项;判断所述灾备流表中是否存在与所述第一流表项的匹配域相同的流表项,如果是,将所述与所述第一流表项的匹配域相同的流表项删除,并将所述第一流表项添加到所述灾备流表中;否则,将所述第一流表项添加到所述灾备流表中,其中所述第一流表项的优先级高于所述灾备流表中的默认流表项;
第二数据处理模块007,用于判断第二查找key是否与添加到所述灾备流表中的所述第一流表项相匹配,如果是,根据所述灾备流表中的所述第一流表项对所述数据报文进行处理;否则,根据所述默认流表项对所述数据报文进行处理。
本发明实施例提供的一种SDN移动自组网的数据处理装置,应用于交换机,可以检测并获得控制器与交换机最新连接状态;当最新连接状态为断开时,对待处理的数据报文进行自学习,根据自学习结果构造第一流表项;判断灾备流表中是否存在与该第一流表项的匹配域相同的流表项,如果是,将与该第一流表项的匹配域相同的流表项删除,并将该第一流表项添加到灾备流表中;否则,将该第一流表项添加到灾备流表中;判断待处理的数据报文是否与添加到灾备流表中的第一流表项相匹配,如果是,根据灾备流表中的第一流表项对数据报文进行处理;否则,根据默认流表项对数据报文进行处理。因此,本发明提供的SDN移动自组网的数据处理装置可以快速感知交换机与控制器连接故障的发生,当控制器断开时,新来的数据报文可以不用盲目地发送给控制器处理而是直接与连接状态断开时的灾备流表进行匹配,获得相应的处理策略,这缩短了故障恢复时间,提高了交换机的数据处理能力和效率,从而提高了网络的可靠性和稳定性;此外,在移动自组网络拓扑结构变化导致控制器失效时,本发明可以根据连接状态的变化及时进行流表项的学习老化,防止网络拓扑结构变化后交换机仍使用旧的流表项,进一步提高了网络的可靠性。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种SDN移动自组网的数据处理方法,其特征在于,应用于交换机,所述交换机中预先存储有控制器下发的灾备流表,所述灾备流表中预先存储有默认流表项,所述方法包括如下步骤:
按照预设规则检测所述控制器与所述交换机的连接状态,获得最新连接状态;
当所述最新连接状态为断开时,对待处理的数据报文进行自学习,根据自学习结果构造第一流表项;
判断所述灾备流表中是否存在与所述第一流表项的匹配域相同的流表项,如果是,将所述与所述第一流表项的匹配域相同的流表项删除,并将所述第一流表项添加到所述灾备流表中;否则,将所述第一流表项添加到所述灾备流表中;其中,所述第一流表项的优先级高于所述灾备流表中的默认流表项;
判断所述待处理的数据报文是否与添加到所述灾备流表中的所述第一流表项相匹配,如果是,根据所述灾备流表中的所述第一流表项对所述数据报文进行处理;否则,根据所述默认流表项对所述数据报文进行处理。
2.根据权利要求1所述的方法,其特征在于,所述交换机中还预先存储有控制器下发的正常转发流表,所述方法还包括:
当所述最新连接状态为正常时,将所述数据报文与所述正常转发流表进行匹配,获得相匹配的第二流表项,根据所述第二流表项对所述数据报文进行处理。
3.根据权利要求1所述的方法,其特征在于,所述灾备流表还包括:安全限流流表项,且所述安全限流流表项的优先级最高;
所述安全限流流表项的匹配域中包含对数据报文进行限流的目的接收设备的地址信息。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述对待处理的数据报文进行自学习,根据自学习结果构造第一流表项包括:
对待处理的数据报文的包头进行解析,提取数据报文包头中的信息;
根据提取的数据报文包头中的信息构造第一流表项。
5.根据权利要求1所述的方法,其特征在于,所述按照预设规则检测所述控制器与所述交换机的连接状态包括:
向所述控制器发送第一Echo请求消息;
判断所述交换机是否在设定的超时时间长度内接收到所述控制器发送的消息,其中从所述交换机接收所述控制器发送的最后一条消息的时间开始对所述设定的超时时间长度进行计时;
如果否,确定所述控制器与所述交换机的最新连接状态为断开状态,如果是,确定所述控制器与所述交换机的最新连接状态为正常状态。
6.根据权利要求5所述的方法,其特征在于,所述确定所述控制器与所述交换机的最新连接状态为正常状态包括:
当在设定的第一超时时间长度内未接收到所述控制器发送的消息时,确定所述控制器与所述交换机的最新连接状态为正常状态中的空闲状态;其中从所述交换机接收所述控制器发送的最后一条消息的时间开始对所述设定的第一超时时间长度进行计时;
当确定最新连接状态为空闲状态时,向所述控制器发送第二Echo请求消息;
当在设定的第二超时时间长度内接收到所述控制器发送的消息时,确定所述控制器与所述交换机的最新连接状态为正常状态中的活跃状态,其中所述设定的第一超时时间长度和设定的第二超时时间长度的和为所述设定的超时时间长度。
7.根据权利要求6所述的方法,其特征在于,当确定所述控制器与所述交换机的最新连接状态为正常状态时,所述方法还包括:
当所述连接状态为活跃状态时,根据最近一次发送第一Echo请求消息的时间,及接收所述控制器针对该第一Echo请求消息发送的第一Echo响应消息的时间,对发送第一Echo请求消息的时间间隔、设定的第一超时时间长度和设定的第二超时时间长度进行调整;
当所述连接状态为空闲状态时,根据发送第二Echo请求消息的时间,及接收所述控制器针对该第二Echo请求消息发送的第二Echo响应消息的时间,对发送第一Echo请求消息的时间间隔、设定的第一超时时间长度进行调整。
8.一种SDN移动自组网的数据处理装置,其特征在于,应用于交换机,所述交换机中预先存储有控制器下发的灾备流表,所述灾备流表中预先存储有默认流表项,所述装置包括:连接状态检测模块、自学习模块、第一处理模块和第二处理模块,
所述连接状态检测模块,用于按照预设规则检测所述控制器与所述交换机的连接状态,获得最新连接状态;
所述自学习模块,用于当所述最新连接状态为断开时,对待处理的数据报文进行自学习,根据自学习结果构造第一流表项;
所述第一处理模块,用于判断所述灾备流表中是否存在与所述第一流表项的匹配域相同的流表项,如果是,将所述与所述第一流表项的匹配域相同的流表项删除,并将所述第一流表项添加到所述灾备流表中;否则,将所述第一流表项添加到所述灾备流表中;其中,所述第一流表项的优先级高于所述灾备流表中的默认流表项;
所述第二处理模块,用于判断所述待处理的数据报文是否与添加到所述灾备流表中的所述第一流表项相匹配,如果是,根据所述灾备流表中的所述第一流表项对所述数据报文进行处理;否则,根据所述默认流表项对所述数据报文进行处理。
9.根据权利要求8所述的装置,其特征在于,还包括:正常处理模块,
所述正常处理模块,用于在所述交换机中还预先存储有控制器下发的正常转发流表的情况下,当所述最新连接状态为正常时,将所述数据报文与所述正常转发流表进行匹配,获得相匹配的第二流表项,根据所述第二流表项对所述数据报文进行处理。
10.根据权利要求8所述的装置,其特征在于,所述灾备流表还包括:安全限流流表项,且所述安全限流流表项的优先级最高;
所述安全限流流表项的匹配域中包含对数据报文进行限流的目的接收设备的地址信息。
CN201610390634.1A 2016-06-06 2016-06-06 一种sdn移动自组网的数据处理方法及装置 Pending CN105959217A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610390634.1A CN105959217A (zh) 2016-06-06 2016-06-06 一种sdn移动自组网的数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610390634.1A CN105959217A (zh) 2016-06-06 2016-06-06 一种sdn移动自组网的数据处理方法及装置

Publications (1)

Publication Number Publication Date
CN105959217A true CN105959217A (zh) 2016-09-21

Family

ID=56907712

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610390634.1A Pending CN105959217A (zh) 2016-06-06 2016-06-06 一种sdn移动自组网的数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN105959217A (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106936720A (zh) * 2017-04-27 2017-07-07 北京东土科技股份有限公司 一种sdn交换机运行方法、控制器和交换机
CN107196854A (zh) * 2017-06-20 2017-09-22 西安交通大学 一种软件定义网络中数据平面异常处理方法
CN107347023A (zh) * 2017-07-13 2017-11-14 合肥工业大学 一种面向节点请求可靠性的sdn控制器部署方法
CN107947977A (zh) * 2017-11-21 2018-04-20 北京邮电大学 一种交换机的配置方法、装置、电子设备及存储介质
CN108494657A (zh) * 2018-04-08 2018-09-04 苏州云杉世纪网络科技有限公司 基于Open vSwitch的OpenStack云平台虚拟探针镜像方法
WO2018188569A1 (zh) * 2017-04-11 2018-10-18 华为技术有限公司 一种转发数据报文的方法、设备和***
CN109039914A (zh) * 2018-08-23 2018-12-18 迈普通信技术股份有限公司 报文处理方法、装置及电子设备
CN110324245A (zh) * 2018-03-31 2019-10-11 华为技术有限公司 一种基于集成流表转发报文的方法及装置
CN110380969A (zh) * 2019-07-12 2019-10-25 中国电信集团工会上海市委员会 一种基于域名的流量调度方法及***
CN110891020A (zh) * 2019-12-24 2020-03-17 中国电子科技集团公司第五十四研究所 一种sdn带内控制网络的流表数量优化方法
CN111697997A (zh) * 2020-05-29 2020-09-22 国网河北省电力有限公司电力科学研究院 一种基于抄控器的hplc模块快速检测装置及方法
CN114338194A (zh) * 2021-12-30 2022-04-12 苏州浪潮智能科技有限公司 一种基于sdn网络的应用层报文防火墙方法、装置及介质
CN115225503A (zh) * 2022-05-16 2022-10-21 北京邮电大学 OpenFlow流表项动态超时分配方法及相关设备
CN115442292A (zh) * 2022-08-29 2022-12-06 中国联合网络通信集团有限公司 数据流表的调整方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015004558A1 (en) * 2013-07-08 2015-01-15 Telefonaktiebolaget L M Ericsson (Publ) Methods of operating load balancing switches and controllers using matching patterns with unrestricted characters
CN104580472A (zh) * 2015-01-09 2015-04-29 杭州华三通信技术有限公司 流表项处理方法以及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015004558A1 (en) * 2013-07-08 2015-01-15 Telefonaktiebolaget L M Ericsson (Publ) Methods of operating load balancing switches and controllers using matching patterns with unrestricted characters
CN104580472A (zh) * 2015-01-09 2015-04-29 杭州华三通信技术有限公司 流表项处理方法以及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
TAO HUANG ET AL.: "《Building SDN-Based Agricultural Vehicular Sensor Networks Based on Extended Open vSwitch》", 《SENSORS》 *
晏思宇 等: "《基于OVS 的SDN 移动自组网络架构设计及实现》", 《无线电通信技术》 *

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3588876A4 (en) * 2017-04-11 2020-02-19 Huawei Technologies Co., Ltd. METHOD, DEVICE AND SYSTEM FOR FORWARDING DATA MESSAGES
US11146488B2 (en) 2017-04-11 2021-10-12 Huawei Technologies Co., Ltd. Data packet forwarding method, device, and system
WO2018188569A1 (zh) * 2017-04-11 2018-10-18 华为技术有限公司 一种转发数据报文的方法、设备和***
CN108696434A (zh) * 2017-04-11 2018-10-23 华为技术有限公司 一种转发数据报文的方法、设备和***
CN108696434B (zh) * 2017-04-11 2022-01-14 华为技术有限公司 一种转发数据报文的方法、设备和***
CN106936720A (zh) * 2017-04-27 2017-07-07 北京东土科技股份有限公司 一种sdn交换机运行方法、控制器和交换机
CN106936720B (zh) * 2017-04-27 2019-08-09 北京东土科技股份有限公司 一种sdn交换机运行方法、控制器和交换机
CN107196854A (zh) * 2017-06-20 2017-09-22 西安交通大学 一种软件定义网络中数据平面异常处理方法
CN107196854B (zh) * 2017-06-20 2020-08-25 西安交通大学 一种软件定义网络中数据平面异常处理方法
CN107347023A (zh) * 2017-07-13 2017-11-14 合肥工业大学 一种面向节点请求可靠性的sdn控制器部署方法
CN107347023B (zh) * 2017-07-13 2019-09-13 合肥工业大学 一种面向节点请求可靠性的sdn控制器部署方法
CN107947977B (zh) * 2017-11-21 2019-11-19 北京邮电大学 一种交换机的配置方法、装置、电子设备及存储介质
CN107947977A (zh) * 2017-11-21 2018-04-20 北京邮电大学 一种交换机的配置方法、装置、电子设备及存储介质
CN110324245B (zh) * 2018-03-31 2021-03-23 华为技术有限公司 一种基于集成流表转发报文的方法及装置
US11496393B2 (en) 2018-03-31 2022-11-08 Huawei Technologies Co., Ltd. Method and apparatus for forwarding packet based on integrated flow table
CN110324245A (zh) * 2018-03-31 2019-10-11 华为技术有限公司 一种基于集成流表转发报文的方法及装置
CN108494657A (zh) * 2018-04-08 2018-09-04 苏州云杉世纪网络科技有限公司 基于Open vSwitch的OpenStack云平台虚拟探针镜像方法
CN108494657B (zh) * 2018-04-08 2020-08-28 苏州云杉世纪网络科技有限公司 基于Open vSwitch的OpenStack云平台虚拟探针镜像方法
CN109039914A (zh) * 2018-08-23 2018-12-18 迈普通信技术股份有限公司 报文处理方法、装置及电子设备
CN109039914B (zh) * 2018-08-23 2020-11-27 迈普通信技术股份有限公司 报文处理方法、装置及电子设备
CN110380969A (zh) * 2019-07-12 2019-10-25 中国电信集团工会上海市委员会 一种基于域名的流量调度方法及***
CN110891020A (zh) * 2019-12-24 2020-03-17 中国电子科技集团公司第五十四研究所 一种sdn带内控制网络的流表数量优化方法
CN111697997A (zh) * 2020-05-29 2020-09-22 国网河北省电力有限公司电力科学研究院 一种基于抄控器的hplc模块快速检测装置及方法
CN114338194A (zh) * 2021-12-30 2022-04-12 苏州浪潮智能科技有限公司 一种基于sdn网络的应用层报文防火墙方法、装置及介质
CN114338194B (zh) * 2021-12-30 2023-07-18 苏州浪潮智能科技有限公司 一种基于sdn网络的应用层报文防火墙方法、装置及介质
CN115225503A (zh) * 2022-05-16 2022-10-21 北京邮电大学 OpenFlow流表项动态超时分配方法及相关设备
CN115225503B (zh) * 2022-05-16 2023-07-04 北京邮电大学 OpenFlow流表项动态超时分配方法及相关设备
CN115442292A (zh) * 2022-08-29 2022-12-06 中国联合网络通信集团有限公司 数据流表的调整方法、装置、设备及存储介质
CN115442292B (zh) * 2022-08-29 2023-10-03 中国联合网络通信集团有限公司 数据流表的调整方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN105959217A (zh) 一种sdn移动自组网的数据处理方法及装置
CN101888333B (zh) 用于在网络元件的转发平面内保持端口状态表的方法和装置
CN101888331B (zh) 用于提供单播分组的快速重新路由的方法和装置
CN101371474B (zh) 用于检测虚拟交换机链路故障并从中恢复的***和方法
CN103428031B (zh) 一种基于软件定义网络的域间链路快速故障恢复方法
CN103036787B (zh) 一种网络路由收敛处理方法和装置
CN103281247B (zh) 一种数据中心网络的通用路由方法及***
CN101888307B (zh) 用于本地实现端口选择的方法和装置
CN101931587A (zh) 虚拟集群路由方法及***
CN102255757B (zh) 一种链路切换方法及其装置
CN103179178B (zh) 扩展集群间聚合组成员端口的方法和设备
CN105656198B (zh) 一种电力通信网络冗余路径策略的获取方法
CN101888330A (zh) 用于提供分组的快速重新路由的方法和装置
CN103607293B (zh) 一种流量保护方法及设备
CN104380672A (zh) 用于802.1aq的三级折叠Clos优化
CN104243239B (zh) 一种sdn集群中控制器的状态检测方法和装置
CN101883048A (zh) 多维网络的路由方法
CN103888994B (zh) 一种具有热灾备能力的多网关处理方法及***
CN106209615B (zh) 一种基于spfa算法计算转发路径的动态路由控制方法和***
CN105743801A (zh) 一种堆叠***的流量转发的方法及装置
CN107404745A (zh) 一种基于自组网的火灾探测器远程检测***
CN103222236A (zh) 网络中继***和网络中继装置
CN105915467A (zh) 一种面向软件定义的数据中心网络流量均衡方法及装置
CN103916319A (zh) Lacp堆叠组网中的链路选择方法和堆叠设备
CN104754053A (zh) 一种分布式软件定义网络及在其中动态控制控制器的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160921