当前位置: 首页 > 专利查询>之江实验室专利>正文

一种保证冗余执行体TCP连接归一化的装置及方法制造方法及图纸

技术编号:25446383 阅读:63 留言:0更新日期:2020-08-28 22:32
本发明专利技术公开一种保证冗余执行体TCP连接归一化的装置及方法,该装置包括同步运行的若干个冗余等价执行体,以及冗余控制器、输入/输出代理;冗余等价执行体,用于运行各类应用程序,并将各类应用程序的运算结果输出至输入/输出代理;输入/输出代理,用于拆分TCP报文,并根据冗余控制器的处理结果重组TCP报文,包括将相应的外部输入重组后转发至对应的冗余等价执行体,或将对应冗余等价执行体的输出重组后作为装置的最终输出;冗余控制器,用于对冗余等价执行体的输出和外部输入的数据进行运算、处理,并将处理结果输出至输入/输出代理。本发明专利技术有效提升了系统的安全性和可靠性。

【技术实现步骤摘要】
一种保证冗余执行体TCP连接归一化的装置及方法
本专利技术涉及TCP通信领域,尤其涉及一种保证冗余执行体TCP连接归一化的装置及方法。
技术介绍
TCP(TransmissionControlProtocol传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,为了保证通信的可靠性,两个使用TCP的应用(通常是一个客户端和一个服务器)在彼此交换数据包之前必须先建立TCP连接,并且为每个传输数据报文编制相应的序号,以保证数据可以在接收端按序接收。TCP连接建立过程需要经过三次握手如附图1所示,由客户端发起连接并发送SYN报文(seq=x)到服务器,服务器收到SYN报文后必须返回一个确认ACK(ack=x+1,seq=y),客户端收到服务器的ACK后再向服务器返回一个确认ACK(ack=y+1),随后客户端与服务器根据各自的产生的序号进行数据交互,每个数据报文的序号根据所传输数据的长度依次递增。数据交互结束时同样需要四次挥手结束TCP连接如附图2所示,由客户端(或服务器)发出连接释放报文FIN(seq=u),服务器收到FIN后回复ACK(ack=u+1,seq=v),同时发送FIN(seq=w,ack=u+1),客户端接收到服务器返回信息后再回复ACK(seq=u+1,ack=w+1),至此结束TCP连接。为了提高系统的安全性和可靠性,许多系统采用两套或两套以上独立配置的软硬件等构成冗余设计,包括同构冗余设计和异构冗余设计。同构冗余设计是使冗余空间内的所有软硬件具有完全相同的功能以及相同或非常相似的性能,从而可以根据物理性随机故障的时空性质,在软硬件设计缺陷引发的随机性故障条件下解决容错、异常感知等问题,保证系统的可靠性。异构冗余设计则凭借同一问题通常有多种解决方法的思想,通过解决同一问题在实现功能思想、方法、工具、条件等的相异性,使得同一时间、同一条件、各冗余执行体发生共模故障的情况下,依靠执行体间的对比裁决或交叉研判等机制来发现或感知故障,从而保证系统的安全性。在冗余系统中采用面向连接的TCP通信连接存在以下难点:在建立TCP连接时,冗余系统中的每个冗余等价执行体都需要建立TCP连接,此过程会导致远端设备同时感知到多个(与等价冗余执行体的数量相等)来自同一设备的TCP连接请求或响应,从而导致TCP连接失败;此外不同冗余等价执行体在TCP三次握手、数据传输和四次挥手过程所产生的随机序号各不相同,因此需要采用归一化的方法使得所有冗余等价执行体能够共用同一条TCP连接,从而保证TCP协议的正常运行。
技术实现思路
针对现有技术的不足,本专利技术提出一种保证冗余执行体TCP连接归一化的装置及方法,能够有效解决冗余系统建立TCP连接时的归一化问题,同时提高通信系统的可靠性和安全性。本专利技术的目的通过如下的技术方案来实现:一种保证冗余执行体TCP连接归一化的装置,该装置包括同步运行的若干个冗余等价执行体,以及冗余控制器、输入/输出代理;冗余等价执行体,用于运行各类应用程序,并将各类应用程序的运算结果输出至输入/输出代理;输入/输出代理,用于拆分TCP报文,并根据冗余控制器的处理结果重组TCP报文,包括将相应的外部输入重组后转发至对应的冗余等价执行体,或将对应冗余等价执行体的输出重组后作为装置的最终输出;冗余控制器,用于对冗余等价执行体的输出和外部输入的数据进行运算、处理,并将处理结果输出至输入/输出代理。进一步地,所述的冗余控制器包括裁决处理模块、参数存储模块和可逆运算模块,其中,裁决处理模块,用于对所有冗余等价执行体产生的传输数据进行对比、研判、裁决,并将处理结果发送至输入/输出代理,控制输入/输出代理,使其选择对应冗余等价执行体的传输数据进行重组后,作为对外输出;对来自输入/输出代理的外部数据进行分析、处理,并将处理结果返回输入/输出代理,控制输入/输出代理将相应数据进行重组后,发送至对应的冗余等价执行体;参数存储模块,用于在TCP三次握手、数据传输和四次挥手过程中存储对应冗余等价执行体发送或接收报文的序号、确认号,以及所有冗余等价执行体经过裁决处理模块产生的裁决参数;可逆运算模块,用于对所有冗余等价执行体的输入与输出数据进行归一化运算。进一步地,所述的输入/输出代理包括数据包拆分模块和数据包重组模块,其中,数据包拆分模块,用于对TCP报文进行拆分,并发送给冗余控制器;数据包重组模块,用于根据冗余控制器的处理结果对拆分后的报文进行重组形成新的TCP报文。进一步地,所述的数据包拆分模块对TCP报文拆分后提取报文中的序号和确认号,所述的数据包重组模块对拆分后的报文进行重组形成新的TCP报文时添加序号、确认号和检验和。一种保证冗余执行体TCP连接归一化的方法,该方法基于上述的保证冗余执行体TCP连接归一化的装置来实现,该装置作为客户端时,冗余执行体TCP连接归一化的过程包括三次握手、数据传输和四次挥手三个阶段;其中,该装置与远端服务器的三次握手的归一化过程如下:A1:若干个冗余等价执行体同步发起建立TCP连接请求至输入/输出代理,输入/输出代理将TCP连接请求报文进行拆分并获得各冗余执行体对应的报文序号seq,随后将所有序号发送至冗余控制器;A2:冗余控制器通过可逆运算模块计算出归一化的报文序号seq_unif,并将其返回给输入/输出代理,同时保存所有冗余等价执行体对应的报文序号seq;A3:输入/输出代理利用归一化后的报文序号seq_unif重组新的TCP报文,并发送给远端服务器;A4:输入/输出代理接收到远端设备返回的TCP确认报文后先对报文进行拆包,随后将拆分获得的确认号ack发送至冗余控制器;A5:冗余控制器利用ack和存储的所有冗余等价执行体的序号seq,计算出所有冗余等价执行体对应的确认号ack_new,随后将所有ack_new发送至输入/输出代理,并保存ack记为ack_unif;A6:输入/输出代理利用对应的ack_new为所有冗余等价执行体重组TCP确认报文,随后将重组后的新确认报文发送至对应的冗余等价执行体;A7:冗余等价执行体同步返回确认报文至输入/输出代理,输入/输出代理将所有确认报文进行拆包并获得各冗余等价执行体对应的seq、ack及其他数据,随后将对应数据发送至冗余控制器;A8:冗余控制器判断各冗余等价执行体seq、ack及其他数据是否正确,若至少存在一个冗余等价执行体对应参数正确,则产生归一化的seq_unif,即seq_unif=ack_unif,并将seq_unif、ack和裁决结果一起发送至输入/输出代理,输入/输出代理根据seq_unif、ack和裁决结果重组TCP确认报文并发送给远端TCP连接设备,随后向错误冗余等价执行体发送错误信息;若所有执行体对应参数都错误,则TCP连接建立过程失败。所述的数据传输过程在成功完成三次握手的基础上进行,其归一化传输包括如下步骤:B1:冗余等价执行体同步本文档来自技高网
...

【技术保护点】
1.一种保证冗余执行体TCP连接归一化的装置,其特征在于,该装置包括同步运行的若干个冗余等价执行体,以及冗余控制器、输入/输出代理;/n冗余等价执行体,用于运行各类应用程序,并将各类应用程序的运算结果输出至输入/输出代理;/n输入/输出代理,用于拆分TCP报文,并根据冗余控制器的处理结果重组TCP报文,包括将相应的外部输入重组后转发至对应的冗余等价执行体,或将对应冗余等价执行体的输出重组后作为装置的最终输出;/n冗余控制器,用于对冗余等价执行体的输出和外部输入的数据进行运算、处理,并将处理结果输出至输入/输出代理。/n

【技术特征摘要】
1.一种保证冗余执行体TCP连接归一化的装置,其特征在于,该装置包括同步运行的若干个冗余等价执行体,以及冗余控制器、输入/输出代理;
冗余等价执行体,用于运行各类应用程序,并将各类应用程序的运算结果输出至输入/输出代理;
输入/输出代理,用于拆分TCP报文,并根据冗余控制器的处理结果重组TCP报文,包括将相应的外部输入重组后转发至对应的冗余等价执行体,或将对应冗余等价执行体的输出重组后作为装置的最终输出;
冗余控制器,用于对冗余等价执行体的输出和外部输入的数据进行运算、处理,并将处理结果输出至输入/输出代理。


2.根据权利要求1所述的保证冗余执行体TCP连接归一化的装置,其特征在于,所述的冗余控制器包括裁决处理模块、参数存储模块和可逆运算模块,其中,
裁决处理模块,用于对所有冗余等价执行体产生的传输数据进行对比、研判、裁决,并将处理结果发送至输入/输出代理,控制输入/输出代理,使其选择对应冗余等价执行体的传输数据进行重组后,作为对外输出;对来自输入/输出代理的外部数据进行分析、处理,并将处理结果返回输入/输出代理,控制输入/输出代理将相应数据进行重组后,发送至对应的冗余等价执行体;
参数存储模块,用于在TCP三次握手、数据传输和四次挥手过程中存储对应冗余等价执行体发送或接收报文的序号、确认号,以及所有冗余等价执行体经过裁决处理模块产生的裁决参数;
可逆运算模块,用于对所有冗余等价执行体的输入与输出数据进行归一化运算。


3.根据权利要求2所述的保证冗余执行体TCP连接归一化的装置,其特征在于,所述的输入/输出代理包括数据包拆分模块和数据包重组模块,其中,
数据包拆分模块,用于对TCP报文进行拆分,并发送给冗余控制器;
数据包重组模块,用于根据冗余控制器的处理结果对拆分后的报文进行重组形成新的TCP报文。


4.根据权利要求3所述的保证冗余执行体TCP连接归一化的装置,其特征在于,所述的数据包拆分模块对TCP报文拆分后提取报文中的序号和确认号,所述的数据包重组模块对拆分后的报文进行重组形成新的TCP报文时添加序号、确认号和检验和。


5.一种保证冗余执行体TCP连接归一化的方法,其特征在于,该方法基于权利要求4的保证冗余执行体TCP连接归一化的装置来实现,该装置作为客户端时,冗余执行体TCP连接归一化的过程包括三次握手、数据传输和四次挥手三个阶段;
其中,该装置与远端服务器的三次握手的归一化过程如下:
A1:若干个冗余等价执行体同步发起建立TCP连接请求至输入/输出代理,输入/输出代理将TCP连接请求报文进行拆分并获得各冗余执行体对应的报文序号seq,随后将所有序号发送至冗余控制器;
A2:冗余控制器通过可逆运算模块计算出归一化的报文序号seq_unif,并将其返回给输入/输出代理,同时保存所有冗余等价执行体对应的报文序号seq;
A3:输入/输出代理利用归一化后的报文序号seq_unif重组新的TCP报文,并发送给远端服务器;
A4:输入/输出代理接收到远端设备返回的TCP确认报文后先对报文进行拆包,随后将拆分获得的确认号ack发送至冗余控制器;
A5:冗余控制器利用ack和存储的所有冗余等价执行体的序号seq,计算出所有冗余等价执行体对应的确认号ack_new,随后将所有ack_new发送至输入/输出代理,并保存ack记为ack_unif;
A6:输入/输出代理利用对应的ack_new为所有冗余等价执行体重组TCP确认报文,随后将重组后的新确认报文发送至对应的冗余等价执行体;
A7:冗余等价执行体同步返回确认报文至输入/输出代理,输入/输出代理将所有确认报文进行拆包并获得各冗余等价执行体对应的seq、ack及其他数据,随后将对应数据发送至冗余控制器;
A8:冗余控制器判断各冗余等价执行体seq、ack及其他数据是否正确,若至少存在一个冗余等价执行体对应参数正确,则产生归一化的seq_unif,即seq_unif=ack_unif,并将seq_unif、ack和裁决结果一起发送至输入/输出代理,输入/输出代理根据seq_unif、ack和裁决结果重组TCP确认报文并发送给远端TCP连接设备,随后向错误冗余等价执行体发送错误信息;若所有执行体对应参数都错误,则TCP连接建立过程失败。
所述的数据传输过程在成功完成三次握手的基础上进行,其归一化传输包括如下步骤:
B1:冗余等价执行体同步发送数据长度为L字节的报文至输入/输出代理,输入/输出代理将TCP数据报文进行拆分并获得各冗余等价执行体此时对应的报文序号seq,随后将所有序号发送至冗余控制器;
B2:冗余控制器判断各冗余等价执行体的seq...

【专利技术属性】
技术研发人员:骆汉光王延松朱明星
申请(专利权)人:之江实验室
类型:发明
国别省市:浙江;33

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

1