《用于嵌入式网络处理器的网络接口类型扩展适配系统.pdf》由会员分享,可在线阅读,更多相关《用于嵌入式网络处理器的网络接口类型扩展适配系统.pdf(11页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 (43)申请公布日 (21)申请号 201310451298.3(22)申请日 2013.09.25H04L 12/02(2006.01)(71)申请人中国科学院声学研究所地址 100190 北京市海淀区北四环西路21号申请人北京中科海力技术有限公司(72)发明人张武 郭晓东 王劲林 郭秀岩(74)专利代理机构北京法思腾知识产权代理有限公司 11318代理人杨小蓉 王敬波(54) 发明名称用于嵌入式网络处理器的网络接口类型扩展适配系统(57) 摘要本发明涉及一种用于嵌入式网络处理器的网络接口类型扩展适配系统,该系统将网卡芯片收到的数据转换为嵌入式网络处理器能够识别的处理器消。
2、息,以及将所述嵌入式网络处理器提交的处理器消息转换为所述网卡芯片能够识别的数据包。本发明扩展了处理器所能支持的网络接口类型,增加了处理器的可使用情形。(51)Int.Cl.(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书2页 说明书5页 附图3页(10)申请公布号 CN 104468128 A(43)申请公布日 2015.03.25CN 104468128 A1/2页21.一种用于嵌入式网络处理器的网络接口类型扩展适配系统,其特征在于,该系统将网卡芯片(102)收到的数据转换为嵌入式网络处理器(101)能够识别的处理器消息,以及将所述嵌入式网络处理器(101)提交的处理器消息。
3、转换为所述网卡芯片(102)能够识别的数据包。2.根据权利要求1所述的用于嵌入式网络处理器的网络接口类型扩展适配系统,其特征在于,包括网卡芯片网络数据接收模块(106)、处理器网络数据接收模块(107)、处理器网络数据发送模块(108)以及网卡芯片网络数据发送模块(109);其中,所述网卡芯片网络数据接收模块(106)用于存储所述网卡芯片(102)从网络上接收的网络数据包,并将所述网络数据包的存储地址传递给所述处理器网络数据接收模块(107);所述处理器网络数据接收模块(107)提取所述网络数据包的包头信息,对所述网络数据包进行预处理,并将预处理所得到的结果和网络数据包首地址封装为所述嵌入式网。
4、络处理器(101)能够识别的处理器消息;所述处理器网络数据发送模块(108)用于解析嵌入式网络处理器(101)所提交的处理器消息,将处理器消息中所包含的数据重组为网络数据包后发送给所述网卡芯片网络数据发送模块(109);所述网卡芯片网络数据发送模块(109)将所述网络数据包通过所述网卡芯片(102)发送到外部网络。3.根据权利要求2所述的用于嵌入式网络处理器的网络接口类型扩展适配系统,其特征在于,所述处理器网络数据接收模块(107)对所述网络数据包进行预处理包括:解析数据包类型,根据不同协议的数据包类型进行初步分类;根据包头信息计算哈希值;检验数据包校验和,以对数据包的正确性进行验证。4.根据。
5、权利要求2所述的用于嵌入式网络处理器的网络接口类型扩展适配系统,其特征在于,所述处理器网络数据发送模块(108)将处理器消息中所包含的数据重组为网络数据包包括:提取所述处理器消息中的一段或多段数据,并分配储存空间以对所提取的数据进行重组,对重组后的数据进行校验和计算。5.基于权利要求1-4之一所述的用于嵌入式网络处理器的网络接口类型扩展适配系统的数据接收方法,包括:步骤201)、网卡芯片(102)从外部网络(103)接收网络数据包;步骤202)、网卡芯片网络数据接收模块(106)根据所接收的网络数据包的大小在存储设备中分配相应的存储空间,并提供存储的地址信息给处理器网络数据接收模块(107);。
6、步骤203)、处理器网络数据接收模块(107)根据网卡芯片接收模块(106)所提供的地址信息读取存储的网络数据包,对该网络数据包进行正确性的校验,根据校验结果,若该网络数据包正确,执行步骤204),若该网络数据包错误,执行步骤205);步骤204)、识别数据包的类型,根据嵌入式网络处理器(101)处理网络数据包时所需的处理器消息要求,在处理器消息中填充数据包的类型信息,然后执行步骤206);步骤205)、为所述步骤203)中通过校验发现为错误数据包的网络数据包填充嵌入式网络处理器(101)的处理器消息中表示错包的相应字段,然后执行步骤208);步骤206)、判断该网络数据包是否为TCP包,若为。
7、TCP包,执行步骤207),若不是TCP包,执行步骤208);步骤207)、对于TCP包,根据数据包包头中的IP字段和端口字段的四元组进行哈希值权 利 要 求 书CN 104468128 A2/2页3计算,将哈希值计算结果填充到处理器消息的相应字段中;步骤208)、重新构造数据结构,生成嵌入式网络处理器(101)所能识别的处理器消息;步骤209)、处理器网络数据接收模块(107)把重新构造好的处理器消息提交给嵌入式网络处理器(101)。6.基于权利要求1-4之一所述的用于嵌入式网络处理器的网络接口类型扩展适配系统的数据发送方法,包括:步骤301)、处理器网络数据发送模块(108)获取嵌入式网络。
8、处理器(101)处理后的处理器消息;步骤302)、解析该处理器消息,获取有效负载的首地址信息;步骤303)、根据首地址获取有效负载后,对负载数据进行重组,重组后的结果保存在网络数据包中;步骤304)、根据数据内容计算校验和,将计算结果填充网络数据包包头中的相应字段,然后将所得到的网络数据包发送到网卡芯片网络数据发送模块(109);步骤305)、网卡芯片网络数据发送模块(109)向外发送数据包,并释放数据包存储空间。权 利 要 求 书CN 104468128 A1/5页4用于嵌入式网络处理器的网络接口类型扩展适配系统技术领域0001 本发明涉及处理器网络接口领域,特别涉及用于嵌入式网络处理器的网。
9、络接口类型扩展适配系统。背景技术0002 这些年来掀起了嵌入式系统的应用热潮。一方面的原因是随着芯片技术的发展,单个芯片具有更强的处理能力,使集成多种接口已经成为可能,众多芯片生产厂商已经将注意力集中在这方面。另一方面的原因是应用的需要,由于对产品可靠性、成本、更新换代要求的提高,使得嵌入式系统逐渐从纯硬件实现和使用通用计算机实现的应用中脱颖而出,成为近年来令人关注的焦点。0003 嵌入式系统的核心是嵌入式处理器。嵌入式微处理器一般具备以下4个特点:1)对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间;2)具有很强的存储区保护功能;3)可扩展的处理器结构,以能最迅速地开发出满。
10、足应用的最高性能的嵌入式微处理器;4)功耗很低。0004 网络处理器是一种可编程器件,它特定的应用于通信领域的各种任务。器件内部通常由若干个微码处理器和若干硬件协处理器组成,多个微码处理器在网络处理器内部并行处理,通过预先编制的微码来控制处理流程。而一些复杂的标准操作(如内存操作、路由表查找算法、QoS的拥塞控制算法、流量调度算法等)则采用硬件协处理器来进一步提高处理性能,从而实现了业务灵活性和高性能的有机结合。0005 结合嵌入式处理器的特点,使用嵌入式服务器作为网络处理器可以有很好的性能。但特定的处理器有其自身所支持的特定网络接口类型,若遇到其不支持的类型就无法良好工作。为了充分发挥处理器。
11、性能,使其能应用于不同结构的硬件系统中,需要扩展其所支持的网络接口类型,从而增加其应用范围,使其在更多的系统中都能正常使用,体现其功能优势。发明内容0006 本发明的目的在于克服现有技术中的嵌入式处理器所支持的网络接口类型有限的缺陷,从而提供一种适用范围广的用于嵌入式网络处理器的网络接口类型扩展适配系统。0007 为了实现上述目的,本发明提供了一种用于嵌入式网络处理器的网络接口类型扩展适配系统,该系统将网卡芯片102收到的数据转换为嵌入式网络处理器101能够识别的处理器消息,以及将所述嵌入式网络处理器101提交的处理器消息转换为所述网卡芯片102能够识别的数据包。0008 上述技术方案中,包括。
12、网卡芯片网络数据接收模块106、处理器网络数据接收模块107、处理器网络数据发送模块108以及网卡芯片网络数据发送模块109;其中,0009 所述网卡芯片网络数据接收模块106用于存储所述网卡芯片102从网络上接收说 明 书CN 104468128 A2/5页5的网络数据包,并将所述网络数据包的存储地址传递给所述处理器网络数据接收模块107;所述处理器网络数据接收模块107提取所述网络数据包的包头信息,对所述网络数据包进行预处理,并将预处理所得到的结果和网络数据包首地址封装为所述嵌入式网络处理器101能够识别的处理器消息;0010 所述处理器网络数据发送模块108用于解析嵌入式网络处理器101。
13、所提交的处理器消息,将处理器消息中所包含的数据重组为网络数据包后发送给所述网卡芯片网络数据发送模块109;所述网卡芯片网络数据发送模块109将所述网络数据包通过所述网卡芯片102发送到外部网络。0011 上述技术方案中,所述处理器网络数据接收模块107对所述网络数据包进行预处理包括:解析数据包类型,根据不同协议的数据包类型进行初步分类;根据包头信息计算哈希值;检验数据包校验和,以对数据包的正确性进行验证。0012 上述技术方案中,所述处理器网络数据发送模块108将处理器消息中所包含的数据重组为网络数据包包括:提取所述处理器消息中的一段或多段数据,并分配储存空间以对所提取的数据进行重组,对重组后。
14、的数据进行校验和计算。0013 本发明还提供了基于所述的用于嵌入式网络处理器的网络接口类型扩展适配系统的数据接收方法,包括:0014 步骤201)、网卡芯片102从外部网络103接收网络数据包;0015 步骤202)、网卡芯片网络数据接收模块106根据所接收的网络数据包的大小在存储设备中分配相应的存储空间,并提供存储的地址信息给处理器网络数据接收模块107;0016 步骤203)、处理器网络数据接收模块107根据网卡芯片接收模块106所提供的地址信息读取存储的网络数据包,对该网络数据包进行正确性的校验,根据校验结果,若该网络数据包正确,执行步骤204),若该网络数据包错误,执行步骤205);0。
15、017 步骤204)、识别数据包的类型,根据嵌入式网络处理器101处理网络数据包时所需的处理器消息要求,在处理器消息中填充数据包的类型信息,然后执行步骤206);0018 步骤205)、为所述步骤203)中通过校验发现为错误数据包的网络数据包填充嵌入式网络处理器101)的处理器消息中表示错包的相应字段,然后执行步骤208);0019 步骤206)、判断该网络数据包是否为TCP包,若为TCP包,执行步骤207),若不是TCP包,执行步骤208);0020 步骤207)、对于TCP包,根据数据包包头中的IP字段和端口字段的四元组进行哈希值计算,将哈希值计算结果填充到处理器消息的相应字段中;0021。
16、 步骤208)、重新构造数据结构,生成嵌入式网络处理器101所能识别的处理器消息;0022 步骤209)、处理器网络数据接收模块107把重新构造好的处理器消息提交给嵌入式网络处理器101。0023 本发明又提供了基于所述的用于嵌入式网络处理器的网络接口类型扩展适配系统的数据发送方法,包括:0024 步骤301)、处理器网络数据发送模块108获取嵌入式网络处理器101处理后的处理器消息;0025 步骤302)、解析该处理器消息,获取有效负载的首地址信息;说 明 书CN 104468128 A3/5页60026 步骤303)、根据首地址获取有效负载后,对负载数据进行重组,重组后的结果保存在网络数据。
17、包中;0027 步骤304)、根据数据内容计算校验和,将计算结果填充网络数据包包头中的相应字段,然后将所得到的网络数据包发送到网卡芯片网络数据发送模块109;0028 步骤305)、网卡芯片网络数据发送模块109向外发送数据包,并释放数据包存储空间。0029 本发明的优点在于:0030 本发明扩展了处理器所能支持的网络接口类型,增加了处理器的可使用情形。附图说明0031 图1是本发明的网络接口类型扩展适配系统的结构示意图;0032 图2是本发明的网络接口类型扩展适配系统在做数据接收时的工作流程图;0033 图3是本发明的网络接口类型扩展适配系统在做数据发送时的工作流程图。具体实施方式0034 。
18、现结合附图对本发明作进一步的描述。0035 在对本发明的系统做详细说明之前,首先对本发明的应用场景进行说明。0036 参考图1,在一应用场景中,网卡芯片102的一端连接到外部网络103,所述网卡芯片102的另一端需要与嵌入式网络处理器101连接。正如在背景技术中所提到的,嵌入式网络处理器101所支持的网络接口类型有限,未必包含网卡芯片102所支持的网络接口类型。若嵌入式网络处理器101所支持的网络接口类型与网卡芯片102所支持的网络接口类型之间存在冲突,将会给两者之间的数据交换造成影响。本发明的网络接口类型扩展适配系统能够克服这一问题,实现网卡芯片102与嵌入式网络处理器101之间的数据交互。。
19、0037 本发明的网络接口类型扩展适配系统与嵌入式网络处理器101、网卡芯片102协同工作,将网卡芯片102收到的数据转换为嵌入式网络处理器101可识别的处理器消息,将嵌入式网络处理器101提交的处理器消息转换为网卡芯片102可识别的数据包。该系统包括网卡芯片网络数据接收模块106、处理器网络数据接收模块107、处理器网络数据发送模块108以及网卡芯片网络数据发送模块109;其中,所述网卡芯片网络数据接收模块106、网卡芯片网络数据发送模块109位于网卡芯片102上,所述处理器网络数据接收模块107、处理器网络数据发送模块108位于嵌入式网络处理器101上,所述网卡芯片网络数据接收模块106与。
20、处理器网络数据接收模块107之间建立通信连接,处理器网络数据发送模块108与网卡芯片网络数据发送模块109之间建立通信连接。网卡芯片网络数据接收模块106,处理器网络数据接收模块107和嵌入式网络处理器101形成数据接收部分104,处理器网络数据发送模块108,网卡芯片网络数据发送模块109和嵌入式网络处理器101形成数据发送部分105。0038 网卡芯片网络数据接收模块106用于处理网卡芯片102从网络上接收的网络数据包,包括:根据所接收数据包的大小分配相应的存储空间,存储所收到的数据,并将数据包存储的首地址传递给处理器网络数据接收模块107。0039 处理器网络数据接收模块107用于模拟嵌。
21、入式网络处理器101的数据输入单元,说 明 书CN 104468128 A4/5页7处理网卡芯片网络数据接收模块106所提交的数据包。该模块对数据包的处理包括:提取数据包包头信息,以进行数据包预处理;数据包预处理;将数据包预处理信息和数据包首地址封装为嵌入式网络处理器101可识别的处理器消息。其中,所述数据包预处理包括:解析数据包类型,根据不同协议的数据包类型进行初步分类;根据包头信息计算哈希值;检验数据包校验和,以对数据包的正确性进行验证。0040 处理器网络数据发送模块108用于解析嵌入式网络处理器101所提交的处理器消息,提取所述处理器消息中的一段或多段数据,并分配储存空间以对数据进行重。
22、组,对重组后的数据进行校验和计算,并将重组后的数据包首地址传递给网卡芯片网络数据发送模块109。0041 网卡芯片网络数据发送模块109接收处理器网络数据发送模块108提交的数据包首地址,根据该地址读取数据包并通过网卡芯片102将数据包发送到网络。0042 下面以本发明系统为基础,对嵌入式网络处理器如何利用该系统实现数据接收与数据发送的过程进行描述。0043 参考图2,所述数据接收的工作流程包括:0044 步骤201、网卡芯片102从外部网络103接收网络数据包;0045 步骤202、网卡芯片网络数据接收模块106根据所接收的网络数据包的大小在存储设备中分配相应的存储空间,并提供存储的地址信息。
23、给处理器网络数据接收模块107。0046 步骤203、处理器网络数据接收模块107根据网卡芯片接收模块106所提供的地址信息读取存储的网络数据包,对该网络数据包进行正确性的校验,根据校验结果,若该网络数据包正确,执行步骤204,若该网络数据包错误,执行步骤205。0047 步骤204、识别数据包的类型,根据嵌入式网络处理器101处理网络数据包时所需的处理器消息要求,在处理器消息中填充数据包的类型信息,然后执行步骤206。所述处理器消息为嵌入式网络处理器101所能识别的数据格式,其至少包括用于表示数据包类型的字段、用于表示数据包是否为错包的字段、用于存储哈希值计算结果的字段。0048 步骤205。
24、、为所述步骤203中通过校验发现为错误数据包的网络数据包填充嵌入式网络处理器101的处理器消息中表示错包的相应字段,然后执行步骤208。0049 步骤206、判断该网络数据包是否为TCP包,若为TCP包,执行步骤207,若不是TCP包,执行步骤208。0050 步骤207、对于TCP包,根据数据包包头中的IP字段和端口字段的四元组(包括源IP,目的IP,源端口,目的端口)进行哈希值计算,将哈希值计算结果填充到处理器消息的相应字段中。0051 步骤208、重新构造数据结构,生成嵌入式网络处理器101所能识别的处理器消息。0052 步骤209、处理器网络数据接收模块107把重新构造好的处理器消息提。
25、交给嵌入式网络处理器101。0053 参考图3,所述数据发送的工作流程包括:0054 步骤301、处理器网络数据发送模块108获取嵌入式网络处理器101处理后的处理器消息。0055 步骤302、解析该处理器消息,获取有效负载的首地址信息。说 明 书CN 104468128 A5/5页80056 步骤303、根据首地址获取有效负载后,对负载数据进行重组,重组后的结果保存在网络数据包中。由于一个网络数据包中的内容通常被分成多段,所述多段由不同的处理器消息负载,因此在本步骤中需要对负载数据进行重组。0057 步骤304、根据数据内容计算校验和,将计算结果填充网络数据包包头中的相应字段,然后将所得到的网络数据包发送到网卡芯片网络数据发送模块109。0058 步骤305、网卡芯片网络数据发送模块109向外发送数据包,并释放数据包存储空间。0059 最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。说 明 书CN 104468128 A1/3页9图1说 明 书 附 图CN 104468128 A2/3页10图2说 明 书 附 图CN 104468128 A10。