毕业设计(论文)基于单片机的TCP IP技术研究及应用.doc

上传人:仙人指路1688 文档编号:2401081 上传时间:2023-02-17 格式:DOC 页数:44 大小:334KB
返回 下载 相关 举报
毕业设计(论文)基于单片机的TCP IP技术研究及应用.doc_第1页
第1页 / 共44页
毕业设计(论文)基于单片机的TCP IP技术研究及应用.doc_第2页
第2页 / 共44页
毕业设计(论文)基于单片机的TCP IP技术研究及应用.doc_第3页
第3页 / 共44页
毕业设计(论文)基于单片机的TCP IP技术研究及应用.doc_第4页
第4页 / 共44页
毕业设计(论文)基于单片机的TCP IP技术研究及应用.doc_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《毕业设计(论文)基于单片机的TCP IP技术研究及应用.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机的TCP IP技术研究及应用.doc(44页珍藏版)》请在三一办公上搜索。

1、 基于单片机的TCP/IP技术研究及应用摘 要今天,嵌入式Internet的应用己经深入到日常生活的各个方面。研究嵌入式TCP/IP协议在内部资源有限微处理器上的实现,具有重要的现实意义和经济价值。论文首先介绍了嵌入式系统的组成及对嵌入式Internet产生。通过对现有的嵌入Internet及比较了目前几种单片机接入Internet实现方案的前提下,应用了一种基于单片自身特点的具体的解决方案:嵌入式TCP/IP协议。通过对TCP/IP网络协议的深入分析,对TCP/IP协议进行合理的简化,将其嵌入到内部资源有限的微处理器中,实现以电子邮件方式进行远程数据传输。关键字:嵌入式;TCP/IP;单片机

2、ABSTRACT Today, embedded Internet application already deeply into all aspects of daily life. Research embedded TCP/IP protocol internal resources are limited in the realization of the microprocessor, have important practical significance and economic value. It firstly introduces the embedded system

3、composition and for embedded Internet generation. Based on the existing embedded Internet and compared several recent microcontroller access Internet, under the precondition of realizing scheme used a based on single chip the characteristics of its own specific solution: embedded TCP/IP protocol. Ba

4、sed on TCP/IP network protocol, the in-depth analysis of TCP/IP protocol, reasonable simplified embedded in its limited resources to the interior, so as to realize microprocessor by E-mail remote data transmission. Key words:摘 要IIABSTRACTIII第1章 引 言31.1 论文选题的背景及意义31.2 本文主要工作3第2章 嵌入式INTERNET系统组成52.1 嵌

5、入式系统概述52.1.1 嵌入式系统的概念机特点52.1.2 嵌入式系统的组成52.1.3嵌入式操作系统62.2 嵌入式Internet72.2.1 嵌入式Internet概念及特点72.2.2 单片机接入Internet方案8第3章 网络协议103.1 TCP/IP分层模型103.2 数据封装113.3 数据帧分用123.4 协议层简介133.4.1 网际层协议133.4.1.1 IP地址分配143.4.1.2 地址解析协议153.4.1.4 ICMP协议163.4.2 传输控制协议163.4.2.1 TCP连接和释放163.4.2.2 用户数据报协议18第四章 系统总体设计194.1 硬件

6、设计194.2 TCP/IP协议层选择及分析204.2.1 链路层协议选择及分析214.2.2 网络层协议选择及分析214.2.3 传输层协议选择及分析214.2.4 应用层协议选择22第五章 TCP/IP协议栈的实现245.1 ARP协议的实现245.1.1 ARP分组格式及数据结构245.1.2 ARP协议软件实现245.2 IP协议及其实现265.2.1 IP数据报格式275.2.2 IP软件实现275.3 ICMP报文协议的实现295.4 TCP协议的实现305.4.1 TCP的报文段305.4.2 TCP协议的实现315.4.2.1 运输控制块TCB315.4.2.2 处理传入数据模

7、块325.4.2.3 处理数据输出模块325.4.2.4 定时管理器345.5 SMTP协议的实现365.5.1 客户机与服务器之间的交互365.5.2 SMTP邮件协议的实现37结束语39致谢40参考文献41第1章 引 言1.1 论文选题的背景及意义嵌入式Internet是本世纪计算机世界的一项热门技术。目前,嵌入式系统已经成为我们生活的一部分,在家用电器、工业设备、医疗设备及汽车应用等领域的应用不断扩大。嵌入式设备的联网已经开始。但是,由于嵌入式系统资源有限,一些传统的Internet技术和设备无法直接应用。这种趋势使着嵌入式Internet技术的产生和迅速发展。嵌入式 Internet(

8、简称EI, Embedded Internet)通常可以理解为把TCP/IP协议作为一种嵌入式的应用,从而实现嵌入式设备Internet的技术。近年来以单片机(Micro Computer Unit,MCU)为代表的嵌入式系统在工业探测系统、智能仪器、安防系统、智能家电和信息家电领域得到了广泛应用。如果嵌入式系统能够连接到Internet上,则用户可以方便、快捷、低廉地通过网络进行远程控制、监测和信息传送。Internet技术和嵌入式技术的相互融合,不仅为嵌入式系统的设计和开发带来了前所未有的发展空间和机遇,也使得Internet应用进入了嵌入式Internet时代。据专家预测,未来在Inte

9、rnet上的新增业务和应用中,将有45%的增长来自于小型嵌入式系统。因此,嵌入式系统的Internet接入技术,将会有极其广阔的应用前景。如何利用单片机接入Internet网络成为未来最热门的技术之一。鉴于8/16位单片机大量存在于嵌入式领域,在单片机上实现TCP/IP协议时嵌入式Internet的关键技术之一。本文在这样的背景下,试图开展一些的研究。1.2 本文主要工作 本文主要工作是将TCP/IP协议嵌入低档单片机中。通过89C51系列单片机和网卡芯片RTL8019AS在单片机上实现Internet接入,在对TCP/IP协议深入分析的基础上,对TCP/IP协议栈进行合理的简化后嵌入到单片机

10、中。具体的工作有:1. 将TCP/IP协议嵌入低档单片机的硬件系统的设计和实现。2. 对TCP/IP协议栈进行研究,并分析各协议,完成软件结构的总体设计。3. 对我们需要的协议进行必要的精简和修改,以达到软件的实现。课题的难点在于要对TCP/IP协议熟悉,要对其有较为全面和深入的研究,由于低档单片机资源有限,就必须根据需求对TCP/IP协议进行精简,而不能完整的实现TCP/IP协议。第2章 嵌入式Internet系统组成2.1 嵌入式系统概述2.1.1 嵌入式系统的概念机特点基于IEEE的定义,嵌入式系统是“控制、监视或者辅助设备、机器和车间运行的装置”。这主要是从应用上加以定义的,从中可以看

11、出嵌入式系统是软件和硬件的综合体。不过,这个定义还不能充分体现嵌入式系统的精髓。目前,国内普遍认同的一个定义是:以应用为中心、以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 可以从以下几个方面理解嵌入式系统的定义。嵌入式系统是面向用户、面向产品、面向应用的,它必须与具体应用相结合才会具有生命力、才更具有优势。 嵌入式系统是将先进的计算机技术、半导体技术和电子技术以及各个行业的具体应用相结合的产物。嵌入式系统必须根据应用需求能够对软硬件惊醒裁剪,满足应用系统的功能、可靠性、成本、体积等要求。从嵌入式定义可以看出嵌入式系统几个重要特征。1.

12、 系统内核小。2. 专用性强。3. 系统精简。4. 高实时性。2.1.2 嵌入式系统的组成一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成,如2-1所示。.嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。执行装置也被称为被控对象,它可以接受嵌入式计算机系统发出的命令,执行规定的操作或任务。嵌入式系统在功能及实现上都有很严格的限制,必须考虑实时性、体积、功耗及散热等,同时要满足可靠性及安全性。嵌入式系统硬件层的核心是嵌入式微处理器。目前全世界嵌入式处理器的品种已经有1000多种,体系结构有30多个系列,其中主流的体系有ARM、PowerPC、x86、

13、SH和MIPS等。 被控对象传感器2驱动器2传感器1驱动器1驱动器N驱动器N应用软件层系统软件层中间层 BSP/HAL 硬件抽象层/板极支持包嵌入式计算机系统 嵌入式微处理器硬件层实时操作系统(RTOS)应用程序文件系统任务管理图形用户接口人机交互接口D/AA/DI/O通用接口ROMSDRAM图2-1 嵌入式系统的典型组成2.1.3嵌入式操作系统 嵌入式操作系统(Embedded Operating System, EOS)是一种用途广泛的系统软件 ,以前主要用于工业控制和国防领域。EOS负责嵌入系统的全部软硬件资源的分配、任务调度,控制、协调并发活动。它必须体现其所在系统的特征,能够通过装卸

14、某些模块来达到系统所要求的功能。目前,已经有一些比较成功的EOS产品系列。随着Internet技术的发展、信息家电的普及应用及EOS的微型化和专业化,EOS开始从单一的功能向高专业的功能方向发展。嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固话以及应用的专用性等方面具有较为突出的特点。EOS是相对于一般操作系统而言的,它具备了一般操作系统最基本的功能,如任务调度、同步机制、中断处理、文件处理等外,还有如下特点:1. 可装卸性。开放性、可伸缩性的体系结构。2. 强实时性。EOS实时性一般较强,可用于各种设备控制中。3. 操作方便、简单、提供友好的图形GUI、图形界面。4. 统一的接口。

15、提供各种设备驱动接口。5. 提供强大的网络功能,支TCP/IP协议及其他协议,提供IP/TCP/UDP/PPP协议支持及统一的MAC访问层接口,为各种移动计算设备预留接口。6. 强稳定性、弱交互性。固化代码。7. 更好的硬件适应性,也就是良好的移植性。2.2 嵌入式Internet2.2.1 嵌入式Internet概念及特点嵌入式Internet(Embedded Internet)起源于把嵌入式系统与Internet结合起来的这种想法。嵌入式Internet是指:在嵌入式系统应用领域,以Internet技术为基础,使嵌入式系统与Internet相互连接,实现嵌入式系统与Internet之间的

16、资源共享、信息通信和状态控制等功能,这种嵌入式系统与Internet之间的连接与应用就称为嵌入式Internet。嵌入式Internet技术的诞生虽然不算久,但发展却相当迅速,我们还未适应它的时候,很多相关的技术已经出现了,很多大的芯片制造商开始研制功能更强大的嵌入式芯片,软件厂商则开发出了微型的Web服务器、TCP/IP协议栈。由于出现了很多灵活的微控制器,现在可以为用户创造廉价的嵌入式Internet解决方案,8位和16位微控制器都可以接入Internet等大规模网络,例如emWare就已经为开发人员和生产商提供了8位和16位微控制器网络接入解决方案。随着PC机时代的到来,21世纪将是嵌入

17、式Internet的时代。美国贝尔实验室总裁Arun Netravali的一批科学家对此做出了预测:嵌入式Internet“将会产生比PC机时代多成百上千倍的瘦服务器和超级嵌入式瘦服务器”。这些瘦服务器将与我们所能想到的各种物理信息、生物信息相联接,通过Internet网自动地、实时地、方便地、简单地提供给需要这些信息的对象。嵌入式系统接入Internet同PC机接入Internet一样,必须通过相应的通信协议。目前的Internet采用TCP/IP协议,因此嵌入式系统接入Internet最终必须通过TCP/IP协议,对信息进行TCP/IP协议处理,使其变成可以在Internet上传输的IP数

18、据包。Internet网络通信中,TCP/IP协议簇非常庞大,需要占用大量的系统资源。单片机的缺点是资源有限,无法容纳下Internet的TCP/IP协议簇。因此单片机实现嵌入式接入Internet技术的关键是如何在单片机等嵌入式设备的有限资源上实现Internet的网络通信协议栈。其难点在于:如何利用单片机自身有限的资源对信息进行TCP/IP协议处理,使之变成可以在Internet上传输的IP数据包。目前许多机构都在积极探讨利用MCU实现接入Internet技术。2.2.2 单片机接入Internet方案1. PC网关(Gateway)与专用网结合接入Internet emGateway(P

19、C机)文件系统InternetWeb BrowserRS232RS485emMirco应用系统+emnetMCUNet首先嵌入式系统和嵌入式网关连接通信, 连接方式采用传统的RS232, RS482, RS485,IIC、SPI、USB、CAN、LIN 总线等轻量级网络协议。再由嵌入式网关负责实现TCP/IP协议,并与Internet连接,完成嵌入式系统和Internet的信息交互。嵌入式网关向嵌入式系统提供Internet 或Intranet 通信和管理服务。如防火墙、协议转换、监视嵌入式设备的运行状态、向外界提供Web 服务器等。这种技术需要一个专门的嵌入式网关,而且网关和嵌入式系统之间通

20、信也会受到轻量级网络协议的制约。它对嵌入式系统处理器速度、资源要求也比较低,开发难度低,可以解决各种嵌入式系统接入Internet的问题,特别适用于嵌入式系统多且较为集中的场合。缺点是接入成本比较高,不利于大规模推广。该方案比较适合大型或较昂贵工业设备的上网需求,不适合用于低价格设备。基于这种接入技术模型,EmWare公司提出了嵌入式微Internet网络技术EMIT ( embedded micro internetworking technology)。EMIT由emMicro、emGateway 和网络浏览器组成,并在MCU内部以软件方式嵌入emNet协议,如图2-2所示。图2-2图 2

21、-1采用专用嵌入式网络协议方式2. 高性能MCU+RTOS 即用软件方式直接处理TCP/IP协议。目前RTOS的功能越来越强大,大多数都带有TCP/IP协议栈,还具有对图像界面的支持能力。采用这种方法的缺点是:对开发人员的要求高,必须对操作系统和TCP/IP协议都要有一定的熟悉,开发周期也较长,难度相对较大。同时嵌入式操作系统的运行需要占用大量的处理器资源和存储器空间,对硬件配置也有较高的要求,开发成本高。如图2-3所示.RTOSMCUTCP/IPInternet图2-3在嵌入式实时操作系统RTOS上运行TCP/IP3. 使用专用的嵌入式芯 MCU固化TCP/IP协议栈TCP/IPIntern

22、et专用嵌入式芯片是一种内置了通信和控制功能的单片机,采用这种方案的芯片有UbiCom公司的IP2022,Seiko Instruments公司的S7600A ,iReady公司的Internet Tuner,Connect One公司的iChip等。它们固化有TCP/IP协议栈,支持HTTP,SMTP,POP3,MIME等多种协议,可进行Web浏览和E_mail的收发。也可用Scenix公司的8位SX单片机加虚拟外设的方式接入Internet。该方式更方便,不需要操作系统,大大节省了资源,开发难度有所降低,但还是需要熟悉TCP/IP 协议和相关接口,技术实现上也比较困难,且对处理器的性能仍然

23、要求较高,需要大容量的存储器。这类芯片功能强,能够实现多种网络协议,一般提供有相应的TCP/IP网络协议栈。但是这种芯片价格偏高,用户需要支付软硬件费用,不易于实现市场的广泛应用。如图2-4所示。图2-4 直接在嵌入式处理器上实现TCP/IP 协议4. 使用普通单片机和网络控制芯片 通过在系统中集成网络接口芯片, 采用软件方式实现TCP/IP协议栈, 使得嵌入式系统具备网络功能从而接入Internt。单片机加载TCP/IP协议控制以太网网卡进行数据传输,并通过TCP/IP协议联接到互联网。远程控制端的操作通过路由器找到目标后,由网卡芯片的接口传入单片机,通过在单片机中加载的驱动程序转换成物理帧

24、格式,再由TCP/IP协议转换成应用层的控制命令。这种方法实现起来比较简单,而且可根据实际需要进行功能扩展,但是需要在单片机上实现嵌入式TCP/IP网络协议,软件编程的工作量比较大。由于采用普通单片机,所以其优点是成本低,单片机体积小,易于以极高的性价比向诸多需要实现嵌入式接入Internet的场合推广。本文设计的系统就是采用这种技术方案。第3章 网络协议3.1 TCP/IP分层模型TCP/IP采用分层体系结构,它与开放系统互联OSI模型的层次结构相似。如表2-1所示,它可以分为4层,由低到高一次为:网络接口层、网际层、传输层和应用层。表2-1 OSI参考模型与TCP/IP参考模型比较OSI参

25、考模型OSI层次号TCP/IP层次描述主要应用协议应用层7应用层FTP、e-mail和Telnet等表示层6会话层5运输层TCP和UDP传输层4网络层3网络层IP、ICMP和IGMP链路层设备驱动及接口卡数据链路层2物理层1TCP/IP分层模型的四个协议层分层完成如下功能。(1) 第一层 网络接口层 网络接口层包括用于协作IP数据在已有网络介质上传输协议。实际上TCP/IP标准并不定义与ISO数据链路层和物理层相对应的功能。相反它定义像地址解析协议这样的协议,提供TCP/IP协议的数据结构和实际物理硬件之间的接口。(2) 第二层 网际层对应于OSI 7层参考模型的网络层,网络层主要解决计算机之

26、间的通信问题,它负责管理不同设备之间的数据交换,它是Internet通信子网的最高层,它所提供的是不可靠的无连接数据报服务,无论传输是否正确,不做验证、不发确认,也不保证分组的正确 顺序。网际层主要有以下协议。l IP协议(网际协议):使用IP地址确定收发端,提供端到端的“数据报”传递,也是TCP/IP协议簇中处于核心地位的协议。l ICMP协议(网络控制报文协议):处理路由,协助IP层实现报文传送的控制机制,提供错误和信息报告。l ARP协议(正向地址解析协议):将网络层地址转换为链路层地址。l RARP协议(逆向地址解析协议):将链路层地址转换为网络层地址。(3) 第三层 传输层对应于OS

27、I 7层参考模型的传输层,提供两种端到端的通信服务。其中TCP协议提供可靠的数据流运输服务,UDP协议提供不可靠的用户数据服务。该层有以下协议。l TCP协议:传输控制协议,提供可靠的面向连接的数据传输服务。l UDP协议:用户数据报协议,采用无连接数据报传送方式,一次传输少量的情况,如数据查询等,当通信子网相当可靠是,UDP协议的优越性更为突出。(4) 第四层 应用层对应于OSI 7层参考模型的应用层和表达层,应用层是将应用程序的数据传送给传输层,以便进行信息交换。它主要为各种应用程序提供使用协议,标注的应用层主要有以下协议。l FTP 文件传输协议:为文件传输提供路径,它允许数据从一台主机

28、传送到另一台主机上,我们可以从FTP服务器上下载文件,或者向FTP服务器上传文件。l HTTP 超文本传输协议:用来访问在WWW服务器上的各种页面。l DNS域名服务系统:用于实现主机域名到IP地址之间的转换。l SMTP简单邮件传输协议:实现互联网中电子邮件的传输功能。l TELNE虚拟终端服务:实现互联网中的工作站登陆到远程服务器的能力。l NFS网络文件系统:用于实现网络中不同主机之间的文件共享。l RIP路由信息协议:用于网络设备之间交换路由信息。3.2 数据封装当应用程序用TCP传送数据时,数据被传送入协议栈中,之后逐个通过每一层直到被当做一串比特流送入网络。其中每一层对收到的信息都

29、要增加一些首部信息,必要时还要增加尾部信息,这个过程如图3-1所示。TCP传给IP的数据单元称作TCP报文段,IP传给网络接口层的数据单元称作IP数据报,通过以太网传输的比特流称作帧。以太网数据帧的物理特性是其长度必须在46B1500B之间。用户数据用户数据TCP首部14B 20B 20B 4B应用数据应用数据应用数据Appl首部以太网驱动程序以太网首部以太网 尾部应用数据IP首部IP首部TCP首部TCP首部IP报文段TCP报文段以太网帧TCPIP以太网确切的说,图3-1中所示IP和网络接口传送的数据单元应该是分组,分组可以是一个IP数据报,也可以是IP数据报的一个片。图3-1 数据进入协议栈

30、时的封装过程TCP和UDP都用一个16bit的端口号来表示不同的应用程序,并把源端口号和目的端口号分别存入报文首部中,由于TCP、UDP、ICMP跟IGMP都要向IP传送数据,因此IP必须在生成的IP首部中加入某种标势。1表示ICMP协议,2表示IGMP协议,6表示TCP协议,17表示UDP协议。而网络接口分别要接收和发送IP、ARP和RARP数据,因此也需要在以太网帧首部中加入标识,以指明生成数据的网络协议层。所以,以太网的帧首部也有一个16bit的帧类型域这就是数据报文的封装,应用层数据是被逐层封装,直到数据链路层。要指出的是UDP数据与TCP数据唯一不同是UDP传给IP的信息单元称作UD

31、P数据报,而且UDP的首部长为8B。3.3 数据帧分用 当目的主机收到一个以太网数据帧是,数据就开始从协议战中由底向上传送,同时去掉各层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识,以确定接受数据的上层协议,这个过程称作分用。图3-2显示这个如何过程如何发生的。应用程序应用程序应用程序应用程序UDPTCP ICMPIGMPIPARPRARP以太网驱动程序进入的帧以TCP或UDP首部端口号进行分用以IP首部中的协议值进行分用以以太网首部中的帧类型进行分用图3-2 以太网数据帧的分用过程 3.4 协议层简介3.4.1 网际层协议网际协议时TCP/IP协议最重要的组成部分,是整个协议

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

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

34、域分别标明了网络号和主机号。目前,因网络大小不同,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位表示网络号,其余24为表示主机号,总共允许有126个网络。

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

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

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

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

39、的最大长度。任何时候IP层接受到一份要发送的IP数据报是,它要判断向本地哪个接口发送数据,并查询该接口获得其MTU(最大运输单元也称最大数据长度),IP把MTU跟数据报长度比较。若数据报长度大于MTU就需要分片。IP协议进行分段的原则就是,根据源端所在物理网的MTU选择最大的数据报长度,数据报经过MTU较小的网络时分成较小部分进行传输。数据头标中有3个字段用来控制数据报的分段和重组,它们是标识符字段、标识字段和分段偏移量字段。把一份数据报分片以后,只有到达目的地后才进行重组。重组是由目的端IP层完成。IP首部中包含的数据分为分片和重组提供了足够的信息。3.4.1.4 ICMP协议 IP协议不是

40、一个可靠的协议,它不能保证数据被送达。自然地为保证数据的送达应该由其它模块来完成。这个协议就是ICMP协议,它是IP中不可分割的一部分。所有的IP服务器和主机都支持这个协议。 当传送的IP数据包发生错误,如主机不可达,路由不可达等,ICMP协议将会把错误信息封包,然后传送给主机,让主机处理错误。为防止ICMP的无限产生和传送,ICMP差错报文不会产生ICMP报文。 ICMP协议提供的差错服务有以下(1) 目的站不可达 当路由器无法转发或者交付IP分组时,就丢弃这个分组,然后向源站发回目的站不可达的报文。(2) 超时 为避免循环路由,每个IP数据报的TTL倒计时为0时,就丢弃该分组,同时向源站发

41、送超时文本。(3) 源站抑制 由于IP中没有流量控制机制,源站抑制报文为IP增加了流量控制的能力。当路由或目的站因为拥塞丢弃分组时,它就向分组的源站发送抑制报文。3.4.2 传输控制协议3.4.2.1 TCP连接和释放TCP是一种面向连接的、全手工的、可靠的数据流传输协议。它在每一次数据传输前先要在通信双方建立一条连接。TCP中建立连接采用3次握手如图3-3所示最简单情况下进行的连接。客户发送SYNSEQ=x服务器接收到SYN信号发送SYN+ACKSEQ=y,ACK=x+1接收到SYN+ACK发送ACKSEQ=x+1,ACK=y+1接收到ACK时间图3-3 连接建立三次握手示意图步骤如下: 1

42、. 客户端发送第一个报文段,即SYN段,这个SYN报文段为报文段1。SYN标志置1,ACK标志置0。定义客户端打算建立连接的愿望。2. 服务器如果同意连接则发回报文段2,报文段2中ACK标志为1,SYN标志为1。报文段2也称为SYN+ACK文段。3.客户端发送报文段3。这是一个确认报文段。报文段中ACK标志为1,SYN标志为0。在这3个报文段的交换过程中,即3次握手过程完成连接。在数据传输结束后,通信双方都可以发出释放连接请求。一个TCP连接是全双工的,每个方向须要单独的进行关闭。当双方没有数据发送时就发送一个终止位FIN。TCP连接释放需要4次握手,如图3-4所示步骤如下:1.首先要进行关闭

43、的客户端TCP发送第一个报文段,即FIN报文段,FIN标志置1。执行主动关闭。2.服务器段TCP发送第二个报文段,即ACK报文段,用以确认FIN报文段。3.服务器端TCP可以继续向客户端发送数据,当服务器没数据发送时,发送第三个报文段,即FIN报文段,FIN标志置1。关闭数据传送。4.客户端TCP发送第四个报文段,即ACK报文段,以确认服务器段TCP收到了FIN报文段。TCP对所有的报文采取一种简单的格式,包括携带数据的报文,甚至确认和建立连接和释放连的消息。TCP用滑动窗口来实现流量控制机制,接收者用该字段告诉发送者还有多少缓冲空间可以用。传送者一次发送的数量总小于可用缓冲去,则不会引起溢出

44、。当接收者处理完一定的数据后,便向发送者发送ACK,指出缓冲区空间已增加。发送者经确认及被告知窗口大小来决定发送数据的多客户(应用程序关闭连接)发送FIN,SEQ=x接收到ACK不发送报文收到FIN发送ACK,ACK=y+2,SEQ=x+1时间服务器接收到FIN,发送ACKACK=x+1(应用程序关闭)发送FINACK=x+1,SEQ=y+1接收到ACK少。TCP提供可靠的服务所使用的方法之一就是确认和重传。图3-4 TCP连接释放的4次握手3.4.2.2 用户数据报协议UDP也是IP之上的另外一个传输层协议。UDP与TCP不同,它是一个简单的面向数据报的运输层协议,它是一种无连接的传输层协议

45、,它不提供可靠性的服务。与TCP不同,它并不提供给IP协议可靠机制、流量控制及错误恢复等功能。使用UDP数据服务的应用程序须自己提供可靠性。另外,UDP也不保证数据的传输顺序。UDP是轻权协议,开销小,因其简单,适用于不需要TCP可靠机制的情形。第四章 系统总体设计在本系统的解决方案中,以MCS-51系列的单片机为CPU,负责TCP/IP协议栈实现的主体工作。以太网的接品芯片,负责收发以太数据包。实现数据的远程传输。在对数据的传输方式上选取电子邮件的方式,就是在单片机上实现的电子邮件发送功能,也就实现了对数据的远程传输。系统在单片机上实现嵌入式TCP/IP协议的方式上,选用“单片机+以太网网卡”方案实现,此种方案充分利用现有资源,节约成本,适合小系统的开发。 4.1 硬件设计完整的TCP/IP协议是由许多个协议组成的协议簇,其功能强大,结构复杂,占用系统资源较大。目前嵌入式系统按性能可大致分为两种:RTOS+高档32位CPU的系统和由8/16位MCU组成的系统。对TCP/IP协议实现,前者软硬件资源丰富,实现起来很容易,而后者由于资源相对有限,需直接对硬件操作而较为困难。因此在后者上实现TCP/IP协议

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号