- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式TCPIP协议分析与与研究.doc
嵌入式TCP/IP协议的分析与研究
摘 要:嵌入式TCP/IP协议不同于应用在PC机上的TCP/IP协议,Internet上面的各种通信协议对于计算机存储器、运算速度等的要求比较高,而嵌入式系统中大量存在的是8位和16位MCU,支持TCP/IP等Internet协议将占用大量系统资源,或根本不可能。为了既实现相应的功能又节省系统资源,需要对协议进行有针对性的模块化裁剪,在单片机上嵌入TCP/IP协议簇的一个子集。文章根据各种MCU自身的特性,实现TCP/IP协议的方法实现嵌入式Internet的方案TCP协议的机制裁减方法,同时用设计实例证明了嵌入式TCP/IP的可行性。
关键词:嵌入式TCP/IP;嵌入式InternetTCP协议的机制裁减
1 绪论
在Internet日益普及,信息共享程度不断提高的今天,人们的工作和生活方式发生了根本性的变化。单片机或微控制器(MCU)已经在家庭和工业的各个领域得到了应用,通称嵌入式系统。但目前大多数嵌入式系统还处于单独应用的阶段,一般都是孤立于Internet以外。如果嵌入式系统能够连接到Internet上面,则可以方便、低廉地将信息传送到几乎世界上的任何一个地方。于是嵌入式Internet技术就应运而生。将嵌入式系统与Internet结合起来的想法其实很早以前就有了,主要的困难在于,Internet上面的各种通信协议对于计算机存储器、运算速度等的要求比较高,而嵌入式系统中大量存在的是8位和16位MCU,支持TCP/IP等Internet协议将占用大量系统资源,或根本不可能。为了既实现相应的功能又节省系统资源,需要对协议进行有针对性的模块化裁剪,在单片机上嵌入TCP/IP协议簇的一个子集。2 TCP/IP协议分析
TCP/IP通常被认为是一个四层协议系统, 分别为:链路层、网络层、传输层、应用层,每一层都有相应的协议集合来实现不同的功能,其层次结构和主要的网络协议如图所示。.1 链路层协议分析
链路层的主要作用是为上层协议发送和接收数据包。链路层中重点分析的为ARP协议。以太网上数据报的传输是采用网络的MAC地址来进行识别的,这就要求系统有实现IP地址到MAC地址的转换的功能,即ARP(地址解析)协议。ARP协议可以分成ARP请求协议和ARP响应协议。系统要同其它计算机通信,就必须要实现ARP响应协议。ARP请求协议建立了一个IP地址到MAC地址的映射。如果嵌入式系统的资源有限,可使用以太网广播帧发送数据分组,也可以把数据分组发往固定的路由器,由路由器转发数据分组。RARP(逆地址解析协议)主要用于无盘工作站中,嵌入式Internet中无须实现此协议。
图2.1 TCP/IP层次结构图
2.2 网络层协议分析
网络层处理分组在网络中的活动。其协议包括IP协议(网际协议)、ICMP协议(Internet互联网控制报文协议)以及IGMP协议(Internet组管理协议)。IP协议是TCP/IP族的核心协议,它使异构网络之间的通信成为可能。因此,如果嵌入式Internet,需要跨越不同的网络进行通信就必须要实现IP协议。所以IP协议需要完整实现。要特别注意IP包最大可以为65k,可以分段传输,而在嵌入式系统中根本无法容纳如此大的数据包,因此一般不支持分段。单片机一般采用发送小数据包的方式,以避免分段。ICMP协议主要用来传递差错报文以及其他需要注意的信息。我们通常使用的应用程序Ping就是采用ICMP协议来测试网络的连通情况。对于普通的嵌入式Internet的应用而言,在ICMP协议中能够测试网络的连通情况即可,因此只需实现ICMP中类型号为0、代码为0的Ping应答协议即可。通常嵌入式Internet不考虑ICMP协议。2.3 传输层协议分析
传输层主要为两台主机上的应用程序提供端到端的通信。传输层有两种不同的传输协议:面向连接的TCP(传输控制协议)和无连接的UDP(用户数据报协议)。TCP是一种面向连接的协议,它提供高可靠性服务。TCP在传输前必须先通过“三重握手”在主机间建立TCP接入,它所传数据流采用了顺序号和应答措施,可以发现数据的丢失、段的失序和对传输错误的排除,所以TCP协议提供的是数据流的可靠传输。但相对于UDP,它的可靠性是以复杂性为代价的,需要复杂庞大的程序来实现。UDP提供的是无连接的不可靠的服务,可能出现数据包的丢失、重复和连接失败等错误。但是正因为没有保证可靠性的机制,它可以实现高速发送,充分发挥物理传输设备的速度。UDP适合用在通信介质十分可靠的情况,例如以太网等。传输层有两个可选择的协议,所以就应该考虑该用那个协议传输数据报。下面用例子来说明:对楼宇散布各处的温度和湿度传感器的每秒一次地集中监控来说,选用UDP或TCP都关系不大;而对独立的、又
文档评论(0)