CN112436998B - 一种数据传输方法及电子设备 - Google Patents

一种数据传输方法及电子设备 Download PDF

Info

Publication number
CN112436998B
CN112436998B CN202011262216.7A CN202011262216A CN112436998B CN 112436998 B CN112436998 B CN 112436998B CN 202011262216 A CN202011262216 A CN 202011262216A CN 112436998 B CN112436998 B CN 112436998B
Authority
CN
China
Prior art keywords
data
data blocks
protocol
blocks
unidirectional
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.)
Active
Application number
CN202011262216.7A
Other languages
English (en)
Other versions
CN112436998A (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.)
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Original Assignee
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software 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 Beijing Topsec Technology Co Ltd, Beijing Topsec Network Security Technology Co Ltd, Beijing Topsec Software Co Ltd filed Critical Beijing Topsec Technology Co Ltd
Priority to CN202011262216.7A priority Critical patent/CN112436998B/zh
Publication of CN112436998A publication Critical patent/CN112436998A/zh
Application granted granted Critical
Publication of CN112436998B publication Critical patent/CN112436998B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种数据传输方法及电子设备,所述方法应用于单向无反馈系统的外端机中,所述方法包括:接收由协商确定的传输协议封装的网络数据;基于所述传输协议解析所述网络数据,得到由多个数据块组成的待发送数据链,多个数据块分别对应所述传输协议中的多条命令;基于单向传输协议封装待发送数据链,并将封装后的待发送数据链发送至所述单向无反馈系统的内端机中,其中,所述单向传输协议的通信协议头中包括多个用于描述所述多个数据块特征的字段,以使所述内端机基于多个所述字段至少能够识别出接收到的所述多个数据块,并确定接收到的所述多个数据块的完整性。基于本发明的数据传输方法可保证数据能够高效、准确地由外端机摆渡至内端机中。

Description

一种数据传输方法及电子设备
技术领域
本发明实施例涉及通信技术领域,特别涉及一种数据传输方法及电子设备。
背景技术
单向网闸作为不同网络间、不同安全域之间的物理隔离设备,仅允许数据的单向无反馈传输,多用于政府、军事网络中,以防止重要信息不会外泄,外部网络中的邮件仅能单向传输到内部网络。单向网闸的硬件架构为2+1,即由外端机、内端机和隔离卡组成,外端机和内端机分别运行不同的代理软件,以实现外端机与内端机间的物理单向通信。
目前在TCP/IP协议栈开发协议识别模块进行协议分析,并将分析后的数据从外端机摆渡到内端机,内端机同样在TCP/IP协议栈进行协议重构并最终将数据摆渡到目的服务端。但是,目前该技术存在的缺陷也是极为明显的,具体包括不能灵活高并发的处理应用协议,在TCP/IP协议栈处理应用协议,尤其涉及到协议多次交互或者待传输的数据需要选择性的修改的情况下,处理过程繁琐,技术成本极高,且效果欠佳。另外,内端机收到数据后进行重构时也无法判断数据是否正确,有无丢失现象。
发明内容
本发明提供一种数据传输方法,应用于单向无反馈系统的外端机中,所述方法包括:
接收由协商确定的传输协议封装的网络数据;
基于所述传输协议解析所述网络数据,得到由多个数据块组成的待发送数据链,所述多个数据块分别对应所述传输协议中的多条命令;
基于单向传输协议封装所述待发送数据链,并将所述封装后的待发送数据链发送至所述单向无反馈系统的内端机中,其中,所述单向传输协议的通信协议头中包括多个用于描述所述多个数据块特征的字段,以使所述内端机基于多个所述字段至少能够识别出接收到的所述多个数据块,并确定接收到的所述多个数据块的完整性。
作为优选,所述基于所述传输协议解析所述网络数据,包括:
将接收到的所述网络数据存储至能够循环读写数据的循环缓冲区;
在所述循环缓冲区内基于所述传输协议解析所述网络数据得到多个分别对应所述多条命令的数据块;
根据所述多个数据块间的关系进行编号,并生成相应的所述字段;
基于编号后的所述多个数据块生成所述待发送数据链。
作为优选,所述多个用于描述所述多个数据块特征的字段包括以下中的一种或多种:
服务类型,用于标识出所述多个数据块对应的应用类型;
数据类型,用于标识出所述多个数据块在对应的所述传输协议中分别指代的数据所属类型;
数据标志,用于标识出对应所述多条命令中同一命令的数据块间的顺序关系,包括对应起始数据块的起始标志、对应中间数据块的中间标志、对应结束数据块的结束标志;
目的地址,用于标识出所述多个数据块需发往的目的端地址;
目的端口,用于标识出所述多个数据块需发往的接收端口;
作为优选,所述通信协议头中包括以下中的一种或多种字段:
会话ID,用于标识出基于所述多个数据块对应的所述传输协议建立的会话;
协议标志,用于标识出所述多个数据块对应的所述传输协议的连接状态,不同的所述连接状态对应所述多条命令中的不同命令;
冗余度,用于标识出所述多个数据块中插入的冗余块的数量。
作为优选,还包括:
确定所述待发送数据链中每个数据块的存储量;
基于所述每个数据块的存储量确定用于调整部分或全部数据块存储量的调整策略;
基于确定的调整策略调整所述部分或全部数据块的存储量,以使所述每个数据块的存储量满足传输要求。
作为优选,所述调整策略包括拆解对应于同一命令且存储量满足第一阈值的数据块的第一调整策略;以及
合并对应于同一命令且存储量满足第二阈值的数据块的第二调整策略;
其中,对应于同一命令的数据块包括起始数据块、中间数据块、结束数据块,所述中间数据块至少为一个。
作为优选,还包括:
根据预设冗余度在被所述确定的调整策略调整后的所述多个数据块中增设冗余块;
更新所述多个字段,以使更新后的所述多个字段与增设所述冗余块后的所述多个数据块的特征相匹配。
本发明还提供一种数据传输方法,应用于单向无反馈系统的内端机中,所述方法包括:
接收基于单向传输协议封装的待发送数据链;
基于所述单向传输协议的通信协议头中的多个字段识别、解析所述多个数据块,同时确定所述多个数据块的完整性;
基于解析结果将所述网络数据分别发送至对应的目标服务端。
本发明同时提供一种电子设备,包括:
第一接收器,用于接收由协商确定的传输协议封装的网络数据;
第一处理器,用于根据所述传输协议解析所述网络数据,得到由多个数据块组成的待发送数据链,所述多个数据块分别对应所述传输协议中的多条命令;
第一发送器,其用于根据单向传输协议封装所述待发送数据链,并将所述封装后的待发送数据链发送至所述单向无反馈系统的内端机中,其中,所述单向传输协议的通信协议头中包括多个用于描述所述多个数据块特征的字段,以使所述内端机基于多个所述字段至少能够识别出接收到的所述多个数据块,并确定接收到的所述多个数据块的完整性。
本发明还提供一种电子设备,包括:
第二接收器,其用于接收基于单向传输协议封装的待发送数据链;
第二处理器,其用于根据所述单向传输协议的通信协议头中的多个字段识别、解析所述多个数据块,同时确定所述多个数据块的完整性;
第二发送器,其用于根据解析结果将所述网络数据分别发送至对应的目标服务端。
基于上述实施例的公开可以获知,本发明实施例具备的有益效果包括:
1)通过设置私有的单向传输协议能够对发送至内端机中的数据进行统一的封装及处理,屏蔽多种应用服务协议的干扰,保证数据能够正确且高效地单向摆渡至内端机中,确保内端机能够识别接收的数据,并判断数据的完整性;
2)封装后的数据可直接被内端机识别、确定,并基于目的地址而发往对应的目标服务端的目的端口中,不需要匹配服务端代理程序配置策略,可实现外部网络与外端机和内端机间的内部网络使用非对称应正用协议;
4)使用循环缓冲区和数据链,不需要频繁的申请电子设备的内存和释放存储空间,有效节省内存,降低内存处理负荷及处理时间,从而提高数据摆渡的整体效率。
附图说明
图1为本发明实施例中的数据传输方法的流程图。
图2为本发明中外部应用、外端机、内端机、内部应用之间的交互关系图。
图3为本发明的通信协议头的数据结构图。
图4为本发明一具体应用的数据交互关系图。
图5为本发明的外端机在基于循环缓存区处理数据时的结构示意图。
图6为本发明中进行拆包前后的数据结构对比图。
图7为本发明中进行合包前后的数据结构对比图。
图8为本发明另一实施例的数据传输方法的流程图。
图9为本发明内端机基于循环缓存区进行数据处理时的结构示意图。
图10为本发明实施例中的电子设备的结构示意图。
图11为本发明另一实施例中的电子设备的结构示意图。
具体实施方式
下面,结合附图对本发明的具体实施例进行详细的描述,但不作为本发明的限定。
应理解的是,可以对此处公开的实施例做出各种修改。因此,下述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本公开的范围和精神内的其他修改。
包含在说明书中并构成说明书的一部分的附图示出了本公开的实施例,并且与上面给出的对本公开的大致描述以及下面给出的对实施例的详细描述一起用于解释本公开的原理。
通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本发明的这些和其它特性将会变得显而易见。
还应当理解,尽管已经参照一些具体实例对本发明进行了描述,但本领域技术人员能够确定地实现本发明的很多其它等效形式,它们具有如权利要求所述的特征并因此都位于借此所限定的保护范围内。
当结合附图时,鉴于以下详细说明,本公开的上述和其他方面、特征和优势将变得更为显而易见。
此后参照附图描述本公开的具体实施例;然而,应当理解,所公开的实施例仅仅是本公开的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本公开模糊不清。因此,本文所公开的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本公开。
本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本公开的相同或不同实施例中的一个或多个。
下面,结合附图详细的说明本发明实施例。
如图1所示,本发明提供一种数据传输方法,应用于单向无反馈系统的外端机中,所述方法包括:
接收由协商确定的传输协议封装的网络数据;
基于传输协议解析网络数据,得到由多个数据块组成的待发送数据链,多个数据块分别对应传输协议中的多条命令;
基于单向传输协议封装待发送数据链,并将封装后的待发送数据链发送至单向无反馈系统的内端机中,其中,单向传输协议的通信协议头中包括多个用于描述多个数据块特征的字段,以使内端机基于多个字段至少能够识别出接收到的多个数据块,并确定接收到的多个数据块的完整性。
例如,本实施例的方法应用于单向网闸系统中,单向网闸属于物理隔离设备,外端机和内端机分别运行应用协议代理软件,外端机应用代理软件在完成与处于外网的应用的数据后,将数据转发至内端机应用代理软件,内端机应用代理软件最终将数据转发到处于内网的应用中,数据的传输过程如图2所示。由图2可知,内端机代理程序不向外端机代理程序回传任何数据,包括协议响应、重传请求、丢失数据反馈等,因此单向网闸需要提供一种将双向通信首先转换为单向通信,再由单向通信转换为双向通信的方法。由于UDP(UserDatagram Protocol,无连接传输协议)的无连接性,外端机应用代理程序与内端机应用代理程序之间选用UDP协议进行单向无反馈传输数据,并在UDP协议之上封装私有的单向传输协议,最终实现数据的准确及快速地摆渡。具体地,本实施例中的方法会基于预先与数据发送端约定好的至少一个传输协议来解析接收到的网络数据,每解析出对应一条命令的数据后会将其整理为至少一个数据块,待全部数据均解析完毕后会得到多个数据块,该多个数据块会被加入至预制的待发送数据链中,然后经与内端机约定好的私有协议-单向传输协议来对待发送数据链进行封装,使其具有包括多个用于描述各个数据块特征的字段构成的通信协议头,该通信协议头具体可参考图3所示。此时,外端机便会将封装后的数据链发送给内端机,由内端机基于通信协议头中携带的多个字段来识别接收到的多个数据块,以及判断多个数据块是否完整,也即,确定多个数据块是否在传输的过程中出现丢包现象。
故基于上述实施例的公开可以获知,本实施例具备的有益效果包通过设置私有的单向传输协议能够对发送至内端机中的数据进行统一的封装及处理,屏蔽多种应用服务协议的干扰,保证数据能够正确且高效地单向摆渡至内端机中,确保内端机能够识别接收的数据,并判断数据的完整性。
进一步地,本实施例中基于传输协议解析网络数据,包括:
将接收到的网络数据存储至能够循环读写数据的循环缓冲区;
在循环缓冲区内基于传输协议解析网络数据得到多个分别对应多条命令的数据块;
根据多个数据块间的关系进行编号,并生成相应的字段;
基于编号后的多个数据块生成待发送数据链。
例如,在不同安全级别的网络之间使用单向网闸传输邮件时,如由SMTP((SimpleMail Transfer Protocol),简单邮件传输协议)服务器转发的网络数据,具体为邮件,邮件传输的总流程示意图如图4所示。结合图4可知,外端机中的SMTP代理程序可使用协议状态机解析SMTP服务器转发的数据,在外端机收到SMTP服务器与其建立的新链接后,外端机基于该新链接向SMTP服务器返回问候220消息,接着外端机进入START状态,在该状态下初始化一个会话ID,并设置SMTP服务类型、数据冗余度以及目的地址和目的端口字段,之后基于协议状态机基于SMTP协议对接收的网络数据进行解析,具体按照HELO、MAIL_FROM、RCPT_TO、DATA及CONTENT的顺序流转,并对每个状态中解析出的数据块进行标记、编号,并生成相应的字段。其中,不同状态会对应接收到SMTP服务器发送的一条命令,故在不同状态下解析出的数据块与该状态对应的命令相匹配。
优选地,为提高外端机中SMTP代理程序的并发性以及数据传输的实时性,本实施例的代理程序采用异步非阻塞模型以及有限协议状态机流式解析协议来对网络数据进行处理。代理程序基于异步非阻塞模型的特性,可将协议解析过程与数据的收发进行分离,因此每当代理程序解析到部分数据块后便可立即对数据块进行标记处理(具体可以包括标识该数据块所属的数据类型以及数据块边界),最后将该数据块的边界,如起始位置、结束位置连同数据标记一起加入待发送数据链。
进一步地,而为了提高数据传输的效率,避免在数据解析过程中频繁地申请内存、清除内存,本实施例中的代理程序在对网络数据进行解析时是预先将网络数据输入至外端机中能够连续读写数据的循环缓存区中,以在该循环缓存区中实现数据的解析处理。结合图5所示,该循环缓冲区设有三个位置指针,OUT指针为待发送数据链的起始位置,PSE指针为代理程序解析数据的起始位置,IN为代理程序收到网络数据后写入循环缓存区时的起始位置。因此OUT指针到PSE指针为代理程序用于存储待发送数据链的区域,PSE指针到IN指针为代理程序用于解析数据的区域,IN指针到OUT指针为代理程序用来缓存接收到的网络数据的区域。IN、OUT和PSE指针初始值相同,代理程序接收到网络数据后更新IN指针,解析到数据块后更新PSE指针,发送数据块(包括该数据块的冗余块)成功后更新OUT指针。
进一步地,本实施例中的多个用于描述多个数据块特征的字段包括以下中的一种或多种:
服务类型,用于标识出多个数据块对应的应用类型;
数据类型,用于标识出多个数据块在对应的传输协议中分别指代的数据所属类型;
数据标志,用于标识出对应多条命令中同一命令的数据块间的顺序关系,包括对应起始数据块的起始标志、对应中间数据块的中间标志、对应结束数据块的结束标志;
目的地址,用于标识出多个数据块需发往的目的端地址;
目的端口,用于标识出多个数据块需发往的接收端口;
会话ID,用于标识出基于多个数据块对应的传输协议建立的会话;
协议标志,用于标识出多个数据块对应的传输协议的连接状态,不同的连接状态对应多条命令中的不同命令;
冗余度,用于标识出多个数据块中插入的冗余块的数量。
另外,多个字段还包括在外端机解析出数据块后对其进行编号而生成的字段。基于上述多个字段,可清楚确定出多个数据块间的顺序关系、是由何种应用程序生成的数据、基于何种协议实现传输、要发往哪个地址/端口、具体数据内容的特征,如是用户名、密码等。故,当内端机接收到外端机发送的数据链后可快速识别、确定出各个数据块,同时判断多个数据块的完整性,而且还能够高效地重构出外端机接收到的对应传输协议的原始数据,也即,基于多个字段,可实现数据从外端机高效且准确地摆渡到内端机,并使内端机重构原始数据的效果。另外,可以支持外部网络与外端机与和内端机间的内部网络采用非对称应用协议,例如,外部网络使用SFTP协议,内部网络可以使用FTP协议。
进一步地,本实施例中的数据传输方法还包括:
确定待发送数据链中每个数据块的存储量;
基于每个数据块的存储量确定用于调整部分或全部数据块存储量的调整策略;
基于确定的调整策略调整部分或全部数据块的存储量,以使每个数据块的存储量满足传输要求。
例如,数据单向传输过程中,待发送数据链中当前欲发送的数据块长度/存储量较大时,由于网络MTU大小的限制,故内部网络的网络层需要进行IP分片。而为了避免网络层分片,影响内端机接收数据后重构原始数据的效率,本实施例在数据发送之前,外端机的代理程序可以对多个数据块的存储量/长度进行检测,并确定是否需要调整存储量,若需要,则调整,以确保每个数据块的存储量/长度满足传输要求,不会被网络层进行IP分片。
具体地,本实施例的调整策略包括拆解对应于同一命令且存储量满足第一阈值的数据块的第一调整策略;以及
合并对应于同一命令且存储量满足第二阈值的数据块的第二调整策略;
根据预设冗余度在被确定的调整策略调整后的多个数据块中增设冗余块;
更新多个字段,以使更新后的多个字段与增设冗余块后的多个数据块的特征相匹配;
其中,对应于同一命令的数据块包括起始数据块、中间数据块、结束数据块,中间数据块至少为一个。
例如,当确定数据块的存储量/长度较大时,则进行拆包处理,以避免IP分片,而相反,当数据块长度比较小时,为降低I/O,在数据发送过程中则进行合包处理。
具体地,如图6所示,拆包过程可以包括:
1)根据当前数据块的标记,计算分拆后第一个片段(具体同样为数据块)、中间片段(具体可能有零个或者多个)、最后一个片段的临时标记;
若数据块标记为START时,第一个片段标记为START,中间和最后一个数据块都标记为DATA;
若数据块标记为DATA时,第一个片段、中间片段、最后一个片段都标记为DATA;
若数据块标记为END时,第一个片段和中间片段标记为DATA,最后一个片段标记为END
若数据块标记为SINGLE,第一个片段标记为START,中间片段标记为DATA,最后一个片段标记为END;
2)将当前数据块按预设定的大小进行拆包,并根据冗余度分配新的节点用于插入拆分出来的片段(数据块),设置该片段的起始位置,如果是第一个片段,置步骤1)中计算出的第一个片段的标记值,并插入至待发送数据链中,如果是第二个片段,置步骤1)中计算出的中间片段的标记值,并插入至待发送数据链中,如果是最后一个片段,置步骤1)中计算出的最后一个片段的标记值,并插入至待发送数据链中。
3)最后根据冗余度插入相应数量的冗余块至待发送数据链中。
而如图7所示,合包过程可以包括:
1)首先判断发送数据链的第一个数据块是否满足合包条件,如果该数据块为冗余包、标记为END或者SINGLE时,则不进行合包,退出事件,否则保存其数据类型与数据块标记,进入步骤2);
2)继续遍历待发送数据链中的其余数据块;
3)如果当前数据块的类型与保存的数据类型不一致,则退出,例如需要进行合包处理的数据块类型为A,可是当前检测到的数据块的类型为B,两个数据块的类型不一致,则退出当前数据块的检测,并检测下一个数据块,而倘若当前检测到的数据块类型为A,且存储量/长度较小,需进行合包处理,则将该数据块进行标记或将其与上一个待合包的数据块一同暂时进行存储;
4)如果累计存储的数据块大小加上当前数据块的大小超过预设的合包长度,则退出,即,仅合包当前数据块之前已经存储的数据块;
5)如果当前数据块标记为SINGLE,则退出;
6)如果当前数据块标记为DATA时,合并数据块的起始位置,置合并后的数据块标记为DATA标记,从待发送数据链中删除该数据块的编号,并累计已经进行合包的数据块大小;
7)如果当前数据块标记为END时,若步骤1)中保存的数据块标记为START,更新合包后最终数据块标记为SINGLE,否则更新合包后的数据块标记为END;
8)最后根据冗余度插入相应数量的冗余块至待发送数据链中;
当外端机代理程序完成了上述数据块存储量的调整后,则按照私有协议-单向传输协议的通信协议后封装服务类型(SMTP)、会话ID、序列号(其中冗余块的序列号相同)、SMTP服务器目的地址、SMTP服务器目的端口、协议标志、数据类型以及数据标记,最后携带待发送数据链一起发送到内端机的SMTP代理程序中,交由内端机的SMTP代理程序处理。
如图8所示,本发明同时提供一种数据传输方法,应用于单向无反馈系统的内端机中,方法包括:
接收基于单向传输协议封装的数据链;
基于单向传输协议的通信协议头中的多个字段识别、解析多个数据块,同时确定多个数据块的完整性;
基于解析结果将网络数据分别发送至对应的目标服务端。
由上述内容可知,内端机收到外端机发送的数据链后,会基于单向传输协议的通信协议头中记录的多个字段来识别多个数据块分别是由哪个应用程序生成的,要发送至哪个目的地址、目标端口中,即,发送至哪个目标服务端中,同时会基于多个字段中记录的多个数据块的编号、数据标志来确定多个数据块的完整性,并重构出与多个数据块对应的原始数据。最终,将整理好的原始数据发送至对应的目标服务端中。
具体地,例如,内端机中的SMTP代理程序收到经单向传输协议封装的数据链后,进行如下处理:
1)分离出通信协议头和数据链,从私有通信协议头中提取出服务类型、会话ID、序列号、目的地址、目的端口、协议标志、数据类型和数据标记,并根据序列号和数据链中多个数据块的长度记录丢失数据信息;
2)用步骤1)中的会话ID查找会话信息,会话与SMTP服务器连接的关系可参考图9所示,对应不同的会话ID,内端机会向SMTP服务器建立不同的数据连接,以用于对应传输匹配的数据;
3)将对应不同会话ID的数据块放入内端机的循环缓冲区中与该会话关联的区域中,同时生成新的数据链节点,并更新缓冲区的IN指针偏移;
4)遍历数据链,并按约定的服务协议、目的地址和目的端口与服务端建立连接并将数据发往目标服务端(位于SMTP服务器中),最后更新缓冲区的OUT指针偏移。
如图10所示,本发明一实施例同时提供一种电子设备,包括:
第一接收器,用于接收由协商确定的传输协议封装的网络数据;
第一处理器,用于根据传输协议解析网络数据,得到由多个数据块组成的待发送数据链,多个数据块分别对应传输协议中的多条命令;
第一发送器,其用于根据单向传输协议封装待发送数据链,并将封装后的待发送数据链发送至单向无反馈系统的内端机中,其中,单向传输协议的通信协议头中包括多个用于描述多个数据块特征的字段,以使内端机基于多个字段至少能够识别出接收到的多个数据块,并确定接收到的多个数据块的完整性。
本实施例中的电子设备具体可以为外端机。
作为另一实施例,所述基于所述传输协议解析所述网络数据,包括:
将接收到的所述网络数据存储至能够循环读写数据的循环缓冲区;
在所述循环缓冲区内基于所述传输协议解析所述网络数据得到多个分别对应所述多条命令的数据块;
根据所述多个数据块间的关系进行编号,并生成相应的所述字段;
基于编号后的所述多个数据块生成所述待发送数据链。
作为另一实施例,所述多个用于描述所述多个数据块特征的字段包括以下中的一种或多种:
服务类型,用于标识出所述多个数据块对应的应用类型;
数据类型,用于标识出所述多个数据块在对应的所述传输协议中分别指代的数据所属类型;
数据标志,用于标识出对应所述多条命令中同一命令的数据块间的顺序关系,包括对应起始数据块的起始标志、对应中间数据块的中间标志、对应结束数据块的结束标志;
目的地址,用于标识出所述多个数据块需发往的目的端地址;
目的端口,用于标识出所述多个数据块需发往的接收端口;
作为另一实施例,所述通信协议头中包括以下中的一种或多种字段:
会话ID,用于标识出基于所述多个数据块对应的所述传输协议建立的会话;
协议标志,用于标识出所述多个数据块对应的所述传输协议的连接状态,不同的所述连接状态对应所述多条命令中的不同命令;
冗余度,用于标识出所述多个数据块中插入的冗余块的数量。
作为另一实施例,所述第一处理器还用于:
确定所述待发送数据链中每个数据块的存储量;
基于所述每个数据块的存储量确定用于调整部分或全部数据块存储量的调整策略;
基于确定的调整策略调整所述部分或全部数据块的存储量,以使所述每个数据块的存储量满足传输要求。
作为另一实施例,所述调整策略包括拆解对应于同一命令且存储量满足第一阈值的数据块的第一调整策略;以及
合并对应于同一命令且存储量满足第二阈值的数据块的第二调整策略;
其中,对应于同一命令的数据块包括起始数据块、中间数据块、结束数据块,所述中间数据块至少为一个。
作为另一实施例,所述第一处理器还用于:
根据预设冗余度在被所述确定的调整策略调整后的所述多个数据块中增设冗余块;
更新所述多个字段,以使更新后的所述多个字段与增设所述冗余块后的所述多个数据块的特征相匹配。
如图11所示,本发明另一实施例还提供一种电子设备,包括:
第二接收器,其用于接收基于单向传输协议封装的待发送数据链;
第二处理器,其用于根据单向传输协议的通信协议头中的多个字段识别、解析多个数据块,同时确定多个数据块的完整性;
第二发送器,其用于根据解析结果将网络数据分别发送至对应的目标服务端。
本实施例所述的电子设备具体可为内端机。
以上实施例仅为本发明的示例性实施例,不用于限制本发明,本发明的保护范围由权利要求书限定。本领域技术人员可以在本发明的实质和保护范围内,对本发明做出各种修改或等同替换,这种修改或等同替换也应视为落在本发明的保护范围内。

Claims (9)

1.一种数据传输方法,应用于单向无反馈系统的外端机中,所述方法包括:
接收由协商确定的传输协议封装的网络数据;
基于所述传输协议解析所述网络数据,得到由多个数据块组成的待发送数据链,所述多个数据块分别对应所述传输协议中的多条命令;
基于单向传输协议封装所述待发送数据链,并将所述封装后的待发送数据链发送至所述单向无反馈系统的内端机中,其中,所述单向传输协议的通信协议头中包括多个用于描述所述多个数据块特征的字段,以使所述内端机基于多个所述字段至少能够识别出接收到的所述多个数据块,并确定接收到的所述多个数据块的完整性;
其中,所述基于所述传输协议解析所述网络数据,包括:
将接收到的所述网络数据存储至能够循环读写数据的循环缓冲区;
在所述循环缓冲区内基于所述传输协议解析所述网络数据得到多个分别对应所述多条命令的数据块;
根据所述多个数据块间的关系进行编号,并生成相应的所述字段;
基于编号后的所述多个数据块生成所述待发送数据链;
所述通信协议头中包括:协议标志,用于标识出所述多个数据块对应的所述传输协议的连接状态,不同的所述连接状态对应所述多条命令中的不同命令。
2.根据权利要求1所述的方法,其中,所述多个用于描述所述多个数据块特征的字段包括以下中的一种或多种:
服务类型,用于标识出所述多个数据块对应的应用类型;
数据类型,用于标识出所述多个数据块在对应的所述传输协议中分别指代的数据所属类型;
数据标志,用于标识出对应所述多条命令中同一命令的数据块间的顺序关系,包括对应起始数据块的起始标志、对应中间数据块的中间标志、对应结束数据块的结束标志;
目的地址,用于标识出所述多个数据块需发往的目的端地址;
目的端口,用于标识出所述多个数据块需发往的接收端口。
3.根据权利要求1所述的方法,其中,所述通信协议头中还包括以下一种或多种字段:
会话ID,用于标识出基于所述多个数据块对应的所述传输协议建立的会话;
冗余度,用于标识出所述多个数据块中插入的冗余块的数量。
4.根据权利要求1所述的方法,其中,还包括:
确定所述待发送数据链中每个数据块的存储量;
基于所述每个数据块的存储量确定用于调整部分或全部数据块存储量的调整策略;
基于确定的调整策略调整所述部分或全部数据块的存储量,以使所述每个数据块的存储量满足传输要求。
5.根据权利要求4所述的方法,其中,所述调整策略包括拆解对应于同一命令且存储量满足第一阈值的数据块的第一调整策略;以及
合并对应于同一命令且存储量满足第二阈值的数据块的第二调整策略;
其中,对应于同一命令的数据块包括起始数据块、中间数据块、结束数据块,所述中间数据块至少为一个。
6.根据权利要求5所述的方法,其中,还包括:
根据预设冗余度在被所述确定的调整策略调整后的所述多个数据块中增设冗余块;
更新所述多个字段,以使更新后的所述多个字段与增设所述冗余块后的所述多个数据块的特征相匹配。
7.一种数据传输方法,应用于单向无反馈系统的内端机中,所述方法包括:
接收基于单向传输协议封装的数据链;
基于所述单向传输协议的通信协议头中的多个字段识别、解析所述多个数据块,同时确定所述多个数据块的完整性;基于解析结果将网络数据分别发送至对应的目标服务端;
其中,所述数据链由单向无反馈系统的外端机执行下述步骤形成:
将接收到的网络数据存储至能够循环读写数据的循环缓冲区;
在所述循环缓冲区内基于传输协议解析所述网络数据得到多个分别对应多条命令的数据块;
根据所述多个数据块间的关系进行编号,并生成相应的所述字段;
基于编号后的所述多个数据块生成待发送数据链;
所述通信协议头中包括:协议标志,用于标识出所述多个数据块对应的所述传输协议的连接状态,不同的所述连接状态对应所述多条命令中的不同命令。
8.一种电子设备,包括:
第一接收器,用于接收由协商确定的传输协议封装的网络数据;
第一处理器,用于根据所述传输协议解析所述网络数据,得到由多个数据块组成的待发送数据链,所述多个数据块分别对应所述传输协议中的多条命令;
第一发送器,其用于根据单向传输协议封装所述待发送数据链,并将所述封装后的待发送数据链发送至单向无反馈系统的内端机中,其中,所述单向传输协议的通信协议头中包括多个用于描述所述多个数据块特征的字段,以使所述内端机基于多个所述字段至少能够识别出接收到的所述多个数据块,并确定接收到的所述多个数据块的完整性;
其中,所述基于所述传输协议解析所述网络数据,包括:
将接收到的所述网络数据存储至能够循环读写数据的循环缓冲区;
在所述循环缓冲区内基于所述传输协议解析所述网络数据得到多个分别对应所述多条命令的数据块;
根据所述多个数据块间的关系进行编号,并生成相应的所述字段;
基于编号后的所述多个数据块生成所述待发送数据链;
所述通信协议头中包括:协议标志,用于标识出所述多个数据块对应的所述传输协议的连接状态,不同的所述连接状态对应所述多条命令中的不同命令。
9.一种电子设备,包括:
第二接收器,其用于接收基于单向传输协议封装的数据链;
第二处理器,其用于根据所述单向传输协议的通信协议头中的多个字段识别、解析所述多个数据块,同时确定所述多个数据块的完整性;第二发送器,其用于根据解析结果将网络数据分别发送至对应的目标服务端;
其中,所述数据链由单向无反馈系统的外端机执行下述步骤形成:
将接收到的网络数据存储至能够循环读写数据的循环缓冲区;
在所述循环缓冲区内基于传输协议解析所述网络数据得到多个分别对应多条命令的数据块;
根据所述多个数据块间的关系进行编号,并生成相应的所述字段;
基于编号后的所述多个数据块生成待发送数据链;
所述通信协议头中包括:协议标志,用于标识出所述多个数据块对应的所述传输协议的连接状态,不同的所述连接状态对应所述多条命令中的不同命令。
CN202011262216.7A 2020-11-12 2020-11-12 一种数据传输方法及电子设备 Active CN112436998B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011262216.7A CN112436998B (zh) 2020-11-12 2020-11-12 一种数据传输方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011262216.7A CN112436998B (zh) 2020-11-12 2020-11-12 一种数据传输方法及电子设备

Publications (2)

Publication Number Publication Date
CN112436998A CN112436998A (zh) 2021-03-02
CN112436998B true CN112436998B (zh) 2023-05-02

Family

ID=74699904

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011262216.7A Active CN112436998B (zh) 2020-11-12 2020-11-12 一种数据传输方法及电子设备

Country Status (1)

Country Link
CN (1) CN112436998B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113225742B (zh) * 2021-04-01 2022-06-24 杭州魔点科技有限公司 无线门铃的配对方法和无线门铃系统
CN114448681A (zh) * 2022-01-04 2022-05-06 珠海横琴能源发展有限公司 一种能源站用户数据无线通信系统及实验平台
CN115277149B (zh) * 2022-07-21 2023-09-26 北京天融信网络安全技术有限公司 一种安全域通信方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905467A (zh) * 2014-04-22 2014-07-02 绍兴市公安局 图像数据网络单向物理信道高效安全导入系统及其应用
CN106788718A (zh) * 2017-03-17 2017-05-31 河南省中远科技有限公司 一种基于vlc的单向安全传输装置、系统及方法
CN106850188A (zh) * 2017-01-24 2017-06-13 中国航天系统科学与工程研究院 一种基于多路异构单向传输通道的数据传输系统
CN110557224A (zh) * 2019-08-06 2019-12-10 南方电网数字电网研究院有限公司 电力网络单向传输装置与系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8139581B1 (en) * 2007-04-19 2012-03-20 Owl Computing Technologies, Inc. Concurrent data transfer involving two or more transport layer protocols over a single one-way data link
CN104601575A (zh) * 2015-01-16 2015-05-06 网神信息技术(北京)股份有限公司 基于单向安全隔离网闸的数据传输方法和系统
CN105007275B (zh) * 2015-07-29 2018-06-01 浪潮(北京)电子信息产业有限公司 一种单向安全隔离数据传输方法和系统
CN109547162B (zh) * 2018-12-06 2021-06-29 普康迪(北京)数码科技股份有限公司 基于两套单向边界的数据通信方法
EP3713188B1 (de) * 2019-03-19 2024-06-19 Siemens Mobility GmbH Verfahren und übertragungsvorrichtung zur datenübertragung zwischen zwei netzwerken
CN110557378A (zh) * 2019-08-02 2019-12-10 西安飞机工业(集团)有限责任公司 一种网络边界安全隔离及信息单向传输系统及传输方法
CN111586041A (zh) * 2020-05-07 2020-08-25 英赛克科技(北京)有限公司 工业单向隔离网闸系统和数据传输方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905467A (zh) * 2014-04-22 2014-07-02 绍兴市公安局 图像数据网络单向物理信道高效安全导入系统及其应用
CN106850188A (zh) * 2017-01-24 2017-06-13 中国航天系统科学与工程研究院 一种基于多路异构单向传输通道的数据传输系统
CN106788718A (zh) * 2017-03-17 2017-05-31 河南省中远科技有限公司 一种基于vlc的单向安全传输装置、系统及方法
CN110557224A (zh) * 2019-08-06 2019-12-10 南方电网数字电网研究院有限公司 电力网络单向传输装置与系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王精丰.基于单向光闸的传输控制系统的设计与实现.《中国优秀硕士学位论文全文数据库信息科技辑》.2016,全文. *

Also Published As

Publication number Publication date
CN112436998A (zh) 2021-03-02

Similar Documents

Publication Publication Date Title
CN112436998B (zh) 一种数据传输方法及电子设备
CN113411313B (zh) 数据传输方法、装置和系统
US9130991B2 (en) Processing data packets in performance enhancing proxy (PEP) environment
US7969976B2 (en) Gateway apparatus, packet forwarding method, and program
US7027443B2 (en) Reassembly engines for multilink applications
US9356844B2 (en) Efficient application recognition in network traffic
CN111211980B (zh) 传输链路管理方法、装置、电子设备及存储介质
US9185033B2 (en) Communication path selection
CN113709057A (zh) 网络拥塞的通告方法、代理节点、网络节点及计算机设备
US7623450B2 (en) Methods and apparatus for improving security while transmitting a data packet
CN104967502A (zh) 数据发送方法和装置、数据接收方法和装置
CN113055127B (zh) 数据报文去重与传输方法、电子设备及存储介质
CN106470238A (zh) 应用于服务器负载均衡中的连接建立方法及装置
CN107231269B (zh) 一种集群精确限速方法和装置
US9106546B1 (en) Explicit congestion notification in mixed fabric network communications
US20150264141A1 (en) Communication apparatus, information processor, communication method, and computer-readable storage medium
CN111371887B (zh) 物联网日志传输方法、客户端、服务端、设备及存储介质
US8644308B2 (en) Network interface card device and method of processing traffic using the network interface card device
CN114172900A (zh) 基于单向网闸的文件传输方法及系统
US11196792B2 (en) Method, device and system for transmitting data
WO2002051077A1 (en) A method and system for distinguishing higher layer protocols of the internet traffic
CN105991353A (zh) 故障定位的方法和装置
US10033665B2 (en) System and a method of analysing a plurality of data packets
CN114422624A (zh) 数据接收方法
CN112769520B (zh) 一种基于ip分片的完整数据包留存方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant