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

凉山建设机械网站全球最新军事新闻

凉山建设机械网站,全球最新军事新闻,昆明seo优化,建设银行网站无法访问目录 2.1 LwIP简介 2.2 LwIP文件架构分析 2.2.1 LwIP软件架构 2.2.2 主要模块划分 2.3 IPC通讯机制 2.4 LwIP的3种编程接口 2.4.1 RAW/Callback API 2.4.2 Netconn API 2.1 LwIP简介 LWIP#xff08;Light Weight Internet Protocol#xff0c;轻型网络协议栈#…目录 2.1 LwIP简介 2.2 LwIP文件架构分析 2.2.1 LwIP软件架构 2.2.2 主要模块划分 2.3 IPC通讯机制 2.4 LwIP的3种编程接口 2.4.1 RAW/Callback API 2.4.2 Netconn API 2.1 LwIP简介 LWIPLight Weight Internet Protocol轻型网络协议栈最初是由瑞典计算机科学研究所开发的。在嵌入式系统不断发展的背景下传统的完整 TCP/IP 协议栈对于资源受限的嵌入式设备比如一些内存小、处理能力有限的微控制器应用场景来说过于庞大和复杂难以有效应用。LWIP 为了满足嵌入式设备接入网络、实现简单网络通信功能的需求旨在提供一个占用资源少、易于在嵌入式系统中实现和使用的轻量化网络协议栈。 LWIP 支持多种常见的网络协议主要包括以下这些 ARP地址解析协议实现 IP 地址到物理地址MAC 地址的映射使网络设备能通过 IP 地址找到对应的硬件接口进行通信是以太网环境中通信的基础协议之一。IP网际协议包括 IPv4 和 IPv6是网络层的核心协议负责数据包的寻址和路由选择支持 IP 分片与重装以及多网络接口间的数据包转发实现不同网络之间的数据传输。TCP传输控制协议提供可靠的、面向连接的传输服务具备拥塞控制、RTT往返时间估算、快速恢复和快速转发等特性保证数据传输的准确性、有序性并能进行重传处理适用于对可靠性要求高的场景如文件传输、网页访问。UDP用户数据报协议一种无连接的传输层协议相比 TCP 更简单高效不保证数据传输的可靠性但传输延迟小适合对实时性要求高、允许少量数据丢失的场景如实时视频流、简单数据上报。ICMP互联网控制消息协议主要用于在 IP 网络中传递控制消息和进行差错报告例如常见的 “ping” 命令就基于此协议可用于检测网络连通性、报告数据包传输中的错误等。IGMP互联网组管理协议支持主机加入或离开多播组使设备能够接收特定多播组的数据包适用于多播通信场景如多媒体数据的组播传输。PPP点对点协议支持点对点的通信连接包括 PPPoE基于以太网的点对点协议常用于拨号上网等场景实现两个节点之间的数据传输。DNS域名系统负责将域名解析为对应的 IP 地址使设备能通过易记的域名访问网络中的主机而无需直接记忆复杂的 IP 地址。DHCP动态主机配置协议自动为网络中的设备分配 IP 地址、子网掩码、网关等网络配置信息简化网络设备的配置过程提高网络管理效率。AUTOIP自动 IP 配置当网络中没有 DHCP 服务器时自动为设备分配一个属于特定网段169.254.0.0/16的 IP 地址使设备能在小型网络中实现基本通信。SNMP简单网络管理协议用于网络设备的管理和监控允许管理设备收集网络中各节点的信息、配置设备参数等实现对网络的集中管理。 优点 资源占用少LWIP 的设计核心就是轻量化它的代码量相对传统的 TCP/IP 协议栈要小很多对内存的需求也较低很适合在资源受限的嵌入式设备中运行比如常见的 8 位、16 位或者低端 32 位微控制器所构建的物联网节点设备等。可移植性强它有着良好的分层架构和代码设计能够方便地移植到不同的操作系统以及硬件平台上无论是常见的实时操作系统如 FreeRTOS、uC/OS 等还是一些裸机环境下都可以进行适配移植。功能相对完整尽管是轻量级的协议栈但涵盖了网络通信中常用的基础协议能满足大多数嵌入式设备接入网络进行简单通信以及与外部服务器交互等常见需求比如实现设备的远程配置、数据上报等功能。 缺点 功能扩展性有限对于一些非常复杂、高级的网络功能需求LWIP 可能无法很好地满足毕竟其设计初衷是面向资源受限情况提供基本网络通信功能不像一些大型的、用于服务器端的全功能 TCP/IP 协议栈那样具备丰富的拓展性和高级特性。性能在高负载下受限在面对大量并发连接、高速率的数据传输等高强度网络负载场景时由于其资源占用和自身设计定位的限制性能可能不如一些专门为高性能服务器等设计的重型协议栈可能会出现丢包、延迟增加等情况。 2.2 LwIP文件架构分析 2.2.1 LwIP软件架构 LwIP采用分层架构遵循TCP/IP协议栈的四层模型应用层、传输层、网络层、链路层同时支持多种操作系统抽象接口如无操作系统、FreeRTOS、uC/OS等。 2.2.2 主要模块划分 LwIP源码主要由以下几个核心模块构成 模块 功能 core 核心协议实现IP、ICMP、UDP、TCP、ARP、IPv6等 netif 网络接口管理NIC驱动接口 apps 上层应用协议HTTP、FTP、SNMP、MQTT、TFTP等 api 3种编程接口RAW API、Netconn API、Socket API arch 架构相关代码CPU类型、字节序、编译器特性 include 所有头文件定义数据结构、宏、函数原型 ports 针对特定平台的移植代码如STM32、ESP32、Linux模拟等 2.3 IPC通讯机制 进程间通信IPC是操作系统中不同进程之间交换数据和信息的过程。在Linux系统中提供了多种IPC机制每种机制都有其独特的优点和应用场景。以下是一些常见的IPC机制 管道Pipe管道是一种单向通信机制通常用于父子进程之间的通信。可以使用pipe()系统调用创建一个管道然后使用fork()创建子进程一个读取一个写入。管道是半双工的数据只能在一个方向上流动并且只能用于具有亲缘关系的进程之间的通信。命名管道Named PipeFIFO命名管道是一种有名的通信管道允许不相关的进程之间进行通信。可以使用mkfifo命令或mkfifo()函数创建命名管道。与匿名管道不同命名管道提供了一个路径名与之关联允许没有亲缘关系的进程进行通信。消息队列Message Queue消息队列允许进程通过消息来进行通信。可以使用msgget()、msgsnd()和msgrcv()等系统调用来创建和操作消息队列。消息队列可以存储具有特定格式的数据每条消息可以包含一个类型标识和数据部分这使得消息队列比管道更灵活。共享内存Shared Memory共享内存是一种允许多个进程访问同一块物理内存的IPC方式。它是IPC中最快速的方式因为共享内存方式的通信没有中间过程而管道、消息队列等方式则是需要将数据通过中间机制进行转换。共享内存直接将某段内存段进行映射多个进程间的共享内存是同一块的物理空间因此不需要进行复制可以直接使用此段空间。但需要注意的是共享内存本身并没有同步机制需要程序员自己控制。信号量Semaphore信号量是一种计数器用于控制对多个进程共享的资源进行的访问。它们常常被用作一个锁机制在某个进程正在对特定的资源进行操作时信号量可以防止另一个进程去访问它。套接字Socket套接字是一种通用的IPC方式不仅限于同一台主机还可以在不同主机上的进程之间进行通信。套接字通常用于网络编程但也可以用于本地进程间通信Unix域套接字。 2.4 LwIP的3种编程接口 LwIP提供了3种编程接口分别为RAW/Callback API、NetconnAPI、Socket API。它们的易用性从左到右依次提高而执行效率从左到右依次降低用户可以根据实际情况选择合适的API进行网络应用程序的开发。 2.4.1 RAW/Callback API RAW/Callback API是指内核回调型的APIRAW/Callback API是LwIP的一大特色在没有操作系统支持的裸机环境中只能使用这种API进行开发同时这种API也可以用在操作系统环境中。RAW/Callback API的优点有两个 可以在没有操作系统的环境中使用。在有操作系统的环境中使用时对比另外两种API可以提高应用程序的效率节省内存开销。 RAW/Callback API的优点是显著的但缺点也是显著的 基于回调函数开发应用程序时的思维过程比较复杂利用回调函数去实现复杂的业务逻辑时会很麻烦而且代码的可读性较差。 2在操作系统环境中应用程序代码与内核代码处于同一个线程虽然能够节省任务间通信和切换任务的开销但是相应地应用程序的执行会制约内核程序的执行不同的应用程序之间也会互相制约。在应用程序执行的过程中内核程序将不可能得到运行这会影响网络数据包的处理效率。如果应用程序占用的时间过长而且恰巧这时又有大量的数据包到达由于内核代码长期得不到执行网卡接收缓存里的数据包就持续积累到最后很可能因为满载而丢弃一些数据包从而造成丢包的现象。 2.4.2 Netconn API 在操作系统环境中可以使用Netconn API或者Socket API进行网络应用程序的开发。Netconn API是基于操作系统的IPC机制实现的它将LwIP内核代码和网络应用程序分离成了独立的线程。如此一来LwIP内核线程就只负责数据包的TCP/IP封装和拆封而不用进行数据的应用层处理大大提高了系统对网络数据包的处理效率。 在操作系统环境中LwIP内核会被实现为一个独立的线程名为tcpip_thread使用Netconn API或者Socket API的应用程序处在不同的线程中我们可以根据任务的重要性分配不同的优先级给这些线程从而保证重要任务的时效性。简单来说Netconn API的优缺点如下 1相较于RAW/Callback APINetconn API简化了编程工作使用户可以按照操作文件的方式来操作网络连接。但是内核程序和网络应用程序之间的数据包传递需要依靠操作系统的信号量和邮箱机制完成这需要耗费更多的时间和内存另外还要加上任务切换的时间开销效率较低。 2相较于Socket APINetconn API避免了内核程序和网络应用程序之间的数据复制提高了数据递交的效率。但是Netconn API的易用性不如Socket API好它需要用户对LwIP内核所使用的数据结构有一定的了解。
http://www.zqtcl.cn/news/413584/

相关文章:

  • 厦门网站建设策划网站推广的常用方法有哪些
  • 做电脑图标的网站上海定制网站建设公司哪家好
  • 重庆seo网站推广工具济南网页设计师招聘信息
  • 甘肃永靖建设住建局网站深圳网络广告推广公司
  • 台州企业网站搭建电话厦门学网站建设
  • 做易经网站做网站布为网
  • 高端定制开发网站可以做网站的网络
  • 局政务网站建设管理工作总结wordpress ks主题
  • 网站集约化建设的意义网页制作成app
  • 建设银行大厂支行网站专业的营销型网站建设公司
  • 询盘网站苏州建设银行招聘网站
  • 制作网站图片手机网站跳转
  • 装修公司营销网站模板东莞家居网站建设
  • 网站模板建站教程视频德州极速网站建设百家号
  • 专做蔬菜水果的网站自学it从哪里学起
  • 邵阳红网站搭建平台聚合力
  • 滁州网站建设信息推荐软件开发技术方案模板
  • 商务网站建设有哪几个步骤拼多多网页qq登录
  • 厦门商城网站开发宜昌小程序开发公司
  • 东莞沙田网站建设榆林网站建设价格
  • 无锡网站制作建设wordpress写文章模板
  • 企业网站销售提升学历要多少钱
  • 打开建设银行官方网站首页wordpress 站库分离
  • 电子商务网站建设的试卷设计之家app
  • 抚养网站建设黔东南小程序开发公司
  • 网站建设相关行业有哪些wordpress 内容管理系统
  • 网站 备案地温州网站优化排名推广
  • 做网站的工作量国内 wordpress
  • 定制网站开发是什么大业推广网站
  • 网站建设每年需要交多少钱天津制作网站公司