Sdn网络中的数据包处理方法和装置的制造方法

文档序号:9238061阅读:858来源:国知局
Sdn网络中的数据包处理方法和装置的制造方法
【技术领域】
[0001]本发明涉及网络传输,更具体地,涉及一种用于处理SDN网络中的数据包的方法和装置。
【背景技术】
[0002]软件定义网络(Software Defined Network, SDN)是一种新型的网络架构,其通过将控制功能从网络交换设备中分离出来,并移入到逻辑上独立的网络控制系统中,实现了网络流量的灵活控制。
[0003]在SDN网络中,存在逻辑控制层和设备层。控制层是数据网络中做出转发决定的部分,包括管理、路由协议、选路策略等。设备层包括针对每个包的查询、交换和缓存,例如包括支持SDN协议(例如Openflow协议)的交换机(SDN交换机)等。
[0004]SDN控制层的一个基本功能是管理交换机内的规则,例如,何时以及如何从交换机的流表中去除规则。SDN交换机通常利用超时(S卩,在两个包之间的最大时间间隔)来去除不活跃的流的规则。如果超时时间太短,则会导致控制层和交换机之间的频繁交互,这会增加延迟。另一方面,受到SDN交换机中的硬件的限制,太长的超时时间会使得交换机流表中充满了很多不活跃的规则。因此,超时判断的有效性会影响SDN的基本性能。

【发明内容】

[0005]针对上述问题,希望能够提供一种灵活地设定规则的超时时间的解决方案。
[0006]根据本发明的一个方面,提供了一种用于处理基于软件定义网络SDN协议的网络中的数据包的方法,包括:接收由网络中的SDN交换机转发的数据包;获取对应于所述数据包所在的数据流的规则;根据所接收的数据包,确定所述数据包所在的数据流的数据流特性;根据数据流特性与超时信息的预定匹配关系,确定所述规则的超时信息,其中所述超时信息指示所述规则将在所述SDN交换机的流表中保留的时间;以及,将所述规则以及所述规则的超时信息发送给所述SDN交换机,以便由所述SDN交换机根据所述规则处理所述数据包。
[0007]根据本发明的另一个方面,提供了一种用于处理基于软件定义网络SDN协议的网络中的数据包的装置,包括:传输模块,用于接收由网络中的SDN交换机转发的数据包;规则获取模块,用于获取对应于所述数据包所在的数据流的规则;数据流特性确定模块,用于根据所接收的数据包,确定所述数据包所在的数据流的数据流特性;超时确定模块,用于根据数据流特性与超时信息的预定匹配关系确定所述规则的超时信息,所述超时信息指示所述规则将在所述SDN交换机的流表中保留的时间;以及,其中,传输模块还用于将所述规则以及所述规则的超时信息发送给所述SDN交换机,以便由所述SDN交换机根据所述规则处理所述数据包。
[0008]通过本发明的实施例的方法和装置,可以灵活地设定规则的超时时间,从而有效地提高SDN网络的性能。
【附图说明】
[0009]通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
[0010]图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。
[0011]图2显示了依据本发明的一个实施例的基于SDN协议的网络的系统架构的示意图。
[0012]图3显示了依据本发明的一个实施例的用于处理SDN网络中的数据包的方法的流程图。
[0013]图4显示了依据本发明的一个实施例的用于处理SDN网络中的数据包的装置的方框图。
【具体实施方式】
[0014]下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0015]图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0016]如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
[0017]总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
[0018]计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0019]系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM) 30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如⑶-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0020]具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
[0021]计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I / O)接口 22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
[0022]下面将以数据流的转发为例简要介绍SDN网络的工作流程。在SDN网络中,SDN交换机需要根据控制层所给出的转发规则对数据包进行转发。在SDN交换机接收到数据流的第一个数据包时,由于在该SDN交换机本地还没有关于这个数据包的转发规则,其需要将该数据包转发到控制层,以便从控制层获取相应的转发规则,并存储到本地流表。之后,当该SDN交换机接收到同一个数据流的下一个数据包时,它将该数据包的地址信息与本地流表中的规则信息进行比对。如果能找到一致的表项,则该SDN交换机根据该流表中的规则信息,对数据包进行转发。在这个过程中
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1