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

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接口实现的,所以其效率会更低一些。它在内核程序和应用程序之间存在数据拷贝,这会降低数据的递交效率。


http://www.kler.cn/a/580952.html

相关文章:

  • 深入探索 Rust 的高级 Traits
  • 软件安全分析与应用之漏洞利用(一)
  • Java 大视界 -- Java 大数据在智能医疗药品研发数据分析与决策支持中的应用(126)
  • 英语学习(GitHub学到的分享)
  • SWC中的显式读写(DataReceiveByValue/DataSendPoint)
  • 序列化和反序列化(Linux)
  • Windows批处理脚本入门教程
  • 如何设置GET请求的参数?
  • Spring Boot中的YML配置列表的详细解析
  • CSS 权重:优先级规则
  • 《计算机图形学》第一课笔记-----opengl开发环境搭建
  • [machine learning] DP(Data Parallel) vs DDP(Distributed Data Parallel)
  • 【神经网络】python实现神经网络(二)——正向推理的模拟演练
  • Fedora41安装MySQL8.4.4
  • MYSQL学习笔记(十一):MYSQL数据类型讲解
  • 如何在 React 中实现错误边界?
  • 【简答题002】Java变量简答题
  • Vue3中使用exceljs和file-saver实现Excel导出(含图片导出)完整方案
  • qt 多进程使用共享内存 ,加速数据读写,进程间通信 共享内存
  • 如何在 React 中使用 CSS-in-JS?