CN104954271A - Sdn网络中的数据包处理方法和装置 - Google Patents
Sdn网络中的数据包处理方法和装置 Download PDFInfo
- Publication number
- CN104954271A CN104954271A CN201410117452.8A CN201410117452A CN104954271A CN 104954271 A CN104954271 A CN 104954271A CN 201410117452 A CN201410117452 A CN 201410117452A CN 104954271 A CN104954271 A CN 104954271A
- Authority
- CN
- China
- Prior art keywords
- data flow
- rule
- time
- packet
- sdn 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- 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/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- 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/08—Configuration management of networks or network elements
- H04L41/0894—Policy-based network configuration management
-
- 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/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- 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/34—Signalling channels for network management communication
- H04L41/342—Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
-
- 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/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- 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
- H04L47/2475—Traffic characterised by specific attributes, e.g. priority or QoS for supporting traffic characterised by the type of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- 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/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
- H04L41/083—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for increasing network speed
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种用于处理基于软件定义网络SDN协议的网络中的数据包的方法和装置。该方法包括:接收由网络中的SDN交换机转发的数据包;获取对应于所述数据包所在的数据流的规则;根据所接收的数据包,确定所述数据包所在的数据流的数据流特性;根据数据流特性与超时信息的预定匹配关系,确定所述规则的超时信息,其中所述超时信息指示所述规则将在所述SDN交换机的流表中保留的时间;以及将所述规则以及所述规则的超时信息发送给所述SDN交换机,以便由所述SDN交换机根据所述规则处理所述数据包。通过该方法和装置,可以灵活地设置规则的超时信息,提高SDN网络的性能。
Description
技术领域
本发明涉及网络传输,更具体地,涉及一种用于处理SDN网络中的数据包的方法和装置。
背景技术
软件定义网络(Software Defined Network,SDN)是一种新型的网络架构,其通过将控制功能从网络交换设备中分离出来,并移入到逻辑上独立的网络控制***中,实现了网络流量的灵活控制。
在SDN网络中,存在逻辑控制层和设备层。控制层是数据网络中做出转发决定的部分,包括管理、路由协议、选路策略等。设备层包括针对每个包的查询、交换和缓存,例如包括支持SDN协议(例如Openflow协议)的交换机(SDN交换机)等。
SDN控制层的一个基本功能是管理交换机内的规则,例如,何时以及如何从交换机的流表中去除规则。SDN交换机通常利用超时(即,在两个包之间的最大时间间隔)来去除不活跃的流的规则。如果超时时间太短,则会导致控制层和交换机之间的频繁交互,这会增加延迟。另一方面,受到SDN交换机中的硬件的限制,太长的超时时间会使得交换机流表中充满了很多不活跃的规则。因此,超时判断的有效性会影响SDN的基本性能。
发明内容
针对上述问题,希望能够提供一种灵活地设定规则的超时时间的解决方案。
根据本发明的一个方面,提供了一种用于处理基于软件定义网络SDN协议的网络中的数据包的方法,包括:接收由网络中的SDN交换机转发的数据包;获取对应于所述数据包所在的数据流的规则;根据所接收的数据包,确定所述数据包所在的数据流的数据流特性;根据数据流特性与超时信息的预定匹配关系,确定所述规则的超时信息,其中所述超时信息指示所述规则将在所述SDN交换机的流表中保留的时间;以及,将所述规则以及所述规则的超时信息发送给所述SDN交换机,以便由所述SDN交换机根据所述规则处理所述数据包。
根据本发明的另一个方面,提供了一种用于处理基于软件定义网络SDN协议的网络中的数据包的装置,包括:传输模块,用于接收由网络中的SDN交换机转发的数据包;规则获取模块,用于获取对应于所述数据包所在的数据流的规则;数据流特性确定模块,用于根据所接收的数据包,确定所述数据包所在的数据流的数据流特性;超时确定模块,用于根据数据流特性与超时信息的预定匹配关系确定所述规则的超时信息,所述超时信息指示所述规则将在所述SDN交换机的流表中保留的时间;以及,其中,传输模块还用于将所述规则以及所述规则的超时信息发送给所述SDN交换机,以便由所述SDN交换机根据所述规则处理所述数据包。
通过本发明的实施例的方法和装置,可以灵活地设定规则的超时时间,从而有效地提高SDN网络的性能。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了适于用来实现本发明实施方式的示例性计算机***/服务器12的框图。
图2显示了依据本发明的一个实施例的基于SDN协议的网络的***架构的示意图。
图3显示了依据本发明的一个实施例的用于处理SDN网络中的数据包的方法的流程图。
图4显示了依据本发明的一个实施例的用于处理SDN网络中的数据包的装置的方框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
图1示出了适于用来实现本发明实施方式的示例性计算机***/服务器12的框图。图1显示的计算机***/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图1所示,计算机***/服务器12以通用计算设备的形式表现。计算机***/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,***存储器28,连接不同***组件(包括***存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
计算机***/服务器12典型地包括多种计算机***可读介质。这些介质可以是任何能够被计算机***/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器28可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机***/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机***/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机***/服务器12交互的设备通信,和/或与使得该计算机***/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机***/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机***/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机***/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
下面将以数据流的转发为例简要介绍SDN网络的工作流程。在SDN网络中,SDN交换机需要根据控制层所给出的转发规则对数据包进行转发。在SDN交换机接收到数据流的第一个数据包时,由于在该SDN交换机本地还没有关于这个数据包的转发规则,其需要将该数据包转发到控制层,以便从控制层获取相应的转发规则,并存储到本地流表。之后,当该SDN交换机接收到同一个数据流的下一个数据包时,它将该数据包的地址信息与本地流表中的规则信息进行比对。如果能找到一致的表项,则该SDN交换机根据该流表中的规则信息,对数据包进行转发。在这个过程中,控制层只需对每个流的第一个数据包进行路由计算,并且将结果存储到该交换机的本地流表中,后续的判定则通过查找本地流表进行,从而可以提高转发效率。其中,为了提高流表的使用效率,对于流表中存储的规则信息,控制层会指定一个超时时间,这个超时时间指示该规则在流表中保留的时间。当规则在流表中的时间超过该超时时间时,该规则信息则从流表中去除,从而在流表中产生更多空间来存储新的规则信息。
如果所指定的超时时间过短,则有可能在一个流的部分数据包还没有到达交换机时,对应于这个流的规则已经从流表中删除,在这种情况下,只能重新向控制层请求转发规则。而如果指定的超时时间过长,则有可能在一个流的全部数据包都已经传送之后的很长一段时间内,关于该流的规则仍然被保存在流表中,从而浪费了流表的宝贵空间。
本发明的发明人发现,不同类型的应用在流的长度上的差别非常大。例如,大多数FTP(文件传输协议)流都比较大,而HTTP流则通常较短。并且,来自不同的主机的流的长度也有很大差别,例如,相对来说,比较活跃的内容服务器传送的流一般会远大于日志服务器传送的流。在这种情况下,如果在SDN交换机为每个流的规则都设置同样的超时时间,则可能出现的状况是,对于大多数FTP流来说,规则的超时时间过短,来自同一个流的多个包需要反复地从控制层去获取规则,降低了转发的效率。而对于大多数HTTP流来说,规则的超时时间过长,在流表中需要保存大量的不再需要的流规则。
针对上述问题,提出了根据本发明的各个实施例的方法和***。下面将参考附图详细描述根据本发明的各个实施例的方法和***。
图2显示了依据本发明的一个实施例的基于SDN协议的网络的***架构的示意图。
从图2可以看出,该架构分为两层:交换机层和控制层。其中,交换机层包括支持SDN协议的多个SDN交换机。
根据本发明的一个实施例,控制层除了传统的对SDN进行支持的模块之外,还可以包括根据本发明的用于产生规则的超时信息的模块。控制层可以通过北向API与用户直接进行通信。
下面将参考图3所示的流程图对根据本发明的一个实施例的控制层的处理流程进行说明。
首先,在步骤S310,接收由网络中的SDN交换机所转发的数据包。
在SDN协议下,SDN交换机在接收到来自用户的数据包后,会首先查看在该SDN交换机中是否存在与该数据包所在的数据流相匹配的转发规则。如果未找到与该请求相匹配的转发规则,或者该转发规则要求将该数据包转发给控制层,则SDN交换机将该数据包转发给控制层。
在步骤S320,获取对应于该数据包所在的数据流的规则。
根据本发明的一个实施例,控制层可以查找与该数据包所在的数据流相关的历史数据,并根据该数历史数据来获取相应的规则。
如果该数据包是其所在的数据流的第一个包,由于之前未产生过对应于该数据流的规则,可以由控制层根据该数据包所包含的信息,产生对应的规则。如果控制层根据在数据包中所包含的信息确定之前已经接收到同一数据流的其他数据包,则可以检索其数据库,找到之前所存储的对应于该数据流的规则。当然,控制层也可以不存储之前产生的规则,对于每个数据包都重新产生相应的规则。
关于控制层如何产生对应于数据流的规则以及如何根据之前存储的规则获取对应于新的数据包的规则,可以根据现有的SDN网络中的各种实现方式来实现,在这里不再详细描述。
在步骤S330,根据所接收的数据包,确定该数据包所在的数据流的数据流特性。该数据流特性可以是影响超时信息的任何特性,例如,流的协议类型,流的长度,流所来自的主机特性,等等。可以根据数据包中所包含的信息、例如包头信息等来确定相关的数据流特性。也可以根据数据包中所包含的信息,与控制层所存储的历史数据进行比较,来获取相应的数据流的数据流特性。
在步骤S340,基于数据流特性与超时信息的预定匹配关系,确定该规则的超时信息。在这里,超时信息指示该规则将在该SDN交换机的流表中保留的时间。
前面已经提到,不同类型的应用的数据流的长度差别非常大,因此其所包含的数据包的个数相差也非常大。例如,大多数FTP流都比较大,而HTTP流则通常较短。因此,可以根据不同的数据流特性,建立与超时信息的不同匹配关系,从而可以在收到数据流之后,根据数据流特性与超时信息的该预定匹配关系,确定规则的超时信息。
根据本发明的一个实施例,该数据流特性可以包括数据流的协议特性,例如,是FTP流还是HTTP流,或者是其他协议的流,这可以根据数据包的包头信息来获得。对于不同的协议类型,设定不同的超时时间。对于FTP流,可以设定相对较大的超时时间,而对于HTTP流,则可以设定相对较小的超时时间。
该数据流特性还可以包括数据流所来自的主机的特性,例如,该主机是内容服务器还是日志服务器等等,以及该主机是否活跃等等。相对来说,比较活跃的内容服务器传送的流一般会远大于日志服务器传送的流。在这种情况下,对于内容服务器传送的流,则可以设定相对较大的超时时间,对于日志服务器,则可以设定相对较小的超时时间。
本领域技术人员还可以根据具体的应用,根据其他的数据流特性,设定不同的超时时间。
在步骤S350,将所述规则以及所述规则的超时信息发送给所述SDN交换机,以便由所述SDN交换机根据所述规则处理所述数据包。
这样,当同一数据流的后续数据包到达该SDN交换机时,由于在该SDN的交换机的本地流表中已经保存有相应的规则,所以可以根据该规则直接将数据包进行转发,而无需再向控制层请求规则。并且,针对不同的数据流,设置了不同的超时时间。对于比较长的数据流,其规则在流表中的超时时间较长,从而该规则可以在流表中停留较长的时间,因此,对于该数据流中的后续数据包,无需再向控制层请求规则。而对于比较短的数据流,在其中所包含的全部数据包都已经传送完毕之后,规则在较短的时间内即从流表中去除,从而释放出更多的流表空间,用来存储其他规则。
通过根据本发明的上述实施例的方法,可以为不同的数据流的规则设置不同的超时时间,从而有效地利用了SDN交换机的流表中的空间。
本领域技术人员可以理解的是,并不需要完全按照上面描述的顺序来实现本发明的实施例的方法,其中一些步骤的顺序、例如上面描述的步骤320和步骤330是可以互换的或者同时进行的。
除了数据流的特性信息之外,还可以考虑其他因素来设定相应的超时时间。根据本发明的一个实施例,控制层可以从SDN交换机接收该SDN交换机的流表的状态信息,例如,在当前流表中存储有多少规则,其在流表中已经停留的时间,等等。并且,进一步根据该流表的状态信息,来确定规则的超时信息。例如,如果该流表中的空闲空间已经非常有限,或者其中已经存储的规则还将停留较长时间,此时则应将超时时间设定得相对较短,而如果流表中的空闲空间还非常充裕,或者其中已经存储的规则即将超时,则可以将超时时间设定得相对较长。
根据本发明的一个实施例,控制层可以从SDN交换机接收该SDN交换机的流统计信息,并且,进一步根据流统计信息,来确定规则的超时信息。例如,如果该统计信息表明最近接收的多数为大流,则预计近期接收大流的可能性较大,因而将超时时间设定得相对较长,反之,则可以将超时时间设定得相对较短。
根据本发明的一个实施例,还可以考虑当前的网络环境。例如,控制层可以接收网络的统计信包,并且,进一步根据网络的统计信息,来确定规则的超时信息。该统计信息可以包括网络当前的流量、网络的传输速度、网络当前的拥堵情况等任何能够反映网络当前状况的信息。例如,如果当前网络的流量很大,或者传输送度较慢,则预期一个数据流的传输时间会相对较长,此时则需要将超时时间设定得较长,而如果当前网络的传输速度很快,则预期数据流的传输时间会较短,
此时则可以将超时时间设定得短一些。
下面将进一步描述控制层根据所接收的数据包来确定该数据包所在的数据流的数据流特性的不同实施方式。
前面已经提到,该数据流特性可以是影响超时信息的任何特性,例如,流的协议类型,流的长度,流所来自的主机特性,等等。可以根据数据包中所包含的信息、例如包头信息等来确定相关的数据流特性。也可以根据数据包中所包含的信息,与控制层所存储的历史数据进行比较,来获取相应的数据流的数据流特性。
控制层可以包含一个历史数据库,用于存储与数据包相关的记录。当控制层接收到数据流中的第一个数据包时,在历史数据库中不存在与该数据包相关的记录,则在历史数据库中建立记录,该记录可以包含该数据包所在的数据流的信息,包括流的协议类型、包长度等信息。
如果此时根据数据包中的信息,无法准确确定数据流特性,则控制层可以要求SDN交换机转发更多的数据包,例如,可以通过设置“至控制层”规则,指示SDN交换机将后面的一个或多个数据包传送到控制层。甚至,控制层可以通过规则向SDN指定其所需要的数据包,例如,在该数据流中的第一、第三、第五个数据包等。
控制层在从所接收的数据包获取足够多的信息之后,则可以确定数据包所在的数据流的数据流特性。此时,可以查找与该数据包所在的数据流相关的历史数据,并根据该历史数据以及该数据包,确定数据流特性。然后,根据数据流特性与超时信息的预定匹配关系,确定规则的超时信息。
根据本发明的一个实施例,该数据流特征与超时信息的预定匹配关系可以是由用户通过北向API在控制层直接设定,也可以通过历史数据库中所存储的记录,自动地进行调整。例如,可以根据数据流在SDN交换机的流表中实际停留的时间,调整数据流特性与超时信息的预定匹配关系。
为了将数据包最终转发到相应的目的地,在从源交换机到目的交换机的转发路径上的各个交换机都需要根据控制层产生的规则进行转发。此时,可以在控制层生成了所述转发规则并设定了相应的超时时间之后,将该转发规则以及该规则的超时信息分别地主动发送给在从源交换机到目的交换机的转发路径上的各个SDN交换机,这样,在这些交换机接收到前面的交换机转发过来的数据包之后,就可以根据相应的转发规则进行转发,并按照所设定的超时信息在本地流表中保留该规则,直至超时时间结束。这样,当各个SDN交换机在接收到该数据包时,其不需要等待控制层的处理,从而可以大大缩短转发时延。
前面已经参考附图描述了实现本发明的方法的各个实施例。本领域技术人员可以理解的是,上述方法可以以软件方式实现,也可以以硬件方式实现,或者通过软件与硬件相结合的方式实现。并且,本领域技术人员可以理解,通过以软件、硬件或者软硬件相结合的方式实现上述方法中的各个步骤,可以提供一种用于处理SDN网络中的数据包的装置。即使该装置在硬件结构上与通用处理设备相同,由于其中所包含的软件的作用,使得该装置表现出区别于通用处理设备的特性,从而形成本发明的各个实施例的装置。
下面将参考图4描述实现本发明的实施例的控制装置的方框图。该控制装置400可以包括传输模块410、规则获取模块420、数据流特性确定模块430以及超时确定模块440。
根据本发明的一个实施例,传输模块410用于接收由网络中的SDN交换机转发的数据包。规则获取模块420用于获取对应于所述数据包所在的数据流的规则。数据流特性确定模块430用于根据所接收的数据包,确定所述数据包所在的数据流的数据流特性。超时确定模块440用于根据数据流特性与超时信息的预定匹配关系确定所述规则的超时信息,所述超时信息指示所述规则将在所述SDN交换机的流表中保留的时间。其中,传输模块410还用于将所述规则以及所述规则的超时信息发送给所述SDN交换机,以便由所述SDN交换机根据所述规则处理所述数据包。
根据本发明的一个实施例,控制装置400进一步包括超时调整模块450,用于根据所述数据流在所述SDN交换机的流表中实际停留的时间,调整所述数据流特性与超时信息的预定匹配关系。
根据本发明的一个实施例,数据流特性确定模块还用于查找与所述数据包所在的数据流相关的历史数据,并根据所述历史数据以及所接收的数据包,确定所述数据流特性。
根据本发明的一个实施例,数据流特性包括数据流的协议特性。
根据本发明的一个实施例,数据流特性包括所述数据流所来自的主机的特性。
根据本发明的一个实施例,控制装置400进一步包括状态信息接收模块460,用于接收所述SDN交换机的流表的状态信息。其中,超时确定模块440还用于根据所述流表的状态信息,确定所述规则的超时信息。
根据本发明的一个实施例,控制装置400进一步包括统计信息接收模块470,用于接收所述网络的统计信息。其中,超时确定模块440还用于根据所述网络的统计信息,确定所述规则的超时信息。
根据本发明的一个实施例,规则获取模块420还用于查找与所述数据包所在的数据流相关的历史数据,以及根据所述历史数据,获取所述规则。
本发明可以是***、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是——但不限于——电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (16)
1.一种用于处理基于软件定义网络SDN协议的网络中的数据包的方法,包括:
接收由网络中的SDN交换机转发的数据包;
获取对应于所述数据包所在的数据流的规则;
根据所接收的数据包,确定所述数据包所在的数据流的数据流特性;
根据数据流特性与超时信息的预定匹配关系,确定所述规则的超时信息,其中所述超时信息指示所述规则将在所述SDN交换机的流表中保留的时间;以及
将所述规则以及所述规则的超时信息发送给所述SDN交换机,以便由所述SDN交换机根据所述规则处理所述数据包。
2.根据权利要求1所述的方法,进一步包括,根据所述数据流在所述SDN交换机的流表中实际停留的时间,调整所述数据流特性与超时信息的预定匹配关系。
3.根据权利要求1所述的方法,其中,根据所接收的数据包,确定所述数据包所在的数据流的数据流特性包括:
查找与所述数据包所在的数据流相关的历史数据;以及
根据所述历史数据以及所接收的数据包,确定所述数据流特性。
4.根据权利要求1至3中任何一个所述的方法,其中,所述数据流特性包括数据流的协议特性。
5.根据权利要求1至3中任何一个所述的方法,其中,所述数据流特性包括所述数据流所来自的主机的特性。
6.根据权利要求1至3中任何一个所述的方法,进一步包括,
接收所述SDN交换机的流表的状态信息,以及,
其中,所述确定所述规则的超时信息进一步包括:进一步根据所述流表的状态信息,确定所述规则的超时信息。
7.根据权利要求1至3中任何一个所述的方法,进一步包括,
接收所述网络的统计信息,以及,
其中,所述确定所述规则的超时信息进一步包括:进一步根据所述网络的统计信息,确定所述规则的超时信息。
8.根据权利要求1至3中任何一个所述的方法,其中,获取对应于所述数据包所在的数据流的规则包括:
查找与所述数据包所在的数据流相关的历史数据;以及
根据所述历史数据,获取所述规则。
9.一种用于处理基于软件定义网络SDN协议的网络中的数据包的装置,包括:
传输模块,用于接收由网络中的SDN交换机转发的数据包;
规则获取模块,用于获取对应于所述数据包所在的数据流的规则;
数据流特性确定模块,用于根据所接收的数据包,确定所述数据包所在的数据流的数据流特性;
超时确定模块,用于根据数据流特性与超时信息的预定匹配关系确定所述规则的超时信息,所述超时信息指示所述规则将在所述SDN交换机的流表中保留的时间;以及
其中,传输模块还用于将所述规则以及所述规则的超时信息发送给所述SDN交换机,以便由所述SDN交换机根据所述规则处理所述数据包。
10.根据权利要求9所述的装置,进一步包括超时调整模块,用于根据所述数据流在所述SDN交换机的流表中实际停留的时间,调整所述数据流特性与超时信息的预定匹配关系。
11.根据权利要求9所述的装置,其中,所述数据流特性确定模块还用于查找与所述数据包所在的数据流相关的历史数据;以及,根据所述历史数据以及所接收的数据包,确定所述数据流特性。
12.根据权利要求9至11中任何一个所述的装置,其中,所述数据流特性包括数据流的协议特性。
13.根据权利要求9至11中任何一个所述的装置,其中,所述数据流特性包括所述数据流所来自的主机的特性。
14.根据权利要求9至11中任何一个所述的装置,进一步包括,
状态信息接收模块,用于接收所述SDN交换机的流表的状态信息,以及,
其中,所述超时确定模块还用于进一步根据所述流表的状态信息,确定所述规则的超时信息。
15.根据权利要求9至11中任何一个所述的装置,进一步包括,
统计信息接收模块,用于接收所述网络的统计信息,以及,
其中,所述超时确定模块还用于进一步根据所述网络的统计信息,确定所述规则的超时信息。
16.根据权利要求9至11中任何一个所述的装置,其中,所述规则获取模块还用于查找与所述数据包所在的数据流相关的历史数据,以及根据所述历史数据,获取所述规则。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410117452.8A CN104954271B (zh) | 2014-03-26 | 2014-03-26 | Sdn网络中的数据包处理方法和装置 |
US14/666,472 US9917793B2 (en) | 2014-03-26 | 2015-03-24 | Data packet processing in SDN |
US15/856,992 US10044641B2 (en) | 2014-03-26 | 2017-12-28 | Data packet processing in SDN |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410117452.8A CN104954271B (zh) | 2014-03-26 | 2014-03-26 | Sdn网络中的数据包处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104954271A true CN104954271A (zh) | 2015-09-30 |
CN104954271B CN104954271B (zh) | 2018-11-30 |
Family
ID=54168635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410117452.8A Active CN104954271B (zh) | 2014-03-26 | 2014-03-26 | Sdn网络中的数据包处理方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (2) | US9917793B2 (zh) |
CN (1) | CN104954271B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105357117A (zh) * | 2015-10-21 | 2016-02-24 | 上海斐讯数据通信技术有限公司 | 一种流表下发方法、***、sdn控制器及sdn交换机 |
WO2017128112A1 (zh) * | 2016-01-27 | 2017-08-03 | 中国科学院计算技术研究所 | 软件定义网络组合编程动作计算方法、***、装置及芯片 |
CN107104728A (zh) * | 2017-04-24 | 2017-08-29 | 刘昱 | 一种基于sdn的光纤网络控制装置和方法 |
CN109714266A (zh) * | 2018-12-25 | 2019-05-03 | 迈普通信技术股份有限公司 | 一种数据处理方法及网络设备 |
CN115225503A (zh) * | 2022-05-16 | 2022-10-21 | 北京邮电大学 | OpenFlow流表项动态超时分配方法及相关设备 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102258016B1 (ko) | 2014-06-11 | 2021-05-28 | 콘비다 와이어리스, 엘엘씨 | 로컬 콘텐츠 리다이렉션을 위한 매핑 서비스 |
KR102137598B1 (ko) | 2014-06-30 | 2020-07-24 | 콘비다 와이어리스, 엘엘씨 | 과거 이력 데이터에 기초하는 네트워크 노드 가용성 예측 |
US9729582B2 (en) * | 2015-09-29 | 2017-08-08 | The Trustees Of The University Of Pennsylvania | Methods, systems, and computer readable media for generating software defined networking (SDN) policies |
US10291555B2 (en) * | 2015-11-17 | 2019-05-14 | Telefonaktiebolaget Lm Ericsson (Publ) | Service based intelligent packet-in buffering mechanism for openflow switches by having variable buffer timeouts |
US10182019B2 (en) * | 2016-02-25 | 2019-01-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Interconnected hardware infrastructure resource control |
US10645009B2 (en) * | 2016-03-18 | 2020-05-05 | Futurewei Technologies, Inc. | Method and apparatus for programmable buffers in mobile networks |
US11362925B2 (en) * | 2017-06-01 | 2022-06-14 | Telefonaktiebolaget Lm Ericsson (Publ) | Optimizing service node monitoring in SDN |
CN108512766B (zh) * | 2018-03-26 | 2020-09-11 | 南京邮电大学 | 一种OpenFlow交换机流表调节方法 |
CN108696453B (zh) * | 2018-07-25 | 2022-03-04 | 北京智芯微电子科技有限公司 | 轻量级的电力通信网sdn业务流感知方法及*** |
CN110895777A (zh) * | 2018-09-12 | 2020-03-20 | 北京京东尚科信息技术有限公司 | 一种处理超时服务单的方法和装置 |
US20200112505A1 (en) * | 2018-10-03 | 2020-04-09 | Hewlett Packard Enterprise Development Lp | Flow rules |
CN112134797B (zh) | 2020-09-04 | 2022-05-13 | 苏州浪潮智能科技有限公司 | 一种改善链路聚合协议超时的方法和设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030056001A1 (en) * | 2001-07-20 | 2003-03-20 | Ashutosh Mate | Selective routing of data flows using a TCAM |
CN101170472A (zh) * | 2007-10-26 | 2008-04-30 | 华中科技大学 | 一种基于以太网技术的数控通信方法 |
US20130051379A1 (en) * | 2011-08-30 | 2013-02-28 | Alcatel-Lucent Usa Inc. | Local network access control via small wireless cells in wireless networks |
CN103036653A (zh) * | 2012-12-26 | 2013-04-10 | 华中科技大学 | 一种对OpenFlow网络进行网络编码的方法 |
US20130100951A1 (en) * | 2010-06-23 | 2013-04-25 | Nec Corporation | Communication system, control apparatus, node controlling method and node controlling program |
CN103209121A (zh) * | 2013-03-15 | 2013-07-17 | 中兴通讯股份有限公司 | 基于开放流协议的控制面设备的发现处理方法及装置 |
US20130308645A1 (en) * | 2011-02-17 | 2013-11-21 | Shuichi Karino | Flow communication system |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1196856B1 (en) * | 1999-06-30 | 2011-01-19 | Apptitude, Inc. | Method and apparatus for monitoring traffic in a network |
US7343413B2 (en) * | 2000-03-21 | 2008-03-11 | F5 Networks, Inc. | Method and system for optimizing a network by independently scaling control segments and data flow |
DE60206168T2 (de) * | 2001-06-15 | 2006-06-22 | British Telecommunications Public Ltd. Co. | Kommunikationsnetzwerk mit stau-verhinderung |
JP4983287B2 (ja) * | 2007-02-13 | 2012-07-25 | 富士通株式会社 | ルール検証装置およびルール検証方法 |
US9203743B2 (en) | 2010-03-24 | 2015-12-01 | Nec Corporation | Packet forwarding system, control device, forwarding device and method and program for preparing processing rules |
JP5691782B2 (ja) * | 2011-04-18 | 2015-04-01 | 日本電気株式会社 | ネットワークシステム及びフレーム通信方法 |
EP2717520B1 (en) * | 2011-05-30 | 2016-03-02 | NEC Corporation | Communication path control system, and communication path control method |
TWI583151B (zh) | 2011-08-04 | 2017-05-11 | 中界雲端公司 | 實施及管理虛擬網路的系統與方法 |
US9608924B2 (en) * | 2011-09-27 | 2017-03-28 | Nec Corporation | Network system, front-end unit and control message transmission rate reducing method |
US9178767B2 (en) * | 2011-12-09 | 2015-11-03 | Telefonaktiebolaget L M Ericsson (Publ) | Intelligent traffic quota management in split-architecture networks |
KR101887581B1 (ko) * | 2011-12-26 | 2018-08-14 | 한국전자통신연구원 | 플로우 기반의 패킷 전송 장치 및 그것의 패킷 처리 방법 |
US9559948B2 (en) * | 2012-02-29 | 2017-01-31 | Dell Products, Lp | System and method for managing unknown flows in a flow-based switching device |
WO2013150925A1 (ja) * | 2012-04-03 | 2013-10-10 | 日本電気株式会社 | ネットワークシステム、コントローラ、及びパケット認証方法 |
US9306840B2 (en) * | 2012-09-26 | 2016-04-05 | Alcatel Lucent | Securing software defined networks via flow deflection |
EP2938028B1 (en) * | 2012-12-19 | 2019-12-11 | Nec Corporation | Communication node, control device, method for managing control information entries, and program |
US9722917B2 (en) * | 2013-02-26 | 2017-08-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Traffic recovery in openflow networks |
US10044760B2 (en) * | 2013-12-04 | 2018-08-07 | Hewlett Packard Enterprise Development Lp | Policy rule based on a requested behavior |
US10608926B2 (en) * | 2014-01-10 | 2020-03-31 | Fox Broadcasting Company, Llc | Method and apparatus for precisely source-timed network flow switching |
WO2015121864A1 (en) * | 2014-02-16 | 2015-08-20 | B.G. Negev Technologies And Applications Ltd., At Ben-Gurion University | A system and method for integrating legacy flow-monitoring systems with sdn networks |
-
2014
- 2014-03-26 CN CN201410117452.8A patent/CN104954271B/zh active Active
-
2015
- 2015-03-24 US US14/666,472 patent/US9917793B2/en active Active
-
2017
- 2017-12-28 US US15/856,992 patent/US10044641B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030056001A1 (en) * | 2001-07-20 | 2003-03-20 | Ashutosh Mate | Selective routing of data flows using a TCAM |
CN101170472A (zh) * | 2007-10-26 | 2008-04-30 | 华中科技大学 | 一种基于以太网技术的数控通信方法 |
US20130100951A1 (en) * | 2010-06-23 | 2013-04-25 | Nec Corporation | Communication system, control apparatus, node controlling method and node controlling program |
US20130308645A1 (en) * | 2011-02-17 | 2013-11-21 | Shuichi Karino | Flow communication system |
US20130051379A1 (en) * | 2011-08-30 | 2013-02-28 | Alcatel-Lucent Usa Inc. | Local network access control via small wireless cells in wireless networks |
CN103036653A (zh) * | 2012-12-26 | 2013-04-10 | 华中科技大学 | 一种对OpenFlow网络进行网络编码的方法 |
CN103209121A (zh) * | 2013-03-15 | 2013-07-17 | 中兴通讯股份有限公司 | 基于开放流协议的控制面设备的发现处理方法及装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105357117A (zh) * | 2015-10-21 | 2016-02-24 | 上海斐讯数据通信技术有限公司 | 一种流表下发方法、***、sdn控制器及sdn交换机 |
CN105357117B (zh) * | 2015-10-21 | 2019-12-13 | 上海斐讯数据通信技术有限公司 | 一种流表下发方法、***、sdn控制器及sdn交换机 |
WO2017128112A1 (zh) * | 2016-01-27 | 2017-08-03 | 中国科学院计算技术研究所 | 软件定义网络组合编程动作计算方法、***、装置及芯片 |
CN107104728A (zh) * | 2017-04-24 | 2017-08-29 | 刘昱 | 一种基于sdn的光纤网络控制装置和方法 |
CN107104728B (zh) * | 2017-04-24 | 2021-01-19 | 刘昱 | 一种基于sdn的光纤网络控制装置和方法 |
CN109714266A (zh) * | 2018-12-25 | 2019-05-03 | 迈普通信技术股份有限公司 | 一种数据处理方法及网络设备 |
CN109714266B (zh) * | 2018-12-25 | 2022-06-07 | 迈普通信技术股份有限公司 | 一种数据处理方法及网络设备 |
CN115225503A (zh) * | 2022-05-16 | 2022-10-21 | 北京邮电大学 | OpenFlow流表项动态超时分配方法及相关设备 |
CN115225503B (zh) * | 2022-05-16 | 2023-07-04 | 北京邮电大学 | OpenFlow流表项动态超时分配方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
US10044641B2 (en) | 2018-08-07 |
CN104954271B (zh) | 2018-11-30 |
US9917793B2 (en) | 2018-03-13 |
US20150281127A1 (en) | 2015-10-01 |
US20180123982A1 (en) | 2018-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104954271A (zh) | Sdn网络中的数据包处理方法和装置 | |
US9871781B2 (en) | Systems and methods for path maximum transmission unit discovery | |
JP6989621B2 (ja) | パケット伝送方法、エッジデバイス及び機械可読記憶媒体 | |
US9356879B2 (en) | Optimized path maximum transmission unit discovery | |
CN104734964A (zh) | 报文处理方法、节点及*** | |
CN104811392A (zh) | 用于处理网络中的资源访问请求的方法和*** | |
US9363158B2 (en) | Reduce size of IPV6 routing tables by using a bypass tunnel | |
US10826823B2 (en) | Centralized label-based software defined network | |
US20220052950A1 (en) | Service Function Chaining Congestion Tracking | |
US11398981B2 (en) | Path creation method and device for network on chip and electronic apparatus | |
EP3253012A1 (en) | Method and apparatus for obtaining port path | |
CN111026324B (zh) | 转发表项的更新方法及装置 | |
CN104866290A (zh) | 一种用于数据传输的方法和装置 | |
WO2014022350A1 (en) | Connection mesh in mirroring asymmetric clustered multiprocessor systems | |
US10419163B2 (en) | Adaptive network communication protocols | |
CN104917800A (zh) | 建立用于虚拟机的冗余连接的方法及装置 | |
CN105100136A (zh) | 用于访问存储集群中的逻辑存储的方法和装置 | |
US20140078936A1 (en) | Apparatus for configuring overlay network and method thereof | |
CN104869062A (zh) | 一种数据包转发方法及设备 | |
JP2019009610A (ja) | エッジ装置、データ処理システム、データ送信方法、及びプログラム | |
US10348634B2 (en) | Technologies for tracking out-of-order network packets | |
CN108259340A (zh) | 一种拓扑信息传输方法和装置 | |
US11436047B2 (en) | System and method for processing information hierarchy management | |
CN102664816A (zh) | 一种快速查找mpls转发表的装置及方法 | |
US11811643B2 (en) | System and method for managing computing resources |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |