当前位置: 首页 > news >正文

LWIP网络模型及接口简介(DAY 01)

目录

1.网络协议分层模型

2. LWIP三种编程接口


1.网络协议分层模型

 其中各层级的封装与拆封过程

2. LWIP三种编程接口

        LwIP 提供了三种编程接口,分别为 RAW/Callback API、NETCONN API、SOCKET API。它们的易用性从左到右依次提高,而执行效率从左到右依次降低。
 

(1)回调型API(RAW/Callback

优点:裸机环境只能使用此API进行开发。节省内存开销,程序执行效率最高。

缺点:实现复杂业务逻辑很麻烦,代码可读性差。

(2)NETCONN接口

        基于操作系统的IPC机制(信号量邮箱机制)实现。将内核代码和应用程序分离为独立线程。大大提高了系统网络数据包处理效率。

其线程分配优先原则如下:

优点:简化编程工作。用户可按操作文件方式来操作网络链接。

缺点:相较于回调式API,此方法通过信号量和邮箱完成,需要耗费更多时间与内存,效率相对较低。

(3)SOCKET接口

优点:十分易用。具有很好的可移植性。

缺点:socket接口是基于NETCONN接口实现的,所以其效率会更低一些。它在内核程序和应用程序之间存在数据拷贝,这会降低数据的递交效率。

相关文章:

  • 16 | 实现简洁架构的 Store 层
  • 深度学习视觉2D检测算法综述
  • 外包招聘舞弊利益分配,如何规避这种情况?
  • 加一(js实现,LeetCode:66)
  • rtsp在网页上显示(webrtc-stream)
  • 【C++ STL】 容器详解:priority_queue 学习
  • 大语言模型学习--向量数据库Milvus实践
  • 【大模型学习】第十六章 模型微调技术综述
  • 【eNSP实战】MSTP与VRRP配合使用
  • 图论part2|200. 岛屿数量、695. 岛屿的最大面积
  • 如何制作Windows系统盘、启动盘?(MediaCreationTool_22H2)
  • 韦伯望远镜的拉格朗日点计算推导过程,包含MATLAB和python运动轨迹仿真代码
  • Redis 数据持久化之AOF
  • 3-2 深入解析数字电路设计中的竞争条件及解决策略
  • blazemeter工具使用--用于自动生成jmeter脚本并进行性能测试
  • 【动手学深度学习】基于SoftMax回归算法实现图片分类
  • docker-compose部署MongoDB分片集群
  • 如何绕过 reCAPTCHA V2/V3:Python、Selenium 与其他工具的实战指南
  • Unity 封装一个依赖于MonoBehaviour的计时器(上) 基本功能
  • 30天学习Java第三天——控制循环
  • 农行一季度净利润719亿元增2.2%,不良率微降至1.28%
  • 文天祥与“不直人间一唾轻”的元将唆都
  • 怒江州委常委、泸水市委书记余剑锋调任云南省委省直机关工委副书记
  • 日趋活跃!2024年我国数据生产总量同比增长25%
  • 上海虹桥至福建三明直飞航线开通,飞行时间1小时40分
  • 新华时评:坚定不移办好自己的事,着力抓好“四稳”