CN103176780A - 一种多网络接口绑定系统及方法 - Google Patents

一种多网络接口绑定系统及方法 Download PDF

Info

Publication number
CN103176780A
CN103176780A CN2011104359452A CN201110435945A CN103176780A CN 103176780 A CN103176780 A CN 103176780A CN 2011104359452 A CN2011104359452 A CN 2011104359452A CN 201110435945 A CN201110435945 A CN 201110435945A CN 103176780 A CN103176780 A CN 103176780A
Authority
CN
China
Prior art keywords
network interface
data
packet
processing
linux
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
CN2011104359452A
Other languages
English (en)
Other versions
CN103176780B (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.)
Zhengzhou Xinrand Network Technology Co ltd
Institute of Acoustics CAS
Original Assignee
Beijing Zhongke Huaying Media Technology Co ltd
Institute of Acoustics CAS
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 Beijing Zhongke Huaying Media Technology Co ltd, Institute of Acoustics CAS filed Critical Beijing Zhongke Huaying Media Technology Co ltd
Priority to CN201110435945.2A priority Critical patent/CN103176780B/zh
Publication of CN103176780A publication Critical patent/CN103176780A/zh
Application granted granted Critical
Publication of CN103176780B publication Critical patent/CN103176780B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种多网络接口绑定系统及方法,该系统基于一颗多核处理器上同时运行Linux操作系统和实时操作系统,所述实时操作系统上包含针对若干网络接口的物理网络接口驱动模块和网络接口绑定处理模块,所述Linux操作系统上包含一个虚拟网络接口驱动模块和用户配置管理接口;物理网络接口驱动模块负责管理控制网络接口,收发物理网络数据;网络接口绑定处理模块,负责:在接收侧,从物理网络接口驱动模块获取数据包,按照数据接收处理规则库中的规则处理接收的数据包,将处理后的数据包递交虚拟网络接口驱动模块;在发送侧,从虚拟网络接口驱动模块接收数据,按照数据发送规则库中的规则对接收的数据包进行处理,将处理后的数据包递交给物理网络接口驱动模块进行发送。

Description

一种多网络接口绑定系统及方法
技术领域
本发明设计多核处理器以及网络处理领域,尤其是多核处理器上的异构操作系统网络处理领域,具体涉及一种多网络接口绑定系统及方法。
背景技术
随着处理器技术的不断发展,多核处理器的使用逐渐成为趋势。随着人们对处理器速度、应用前景、功耗等等性能方面要求更进一步的提高,多核处理器已经成为服务器和个人操作平台的主流。
目前许多操作系统都支持多核处理器,比如Linux可以通过使用SMP方式来支持多核处理器,多个处理核心共同支持一个操作系统。而且还可以在一颗多核处理器的不同处理核心上同时运行多个操作系统,甚至是异构的操作系统。
目前的网络带宽不断提高,CPU的处理性能也不断增强,主流的服务器上都有多个网络接口。为了提供更大的数据带宽,多网络接口绑定技术把多块物理网络接口汇聚在一起,组成一个单一的虚拟网络接口,操作系统将这些聚集的网络接口作为一个网络接口来处理。服务器上的多块网络接口不仅绑定一个IP,MAC地址也设定为同一个,构成一个虚拟的网络接口,客户端向服务器请求数据,服务器上的网络接口接到请求后,网络接口根据某种算法智能决定由谁来处理数据的传输。多网络接口技术可以提高主机的网络吞吐量和可用性。
现有技术的Linux的多网络接口绑定技术是在网络接口驱动程序之上、数据链路层之下实现的一个虚拟层,它将多个网络接口虚拟成一块虚拟网络接口。所以多网络接口绑定驱动程序实际上是一种中间驱动程序,是基本网络接口驱动程序与网络协议栈之间的接口。绑定驱动程序统一管理和配置绑定设备内的网络接口资源。
且现有技术的Linux上的多网络接口绑定技术由于多个网络接口对于操作系统是透明的,所以在多个网络接口之外,必须借助于交换机才能正常工作,极大地影响了使用的灵活性。并且由于Linux的多网络接口绑定技术是在操作系统内的各个网络接口的驱动程序之上添加了一层驱动程序,由于绑定驱动程序和操作系统的开销,往往多个网络接口绑定之后不能达到性能的线性叠加。
发明内容
本发明的目的在于充分利用多核处理器的特点,在异构操作系统上实现多网络接口绑定,提出了一种多核处理器异构操作系统上实现多网络接口绑定的方法。该方法克服Linux多网络接口绑定技术绑定之后增加Linux系统处理开销的缺点,获得比Linux操作系统现有的多网络接口绑定技术更高的效率,及本发明提供一种多网络接口绑定系统及方法。
为实现上述目的,本发明提供了一种多网络接口绑定系统,其特征在于,该系统基于一颗多核处理器上同时运行Linux操作系统和实时操作系统,所述实时操作系统上包含针对若干网络接口的物理网络接口驱动模块和网络接口绑定处理模块,所述Linux操作系统上包含一个虚拟网络接口驱动模块和用户配置管理接口;
其中,所述物理网络接口驱动模块,用于负责管理控制网络接口,收发物理网络数据;
所述网络接口绑定处理模块,用于负责:
在接收侧,从物理网络接口驱动模块接收数据包,按照数据接收处理规则库中的规则处理接收的数据包,然后将处理后的数据包递交给所述虚拟网络接口驱动模块,该驱动模块再将数据传送至Linux操作系统上的网络协议栈进行处理,完成来自实时操作系统的多网络接口的数据包的接收;
在发送侧,从所述虚拟网络接口驱动模块接收待发送的数据包,按照数据发送规则库中的规则对数据包进行处理,将处理后的数据包递交给所述物理网络接口驱动模块驱动网络接口进行发送;
所述用户配置管理接口,用于接收用户的配置管理信息,并将该信息输入所述网络接口绑定处理模块。
上述技术方案中,所述用户的配置管理信息包含:所述Linux操作系统的虚拟网络设备的IP地址和MAC地址;和所述实时操作系统的若干网络接口的IP地址、MAC地址及绑定处理算法;所述绑定处理算法包含:轮转算法、热备份算法、MAC地址异或算法、广播算法、自适应发送负载均衡算法和自适应负载均衡算法。
上述技术方案中,所述网络接口绑定处理模块进一步包含如下子模块:
配置管理子模块,用于接收所述用户配置管理接口发送的用户配置管理信息,依据用户配置管理信息生成数据接收处理规则库和数据发送处理规则库;
数据接收处理子模块,用于对实时操作系统的网络接口接收的数据包按照接收处理规则库中的规则进行处理同时更新数据接收信息表,并将处理后的数据包发送至所述的虚拟网络接口驱动模块;
数据发送处理子模块,用于对虚拟网络接口驱动模块发送的数据按照数据发送处理规则库中的规则进行处理同时更新数据发送信息表,将处理后的数据包发往所述物理网络接口驱动模块驱动网络接口进行发送。
所述配置管理子模块从所述用户配置管理接口获取配置信息,然后选择相应的绑定处理算法生成数据接收处理规则库;同时根据选定的绑定处理算法、接收数据流信息和发送数据流信息生成数据发送规则库。
上述技术方案中,所述虚拟网络接口驱动模块进一步包含:发送子模块数和接收子模块;所述接收子模块通过核间通信机制从所述数据接收处理子模块获取数据包,并将数据包提交给Linux操作系统的网络协议栈处理;所述发送子模块用于将经由Linux操作系统的网络协议栈处理完的数据包通过核间通信机制发送至数据发送处理子模块进行发送相关的处理。
基于上述系统本发明还提供一种多网络接口绑定方法,该方法基于一颗多核处理器上同时运行Linux操作系统和实时操作系统,且所述实时操作系统上包含针对若干网络接口的物理网络接口驱动模块和网络接口绑定处理模块,所述Linux操作系统上包含虚拟网络接口驱动模块和用户配置管理接口,所述方法包含如下步骤:
用于生成网络接口绑定处理模块包含的数据发送规则库及数据接收规则库的步骤,该步骤具体包含:用户配置管理接口将用户配置管理信息发送给网络接口绑定处理模块;网络接口绑定处理模块获取配置信息,选择相应的绑定处理算法生成数据接收处理规则库,该规则库用于处理实时操作系统接收的多网卡数据包;并根据选定的绑定处理算法、接收数据流信息和发送数据流信息生成数据发送规则库,该规则库用于处理来自Linux操作系统需网络接口发送的数据包;
用于依据数据接收规则库处理接收的来自多网络接口的数据包的步骤如下:
步骤201)绑定处理模块接收每个网络接口的数据包,按照数据接收处理规则库中的规则处理接收的数据包;
步骤202)将处理后的数据包生成数据接收核间消息,并通过核间通信机制将数据接收核间消息递交给所述Linux操作系统上的虚拟网络接口驱动模块;
步骤203)Linux操作系统的虚拟网络接口驱动模块接收数据接收核间消息,获取数据包;
用于依据数据发送规则库处理需经由网络接口发送的数据包的步骤如下:
步骤301)Linux操作系统的虚拟网络接口驱动模块将Linux网络协议栈处理完的数据包生成数据发送核间消息,并通过核间通信机制发送给网络接口绑定处理模块;
步骤302)绑定处理模块通过核间通信机制接收数据发送核间消息,获取数据包;
步骤303)绑定处理模块将获取的数据包按照发送处理规则库中的规则进行处理,将处理后数据包递交给物理网络接口驱动模块进行发送。
上述技术方案中,所述用于数据接收的步骤中的步骤202)和203)之间还包含如下步骤:依据数据接收核间消息更新数据接收信息表;所述用于数据发送的步骤中的步骤303)之后还包含:依据处理后的数据更新数据发送信息表。
上述技术方案中,所述用于依据数据接收规则库处理接收的来自多网络接口的数据包的步骤具体包含:物理网络接口驱动模块获取网络接口接收的数据包,并将数据包按照接收处理规则库进行处理,并将相关处理后的数据包发送至所述的虚拟网络接口驱动模块;
所述用于依据数据发送规则库处理需经由网络接口发送的数据包的步骤具体包含:网络接口绑定处理模块接收来自Linux操作系统的待发送的数据包,并按照数据发送处理规则库的规则进行处理,将处理后的数据包发往所述物理网络接口驱动模块驱动网络接口进行数据包发送。
所述用户的配置管理信息包含:所述Linux操作系统的虚拟网络设备的IP地址和MAC地址;和所述实时操作系统的网络接口的IP地址、MAC地址及绑定处理算法;所述绑定处理算法包含:轮转算法、热备份算法、MAC地址异或算法、广播算法、自适应发送负载均衡算法和自适应负载均衡算法。
可选的,所述实时操作系统和Linux操作系统之间通过核间消息进行通信。
与现有技术相比,本发明的技术优势在于:
本发明提供了一种多核处理器异构操作系统上实现多网络接口绑定的方法,充分利用了多核处理器和异构操作系统的特点,在不借助交换机以及借助交换机时都可以正常工作,极大提高了使用的灵活性,并且绑定之后的数据处理也更加高效,使多个网络接口绑定之后达到性能的线性叠加。
附图说明
图1现有技术的Linux多网络接口绑定技术的系统框架图;
图2本发明的系统的组成框架图;
图3本发明的用于配置管理流程图;
图4本发明的多网络接口的数据接收流程图;
图5本发明的多网络接口的数据发送流程图;
图6本发明实施例的系统组成框图。
具体实施方式
下面结合附图对本发明的技术方案进行详细阐述。
本发明提出了一种在多核处理器异构操作系统上实现多网络接口绑定的方法,在一颗多核处理器上同时运行Linux操作系统和实时操作系统,Linux操作系统和实时操作系统运行于不同的处理核心上,实时操作系统上运行物理网络接口驱动模块和网络接口绑定处理模块,Linux操作系统上一个运行虚拟网络接口驱动模块和用户配置管理接口。物理网络接口驱动模块负责管理控制网络接口,收发物理网络数据。网络接口绑定处理模块负责:在接收侧,从物理网络接口驱动模块接收驱动获取数据,按照数据接收处理规则进行处理,然后将数据递交给Linux上的虚拟网络接口驱动模块;在发送侧,从Linux上的虚拟网络接口驱动模块接收数据,按照数据发送规则进行处理,然后将数据递交给物理网络接口驱动模块进行发送。
网络接口绑定处理模块进一步包含:配置管理子模块、数据接收处理子模块、数据发送处理子模块、数据接收处理规则库、数据发送规则库、数据接收信息表和数据发送信息表。
配置管理子模块通过用户配置管理接口获取用户配置管理信息;依据用户配置管理信息选择相应的绑定处理算法生成数据接收处理规则库;并根据选定的绑定处理算法、接收数据流信息和发送数据流信息生成数据发送规则库。
数据接收处理子模块接收每个网络接口的数据,按照接收处理规则库中的规则进行处理,然后将数据通过核间通信机制递交给Linux上的虚拟网络接口驱动模块,同时更新数据接收信息表。
数据发送处理子模块通过核间通信机制从虚拟网络接口驱动模块接收数据,按照发送处理规则库中的规则进行处理,然后将数据递交给数据递交给物理网络接口驱动模块进行发送,同时更新数据发送信息表。
Linux操作系统的虚拟网络接口驱动模块包括发送子模块和接收子模块;接收子模块通过核间通信机制数据接收处理子模块获取数据包,将数据包提交给Linux网络协议栈处理;发送子模块将Linux网络协议栈处理完的数据包通过核间通信机制发送个数据发送处理子模块。
用户配置管理接口接收用户配置管理信息,通过核间通信机制将配置信息传递给绑定程序的配置管理子模块。用户配置信息主要包括Linux虚拟网络设备的IP地址和MAC地址、实时操作系统的网络接口的IP地址和MAC地址和绑定处理算法选择信息。
核间通信机制是借助处理核心之间的消息交互、数据内存共享等方法实现,按功能分为数据交互信息和配置管理交互信息。数据交互信息包括处理核心间消息和共享内存,配置交互信息只包含处理核心间通信消息。消息类型包括数据包发送、数据包接收、用户配置管理。
数据包发送和数据包接收类型的消息包括以下字段:消息类型、数据包长度、数据包共享内存起始物理地址、网络接口编号、目的核组号;用户配置管理类型的消息包括以下字段:消息类型、Linux虚拟网络设备IP地址、Linux虚拟网络设备MAC地址、网络接口编号、网络接口IP地址、网络接口MAC地址、目的核组号、绑定处理算法。
数据接收信息表包括接收数据包的源MAC地址、源IP地址、接收网络接口编号、接收流量统计信息。接收流量统计信息包括接收数据包总数、接收有效数据包总数,接收无效数据包总数,接收总字节数、接收总码率。数据发送信息表包括发送数据包的目的MAC地址、目的IP地址、发送网络接口编号、发送流量统计信息。发送流量统计信息包括发送总数据包数,发送失败数据包数和发送总码率。数据接收信息表和数据发送信息表的预留字段用于扩展记录数据包的其他信息,如TCP端口等。
绑定处理算法可以轮转算法、热备份算法、MAC地址异或算法、广播算法、自适应发送负载均衡算法、自适应负载均衡算法。
配置管理流程如下:
(1)Linux上的用户配置管理接口将绑定处理模块配置信息封装成用户配置管理核间消息;
(2)Linux上的用户配置管理接口通过核间通信机制将核间消息发送给绑定处理模块的配置管理子模块;
(3)绑定处理模块的配置管理子模块接收核间消息,获取绑定处理模块配置信息;
(4)绑定处理模块的配置管理子模块根据绑定处理模块配置信息选择相应的绑定处理算法生成数据接收处理规则,根据选定的绑定处理算法、接收数据流信息、发送数据流信息生成数据发送规则。
数据接收流程如下:
(1)绑定处理模块的数据接收处理子模块接收每个网络接口的数据包,将数据包存入共享内存中,按照接收处理规则进行处理;
(2)绑定处理模块的数据接收处理子模块生成数据接收核间消息,并通过核间通信机制将数据接收核间消息递交给Linux上的虚拟网络接口驱动模块;
(3)绑定处理模块的数据接收处理子模块更新数据接收信息表;
(4)Linux虚拟网络接口驱动模块的接收函数通过核间通信机制接收数据接收核间消息,获取数据包,并将数据包提交给Linux网络协议栈处理。
数据发送流程如下:
(1)Linux虚拟网络接口驱动模块的发送函数将Linux网络协议栈处理完的数据包存放到共享内存中,生成数据发送核间消息,并通过核间通信机制发送给绑定处理模块的数据发送处理子模块;
(2)绑定处理模块的数据发送处理子模块通过核间通信机制接收数据发送河间消息,获取数据包;
(3)绑定处理模块的数据发送处理子模块按照发送处理规则进行处理,然后将数据递交给数据递交给物理网络接口驱动模块进行发送;
(4)绑定处理模块的数据发送处理子模块更新数据发送信息表。
实施例
本发明提出了一种在多核处理器异构操作系统上实现多网络接口绑定的方法,现提供一种具体实施例,该实施例基于Cavium公司的OCTEON CN5860处理器。
CN5860处理器一共拥有16个处理核心,可以运行Linux操作系统和实时操作系统SE(Simple Executive,简单执行环境)。CN5860处理器使用work消息体进行核间通信。CN5860处理器集成了POW、FPA等协处理器。FPA是共享内存池管理协处理器,管理着预先分配的共享内存池,Linux和SE都可以访问。POW是一个核间消息队列管理协处理器,管理着核间通信的work队列,并对work进行调度。
在本实施例中,使用3个核心运行实时操作系统,13个核心运行Linux操作系统。如图6所示,使用OCTEON CN5860的4个port(网络接口)来实现port绑定。实时操作系统的3个处理核分别运行数据接收处理子模块、配置管理子模块和数据发送处理子模块。系统初始化时,SE网络接口驱动模块运行在配置管理子模块上。SE网络接口驱动模块完成对port和协处理器的初始化。数据接收时,SE网络接口驱动模块将接收的数据包封装成work消息和FPA buffer的方式。数据发送时,SE网络接口驱动模块将封装成work消息和FPA buffer的数据包通过port发送出去。数据接收处理子模块核的组号为SE_RECV_GROUP,数据发送处理子模块核的组号为SE_SEND_GROUP,配置管理子模块核的组号为SE_CONF_GROUP。13个Linux处理核同处理一个组号LINUX_GROUP。下面分别以配置管理流程,数据接收流程和数据发送流程来说明。
配置管理流程如下:
(1)Linux上的用户配置管理接口将用户配置管理信息封装成work;
(2)Linux上的用户配置管理接口将work提交到POW的SE_CONG_GROUP;
(3)SE上的配置管理子模块从POW获取work,并解析出绑定处理模块配置信息,主要包括Linux虚拟网络设备的IP地址和MAC地址、实时操作系统的网络接口的IP地址和MAC地址和绑定处理算法选择信息;
(4)SE上的配置管理子模块根据绑定处理模块配置信息,选择相应的绑定处理算法生成数据接收处理规则;配置管理子模块根据选定的绑定处理算法、接收数据流信息、发送数据流信息生成数据发送规则。
数据接收流程如下:
(1)SE网络接口驱动模块网络接口驱动模块将port接收的数据包存放在FPAbuffer中,并生成work提交到POW的SE_RECV_GROUP组;
(2)SE的数据接收处理子模块接收work,从work中获取数据包起始物理地址和数据包长度等信息;
(3)SE的数据接收处理子模块按照接受处理规则处理数据包,更新数据接收信息表,并将work提交到POW的LINUX_GROUP组;
(4)Linux操作系统上的虚拟网络接口驱动模块的接收函数接收work,从work中获取数据包起始物理地址和数据包长度等信息,将数据包提交给Linux网络协议栈处理。
数据发送流程如下:
(1)Linux网络协议栈将处理完的数据包提交给Linux虚拟网络接口驱动模块的发送函数,Linux虚拟网络接口驱动模块的发送函数将数据包拷贝到FPA buffer中,然后生成一个work,将数据包的长度和FPA buffer的起始物理地址填写到work中,然后将work提交给POW的SE_SEND_GROUP组;
(2)SE的数据发送处理子模块收到work之后,从work中获取数据包FPAbuffer的起始物理地址和数据包长度等信息;
(3)SE的数据发送处理子模块根据发送处理规则处理数据包,将work和FPAbuffer提交给SE网络接口驱动模块发送;
(4)SE的数据发送处理子模块更新数据发送信息表。
总之,本发明提供了一种多核处理器异构操作系统上实现多网络接口绑定的方法。具体是指:在一颗多核处理器上同时运行Linux操作系统和实时操作系统,实时操作系统上运行物理网络接口驱动模块和网络接口绑定处理模块,Linux操作系统上一个运行虚拟网络接口驱动模块和用户配置管理接口。绑定处理模块分为配置管理子模块、数据接收处理子模块、数据发送处理子模块、数据接收处理规则库、数据发送规则库、数据接收信息表和数据发送信息表。物理网络接口驱动模块负责管理控制网络接口,收发物理网络数据。网络接口绑定处理模块负责:在接收侧,从物理网络接口驱动模块接收驱动获取数据,按照数据接收处理规则进行处理,然后将数据递交给Linux上的虚拟网络接口驱动模块;在发送侧,从Linux上的虚拟网络接口驱动模块接收数据,按照数据发送规则进行处理,然后将数据递交给物理网络接口驱动模块进行发送。该多网络接口绑定方法改善了Linux上多网络接口绑定方法的处理效率和灵活性。
需要指出的是,以上所述仅为本发明在Cavium OCTEON CN5860处理器上的实施例,并非用来限定本发明的实施范围,本发明也可以根据以上实例用于其他多核处理器平台实现多网络接口绑定,具有专业知识基础的技术人员可以由以上实施实例实现本发明,因此凡是根据本发明所作的等效的变化与修改,都被本发明的专利范围所覆盖。

Claims (10)

1.一种多网络接口绑定系统,其特征在于,该系统基于一颗多核处理器上同时运行Linux操作系统和实时操作系统,所述实时操作系统上包含针对若干网络接口的物理网络接口驱动模块和网络接口绑定处理模块,所述Linux操作系统上包含一个虚拟网络接口驱动模块和用户配置管理接口;
其中,
所述物理网络接口驱动模块,用于负责管理控制网络接口,收发物理网络数据;
所述网络接口绑定处理模块,用于负责:
在接收侧,从物理网络接口驱动模块接收数据包,按照数据接收处理规则库中的规则处理接收的数据包,然后将处理后的数据包递交给所述虚拟网络接口驱动模块,该驱动模块再将数据传送至Linux操作系统上的网络协议栈进行处理,完成来自实时操作系统的多网络接口的数据包的接收;
在发送侧,从所述虚拟网络接口驱动模块接收待发送的数据包,按照数据发送规则库中的规则对数据包进行处理,将处理后的数据包递交给所述物理网络接口驱动模块驱动网络接口进行发送;
所述用户配置管理接口,用于接收用户的配置管理信息,并将该信息输入所述网络接口绑定处理模块。
2.根据权利要求1所述的多网络接口绑定系统,其特征在于,所述用户的配置管理信息包含:
所述Linux操作系统的虚拟网络设备的IP地址和MAC地址;和
所述实时操作系统的若干网络接口的IP地址、MAC地址及绑定处理算法;所述绑定处理算法包含:轮转算法、热备份算法、MAC地址异或算法、广播算法、自适应发送负载均衡算法和自适应负载均衡算法。
3.根据权利要求1或2所述的多网络接口绑定系统,其特征在于,所述网络接口绑定处理模块进一步包含如下子模块:
配置管理子模块,用于接收所述用户配置管理接口发送的用户配置管理信息,依据用户配置管理信息生成数据接收处理规则库和数据发送处理规则库;
数据接收处理子模块,用于对实时操作系统的网络接口接收的数据包按照接收处理规则库中的规则进行处理同时更新数据接收信息表,并将处理后的数据包发送至所述的虚拟网络接口驱动模块;
数据发送处理子模块,用于对虚拟网络接口驱动模块发送的数据按照数据发送处理规则库中的规则进行处理同时更新数据发送信息表,将处理后的数据包发往所述物理网络接口驱动模块驱动网络接口进行发送。
4.根据权利要求3所述的多网络接口绑定系统,其特征在于,所述配置管理子模块从所述用户配置管理接口获取配置信息,然后选择相应的绑定处理算法生成数据接收处理规则库;同时根据选定的绑定处理算法、接收数据流信息和发送数据流信息生成数据发送规则库。
5.根据权利要求3所述的多网络接口绑定系统,其特征在于:
所述虚拟网络接口驱动模块进一步包含:发送子模块和接收子模块;
所述接收子模块通过核间通信机制从所述数据接收处理子模块获取数据包,并将数据包提交给Linux操作系统的网络协议栈处理;
所述发送子模块用于将经由Linux操作系统的网络协议栈处理完的数据包通过核间通信机制发送至数据发送处理子模块进行发送相关的处理。
6.一种多网络接口绑定方法,该方法基于一颗多核处理器上同时运行Linux操作系统和实时操作系统,且所述实时操作系统上包含针对若干网络接口的物理网络接口驱动模块和网络接口绑定处理模块,所述Linux操作系统上包含虚拟网络接口驱动模块和用户配置管理接口,所述方法包含如下步骤:
用于生成网络接口绑定处理模块包含的数据发送规则库及数据接收规则库的步骤,该步骤具体包含:
步骤101)用户配置管理接口将用户配置管理信息发送给网络接口绑定处理模块;
步骤102)网络接口绑定处理模块获取配置信息,选择相应的绑定处理算法生成数据接收处理规则库,该规则库用于处理实时操作系统接收的多网卡数据包;并根据选定的绑定处理算法、接收数据流信息和发送数据流信息生成数据发送规则库,该规则库用于处理来自Linux操作系统需网络接口发送的数据包;用于依据数据接收规则库中的规则处理接收的来自多网络接口的数据包的步骤如下:
步骤201)绑定处理模块接收每个网络接口的数据包,按照数据接收处理规则库中的规则处理接收的数据包;
步骤202)将处理后的数据包生成数据接收核间消息,并通过核间通信机制将数据接收核间消息递交给所述Linux操作系统上的虚拟网络接口驱动模块;
步骤203)Linux操作系统的虚拟网络接口驱动模块接收数据接收核间消息,获取数据包;
用于依据数据发送规则库中的规则处理需经由网络接口发送的数据包的步骤如下:
步骤301)Linux操作系统的虚拟网络接口驱动模块将Linux网络协议栈处理完的数据包生成数据发送核间消息,并通过核间通信机制发送给网络接口绑定处理模块;
步骤302)绑定处理模块通过核间通信机制接收数据发送核间消息,获取数据包;
步骤303)绑定处理模块将获取的数据包按照发送处理规则库中的规则进行处理,将处理后数据包递交给物理网络接口驱动模块进行发送。
7.根据权利要求6所述的用于多核处理器异构操作系的多网络接口绑定方法,其特征在于,
所述用于数据接收的步骤中的步骤202)和203)之间还包含如下步骤:依据数据接收核间消息更新数据接收信息表;
所述用于数据发送的步骤中的步骤303)之后还包含:依据处理后的数据更新数据发送信息表。
8.根据权利要求6所述的用于多核处理器异构操作系的多网络接口绑定方法,其特征在于,
所述用于依据数据接收规则库中的规则处理接收的来自多网络接口的数据包的步骤具体包含:物理网络接口驱动模块获取网络接口接收的数据包,并将数据包按照接收处理规则库中的规则进行处理,并将相关处理后的数据包发送至所述的虚拟网络接口驱动模块;
所述用于依据数据发送规则库中的规则处理需经由网络接口发送的数据包的步骤具体包含:网络接口绑定处理模块接收来自Linux操作系统的待发送的数据包,并按照数据发送处理规则库中的规则进行处理,将处理后的数据包发往所述物理网络接口驱动模块驱动网络接口进行数据包发送。
9.根据权利要求6所述的用于多核处理器异构操作系的多网络接口绑定系统,其特征在于,所述用户的配置管理信息包含:所述Linux操作系统的虚拟网络设备的IP地址和MAC地址;和
所述实时操作系统的网络接口的IP地址、MAC地址及绑定处理算法;所述绑定处理算法包含:轮转算法、热备份算法、MAC地址异或算法、广播算法、自适应发送负载均衡算法和自适应负载均衡算法。
10.根据权利要求8所述的用于多核处理器异构操作系的多网络接口绑定系统,其特征在于,所述实时操作系统和Linux操作系统之间通过核间消息进行通信。
CN201110435945.2A 2011-12-22 2011-12-22 一种多网络接口绑定系统及方法 Active CN103176780B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110435945.2A CN103176780B (zh) 2011-12-22 2011-12-22 一种多网络接口绑定系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110435945.2A CN103176780B (zh) 2011-12-22 2011-12-22 一种多网络接口绑定系统及方法

Publications (2)

Publication Number Publication Date
CN103176780A true CN103176780A (zh) 2013-06-26
CN103176780B CN103176780B (zh) 2016-03-30

Family

ID=48636687

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110435945.2A Active CN103176780B (zh) 2011-12-22 2011-12-22 一种多网络接口绑定系统及方法

Country Status (1)

Country Link
CN (1) CN103176780B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103533096A (zh) * 2013-10-09 2014-01-22 杭州华三通信技术有限公司 一种网卡接口绑定方法及装置
CN104202202A (zh) * 2014-09-18 2014-12-10 中电长城网际系统应用有限公司 网卡接口绑定方法和绑定装置
CN104580391A (zh) * 2014-12-18 2015-04-29 国云科技股份有限公司 一种适用于云计算的提高服务器带宽的方法
CN104883264A (zh) * 2014-02-27 2015-09-02 中国科学院声学研究所 一种虚拟化网络处理平台上网卡的方法及系统
CN105518620A (zh) * 2014-10-31 2016-04-20 华为技术有限公司 一种网卡配置方法及资源管理中心
CN105577630A (zh) * 2015-04-30 2016-05-11 宇龙计算机通信科技(深圳)有限公司 一种基于多系统的上网方法及终端
CN105847053A (zh) * 2016-03-23 2016-08-10 成都民航空管科技发展有限公司 Linux系统下自动设置多网卡多网段任意绑定的方法及系统
CN106411771A (zh) * 2016-09-09 2017-02-15 北京锐安科技有限公司 一种数据转发方法及系统
CN106982170A (zh) * 2017-04-19 2017-07-25 上海海加网络科技有限公司 基于Linux系统的多链路负载均衡方法及装置
CN106982207A (zh) * 2017-03-13 2017-07-25 中国人民解放军信息工程大学 一种动态调度网络操作系统的方法及系统
CN107924226A (zh) * 2015-07-28 2018-04-17 华为技术有限公司 用于多接口虚拟网络功能的单个网络接口
CN109412897A (zh) * 2018-11-15 2019-03-01 紫光测控有限公司 基于多核处理器及fpga的共享mac实现系统及方法
CN109656628A (zh) * 2018-12-24 2019-04-19 中国科学院电子学研究所 一种基于网络接口的数据加载方法
CN113760374A (zh) * 2021-08-30 2021-12-07 海信电子科技(深圳)有限公司 一种处理器的绑定方法、装置及电子设备
CN114244878A (zh) * 2021-12-15 2022-03-25 上海励驰半导体有限公司 一种异构多核环境下的设备分布式访问系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101354693A (zh) * 2008-09-11 2009-01-28 重庆邮电大学 一种异构多核处理器的核间通信调度系统及方法
US20100058335A1 (en) * 2008-08-28 2010-03-04 Weber Bret S Methods and systems for integrated storage and data management using a hypervisor
CN101909054A (zh) * 2010-07-15 2010-12-08 华中科技大学 虚拟化环境中多网络接口卡聚合的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100058335A1 (en) * 2008-08-28 2010-03-04 Weber Bret S Methods and systems for integrated storage and data management using a hypervisor
CN101354693A (zh) * 2008-09-11 2009-01-28 重庆邮电大学 一种异构多核处理器的核间通信调度系统及方法
CN101909054A (zh) * 2010-07-15 2010-12-08 华中科技大学 虚拟化环境中多网络接口卡聚合的方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
QIWEN ZHA等: "A High Performance Multi-core Network Processing System", 《PROCEEDINGS OF THE 2011 3RD INTERNATIONAL CONFERENCE ON COMPUTER TECHNOLOGY AND DEVELOPMENT》, vol. 1, 27 November 2011 (2011-11-27), pages 439 - 443 *
蒋汉平: "面向多核网络处理器软件框架的研究与实现", 《中国博士学位论文全文数据库 信息科技辑 》, 15 December 2008 (2008-12-15), pages 138 - 11 *
贺鹏程 等: "多核分组处理系统软件结构研究", 《微计算机应用》, 30 September 2010 (2010-09-30), pages 12 - 20 *
郭秀岩 等: "用于视频点播系统中实时数据流发送的多核结构", 《小型微型计算机系统》, 31 July 2011 (2011-07-31), pages 1310 - 1316 *

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103533096A (zh) * 2013-10-09 2014-01-22 杭州华三通信技术有限公司 一种网卡接口绑定方法及装置
CN103533096B (zh) * 2013-10-09 2017-04-05 杭州华三通信技术有限公司 一种网卡接口绑定方法及装置
CN104883264A (zh) * 2014-02-27 2015-09-02 中国科学院声学研究所 一种虚拟化网络处理平台上网卡的方法及系统
CN104202202A (zh) * 2014-09-18 2014-12-10 中电长城网际系统应用有限公司 网卡接口绑定方法和绑定装置
CN105518620A (zh) * 2014-10-31 2016-04-20 华为技术有限公司 一种网卡配置方法及资源管理中心
US10305823B2 (en) 2014-10-31 2019-05-28 Huawei Technologies Co., Ltd. Network interface card configuration method and resource management center
CN105518620B (zh) * 2014-10-31 2019-02-01 华为技术有限公司 一种网卡配置方法及资源管理中心
CN104580391A (zh) * 2014-12-18 2015-04-29 国云科技股份有限公司 一种适用于云计算的提高服务器带宽的方法
CN105577630A (zh) * 2015-04-30 2016-05-11 宇龙计算机通信科技(深圳)有限公司 一种基于多系统的上网方法及终端
CN105577630B (zh) * 2015-04-30 2017-07-14 宇龙计算机通信科技(深圳)有限公司 一种基于多系统的上网方法及终端
CN107924226A (zh) * 2015-07-28 2018-04-17 华为技术有限公司 用于多接口虚拟网络功能的单个网络接口
CN107924226B (zh) * 2015-07-28 2020-02-21 华为技术有限公司 用于多接口虚拟网络功能的单个网络接口
CN105847053A (zh) * 2016-03-23 2016-08-10 成都民航空管科技发展有限公司 Linux系统下自动设置多网卡多网段任意绑定的方法及系统
CN105847053B (zh) * 2016-03-23 2019-04-09 成都民航空管科技发展有限公司 Linux系统下自动设置多网卡多网段任意绑定的方法及系统
CN106411771A (zh) * 2016-09-09 2017-02-15 北京锐安科技有限公司 一种数据转发方法及系统
CN106982207A (zh) * 2017-03-13 2017-07-25 中国人民解放军信息工程大学 一种动态调度网络操作系统的方法及系统
CN106982207B (zh) * 2017-03-13 2019-06-28 中国人民解放军信息工程大学 一种动态调度网络操作系统的方法及系统
CN106982170A (zh) * 2017-04-19 2017-07-25 上海海加网络科技有限公司 基于Linux系统的多链路负载均衡方法及装置
CN109412897A (zh) * 2018-11-15 2019-03-01 紫光测控有限公司 基于多核处理器及fpga的共享mac实现系统及方法
CN109412897B (zh) * 2018-11-15 2021-12-21 清能华控科技有限公司 基于多核处理器及fpga的共享mac实现系统及方法
CN109656628A (zh) * 2018-12-24 2019-04-19 中国科学院电子学研究所 一种基于网络接口的数据加载方法
CN113760374A (zh) * 2021-08-30 2021-12-07 海信电子科技(深圳)有限公司 一种处理器的绑定方法、装置及电子设备
CN113760374B (zh) * 2021-08-30 2023-04-21 海信电子科技(深圳)有限公司 一种处理器的绑定方法、装置及电子设备
CN114244878A (zh) * 2021-12-15 2022-03-25 上海励驰半导体有限公司 一种异构多核环境下的设备分布式访问系统及方法
CN114244878B (zh) * 2021-12-15 2024-04-26 上海励驰半导体有限公司 一种异构多核环境下的设备分布式访问系统及方法

Also Published As

Publication number Publication date
CN103176780B (zh) 2016-03-30

Similar Documents

Publication Publication Date Title
CN103176780B (zh) 一种多网络接口绑定系统及方法
CN105577567B (zh) 基于Intel DPDK的网络数据包并行处理方法
CN104521198B (zh) 用于虚拟以太网接口绑定的系统和方法
Yang et al. Catalyzing cloud-fog interoperation in 5G wireless networks: An SDN approach
CN107196869B (zh) 基于主机实际负载的自适应负载均衡方法、设备和系统
US9258171B2 (en) Method and system for an OS virtualization-aware network interface card
US7788411B2 (en) Method and system for automatically reflecting hardware resource allocation modifications
CN103888485B (zh) 云计算资源的分配方法、装置及系统
CN103733574B (zh) 用于在虚拟化网络和非虚拟化实体之间通信的方法和网关
CN102938718B (zh) 一种家庭网关与智能终端综合系统及其通信方法
CN102497322A (zh) 一种基于分流网卡和多核cpu实现的高速包过滤设备和方法
CN106302225B (zh) 一种服务器负载均衡的方法与装置
CN102334112A (zh) 用于虚拟机网络的方法和系统
CN109768939A (zh) 一种支持优先级的标签化网络栈方法和系统
US20100088703A1 (en) Multi-core system with central transaction control
CN110602156A (zh) 一种负载均衡调度方法及装置
CN101997924A (zh) 云存储文件传输协议(cftp)
CN109076029A (zh) 用于网络i/o访问的技术
CN103200085A (zh) 一种实现vxlan报文线速收发的方法及系统
CN103229145A (zh) 用于电信网络应用的无锁缓冲器管理方案
CN103154897A (zh) 用于电信网络应用的核抽象层
CN102497434A (zh) 内核态虚拟网络设备的建立方法、及其包发送和接收方法
CN102137032B (zh) 一种云消息系统及云消息发送和接收方法
CN107046508A (zh) 报文接收方法及网络设备
CN104281493A (zh) 一种提升应用交付通讯平台多进程程序性能的方法

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
TR01 Transfer of patent right

Effective date of registration: 20210812

Address after: Room 1601, 16th floor, East Tower, Ximei building, No. 6, Changchun Road, high tech Industrial Development Zone, Zhengzhou, Henan 450001

Patentee after: Zhengzhou xinrand Network Technology Co.,Ltd.

Address before: 100190, No. 21 West Fourth Ring Road, Beijing, Haidian District

Patentee before: INSTITUTE OF ACOUSTICS, CHINESE ACADEMY OF SCIENCES

Effective date of registration: 20210812

Address after: 100190, No. 21 West Fourth Ring Road, Beijing, Haidian District

Patentee after: INSTITUTE OF ACOUSTICS, CHINESE ACADEMY OF SCIENCES

Address before: 100190, No. 21 West Fourth Ring Road, Beijing, Haidian District

Patentee before: INSTITUTE OF ACOUSTICS, CHINESE ACADEMY OF SCIENCES

Patentee before: BEIJING ZHONGKE HUAYING MEDIA TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right