一种数据传输方法、服务器及计算机可读存储介质技术

技术编号:23608802 阅读:32 留言:0更新日期:2020-03-28 08:55
本发明专利技术实施例涉及数据处理领域,公开了一种数据传输方法、服务器及计算机可读存储介质。本申请的部分实施例中,数据传输方法应用于第一服务器,第一服务器的用户态协议栈设有M个第一虚拟网口,第一服务器的内核态协议栈设有N个第二虚拟网口,每个第一虚拟网口分别对应一个第二虚拟网口,每个第二虚拟网口配置对应的第一虚拟网口的互联网协议IP地址;M和N为正整数,N<M;包括:接收到报文后,根据报文的IP地址,以及IP地址和物理mac地址的第一映射关系,确定报文的IP地址对应的mac地址;根据对应的mac地址,更新报文的mac地址;转发更新后的报文。该实施例中,减少了网口数量,便于对网口进行管理。

A data transmission method, server and computer readable storage medium

【技术实现步骤摘要】
一种数据传输方法、服务器及计算机可读存储介质
本专利技术实施例涉及数据处理领域,特别涉及一种数据传输方法、服务器及计算机可读存储介质。
技术介绍
现有的用户态协议栈与内核态协议栈通信的实现方式是:用户态协议栈的每个网口,在内核态协议栈上都创立一个虚拟网口,针对不同的应用场景,当判断数据流为控制流时,就会直接将报文发送给内核态协议栈。配置上,每个内核态协议栈上的网口ip/netmask/mac参数要和用户态协议栈一致。然而,专利技术人发现现有技术中至少存在如下问题:网口的创建与删除、管理等操作不仅耗时,而且占用资源多,不好管理。
技术实现思路
本专利技术实施方式的目的在于提供一种数据传输方法、服务器及计算机可读存储介质,使得减少了网口数量,便于对网口进行管理。为解决上述技术问题,本专利技术的实施方式提供了一种数据传输方法,应用于第一服务器,第一服务器的用户态协议栈设有M个第一虚拟网口,第一服务器的内核态协议栈设有N个第二虚拟网口,每个第一虚拟网口分别对应一个第二虚拟网口,每个第二虚拟网口配置对应的第一虚拟网口的互联网协议IP地址;M和N为正整数,N<M;数据传输方法包括:接收到报文后,根据报文的IP地址,以及IP地址和物理mac地址的第一映射关系,确定报文的IP地址对应的mac地址;根据对应的mac地址,更新报文的mac地址;转发更新后的报文。本专利技术的实施方式还提供了一种服务器,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如上述实施方式的数据传输方法。本专利技术的实施方式还提供了一种计算机存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述实施方式提及的数据传输方法。本专利技术实施方式相对于现有技术而言,在内核态协议栈设置更少的虚拟网口,使内核态协议栈的至少一个虚拟网口对应多个用户态协议栈的虚拟网口,减少了网口数量从而减少因为创建多个网口带来的资源损耗,同时有利于进行网口管理。另外,若报文的发送方是第一服务器的内核态协议栈,报文的IP地址为报文的源IP地址,报文的mac地址为报文的源mac地址;若报文的发送方是第二服务器,报文的IP地址为报文的目的IP地址,报文的mac地址为报文的目的mac地址。另外,若报文的发送方为第二服务器,在根据报文的IP地址,以及IP地址和物理mac地址的第一映射关系,确定报文的IP地址对应的mac地址之前,还包括:确定报文为控制报文。另外,在根据对应的mac地址,更新报文的mac地址之前,数据传输方法还包括:确定报文的报文类型属于预设的报文类型集合;预设的报文类型集合包括IP报文类型、单播的地址解析协议ARP请求报文类型和ARP响应报文类型中的一个或多个。另外,若报文为ARP响应报文;在转发更新后的报文之前,数据传输方法还包括:更新报文的目标硬件地址;若报文为单播的ARP请求报文,在转发更新后的报文之前,数据传输方法还包括:更新报文的发送方硬件地址。另外,数据传输方法还包括:若确定第一虚拟网口的IP地址或mac地址被修改,更新第一映射关系。另外,N等于1,第二虚拟网口设置有各第一虚拟网口的IP地址。另外,第一服务器还存储有IP地址和端口号的第二映射关系,若报文的发送方是内核态协议栈,转发更新后的报文,具体包括:根据报文的源IP地址,以及第二映射关系,确定目标端口;将报文传输至目标端口。附图说明一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。图1是根据本专利技术的第一实施方式的数据传输方法的流程图;图2是根据本专利技术的第二实施方式的数据传输方法的流程图;图3是根据本专利技术的第三实施方式的服务器的结构示意图;图4是根据本专利技术的第四实施方式的服务器的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本专利技术各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。本专利技术的第一实施方式涉及一种数据传输方法,应用于第一服务器。如图1所示,数据传输方法包括以下步骤:步骤101:接收到报文后,根据报文的IP地址,以及IP地址和mac地址的第一映射关系,确定报文的IP地址对应的mac地址。具体地说,第一服务器的用户态协议栈设有M个第一虚拟网口,第一服务器的内核态协议栈设有N个第二虚拟网口,每个第一虚拟网口分别对应一个第二虚拟网口,每个第二虚拟网口配置对应的第一虚拟网口的互联网协议IP地址;M和N为正整数,N<M。其中,第二虚拟网口是指虚拟网络接口。在一个实施例中,N等于1。即第二虚拟网口设置有各第一虚拟网口的IP地址。即内核态协议栈上的虚拟网络接口只需要创建一个,在该虚拟网口接口上配置各个第一虚拟网口的IP地址,使得该第二虚拟网口共设有M个IP地址,直接映射到用户态协议栈的所有网口。值得一提的是,通过1个第二虚拟网口实现内核态协议栈和用户态协议栈的数据交互,减少了需要创建的网口数量,从而减少因为创建多个网口带来的资源损耗,更有利于进行网口管理。需要说明的是,本实施方式中,以创建一个第二虚拟网口为例,说明第一虚拟网口和第二虚拟网口的映射关系,实际应用中,第二虚拟网口的数量可以根据需要设置,例如,N=2,第1个第二虚拟网口设置有第1个第一虚拟网口至第[M/2]个虚拟网口的IP地址,第2个第二虚拟网口设置有第[M/2]+1个虚拟网口至第M个虚拟网口的IP地址。其中,[M/2]表示一个小于或等于M/2的最大整数。需要说明的是,上述第一虚拟网口的分配方式仅为举例说明,实际应用中,也可以不采用平均分配的方式,本实施方式不限制第一虚拟网口的分配方式。步骤102:根据IP地址对应的mac地址,更新报文的mac地址。具体地说,第一服务器中的至少一个第二虚拟网口对应多个第一虚拟网口,该第二虚拟网口的mac地址可能与其对应的第一虚拟网口的mac地址相同,也可能不同。为保证用户态协议栈和内核态协议栈之间能够正常通信,将接收到的报文的mac地址,需要基于IP地址和mac地址的第一映射关系,确定IP地址对应的mac地址,并更新报文中的mac地址。在一个实施例中,报文的发送方是第一服务器的内核态协议栈,报文的IP地址为报文的源IP地址,报文的mac地址为报文的源mac地址,第一映射关系指示第一虚拟网口的IP地址和第一虚拟网口的mac地址的对应关系。具体地说,当报文从内核态协议栈发往用户态协议栈的虚拟网口时,在第一映射关系中查找报文的源IP地址对应的mac地址本文档来自技高网...

【技术保护点】
1.一种数据传输方法,其特征在于,应用于第一服务器,所述第一服务器的用户态协议栈设有M个第一虚拟网口,所述第一服务器的内核态协议栈设有N个第二虚拟网口,每个所述第一虚拟网口分别对应一个所述第二虚拟网口,每个所述第二虚拟网口配置对应的第一虚拟网口的互联网协议IP地址;M和N为正整数,N<M;所述数据传输方法包括:/n接收到报文后,根据所述报文的IP地址,以及IP地址和物理mac地址的第一映射关系,确定所述报文的IP地址对应的mac地址;/n根据所述对应的mac地址,更新所述报文的mac地址;/n转发更新后的报文。/n

【技术特征摘要】
1.一种数据传输方法,其特征在于,应用于第一服务器,所述第一服务器的用户态协议栈设有M个第一虚拟网口,所述第一服务器的内核态协议栈设有N个第二虚拟网口,每个所述第一虚拟网口分别对应一个所述第二虚拟网口,每个所述第二虚拟网口配置对应的第一虚拟网口的互联网协议IP地址;M和N为正整数,N<M;所述数据传输方法包括:
接收到报文后,根据所述报文的IP地址,以及IP地址和物理mac地址的第一映射关系,确定所述报文的IP地址对应的mac地址;
根据所述对应的mac地址,更新所述报文的mac地址;
转发更新后的报文。


2.根据权利要求1所述的数据传输方法,其特征在于,若所述报文的发送方是所述第一服务器的内核态协议栈,所述报文的IP地址为所述报文的源IP地址,所述报文的mac地址为所述报文的源mac地址;
若所述报文的发送方是第二服务器,所述报文的IP地址为所述报文的目的IP地址,所述报文的mac地址为所述报文的目的mac地址。


3.根据权利要求2所述的数据传输方法,其特征在于,若所述报文的发送方为第二服务器,在所述根据所述报文的IP地址,以及IP地址和物理mac地址的第一映射关系,确定所述报文的IP地址对应的mac地址之前,还包括:
确定所述报文为控制报文。


4.根据权利要求1所述的数据传输方法,其特征在于,在所述根据所述对应的mac地址,更新所述报文的mac地址之前,所述数据传输方法还包括:
确定所述报文的报文类型属于预设的报文类型集合;预设的报文类型集合包括IP报文类型、单播的地址解析协议ARP请求报文类型和ARP响应报文类型中的...

【专利技术属性】
技术研发人员:许加烜
申请(专利权)人:厦门网宿有限公司
类型:发明
国别省市:福建;35

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

1