开放流路由交换设备及其对数据报文的处理方法

文档序号:9380172阅读:493来源:国知局
开放流路由交换设备及其对数据报文的处理方法
【技术领域】
[0001]本发明涉及网络技术,更具体地,涉及一种开放流路由交换设备及其对数据报文的处理方法。
【背景技术】
[0002]网络中,长流(Long-lived Flow)又被称为大象流(elephant flow),指代那些存活时间长,有大量数据发送需求的网络连接对应的报文流量,例如,FTP下载某个视频文件,就可以视这个FTP连接所对应的报文流为长流。短流(Short-lived Flow),又被称为老鼠流(mice flow),其特征和长流恰好相反,指代那些连接存活时间很短,数据量小的网络连接所对应的报文流。例如,Web请求往往在客户端和服务器之间传输几个报文的数据量就完成了一次会话,就属于短流。近来,随着多媒体业务和Web2.0的高速发展,大量的网络测量和研究报告表明,网络中80%的流量是由20%的长流贡献的。如果能够监视20%的长流,就可以很好地控制及优化网络流量,掌握整个网络80 %的流量的动向,这对于网络流量的优化将是一个非常不错的举措。
[0003]传统的通信网络把控制逻辑和数据转发紧密耦合在路由交换设备上,导致网络控制平面管理异常复杂。软件定义网络SDN(Software Defined Networking)技术使得网络的控制和转发分离,将控制平面分离到核心的控制器或控制器集群上,而路由交换设备只负责数据转发。SDN为网络新应用和未来互联网技术提供了一种新的解决方案。开放流(OpenFlow)为SDN提供了技术上的支持。OpenFlow是通过如下方式将控制功能从网络设备中分离出来的:在网络设备上维护流表(Flow Table)结构,报文按照流表中的流表项进行转发,而流表的生成、维护、配置则由开放流控制器来管理。SDN和OpenFlow的关系是,SDN是一种网络设计理念,而OpenFlow则是为实现SDN这一理念提供的具体技术。
[0004]如今,OpenFlow和SDN分离了网络路由交换设备的控制和转发。使得路由交换设备功能更加单一和模块化,基本上只负责报文的转发。而那些原先被整合到网络设备中的复杂的控制协议和逻辑被分离出来,并集中到一个或多个核心的开放流控制器上,对全网的硬件设备进行管控。使得网络流量优化在这种集中式的网络控制架构上非常容易地实现,并且这种流量信息对于开放流控制器也是一种很好的补充。因为开放流控制器本身已经能够感知到全网的拓扑结构,最缺乏的是对全网流量信息实时动态的掌握,需要路由交换设备提供网络中的信息,尤其是长流信息。
[0005]但是,OpenFlow技术的发展遇到了硬件上暂时无法解决的瓶颈。在开放流路由交换设备上,需要上述的流表,用于处理流量转发和定义各种流量策略。现有的开放流路由交换设备一般采用TCAM实现开放流流表,因为TCAM具有查找快速、操作简单、并且能够支持掩码匹配的优点,但同时它具有3个明显的缺点:成本高、功耗大和表项更新复杂。另外,现有的开放流路由交换设备将报文解析、匹配、执行等控制装置以及实现流表的TCAM,甚至通信装置都集成在ASIC芯片中,受制于ASIC硬件工艺的限制以及成本、功耗、体积等方面的考虑,ASIC开发商一般只会在传统的路由交换设备中集成很少量的TCAM,并且现有的路由交换设备无法监视长流。因此,本领域需要一种低成本的路由交换设备来监视网络中的长流。

【发明内容】

[0006]根据本发明的一个方面,提供了一种开放流路由交换设备对数据报文的处理方法,包括:
[0007]响应于接收入口数据报文,解析该入口数据报文;
[0008]将解析的入口数据报文与位于TCAM的宏流表中的流表项进行匹配,其中,在所述宏流表的流表项中相关联的动作包含启动长流检测;
[0009]响应于解析的入口数据报文与所述宏流表中的流表项匹配,执行所述宏流表中的流表项相关联的启动长流检测的动作;
[0010]响应于该入口数据报文在长流检测中被判别属于长流,通知与所述开放流路由交换设备相连的开放流控制器检测到长流,并从所述开放流控制器接收位于SRAM的微流表的流表项,该微流表的流表项与检测到的长流对应的入口数据报文中的特征值相关。
[0011]根据本发明的另一个方面,提供了一种开放流路由交换设备,包括:
[0012]解析装置,被配置为响应于接收入口数据报文,解析该入口数据报文;
[0013]匹配装置,被配置为将解析的入口数据报文与位于TCAM的宏流表中的流表项进行匹配,其中,在所述宏流表的流表项中相关联的动作包含启动长流检测;
[0014]执行装置,被配置为响应于解析的入口数据报文与所述宏流表中的流表项匹配,执行所述宏流表中的流表项相关联的启动长流检测的动作;
[0015]通知装置,被配置为响应于该入口数据报文在长流检测中被判别属于长流,通知与所述开放流路由交换设备相连的开放流控制器检测到长流,并从所述开放流控制器接收位于SRAM的微流表的流表项,该微流表的流表项与检测到的长流对应的入口数据报文中的特征值相关。
[0016]本发明提出的方法很好地解决了 ASIC对TCAM表项的依赖,降低了开放流路由交换设备对TCAM空间的需求。通过识别网络中的长流并将匹配长流的流表项迁移到比TCAM更加廉价和更低能耗的SRAM上,大大降低了开放流路由交换设备的成本,并提供了一种节能的设计。同时,由于本发明把贡献了 80%的流量的长流识别出来,使得开放流控制器对全网的流量信息有了更进一步的了解和更细粒度的控制,结合其对全网拓扑的掌握情况,可以优化流量转发路径,并且避免拥塞点的出现。
【附图说明】
[0017]通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
[0018]图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图;
[0019]图2示出了传统的开放流路由交换设备和控制器的通信框架;
[0020]图3示出了开放流路由交换设备对数据报文的处理方法的流程框图;以及
[0021]图4示出了根据本发明一种实施方式的OpenFlow通信框架下的开放流路由交换设备的结构组成。
【具体实施方式】
[0022]下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0023]图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0024]如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
[0025]总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
[0026]计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0027]系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM) 30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如⑶-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0028]具有一组(至少一个)程序
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1