物联网高手必备---网络协议栈LwIP(一)

物联网高手必备---网络协议栈LwIP(一)_第1张图片

需求:

在物联网设备中,TCP/IP网络协议栈是一个非常重要的软件组成部分,没有TCP/IP网络协议栈,物联网设备就无法连接到互联网中。TCP/IP网络协议协议本身比较复杂。物联网出现之前的TCP/IP实现代码量都非常的庞大。但对于物联网设备来说,内存非常有限,处理器的性能也非常有限,这就需要一个轻量级的TCP/IP网络协议栈来运行,使用非常小的内存,把一些不必要的功能舍弃掉,保留主要的功能。由于这些需求,产生了几种嵌入式的TCP/IP的协议栈,常见的有以下几种:μC/ TCP-IP,LwIP,UIP。

常见的嵌入式TCP/IP协议栈

μC/ TCP-IP:

μC/ TCP-IP是Micrium公司自己的操作系统UC/OS的一个组件,同时支持IPv4和IPv6,支持BSD套接字API,具有最流行的套接字选项。这个协议栈是紧凑,可靠,高性能的TCP / IP协议栈,针对嵌入式系统进行了优化。μC/ TCP-IP完全自主编码,具有高质量,可扩展性和可靠性,可快速配置所需的网络选项,从而最大限度地缩短产品上市时间,MicriumμC/ TCP-IP嵌入式协议栈允许根据设计要求调整内存占用。μC/ TCP-IP可以配置为仅包括系统所需的那些网络组件。未使用组件时,它可以不包含在协议栈中,从而节省宝贵的内存空间。

LwIp网络协议栈:

LwIP是由瑞典科学研究院的Adam Dunkels开发的一套小型的TCP / IP协议组件,实现的主要目标是减少资源使用,同时仍然具有全面的TCP功能。这使得lwIP适用于具有10Kb字节空闲RAM的嵌入式系统,并且可以容纳大约40Kb的代码ROM。从开始发展到现在LwIP被移植到多个嵌入式操作系统,包括流行的FreeRTOS,还有阿里云的物联网操作系统AliOS Things,华为的物联网操作系统LiteOS等等。

uIP网络协议栈:

uIP主要用于8位和16位微控制器的小型嵌入式网络协议栈。最初,uIP 网络协议栈由瑞典计算机科学院的Adam Dunkels 开发,其源代码由C 语言编写,并完全开源。uIP协议栈最大的优势就是短小精悍,Flash和RAM需求小,去掉了完整的TCP/IP 中不常用的功能,简化了通讯流程,但保留了网络通信必须使用的协议,重点放在了IP/TCP/ICMP/UDP/ARP 这些网络层和传输层协议上,保证了其代码的通用性和结构的稳定性。

总结

我们总结了物联网的基本联网应用,列举了常见的嵌入式TCP/IP网络协议栈,我们了解了LwIP的基本背景,下一篇文章我们将详细讲解LwIP的基本架构和实现原理。

郑重声明:本文作品为原创,如转载须注明出处“微信公众号/企鹅号:物联网电子世界”。

你可能感兴趣的:(物联网高手必备---网络协议栈LwIP(一))