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

上传人:b****2 文档编号:4858398 上传时间:2023-05-04 格式:DOCX 页数:42 大小:409.68KB
下载 相关 举报
本科论文基于单片机的网络通讯协议研究及应用基于单片机的TCPIP技术研究及应用Word格式文档下载.docx_第1页
第1页 / 共42页
本科论文基于单片机的网络通讯协议研究及应用基于单片机的TCPIP技术研究及应用Word格式文档下载.docx_第2页
第2页 / 共42页
本科论文基于单片机的网络通讯协议研究及应用基于单片机的TCPIP技术研究及应用Word格式文档下载.docx_第3页
第3页 / 共42页
本科论文基于单片机的网络通讯协议研究及应用基于单片机的TCPIP技术研究及应用Word格式文档下载.docx_第4页
第4页 / 共42页
本科论文基于单片机的网络通讯协议研究及应用基于单片机的TCPIP技术研究及应用Word格式文档下载.docx_第5页
第5页 / 共42页
本科论文基于单片机的网络通讯协议研究及应用基于单片机的TCPIP技术研究及应用Word格式文档下载.docx_第6页
第6页 / 共42页
本科论文基于单片机的网络通讯协议研究及应用基于单片机的TCPIP技术研究及应用Word格式文档下载.docx_第7页
第7页 / 共42页
本科论文基于单片机的网络通讯协议研究及应用基于单片机的TCPIP技术研究及应用Word格式文档下载.docx_第8页
第8页 / 共42页
本科论文基于单片机的网络通讯协议研究及应用基于单片机的TCPIP技术研究及应用Word格式文档下载.docx_第9页
第9页 / 共42页
本科论文基于单片机的网络通讯协议研究及应用基于单片机的TCPIP技术研究及应用Word格式文档下载.docx_第10页
第10页 / 共42页
本科论文基于单片机的网络通讯协议研究及应用基于单片机的TCPIP技术研究及应用Word格式文档下载.docx_第11页
第11页 / 共42页
本科论文基于单片机的网络通讯协议研究及应用基于单片机的TCPIP技术研究及应用Word格式文档下载.docx_第12页
第12页 / 共42页
本科论文基于单片机的网络通讯协议研究及应用基于单片机的TCPIP技术研究及应用Word格式文档下载.docx_第13页
第13页 / 共42页
本科论文基于单片机的网络通讯协议研究及应用基于单片机的TCPIP技术研究及应用Word格式文档下载.docx_第14页
第14页 / 共42页
本科论文基于单片机的网络通讯协议研究及应用基于单片机的TCPIP技术研究及应用Word格式文档下载.docx_第15页
第15页 / 共42页
本科论文基于单片机的网络通讯协议研究及应用基于单片机的TCPIP技术研究及应用Word格式文档下载.docx_第16页
第16页 / 共42页
本科论文基于单片机的网络通讯协议研究及应用基于单片机的TCPIP技术研究及应用Word格式文档下载.docx_第17页
第17页 / 共42页
本科论文基于单片机的网络通讯协议研究及应用基于单片机的TCPIP技术研究及应用Word格式文档下载.docx_第18页
第18页 / 共42页
本科论文基于单片机的网络通讯协议研究及应用基于单片机的TCPIP技术研究及应用Word格式文档下载.docx_第19页
第19页 / 共42页
本科论文基于单片机的网络通讯协议研究及应用基于单片机的TCPIP技术研究及应用Word格式文档下载.docx_第20页
第20页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

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

《本科论文基于单片机的网络通讯协议研究及应用基于单片机的TCPIP技术研究及应用Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《本科论文基于单片机的网络通讯协议研究及应用基于单片机的TCPIP技术研究及应用Word格式文档下载.docx(42页珍藏版)》请在冰点文库上搜索。

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

3.1TCP/IP分层模型5

3.2数据封装6

3.3数据帧分用7

3.4协议层简介8

3.4.1网际层协议8

3.4.1.1IP地址分配9

3.4.1.2地址解析协议10

3.4.1.3IP分片/重组11

3.4.1.4ICMP协议11

3.4.2传输控制协议12

3.4.2.1TCP连接和释放12

3.4.2.2用户数据报协议13

第4章系统总体设计14

4.1硬件总体功能结构设计14

4.2TCP/IP协议层选择及分析15

4.2.1链路层协议选择及分析16

4.2.2网络层协议选择及分析16

4.2.3传输层协议选择及分析16

4.2.4应用层协议选择17

第5章TCP/IP协议栈的实现19

5.1ARP协议的实现19

5.1.1ARP分组格式19

5.1.2ARP协议软件实现19

5.2IP协议及其实现22

5.2.1IP数据报格式22

5.2.2IP软件实现22

5.3ICMP报文协议的实现24

5.4TCP协议的实现25

5.4.1TCP的报文段25

5.4.2TCP协议的实现26

5.4.2.1运输控制块TCB26

5.4.2.2处理传入数据模块27

5.4.2.3处理数据输出模块28

5.4.2.4定时管理器29

5.5SMTP协议的实现31

5.5.1客户机与服务器之间的交互31

5.5.2SMTP邮件协议的实现32

第6章结束语34

致谢35

参考文献36

附录37

第1章引言

1.1论文选题的背景及意义

嵌入式Internet是本世纪计算机世界的一项热门技术。

目前,嵌入式系统已经成为我们生活的一部分,应用领域不断扩大。

嵌入式设备的联网已经开始。

但是,由于嵌入式系统资源有限,一些传统的Internet技术和设备无法直接应用。

这种趋势使着嵌入式Internet技术的产生和迅速发展。

嵌入式Internet(简称EI,EmbeddedInternet)通常可以理解为把TCP/IP协议作为一种嵌入式的应用,从而实现嵌入式设备Internet的技术[1]。

近年来以单片机(MicroComputerUnit,MCU)为代表的嵌入式系统在工业探测系统、智能仪器、智能家电和信息家电领域得到了广泛应用。

如今嵌入式系统带来的年产值早己超过万亿美元,1997年来自美国嵌入式系统大会的报告指出,未来几年仅基于嵌入式的全数字电视产品,就将在美国产生一个每年上千亿美元的新市场[2]。

在这样的背景下,嵌入网络得以快速发展,目前世界许多国家的科研机构和各大公司纷纷加入了嵌入式Internet技术的研究行列。

另据网络专家预测,将来在Internet上传输的信息中,将有70%的信息来自于小型嵌入式系统[3]。

现正的我们可以说是正由PC机成熟技术向嵌入式产品转化的后PC时期。

因此,研究嵌入式系统的Internet接入技术,将会有极具现实意义和经济价值。

如何利用单片机接入Internet网络是当今最热门的技术之一。

鉴于8/16位单片机大量存在于嵌入式领域,在单片机上实现TCP/IP协议时嵌入式Internet的关键技术之一。

本文在这样的背景下,试图开展一些有益的研究。

1.2本文主要工作

本文主要工作是将TCP/IP协议嵌入低档单片机中。

通过89C51系列单片机和网卡芯片RTL8019AS在单片机上实现Internet接入,在对TCP/IP协议深入分析的基础上,对TCP/IP协议栈进行合理的简化后嵌入到单片机中。

具体的工作有:

1.对TCP/IP协议嵌入低档单片机的硬件系统框图的设计。

2.对TCP/IP协议栈进行研究,并分析各协议,完成软件结构的总体规划设计。

3.对我们需要的协议进行必要的精简,以达到软件的实现。

课题的难点在于要对TCP/IP协议熟悉,要对其有较为全面和深入的研究,由于低档单片机资源有限,就必须根据需求对TCP/IP协议进行精简,精简后固化到单片机中实现单片机中数据的远程传输。

第2章方案的选取

嵌入式Internet技术的实现方法有很多种,体系结构不同、使用的芯片不同

采用的底层技术不同,采用的软件技术不同等等。

大体可有以下几种方式:

1.PC网关与专用网结合接入Internet

嵌入式系统和PC网关连接通信,连接方式采用RS482、RS232、RS485等总线技术组成专用网。

在专用网中由PC网关实现TCP/IP协议,并完成与Internet连接,实现嵌入式系统与Internet之间的信息交换。

PC网关为嵌入式系统提供通信和管理服务。

如安全防护、协议处理、监听设备的运行情况、向外界则提供Web服务器等。

这种技术需要一个专用的PC网关,而且PC网关跟嵌入式系统之间通信也会受到网络协议的制约。

这种方案对嵌入式系统处理器和资源要求都比较低,开发相对容易,足以解决嵌入式系统与Internet之间通信的问题,特别适合在嵌入式系统多且集中的环境中应用。

不足之处在于接入成本高,不适合大范围的推广。

该方案适合于大型和昂贵工业设备的上网需求,不适合在信息家电及网络智能等领域推广[4]。

基于这种技术模型,EmWare公司开发出嵌入式微Internet网络技术EMIT[5](embeddedmicrointernetworkingtechnology)。

EMIT由emMicro、emGateway和网络浏览器组成,并在MCU内部以软件方式嵌入emNet协议。

如图2-1所示。

图2-1采用专用嵌入式网络协议方式

2.高性能MCU+RTOS

采用高档片机在RTOS平台上进行软件的开发,在单片机上实现对协议的处理。

由于采用高档单片机,可以实现很多复杂功能。

这种方法的缺点是:

对程序员的要求高,须对RTOS和TCP/IP协议都要很熟悉,开发周期也较长,难度较大。

同时高档单机价格不菲,因此硬件开发成本较高[6]。

如图2-2所示。

图2-2在嵌入式实时操作系统RTOS上运行TCP/IP

3.使用专用的嵌入式芯

专用嵌入式芯片是一种内置了通信和控制功能的单片机,采用这种方案的芯片有UbiCom公司的IP2022,iReady公司的InternetTuner,SeikoInstruments公司的S7600A,ConnectOne公司的iChip等[7]。

这些芯片固化了TCP/IP协议栈,支持HTTP,SMTP,MIME,POP3等协议,可进行E_mail的收发及Web浏览。

此方案更为方便,无需操作系统,大大的节省资源,开发难度相对较低,要求对TCP/IP协议与相关接口熟悉,技术实现也相对困难,且对处理器性能要求较高,需要提供大容量存储器。

这类芯片功能强,能够实现多种网络协议,一般提供有相应的TCP/IP网络协议栈。

但是这种芯片价格偏高,用户需要支付软硬件费用,不易于实现市场的广泛应用。

如图2-3所示。

图2-3直接在嵌入式处理器上实现TCP/IP协议

4.使用普通单片机和网络控制芯片

通过在系统中集成网络接口芯片,采用软件方式实现TCP/IP协议栈,使得嵌入式系统具备网络功能从而接入Internt。

单片机通过加载TCP/IP协议控制网卡来进行数据的传输,并通过TCP/IP协议接入互联网。

远程控制端的操作指令的执行通过网络找到目标,经网卡接口传入单片机,通过在单片机上加载响应的程序来转换成物理帧格式,再让TCP/IP转换成相应的应用层控制指令。

这种方法实现起来比较简单,而且可根据实际需要进行功能扩展,但是需要在单片机上实现嵌入式TCP/IP网络协议,软件编程的工作量比较大[8]。

由于采用普通单片机,所以其优点是成本低,单片机体积小,而且产品可以自己搭建,有利于产品的维护和二次开发,易于以极高的性价比向诸多需要实现嵌入式接入Internet的场合推广。

本文设计的系统就是采用这种技术方案。

第3章网络协议

3.1TCP/IP分层模型

TCP/IP采用分层体系结构,它与开放系统互联OSI模型的层次结构相似。

如表2-1所示,它可以分为4层,由低到高依次为:

链路层、网际层、传输层和应用层[9]。

表2-1OSI参考模型与TCP/IP参考模型比较

OSI参考模型

OSI层次号

TCP/IP层次描述

主要应用协议

应用层

7

FTP、e-mail和Telnet等

表示层

6

会话层

5

传输层

TCP和UDP

4

网络层

3

网际层

IP、ICMP和IGMP

链路层

设备驱动及接口卡

数据链路层

2

物理层

1

TCP/IP分层模型的四个协议层分层完成如下功能。

(1)第一层链路层

链路层包括用于协作IP数据在已有网络介质上传输协议。

实际上TCP/IP标准并不定义与ISO数据链路层和物理层相对应的功能。

相反它定义像地址解析协议这样的协议,提供TCP/IP协议的数据结构和实际物理硬件之间的接口。

(2)第二层网际层

对应于OSI7层参考模型的网络层,网络层主要解决计算机之间的通信问题,它负责管理不同设备之间的数据交换,它是Internet通信子网的最高层,它所提供的是不可靠的无连接数据报服务,无论传输是否正确,不做验证、不发确认,也不保证分组的正确顺序。

网际层主要有以下协议。

●IP协议:

使用IP地址确定收发端,提供端到端的“数据报”传递,是TCP/IP协议簇的核心协议。

●ICMP协议(网络控制报文协议):

处理路由,协助IP层实现报文传送的控制机制,提供错误和信息报告。

●ARP协议(正向地址解析协议):

将网络层地址转换为链路层地址。

●RARP协议(逆向地址解析协议):

将链路层地址转换为网络层地址。

(3)第三层传输层

对应于OSI7层参考模型的传输层,提供两种端到端的通信服务。

其中TCP协议提供可靠的数据流运输服务,UDP协议提供不可靠的用户数据服务。

该层有以下协议。

●TCP协议:

传输控制协议,提供可靠的面向连接的数据传输服务。

●UDP协议:

用户数据报协议,一种无连接的数据传输协议,适合于一次少量数据传输情况,通信子网络相对可靠时,UDP的优越性便会得到充分的体现[9]。

(4)第四层应用层

对应于OSI7层参考模型的应用层和表达层,应用层作用是把应用程序的数据传输到传输层,来进行信息的交换。

它为应用程序提供各种使用协议,标注的应用层主要有以下协议。

●FTP文件传输协议:

为文件传输提供路径,它允许数据从一台主机传送到另一台主机上,我们可以在FTP服务器上下载文件,或者往FTP服务器上传文件。

●SMTP简单邮件传输协议:

实现互联网中电子邮件的传输功能。

●HTTP超文本传输协议:

用来访问在WWW服务器上的各种页面。

●DNS域名服务系统:

用于实现主机域名到IP地址之间的转换。

●TELNE虚拟终端服务:

实现互联网中的工作站登陆到远程服务器的能力。

●NFS网络文件系统:

用于实现网络中不同主机之间的文件共享。

●RIP路由信息协议:

用于网络设备之间交换路由信息。

3.2数据封装

当应用程序用TCP传送数据时,数据被传送入协议栈中,之后逐个通过每一层直到被当做一串比特流送入网络。

其中每一层对收到的信息都要增加一些首部信息,必要时还要增加尾部信息,这个过程如图3-1所示。

TCP传给IP的数据单元通常称TCP报文段,IP传给链路层的数据单元称作IP数据报,通过以太网传输的比特流称作帧。

以太网数据帧的物理特性是其长度必须在46B~1500B之间[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数据,因此也需要在以太网帧首部中加入标识,以指明生成数据的网络协议层。

所以,以太网的帧首部也有一个16bit的帧类型域这就是数据报文的封装,应用层数据是被逐层封装,直到数据链路层。

要指出的是UDP数据与TCP数据唯一不同是UDP传给IP的信息单元称作UDP数据报,而且UDP的首部长为8B。

3.3数据帧分用

当目的主机收到一个以太网数据帧是,数据就开始从协议战中由底向上传送,与此同时去掉报文首部被各层协议加上的。

每层协议盒都会检查报文首部中的协议标识,以确定接受数据的上层协议,这个过程称作分用[10]。

图3-2显示这个如何过程如何发生的。

图3-2以太网数据帧的分用过程

3.4协议层简介

3.4.1网际层协议

网际协议是TCP/IP协议最重要的组成部分,是整个协议族的核心,主要负责网络层IP分组的传输。

它位于网际层,为运输层提供服务,并从网络接入层请求服务。

IP提供不可靠的、无连接的、尽最大努力交付的分组传输机制。

IP提供了3个重要定义[11]:

1)IP定义了数据传输所用的基本单元,及规定了传输的数据格式。

2)IP规定了IP分组的路由机制。

3)除了数据格式和路由机制以外,IP还包括了一组体现不可靠分组交付思路的规则。

这些规则指明了主机和路由器应该如何处理IP分组、何时及如何发现错误信息以及在什么情况下可以放弃分组等等。

IP是TCP/IP互联网设计里最基础的部分。

3.4.1.1IP地址分配

1.IP地址

计算机网络内的每台计算机必须具有唯一的身份标识符[9]。

在TCP/IP协议簇中,这种标识符叫做IP地址。

IP地址有两部分组成:

网络号和主机号。

其中网络号标识一个物理的网络,同一个网络上所有主机需要同一个网络号,该号在互联网中是唯一的;

而主机号确定网络中的一个工作端、服务器、路由器或其它TCP/IP主机。

对于同一网络号而言,主机号是唯一的。

IP地址有两种表示形式:

二进制表示和点分十进制表示。

在IPv4中使用的IP地址是32位的二进制地址。

但是为了是32位的二进制地址更简洁和便于阅读,通常采用点分十进制。

在点分十进制中,每个IP地址的长度为4个字节,有4个8位域组成,称之为八为体。

八为体由句点“.”分开,来表示为一个0~255之间的十进制书。

IP地址的4个域分别标明了网络号和主机号。

目前,因网络大小不同,Internet定义了5种IP地址类型:

A类、B类、C类、D类、E类。

如表3.1所示。

表3.1IP地址分类

地址类型

特征地址位

开始地址

结束地址

A类

×

B

0.0.0.0

127.255.255.255

B类

10×

128.0.0.0

191.255.255.255

C类

110×

192.0.0.0

223.255.255.255

D类

1110×

224.0.0.0

239.255.255.255

E类

1111×

240.0.0.0

255.255.255.255

A类地址:

用于支持特大型的网络,最高位为0,紧跟的7位表示网络号,其余24为表示主机号,总共允许有126个网络。

B类地址:

用于支持大型和中型网络。

最高两位总置于二进制的10,允许有16384个网络。

C类地址:

用于局域网。

高3位置为二进制110,允许2097152个网络。

D类地址:

用于多路广播组用户。

高4位总置为110,余下的为用于标明客户机所属的组

E类地址:

E类地址没有网络号和主机号之分,最高位置为1111。

整个E类地址是一种不用的实验性地址。

3.4.1.2地址解析协议

要想在网上实现通信,主机必须知道对方主机的硬件地址[9]。

IP地址编号只是一个逻辑地址,不是硬件地址。

在网络中传递的帧必须含有目的地址的硬件地址。

所以在进行底层数据传输的时候必须将IP地址转换为硬件地址,即介质访问控制地址。

ARP协议就是将IP地址映射为硬件地址的过程。

1.ARP缓存

ARP在缓存中保存地址映射以备用。

ARP缓存保存有动态和静态项。

动态是自动添加和删除的,静态项则是保留Cache中直至计算机重启。

2.主机IP地址解析为硬件地址

ARPS是使用映射表进行工作。

映射表指的是地址解析协议高速缓存。

(1)当一台主机须要与另一台主机通信时,初始化ARP请求。

当该IP断定IP地址是本地时,源主机开始在ARP缓存中查找目标主机的硬件地址。

(2)如果找不到映射,ARP建立一个请求,源主机IP地址和硬件地址都会包括在请求中,这个请求通过广播,是所有本地主机都可以接受处理。

(3)本地网上的每个主机都收到广播并寻找与之相符的IP地址。

(4)当目标主机断定请求的IP地址自己相符时,会直接发送一个ARP回复,将自己的硬件地址传给源主机。

让源主机的IP地址和硬件地址更新它的ARP缓存。

源主机收到回复后就建立起了通信。

3.解析远程IP地址

ARP广播的源主机是缺省网关的。

目标IP地址如果是远程主机,ARP将广播一个路由器的地址。

(1)通信请求初始化时,得知目标IP地址为远程地址。

源主机将在本地路由表中查找,如果没有找到,将认为是缺省网关的IP地址。

在ARP缓存中查找符合网关记录的IP地址。

(2)如果没有找该网关记录,ARP将广播请求网关地址不在是目标主机的地址。

路由用自己的硬件地址回应源主机的请求。

源主机则将数据报传送到路由器以传送到目标主机的网络,最终到达目标主机。

(3)在路由器上,由IP决定目标IP地址是本地地址还是远程地址。

若是本地,路由器用ARP获得硬件地址。

远程的话,路哟器则在路由表中找该网关,然后通过ARP获得硬件地址。

数据报将直接发送下一个目标主机。

(4)目标主机接收到请求后,形成ICMP响应。

由于源主机在远程网上,将在本地路由表找源主机网的网关。

找到网关后,ARP就获得了它的硬件地址。

(5)若该网关硬件地址不在ARP中,则通过ARP广播获得。

一旦获得硬件地址,ICMP响应就传送到路由器上,后传到源主机。

3.4.1.3IP分片/重组

正如上文3.2中描述的一样,物理网络层一般要限制每次发送帧的的最大长度。

任何时候IP层接受到一份要发送的IP数据报是,它要判断向本地哪个接口发送数据,并查询该接口获得其(MTU最大运输单元也称最大数据长度),IP把MTU跟数据报长度比较。

若数据报长度大于MTU就需要分片。

IP协议进行分段的原则就是,一个较长的IP分组经过一个MTU值较小的物理网络时,会把长分组分割成较小的分组进行传输。

这个过程称为分片,每个分片包含一个分片首部,用来控制数据的分片和重组,它含有标识、标志和分片偏移3个字段[12]。

把一份数据报分片以后,只有到达目的地后才进行重组。

重组是由目的端IP层完成。

IP首部中包含的数据分为分片和重组提供了足够的信息。

3.4.1.4ICMP协议

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.1TCP连接和释放

TCP是一种面向连接的、全手工的

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2