时间计算机网络论文基于CS的时间同步服务器的实现

cs服务器  时间:2021-01-30  阅读:()

武汉理工大学

计算机网络课程论文题 目 基于C/S的时间同步服务器的实现

作 者

学 院

专 业

学 号

指 导

教 师 李方敏

二〇一六年四月十一日

武汉理工大学信息工程学院课程论文诚信声明

本人声明所呈交的课程论文是本人在指导老师的指导下独立开展工作所取得的成果成果不存在知识产权争议除文中已经注明引用的内容外本课程论文不含任何其他个人或集体已经发表或创作过的作品成果。对本文工作做出重要贡献的个人和集体均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。

本科课程论文作者签名

二〇一六年四月十一日

摘要

计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备通过通信线路连接起来在网络操作系统网络管理软件及网络通信协议的管理和协调下实现资源共享和信息传递的计算机系统。本次计算机网络的论文题目为基于C/S的时间同步服务器的实现。时间服务器是在局域网中作为发布统一时间的服务器它利用电脑网络把时间信息传递给用户。参照现有的时间服务器的原理以及效果实现一个时间服务器的服务端和客户端。服务器端开放指定的端口发布时间到网络中其他客户端从网络中获取该时间并将本地时间与之同步。本次设计以Visual Studio 2010为开发平台从选题背景方案论证过程论述结果分析和结论总结五方面来论述本次设计的观点的过程。

关键词时间同步 客户端 服务端 TCP/I P

目录

一选题背景. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

1.1 问题提出. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

1.2软件使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

1.3预期目标. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2

二方案论证. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2

三过程论述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3

3.1相关原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3

3.2设计过程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4

3.3算法流程图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5

四结果分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

五结论总结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8

参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10

附录一程序源代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11

致谢. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15

课程论文成绩评定表. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16

计算机网络论文《基于C/S的时间同步服务器的实现》

一选题背景

1.1问题提出

对于一个由计算机组成的系统中其中各个节点计算机都有自己的额系统时间计算机网络控制系统中各子系统时间段额一致性是网络控制系统中的核心问题之一它的准确性对网络控制系统的实时性和准确性有重大影响。但是由于在运行中受到设计缺陷、环境温度变化、电磁干扰、负载等多种因素的影响计算机的时钟大多是不精确的随着时间的推移这种误差逐渐累积时间的偏差将越来越大。在一些重要的应用中(如实时数据采集、监控、工业控制网络以及电信等) 时间的准确性要求更为严格和苛刻因此时间同步变得尤为重要并且实现一个精确地系统时间变得更加重要。时间同步的实现方法常见的有硬件和软件的方法硬件同步是通过各仿真节点都连入专用的时钟信号线来完成的它的精度相对来说比较高但成本也高操作相对比较复杂软件同步方法是完全利用软件来完成分布式系统中各时钟的同步。对于软件同步的方法目前常用的时间协议有NTP协议、 SNTP协议以及PTP协议等。对于这些时间同步协议的一般实现方法是通过计算机网络等方式通讯实现的但是由于计算机网络的一些潜在的威胁如偶然或恶意的原因遭到破环、更改、泄露是网络系统不能连续可靠性的正常运行从而导致时间同步系统不能正常的运转。由于资源和时间有限本次基于C/S的时间同步服务器的实现先采用软件的方法来实现。

1.2软件使用

基于C/S的时间同步服务器的实现运用Visual Studio2010来实现。VisualStudio 2010是微软公司推出的开发环境是目前最流行的Windows平台应用程序开发环境。Visual Studio 2010的C++编译器现在支持lambda表达式、右值引用 rvaluereferences 、编译时断言compi le- timeassertions 、表达式类型发现expressiontypediscovery和C++0X标准的自动类型deduction。VisualStudio 2010的C++编译器有一种模式可以向后兼容Visual Studio 2008的工具和类库。这会给开发者的个人升级提供很大的方便即使团队中有其他人还不想切换到Visual Studio 2010。在Visual Studio的任何版本中都可以创建和使用文本模板无需任何其他组件。在引入了预处理文本模板的Visual Studio 2010中从应用程序生成任何类型的文本文件已变得更加容易。还通过与生成系统的更好集成改进了对代码集成的支持从而使生成的源代码始终会在对源模型进行任何更改后保持更新。Visual Studio 2010是一个功能强大的可视化软件开发工具。Visual Studio 2010对网络编程有socket支持WinInet支持MAPI和

1

计算机网络论文《基于C/S的时间同步服务器的实现》

ISAPI支持等。其中Windows Sockets API是TCP/IP网络环境里也是Internet上进行开发最为通用的API。在TCP/IP网络通信环境下Socket数据传输是一种特殊的I/O它也相当于一种文件描述符具有一个类似于打开文件的函数调用Socket()。 Socket是面向客户/服务器模型而设计的针对客户和服务器程序提供不同的Socket系统调用。客户随机申请一个Socket相当于一个想打电话的人可以在任何一台入网电话上拨号呼叫 系统为之分配一个Socket号服务器拥有全局公认的Socket 任何客户都可以向它发出连接请求和信息请求相当于一个被呼叫的电话拥有一个呼叫方知道的电话号码。Socket利用客户/服务器模式巧妙地解决了进程之间建立通信连接的问题。服务器Socket半相关为全局所公认非常重要。读者不妨考虑一下两个完全随机的用户进程之间如何建立通信假如通信双方没有任何一方的Socket固定就好比打电话的双方彼此不知道对方的电话号码要通话是不可能的。

1.3预期目标

本次设计以Visual Studio 2010为开发平台基于C/S的时间同步服务器的实现。时间服务器是在局域网中作为发布统一时间的服务器它利用电脑网络把时间信息传递给用户。参照现有的时间服务器的原理以及效果实现一个时间服务器的服务端和客户端。服务器端开放指定的端口发布时间到网络中其他客户端从网络中获取该时间并将本地时间与之同步。给出相关的原理、设计思想和设计过程画出时间同步服务器端与客户端的算法流程图实现服务器端和客户端并给出使用说明测试服务器端与客户端写出测试结果。

二方案论证

Cl ient/Server结构的关系数据库系统因为具有高性能、 高效率、开放、易扩充、可伸缩等优越的特性,所以得到了广泛的应用。 在Cl ient/Server结构的关系数据库应用系统中,不乏这样的应用:要求用户在客户端中插入、修改数据时,要在数据库的相应表中记录这些数据插入、修改的时间以供统计分析使用。为了保证今后按时间进行的统计分析的准确性,各个客户端向数据库服务器DBMS提供的必须是统一的时间。硬件同步是通过各仿真节点都连入专用的时钟信号线来完成的它的精度相对来说比较高但成本也高操作相对比较复杂软件同步方法是完全利用软件来完成分布式系统中各时钟的同步。软件同步相对于硬件同步来说简单、快捷、方便、易用适合我们学生党来做计算机网络的相关研究效果比较好所以此次试验采用Visual Studio 2010为平台基于C/S的时间同步服务器的实现。

2

计算机网络论文《基于C/S的时间同步服务器的实现》

三过程论述

3.1相关原理

根据连接启动的方式以及本地套接字要连接的目标套接字之间的连接过程可以分为三个步骤服务器监听客户端请求连接确认。

 1 服务器监听是服务器端套接字并不定位具体的客户端套接字而是处于等待连接的状态实时监控网络状态。

2客户端请求是指由客户端的套接字提出连接请求要连接的目标是服务器端的套接字。为此客户端的套接字必须首先描述它要连接的服务器的套接字指出服务器端套接字的地址和端口号然后就向服务器端套接字提出连接请求。

3连接确认是指当服务器端套接字监听到或者说接收到客户端套接字的连接请求它就响应客户端套接字的请求建立一个新的线程把服务器端套接字的描述发给客户端一旦客户端确认了此描述连接就建立好了。而服务器端套接字继续处于监听状态继续接收其他客户端套接字的连接请求。

NTP的基本工作原理如下图所示。Device A和Device B通过网络相连它们都有自己独立的系统时钟需要通过NTP实现各自系统时钟的自动同步。为便于理解作如下假设

 在Device A和Device B的系统时钟同步之前Device A的时钟设定为

10:00:00amDevice B的时钟设定为1 1 :00:00am。

 Device B作为NTP时间服务器即Device A将使自己的时钟与Device B

的时钟同步。

 NTP报文在Device A和Device B之间单向传输所需要的时间为1秒。

3

计算机网络论文《基于C/S的时间同步服务器的实现》

图1 NTP协议工作原理图

 Device A发送一个NTP报文给Device B该报文带有它离开Device A时的时间戳该时间戳为10:00:00amT1 。

 当此NTP报文到达Device B时Device B加上自己的时间戳该时间戳为

1 1 :00:01amT2。

 当此NTP报文离开Device B时Device B再加上自己的时间戳该时间戳为1 1 :00:02amT3。

 当Device A接收到该响应报文时Device A的本地时间为 10:00:03amT4。

至此Device A已经拥有足够的信息来计算两个重要的参数

 NTP报文的往返时延Delay=T4-T1  - T3-T2=2秒。

 Device A相对Device B的时间差offset= T2-T1 +T3-T4 /2=1小时。

3.2设计过程

在局域网中有很多应用软件为了协同工作需要保证客户机上时间统一方法是客户机从一个时间相对正确的服务器读取时间以此来校正本地时间。按照C/S模型建立一个时间同步服务器此系统分为服务器端Server 和客户端Cl ient  分别对服务器端和客户端进行算法设计和软件编程使其各自都能进

4

计算机网络论文《基于C/S的时间同步服务器的实现》

行编译能够同时运行使其服务器端Server 按照时间协议的要求进行正常运转向客户端Cl ient 发送时间同步请求此时客户端Cl ient 正在等待服务器端Server 发来时间同步请求待客户端Cl ient 收到请求之后按照相应的设计的算法进行时间同步。这就达到了时间同步的目的。

3.3算法流程图

5

日本CN2、香港CTG(150元/月) E5 2650 16G内存 20M CN2带宽 1T硬盘

提速啦简单介绍下提速啦 是成立于2012年的IDC老兵 长期以来是很多入门级IDC用户的必选商家 便宜 稳定 廉价 是你创业分销的不二之选,目前市场上很多的商家都是从提速啦拿货然后去分销的。提速啦最新物理机活动 爆炸便宜的香港CN2物理服务器 和 日本CN2物理服务器香港CTG E5 2650 16G内存 20M CN2带宽 1T硬盘 150元/月日本CN2 E5 2650 16G内存 20M C...

HyperVMart:加拿大vps,2核/3G/25G NVMe/G口不限流量/季付$10.97,免费Windows系统

hypervmart怎么样?hypervmart是一家成立了很多年的英国主机商家,上一次分享他家还是在2年前,商家销售虚拟主机、独立服务器和VPS,VPS采用Hyper-V虚拟架构,这一点从他家的域名上也可以看出来。目前商家针对VPS有一个75折的优惠,而且VPS显示的地区为加拿大,但是商家提供的测速地址为荷兰和英国,他家的优势就是给到G口不限流量,硬盘为NVMe固态硬盘,这个配置用来跑跑数据非常...

Letbox(35美元/年),美国洛杉矶VPS终身7折

Letbox 云服务商在前面的文章中其实也有多次介绍,这个服务商其实也算是比较老牌的海外服务商,几年前我也一直有使用过他们家的VPS主机,早年那时候低至年付15-35美元左右的VPS算式比较稀缺的。后来由于服务商确实比较多,而且也没有太多的网站需要用到,所以就没有续费,最近这个服务商好像有点活动就躁动的发布希望引起他人注意。这不有看到所谓的家中有喜事,应该是团队中有生宝宝了,所以也有借此来发布一些...

cs服务器为你推荐
滚筒洗衣机和波轮洗衣机哪个好滚筒洗衣机和波轮洗衣机的哪个好迈腾和帕萨特哪个好新帕萨特和新迈腾哪个好?绝地求生加速器哪个好现在绝地求生哪个加速器好点?车险哪个好私家车买什么保险好清理手机垃圾软件哪个好什么手机清理软件最好?美国国际集团全球500强有哪些企业是美国的美国国际集团世界五百强企业前五十名是哪些?美国国际东西方大学美国大学一年学费是多少?yy空间登录怎么进入YY音乐空间考生个人空间登录湖南高等教育自学考试 考生个人空间登录密码忘记了怎么办
美国vps主机 免费网站空间申请 云南服务器租用 中文域名查询 免费com域名申请 美国php主机 免费博客空间 地址大全 免费ftp空间申请 dd444 网站cdn加速 789电视 酷番云 raid10 帽子云排名 supercache 黑科云 电信主机托管 碳云 qq部落18-3 更多