首页> 中国专利> 实现网卡卸载功能的方法、网卡、主机系统及网络设备

实现网卡卸载功能的方法、网卡、主机系统及网络设备

摘要

本发明适用于通信技术领域,提供了一种实现网卡卸载功能的方法、网卡、主机系统及网络设备。当网卡或者主机系统接收到的数据报文为网卡未知数据报文时,对所述网卡未知数据报文进行解析,生成新的策略条目,并将所述新的策略条目更新到所述主机策略表和所述网卡策略表中。本发明对含新的私有或标准协议头Tag的报文,只需更新对所述报文进行解析的功能模块,使其能够处理该类报文并下发新的策略条目至主机策略表及网卡策略表中,而网卡无需变动,从而实现了网卡卸载功能的动态扩展。

著录项

  • 公开/公告号CN103139253A

    专利类型发明专利

  • 公开/公告日2013-06-05

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN201110389265.1

  • 发明设计人 杨小华;孙福清;王云贵;

    申请日2011-11-30

  • 分类号H04L29/08(20060101);

  • 代理机构44237 深圳中一专利商标事务所;

  • 代理人张全文

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2024-02-19 19:33:17

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-03-09

    授权

    授权

  • 2013-07-10

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20111130

    实质审查的生效

  • 2013-06-05

    公开

    公开

说明书

技术领域

本发明属于通信技术领域,尤其涉及一种实现网卡卸载功能的方法、网卡、 主机系统及网络设备。

背景技术

随着互联网业务的快速发展,网络视频流量急剧增加,为了实现对硬件资 源的充分利用,服务器虚拟化技术在数据中心得到越来越广泛的应用。在这种 情形下,TCP/IP网络协议栈处理对CPU资源的占用率越来越高,甚至可能成为 整个服务器系统的瓶颈。为了降低CPU的负载,进而提高整个服务器系统的性 能,网络适配器(网卡)厂商纷纷推出带卸载功能的网卡,通过将原本TCP/IP 网络协议栈负责的部分工作(如计算TCP/IP校验和、TCP/UDP报文切片等)卸 载给网卡处理,从而降低TCP/IP协议栈处理对CPU资源的占用率。

目前,网卡具有的卸载功能通常包括计算TCP/IP校验和、TCP/UDP分片报 文重组、TCP切片卸载等,这些卸载功能都依赖于网卡能否正确解析所要处理 的报文。通常,网卡可以支持标准数据报文,例如标准IP报文、带虚拟局域网 Virtual(Local Area Network,VLAN)标识的IP报文的处理。但是,在服务 器虚拟化情形下,为了隔离网络流量,通常在报文中封装私有协议标签Tag,对 于含有私有协议Tag的IP报文,因网卡无法正确解析该类IP报文,造成各种卸载 处理误操作,从而导致网络大量丢包,影响网络传输性能。

现有技术通过定制的网卡,提供对特定私有协议的网卡卸载功能。但是, 定制网卡的方案,可扩展性差,同时对于未知协议IP报文的处理,仍然需要占 用大量的CPU资源。

发明内容

本发明实施例提供了一种实现网卡卸载功能的方法、网卡、主机系统及网 络设备,旨在解决现有技术中网卡卸载功能扩展性差的问题。

一方面,提供一种实现网卡卸载功能的方法,包括:

根据网卡中存储的网卡策略表或者主机系统中存储的主机策略表判断接收 到的数据报文为网卡已知数据报文还是网卡未知数据报文;

当所述数据报文为网卡已知数据报文时,由网卡根据所述网卡策略表中的 策略条目对所述网卡已知数据报文进行相应的协议栈卸载操作;

当所述数据报文为网卡未知数据报文时,则对所述网卡未知数据报文进行 解析,生成新的策略条目,并将所述新的策略条目更新到所述主机策略表和所 述网卡策略表中。

另一方面,提供一种网卡,所述网卡包括:所述网卡包括:

第一判断模块,用于依据网卡策略表判断接收到的数据报文是网卡已知数 据报文还是网卡未知数据报文;

第一卸载模块,用于当所述数据报文是网卡已知数据报文时,根据网卡策 略表对所述数据报文进行相应的协议栈卸载操作;

上行报文发送模块,用于当所述数据报文是网卡未知数据报文时,将所述 数据报文发送给主机系统,以使主机系统对所述数据报文进行解析,生成新的 策略条目;

第一策略更新模块,用于接收所述新的策略条目,并更新到所述网卡策略 表中。

再一方面,提供一种主机系统,包括:

第二判断模块,用于根据主机策略表判断接收到的数据报文为网卡已知数 据报文还是网卡未知数据报文;

下行报文发送模块,用于当所述数据报文是网卡已知数据报文时,则发送 所述数据报文至网卡,以使所述网卡根据网卡策略表中的策略条目对所述数据 报文进行相应的协议栈卸载操作;

包解析模块,用于当接收到的数据报文为网卡未知数据报文时,对所述网 卡未知数据报文进行解析,生成新的策略条目;

第二策略更新模块,用于将所述新的策略条目更新到主机策略表中,并发 送给所述网卡。

又一方面,提供一种实现网卡卸载功能的网络设备,所述网络设备包括如 上所述的网卡和如上所述的主机系统。

在本发明实施例中,先判断接收到的数据报文是网卡已知数据报文还是网 卡未知数据报文,当所述数据报文为网卡已知数据报文时,由网卡根据网卡策 略表中的策略条目对所述网卡已知数据报文进行相应的协议栈卸载操作,当所 述数据报文为网卡未知数据报文时,则对所述对接收到的网卡未知数据报文进 行解析,生成新的策略条目,再将所述新的策略条目同时更新到主机策略表和 网卡策略表中,以使网卡能根据所述新的策略条目对后续接收到的数据报文进 行相应的协议栈卸载操作,其中,所述数据报文的协议关键字与所述网卡未知 数据报文的协议关键字相同。本发明对含新的私有或标准协议头Tag的数据报 文,只需更新对所述报文进行解析的功能模块,使其能够处理该类数据报文并 下发新的策略条目至主机策略表及网卡策略表中,而网卡无需变动,从而实现 了网卡卸载功能的动态扩展。

附图说明

图1是本发明实施例提供的一种实现网卡卸载功能的方法流程图;

图2是本发明实施例提供的主机策略表和网卡策略表的结构示意图;

图3是本发明实施例提供的协议解析表的结构示意图;

图4是本发明实施例提供的当接收到报文是上行报文时,实现网卡卸载功 能的方法流程图;

图5是本发明实施例提供的当接收到报文是下行报文时,实现网卡卸载功 能的方法流程图;

图6是本发明实施例提供的实现网卡卸载功能的网络设备框图;

图7是本发明实施例提供的实现网卡卸载功能的系统框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅 仅用以解释本发明,并不用于限定本发明。

在本发明实施例中,先判断接收到的数据报文是网卡已知数据报文还是网 卡未知数据报文,当所述数据报文为网卡已知数据报文时,由网卡根据网卡策 略表中的策略条目对所述网卡已知数据报文进行相应的协议栈卸载操作,当所 述数据报文为网卡未知数据报文时,则对所述网卡未知数据报文进行解析,生 成新的策略条目,再将所述新的策略条目同时更新到主机策略表和网卡策略表 中,以使网卡能根据所述新的策略条目对后续接收到的数据报文进行相应的协 议栈卸载操作,其中,所述数据报文的协议关键字与所述网卡未知数据报文的 协议关键字相同。本发明对含新的私有或标准协议头Tag的数据报文,只需更 新对所述数据报文进行解析的功能模块,使其能够处理该类数据报文并下发新 的策略条目至主机策略表或者网卡策略表中,而网卡无需变动,从而实现了网 卡卸载功能的动态扩展。

图1示出了本发明实施例提供的实现网卡卸载功能的方法,该方法可以应 用于包括主机系统和网卡的网络设备。所述方法具体包括:

101、根据网卡中存储的网卡策略表或者主机系统中存储的主机策略表判断 接收到的数据报文为网卡已知数据报文还是网卡未知数据报文。

在本发明实施例中,数据报文可以是入向包报文,也称为上行报文;或者 出向包报文也称为下行报文。其中,当接收到的数据报文是上行报文时,即网 卡先接收到所述数据报文时,则由网卡根据网卡中存储的网卡策略表判断接收 到的数据报文为网卡已知数据报文还是网卡未知数据报文,否则,当接收到的 数据报文是下行报文时,即主机系统先接收到所述数据报文时,则由主机系统 根据主机系统中存储的主机策略表判断接收到的数据报文为网卡已知数据报文 还是网卡未知数据报文。

其中,网卡或者主机系统判断接收到的数据报文为网卡已知数据报文还是 网卡未知数据报文,具体包括:

101a、网卡或者主机系统提取数据报文的协议关键字;

101b、根据所述协议关键字查找所述网卡策略表或所述主机策略表,所述 主机策略表和所述网卡策略表中包括策略条目,所述策略条目中包括策略类型 和动作;

101c、当所述协议关键字与所述主机策略表或所述网卡策略表中一条已有 策略条目的策略类型匹配时,则所述数据报文是网卡已知数据报文,否则所述 数据报文是网卡未知数据报文。

102、当所述数据报文为网卡已知数据报文时,由网卡根据所述网卡策略表 中的策略条目对所述网卡已知数据报文进行相应的协议栈卸载操作。

其中,当所述数据报文是上行报文时,使所述网卡根据与所述协议关键字 对应的策略条目中的动作对所述上行报文进行相应的协议栈卸载操作,并将处 理后的数据报文发送给主机协议栈或虚拟化平台中的虚拟交换机(vSwitch)处 理。

当所述数据报文是下行报文时,则主机系统发送所述数据报文至网卡,以 使网卡根据网卡策略表中的相应策略条目对所述数据报文进行相应的协议栈卸 载操作并外发所述数据报文。

103、当所述数据报文为网卡未知数据报文时,则对所述网卡未知数据报文 进行解析,生成新的策略条目,并将所述新的策略条目更新到所述主机策略表 和所述网卡策略表中。

其中,所述网卡中包括内存,内存中存储有网卡策略表,网卡策略表中包 括策略条目,策略条目中包括策略类型和动作。所述主机系统中存储有主机策 略表,所述主机策略表与所述网卡策略表结构相同。具体的主机策略表和网卡 策略表的结构如图2所示。

具体的103中,可以由主机系统对接收到的网卡未知数据报文进行解析, 生成新的策略条目;所述主机系统中存储有协议解析表。或者,由主机系统将 接收到的网卡未知数据报文转发给远端服务器,以使所述远端服务器对所述网 卡未知数据报文进行解析,生成新的策略条目,所述主机系统接收所述远端服 务器返回的所述新的策略条目;所述远端服务器中存储有协议解析表,所述协 议解析表中包含协议关键字和协议解析函数句柄,具体的协议解析表的结构如 图3所示。

所述主机系统将所述新的策略条目更新到所述主机策略表和所述网卡策略 表中,以使网卡根据所述新的策略条目对后续接收到的同类数据报文进行相应 的协议栈卸载操作,所述同类数据报文是指其协议关键字与所述网卡未知数据 报文的协议关键字相同的数据报文。

其中,对所述网卡未知数据报文进行解析具体包括:

103a、提取所述网卡未知数据报文的协议关键字;

103b、根据所述协议关键字查找协议解析表,所述协议解析表中包含协议 关键字和协议解析函数句柄;

103c、当所述协议关键字与所述协议解析表中一条已有协议解析信息的协 议关键字匹配时,获取所述已有协议解析信息中的协议解析函数句柄,并调用 所述协议解析函数对所述网卡未知数据报文进行解析。

需要说明的是,主机系统和网卡中的策略表初始可以为空,即没有任何策 略条目,随着网卡不断接收到各种协议类型的流量报文,本地包解析模块或者 远端包解析模块动态扩展主机系统及网卡中的策略表的策略条目,策略表维护 可以采用被动老化机制,即策略条目数超过上限时覆盖最近最少用(LRU,Least  Recent Used)的策略条目,从而节省网卡的存储资源。

在本实施例中,对含新的私有或标准协议头Tag的报文,只需更新本地包解 析模块或者远端包解析模块使其能处理该类报文并下发新的策略条目至本地策 略表及网卡策略表,而网卡无需变动,从而实现了网卡卸载功能动态扩展。

可选的,为了使主机系统或者远端服务器能够对接收到的网卡未知数据报 文进行解析,在步骤101之前,所述方法还包括:

主机系统或者远端服务器接收输入的新协议注册命令,所述新协议注册命 令中包括关键字和指向与所述关键字对应的解析函数句柄的表项;

所述主机系统或者所述远端服务器,根据所述新协议注册命令更新协议解 析表。图3示出了新协议注册前的协议解析表和新协议注册后的协议解析表。

举例来说,图4示出了本发明实施例提供的当接收到数据报文是上行报文 时,实现网卡卸载功能的方法,所述方法包括:

401,网卡接收到上行报文后,提取所述上行报文的协议关键字。

其中,上行报文的协议关键字可以是协议类型。

402,所述网卡根据所述协议关键字查找所述网卡策略表,所述网卡策略表 中包括策略条目,所述策略条目中包括策略类型,当所述协议关键字与所述网 卡策略表中一条已有策略条目的策略类型匹配时,则所述数据报文是网卡已知 数据报文,执行403,否则所述数据报文是网卡未知数据报文,执行404。

网卡提取到上行报文的协议关键字后,根据该关键字查找网卡策略表,当 所述协议关键字与所述网卡策略表中一条已有策略条目的策略类型匹配时,则 执行步骤403,否则执行步骤404。

具体的匹配规则是查找策略条目中的策略类型,当网卡策略表中存在与该 关键字相同的策略类型时,则认为网卡策略表中存在与该关键字匹配的策略条 目。

403,所述网卡根据所述策略条目对所述报文进行相应的协议栈卸载操作。

当所述协议关键字与所述网卡策略表中一条已有策略条目的策略类型匹配 时,所述网卡根据与所述关键字对应的策略条目中的动作对上行报文进行相应 的协议栈卸载操作,比如计算TCP校验和、GRO处理等,最后,将上行报文 送交主机系统的协议栈或虚拟化平台中的虚拟交换机(vSwitch)处理。

404中,所述网卡发送所述上行报文至主机系统,以使主机系统对接收到 的所述上行报文进行解析,生成新的策略条目,并将所述新的策略条目更新到 主机策略表和所述网卡策略表中。

当所述协议关键字与所述网卡策略表中任一条已有策略条目的策略类型都 不匹配时,网卡将该上行报文交给主机系统。

主机系统接收到的网卡发送的上行报文后,首先通过主机系统的本地包解 析模块提取所述上行报文的协议关键字,再根据所述协议关键字查找协议解析 表,所述协议解析表中包含协议关键字和协议解析函数句柄,当所述协议关键 字与所述协议解析表中一条已有协议解析信息的协议关键字匹配时,获取所述 已有协议解析信息中的协议解析函数句柄,并调用所述协议解析函数对所述网 卡未知数据报文进行解析,生成新的策略条目,然后将该新的策略条目更新到 主机系统中的主机策略表中,同时将该新的策略条目下发到网卡中的网卡策略 表。

这时主机策略表和网卡策略表中都包括了与所述上行报文的协议关键字匹 配的策略条目,后续网卡接收到与所述上行报文的协议关键字相同的数据报文 后,就可按照网卡策略表或者主机策略表中新增加的策略条目中的动作对接收 到的数据报文执行相应的协议栈操作。

另一方面,通过主机系统对网卡和主机策略表进行更新后,可以利用主机 系统的CPU对该上行报文进行相应处理(如计算TCP校验和、GRO处理等), 处理完后,CPU将该上行报文转给协议栈或vSwitch处理。

又例如,图5示出了本发明实施例提供的当接收到报文是下行报文时,实 现网卡卸载功能的方法,所述方法包括:

501,主机系统提取接收到的数据报文的协议关键字。

当主机系统接收到从vSwitch或协议栈下发的TX方向的下行报文后,通 过本地包解析模块提取所述下行报文的协议关键字。

502,主机系统根据所述协议关键字查找所述主机策略表,所述主机策略表 中包括策略条目,所述策略条目中包括策略类型,当所述协议关键字与所述主 机策略表中一条已有策略条目的策略类型匹配时,则所述数据报文是网卡已知 数据报文,执行503;否则所述数据报文是网卡未知数据报文,执行S504。

503,主机系统发送所述报文至网卡,以使网卡根据网卡策略表中的策略条 目对所述数据报文进行相应的协议栈卸载操作。

当数据报文的协议关键字与主机策略表中一条已有策略条目的策略类型匹 配时,由于主机策略表和网卡策略表是同时更新的,因此可以得出,网卡策略 表中也存在与所述关键字匹配的策略条目,则主机系统发送接收到的数据报文 至网卡,使网卡根据所述策略条目中的动作对所述数据报文执行相应的协议栈 卸载操作。

504,主机系统对所述报文进行解析,生成新的策略条目,并将所述策略条 目更新到所述主机策略表和网卡策略表中。

当数据报文的协议关键字与主机策略表中任意一条已有策略条目的策略类 型都不匹配时,则通过主机系统的本的包解析模块对接收到的数据报文进行解 析,生成与解析结果对应的新的策略条目,主机系统的本地包解析模块将生成 的新的策略条目更新到主机策略表中,同时将该策略条目下发到网卡策略表中, 以实现主机策略表和网卡策略表的同步更新。具体步骤可以参见103a至103c, 在此不再赘述。

505,主机系统发送接收到的下行报文至网卡,以使所述网卡根据所述策略 条目对所述下行报文执行相应的协议栈卸载操作。

主机系统发送接收到的下行报文至网卡,由于网卡中的策略表已经添加了 所述新的策略条目,因此网卡可以根据所述新的策略条目中的动作对所述下行 报文执行相应的协议栈卸载操作并外发到网络中。

图6示出了本发明实施例提供的实现网卡卸载功能的网络设备框图,用于 实现本发明中图1、图4和图5所示的方法。所述网络设备包括网卡61和主机 系统62。

所述网卡61包括:内存,所述内存中存储有网卡策略表,所述网卡策略表 包括策略条目,所述策略条目包括策略类型和动作,所述网卡61可以与所述主 机系统62连接,所述网卡61还包括:第一判断模块611、第一卸载模块612、 上行报文发送模块613和第一策略更新模块614。

其中,第一判断模块611用于依据网卡策略表判断接收到的数据报文是网 卡已知数据报文还是网卡未知数据报文;

第一卸载模块612用于当所述数据报文是网卡已知数据报文时,根据网卡 策略表对所述数据报文进行相应的协议栈卸载操作;

上行报文发送模块613用于当所述数据报文是网卡未知数据报文时,将所 述数据报文发送给主机系统以使主机系统对所述数据报文进行解析,生成新的 策略条目;

第一策略更新模块614用于接收所述新的策略条目,并更新到所述网卡策 略表中。

其中,第一判断模块611包括:关键字提取单元和查表单元。

关键字提取单元用于提取所述数据报文的协议关键字;

查表单元用于根据所述关键字提取单元提取的协议关键字查找网卡策略 表,所述网卡策略表中包括策略条目,所述策略条目中包括策略类型,当所述 协议关键字与所述网卡策略表中一条已有策略条目的策略类型匹配时,则所述 数据报文是网卡已知数据报文,否则所述数据报文是网卡未知数据报文。

所述主机系统62中存储有主机策略表,所述主机策略表包括策略条目,所 述策略条目包括策略类型和动作,所述主机系统62包括:第二判断模块621、 下行报文发送模块622、包解析模块623和第二策略更新模块624。

其中,第二判断模块621用于根据主机策略表判断接收到的数据报文为网 卡已知数据报文还是网卡未知数据报文;

下行报文发送模块622用于当所述数据报文是网卡已知数据报文时,则发 送所述数据报文至网卡,以使所述网卡根据网卡策略表中的策略条目对所述数 据报文进行相应的协议栈卸载操作;

包解析模块623用于当接收到的数据报文为网卡未知数据报文时,对所述 网卡未知数据报文进行解析,生成新的策略条目;

第二策略更新模块624用于将所述新的策略条目更新到所述主机策略表 中,并发送给所述网卡。

其中,所述包解析模块623可以包括:关键字段提取单元、关键字段匹配 单元和策略条目生成单元。或者,可以包括:报文转发单元和策略条目接收单 元。

所述关键字段提取单元用于提取所述网卡未知数据报文的协议关键字;

所述关键字段匹配单元用于根据所述关键字段提取单元提取的所述协议关 键字,查找协议解析表,所述协议解析表中包含协议关键字和协议解析函数句 柄;

所述策略条目生成单元,用于当所述协议关键字与所述协议解析表中一条 已有协议解析信息的协议关键字匹配时,获取所述已有协议解析信息中的协议 解析函数句柄,并调用所述协议解析函数对所述报文进行解析,生成所述新的 策略条目。

所述报文转发单元,用于将接收到的网卡未知数据报文转发给远端服务器, 以由所述远端服务器对所述报文进行解析,生成所述新的策略条目;

所述策略条目接收单元,用于接收所述新的策略条目。

需要说明的是,主机系统和网卡中的策略表初始可以为空,即没有任何策 略条目,随着网卡不断接收到各种协议类型的流量报文,本地包解析模块或者 远端包解析模块动态扩展主机系统及网卡中的策略表的策略条目,策略表维护 可以采用被动老化机制,即策略条目数超过上限时覆盖最近最少用(LRU,Least  Recent Used)的策略条目,从而节省网卡的存储资源。

图7示出了本发明实施例提供的实现网卡卸载功能的系统框图,为了便于 说明,仅示出了与本发明实施例相关的部分。所述系统包括网卡71、主机系统 72和远端服务器73。

所述网卡71包括:内存711,所述内存711中存储有网卡策略表,所述网 卡策略表包括策略条目,所述策略条目包括策略类型和动作,所述网卡71与主 机系统72连接,所述网卡71还包括:第一判断模块712、第一卸载模块713、 上行报文发送模块714和第一策略更新模块15。

其中,第一判断模块712用于依据网卡策略表判断接收到的数据报文是网 卡已知数据报文还是网卡未知数据报文;

第一卸载模块713用于当所述数据报文是网卡已知数据报文时,根据网卡 策略表对所述数据报文进行相应的协议栈卸载操作;

上行报文发送模块714用于当所述数据报文是网卡未知数据报文时,将所 述数据报文发送给主机系统,以使主机系统对所述数据报文进行解析,生成新 的策略条目;

第一策略更新模块715用于接收所述新的策略条目,并更新到所述网卡策 略表中。

其中,第一判断模块712包括:关键字提取单元和查表单元。

关键字提取单元用于提取所述数据报文的协议关键字;

查表单元用于根据所述关键字提取单元提取的协议关键字查找网卡策略表 或主机策略表,所述主机策略表和所述网卡策略表中包括策略条目,所述策略 条目中包括策略类型,当所述协议关键字与所述网卡策略表中一条已有策略条 目的策略类型匹配时,则所述数据报文是网卡已知数据报文,否则所述数据报 文是网卡未知数据报文。

所述主机系统72中存储有主机策略表,所述主机策略表包括策略条目,所 述策略条目包括策略类型和动作,所述主机系统72包括:第二判断模块721、 下行报文发送模块722、报文转发模块723、策略条目接收模块724和第二策略 更新模块725。

其中,第二判断模块721用于根据主机策略表判断接收到的数据报文为网 卡已知数据报文还是网卡未知数据报文;

下行报文发送模块722用于当所述数据报文是网卡已知数据报文时,则发 送所述数据报文至网卡,以使网卡根据网卡策略表中的已有策略条目对所述数 据报文进行相应的协议栈卸载操作;

报文转发模块723用于将接收到的网卡未知数据报文转发给远端服务器, 以由所述远端服务器对所述报文进行解析,生成新的策略条目;

策略条目接收模块724用于接收所述新的策略条目;

第二策略更新模块725用于将所述新的策略条目更新到主机策略表,并发 送给所述网卡。

所述远端服务器73中存储有协议解析表,所述协议解析表包括协议头关键 字和指向与所述协议头关键字对应的解析函数句柄的表项,所述协议头关键字 是所述协议解析表的索引,所述远端服务器73还包括报文接收模块731、远端 包解析模块732、策略条目发送模块733、注册命令接收模块734和协议解析表 更新模块735。

报文接收模块731用于接收主机系统2发送的网卡未知数据报文;

远端包解析模块732用于对所述报文接收模块731接收到的网卡未知数据 报文进行解析,生成新的策略条目;

策略条目发送模块733用于发送所述新的策略条目至主机系统72,以由所 述主机系统72将所述策略条目发送单元733发送的新的策略条目同时更新到主 机系统72的主机策略表和网卡策略表中。

其中,所述远端包解析模块732包括:关键字段提取单元、关键字段匹配 单元和策略条目生成单元。

关键字段提取单元用于提取所述网卡未知数据报文协议关键字;

关键字段匹配单元用于根据所述关键字段提取单元提取的关键字,查找协 议解析表,所述协议解析表中包含协议关键字和协议解析函数句柄;

策略条目生成单元,用于当所述协议关键字与所述协议解析表中一条已有 协议解析信息的协议关键字匹配时,获取所述已有协议解析信息中的协议解析 函数句柄,并调用所述协议解析函数对所述报文进行解析,生成与解析结果对 应的策略条目。

注册命令接收模块734用于接收输入的新协议注册命令,所述新协议注册 命令中包括关键字和指向与所述关键字对应的解析函数句柄的表项;

协议解析表更新模块735用于根据所述注册命令接收模块34接收到的新协 议注册命令更新远端服务器3中的协议解析表。在本发明实施例中,一方面先 对接收到的网卡未知数据报文进行解析,生成与解析结果对应的策略条目,再 将所述策略条目同时更新到主机策略表和网卡策略表中,以使网卡根据所述策 略条目对后续接收到的同类数据报文进行相应的协议栈卸载操作。对含新的私 有或标准协议头Tag的报文,只需更新对所述报文进行解析的功能模块,使其 能够处理该类报文并下发新的策略条目至主机策略表或者网卡策略表中,而网 卡无需变动,从而实现了网卡卸载功能的动态扩展。另一方面,主机系统和网 卡中的策略表的维护可以采用被动老化机制,即策略条目数超过上限时覆盖最 近最少用(LRU,Least Recent Used)的策略条目,从而节省网卡的存储资源。 又一方面,本发明实施例将包解析模块分成本地包解析模块和远端包解析模块 两部分。远端包解析模块对外开放新协议注册功能,负责解析报文、生成策略 条目并发送给本地包解析模块,形成一对多的服务模式,解决了大范围部署同 类网卡时,由于需要在每台服务器的包解析模块上注册新协议,并进行协议解 析,增加处理开销和不利于管理的问题。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发 明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明 的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号