ImageVerifierCode 换一换
格式:DOCX , 页数:33 ,大小:409.76KB ,
资源ID:5965822      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5965822.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(本科论文基于单片机的网络通讯协议研究及应用基于单片机的TCPIP技术研究及应用.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

本科论文基于单片机的网络通讯协议研究及应用基于单片机的TCPIP技术研究及应用.docx

1、本科论文基于单片机的网络通讯协议研究及应用基于单片机的TCPIP技术研究及应用四川理工学院毕业设计(论文) 基于单片机的TCP/IP技术研究及应用学 生:学 号:专 业:电子信息工程班 级:指导教师: 四川理工学院自动化与电子信息学院摘 要 今天,嵌入式Internet的应用己经深入到日常生活的各个方面。研究嵌入式TCP/IP协议在内部资源有限微处理器上的实现,具有重要的现实意义和经济价值。论文首先介绍了嵌入式系统的组成及对嵌入式Internet产生。通过对现有的嵌入Internet及比较了目前几种单片机接入Internet实现方案的前提下,应用了一种基于单片机自身特点的具体的解决方案:嵌入式

2、TCP/IP协议。通过对TCP/IP网络协议的深入分析,对TCP/IP协议进行合理的简化,将其嵌入到内部资源有限的微处理器中,实现以电子邮件方式进行远程数据传输。关键字:嵌入式;Internet;TCP/IP;单片机ABSTRACTNowadays, the application of embedded Internet has come into all aspects of peoples daily life. Research the embedded TCP/IP protocol on microprocessor with limited internal resources

3、run,it has important realistic significance and economic value. occurrence of the embedded Internet and composition of the embedded system are summarized in this thesis. Then researching the status in quo of embedded Internet technology and analyzing and comparing several projects, based on the char

4、acteristic of 51 MCU, a solution scheme of the connection of MCU and Internet is showed in this paper .embedded TCP/IP protocols. After analyzing the TCP/IP protocols deeply, the TCP/IP protocols have been reasonably simplified, which can be embedded into microprocessor with limited internal resourc

5、es. Thus, it can realize the long-distance data transmission by E-mail.Key words: Embedded;Internet;TCP/IP;MCU目 录摘 要 IABSTRACT II第1章 引 言 11.1 论文选题的背景及意义 11.2 本文主要工作 1第2章 方案的选取 3第3章 网络协议 53.1 TCP/IP分层模型 53.2 数据封装 63.3 数据帧分用 73.4 协议层简介 83.4.1 网际层协议 83.4.1.1 IP地址分配 93.4.1.2 地址解析协议 103.4.1.3 IP分片/重组 113

6、.4.1.4 ICMP协议 113.4.2 传输控制协议 123.4.2.1 TCP连接和释放 123.4.2.2 用户数据报协议 13第4章 系统总体设计 144.1 硬件总体功能结构设计 144.2 TCP/IP协议层选择及分析 154.2.1 链路层协议选择及分析 164.2.2 网络层协议选择及分析 164.2.3 传输层协议选择及分析 164.2.4 应用层协议选择 17第5章 TCP/IP协议栈的实现 195.1 ARP协议的实现 195.1.1 ARP分组格式 195.1.2 ARP协议软件实现 195.2 IP协议及其实现 225.2.1 IP数据报格式 225.2.2 IP软

7、件实现 225.3 ICMP报文协议的实现 245.4 TCP协议的实现 255.4.1 TCP的报文段 255.4.2 TCP协议的实现 265.4.2.1 运输控制块TCB 265.4.2.2 处理传入数据模块 275.4.2.3 处理数据输出模块 285.4.2.4 定时管理器 295.5 SMTP协议的实现 315.5.1 客户机与服务器之间的交互 315.5.2 SMTP邮件协议的实现 32第6章 结束语 34致谢 35参考文献 36附录 37第1章 引 言1.1 论文选题的背景及意义 嵌入式Internet是本世纪计算机世界的一项热门技术。目前,嵌入式系统已经成为我们生活的一部分,

8、应用领域不断扩大。嵌入式设备的联网已经开始。但是,由于嵌入式系统资源有限,一些传统的Internet技术和设备无法直接应用。这种趋势使着嵌入式Internet技术的产生和迅速发展。嵌入式 Internet(简称EI, Embedded Internet)通常可以理解为把TCP/IP协议作为一种嵌入式的应用,从而实现嵌入式设备Internet的技术1 。近年来以单片机(Micro Computer Unit,MCU)为代表的嵌入式系统在工业探测系统、智能仪器、智能家电和信息家电领域得到了广泛应用。如今嵌入式系统带来的年产值早己超过万亿美元,1997年来自美国嵌入式系统大会的报告指出,未来几年仅基

9、于嵌入式的全数字电视产品,就将在美国产生一个每年上千亿美元的新市场2。在这样的背景下,嵌入网络得以快速发展,目前世界许多国家的科研机构和各大公司纷纷加入了嵌入式Internet技术的研究行列。另据网络专家预测,将来在Internet上传输的信息中,将有70%的信息来自于小型嵌入式系统3。现正的我们可以说是正由PC机成熟技术向嵌入式产品转化的后PC时期。因此,研究嵌入式系统的Internet接入技术,将会有极具现实意义和经济价值。如何利用单片机接入Internet网络是当今最热门的技术之一。鉴于8/16位单片机大量存在于嵌入式领域,在单片机上实现TCP/IP协议时嵌入式Internet的关键技术

10、之一。本文在这样的背景下,试图开展一些有益的研究。1.2 本文主要工作 本文主要工作是将TCP/IP协议嵌入低档单片机中。通过89C51系列单片机和网卡芯片RTL8019AS在单片机上实现Internet接入,在对TCP/IP协议深入分析的基础上,对TCP/IP协议栈进行合理的简化后嵌入到单片机中。具体的工作有:1. 对TCP/IP协议嵌入低档单片机的硬件系统框图的设计。2. 对TCP/IP协议栈进行研究,并分析各协议,完成软件结构的总体规划设计。3. 对我们需要的协议进行必要的精简,以达到软件的实现。课题的难点在于要对TCP/IP协议熟悉,要对其有较为全面和深入的研究,由于低档单片机资源有限

11、,就必须根据需求对TCP/IP协议进行精简,精简后固化到单片机中实现单片机中数据的远程传输。第2章 方案的选取 嵌入式Internet技术的实现方法有很多种,体系结构不同、使用的芯片不同采用的底层技术不同,采用的软件技术不同等等。大体可有以下几种方式:1. PC网关与专用网结合接入Internet 嵌入式系统和PC网关连接通信,连接方式采用RS482、RS232、RS485等总线技术组成专用网。在专用网中由PC网关实现TCP/IP协议,并完成与Internet连接,实现嵌入式系统与Internet之间的信息交换。PC网关为嵌入式系统提供通信和管理服务。如安全防护、协议处理、监听设备的运行情况、

12、向外界则提供Web 服务器等。这种技术需要一个专用的PC网关,而且PC网关跟嵌入式系统之间通信也会受到网络协议的制约。这种方案对嵌入式系统处理器和资源要求都比较低,开发相对容易,足以解决嵌入式系统与Internet之间通信的问题,特别适合在嵌入式系统多且集中的环境中应用。不足之处在于接入成本高,不适合大范围的推广。该方案适合于大型和昂贵工业设备的上网需求,不适合在信息家电及网络智能等领域推广4。基于这种技术模型,EmWare公司开发出嵌入式微Internet网络技术EMIT5 ( embedded micro internetworking technology)。EMIT由emMicro、e

13、mGateway 和网络浏览器组成,并在MCU内部以软件方式嵌入emNet协议。如图2-1所示。图2-1采用专用嵌入式网络协议方式2. 高性能MCU+RTOS 采用高档片机在 RTOS平台上进行软件的开发,在单片机上实现对协议的处理。由于采用高档单片机,可以实现很多复杂功能。这种方法的缺点是:对程序员的要求高,须对RTOS和TCP/IP协议都要很熟悉,开发周期也较长,难度较大。同时高档单机价格不菲,因此硬件开发成本较高6。如图2-2所示。图2-2在嵌入式实时操作系统RTOS上运行TCP/IP3. 使用专用的嵌入式芯 专用嵌入式芯片是一种内置了通信和控制功能的单片机,采用这种方案的芯片有UbiC

14、om公司的IP2022,iReady公司的Internet Tuner,Seiko Instruments公司的S7600A ,Connect One公司的iChip等7。这些芯片固化了TCP/IP协议栈,支持HTTP,SMTP,MIME,POP3等协议,可进行E_mail的收发及Web浏览。此方案更为方便,无需操作系统,大大的节省资源,开发难度相对较低,要求对TCP/IP 协议与相关接口熟悉,技术实现也相对困难,且对处理器性能要求较高,需要提供大容量存储器。这类芯片功能强,能够实现多种网络协议,一般提供有相应的TCP/IP网络协议栈。但是这种芯片价格偏高,用户需要支付软硬件费用,不易于实现市

15、场的广泛应用。如图2-3所示。图2-3 直接在嵌入式处理器上实现TCP/IP 协议4. 使用普通单片机和网络控制芯片 通过在系统中集成网络接口芯片, 采用软件方式实现TCP/IP协议栈, 使得嵌入式系统具备网络功能从而接入Internt。单片机通过加载TCP/IP协议控制网卡来进行数据的传输,并通过TCP/IP协议接入互联网。远程控制端的操作指令的执行通过网络找到目标,经网卡接口传入单片机,通过在单片机上加载响应的程序来转换成物理帧格式,再让TCP/IP转换成相应的应用层控制指令。这种方法实现起来比较简单,而且可根据实际需要进行功能扩展,但是需要在单片机上实现嵌入式TCP/IP网络协议,软件编

16、程的工作量比较大8。由于采用普通单片机,所以其优点是成本低,单片机体积小,而且产品可以自己搭建,有利于产品的维护和二次开发,易于以极高的性价比向诸多需要实现嵌入式接入Internet的场合推广。本文设计的系统就是采用这种技术方案。第3章 网络协议3.1 TCP/IP分层模型TCP/IP采用分层体系结构,它与开放系统互联OSI模型的层次结构相似。如表2-1所示,它可以分为4层,由低到高依次为:链路层、网际层、传输层和应用层9。表2-1 OSI参考模型与TCP/IP参考模型比较OSI参考模型OSI层次号TCP/IP层次描述主要应用协议应用层7应用层FTP、e-mail和Telnet等表示层6会话层

17、5传输层TCP和UDP传输层4网络层3网际层IP、ICMP和IGMP链路层设备驱动及接口卡数据链路层2物理层1TCP/IP分层模型的四个协议层分层完成如下功能。(1) 第一层 链路层 链路层包括用于协作IP数据在已有网络介质上传输协议。实际上TCP/IP标准并不定义与ISO数据链路层和物理层相对应的功能。相反它定义像地址解析协议这样的协议,提供TCP/IP协议的数据结构和实际物理硬件之间的接口。(2) 第二层 网际层对应于OSI 7层参考模型的网络层,网络层主要解决计算机之间的通信问题,它负责管理不同设备之间的数据交换,它是Internet通信子网的最高层,它所提供的是不可靠的无连接数据报服务

18、,无论传输是否正确,不做验证、不发确认,也不保证分组的正确 顺序。网际层主要有以下协议。 IP协议:使用IP地址确定收发端,提供端到端的“数据报”传递,是TCP/IP协议簇的核心协议。 ICMP协议(网络控制报文协议):处理路由,协助IP层实现报文传送的控制机制,提供错误和信息报告。 ARP协议(正向地址解析协议):将网络层地址转换为链路层地址。 RARP协议(逆向地址解析协议):将链路层地址转换为网络层地址。(3) 第三层 传输层对应于OSI 7层参考模型的传输层,提供两种端到端的通信服务。其中TCP协议提供可靠的数据流运输服务,UDP协议提供不可靠的用户数据服务。该层有以下协议。 TCP协

19、议:传输控制协议,提供可靠的面向连接的数据传输服务。 UDP协议:用户数据报协议,一种无连接的数据传输协议,适合于一次少量数据传输情况,通信子网络相对可靠时,UDP的优越性便会得到充分的体现9。(4) 第四层 应用层对应于OSI 7层参考模型的应用层和表达层,应用层作用是把应用程序的数据传输到传输层,来进行信息的交换。它为应用程序提供各种使用协议,标注的应用层主要有以下协议。 FTP 文件传输协议:为文件传输提供路径,它允许数据从一台主机传送到另一台主机上,我们可以在FTP服务器上下载文件,或者往FTP服务器上传文件。 SMTP 简单邮件传输协议:实现互联网中电子邮件的传输功能。 HTTP 超

20、文本传输协议:用来访问在WWW服务器上的各种页面。 DNS 域名服务系统:用于实现主机域名到IP地址之间的转换。 TELNE虚拟终端服务:实现互联网中的工作站登陆到远程服务器的能力。 NFS网络文件系统:用于实现网络中不同主机之间的文件共享。 RIP路由信息协议:用于网络设备之间交换路由信息。3.2 数据封装当应用程序用TCP传送数据时,数据被传送入协议栈中,之后逐个通过每一层直到被当做一串比特流送入网络。其中每一层对收到的信息都要增加一些首部信息,必要时还要增加尾部信息,这个过程如图3-1所示。TCP传给IP的数据单元通常称TCP报文段,IP传给链路层的数据单元称作IP数据报,通过以太网传输

21、的比特流称作帧。以太网数据帧的物理特性是其长度必须在46B1500B之间10。确切的说,图3-1中所示IP与链路接口之间传送的数据单元应该是分组,分组可以是一个IP数据报,也可以是IP数据报的一个片。图3-1 数据进入协议栈时的封装过程TCP和UDP都用一个16bit的端口号区分不同的应用程序,并将源端口号与目的端口号分别放入报文首部里,由于TCP、UDP、ICMP跟IGMP都要向IP传送数据,因此IP必须在生成的IP首部添加某种标识。1表示ICMP协议,2表示IGMP协议,6表示TCP协议,17表示UDP协议。而链路接口分别要接收和发送IP、ARP和RARP数据,因此也需要在以太网帧首部中加

22、入标识,以指明生成数据的网络协议层。所以,以太网的帧首部也有一个16bit的帧类型域这就是数据报文的封装,应用层数据是被逐层封装,直到数据链路层。要指出的是UDP数据与TCP数据唯一不同是UDP传给IP的信息单元称作UDP数据报,而且UDP的首部长为8B。3.3 数据帧分用 当目的主机收到一个以太网数据帧是,数据就开始从协议战中由底向上传送,与此同时去掉报文首部被各层协议加上的。每层协议盒都会检查报文首部中的协议标识,以确定接受数据的上层协议,这个过程称作分用10。图3-2显示这个如何过程如何发生的。图3-2 以太网数据帧的分用过程 3.4 协议层简介3.4.1 网际层协议网际协议是TCP/I

23、P协议最重要的组成部分,是整个协议族的核心,主要负责网络层IP分组的传输。它位于网际层,为运输层提供服务,并从网络接入层请求服务。IP提供不可靠的、无连接的、尽最大努力交付的分组传输机制。IP提供了3个重要定义11:1) IP定义了数据传输所用的基本单元,及规定了传输的数据格式。2) IP规定了IP分组的路由机制。3) 除了数据格式和路由机制以外,IP还包括了一组体现不可靠分组交付思路的规则。这些规则指明了主机和路由器应该如何处理IP分组、何时及如何发现错误信息以及在什么情况下可以放弃分组等等。IP是TCP/IP互联网设计里最基础的部分。3.4.1.1 IP地址分配1.IP地址计算机网络内的每

24、台计算机必须具有唯一的身份标识符9。在TCP/IP协议簇中,这种标识符叫做IP地址。IP地址有两部分组成:网络号和主机号。其中网络号标识一个物理的网络,同一个网络上所有主机需要同一个网络号,该号在互联网中是唯一的;而主机号确定网络中的一个工作端、服务器、路由器或其它TCP/IP主机。对于同一网络号而言,主机号是唯一的。IP地址有两种表示形式:二进制表示和点分十进制表示。在IPv4中使用的IP地址是32位的二进制地址。但是为了是32位的二进制地址更简洁和便于阅读,通常采用点分十进制。在点分十进制中,每个IP地址的长度为4个字节,有4个8位域组成,称之为八为体。八为体由句点“.”分开,来表示为一个

25、0255之间的十进制书。IP地址的4个域分别标明了网络号和主机号。 目前,因网络大小不同,Internet定义了5种IP地址类型:A类、B类、C类、D类、E类。如表3.1所示。 表3.1 IP地址分类地址类型特征地址位开始地址结束地址A类0B0.0.0.0127.255.255.255B类10B128.0.0.0191.255.255.255C类110B192.0.0.0223.255.255.255D类1110B224.0.0.0239.255.255.255E类1111B240.0.0.0255.255.255.255A类地址:用于支持特大型的网络,最高位为0,紧跟的7位表示网络号,其余2

26、4为表示主机号,总共允许有126个网络。 B类地址:用于支持大型和中型网络。最高两位总置于二进制的10,允许有16384个网络。 C类地址:用于局域网。高3位置为二进制110,允许2097152个网络。D类地址:用于多路广播组用户。高4位总置为110,余下的为用于标明客户机所属的组E类地址:E类地址没有网络号和主机号之分,最高位置为1111。整个E类地址是一种不用的实验性地址。3.4.1.2 地址解析协议 要想在网上实现通信,主机必须知道对方主机的硬件地址9。IP地址编号只是一个逻辑地址,不是硬件地址。在网络中传递的帧必须含有目的地址的硬件地址。所以在进行底层数据传输的时候必须将IP地址转换为

27、硬件地址,即介质访问控制地址。ARP协议就是将IP地址映射为硬件地址的过程。1. ARP缓存ARP在缓存中保存地址映射以备用。ARP缓存保存有动态和静态项。动态是自动添加和删除的,静态项则是保留Cache中直至计算机重启。2. 主机IP地址解析为硬件地址 ARPS是使用映射表进行工作。映射表指的是地址解析协议高速缓存。(1) 当一台主机须要与另一台主机通信时,初始化ARP请求。当该IP断定IP地址是本地时,源主机开始在ARP缓存中查找目标主机的硬件地址。(2) 如果找不到映射,ARP建立一个请求,源主机IP地址和硬件地址都会包括在请求中,这个请求通过广播,是所有本地主机都可以接受处理。(3)

28、本地网上的每个主机都收到广播并寻找与之相符的IP地址。(4) 当目标主机断定请求的IP地址自己相符时,会直接发送一个ARP回复,将自己的硬件地址传给源主机。让源主机的IP地址和硬件地址更新它的ARP缓存。源主机收到回复后就建立起了通信。3解析远程IP地址ARP广播的源主机是缺省网关的。目标IP地址如果是远程主机,ARP将广播一个路由器的地址。(1) 通信请求初始化时,得知目标IP地址为远程地址。源主机将在本地路由表中查找,如果没有找到,将认为是缺省网关的IP地址。在ARP缓存中查找符合网关记录的IP地址。(2) 如果没有找该网关记录,ARP将广播请求网关地址不在是目标主机的地址。路由用自己的硬

29、件地址回应源主机的请求。源主机则将数据报传送到路由器以传送到目标主机的网络,最终到达目标主机。(3) 在路由器上,由IP决定目标IP地址是本地地址还是远程地址。若是本地,路由器用ARP获得硬件地址。远程的话,路哟器则在路由表中找该网关,然后通过ARP获得硬件地址。数据报将直接发送下一个目标主机。(4) 目标主机接收到请求后,形成ICMP响应。由于源主机在远程网上,将在本地路由表找源主机网的网关。找到网关后,ARP就获得了它的硬件地址。(5) 若该网关硬件地址不在ARP中,则通过ARP广播获得。一旦获得硬件地址,ICMP响应就传送到路由器上,后传到源主机。3.4.1.3 IP分片/重组 正如上文

30、3.2中描述的一样,物理网络层一般要限制每次发送帧的的最大长度。任何时候IP层接受到一份要发送的IP数据报是,它要判断向本地哪个接口发送数据,并查询该接口获得其(MTU最大运输单元也称最大数据长度),IP把MTU跟数据报长度比较。若数据报长度大于MTU就需要分片。IP协议进行分段的原则就是,一个较长的IP分组经过一个MTU值较小的物理网络时,会把长分组分割成较小的分组进行传输。这个过程称为分片,每个分片包含一个分片首部,用来控制数据的分片和重组,它含有标识、标志和分片偏移3个字段12。把一份数据报分片以后,只有到达目的地后才进行重组。重组是由目的端IP层完成。IP首部中包含的数据分为分片和重组

31、提供了足够的信息。3.4.1.4 ICMP协议 IP协议不是一个可靠的协议,它不能保证数据被送达。自然地为保证数据的送达应该由其它模块来完成。这个协议就是ICMP协议,经常被认为是IP层的一个组成部分13。所有的IP服务器和主机都支持这个协议。 当传送的IP数据包发生错误,如主机不可达,路由不可达等,ICMP协议将会把错误信息封包,然后传送给主机,让主机处理错误。为防止ICMP的无限产生和传送,ICMP差错报文不会产生ICMP报文。 ICMP协议提供的差错服务有以下:(1) 目的站不可达 当路由器无法转发或者交付IP分组时,就丢弃这个分组,然后向源站发回目的站不可达的报文。(2) 超时 为避免循环路由,每个IP数据报的TTL倒计时为0时,就丢弃该分组,同时向源站发送超时文本。(3) 源站抑制 由于IP中没有流量控制机制,源站抑制报文为IP增加了流量控制的能力。当路由或目的站因为拥塞丢弃分组时,它就向分组的源站发送抑制报文。3.4.2 传输控制协议3.4.2

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1