一种数据传输方法、装置、电子设备和存储介质制造方法及图纸

技术编号:36935058 阅读:53 留言:0更新日期:2023-03-22 18:57
本发明专利技术公开了一种数据传输方法、装置、电子设备和存储介质,该方法包括:监听当前主机的网络接口是否存在由当前主机发出的第一IP数据包,并判断预设数据链路层是否接收到向当前主机发送的MAC帧数据;若存在第一IP数据包或MAC帧数据,将第一IP数据包或与MAC帧数据对应的第二IP数据包缓存到预设处理队列,第二IP数据包是对MAC帧数据解包后获取的;若预设处理队列中的首个数据是第二IP数据包,基于当前主机的当前IP地址和当前虚拟主机的虚拟IP地址修改第二IP数据包的数据头,得到第三IP数据包;将第三IP数据包发送到当前主机,从而基于任意数据链路层实现在TCP

【技术实现步骤摘要】
一种数据传输方法、装置、电子设备和存储介质


[0001]本申请涉及通信
,更具体地,涉及一种数据传输方法、装置、电子设备和存储介质。

技术介绍

[0002]在计算机网络层通信的物理介质中,通常有光纤、双绞线、同轴电缆、无线、微波、激光等方式。这些方式都能提供不同容量的通信信道,在物理层面,不同的介质需要有不同的收发装置,且需要遵循的一定的传输规则。发送端和接收端必须定义一套数据传输控制的规则,即为数据链路层协议。数据链路层协议是多变的,但是TCP

IP协议是稳定的,这是网络分层的优势,所以针对多变的数据链路层,如何实现一个TCP

IP是一个常常需要面对的问题。
[0003]然而,数据链路层上层的TCP

IP协议是互联网四层网络模型中最复杂的两层协议。实现一个TCP

IP协议需要花费的代价很高,TCP

IP协议族里面包含了许多特性,要实现这些特性将会是一个巨大的挑战。现有的TCP

IP协议在各种常见的操作系统中都提供了支持,但是作为操作系统的一项标准功能,其实现细节、考虑的场景和实现方法都是很复杂的,基本上在短时间内是无法掌握的,即便是在开放源代码的Linux系统中。
[0004]现有技术中,基本是基于以太网的数据链路层协议实现在TCP

IP协议下进行数据传输,而对于基于非以太网(如串口、并口等)的数据链路层,难以实现在TCP

IP协议下进行数据传输。
[0005]因此,如何基于任意数据链路层实现在TCP

IP协议下进行可靠的数据传输,是目前有待解决的技术问题。

技术实现思路

[0006]本申请实施例提供一种数据传输方法、装置、电子设备和存储介质,用以基于任意数据链路层实现在TCP

IP协议下进行可靠的数据传输。
[0007]第一方面,提供一种数据传输方法,应用于包括至少两个主机的系统中,各所述主机分别位于两个不同的局域网中,各所述局域网之间基于自定义的预设数据链路层进行通信,预先设置分别与各所述主机对应的两个虚拟主机,所述方法包括:监听当前主机的网络接口是否存在由所述当前主机发出的第一IP数据包,并判断所述预设数据链路层是否接收到向所述当前主机发送的MAC帧数据,其中,所述当前主机经所述网络接口连接与所述当前主机对应的当前虚拟机;若存在所述第一IP数据包或所述MAC帧数据,将所述第一IP数据包或与所述MAC帧数据对应的第二IP数据包缓存到预设处理队列,所述第二IP数据包是对所述MAC帧数据解包后获取的;若所述预设处理队列中的首个数据是所述第二IP数据包,基于所述当前主机的当前IP地址和所述当前虚拟主机的虚拟IP地址修改所述第二IP数据包的数据头,得到第三IP数据包;将所述第三IP数据包发送到所述当前主机。
[0008]第二方面,提供一种数据传输装置,应用于包括至少两个主机的系统中,各所述主
机分别位于两个不同的局域网中,各所述局域网之间基于自定义的预设数据链路层进行通信,预先设置分别与各所述主机对应的两个虚拟主机,所述装置包括:监听模块,用于监听当前主机的网络接口是否存在由所述当前主机发出的第一IP数据包,并判断所述预设数据链路层是否接收到向所述当前主机发送的MAC帧数据,其中,所述当前主机经所述网络接口连接与所述当前主机对应的当前虚拟机;缓存模块,用于若存在所述第一IP数据包或所述MAC帧数据,将所述第一IP数据包或与所述MAC帧数据对应的第二IP数据包缓存到预设处理队列,所述第二IP数据包是对所述MAC帧数据解包后获取的;修改模块,用于若所述预设处理队列中的首个数据是所述第二IP数据包,基于所述当前主机的当前IP地址和所述当前虚拟主机的虚拟IP地址修改所述第二IP数据包的数据头,得到第三IP数据包;发送模块,用于将所述第三IP数据包发送到所述当前主机。
[0009]第三方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行第一方面所述的数据传输方法。
[0010]第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的数据传输方法。
[0011]通过应用以上技术方案,在包括至少两个主机的系统中,各主机分别位于两个不同的局域网中,各局域网之间基于自定义的预设数据链路层进行通信,预先设置分别与各主机对应的两个虚拟主机,监听当前主机的网络接口是否存在由当前主机发出的第一IP数据包,并判断预设数据链路层是否接收到向当前主机发送的MAC帧数据,其中,当前主机经网络接口连接与当前主机对应的当前虚拟机;若存在第一IP数据包或MAC帧数据,将第一IP数据包或与MAC帧数据对应的第二IP数据包缓存到预设处理队列,第二IP数据包是对MAC帧数据解包后获取的;若预设处理队列中的首个数据是第二IP数据包,基于当前主机的当前IP地址和当前虚拟主机的虚拟IP地址修改第二IP数据包的数据头,得到第三IP数据包;将第三IP数据包发送到当前主机,从而基于任意数据链路层实现在TCP

IP协议下进行可靠的数据传输,提高了数据传输的灵活性。
附图说明
[0012]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0013]图1示出了本专利技术实施例提出的一种数据传输方法的流程示意图;图2示出了本专利技术实施例中与数据传输方法对应的网络传输结构的原理示意图;图3示出了本专利技术另一实施例提出的一种数据传输方法的原理示意图;图4示出了本专利技术又一实施例提出的一种数据传输方法的原理示意图;图5示出了本专利技术实施例中与服务端对应的预设收发配置文件的示意图;图6示出了本专利技术实施例中与客户端对应的预设收发配置文件的示意图;图7示出了本专利技术实施例提出的一种数据传输装置的结构示意图;图8示出了本专利技术实施例提出的一种电子设备的结构示意图。
具体实施方式
[0014]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0015]需要说明的是,本领域技术人员在考虑说明书及实践这里公开的专利技术后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本
中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求部分指本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据传输方法,其特征在于,应用于包括至少两个主机的系统中,各所述主机分别位于两个不同的局域网中,各所述局域网之间基于自定义的预设数据链路层进行通信,预先设置分别与各所述主机对应的两个虚拟主机,所述方法包括:监听当前主机的网络接口是否存在由所述当前主机发出的第一IP数据包,并判断所述预设数据链路层是否接收到向所述当前主机发送的MAC帧数据,其中,所述当前主机经所述网络接口连接与所述当前主机对应的当前虚拟机;若存在所述第一IP数据包或所述MAC帧数据,将所述第一IP数据包或与所述MAC帧数据对应的第二IP数据包缓存到预设处理队列,所述第二IP数据包是对所述MAC帧数据解包后获取的;若所述预设处理队列中的首个数据是所述第二IP数据包,基于所述当前主机的当前IP地址和所述当前虚拟主机的虚拟IP地址修改所述第二IP数据包的数据头,得到第三IP数据包;将所述第三IP数据包发送到所述当前主机。2.如权利要求1所述的方法,其特征在于,所述方法还包括:若所述首个数据是所述第一IP数据包,基于与所述预设数据链路层对应的数据链路层协议对所述第一IP数据包进行打包,并发送到所述预设数据链路层进行转发。3.如权利要求1所述的方法,其特征在于,在将所述第一IP数据包或与所述MAC帧数据对应的第二IP数据包缓存到预设处理队列之后,所述方法还包括:根据预设收发配置文件对所述首个数据的配置项进行分析,并根据分析结果判断所述首个数据的数据传输方向;若所述数据传输方向为接收方向,确定所述首个数据为所述第二IP数据包;若所述数据传输方向为发出方向,确定所述首个数据为所述第一IP数据包;其中,所述配置项包括源IP地址、目的IP地址、源端口和目的端口。4.如权利要求1所述的方法,其特征在于,在得到第三IP数据包之后,所述方法还包括:若所述当前主机是服务端,判断所述第三IP数据包中的第一目的端口是否与所述当前主机提供的服务端口一致;若不一致,将所述第一目的端口修改为所述服务端口。5.如权利要求1所述的方法,其特征在于,所述数据头包括原始源IP地址、原始目的IP地址和原始校验和,...

【专利技术属性】
技术研发人员:黄城彬
申请(专利权)人:北京融为科技有限公司
类型:发明
国别省市:

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

1