CN101355483A - 一种多网口发送数据包的方法和设备 - Google Patents

一种多网口发送数据包的方法和设备 Download PDF

Info

Publication number
CN101355483A
CN101355483A CNA2008101469478A CN200810146947A CN101355483A CN 101355483 A CN101355483 A CN 101355483A CN A2008101469478 A CNA2008101469478 A CN A2008101469478A CN 200810146947 A CN200810146947 A CN 200810146947A CN 101355483 A CN101355483 A CN 101355483A
Authority
CN
China
Prior art keywords
packet
network interface
desired value
physics network
physics
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2008101469478A
Other languages
English (en)
Other versions
CN101355483B (zh
Inventor
罗镇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Huawei Technology Co Ltd
Original Assignee
Huawei Symantec Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN2008101469478A priority Critical patent/CN101355483B/zh
Publication of CN101355483A publication Critical patent/CN101355483A/zh
Application granted granted Critical
Publication of CN101355483B publication Critical patent/CN101355483B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种多网口发送数据包的方法和设备,所述方法包括:判断虚拟网口是否需要刷新物理网口对应的目标值与数据包的目标值之间的对应关系;当判断所述虚拟网口不需要刷新所述对应关系时,遍历所述所有物理网口,匹配所述所有物理网口对应的目标值与数据包对应的目标值,当所述物理网口对应的目标值与数据包的目标值匹配成功,使用匹配成功的所述物理网口发送所述数据包。本发明实施例通过匹配物理网口对应的目标值与数据包的目标值,使用匹配成功的物理网口发送数据包,减少数据包的乱序,即减少了无效数据的发送,从而降低了CPU的占用率,使得CPU的消耗降低,提高了多网口绑定情况下的虚拟网口的带宽。

Description

一种多网口发送数据包的方法和设备
技术领域
本发明实施例涉及通讯技术领域,尤其涉及一种多网口发送数据包的方法和设备。
背景技术
通讯或IT(Information Technology,信息技术)系统的设备中通常有多个物理网口,为了提高带宽和链路备份,往往将多个物理网口绑定成一个虚拟网口使用。而绑定后的虚拟网口的带宽总是比非绑定情况下各个物理网口的带宽总和低很多。如何选择绑定后的虚拟网口下的物理网口进行数据包发送,直接影响虚拟网口的带宽和整个系统的性能。
现有的技术中,在将多个物理网口绑定为一个虚拟网口发送数据时,所有的数据包通过轮循的方式从虚拟网口发送出去。如图1所示,为现有技术中采用轮循方式发送数据包的示意图,设备上有3个物理网口(eth0、eth1、eth2),此三个物理网口绑定为一个新的虚拟网口。对于任何需要从虚拟网口发送出去的报文均按照轮循的方式进行:从虚拟网口发送的第一个数据包通过物理网口eth0发送,第二个数据包通过物理网口eth1发送,第三个数据包通过物理网口eth2发送,第四个数据包通过物理网口eth0发送,依此类推,将所有的数据包通过轮循的方式依次通过虚拟网口发送出去。
在实现本发明的过程中,发明人发现现有技术存在以下缺点:
由于发送给同一目标的数据包可能通过不同的物理网口发送,会导致达到同一目标的数据包存在较多乱序,虚拟网口的带宽因此较低;由于数据包存在乱序,设备端对乱序的数据包进行重传以及处理乱序的数据包而产生的选择性确认处理增多,导致设备端CPU等系统资源占用率很高。
发明内容
本发明实施例提供了一种多网口发送数据包的方法和设备,以提高多网口绑定情况下的虚拟网口的带宽,降低CPU占用率。
本发明实施例提供了一种多网口发送数据包的方法,所述方法以下步骤:
判断虚拟网口是否需要刷新物理网口对应的目标值与数据包的目标值之间的对应关系;
当判断所述虚拟网口不需要刷新所述对应关系时,遍历所述所有物理网口,匹配所述所有物理网口对应的目标值与数据包对应的目标值,当所述物理网口对应的目标值与数据包的目标值匹配成功,使用匹配成功的所述物理网口发送所述数据包。
本发明实施例还提供了一种多网口发送数据包的设备,包括:
刷新判断模块,用于判断虚拟网口是否需要刷新对应关系;
匹配模块,用于当所述虚拟网口不需要刷新对应关系时遍历所述所有物理网口,匹配所述所有物理网口对应的目标值与数据包对应的目标值;
发送模块,用于使用匹配成功的物理网口发送所述数据包。
与现有技术相比,本发明具有以下优点:
本发明实施例中,通过匹配物理网口对应的目标值与数据包的目标值,使用匹配成功的物理网口发送数据包,减少数据包的乱序,即减少了无效数据的发送,从而降低了CPU的占用率,使得CPU的消耗降低,提高了多网口绑定情况下的虚拟网口的带宽。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中采用轮循方式发送数据包的示意图;
图2为本发明实施例提供的多网口发送数据包的方法流程示意图;
图3为本发明实施例提供的多网口发送数据包的具体方法流程示意图;
图4为本发明实施例提供的多网口发送数据包的设备结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施方式,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供了一种多网口发送数据包的方法,流程示意图如图2所示,所述方法包括以下步骤:
步骤S201,判断虚拟网口是否需要刷新这些物理网口对应的目标值与数据包的目标值之间的对应关系(指物理网口对应的目标值)。
具体的,该虚拟网口为操作系统中由多个物理网口绑定成的网口,物理网口为通讯或IT系统的设备中的网口,目标值包括:IP(Internet Protocol,网际协议)地址值、MAC(Media Access Control,介质访问控制)地址值、端口号值、IP地址和MAC地址组合在一起的字符串、IP地址和端口号组合在一起的字符串、MAC地址和端口号组合在一起的字符串、以及IP地址和MAC地址和端口号组合在一起的字符串中的一种或几种,数据包为从虚拟网口发送的数据帧,对应关系为物理网口的目标值与虚拟网口发送的数据包的目标值之间的关系。
步骤S202,如果虚拟网口需要刷新该对应关系,清除所有物理网口对应的目标值,使物理网口的目标值为空,以使虚拟网口可以刷新物理网口的目标值与数据包的目标值之间对应关系。
步骤S203,如果虚拟网口不需要刷新该对应关系,则遍历所有物理网口,匹配所有物理网口对应的目标值与数据包的目标值。
步骤S204,当物理网口对应的目标值与数据包的目标值匹配成功,使用匹配成功的物理网口发送数据包。
可见,本发明实施例中,通过匹配物理网口对应的目标值与数据包的目标值,使用匹配成功的物理网口发送数据包,减少数据包的乱序,即减少了无效数据的发送,从而降低了CPU的占用率,使得CPU的消耗降低,提高了多网口绑定情况下的虚拟网口的带宽。
本发明实施例具体流程示意图如图3所示,包括以下步骤:
步骤S301,判断数据包是否为TCP类型的数据包。如果该数据包是TCP类型的数据包,则转步骤S302;如果该数据包不是TCP类型的数据包,则转步骤S303。
步骤S302,根据数据包分析对应的TCP连接的状态,判断目标端是否为绑定口。如果目标端是绑定口,则转步骤S309;如果目标端不是绑定口,则转步骤S303。
步骤S303,判断虚拟网口是否需要刷新对应关系。如果虚拟网口需要刷新对应关系,则转步骤S304;如果虚拟网口不需要刷新对应关系,则转步骤S305。
在本发明实施例中,可以对虚拟网口采用定时刷新的机制,动态地维护目标与物理网口的对应关系。
步骤S304,清除所有物理网口对应的目标值为空。
步骤S305,遍历所有物理网口,匹配物理网口对应的目标值与数据包对应的目标值。如果匹配成功,则转步骤S306;如果匹配不成功,则转步骤S307。
其中,遍历所有物理网口,是指对所有物理网口进行查询。匹配物理网口对应的目标值与数据包对应的目标值是指判断物理网口对应的目标值与数据包对应的目标值是否一致。
步骤S306,使用匹配成功的物理网口发送数据包,处理结束。
步骤S307,查找目标值为空的物理网口。如果成功查找到目标值为空的物理网口,则转步骤S308;如果不能成功查找到目标值为空的物理网口,则转步骤S309。
步骤S308,使用查找成功的物理网口发送数据包,并记录该目标值与此查找成功的物理网口的对应关系,处理结束。
其中,记录该目标值与物理网口的对应关系,可以在后续的发送活动中不再重新查找成功的物理网口,可以减少CPU的占用。
步骤S309,使用当前过程所指物理网口发送数据包,并将当前过程指向下一个物理网口,处理结束。
可见,本发明实施例中,通过匹配物理网口对应的目标值与数据包的目标值,使用匹配成功的物理网口发送数据包,减少数据包的乱序,即减少了无效数据的发送,从而降低了CPU的占用率,使得CPU的消耗降低,提高了多网口绑定情况下的虚拟网口的带宽。
本发明实施例提供了一种多网口发送数据包的设备,如图4所示,包括:
刷新判断模块10,用于判断虚拟网口是否需要刷新对应关系;
清除模块20,用于当虚拟网口需要刷新对应关系时,清除清除所有物理网口对应的目标值为空;
匹配模块30,用于遍历所有物理网口,匹配所有物理网口对应的目标值与数据包对应的目标值;
发送模块40,用于使用匹配成功的物理网口发送数据包。
进一步地,该多网口发送数据包的设备还包括:
数据包判断模块50,用于判断虚拟网口发送的数据包是否为传输控制协议TCP类型的数据包;
当数据包不是TCP类型的数据包,则触发刷新判断模块10;
当数据包是TCP类型的数据包,则根据当前的TCP连接状态判断目标端是否为绑定口,如果目标端为绑定口,则使用当前过程物理网口发送数据包,如果目标端不是绑定口,则触发刷新判断模块10。
进一步地,该多网口发送数据包的设备还包括:
查找模块60,用于当匹配模块对物理网口对应的目标值与数据包的目标值匹配不成功,则查找目标值为空的物理网口:如果查找目标值为空的物理网口成功,所述发送模块40使用查找成功的物理网口发送数据包,并记录目标值与物理网口的对应关系,所述查找成功的物理网口的目标值与物理网口的对应关系可存储在所述匹配模块30或所述查找模块60中,也可单独存储在一存储模块中;如果查找目标值为空的物理网口不成功,所述发送模块40使用当前过程物理网口发送数据包。
可见,本发明实施例中,通过匹配物理网口对应的目标值与数据包的目标值,使用匹配成功的物理网口发送数据包,减少数据包的乱序,即减少了无效数据的发送,从而降低了CPU的占用率,使得CPU的消耗降低,提高了多网口绑定情况下的虚拟网口的带宽。
本发明实施例采用基于目标并结合TCP(Transmission ControlProtocol,传输控制协议)连接状态的动态选择物理端口的方法进行数据包的发送。在本发明实施例中,通过分析当前的TCP连接的状态判断目标端是否使用了绑定,如果目标端使用了绑定,那么虚拟网口发送的时候就对此TCP连接的数据包采用多个物理网口发送的方式,因此保证了目标端的实际带宽不受限于设备端的单个物理网口的带宽。通过将目标与物理网口一一对应的方式,解决了数据包通过多个网口发送产生乱序的问题,并采用定时刷新的机制,动态地维护目标与物理网口的对应关系。
在本发明实施例中,“目标”的定义为目的MAC(Media Access Control,介质访问控制)地址、目的IP(Internet Protocol,网际协议)地址与目的端口号的一种或几种。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (10)

1、一种多网口发送数据包的方法,其特征在于,包括:
判断虚拟网口是否需要刷新物理网口对应的目标值与数据包的目标值之间的对应关系;
当判断所述虚拟网口不需要刷新所述对应关系时,遍历所述所有物理网口,匹配所述所有物理网口对应的目标值与数据包对应的目标值,当所述物理网口对应的目标值与数据包的目标值匹配成功,使用匹配成功的所述物理网口发送所述数据包。
2、如权利要求1所述多网口发送数据包的方法,其特征在于,当判断所述虚拟网口需要刷新所述对应关系,清除所有物理网口对应的目标值为空。
3、如权利要求1所述多网口发送数据包的方法,其特征在于,所述判断虚拟网口是否需要刷新对应关系之前,还包括:
判断所述虚拟网口发送的数据包是否为传输控制协议TCP类型的数据包;
当所述数据包不是所述TCP类型的数据包,则判断所述虚拟网口是否需要刷新对应关系;
当所述数据包是所述TCP类型的数据包,则根据当前所述的TCP连接状态判断目标端是否为绑定口,如果所述目标端为绑定口,则使用当前过程物理网口发送所述数据包,如果所述目标端不是绑定口,则判断虚拟网口是否需要刷新对应关系。
4、如权利要求2所述多网口发送数据包的方法,其特征在于,当所述物理网口对应的目标值与数据包的目标值匹配不成功,则查找所述目标值为空的物理网口:如果查找所述目标值为空的物理网口成功,使用所述查找成功的所述物理网口发送所述数据包,并记录所述目标值与所述物理网口的对应关系;如果查找所述目标值为空的物理网口不成功,使用当前过程物理网口发送所述数据包。
5、如权利要求1所述多网口发送数据包的方法,其特征在于,所述物理网口对应的目标值与数据包的目标值包括以下值的一种或几种:
目的介质访问控制MAC地址;
目的IP地址;
目的端口号。
6、一种多网口发送数据包的设备,其特征在于,包括:
刷新判断模块,用于判断虚拟网口是否需要刷新对应关系;
匹配模块,用于当所述虚拟网口不需要刷新对应关系时遍历所述所有物理网口,匹配所述所有物理网口对应的目标值与数据包对应的目标值;
发送模块,用于使用所述匹配模块匹配成功的物理网口发送所述数据包。
7、如权利要求6所述多网口发送数据包的设备,其特征在于,还包括:
清除模块,用于当所述虚拟网口需要刷新对应关系时,清除清除所有物理网口对应的目标值为空。
8、如权利要求5所述多网口发送数据包的设备,其特征在于,还包括:
数据包判断模块,用于判断所述虚拟网口发送的数据包是否为传输控制协议TCP类型的数据包;
当所述数据包不是所述TCP类型的数据包,则触发所述刷新判断模块;
当所述数据包是所述TCP类型的数据包,则根据当前所述的TCP连接状态判断目标端是否为绑定口,如果所述目标端为绑定口,则使用当前过程物理网口发送所述数据包,如果所述目标端不是绑定口,则触发所述刷新判断模块。
9、如权利要求7所述多网口发送数据包的设备,其特征在于,还包括:
查找模块,用于当所述匹配模块对物理网口对应的目标值与数据包的目标值匹配不成功,则查找所述目标值为空的物理网口:如果查找所述目标值为空的物理网口成功,所述发送模块使用所述查找成功的所述物理网口发送所述数据包;如果查找所述目标值为空的物理网口不成功,所述发送模块使用当前过程物理网口发送所述数据包。
10、如权利要求9所述多网口发送数据包的设备,其特征在于,所述查找模块记录所述查找成功的物理网口目标值与所述物理网口的对应关系。
CN2008101469478A 2008-08-27 2008-08-27 一种多网口发送数据包的方法和设备 Active CN101355483B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101469478A CN101355483B (zh) 2008-08-27 2008-08-27 一种多网口发送数据包的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101469478A CN101355483B (zh) 2008-08-27 2008-08-27 一种多网口发送数据包的方法和设备

Publications (2)

Publication Number Publication Date
CN101355483A true CN101355483A (zh) 2009-01-28
CN101355483B CN101355483B (zh) 2012-02-22

Family

ID=40308087

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101469478A Active CN101355483B (zh) 2008-08-27 2008-08-27 一种多网口发送数据包的方法和设备

Country Status (1)

Country Link
CN (1) CN101355483B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010145091A1 (zh) * 2009-06-29 2010-12-23 中兴通讯股份有限公司 一种虚拟网口的实现方法及实现虚拟网口的嵌入式设备
CN103416025A (zh) * 2010-12-28 2013-11-27 思杰系统有限公司 用于经由云桥添加vlan标签的系统和方法
CN105227422A (zh) * 2015-09-01 2016-01-06 浙江宇视科技有限公司 一种基于聚合网口的视频数据传输方法和装置
CN106713077A (zh) * 2017-01-11 2017-05-24 北京瑞星信息技术股份有限公司 代理服务器流量回放方法和系统
CN114244723A (zh) * 2021-09-29 2022-03-25 浙江国利网安科技有限公司 一种服务流量模拟方法、装置和服务流量模拟器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1302645C (zh) * 2003-05-26 2007-02-28 华为技术有限公司 网络处理器系统端口捆绑中实现流量均担的方法
CN1310467C (zh) * 2003-06-24 2007-04-11 华为技术有限公司 基于端口的网络访问控制方法
CN1486025A (zh) * 2003-08-22 2004-03-31 北京港湾网络有限公司 PPPoE二层透传端口用户名绑定检查的方法
CN1878130A (zh) * 2005-06-08 2006-12-13 华为技术有限公司 一种数据转发方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010145091A1 (zh) * 2009-06-29 2010-12-23 中兴通讯股份有限公司 一种虚拟网口的实现方法及实现虚拟网口的嵌入式设备
CN101616088B (zh) * 2009-06-29 2011-12-07 中兴通讯股份有限公司 一种虚拟网口的实现方法及实现虚拟网口的嵌入式设备
US9240899B2 (en) 2009-06-29 2016-01-19 Zte Corporation Method for implementing virtual network port and embedded device for implementing virtual network port
CN103416025A (zh) * 2010-12-28 2013-11-27 思杰系统有限公司 用于经由云桥添加vlan标签的系统和方法
CN103416025B (zh) * 2010-12-28 2016-11-02 思杰系统有限公司 用于经由云桥添加vlan标签的系统和方法
CN105227422A (zh) * 2015-09-01 2016-01-06 浙江宇视科技有限公司 一种基于聚合网口的视频数据传输方法和装置
CN105227422B (zh) * 2015-09-01 2018-11-13 浙江宇视科技有限公司 一种基于聚合网口的视频数据传输方法和装置
CN106713077A (zh) * 2017-01-11 2017-05-24 北京瑞星信息技术股份有限公司 代理服务器流量回放方法和系统
CN114244723A (zh) * 2021-09-29 2022-03-25 浙江国利网安科技有限公司 一种服务流量模拟方法、装置和服务流量模拟器

Also Published As

Publication number Publication date
CN101355483B (zh) 2012-02-22

Similar Documents

Publication Publication Date Title
US7957402B2 (en) UDP to TCP bridge
CN101448006B (zh) 一种实现流媒体服务器大量终端接入的方法及系统
CN101355483B (zh) 一种多网口发送数据包的方法和设备
CN101521683A (zh) 一种网络游戏系统及其接入方法、客户端通讯方法
CN109088799A (zh) 一种客户端接入方法、装置、终端以及存储介质
CN104518968B (zh) 一种报文处理的方法和透明代理服务器
US10320951B2 (en) Systems and methods for establishing a virtual local area network
CN102571492A (zh) 检测路由设备故障的方法和装置
CN111181698B (zh) 数据处理方法、装置、设备及介质
JP3439320B2 (ja) データ通信方法、データ通信装置、およびデータ通信プログラム記録媒体
CN102281263A (zh) 一种建立iSCSI会话的方法和iSCSI发起方
CN104969521A (zh) 数据发送处理方法及路由器
CN101621526B (zh) 一种防止无用连接占用系统资源的iSCSI方法及装置
CN101437046A (zh) 一种固态硬盘中的数据处理方法、固态硬盘和网络设备
US20150131451A1 (en) Packet storage method and packet storage apparatus
CN113238856A (zh) 一种基于rdma的内存管理方法及装置
US7549088B2 (en) Communication apparatus and program provided with failure determining method and function
CN103618661A (zh) 一种数据分离方法及系统
CN105338528B (zh) 数据包重定向的方法、系统及无线访问节点
CN103558995A (zh) 一种存储控制芯片及磁盘报文传输方法
US7814219B2 (en) Method, apparatus, system, and article of manufacture for grouping packets
CN101494569B (zh) 一种报文处理方法和装置
CN102480516A (zh) 网际网络小型电脑界面的数据单元的解析方法
CN101102231A (zh) 一种ppp链路路由设备的自动发现方法和装置
US9742819B2 (en) System and method for reliable messaging between application sessions across volatile networking conditions

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

Free format text: FORMER NAME: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee after: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee before: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220921

Address after: No. 1899 Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan 610041

Patentee after: Chengdu Huawei Technologies Co.,Ltd.

Address before: 611731 Qingshui River District, Chengdu hi tech Zone, Sichuan, China

Patentee before: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220927

Address after: No. 1899 Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan 610041

Patentee after: Chengdu Huawei Technologies Co.,Ltd.

Address before: 611731 Qingshui River District, Chengdu hi tech Zone, Sichuan, China

Patentee before: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.