毕业设计实时通信系统-论文正文
RS485总线通信系统的设计及实现毕业论文

RS485总线通信系统的设计及实现毕业论⽂本科学⽣毕业论⽂论⽂题⽬:RS485总线通信系统的设计与实现学院:年级:专业:姓名:学号:指导教师:摘要⽆论是⼯业控制还是信号测试领域,实现不同通讯协议的数据融合都有着迫切需要。
但是⽬前市场中存在的协议转换器只能满⾜两种协议之间的转换,如RS485转RS232,USB转RS485等,但是经常存在着多种数据总线并存的情况,因此研制多种总线协议转换的设备有着⽐较⼤的实际意义。
除此之外,⽬前接⼝标准的RS485总线通信协议不统⼀,需设计⼀个⾼效稳定的通信协议。
基于以上原因,本论⽂提出⼀种基于⾼速RS485的多总线通信系统。
整个系统包含多个RS485节点,各个节点包含的通讯接⼝包括RS232,RS485和USB,从⽽实现这三类总线的通讯协议的转换。
设计并实现了⼀种适⽤于微机和单⽚机之间串⾏通信的通信协议,采⽤RS485简便,通信可靠性⾼总线标准,可⽤于⼯业测控和控制现场。
实验结果表明,该通信协议是切实可⾏的,达到了预期的设计要求。
关键词RS485总线;主从式;多机通信;通信协议AbstractWhether in the field of industrial control or signal test, the achievement of data fusion which is based on different communication protocol is urgent needed. However, in the current market, protocol converter can only achieve conversion between two protocols, such as RS485 to RS232, USB to RS485 and so on. Cases of coexistence data bus, it has great practical significance to develop an equipment for protocol conversion among different buses.Based on the reasons above, a high-speed RS485-based multi-bus communication system is presented in this paper. The entire system which is used to realize the three categories of bus communication protocol conversion consists of someRS485 nodes, each node contains the communication interfaces including RS232, RS485 and USB. In the practical application, the number of nodes can be changed as required to formsystem, for achievement of data fusion between a variety of bus communication protocol.Key wordsRS485 bus; Serial Bus; Protocol Conversion; Communication protocol⽬录摘要............................................................................................................................. I Abstract .....................................................................................................................II 第⼀章绪论 (1)1.1 研究背景及意义 (1)1.2 RS485总线通信系统研究现状 (2)第⼆章RS485介绍 (4)2.1 RS485标准 (4)2.2 MAX485芯⽚介绍 (4)2.3 RS485总线组⽹⽅式 (5)2.4 RS485⽅式构成的多机通信原理 (5)第三章系统协议及硬件设计 (7)3.1 RS485通信协议设计 (7)3.1.1 物理层设计 (7)3.1.2 数据链路层设计 (8)3.1.3 应⽤层设计 (8)3.1.4 通信协议 (8)3.2 系统硬件设计 (10)3.2.1 PC与RS485总线的接⼝ (10)3.2.2 RS485⽅式构成的多机通信 (10)3.2.3 单⽚机与PC机串⾏通信系统构成 (11)第四章系统的软件实现 (12)4.1 上下位机的关系 (13)4.2 下位机通信软件的设计 (14)4.3 上位机通信软件的设计 (16)4.3.1 通信协议设计 (16)4.3.2 多机传输 (17)4.3.3 差错控制 (18)4.4 程序设计 (19)第五章系统问题解决措施 (20)5.1 总线隔离 (20)5.2 失效保护 (20)5.3 电磁⼲扰问题 (20)结论 (22)参考⽂献 (23)致 (24)第⼀章绪论所谓通信,不仅仅要实现数据的传输,更应该体现准确性,也称可靠性传输,最好具有⼀定的纠错和检错能⼒。
通信毕业设计

通信毕业设计通信毕业设计报告一、设计目标:本次毕业设计的目标是设计一个具有异常检测功能的通信系统。
二、设计原理:1. 通信系统基于客户端-服务器模型,客户端与服务器之间通过网络连接进行通信。
2. 客户端将要发送的数据通过网络传输到服务器端,服务器接收到数据后进行处理。
3. 服务器端进行异常检测,如果检测到异常,则将异常信息发送给客户端。
4. 客户端接收到异常信息后,通过弹窗的方式进行提醒。
三、设计步骤:1. 安装并配置通信系统的开发环境,包括服务器端和客户端。
2. 设计并实现客户端与服务器端之间的通信功能,包括发送和接收数据的功能。
3. 设计并实现服务器端的异常检测功能,可以根据实际需要选择合适的异常检测算法。
4. 在服务器端实现异常检测功能后,将异常信息发送给客户端。
5. 客户端接收到异常信息后,进行弹窗提醒。
四、设计实现:1. 开发环境:使用Python开发环境,包括Pycharm和Python 3.0版本以上。
2. 通信功能的实现:使用Python的socket库实现客户端与服务器端之间的通信功能。
3. 异常检测功能的实现:根据实际需要选择合适的算法,如统计学方法、机器学习算法等,使用Python相关库进行实现。
4. 弹窗功能的实现:使用Python的GUI库,如Tkinter等,实现弹窗提醒功能。
五、测试与优化:1. 测试通信系统的功能是否正常,包括发送和接收数据的功能、异常检测功能等。
2. 对通信系统进行性能测试,检查系统在不同负载情况下的运行情况。
3. 根据测试结果进行优化,包括提高系统的响应速度、减少异常检测误报等。
以上就是本次毕业设计的设计目标、原理、步骤、实现以及测试与优化的内容。
通过本次设计,可以提高通信系统的安全性和稳定性,保障通信过程的可靠性,为通信系统的进一步发展提供支持。
毕业设计(论文)基于matlab的数字基带通信系统仿真

基于matlab的数字基带通信系统仿真1.课程设计的目的(1)增加对仿真软件的认识,学会对各种软件的操作和使用方法(2)加深理解数字基带通信系统的概念(3)初步掌握系统的设计方法,培养独立工作能力2.设计方案论证2.1数字基带传输系统在数字传输系统中,其传输的对象通常是二进制数字信号,它可能是来自计算机、电传打字机或其它数字设备的各种数字脉冲,也可能是来自数字终端的脉冲编码调制(PCM)信号。
这些二进制数字信号的频带范围通常从直流和低频开始,直到某一频率m f ,我们称这种信号为数字基带信号。
在某些有线信道中,特别是在传输距离不太远的情况下,数字基带信号可以不经过调制和解调过程在信道中直接传送,这种不使用调制和解调设备而直接传输基带信号的通信系统,我们称它为基带传输系统。
而在另外一些信道,特别是无线信道和光信道中,数字基带信号则必须经过调制过程,将信号频谱搬移到高频处才能在信道中传输,相应地,在接收端必须经过解调过程,才能恢复数字基带信号。
我们把这种包括了调制和解调过程的传输系统称为数字载波传输系统。
数字基带传输系统的模型如图 1所示,它主要包括码型变换器、发送滤波器、信道、接收滤波器、均衡器和取样判决器等部分。
图1 数字基带传输系统模型1.2 数字基带信号1.2.1数字基带信号波形对不同的数字基带传输系统,应根据不同的信道特性及系统指标要求,选择不同的数字脉冲波形。
原则上可选择任意形状的脉冲作为基带信号波形,如矩形脉冲、三角波、高斯脉冲及升余弦脉冲等。
但实际系统常用的数字波形是矩形脉冲,这是由于矩形脉冲纤数字传输系统中的线路传输码型。
此外,CMI 码和曼彻斯特码一样都是将一位二进制码用一组两位二进制码表示,因此称其为1B2B 码。
(5)4B/3T 码4B/3T 码是1B/1T 码的改进型它把4 个二进制码元变换为3个三进制码元。
显然,在相同信息速率的条件下,4B/3T 码的码元传输速率要比1B/1T 码的低,因而提高了系统的传输效率。
通信工程毕业设计论文

通信工程毕业设计论文1 引言超宽带(UWB,Ultra Wide Band)无线技术在无线电通信、雷达、跟踪、精确定位、成像、武器控制等众多领域具有广阔的应用前景,因此被认为是未来几年电信热门技术之一。
1990年,美国国防部首先定义了“超宽带”概念,超宽带无线通信开始得到美国军方和政府部门的重视。
2002年4月,美国FCC通过了超宽带技术的商用许可,超宽带无线通信在民用领域开始受到普遍关注。
目前“超宽带”的定义只是针对信号频谱的相对带宽(或绝对带宽)而言,没有界定的时域波形特征。
因此,有多种方式产生超宽带信号。
其中,最典型的方法是利用纳秒级的窄脉冲(又称为冲激脉冲)的频谱特性来实现[1]。
超宽带无线电是对基于正弦载波的常规无线电的一次突破。
几十年来,无线通信都是以正弦载波为信息载体,而超宽带无线通信则以纳秒级的窄脉冲作为信息载体。
其信号产生、调制解调、信号隐蔽性、系统处理增益等方面,具有独特的优势,尤其是能够在密集的多径环境下实现高速传输。
由于脉冲持续时间很短,多径分量在时域上不易重叠,多径分辨能力高,通过先进的多径分离技术或瑞克接收机,可以充分利用多径分量。
目前,典型的超宽带无线通信调制方式以TH-PPM、TH-PAM为主,本论文中,介绍超宽带无线通信中的调制技术,主要讨论TH-PPM、TH-PAM的基本原理,并且对比调制技术的优缺点,性能的好坏,并进行动态的仿真,从仿真图中较清楚的研究调制方式,从而得出正确的结论,细致的研究超宽带无线通信中的调制技术。
关键字:超宽带调制方式 PPM调制 PAM调制 OFDM调制2 概述2.1 总述近几年来,超宽带短距离无线通信引起了全球通信技术领域极大的重视。
超宽带通信技术以其传输速率高、抗多径干扰能力强等优点成为短距离无线通信极具竞争力和发展前景的技术之一。
FCC(美国通信委员会) 对超宽带系统的最新定义是:相对带宽(在- 10dB 点处) (fH - fL)/fc 20 %(fH ,fL ,fc分别为带宽的高端频率、低端频率和中心频率) 或者总带宽BW 500MHz。
通信毕业论文(5篇)

通信毕业论文(5篇)通信毕业论文(5篇)通信毕业论文范文第1篇放射超宽带(uwb)信号最常用和最传统的方法是放射时域上很短的脉冲。
这种传输技术称为“冲激无线电”(impulse radio,简写为ir)。
信息数据符号对脉冲进行调制,其调制方式可以有多种。
脉冲位置调制(ppm)和脉冲幅度调制(pam)是最常用的两种调制方式。
除了要对脉冲进行调制外,为了形成所产生的信号的频谱,还要用伪随机码或伪随机噪声(pn)对数据符号进行编码。
一般是,编码后的数据符号引起脉冲在时间轴上的偏移,这就是所谓的跳时超宽带(th-uwb,time-hopping uwb)。
直接序列扩谱(ds-ss)就是编码后的数据符号对基本脉冲的幅度进行调制,这在冲激无线电(ir)中被称为直接序列超宽带(ds-uwb,direct-sequence uwb),这种调制方式好像特别有吸引力[1]。
对于超宽带信号,也可以通过很高的数据速率来产生而根本不需要具备脉冲的特性。
只要uwb定义所要求的相对带宽或最小带宽在整个传输过程中得到满意,那么,靠放射高速率数据而不是窄脉冲所产生的具有uwb射频带宽的系统,就不应当被排解在uwb系统之外。
诸如正交频分复用(ofdm),在数据速率适当的状况下也可产生uwb信号。
因此,ofdm也是一种超宽带的调制方式。
本文主要争论th-uwb、ds-uwb和ofdm调制方式。
4.1 ppm-th-uwb 调制方式4.1.1 跳时超宽带信号的产生在结合了二进制ppm的th-uwb(二进制ppm-th-uwb或者ppm-th-uwb)中,uwb信号的产生可以系统地描述如下(参见图4-1描绘的放射链路) [1]。
shape \* mergeformat图4-1 ppm-th-uwb信号的放射方案给定待放射的二进制序列b=(…,b0,b1,…,bk,bk+1,…),其速率rb=1/tb (b/s),图4-1中的第一个模块使每个比特重复ns次,产生一个二进制序列:(…,b0,b0,…,b0,b1,b1,…,b1,…,bk,bk,…,bk,bk+1,bk+1,…,bk+1,…)=(...,a0,a1,…aj,aj+1,…)=a新的比特速率rcb=ns/tb=1/ts (b/s)。
即时通信系统设计报告

即时通信系统设计报告1. 引言即时通信系统是现代人们进行实时沟通的重要工具,其功能包括文字、语音、图片、视频等多种形式的交流方式。
随着社交网络的兴起,即时通信系统逐渐成为人们日常生活中必不可少的一部分。
本报告旨在设计一种高效、安全、稳定的即时通信系统,以满足现代人们对实时交流的需求。
2. 系统设计基于以上目标,我们提出了以下设计方案:2.1 架构设计我们采用客户端-服务器架构设计,并且引入云计算技术来保证系统的可扩展性和高可用性。
具体架构如下:- 客户端:用户通过安装在手机、电脑等设备上的客户端应用来进行实时通信。
- 服务器端:负责处理用户请求的服务器群集,主要包括用户认证、消息传输、联系人管理等功能。
2.2 功能设计我们的即时通信系统具备以下核心功能:- 用户注册与认证:用户可以通过客户端应用完成注册,并通过用户名和密码进行认证。
- 实时通信:用户可以与自己的联系人进行实时文字、语音、图片、视频等形式的交流。
- 消息同步:用户可以在不同设备之间同步消息记录,确保在任何时间、任何地点都可以获取到最新的消息。
- 联系人管理:用户可以添加、删除、编辑自己的联系人,并进行分组管理。
- 安全保障:我们将采用加密算法对用户消息进行加密,并采取严格的用户权限管理措施,保障用户的信息安全。
2.3 技术选型根据我们的设计目标,我们选择以下技术来实现即时通信系统:- 服务器端:采用Java或Python等面向对象的语言进行开发,并使用Spring、Django等框架来提高开发效率和可维护性。
- 数据库:选择可扩展性好、性能高的关系型数据库,如MySQL或PostgreSQL,并结合缓存技术来提升系统的读写能力。
- 客户端:根据设备的不同,选择相应的开发技术。
例如,可以使用React Native进行移动端开发,使用Electron进行桌面端开发。
3. 性能评估为了评估我们设计的即时通信系统的性能,我们将进行以下测试:- 压力测试:通过模拟大量用户并发登录、发送消息等操作,来测试系统在高并发场景下的性能表现。
现代通信系统综合性设计论文

目录第1章绪论 (1)第2章长途电话业务的配置实现设计 (4)2.1长途电话网的网络结构 (4)2.1.1四级长途电话网的网路结构 (4)2.1.2二级长途电话网的网路结构 (4)2.2 CC08程控交换机的设备结构及工作原理 (5)2.2.1 CC08硬件模块 (5)2.2.2 CC08软件系统 (6)第3章GSM移动通信系统 (8)3.1GSM系统结构及其功能与接口 (8)3.1.1 GSM系统结构与功能 (8)3.2.2 GSM的主要接口 (9)3.3华为GSM移动设备核心网设备 (10)3.3.1 HLR9820系统 (10)3.3.2 MSOFTX3000 (14)3.3.3 UMG8900 (16)3.4 华为GSM移动设备无线侧设备 (20)3.4.1 BSC6000 (20)3.4.2 BTS3012 (23)第4章EBRIDGE平台和设备的使用和业务配置操作过程 (25)4.1 对系统进行调试并分析实验结果 (26)4.1.1长途业务调试实验 (26)4.2手机的位置更新和互相呼叫 (27)4.2.1 位置更新 (27)4.2.2 越区切换 (27)4.3 华为GSM系统联调 (28)4.4系统调试并分析实验结果 (28)小结 (29)参考文献 (30)谢辞 (31)附录 (32)第1章绪论随着网络技术的日益发展和多媒体通信技术的日益深入和普及,基于因特网的多媒体网络技术成为了网络技术的发展方向。
一个简单的网络应该包括3个主要部分,进行传输的传输控制设备、进行数据交换的交换机设备和控制数据速率接入用户的接入设备。
如果还需要进行语音信号的交换,那么就还需要在网络中增加语音网关设备。
在比较早期的网络中,语音信号和信息数据是不能够同时进行传输的,也就是说,一条线路只能满足用户的一种服务要求,要么进行语音通话,要么进行数据通信,这也给用户带来了很多不便。
随着技术的发展,如今的网络不但可以满足用户在上网时进行语音通话的要求,还可以为用户提供多媒体通信等多项服务。
即时网络通信软件的设计与实现 毕业论文

目录1.绪论 (1)1.1选题的意义 (1)1.2网络通信的研究现状 (2)1.3毕业设计解决的主要问题 (2)2.C/S即时网络通信软件的概述 (2)2.1系统的概念 (2)2.2可行性分析 (2)2.3系统的关键技术 (3)2.4系统的开发方法与开发工具 (4)2.5 通信软件流程分析 (5)3.服务器端的设计 (6)3.1服务器端功能的设计 (6)3.2服务器端功能框架图 (7)3.3服务器端的工作流程 (7)3.4服务器端控件设计 (8)3.5服务器端界面设计 (8)4.客户端功能设计 (9)4.1客户端功能框架图 (9)4.2客户端工作流程 (10)4.3客户端控件的设计 (11)4.4客户端界面的设计 (12)5.网络通信软件代码的实现 (14)5.1网络通信软件服务器端代码的实现 (14)5.2建立服务器代码的实现 (14)5.3实现文字与语音通信代码的实现 (15)5.4客户端实现文件交换代码的实现 (16)6.通信软件的测试 (17)7.结论与展望 (18)7.1结论 (18)7.2 展望 (18)参考文献 (19)ABSTRACT (19)计算机信息工程学院本科毕业设计基于C/S即时网络通讯软件的设计与实现王磊内容提要:叙述了传统通信方式,新兴网络通信的现状和优缺点,重点讲述了基于C/S 的即时网络通讯软件的设计与实现,设计工具采用微软开发的Visual C++ 6.0中的Win32 SDK 和MFC类库。
通过在服务器端安装服务器程序,在客户端安装客户端程序,实现了多个用户之间的文字聊天、文件发送,并初步实现了语音聊天的功能。
通过开发一个与实际应用相结合的通信软件深入学习和理解了软件的初步开发流程。
关键词:网络通讯软件 Client/Server 文件发送语音聊天 Visual C++1. 绪论1.1选题的意义21世纪是信息的时代,人与人之间的交流越来越密切,传统的通信方式,如电话,电报等在实时上虽仍占有一定的优势,但是在信息高速发展的今天,传统通信方式由于其成本过高,方式单一的缺点,越来越暴露其弊端。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 1 章概论§1.1 课题的来源及意义在网络无所不在的今天,在Internet上,有icq,oicq,ticq等网上寻呼软件,极大程度上方便了处于在世界各地的友人之间的相互联系,也使世界好象一下子缩小了,不管你在哪里,只要你上了网,打开这些软件,就可以给你的朋友发信息,不管对方是否也同时在线,只要知道他有号码。
现在,企业、机关、学校都建立起了自己的局域网,在局域网,虽然可以通过文件共享的方式进行通讯,但单单使用这种方式,是非常不方便的,首先,在局域网里的网上邻居里,只能看到机器名,不清楚对方是谁,也不知道对方机器里有什么资源可以共享,而且,当局域网的机器很多时,这种方式更加麻烦。
于是,就想到做一个在局域网里的icq,在局域网里,我们可以通过它,实现在局域网里方便的联络,进行文件传输,消息的发布,自己共享内容的简介等。
在学校建立起校园网里,这软件可以起到方便同学之间,教师之间,师生之间的相互联络,这样,不用上Internet,可以节省资源,在学校这个大环境里,就可以同学之间联系,联络感情,促进同学之间的友谊,学生可以通过它来与不同寝室的同学,教师讨论问题。
并能最大限度地利用现有的网络资源,极大地提高工作效率。
为了适应校园网的建设,实现校园网内进行消息发布,学生交流,师生交流,网上作业等功能。
§1.2 网上寻呼的软件的现况网上寻呼软件在国外的有icq等,在国内的主要有腾讯的Oicq,还有Ticq,OmO和一些在网页上的即时通讯工具,像Chinaren网站上的WebMaster等等,都做得即美观,且功能强大,Oicq现在拥有非常大的用户群。
在局域网内的网上寻呼,就我知道的有武汉硕思软件公司的硕思即时通,能够较好的完成局域网上寻呼,聊天,发文件,收E-mail等功能。
现在也有很多,在局域网上不使用服务器的通讯软件,这种软件小巧且方便,也能解决一部分问题。
但是有服务器的通讯软件,有着不可比拟的优势:可以发送离线消息,不管用户当时是否在线,下次上线时,就可以看到这条消息了。
可以保存用户的个人信息或介绍,供人查看。
而且,那种通讯软件,是以机器为通讯单元的,而这种寻呼软件是以人为通讯单元。
总之,这种软件在局域网上,还是有很大的用途的,为局域网上通讯,带来极大的方便。
虽然说,现在这个软件已经有公司把它开发出来了,我再做也不一定有新意,也未必可以做得更好,但作为毕业设计,也算是对我能力的一个考验和这四个我学习知识的一个检查。
而且,我校现在也正在筹备建立校园网,如果这个软件做得比较成功的话,能为校园网上的通讯带来一定的方便,我就很满足了。
§1.3面向对象方法与设计简介传统的软件工程方法有生命周期方法和快速原型法。
面向对象方法学是一种全新的软件工程方法,其出发点和基本原则是尽可能模拟人类习惯的思维方式,把构成客观世界的实体抽象为对象。
概括地说,面向对象方法学有四个要点:1.认为客观世界是由各种对象组成的,复杂的对象可以由比较简单的对象以某种方式组合而成;2.把所有对象都划分成各种对象类,每个对象类可以定义一组数据和方法;3.按照子类和父类的关系,把若干对象类组成一个层次结构的系统;4.对象彼此之间仅能通过传递消息互相联系。
用面向对象方法学开发的软件有以下优点:1.与人类习惯的思维方法一致;2.稳定性好;3.可重用性好;4.可维护性好。
§1.4本章小结随着计算机应用技术的日益普及,网络也遍及到我们生活的每个角落,很好的利用这人资源,将为我们的工作和学习,带来极大的方便和提高工作效率,所以,开发一个局域网里的C/S通讯软件,是十分必要。
由于采用面向对象方法开发软件具有明显的优点,本系统将采用面向对象方法进行开发。
由于采用面向对象的系统模型可以使整个软件系统的结构变得更加灵活,本系统的结构模型将采用面向对象的系统模型,采用VC++6.0这个可视化开发工具进行编码。
第 2 章网络通讯程序的设计原理和过程对网络通讯程序的设计的原理和过程的透彻理解,是网络通讯程序的前提。
本章将简要地介绍一下有关网络通讯程序设计的基本知识。
§2.1 TCP/IP协议TCP/IP是国际互联网所采用进行网际互连的通信协议。
实际所称的TCP/IP协议包括了在国际互联网上应用的一组协议,互联网协议族是此协议族的另一个名字。
这个协议族包括几种工作在不同层次上的网络协议,IP互连协议(Internet Protocol),负责主机之间的传输数据。
TCP 传输控制协议(Transmission Control Protocol),负责在应用程序之间传递数据。
UDP用户数据报协议(User Datagram Protocol),提供给用户进程的无连接协议,也负责在应用程序之间无连接传递数据,但不执行正确性检查。
ICMP互连网控制报文协议(Internet Control Message Protocol),处理主机间的差错和传送控制。
ARP地址解析协议(Address Resolution Protocol),负责将网络层地址转换成链路层地址。
RARP反向地址解析协议(Reverse Address Resolution Protocol),负责将链路层地址转换成网络层地址。
TCP/IP协议的核心是传输层协议(TCP、UDP)、网络层协议(IP)和物理接口层,这三层通常在操作系统的内核中实现。
TCP/IP网络环境下的应用程序设计是通过网络系统编程界面Socket实现的,Socket提供应用程序与系统内核之间的网络编程接口。
协议可以是可靠的可以是不可靠的。
可靠的协议意味着当数据通过协议传递时,协议保证数据正确传输。
可靠传输包括几个特征。
首先,为了确保数据正确传送,协议在通信应用程序之间互相交换确认信息。
也就是说,程序每次发送-个报文时,都期望对方发送一个相当于说:“我得到这个报文”的确认信息。
如果发送程序没有收到这样一个确认信息,程序将自动重新发送此报文,直到得到应答信息为止。
其次,为了确保传输的数据有效,可靠协议在每次传输时,都包含一个或更多的校验和(CRC)。
接收计算机重新计算校验和,与收到的校验和进行比较。
如果不匹配,就表明在传输过程中发生了错误。
传输控制协议TCP是一个使用校验和、确认信息以及其它可靠数据传输技术的可靠协议。
相比之下,不可靠协议不能确保数据正确传输。
协议试图传输数据,但不保证成功。
而且,不可靠协议在传输失败后,并不通知发送方应用程序。
可将不可靠数据传输比作没有返回地址的信件。
如果发送地址是锗误的,由于邮递系统不能将信退回给你,所以你就不知道信件有没有送到。
即使发送地址是正确的,也不能保证邮递系统不丢失你的信件。
TCP/IP协议组中存在的两个基本数据服务是:字节流服务和数据报服务,使用字节流的协议将信息看作一串字节流进行传输。
协议不管要求发送或接收数据的长度和传送数目,只是将数据看作一个简单的字节串流。
使用数据报的协议将信息视作一个独立单元进行传输。
协议单独发送每个数据报——数据报之间不相互依赖。
例如,假设你使用字节流协议发送5个数据段(每个有10字节)和一个包含50字节的数据段(总共100字节)。
连接的接收方可以按每次20字节读数据(要读5次)。
传输控制协议是字节流协议。
字节流协议不关心每个数据段的长度。
如果应用程序使用字节流协议发送数据,则协议能够保证连接的另一端按照发送的顺序接收数据。
相比之下,传输到同一目的地的多个数据报可能不会按发送顺序到达。
如果接收方应用程序要求数据顺序一致,应用程序必须在数据到达后,校对这些数据。
用户数据报协议和互连网协议使用数据报传输数据。
数据报类似于信件。
如果你在同一天给同一个人邮寄两封信,你无法知道那个人先收到那封信。
同样,如果连续两天给两个人邮信,你也不能知道哪封信先收到。
收到信的顺序和发送顺序可能相反。
在TCP/IP术语中,端口类(Port)似于IP地址,IP地址与主机地址是相联系的,端口和协议相联系。
IP数据报保存目的和源IP地址,同样传输协议也保存源和目的端口号。
如果端口这个概念对你来说很陌生,请考虑计算机上的硬件端口。
你可能编写过往硬件端口送数据的程序。
例如为了打印,如果没有其它程序的话,必须向串或并端口发送数据。
PC机给它的端口命名和编号。
例如,PC机的并行打印端口称为LPTl和LPT2,串行端口称为COM1和COM2。
在Internet上,网络只是简单地对协议端口编号。
在PC机,LPT1表示并行端口1。
成千个PC机应用程序使用此方案。
多年来,程序员编写PC程序时都假定LPT1表示并行打印端口1。
同样,程序员将每个Internet协议端口与一个特定的应用程序和功能联系在一起。
Internet包括像FTP、Telnet和Mail这样广泛使用的应用程序采用的应用协议,在Internet上,这些应用程序使用一种叫做“通用口分配”的端口。
通用口分配是特定应用程序广泛使用的一个协议端口。
像PC程序员使用打印端口LPT1用于打印,Internet程序员也对具体应用程序使用许多协议端口。
例如,平凡文件传输协议(FTP)的通用口分配是端口号21的。
Telnet的通用口分配是端口号23。
§2.2 客户/服务器程序的设计客户机/服务器模型也是一种网络模型,但与前述的模型不同,它并不是定义了网络的层次结构,而是描述了一种网络程序运行的方式。
客户及/服务器模型将网络应用程序分为客户和服务器两部分。
客户方对服务器方发送信息请求,服务器方对其做出相应回答,提供服务。
在TCP/IP网络应用中,多数网络应用程序是使用客户/服务器模型设计的。
服务程序通常在一个众所周知的地址监听对服务的请求,也就是说,服务进程一直处于休眠状态,直到一个客户程序提出了请求信息。
此时,服务程序被"惊醒"并且为客户提供服务,对客户的请求作出适当的反应。
虽然基于连接的服务是设计客户/服务器应用程序的标准,但有些服务也是可以通过数据报Socket提供的。
通常,网络应用程序包含两个独立的应用程序:客户程序和服务器程序。
但是,也可以设计同时完成这两种功能的程序,例如,一些服务器程序如果不能完成一个服务请求时,它将转而充当客户程序,向其它服务器程序请求信息。
这方面的一个典型例子就是提供Internet从域名到IP地址映射服务的DNS服务器。
为了充分理解TCP/IP协议族,必须理解几个重要术语。
这些术语指出了两个TCP/IP传输协议:用户数据包协议(UDP)和传榆控制协议(TCP)之间的区别。
这些术语进一步描述了与网络连接、协议可靠性以及数据服务有关的协议特性。
当建立服务器程序时,应该将服务器程序设计成等候客户的请求。
你知道,TCP传输层通过协议端口和应用程序(像服务器和客户)通信,也就是说,为了按收客户请求,服务器程序必须对传输层的一个特定协议端口进行侦听。