一种基于操作系统内核网桥的数据发送方法和装置制造方法及图纸

技术编号:15519235 阅读:55 留言:0更新日期:2017-06-04 09:09
本发明专利技术实施例公开了一种基于操作系统内核网桥的数据发送方法和装置;本发明专利技术实施例采用从网卡缓存中读取待发送的数据包,然后,在缓存的地址转发信息中查找该数据包对应的地址转发信息,当查找到该数据包对应的地址转发信息时,根据查找到的地址转发信息确定用于发送该数据包的目标网卡驱动,直接向该目标网卡驱动发送该数据包,以便该目标网卡驱动将该数据包发送出去。该方案可以提高Linux kernel bridge的数据转发性能。

【技术实现步骤摘要】
一种基于操作系统内核网桥的数据发送方法和装置
本专利技术涉及计算机
,具体涉及一种基于操作系统内核网桥的数据发送方法和装置。
技术介绍
目前,Linuxkernelbridge(内核网桥)转发数据的过程为:网卡驱动从网卡缓存中提取网络数据,然后,网卡驱动将该网络数据传输至Linuxkernelbridge子系统,Linuxkernelbridge子系统对网络数据包进行转发处理,以将该网络数据发送出去。然而,由于Linuxkernelbridge子系统对网络数据的转发处理比较复杂,代码逻辑比较厚重,因此会降低Linuxkernelbridge的数据转发性能。
技术实现思路
本专利技术实施例提供一种基于操作系统内核网桥的数据发送方法和装置,可以提高Linuxkernelbridge的数据转发性能。本专利技术实施例提供一种基于操作系统内核网桥的数据发送方法,包括:从网卡缓存中读取待发送的数据包;在缓存的地址转发信息中查找所述数据包对应的地址转发信息;当查找到所述数据包对应的地址转发信息时,根据查找到的地址转发信息确定用于发送所述数据包的目标网卡驱动;直接向所述目标网卡驱动发送所述数据包,以便所述目标网卡驱动将所述数据包发送出去。相应的,本专利技术实施例还提供一种基于操作系统内核网桥的数据发送装置,包括:读取单元,用于从网卡缓存中读取待发送的数据包;查找单元,用于在缓存的地址转发信息中查找所述数据包对应的地址转发信息;确定单元,用于当查找到所述数据包对应的地址转发信息时,根据查找到的地址转发信息确定用于发送所述数据包的目标网卡驱动;发送单元,用于直接向所述目标网卡驱动发送所述数据包,以便所述目标网卡驱动将所述数据包发送出去。本专利技术实施例采用从网卡缓存中读取待发送的数据包,然后,在缓存的地址转发信息中查找该数据包对应的地址转发信息,当查找到该数据包对应的地址转发信息时,根据查找到的地址转发信息确定用于发送该数据包的目标网卡驱动,直接向该目标网卡驱动发送该数据包,以便该目标网卡驱动将该数据包发送出去。该方案可以将数据包直接发送给目标网卡驱动,并通过目标网卡驱动将数据包转发出去,无需再先将数据包发送至Linuxkernelbridge子系统,然后由该子系统进行转发处理以将数据发送出去;因此,该方案可以提高Linuxkernelbridge的数据转发速度,进而提高Linuxkernelbridge的数据转发性能。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1a是本专利技术实施例提供的数据转发系统的场景示意图;图1b是本专利技术实施例提供的基于操作系统内核网桥的数据发送方法的流程图;图2a是本专利技术实施例提供的Linuxbridge(网桥)系统的结构示意图;图2b是本专利技术实施例提供的基于操作系统内核网桥的数据发送方法的另一流程图;图3a是本专利技术实施例提供的基于操作系统内核网桥的数据发送装置的结构示意图;图3b是本专利技术实施例提供的基于操作系统内核网桥的数据发送装置的另一结构示意图;图3c是本专利技术实施例提供的基于操作系统内核网桥的数据发送装置的又一结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例提供一种基于操作系统内核网桥的数据发送方法和装置。本专利技术实施例提供了一种数据转发系统包括:本专利技术实施例任一提供的基于操作系统内核网桥的数据发送装置。该数据发送装置可以集成在服务器中,比如,集成在Linux操作系统的服务器中。如图1a所示,该数据转发系统包括服务器a、服务器b以及终端c,其中,服务器a集成有本专利技术实施例任一提供的基于操作系统内核网桥的数据发送装置。该服务器a与服务器b之间通过网络连接,服务器a与终端c之间通过网络连接。在数据转发时,服务器a用于从网卡缓存中读取待发送的数据包,然后,在缓存的地址转发信息中查找该数据包对应的地址转发信息,当查找到该数据包对应的地址转发信息时,根据查找到的地址转发信息确定用于发送该数据包的目标网卡驱动,直接向该目标网卡驱动发送该数据包,以便该目标网卡驱动将该数据包发送给服务器a和终端c。此外,服务器a还用于通过物理网卡将服务器b或者终端c发送的信号转换成网络数据,并存放在相应的网卡缓存中。以下将分别进行详细说明。实施例一、本实施例将从基于操作系统内核网桥(kernelbridge)的数据发送装置的角度进行描述,该数据发送装置具体可以集成服务器中,比如,该服务器可以为Linux服务器。一种基于操作系统内核网桥的数据发送方法,包括:从网卡缓存中读取待发送的数据包,然后,在缓存的地址转发信息中查找该数据包对应的地址转发信息,当查找到该数据包对应的地址转发信息时,根据查找到的地址转发信息确定用于发送该数据包的目标网卡驱动,直接向该目标网卡驱动发送该数据包,以便该目标网卡驱动将该数据包发送出去。如图1b所示,该基于操作系统内核网桥的数据发送方法的流程图具体可以如下:101、从网卡缓存中读取待发送的数据包。其中,网卡缓存用于存放物理网卡转换的网络数据,每个物理网卡可以对应一个网卡缓存。本实施例中操作系统可以Linux系统、或者其他的操作系统。可选地,在步骤101之前,本实施例方法还可以包括:对内核网桥系统的地址转换信息进行拷贝,对拷贝的地址转换信息进行缓存。这样便于后续数据包转发时数据包进入内核网桥系统之前进行数据包的地址转发信息的确定。102、在缓存的地址转发信息中查找该数据包对应的地址转发信息。其中,地址转发(fdb)信息为用于转发或者发送数据包的信息,其主要功能是供网络设备如服务器在数据链路层对数据包进行转发,用于确定数据包发往哪个端口。该地址转发信息主要包括MAC(MediaAccessControl,媒体访问控制)地址与转发端口之间的对应关系(即映射关系)。该地址转发信息可以包括地址转发表,比如,可以包括MAC(MediaAccessControl,媒体访问控制)地址转发表;该MAC地址也可以称为物理地址、硬件地址等等。其中,地址转发表包含了转发地址与转发端口(port)之间的对应关系(映射关系),具体地,该地址转发表包含若干地址转发表项,该地址转发表项包含了转发地址与转发端口之间的对应关系(映射关系)。比如,MAC地址转发表包含若干MAC地址转发表项,每个表项包含了MAC地址与转发端口(port)之间的对应关系。该地址转发表可以为一个二层转发表。当缓存的地址转发信息包括地址转发表时,步骤“在缓存的地址转发信息中查找该数据包对应的地址转发信息”可以包括:获取该数据包对应的目的地址;根据该目的地址在缓存的地址转发表中,查找与目的地址对应的地址转发表项。其中,目的地址对应的地址转发表项可以包含目的地址与转发端口之间的对应关系。比如,可以获取数据包对应的目的MAC地址,然后,本文档来自技高网...
一种基于操作系统内核网桥的数据发送方法和装置

【技术保护点】
一种基于操作系统内核网桥的数据发送方法,其特征在于,包括:从网卡缓存中读取待发送的数据包;在缓存的地址转发信息中查找所述数据包对应的地址转发信息;当查找到所述数据包对应的地址转发信息时,根据查找到的地址转发信息确定用于发送所述数据包的目标网卡驱动;直接向所述目标网卡驱动发送所述数据包,以便所述目标网卡驱动将所述数据包发送出去。

【技术特征摘要】
1.一种基于操作系统内核网桥的数据发送方法,其特征在于,包括:从网卡缓存中读取待发送的数据包;在缓存的地址转发信息中查找所述数据包对应的地址转发信息;当查找到所述数据包对应的地址转发信息时,根据查找到的地址转发信息确定用于发送所述数据包的目标网卡驱动;直接向所述目标网卡驱动发送所述数据包,以便所述目标网卡驱动将所述数据包发送出去。2.如权利要求1所述的数据发送方法,其特征在于,所述根据查找到的地址转发信息确定用于发送所述数据包的目标网卡驱动,包括:根据所述查找到的地址转发信息查找相应的转发端口;将与所述转发端口关联的网卡驱动,作为用于发送所述数据包的目标网络驱动。3.如权利要求1或2所述的数据发送方法,其特征在于,所述缓存的地址转发信息包括:地址转发表;在缓存的地址转发信息中查找所述数据包对应的地址转发信息,包括:获取所述数据包对应的目的地址;根据所述目的地址在缓存的地址转发表中,查找与目的地址对应的地址转发表项。4.如权利要求1所述的数据发送方法,其特征在于,所述直接向所述目标网卡驱动发送所述数据包,包括:与所述目标网卡驱动之间建立通信通道;通过所述通信通道向所述目标网卡驱动发送所述数据包。5.如权利要求1所述的数据发送方法,其特征在于,还包括:当未查找到所述数据包对应的地址转发信息时,向内核网桥系统发送所述数据包,以便所述内核网桥系统将数据包发送出去。6.如权利要求1-5任一项所...

【专利技术属性】
技术研发人员:韩健
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1