CN111525972B - 一种基于二次多项式的时间同步方法 - Google Patents
一种基于二次多项式的时间同步方法 Download PDFInfo
- Publication number
- CN111525972B CN111525972B CN202010179554.8A CN202010179554A CN111525972B CN 111525972 B CN111525972 B CN 111525972B CN 202010179554 A CN202010179554 A CN 202010179554A CN 111525972 B CN111525972 B CN 111525972B
- Authority
- CN
- China
- Prior art keywords
- packet
- state
- client
- time
- server
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明公开了一种基于二次多项式的时间同步方法,包括客户端、服务器端两部分,具体实现方法如下:首先,本方法为客户端与服务器端定义若干种状态,在进行时间同步时,根据不同状态发送不同数据包;其次,客户端无法直接从服务器获取明文的时间数据,需要对时间数据进行特定公式的计算才可以获得时间信息;最终,客户端根据获得的时间信息与服务器端进行时间同步。本方法在时间同步过程中,不使用明文时间数据进行传输,增加了服务器端的信息安全,并且服务器端与客户端进行时间数据封装与解析时,使用二次多项式的方法,避免复杂的加密解密过程,降低服务器端与客户端的性能功耗。
Description
技术领域
本发明涉及计算机时间同步技术领域,具体是一种基于二次多项式的时间同步方法。
背景技术
目前,在计算机领域时间同步绝大部分使用网络时间协议(NTP),该协议可以提供高精准度的时间校正,但是该协议在时间同步过程中,使用明文数据进行传输校对,这会大大降低服务器安全性。
发明内容
为了克服上述现有技术的缺点,本发明提供一种基于二次多项式的时间同步方法,有效提高了在时间同步时服务器数据传输的安全性。
本发明是以如下技术方案实现的:一种基于二次多项式的时间同步方法,其特征在于:包括客户端、服务器端两部分;
首先,为客户端与服务器端定义若干种状态,在进行时间同步时,根据不同状态发送不同数据包;
其次,客户端无法直接从服务器获取明文的时间数据,需要对时间数据进行二次多项式计算可以获得时间信息;
最终,客户端根据获得的时间信息与服务器端进行时间同步。
优选的,客户端有5种状态,分别是:Down状态、Init状态、Active状态、Exchange状态、Full状态;具体每种状态设计如下:
(1)Down状态:客户端尚未开启的时间同步协议;
(2)Init状态:客户端开启的时间同步协议,在该状态下,客户端主动向服务器端发送时间同步请求;
(3)Active状态:当客户端在Init状态下,接收到服务器端返回的Ready包时,客户端从Init状态变为该状态,若接收到服务器端返回的Wait包,客户端状态不发生改变,仍为Init状态;
(4)Exchange状态:当客户端在Active状态下,向服务器端发送日期请求Request-Date包时,客户端变为该状态,在该状态下,客户端接收到服务器返回的Offer-Date包后,再次向服务器发送时间请求Request-Time包,服务器端接收到Request-Time包后,返回Offer-Time包给客户端;
(5)Full状态:当客户端成功获取到日期与时间数据后,通过特定公式计算出时间,并同步完成后,进入该状态,在该状态下,表示客户端已经与服务器时间同步完成,默认30分钟后客户端重新进入Init状态并重新进行时间同步。
优选的,服务器端有3种状态,分别是:Down状态、Ready状态、Exchange状态;具体每种状态设计如下:
(1)Down状态:服务器端尚未开启本发明的时间同步协议;
(2)Ready状态:服务器端开启本发明的时间同步协议,在该状态下,表示服务器端可以进行时间同步,若接收到客户端发送的Hello包,则会回复Ready包;
(3)Exchange状态:当服务器端在Ready状态下,回复过Ready包后,进入该状态,在该状态下,若服务器端收到客户端发送的Request-Date包与Request-Time包,会回复对应的Offer-Date包与Offer-Time包,若收到客户端发送的Hello包,则会回复Wait包,若对应一组Offer-Date包与Offer-Time包发送完毕后,则服务器端变回Ready状态。
优选的,各种状态中,其数据包格式如下:
(1)Hello包:数据包类型-固定值01代表本包类型、源IP地址、目标IP地址;
(2)Ready包:数据包类型-固定值02代表本包类型、状态类型(固定值ready)、源IP地址、目标IP地址;
(3)Wait包:数据包类型-固定值03代表本包类型、状态类型(固定值wait)、说明、源IP地址、目标IP地址;
(4)Request-Date包:数据包类型-固定值04代表本包类型、请求日期字段、源IP地址、目标IP地址;
(5)Offer-Date包:数据包类型-固定值05代表本包类型、源IP地址、目标IP地址、日期数据;
(6)Request-Time包:数据包类型-固定值06代表本包类型、请求时间字段、源IP地址、目标IP地址;
(7)Offer-Time包:数据包类型-固定值07代表本包类型、源IP地址、目标IP地址、时间数据。
优选的,日期同步计算方法如下:
服务器端利用二次多项式y=ax2+bx+c来进行对日期数据的封装,其中a表示年份,b表示月份,c表示日,分别随机3个x值,根据公式分别计算出y值,根据x值与y值以(x,y)的形式放入Offer-Date包中的日期数据字段返回给客户端,客户端接收到3组(x,y)后,分别将x值与y值带入公式中,通过计算,可以得到a、b、c,即年、月、日。
优选的,时间同步计算方法如下:
服务器端利用二次多项式y=mx2+nx+q来进行对时间数据的封装,其中m表示小时,n表示分钟,q表示秒,分别随机3个x值,根据公式分别计算出y值,根据x值与y值以(x,y)的形式放入Offer-Time包中的时间数据字段返回给客户端,客户端接收到3组(x,y)后,分别将x值与y值带入公式中,通过计算,可以得到m、n、q,即时、分、秒。
与已有技术方案相比,本发明的有益效果:
(1)在时间同步过程中,不使用明文时间数据进行传输,增加了服务器端的信息安全;
(2)服务器端与客户端进行时间数据封装与解析时,使用二次多项式的方法,避免复杂的加密解密过程,降低服务器端与客户端的性能功耗。
附图说明
下面结合附图对本发明作进一步说明。
图1为本发明的整体流程图;
图2为本发明中客户端状态示意图;
图3为本发明中服务器端状态示意图;
图4为本发明中Hello包格式示意图;
图5为本发明中Ready包格式示意图;
图6为本发明中Wait包格式示意图;
图7为本发明中Request-Date包格式示意图;
图8为本发明中Offer-Date包格式示意图;
图9为本发明中Request-Time包格式示意图;
图10为本发明中Offer-Time包格式示意图。
具体实施方式
如图1所示一种基于二次多项式的时间同步方法及其通信协议,包括客户端、服务器端两部分,具体实现方法如下:首先,本方法为客户端与服务器端定义若干种状态,在进行时间同步时,根据不同状态发送不同数据包。其次,客户端无法直接从服务器获取明文的时间数据,需要对时间数据进行特定公式的计算才可以获得时间信息。最终,客户端根据获得的时间信息与服务器端进行时间同步。
如图2所示,本发明中客户端有5种状态,客户端有5种状态,分别是:Down状态、Init状态、Active状态、Exchange状态、Full状态,具体每种状态设计如下:
(1)Down状态:客户端尚未开启的时间同步协议;
(2)Init状态:客户端开启的时间同步协议,在该状态下,客户端主动向服务器端发送时间同步请求;默认每10秒向服务器发送一次Hello包;
(3)Active状态:当客户端在Init状态下,接收到服务器端返回的Ready包时,客户端从Init状态变为该状态,若接收到服务器端返回的Wait包,客户端状态不发生改变,仍为Init状态;
(4)Exchange状态:当客户端在Active状态下,向服务器端发送日期请求Request-Date包时,客户端变为该状态,在该状态下,客户端接收到服务器返回的Offer-Date包后,再次向服务器发送时间请求Request-Time包,服务器端接收到Request-Time包后,返回Offer-Time包给客户端;
(5)Full状态:当客户端成功获取到日期与时间数据后,通过特定公式计算出时间,并同步完成后,进入该状态,在该状态下,表示客户端已经与服务器时间同步完成,默认30分钟后客户端重新进入Init状态并重新进行时间同步。如图3所示,服务器端有3种状态,分别是:Down状态、Ready状态、Exchange状态;具体每种状态设计如下:
(1)Down状态:服务器端尚未开启本发明的时间同步协议;
(2)Ready状态:服务器端开启本发明的时间同步协议,在该状态下,表示服务器端可以进行时间同步,若接收到客户端发送的Hello包,则会回复Ready包;
(3)Exchange状态:当服务器端在Ready状态下,回复过Ready包后,进入该状态,在该状态下,若服务器端收到客户端发送的Request-Date包与Request-Time包,会回复对应的Offer-Date包与Offer-Time包,若收到客户端发送的Hello包,则会回复Wait包,若对应一组Offer-Date包与Offer-Time包发送完毕后,则服务器端变回Ready状态。
如图4-10所示,本发明中上述状态中,数据包格式如下:
(1)Hello包:数据包类型(固定值01代表本包类型)、源IP地址、目标IP地址;
(2)Ready包:数据包类型(固定值02代表本包类型)、状态类型(固定值ready)、源IP地址、目标IP地址;
(3)Wait包:数据包类型(固定值03代表本包类型)、状态类型(固定值wait)、说明、源IP地址、目标IP地址;
(4)Request-Date包:数据包类型(固定值04代表本包类型)、请求日期字段、源IP地址、目标IP地址;
(5)Offer-Date包:数据包类型(固定值05代表本包类型)、源IP地址、目标IP地址、日期数据(3组(x,y)形式的数据);
(6)Request-Time包:数据包类型(固定值06代表本包类型)、请求时间字段、源IP地址、目标IP地址;
(7)Offer-Time包:数据包类型(固定值07代表本包类型)、源IP地址、目标IP地址、时间数据(3组(x,y)形式的数据)。
日期同步计算方法如下:
服务器端利用二次多项式y=ax2+bx+c来进行对日期数据的封装,其中a表示年份,b表示月份,c表示日,分别随机3个x值,根据公式分别计算出y值,根据x值与y值以(x,y)的形式放入Offer-Date包中的日期数据字段返回给客户端,客户端接收到3组(x,y)后,分别将x值与y值带入公式中,通过计算,可以得到a、b、c,即年、月、日。
例如,若日期为2019年12月25日,则公式为y=2019x2+12x+25,随机3个x值,分别为x=1、x=2、x=3,带入公式中计算,可得到y=2056、y=8125、y=18232,服务器端将x值与y值进行封装为(1,2056)(2,8125)(3,18232),放入Offer-Date包中的日期数据字段返回给客户端,客户端按照格式进行解析,将x值y值带入公式中,通过计算,可以得到a=2019、b=12、c=25,即得到日期数据2019年12月25日。
时间同步计算方法如下:
服务器端利用二次多项式y=mx2+nx+q来进行对时间数据的封装,其中m表示小时,n表示分钟,q表示秒,分别随机3个x值,根据公式分别计算出y值,根据x值与y值以(x,y)的形式放入Offer-Time包中的时间数据字段返回给客户端,客户端接收到3组(x,y)后,分别将x值与y值带入公式中,通过计算,可以得到m、n、q,即时、分、秒。
例如,若时间为13点36分18秒,则公式为y=13x2+36x+18,随机3个x值,分别为x=1、x=2、x=3,带入公式中计算,可得到y=67、y=142、y=243,服务器端将x值与y值进行封装为(1,67)(2,142)(3,243),放入Offer-Time包中的时间数据字段返回给客户端,客户端按照格式进行解析,将x值y值带入公式中,通过计算,可以得到m=13、n=36、q=18,即得到时间数据13点36分18秒。
由上述技术方案可知,本方法在时间同步过程中,不使用明文时间数据进行传输,增加了服务器端的信息安全,并且服务器端与客户端进行时间数据封装与解析时,使用二次多项式的方法,避免复杂的加密解密过程,降低服务器端与客户端的性能功耗。
Claims (5)
1.一种基于二次多项式的时间同步方法,其特征在于:包括客户端、服务器端两部分;
首先,为客户端与服务器端定义若干种状态,在进行时间同步时,根据不同状态发送不同数据包;
其次,客户端无法直接从服务器获取明文的时间数据,需要对时间数据进行二次多项式计算可以获得时间信息;
最终,客户端根据获得的时间信息与服务器端进行时间同步;
客户端有5种状态,分别是:Down状态、Init状态、Active状态、Exchange状态、Full状态;具体每种状态设计如下:
(1)Down状态:客户端尚未开启的时间同步协议;
(2)Init状态:客户端开启的时间同步协议,在该状态下,客户端主动向服务器端发送时间同步请求;
(3)Active状态:当客户端在Init状态下,接收到服务器端返回的Ready包时,客户端从Init状态变为该状态,若接收到服务器端返回的Wait包,客户端状态不发生改变,仍为Init状态;
(4)Exchange状态:当客户端在Active状态下,向服务器端发送日期请求Request-Date包时,客户端变为该状态,在该状态下,客户端接收到服务器返回的Offer-Date包后,再次向服务器发送时间请求Request-Time包,服务器端接收到Request-Time包后,返回Offer-Time包给客户端;
(5)Full状态:当客户端成功获取到日期与时间数据后,通过特定公式计算出时间,并同步完成后,进入该状态,在该状态下,表示客户端已经与服务器时间同步完成,默认30分钟后客户端重新进入Init状态并重新进行时间同步。
2.根据权利要求1所述的一种基于二次多项式的时间同步方法,其特征在于:服务器端有3种状态,分别是:Down状态、Ready状态、Exchange状态;具体每种状态设计如下:
(1)Down状态:服务器端尚未开启时间同步协议;
(2)Ready状态:服务器端开启时间同步协议,在该状态下,表示服务器端可以进行时间同步,若接收到客户端发送的Hello包,则会回复Ready包;
(3)Exchange状态:当服务器端在Ready状态下,回复过Ready包后,进入该状态,在该状态下,若服务器端收到客户端发送的Request-Date包与Request-Time包,会回复对应的Offer-Date包与Offer-Time包,若收到客户端发送的Hello包,则会回复Wait包,若对应一组Offer-Date包与Offer-Time包发送完毕后,则服务器端变回Ready状态。
3.根据权利要求2所述的一种基于二次多项式的时间同步方法,其特征在于:各种状态中,其数据包格式如下:
(1)Hello包:数据包类型-固定值01代表本包类型、源IP地址、目标IP地址;
(2)Ready包:数据包类型-固定值02代表本包类型、状态类型、源IP地址、目标IP地址;
(3)Wait包:数据包类型-固定值03代表本包类型、状态类型、说明、源IP地址、目标IP地址;
(4)Request-Date包:数据包类型-固定值04代表本包类型、请求日期字段、源IP地址、目标IP地址;
(5)Offer-Date包:数据包类型-固定值05代表本包类型、源IP地址、目标IP地址、日期数据;
(6)Request-Time包:数据包类型-固定值06代表本包类型、请求时间字段、源IP地址、目标IP地址;
(7)Offer-Time包:数据包类型-固定值07代表本包类型、源IP地址、目标IP地址、时间数据。
4.根据权利要求1所述的一种基于二次多项式的时间同步方法,其特征在于:日期同步计算方法如下:
服务器端利用二次多项式y=ax2+bx+c来进行对日期数据的封装,其中a表示年份,b表示月份,c表示日,分别随机3个x值,根据公式分别计算出y值,根据x值与y值以(x,y)的形式放入Offer-Date包中的日期数据字段返回给客户端,客户端接收到3组(x,y)后,分别将x值与y值带入公式中,通过计算,可以得到a、b、c,即年、月、日。
5.根据权利要求1所述的一种基于二次多项式的时间同步方法,其特征在于:时间同步计算方法如下:
服务器端利用二次多项式y=mx2+nx+q来进行对时间数据的封装,其中
m表示小时,n表示分钟,q表示秒,分别随机3个x值,根据公式分别计算出y值,根据x值与y值以(x,y)的形式放入Offer-Time包中的时间数据字段返回给客户端,客户端接收到3组(x,y)后,分别将x值与y值带入公式中,通过计算,可以得到m、n、q,即时、分、秒。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010179554.8A CN111525972B (zh) | 2020-03-16 | 2020-03-16 | 一种基于二次多项式的时间同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010179554.8A CN111525972B (zh) | 2020-03-16 | 2020-03-16 | 一种基于二次多项式的时间同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111525972A CN111525972A (zh) | 2020-08-11 |
CN111525972B true CN111525972B (zh) | 2022-12-30 |
Family
ID=71910375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010179554.8A Active CN111525972B (zh) | 2020-03-16 | 2020-03-16 | 一种基于二次多项式的时间同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111525972B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102487357A (zh) * | 2010-12-03 | 2012-06-06 | 杭州华三通信技术有限公司 | 用于主备倒换后持续转发的控制方法和控制装置 |
CN106160995B (zh) * | 2015-04-21 | 2019-04-16 | 郑珂威 | 基于系数映射变换的多项式完全同态加密方法及系统 |
CN107395312B (zh) * | 2017-09-19 | 2019-03-19 | 电信科学技术第五研究所有限公司 | 一种安全网络时间同步方法及装置 |
CN107888315B (zh) * | 2017-12-04 | 2019-06-18 | 清华大学 | 一种时间同步方法 |
-
2020
- 2020-03-16 CN CN202010179554.8A patent/CN111525972B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111525972A (zh) | 2020-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108965484B (zh) | 一种物联网数据的传输方法、系统及终端 | |
US20230273912A1 (en) | Data processing method and apparatus for blockchain network, computer device, and computer-readable storage medium | |
US5430709A (en) | Network monitoring method and apparatus | |
EP3211852A1 (en) | Ssh protocol-based session parsing method and system | |
CN111917727A (zh) | 基于5G和WiFi的电力物联网安全智能图传系统及方法 | |
WO2021022794A1 (zh) | 基于rdma的数据传输方法、网卡、服务器及介质 | |
CN111083161A (zh) | 数据传输的处理方法及装置、物联网设备 | |
WO2018107606A1 (zh) | 物联网中消息传递方法和装置 | |
WO2003055165A2 (en) | Simplified stateless tcp/ip protocol | |
CN110011892A (zh) | 一种虚拟专用网络的通信方法及相关装置 | |
CN114185582A (zh) | 基于quic协议的汽车软件在线升级系统及方法 | |
CN111525972B (zh) | 一种基于二次多项式的时间同步方法 | |
CN110868447B (zh) | 一种多火箭并发测控系统及其工作方法 | |
CN109286506B (zh) | 一种流量计费的方法、系统及装置 | |
CN112612816B (zh) | 以太坊联盟链的业务结果查询方法、装置、设备及介质 | |
WO2024022022A1 (zh) | 一种多网卡融合通信方法及通信系统 | |
CN112702338B (zh) | Ike报文获取方法及装置 | |
CN110912904B (zh) | 恶意设备识别方法、装置、存储介质和计算机设备 | |
CN113037834A (zh) | 基于分布式即时推送的Web页面状态更新方法及装置 | |
CN111030914B (zh) | 一种数据传输方法及数据传输系统 | |
CN106612307B (zh) | 一种永远在线业务的实现方法及装置 | |
CN114422227B (zh) | 一种基于网络安全的数据采集分析系统 | |
CN111901126B (zh) | 一种基于v2x协议栈网络层避免解密验签模块耗时的方法 | |
JP2002026927A (ja) | カプセリング方法及び装置並びにプログラム記録媒体 | |
CN116233060B (zh) | 报文信息隐藏方法、装置、终端设备以及存储介质 |
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 |