[发明专利]一种流表查找方法和装置有效

专利信息
申请号: 201010615226.4 申请日: 2010-12-30
公开(公告)号: CN102025643A 公开(公告)日: 2011-04-20
发明(设计)人: 戴崇经 申请(专利权)人: 华为技术有限公司
主分类号: H04L12/56 分类号: H04L12/56;H04L29/12
代理公司: 北京三友知识产权代理有限公司 11127 代理人: 任默闻
地址: 518129 广东省*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 查找 方法 装置
【说明书】:

技术领域

发明涉及网络技术领域,尤其涉及一种流表查找方法和装置。

背景技术

随着网络的发展,网络带宽日益增大,使用通用中央处理器CPU(Central ProcessingUnit)无法满足网络带宽的需求,因此需要专门的处理报文器件的协助处理转发,其中包括网络处理器(NP,Network Processer)、专用集成电路(ASIC,Application Specific IntegratedCircuit)、现场可编程门阵列(FPGA,Field Programmable Gate Array)等,在数据转发中通用并且需求稳定的部分给专用处理器件处理,复杂和需求易变部分交给通用CPU来处理。

现在的网络设备业务转发模型大致可以分为两种,一种是基于报文进行转发,一种是基于流进行转发。

基于报文转发主要使用在路由器和交换机上,需要对每一个报文独立进行查表(路由主要包括路由表,ARP(Address Resolution Protocol,地址解析协议)表以及其他一些端口控制和QoS(Quality of Service,服务质量)表项,交换主要包括Vlan(Virtual Local AreaNetwork,虚拟局域网)表,MAC(Media Access Control,媒体访问控制)表和其他一些端口控制和QoS表项,这里不详细描述),然后根据查表结果独立进行转发。这种处理方式每个报文需要查找多次表项,所以对设备的查表性能要求很高。

基于流转发主要使用在网关设备和防火墙上,现在也有部分路由器和交换机使用基于流处理,路由器和交换机是按照上面的表项查找,基于流转发是在流的第一个报文来的时候建立流表,然后把表项的结果放入到流表的结果中,后续报文只需要查找流表即可以转发,可以减少查表次数,对设备的查表性能要求减低,网关设备和防火墙需要按照规则建立流的动作,由于大部分网关和防火墙的规则在流前几个报文中,如果一个报文不能判断动作的话,需要更多的报文进行动作判断,后面该流的报文查流表基于流转发,一般来说,流动作判断在通用CPU中完成,流转发在专用转发器件中完成,但也不排除都在其中一个内完成。

按照五元组(源IP地址,目的IP地址,IP协议类型,源端口号,目的端口号)加上可能存在的二层转发时的VLAN ID或三层转发时VPN(Virtual Private Network,虚拟专用网络)ID作为关键字来确定一个流,客户端访问一个服务器的一个应用时候,客户端给服务器的请求是一个方向的流,服务器放回客户端的响应是另一个方向的流,这两个流组成一个会话。

现有技术按照设备的容量和位置,需要支持的流表数量不同,一个用户需要有十几到几十个流,一个10G的设备就需要10M以上的流,流表需要占用很大的内存空间。

流老化分为两种情况,主动老化和超时老化,主动老化是接受到应用层结束的报文或是TCP(Transmission Control Protocol,传输控制协议)的FIN(FIN为TCP报头的码位字段,该位置为1的含义为发送方字节流结束,用于关闭连接)/RST(Reset the connection,连接复位)报文时候老化流,超时老化是一个流超过一定时间没有流量的时候老化流。当前很多处理是双向流表不关联,在单向流量的时候,会老化一个方向的流表,这样导致这个方向的流不通。现有技术一无会话表,双向流表不关联,基于单个报文查找,如果没有流表,则建立流表,流表之间不关联,流表老化基于单向流,路由器和交换机大部分基于这种机制。流表一般使用Hash(散列,也音译为“哈希”)表完成查表,根据进来的报文,提取五元组进行Hash,得到的索引取出对应索引的关键字的内容,对照是否有效且一致,如果有效且一致,则查流表命中,可以得到索引读出表项内容。流表无关联,删除一个方向的流表另一个方向的流表不感知,只能删除单向流表。现有技术二存在会话表,在建立正向流表的时候同时建立反向流表,同时建立会话表,双向流表需要有会话表的索引,会话表中保存双向流表的索引,会话表需要两个流表,关联困难,老化只会删除一个方向的流表,如果需要删除两个方向的流表处理复杂,需要从流表在流表中取出会话表索引然后取出另一个方向的流表索引,才能删除另一个方向的流表。

在实现本发明过程中,发明人发现现有技术中至少存在如下问题:需要建立正反向两个流表,而用一个会话表把两个表项关联起来,会话表中需要保留两个流表的信息,用于删除正反向流表,由于流表数量都非常巨大,正反向流表保留了很多冗余信息,消耗了大量内存空间。

发明内容

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201010615226.4/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top