基于UDP的数据安全传输方法及系统与流程

未命名 07-14 阅读:103 评论:0

基于udp的数据安全传输方法及系统
技术领域
1.本发明属于数据传输技术领域,尤其涉及一种基于udp的数据安全传输方法及系统。


背景技术:

2.为了防止电网公司主站同可调节负荷资源两侧通信遭受网络攻击,常规方案是建立安全接入区,即通过建设独立区域,内部部署网络安全监测装置、数据采集服务器、数据采集交换机等设备来提升网络安全防护能力,但是常规方案中需要采购大量设备,增加项目成本,不利于项目推广。负荷调控系统规划部署时,通常需要划分电网公司内网系统和可调节负荷资源侧的外网系统。电网公司内网系统安全级别相对较高,主要用于负荷调控业务内部系统运行;可调节负荷资源侧的外网系统安全级别相对较低,主要用于与无线专/工网或互联网连接。因为电网公司主站同可调节负荷资源侧需要开展负荷调节策略数据交互,所以需要在确保安全的前提下进行主站同可调节负荷资源侧之间的数据传输。tcp协议是有连接的、可靠的,udp协议是无连接的、不可靠的。udp协议能实现单向数据传输,可以防止逆向攻击或数据泄露,但却无法处理数据传输时的可靠性。
3.电网公司主站同可调节负荷资源侧通过网络进行单向数据传输时,通常采用tcp协议或udp协议进行通信。tcp协议可以保证数据传输可靠性,但因为其有连接的特性,容易被人利用现有连接进行攻击,且可以利用tcp的双向报文进行数据的逆向回传。udp协议可以实现单向数据发送,但单向数据发送无法保证数据传输的可靠性,数据无法保证一定到达接收端。


技术实现要素:

4.为了解决现有技术存在的问题,本发明提供一种基于udp的数据安全传输方法,能够保证数据传输的可靠性。
5.本发明所要解决的技术问题是通过以下技术方案实现的:
6.第一方面,提供了一种基于udp的数据安全传输方法,包括:
7.向数据接收端发送探测报文,若在响应时间内收到探测应答报文,则向数据接收端发送数据报文,否则向数据接收端重新发送探测报文;
8.根据数据报文的发送情况向数据接收端发送数据查询报文,若在响应时间内收到查询应答报文,则认为数据发送完成,否则向数据接收端重新发送数据报文。
9.结合第一方面,进一步的,所述向数据接收端重新发送数据报文的次数达到三次后,则向数据接收端重新发送探测报文。
10.结合第一方面,进一步的,根据数据报文的发送情况向数据接收端发送数据查询报文包括:数据查询报文基于预设的窗口w和查询间隔g发送,当发送的数据报文达到w
×
g个时向数据接收端发送数据查询报文,在没有收到数据查询应答报文前最多只向数据接收端发送w个数据报文,若在响应时间t内没有收到查询应答报文,则向数据接收端重新发送
窗口内的数据报文。
11.结合第一方面,进一步的,在向数据接收端发送数据报文时给数据报文分配序列号,第一个分配序列号的报文的序列号是随机的,后续数据报文的序列号在前一个数据报文的基础上增加相同步长,序列号只在一个窗口中有效。
12.第二方面,提供了一种基于udp的数据安全传输系统,包括:
13.探测模块,用于向数据接收端发送探测报文,用于若在响应时间内收到探测应答报文,则向数据接收端发送数据报文,否则向数据接收端重新发送探测报文;
14.查询模块,用于向数据接收端发送数据查询报文,若在响应时间内收到查询应答报文,则认为数据发送完成,否则向数据接收端重新发送数据报文。
15.结合第二方面,进一步的,所述探测模块执行的操作包括:所述向数据接收端重新发送数据报文的次数达到三次后,则向数据接收端重新发送探测报文。
16.结合第二方面,进一步的,所述查询模块执行的操作包括:数据查询报文基于预设的窗口w和查询间隔g发送,当发送的报文达到w
×
g个时向数据接收端发送数据查询报文,在没有收到数据查询应答报文前最多只向数据接收端发送w个数据报文,若在响应时间t内没有收到查询应答报文,则向数据接收端重新发送窗口内的数据报文。
17.第三方面,提供了一种基于udp的数据安全传输方法,由数据接收端执行,包括:
18.在接收到来自数据发送端的探测报文后释放现有数据缓存,并向数据发送端返回探测应答报文,接收来自数据发送端的数据报文并将其缓存;
19.接收来自数据发送端的数据查询报文,若所查询的数据报文都已缓存,则向数据发送端返回查询应答报文。
20.第四方面,提供了一种基于udp的数据安全传输系统,包括:
21.探测应答模块,用于在接收到来自数据发送端的探测报文后释放现有数据缓存,并向数据发送端返回探测应答报文,接收来自数据发送端的数据报文并将其缓存;
22.查询应答模块,用于接收来自数据发送端的数据查询报文,若所查询的数据报文都已缓存,则向数据发送端返回查询应答报文。
23.第五方面,提供了一种基于udp的数据安全传输系统,包括:
24.数据发送端和数据接收端;所述数据发送端先向数据接收端发送探测报文,待数据发送端收到返回自数据接收端的探测应答报文后开始向数据接收端发送数据报文,若探测应答报文超时则向数据接收端重新发送探测报文;数据发送端在向数据接收端发送数据报文后向数据接收端发送查询报文,若在响应时间内收到返自数据接收端的查询应答报文,则认为所查询的数据发送完成,否则向数据接收端重新发送数据报文,若重发次数超过阀值,则数据接收端重新发送探测报文。
25.本发明有益效果:主要包括以下方面,与传统的udp相比,本发明通过增加了应答机制,保证了数据单向传输时的可靠性。
26.相较于tcp协议,由于本发明并未在两端之间建立实时的连接,有效的防止了通过连接进行的数据逆向回传,使得数据不会被篡改,保证了系统安全。
附图说明
27.图1为本发明中数据传输的流程图;
28.图2为本发明中数据报文的结构示意图;
29.图3为本发明中应答报文的结构示意图;
30.图4为本发明中窗口开头在sn=0时的示意图;
31.图5为本发明中sn=9传输完成时的窗口示意图;
32.图6为本发明中sn=120传输完成时的窗口示意图。
具体实施方式
33.为了进一步描述本发明的技术特点和效果,以下结合附图和具体实施方式对本发明做进一步描述。
34.实施例1
35.如图1-图6所示,本发明所提出的一种基于udp的数据安全传输方法,主要步骤如下:
36.步骤一、数据探测
37.在正式的数据报文发送前,数据发送端(以下简称发送端)需要对数据接收端(以下简称接收端)的状态进行确认,只有当其确认接收端可以接收数据报文后才会向其发送正式数据,为了确认其状态,发送端向接收端发送数据探测报文。
38.步骤二、数据发送
39.若发送端在响应时间t内收到接收端返回的探测应答报文,发送端则认为接收端可以接收正式数据,开始向接收端发送数据报文(数据报文的结构如图2所示),否则会继续向接收端发送探测报文对其状态进行探测。
40.步骤三、数据查询
41.在发送端向接收端发送数据报文后,需要确认接收端是否收到数据,所以需要进行数据查询。首先由发送端向接收端发送查询报文,查询报文通常都是和数据报文一起发送的,即查询报文包含在数据报文中,通过某个字段标识需要对发送的数据报文进行查询,只有当没有数据报文需要发送时才会单独发送查询报文。数据查询基于预设的窗口和查询间隔,例如窗口w设置为100,查询间隔g设置为10%,即每发送100
×
10%个数据报文后进行查询,在数据发送的过程中可以对数据报文进行序列号编码,窗口内首个报文的序列号通过随机的方式初始化,后续的数据报文的序列号依次加1,序列号只在一个窗口内有效。如图4所示,假设窗口内第一个数据报文的序列号初始化为sn=0,则其后续的数据报文的序列号依次为sn=1
……
sn=99,发送端从0开始发包,当发送到sn=9时达到间隔值,sn=9为数据查询包(同时也包含数据),查询的是sn=9,发送端记录查询状态sn=9并继续发后续数据报文,直到sn=99后不再发送(不得超过窗口)。接收端进行收包处理,如果数据报文存在乱序,则根据sn进行缓存处理。如图5所示,当接收端收到sn=9的数据查询报文,如果之前的数据报文都接收完成,则发送查询应答报文。当发送端收到查询应答报文则认为sn=9之前的数据报文均已传输完成,释放缓存并将窗口开始位置滑动到sn=10位置(此时可以发送到sn=109的数据报文),若发送端接收查询应答报文超时,即在响应时间t内(如3s)没有收到查询应答报文,清空查询状态,并从窗口开头处重新发送数据报文。若重新发送数据报文达到三次仍未成功,则不再继续发送数据报文,转而向接收端发送探测报文继续确认其状态。当窗口滑动到如图5所示位置时,假设当前已经发完sn=99的数据报文,因为已经
达到了查询间隔,因此sn=100发送的是数据查询报文,当发送端收到查询应答报文后,滑动窗口向后偏移至图6所示位置;假设发送端一共需要发送120个数据报文,如图6,当发送端收到sn=100的应答包时,如果已经发完sn=119的数据包,则等t超时后,发送端发送查询报文询sn=119,当收到接收端的查询应答报文时,至此120个数据包全部发送完成。
42.应答报文的结构如图3所示,探测应答报文和查询应答报文的格式相同,仅包含8个字节的报文头,内容固定,在保证可靠传输的同时有效的防止了逆向回传数据。
43.实施例2
44.本发明还提供了一种基于udp的数据安全传输系统,包括:
45.探测模块,用于向数据接收端发送探测报文,用于若在响应时间内收到探测应答报文,则向数据接收端发送数据报文,否则向数据接收端重新发送探测报文;
46.查询模块,用于根据数据报文的发送情况向数据接收端发送数据查询报文,若在响应时间内收到查询应答报文,则认为数据发送完成,否则向数据接收端重新发送数据报文。
47.实施例3
48.本发明还提供了一种基于udp的数据安全传输系统,包括:
49.探测应答模块,用于在接收到来自数据发送端的探测报文后释放现有数据缓存,并向数据发送端返回探测应答报文,接收来自数据发送端的数据报文并将其缓存;
50.查询应答模块,用于接收来自数据发送端的数据查询报文,若所查询的数据报文都已缓存,则向数据发送端返回查询应答报文。
51.实施例4
52.本发明还提供了一种基于udp的数据安全传输系统,主要包括数据发送端和数据接收端两个部分,从数据发送端向数据接收端传送数据,所述数据发送端先向数据接收端发送探测报文,待数据发送端收到返回自数据接收端的探测应答报文后开始向数据接收端发送数据报文,若探测应答报文超时则向数据接收端重新发送探测报文;数据发送端在向数据接收端发送数据报文后向数据接收端发送查询报文,若在响应时间内收到返自数据接收端的查询应答报文,则认为所查询的数据发送完成,否则向数据接收端重新发送数据报文,若重发次数超过阀值,则数据接收端重新发送探测报文。
53.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
54.本发明是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
55.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特
定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
56.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
57.最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

技术特征:
1.一种基于udp的数据安全传输方法,其特征在于,由数据发送端执行,包括:向数据接收端发送探测报文,若在响应时间内收到探测应答报文,则向数据接收端发送数据报文,否则向数据接收端重新发送探测报文;根据数据报文的发送情况向数据接收端发送数据查询报文,若在响应时间内收到查询应答报文,则认为数据发送完成,否则向数据接收端重新发送数据报文。2.根据权利要求1所述的一种基于udp的数据安全传输方法,其特征在于,所述向数据接收端重新发送数据报文的次数达到三次后,则向数据接收端重新发送探测报文。3.根据权利要求1所述的一种基于udp的数据安全传输方法,其特征在于,根据数据报文的发送情况向数据接收端发送数据查询报文包括:数据查询报文基于预设的窗口w和查询间隔g发送,当发送的数据报文达到w
×
g个时向数据接收端发送数据查询报文,在没有收到数据查询应答报文前最多只向数据接收端发送w个数据报文,若在响应时间t内没有收到查询应答报文,则向数据接收端重新发送窗口内的数据报文。4.根据权利要求3所述的一种基于udp的数据安全传输方法,其特征在于,在向数据接收端发送数据报文时给数据报文分配序列号,第一个分配序列号的报文的序列号是随机的,后续数据报文的序列号在前一个数据报文的基础上增加相同步长,序列号只在一个窗口中有效。5.一种基于udp的数据安全传输系统,其特征在于,包括:探测模块,用于向数据接收端发送探测报文,用于若在响应时间内收到探测应答报文,则向数据接收端发送数据报文,否则向数据接收端重新发送探测报文;查询模块,用于根据数据报文的发送情况向数据接收端发送数据查询报文,若在响应时间内收到查询应答报文,则认为数据发送完成,否则向数据接收端重新发送数据报文。6.根据权利要求5所述的一种基于udp的数据安全传输系统,其特征在于:所述探测模块执行的操作包括:所述向数据接收端重新发送数据报文的次数达到三次后,则向数据接收端重新发送探测报文。7.根据权利要求5所述的一种基于udp的数据安全传输系统,其特征在于,所述查询模块执行的操作包括:数据查询报文基于预设的窗口w和查询间隔g发送,当发送的数据报文达到w
×
g个时向数据接收端发送数据查询报文,在没有收到数据查询应答报文前最多只向数据接收端发送w个数据报文,若在响应时间t内没有收到查询应答报文,则向数据接收端重新发送窗口内的数据报文。8.一种基于udp的数据安全传输方法,其特征在于,由数据接收端执行,包括:在接收到来自数据发送端的探测报文后释放现有数据缓存,并向数据发送端返回探测应答报文,接收来自数据发送端的数据报文并将其缓存;接收来自数据发送端的数据查询报文,若所查询的数据报文都已缓存,则向数据发送端返回查询应答报文。9.一种基于udp的数据安全传输系统,其特征在于,包括:探测应答模块,用于在接收到来自数据发送端的探测报文后释放现有数据缓存,并向数据发送端返回探测应答报文,接收来自数据发送端的数据报文并将其缓存;查询应答模块,用于接收来自数据发送端的数据查询报文,若所查询的数据报文都已缓存,则向数据发送端返回查询应答报文。
10.一种基于udp的数据安全传输系统,其特征在于,包括:数据发送端和数据接收端;所述数据发送端先向数据接收端发送探测报文,待数据发送端收到返回自数据接收端的探测应答报文后开始向数据接收端发送数据报文,若探测应答报文超时则向数据接收端重新发送探测报文;数据发送端在向数据接收端发送数据报文后向数据接收端发送查询报文,若在响应时间内收到返自数据接收端的查询应答报文,则认为所查询的数据发送完成,否则向数据接收端重新发送数据报文,若重发次数超过阀值,则数据接收端重新发送探测报文。

技术总结
本发明公开了一种基于UDP的数据安全传输方法,包括:向数据接收端发送探测报文,若在响应时间内收到探测应答报文,则向数据接收端发送数据报文,否则向数据接收端重新发送探测报文;向数据接收端发送数据查询报文,若在响应时间内收到查询应答报文,则认为数据发送完成,否则向数据接收端重新发送数据报文,与传统的UDP相比,本发明通过增加了应答机制,保证了数据单向传输时的可靠性。相较于TCP协议,由于本发明并未在两端之间建立实时的连接,有效的防止了通过连接进行的数据逆向回传,使得数据不会被篡改,保证了系统安全。保证了系统安全。保证了系统安全。


技术研发人员:马力 冯思博 王鑫 徐萌 张勇 宁剑 宁志言 李航 李慧勋 白晶 焦建林 田家英 宫成 肖飞 董昱 严亚勤 冷喜武 高英健 王丹 计士禹 刘锦利 张志军 赵航
受保护的技术使用者:国网电力科学研究院有限公司 北京科东电力控制系统有限责任公司 国网北京市电力公司 国网上海市电力公司 国家电网有限公司
技术研发日:2021.12.28
技术公布日:2023/7/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐