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

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

武汉理工大学

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

作 者

学 院

专 业

学 号

指 导

教 师 李方敏

二〇一六年四月十一日

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

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

本科课程论文作者签名

二〇一六年四月十一日

摘要

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

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

目录

一选题背景. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

1.1 问题提出. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

1.2软件使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

1.3预期目标. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

二方案论证. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

三过程论述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

3.1相关原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

3.2设计过程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

3.3算法流程图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

四结果分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

五结论总结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

附录一程序源代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

致谢. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

课程论文成绩评定表. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

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

一选题背景

1.1问题提出

对于一个由计算机组成的系统中其中各个节点计算机都有自己的额

系统时间计算机网络控制系统中各子系统时间段额一致性是网络控制系统中的核心问题之一 它的准确性对网络控制系统的实时性和准确性有重大影响。但是由于在运行中受到设计缺陷、环境温度变化、电磁干扰、负载等多种因素的影响 计算机的时钟大多是不精确的随着时间的

推移这种误差逐渐累积时间的偏差将越来越大。在一些重要 的应用中(如实时数据采集、监控、工业控制网络以及电信 等) 时间的准确性要求更为严格和苛刻 因此时间同步变得尤为重要并且实现一个精确地系统时间变得更加重要。时间同步的实现方法常见的有硬件和软件的

方法硬件同步是通过各仿真节点都连入专用的时钟信号线来完成的它的精度相对来说比较高但成本也高 操作相对比较复杂软件同步方法是完全利用软件来完成分布式系统中各时钟的 同步。对于软件同步的方法 目前常用的 时间协议有NTP协议、 SNTP协议以及PT P协议等。对于这些时间同步协议的一般实现方法是通过计算机网络等方式通讯实现的但是由于计算机网络的 一些潜在的威胁如偶然或恶意的原因遭到破环、更改、泄露是网络系统不能连续可靠性的正常运行从而导致时间同步系统不能正常的运转。 由于资源和时间有限本次基于C /S的时间同步服务器的实现先采用软件的方法来实现。

1.2软件使用

基于C/S的时间同步服务器的实现运用Vis ualStudio2010来实现。Visua l Studi o2010是微软公司推出的开发环境是目前最流行的Windows平台应用程序开发环境。Visual Studi o 2010的C++编译器现在支持lam bda表达式、右值引用 rvalu erefe rence s 、编译时断言 compile- timea ssert ions  、表达式类型发现expre ssion typed iscov ery和C++0X标准的 自动类型d educt ion。VisualStudio2010的C++编译器有一

种模式可以向后兼容V isual Studi o2008的 工具和类库。这会给开发者的个人升级提供很大的方便即使团队中有其他人还不想切换到VisualStudio2010。在Visua lStudi o的任何版本中都可以创建和使用文本模板无需任何其他组件。在引入了预处理文本模板的Visua l Studi o2010 中从应用程序生成任何类型的文本文件已变得更加容易。还通过

1

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

与生成系统的更好集成改进了对代码集成的支持从而使生成的源代码始终会在对源模型进行任何更改后保持更新。VisualStudio2010是一个功能强大的可视化软件开发工具。Visual Studio 2010对网络编程有socket支持WinIn et支持MAPI和ISAPI支持等。其中Windo ws Socke tsAPI是T CP/IP网络环境里也是Int ernet上进行开发最为通用的API。在TCP/IP网络通信环境下Socke t数据传输是一种特殊的I/O它也相当于 一种文件描述符具有一个类似于打开文件的函数调 用 Sock et() 。Socke t是面向客户/服务器模型而设计的针对客户和服务器程序提供不同的 Socke t系统调用 。客户随机申请一个So cket 相当于一个想打电话的人可以在任何一台入网 电话上拨号呼叫 系统为之分配一个Socket号 服务器拥有全局公认的 Socke t 任何客户都可以向它发出连接请求和信息请求 相当于一个被呼叫的电话拥有一个呼叫方知道的电话号码 。 Socke t利用客户/服务器模式巧妙地解决了进程之间建立通信连接的问题。服务器So cket半相关为全局所公认非常重要。读者不妨考虑一下两个完全随机的用户进程之间如何建立通信假如通信双方没有任何一方的So cket固定就好比打电话的双方彼此不知道对方的电话号码要通话是不可能的。

1.3预期目标

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

二方案论证

Cl ien t/Serve r结构的关系数据库系统因为具有高性能、 高效率、开放、易扩充、可伸缩等优越的特性,所以得到了广泛的应用 。 在Cl ien t/Serv er结构的关系数据库应用 系统中 ,不乏这样的应用:要求用户在客户端中插入、修改数据时 ,要在数据库的相应表中记录这些数据插入、修改的时间以供统计分析使用。为了保证今后按时间进行的统计分析的准确性,各个客户端向数据库服务器DBMS提供的必须是统一的 时间。硬

2

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

件同步是通过各仿真节点都连入专用的时钟信号线来完成的它的精度相对来说比较高但成本也高 操作相对比较复杂软件同步方法是完全利用软件来完成分布式系统中各时钟的 同步。软件同步相对于硬件同步来说简单、快捷、方便、易用适合我们学生党来做计算机网络的相关研究效果比较好 所以此次试验采用Vi sualStudio2010为平台基于C/S的时间同步服务器的实现。

三过程论述

3.1相关原理

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

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

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

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

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

 在Devi ce A和Dev ice B的系统时钟同步之前 Devic e A的时钟设

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

 Devic e B作为NT P时间服务器即Devi ce A将使自己 的时钟与Device B的时钟同步。

 NTP报文在Devi ce A和Dev ice B之间单向传输所需要的时间为1

秒。

3

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

图1NTP协议工作原理图

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

 当此NTP报文到达D evice B时Devic e B加上自己 的时间戳该时间戳为 1 1 :00:01amT2。

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

 当 Devi ce A接收到该响应报文时  Devic e A 的本地时 间为

10:00:03amT4。

至此Devic e A已经拥有足够的信息来计算两个重要的参数  NTP报文的往返时延Delay =T4-T1  - T3-T2=2秒。

 Devic e A相对De vice B的时间差offse t= T2-T1 +T3-T4  /2=1小时。

3.2设计过程

在局域网中有很多应用软件为了协同工作需要保证客户机上时间统一方法是客户机从一个时间相对正确的服务器读取时间以此来校正本地时间。按照C/S模型建立 一个时间同步服务器此系统分为服务器端

4

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

Serve r 和客户端Cl ien t  分别对服务器端和客户端进行算法设计和软件编程使其各自都能进行编译 能够同时运行使其服务器 端Serve r 按照时间协议的要求进行正常运转 向客户端Cl ien t 发送时间同步请求此时客户端Cl ien t 正在等待服务器端Serve r 发来时间同步请求待客户端Cl ien t 收到请求之后按照相应的设计的算法进行时间同步。这就达到了 时间同步的 目的。

3.3算法流程图

5

水墨云历史黑名单IDC,斟酌选购

水墨云怎么样?本站黑名单idc,有被删除账号风险,建议转出及数据备份!水墨云ink cloud Service是成立于2017年的商家,自2020起开始从事香港、日本、韩国、美国等地区CN2 GIA线路的虚拟服务器租赁,同时还有台湾、国内nat vps相关业务,也有iplc专线产品,相对来说主打的是大带宽服务器产品。注意:本站黑名单IDC,有被删除账号风险,请尽量避免,如果已经购买建议转出及数据备...

HaloCloud:日本软银vps100M/200M/500M带宽,,¥45.00元/月

halocloud怎么样?halocloud是一个于2019下半年建立的商家,主要提供日本软银VPS,广州移动VDS,株洲联通VDS,广州移动独立服务器,Halo邮局服务,Azure香港1000M带宽月抛机器等。日本软银vps,100M/200M/500M带宽,可看奈飞,香港azure1000M带宽,可以解锁奈飞等流媒体,有需要看奈飞的朋友可以入手!点击进入:halocloud官方网站地址日本vp...

Hostio€5/月KVM-2GB/25GB/5TB/荷兰机房

Hostio是一家成立于2006年的国外主机商,提供基于KVM架构的VPS主机,AMD EPYC CPU,NVMe硬盘,1-10Gbps带宽,最低月付5欧元起。商家采用自己的网络AS208258,宿主机采用2 x AMD Epyc 7452 32C/64T 2.3Ghz CPU,16*32GB内存,4个Samsung PM983 NVMe SSD,提供IPv4+IPv6。下面列出几款主机配置信息。...

cs服务器为你推荐
秦殇内存修改器秦殇poq.exe文件怎么修改啊名侦探柯南644名侦探柯南新一出现的集数【600-现在的800多集】滴滴软银合资嘀嘀打车是腾讯的还是阿里巴巴的轿车和suv哪个好SUV和轿车哪个好手机管家哪个好手机管家哪个软件好固定利率和浮动利率哪个好应当选择固定利率,还是选择浮动利率还款?美国国际东西方大学美国新常春藤大学有哪些?群空间登录群空间无法正常登陆的问题dns服务器地址如何知道自己的IP地址和DNS服务器地址?铁通dns服务器地址桂林铁通DNS服务器地址是多少?
ip反查域名 cn域名 南通服务器租用 cve-2014-6271 2014年感恩节 ixwebhosting 服务器cpu性能排行 魔兽世界台湾服务器 卡巴斯基永久免费版 上海域名 刀片服务器是什么 网站卫士 网通服务器托管 360云服务 域名dns 网站加速软件 www789 太原联通测速 注册阿里云邮箱 稳定空间 更多