物联网高手必备:网络协议栈LwIP
需求: 在物联网装备中,TCP/IP收集协议栈是一个很是重要的软件构成部门,没有TCP/IP收集协议栈,物联网装备就无法毗连到互联网中。TCP/IP收集协议协议自己较量伟大。物联网呈现之前的TCP/IP实当代码量都很是的复杂。但对付物联网装备来说,内存很是有限,处理赏罚器的机能也很是有限,这就必要一个轻量级的TCP/IP收集协议栈来运行,行使很是小的内存,把一些不须要的成果舍弃掉,保存首要的成果。因为这些需求,发生了几种嵌入式的TCP/IP的协议栈,常见的有以下几种:μC/ TCP-IP,LwIP,UIP。 常见的嵌入式TCP/IP协议栈 1. μ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可以设置为仅包罗体系所需的那些收集组件。未行使组件时,它可以不包括在协议栈中,从而节减名贵的内存空间。 2. LwIp收集协议栈: LwIP是由瑞典科学研究院的Adam Dunkels开拓的一套小型的TCP / IP协议组件,实现的首要方针是镌汰资源行使,同时如故具有全面的TCP成果。这使得lwIP合用于具有10Kb字节空闲RAM的嵌入式体系,而且可以容纳约莫40Kb的代码ROM。从开始成长到此刻LwIP被移植到多个嵌入式操纵体系,包罗风行的FreeRTOS,尚有阿里云的物联网操纵体系AliOS Things,华为的物联网操纵体系LiteOS等等。 3. uIP收集协议栈: uIP首要用于8位和16位微节制器的小型嵌入式收集协议栈。最初,uIP 收集协议栈由瑞典计较机科学院的Adam Dunkels 开拓,其源代码由C 说话编写,并完全开源。uIP协议栈最大的上风就是短小精壮,Flash和RAM需求小,去掉了完备的TCP/IP 中不常用的成果,简化了通信流程,但保存了收集通讯必需行使的协议,重点放在了IP/TCP/ICMP/UDP/ARP 这些收集层和传输层协议上,担保了其代码的通用性和布局的不变性。 LwIP协议栈成果
从这部门看,LwIP支持的成果长短常多的,除了传统的TCPIP,还支持了许多最新的协议(如mDNS,UDP-lite,6LoWPAN等) 整体架构 LwIP架构 从上图看到,IwIP凭证TCP/IP的分层分为4层,别离是链路层,收集层,传输层和应用层。 协议栈的数据处理赏罚流程首要有以下三种:
数据包的收发必要基于邮箱和信号量的支持,假如基于操纵体系,这些机制操纵体系都可以提供,移植起来只必要把基于邮箱和信号的函数加以封装即可,假如是没有操纵体系的裸机移植则必要行使间断可能轮询方法实现收发数据,事变量相对要比没有操纵体系要大。 源码架构 LwIP协议栈主目次 我们用最新的2.1 版本为例,LwIP的文件夹首要有三个,doc,src和test三个目次。 Doc是存储的辅佐文档,和之前的1.4版本的辅佐文档的文本文件差异,它行使了doxygen器材按照源代码的注释天生HTML名目标辅佐文档。src是LwIP的首要源代码目次,test目次是测试剧本和一些测试协议栈的措施。 LwIP协议栈的src目次 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |