- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于ARM-Linux的网络通讯设计实验(上位机)
基于ARM-Linux的网络通讯设计实验
一. 实验目的
2. 掌握上位机与下位机的联调方法。
二. 实验内容
三. 预备知识
1. C语言。
2. TCP网络传输协议的原理及工作方式。
四. 实验设备与工具
五.. 网络传输协议
众所周知,当今国际互联网Internet是建立在TCP/IP体系架构基础上的,尽管大名鼎鼎的OSI体系架构是ISO组织为取代TCP/IP而指定的,但由于TCP/IP协议体系出现得较早,并得到了市场的认可和商业上的驱动,应用非常广泛,目前已成为事实上的国际标准。
参照OSI体系架构的术语和概念,可以将TCP/IP体系分为四层结构,从上向下依次是:应用层、传输层、网络层和网络接口层。如下图所示。
应用层 传输层 网络层 网络接口层 其中,网络接口层根据不同的网络物理介质而不同,如同轴电缆、双绞线、光纤、无线等等,一般由硬件实现,并对上层是透明的,软件开发中一般无需考虑这一层。
TCP/IP体系结构中的网络层、传输层和应用层一般是由系统软件实现的。网络层只运行一个协议,即IP协议,主要是供传输层协议调用的,程序设计者不能直接调用,因此,一般也无需考虑这一层。
TCP/IP体系结构中的传输层运行了两个截然不同的协议,即TCP协议和UDP协议,它们是为不同的应用场合而设计的。为了方便应用程序的设计,大多数操作系统都提供了TCP和UDP的库函数,如Windows给出了相应的针对不同传输层协议的API函数,可供程序员选择以设计出满足特定需求的网络应用。这一层是软件开发中需要考虑的。
TCP/IP体系结构中的应用层协议就很多了,如DNS、TELNET、SMTP、HTTP、FTP等等,它们实际上也是通过调用传输层的TCP协议或UDP协议,为某些特定的通用性很强的应用而设计的。显然,调用应用层协议比调用传输层协议更简单、更有针对性。然而,应用层协议一般是针对通用性很强的应用。
因此,网络应用程序的开发只能通过调用传输层的TCP协议或UDP协议来实现系统的网络通信功能。那么,在测试系统的网络应用开发中,究竟是采用TCP协议还是UDP协议,这里需要进行具体的分析。
1)TCP协议的特点分析
TCP协议(即传输控制TCP的首部长度不固定;支持全双工的可靠传输。可见,TCP协议比较复杂。其最大的好处就是数据传输的可靠性,尤其是在网络误码率较高的时候,TCP协议可以准确无误的把数据送达目的地。它适用于数据量较大、且对数据的正确性要求较高的场合,如文件传输、远程登录、电子邮件、网页浏览等。但TCP协议也因为它的优点而体现出了对应的缺点,那就是复杂的可靠机制降低了传输的效率,特别是连接管理和确认重传机制等措施。对于数据量较小、且对实时性要求较高的场合,TCP协议就不再适用了。这也是为什么TCP/IP协议体系需要两种传输层协议的原因。
2)UDP协议的特点分析
UDP协议(即用户数据报协议)和TCP协议相比就简单许多,它不需要建立连接,也不采用可靠的传输机制,其主要特点有:有端口功能和差错检测;差错检验范围是整个报文段;不建立连接、不确认,不重传,数据无序到达;不进行流量控制和拥塞控制;UDP的首部长度固定为简短的8个字节;在局域网内支持广播传输。可见,简单就意味着高效,UDP协议省去了复杂的连接管理和确认重传的可靠机制,并且其首部长度仅有8个字节,有效数据的占比得以大幅提高。这种简单的机制带来的最大好处就是数据传输的高效率,非常适用于对实时性要求较高、而对数据正确性要求不高的场合。然而,对于数据量较大、且对数据的正确性要求较高的场合,UDP协议的数据无序到达和不可靠传输等缺点,使得其无法胜任,尤其是网络状况较差的时候更是如此。
诚然,TCP和UDP是两个优缺点互补的传输层协议,UDP协议的优点恰恰就是TCP协议的缺点,TCP协议的优点就正是UDP的缺点。
对于测试系统而言,数据传输的有效性和正确性是首要的考虑因素,数据错了,传得再快也无济于事。因此,对于测试数据的传输,通常采用的传输协议是TCP。
2. LabWindows/CVI 库函数简介
LabWindows/CVI是一款基于C语言的可视化软件开发工具。它提供了方便快捷的函数模板(Function Panel),指导用户调用函数。使用方法:在函数名上点右键,选择快捷菜单的 “ Recall Function Panel ” 项,如下图所示。在各参数上点右键即可弹出该参数的说明,在面板空白处点右键即可弹出该函数的说明。填写完参数后,点击“ Insert Function Call ”工具按钮,即可在源程序的当前光标位置自动插入该语句。
1)建立与TCP服务器连接的函数
ConnectToTCPServer ( ) Establishes a connecti
文档评论(0)