【外文翻译】嵌入式Web服务器轻量级TCPIP的移植与实现(he Porting and Implementation of Light-Weight TCPIP for Embedded Web Server).doc
- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
外文文献翻译
嵌入式Web服务器轻量级TCP/IP的移植与实现
摘要 - 嵌入式技术的发展需要网络/服务器技术在嵌入式领域的应用,并提供基于互联网浏览器的远程设备监控和管理功能。但是,由于硬件资源有限和通用TCP / IP协议栈、协议模型的低效率,在嵌入式系统接入到因特网时实现完整的TCP/ IP协议是非常困难的。本文分析了轻量级TCP / IP协议,并给出协议每一层的详细处理,再基于飞利浦LPC2200与RTL8019AS设计硬件平台与UC/ OS-II核心软件平台,在以上基础上进行LwIP的移植。轻型服务器是基于LwIP设计的,并且能分析通信时客户端和服务器状态的转换。最后,EWS被用于对蓄电池生产控制系统的测试,结果表明该EWS可实时并很好地进行远程监控设备。
关键词 - LwIP;嵌入式技术;网页服务器; uC / OS-II;
一. 简介:
传统的互联网网页服务器是胖服务器/瘦客户机模式,当传送和存储大量的数据时,这个模式是完美的,但在嵌入式领域它的表现并不优异。互联网已经成为世界上最重要的基础信息设施之一,WWW提供服务已成为增长最快并广泛应用的服务之一,它在可视化,远程访问,多数据格式支持,平台客户端的独立和使客户端变瘦等方面具有很大优势。嵌入式设备通过连接到互联网,可以很好地实现Web服务,从而实现通过浏览器灵活地进行远程监控和管理,这已经成为嵌入式技术发展的一个必然趋势[1]。
但是,由于硬件资源有限和通用TCP / IP协议栈、协议模型的低效率,在嵌入式系统接入到网络时实现完整的TCP/ IP协议是非常难的。因此,我们需要移植TCP / IP子网到嵌入式系统中。为了保证实时性和可靠性,我们还需要移植
μC/ OS-II。考虑到时间和性能的限制,最好是使用裁剪的TCP / IP。
LWIP[2](Light-Weight Internet Protocol)是一个独立实现的小型TCP / IP协议套件,由Adam Dunkels在瑞典计算机科学院(SICS)的计算机和网络架构(CNA)实验室开发。lwIP协议栈实现的重点是在减少内存使用量和代码尺寸的情况下,使LWIP适用于资源非常有限的小型客户端。
LWIP的特点:
- IP(Internet Protocol)包括通过多个网络接口的数据包转发
- ICMP(Internet Control Message Protocol)用于网络维护和调试
- UDP(User Datagram Protocol)包括实验UDP-lite的扩展
- TCP(Transmission Control Protocol)拥有拥塞控制,RTT估算和快速恢复/快速重传
- 专业的原API性能增强
- 可选Berkeley-alike套接字API
- DHCP(Dynamic Host Configuration Protocol)
- PPP(Point-to-Point Protocol)
- ARP(Address Resolution Protocol)用于以太网
二. 分析:
A. IP处理
LwIP只实现了IP最基本的功能。它可以发送,接收和转发数据包,但不能发送或接收IP数据包碎片,也不处理数据包的IP选项。对于大多数应用程序,这并不构成任何问题。
1)接收数据包
对于传入的IP数据包,当ip_input()函数被一个网络设备驱动程序调用时,处理开始。在这里,完成IP版本字段和报头长度的初始检查,并对包头校验和进行计算校验。接下来,这个函数检查目的地址与网络接口的IP地址,来确定数据包的目的地是否为主机。
2)发送数据包
发送的数据包由ip_output()处理,它通过ip_route()找到合适的网络接口来传输数据包。当输出网络接口是确定的,该数据包被传递到ip_output_if(),这个函数把输出的网络接口作为一个参数。在这里,所有IP报头域被填充并完成IP报头校验和计算。IP数据包的源地址和目的地址被作为一个参数传递给函数ip_output_if()。
B. ICMP处理
ip_input()接收的ICMP数据包由icmp_input()进行解码,并进行适当处理。ICMP目的地址不可达消息可以通过传输层协议发送,特别是通过UDP,函数icmp_dest_unreach()就是用来发送此类信息的。对于ICMP的处理如图1所示。
C. UDP处理
UDP是一个简单的协议,用于在不同的过程之间解析复用数据包。每个UDP会话状态保存在一个PCB结构中。当由PCB指定会话的一个数据包被接收时,最后两个参数recv和recv_arg将被使用。当数据包被接收时,recv所指向的函数将被被调用。
由于UDP的简单性,输入和输出的处理也同样简单,并遵循
您可能关注的文档
- 【外文翻译】为轻型电动汽车设计一款电机调速控制器DESIGN OF A MOTOR SPEED CONTROLLER FOR A LIGHTWEIGHT.doc
- 【任务书+开题报告】电梯运行状态的VB仿真.doc
- 【外文翻译】具有目的地管理能力电梯的运输性能研究Traffic Performance of Elevators .doc
- 电梯运行状态的VB仿真.doc
- 【任务书+开题报告】线阵LED显示屏设计与实现.doc
- 【外文翻译】一种自校验RS编码器的分析和设计.doc
- 【开题报告】基于STM32单片机的串口转网络设计.ppt
- 【任务书+开题报告】基于STM32单片机的串口转网络设计.doc
- 【外文翻译】基于LwIP协议的海洋数据采集与传输系统研究Research on Marine Data Collection and Transmission System.doc
- 串口转网络设计概述.doc
文档评论(0)