• <acronym id="mubfz"></acronym>

    <track id="mubfz"><ruby id="mubfz"></ruby></track>
    <object id="mubfz"><form id="mubfz"></form></object>

    1. <big id="mubfz"></big>
      <track id="mubfz"></track>

    2. 电子发烧友网 > 嵌入式技术 > > 正文

      Linux到底是如何收发网络包的

      2021年01月03日 17:49 ? 次阅读

      为了使得多种设备能通过网络相互通信,和为了解决各种不同设备在网络互联中的兼容性问题,国际标标准化组织制定了开放式系统互联通信参考模型(penSystemInterconnecTIonReferenceModel),也就是OSI网络模型,该模型主要有7层,分别是应用层、表示层、会话层、传输层、网络层、数据链路层以及物理层。

      每一层负责的职能都不同,如下:

      应用层,负责给应用程序提供统一的接口;

      表示层,负责把数据转换成兼容另一个系统能识别的格式;

      会话层,负责建立、管理和终止表示层实体之间的通信会话;

      传输层,负责端到端的数据传输;

      网络层,负责数据的路由、转发、分片;

      数据链路层,负责数据的封帧和差错检测,以及MAC寻址;

      物理层,负责在物理网络中传输数据??;

      由于OSI模型实在太复杂,提出的也只是概念理论上的分层,并没有提供具体的实现方案。事实上,我们比较常见,也比较实用的是四层模型,即TCP/IP网络模型,Linux系统正是按照这套网络模型来实现网络协议栈的。

      TCP/IP网络模型共有4层,分别是应用层、传输层、网络层和网络接口层,每一层负责的职能如下:

      应用层,负责向用户提供一组应用程序,比如HTTP、DNS、FTP等;

      传输层,负责端到端的通信,比如TCP、UDP等;

      网络层,负责网络包的封装、分片、路由、转发,比如IP、ICMP等;

      网络接口层,负责网络包在物理网络中的传输,比如网络包的封帧、MAC寻址、差错检测,以及通过网卡传输网络帧等;

      TCP/IP网络模型相比OSI网络模型简化了不少,也更加易记,它们之间的关系如下图:

      不过,我们常说的七层和四层负载均衡,是用OSI网络模型来描述的,七层对应的是应用层,四层对应的是传输层。

      Linux网络协议栈我们可以把自己的身体比作应用层中的数据,打底衣服比作传输层中的TCP头,外套比作网络层中IP头,帽子和鞋子分别比作网络接口层的帧头和帧尾。

      在冬天这个季节,当我们要从家里出去玩的时候,自然要先穿个打底衣服,再套上保暖外套,最后穿上帽子和鞋子才出门,这个过程就好像我们把TCP协议通信的网络包发出去的时候,会把应用层的数据按照网络协议栈层层封装和处理。

      你从下面这张图可以看到,应用层数据在每一层的封装格式。

      其中:

      传输层,给应用数据前面增加了TCP头;

      网络层,给TCP数据包前面增加了IP头;

      网络接口层,给IP数据包前后分别增加了帧头和帧尾;

      这些新增和头部和尾部,都有各自的作用,也都是按照特定的协议格式填充,这每一层都增加了各自的协议头,那自然网络包的大小就增大了,但物理链路并不能传输任意大小的数据包,所以在以太网中,规定了最大传输单元(MTU)是1500字节,也就是规定了单次传输的最大IP包大小。

      当网络包超过MTU的大小,就会在网络层分片,以确保分片后的IP包不会超过MTU大小,如果MTU越小,需要的分包就越多,那么网络吞吐能力就越差,相反的,如果MTU越大,需要的分包就越小,那么网络吞吐能力就越好。

      知道了TCP/IP网络模型,以及网络包的封装原理后,那么Linux网络协议栈的样子,你想必猜到了大概,它其实就类似于TCP/IP的四层结构:

      从上图的的网络协议栈,你可以看到:

      应用程序需要通过系统调用,来跟Socket层进行数据交互;

      Socket层的下面就是传输层、网络层和网络接口层;

      最下面的一层,则是网卡驱动程序和硬件网卡设备;

      Linux接收网络包的流程网卡是计算机里的一个硬件,专门负责接收和发送网络包,当网卡接收到一个网络包后,会通过DMA技术,将网络包放入到RingBuffer,这个是一个环形缓冲区。

      那接收到网络包后,应该怎么告诉操作系统这个网络包已经到达了呢?

      最简单的一种方式就是触发中断,也就是每当网卡收到一个网络包,就触发一个中断告诉操作系统。

      但是,这存在一个问题,在高性能网络场景下,网络包的数量会非常多,那么就会触发非常多的中断,要知道当CPU收到了中断,就会停下手里的事情,而去处理这些网络包,处理完毕后,才会回去继续其他事情,那么频繁地触发中断,则会导致CPU一直没玩没了的处理中断,而导致其他任务可能无法继续前进,从而影响系统的整体效率。

      所以为了解决频繁中断带来的性能开销,Linux内核在2.6版本中引入了NAPI机制,它是混合「中断和轮询」的方式来接收网络包,它的核心概念就是不采用中断的方式读取数据,而是首先采用中断唤醒数据接收的服务程序,然后poll的方法来轮询数据。

      比如,当有网络包到达时,网卡发起硬件中断,于是会执行网卡硬件中断处理函数,中断处理函数处理完需要「暂时屏蔽中断」,然后唤醒「软中断」来轮询处理数据,直到没有新数据时才恢复中断,这样一次中断处理多个网络包,于是就可以降低网卡中断带来的性能开销。

      那软中断是怎么处理网络包的呢?它会从RingBuffer中拷贝数据到内核structsk_buff缓冲区中,从而可以作为一个网络包交给网络协议栈进行逐层处理。

      首先,会先进入到网络接口层,在这一层会检查报文的合法性,如果不合法则丢弃,合法则会找出该网络包的上层协议的类型,比如是IPv4,还是IPv6,接着再去掉帧头和帧尾,然后交给网络层。

      到了网络层,则取出IP包,判断网络包下一步的走向,比如是交给上层处理还是转发出去。当确认这个网络包要发送给本机后,就会从IP头里看看上一层协议的类型是TCP还是UDP,接着去掉IP头,然后交给传输层。

      传输层取出TCP头或UDP头,根据四元组「源IP、源端口、目的IP、目的端口」作为标识,找出对应的Socket,并把数据拷贝到Socket的接收缓冲区。

      最后,应用层程序调用Socket接口,从内核的Socket接收缓冲区读取新到来的数据到应用层。

      至此,一个网络包的接收过程就已经结束了,你也可以从下图左边部分看到网络包接收的流程,右边部分刚好反过来,它是网络包发送的流程。

      Linux发送网络包的流程如上图的有半部分,发送网络包的流程正好和接收流程相反。

      首先,应用程序会调用Socket发送数据包的接口,由于这个是系统调用,所以会从用户态陷入到内核态中的Socket层,Socket层会将应用层数据拷贝到Socket发送缓冲区中。

      接下来,网络协议栈从Socket发送缓冲区中取出数据包,并按照TCP/IP协议栈从上到下逐层处理。

      如果使用的是TCP传输协议发送数据,那么会在传输层增加TCP包头,然后交给网络层,网络层会给数据包增加IP包,然后通过查询路由表确认下一跳的IP,并按照MTU大小进行分片。

      分片后的网络包,就会被送到网络接口层,在这里会通过ARP协议获得下一跳的MAC地址,然后增加帧头和帧尾,放到发包队列中。

      这一些准备好后,会触发软中断告诉网卡驱动程序,这里有新的网络包需要发送,最后驱动程序通过DMA,从发包队列中读取网络包,将其放入到硬件网卡的队列中,随后物理网卡再将它发送出去。

      总结电脑与电脑之间通常都是通话网卡、交换机、路由器等网络设备连接到一起,那由于网络设备的异构性,国际标准化组织定义了一个七层的OSI网络模型,但是这个模型由于比较复杂,实际应用中并没有采用,而是采用了更为简化的TCP/IP模型,Linux网络协议栈就是按照了该模型来实现的。

      TCP/IP模型主要分为应用层、传输层、网络层、网络接口层四层,每一层负责的职责都不同,这也是Linux网络协议栈主要构成部分。

      当应用程序通过Socket接口发送数据包,数据包会被网络协议栈从上到下进行逐层处理后,才会被送到网卡队列中,随后由网卡将网络包发送出去。

      而在接收网络包时,同样也要先经过网络协议栈从下到上的逐层处理,最后才会被送到应用程序。

      下载发烧友APP

      打造属于您的人脉电子圈

      关注电子发烧友微信

      有趣有料的资讯及技术干货

      关注发烧友课堂

      锁定最新课程活动及技术直播

      电子发烧友观察

      一线报道 · 深度观察 · 最新资讯
      收藏 人收藏
      分享:

      评论

      相关推荐

      《嵌入式技术 基础课程》之逆向-X86汇编

      我们将《嵌入式工程师-系列课程》分成两大阶段:第一阶段:《计算机体系结构》课程   分成4篇:分别是
      发烧友学院发表于 2019-01-21 00:00? 1650次阅读
      《嵌入式技术 基础课程》之逆向-X86汇编

      netstat命令:判断服务器是否遭受DDoS攻...

      一般来说,服务器非常慢可能原因是多方面的,有可能是配置错误,脚本错误或者是一些奇诡的硬件。当然也有可....
      发表于 2021-01-03 12:18? 43次阅读
      netstat命令:判断服务器是否遭受DDoS攻...

      Linux内核学习的环境搭建和内核编译

      一、linux内核学习之一:环境搭建--安装Debian7.3 本系列文章假设读者已对linux有一....
      发表于 2021-01-02 18:01? 83次阅读
      Linux内核学习的环境搭建和内核编译

      深入探究Linux中的Kprobe机制

      概述 kprobe机制用于在内核中动态添加一些探测点,可以满足一些调试需求。本文主要探寻kprobe....
      发表于 2021-01-02 11:53? 75次阅读
      深入探究Linux中的Kprobe机制

      解析RISC-V正面临的挑战

      新的处理器指令集架构(ISA)并不会经常出现。加州大学伯克利分??⒌目碦ISC-V ISA 已经....
      发表于 2021-01-01 10:54? 245次阅读
      解析RISC-V正面临的挑战

      一文解析嵌入式系统的开发之路

      就像任何开发领域一样,嵌入式系统的开发就像大海一样:深海洋流相对上较稳定,而看似平静的海面下却可能暗....
      发表于 2021-01-01 10:41? 153次阅读
      一文解析嵌入式系统的开发之路

      openEuler如何成为IT圈最具影响力的开源...

      openEuler 从开源到现在已经要满一周岁了。在一周年之际,openEuler 社区举办了年度技....
      发表于 2021-01-01 09:46? 310次阅读
      openEuler如何成为IT圈最具影响力的开源...

      一文解析Linux x86和ARM的区别

      指令的强弱是CPU的重要指标,指令集是提高微处理器效率的最有效工具之一。从现阶段的主流体系结构讲,指....
      发表于 2021-01-01 09:42? 75次阅读
      一文解析Linux x86和ARM的区别

      嵌入式开发的现状及未来趋势分析

      近年来,随着移动互联网、物联网的迅猛发展,嵌入技术日渐普及,嵌入式应用领域日益亲民,嵌入式产品不断渗....
      发表于 2021-01-01 09:32? 117次阅读
      嵌入式开发的现状及未来趋势分析

      解析嵌入式技术和物联网的发展趋势

      2020年伊始,一场突如其来的新冠疫情爆发,让人们生产和生活方式发生了巨大的变化,催生远程办公、智能....
      发表于 2021-01-01 09:21? 216次阅读
      解析嵌入式技术和物联网的发展趋势

      浅析嵌入式Linux学习的八大步骤

      嵌入式Linux要学哪些?一些人总在寻思,怕走了弯路,又怕学的东西离企业需求远。那么今天就请华清远见....
      发表于 2021-01-01 09:19? 64次阅读
      浅析嵌入式Linux学习的八大步骤

      ARM发布新款Cortex-R82:首次支持Li...

      今天刚说到5个大学生4个月造出RISC-V芯片的事情,那边“敌对阵营”ARM就发布了新款Cortex....
      发表于 2021-01-01 09:05? 8次阅读
      ARM发布新款Cortex-R82:首次支持Li...

      微软Windows拥抱Linux的思考

      长久以来,人们一直希望Linux能够取代 Windows 操作系统。尤其是在今年年初,自微软正式宣布....
      发表于 2021-01-01 09:04? 133次阅读
      微软Windows拥抱Linux的思考

      IBM IT基础架构护航的“混合云”之旅

      IBM 商业价值研究院的报告显示,大规模采用完整混合多云平台技术和运营模式所创造的价值,要比“单一平....
      发表于 2020-12-31 11:58? 430次阅读
      IBM IT基础架构护航的“混合云”之旅

      Linux内核中I2C子系统的整体视图

      本文通过阅读内核代码,来梳理一下I2C子系统的整体视图。在开发I2C设备驱动程序时,往往缺乏对于系统....
      发表于 2020-12-31 10:40? 122次阅读
      Linux内核中I2C子系统的整体视图

      操作系统产业正在迎来历史最好的发展机遇

      ? 人类社会正进入数字经济时代。数字经济需要强大的信息技术做支撑,软件是信息技术之魂,而操作系统作为....
      发表于 2020-12-31 09:15? 397次阅读
      操作系统产业正在迎来历史最好的发展机遇

      OSI七层模型及TCP/IP五层模型的协议解析

      OSI和TCP/IP是很基础但又非常重要的网络基础知识,理解得透彻对运维工程师来说非常有帮助。 ...
      发表于 2020-12-31 06:02? 0次阅读
      OSI七层模型及TCP/IP五层模型的协议解析

      国产操作系统究竟发展几何?

      操作系统作为云计算与物联网时代的 IT 底座,历来是兵家必争之地。近期更是风起云涌,先是苹果推出全新....
      发表于 2020-12-30 14:09? 471次阅读
      国产操作系统究竟发展几何?

      Linux如何压缩文件?

      在Linux上压缩文件的5种方法
      发表于 2020-12-30 08:00? 0次阅读
      Linux如何压缩文件?

      如何将Linux源码编译生成二进制

      驱动工程师一定要掌握 Linux 内核的编译方法,也就是将 Linux 内核源码,编译成针对特定硬件的二进制镜像。 在前面...
      发表于 2020-12-30 07:37? 0次阅读
      如何将Linux源码编译生成二进制

      Linux内核源码目录结构

      Linux体系结构 Linux内核结构 Linux内核源码目录结构 ...
      发表于 2020-12-30 07:22? 0次阅读
      Linux内核源码目录结构

      Linux文件系统的类型和常用命令

      操作系统的主要功能之一就是文件的管理。文件管理是由文件系统来实现的, 系统支持多种格式的文件系统,本届我们主要讲...
      发表于 2020-12-30 06:44? 0次阅读
      Linux文件系统的类型和常用命令

      Linux内核处理中断的类型及过程

      中断是现代 CPU 工作方式中重要的部分。例如:当你每次在键盘上按下一个按键后,CPU 会被中断以使....
      发表于 2020-12-29 15:57? 210次阅读
      Linux内核处理中断的类型及过程

      一台Linux服务器最多能支撑多少个TCP连接?

      【导读】:单台 Linux 服务器可以支撑多少个 TCP 连接??关于这个问题,我想很多客户端的同学....
      发表于 2020-12-29 11:13? 219次阅读
      一台Linux服务器最多能支撑多少个TCP连接?

      Linux中的ldconfig命令详解

      0615 1.简介 ldconfig 命令用于在默认搜寻目录 /lib 和 /usr/lib 以及动....
      发表于 2020-12-29 11:11? 150次阅读
      Linux中的ldconfig命令详解

      Linux中的ulimit命令详解

      1.命令简介 ulimit 属 Shell 内建命令,用于查看或设置 Shell 以及通过 Shel....
      发表于 2020-12-29 11:08? 199次阅读
      Linux中的ulimit命令详解

      Linux中的size命令详解

      1.命令简介 size 用于查看目标文件、库或可执行文件中各段及其总和的大小,是 GNU 二进制工具....
      发表于 2020-12-29 11:05? 108次阅读
      Linux中的size命令详解

      红帽解释宣布CentOS Linux的淘汰

      红帽公司的高级社区架构师、CentOS董事会成员卡斯滕-韦德(Karsten Wade)为扼杀Cen....
      发表于 2020-12-29 11:02? 185次阅读
      红帽解释宣布CentOS Linux的淘汰

      Linux中的uptime命令详解

      1.命令简介 uptime 用于显示系统总共运行了多长时间和系统的平均负载。 无选项 uptime ....
      发表于 2020-12-29 10:51? 126次阅读
      Linux中的uptime命令详解

      ARM-Linux开发与MCU开发的优势

      ARM-Linux应用开发和单片机开发的不同 ARM-Linux 基本开发环境 ...
      发表于 2020-12-29 07:51? 0次阅读
      ARM-Linux开发与MCU开发的优势

      Linux内核自解压过程

        在前面的章节介绍了uboot和Linux内核的一些相关内容。在来看Linux内核的大致启动流程,Linux内核的启动流程要比...
      发表于 2020-12-29 07:35? 0次阅读
      Linux内核自解压过程

      如何使用Linux内核中的input子系统

      输入设备总类繁杂,包括按键,键盘,,鼠标,摇杆等等,它们本身都是字符设备,不过内核为了能将这些设备的共性抽象出...
      发表于 2020-12-29 07:20? 0次阅读
      如何使用Linux内核中的input子系统

      Linux如何修改用户权限

      迅为IMX6ULL开发板-Linux用户权限
      发表于 2020-12-29 06:18? 0次阅读
      Linux如何修改用户权限

      Linux下电容触摸屏的编译驱动程序和测试

      迅为IMX6ULL开发板Linux下电容触摸屏实验-运行测试...
      发表于 2020-12-29 06:00? 0次阅读
      Linux下电容触摸屏的编译驱动程序和测试

      如何让Python程序参数输入更像Linux命令

      ? 背景 最近一直训练模型,进行模型调参比较,但是随着模型参数多起来了,想获得不同参数模型结果也越来....
      发表于 2020-12-28 14:22? 112次阅读
      如何让Python程序参数输入更像Linux命令

      TCP/IP协议簇中需要必知必会的十大问题

      本文整理了一些TCP/IP协议簇中需要必知必会的十大问题,既是面试高频问题,又是程序员必备基础素养。....
      发表于 2020-12-28 09:23? 214次阅读
      TCP/IP协议簇中需要必知必会的十大问题

      如何使用perf和vtune进行性能分析

      应用程序的开发测试过程中,对程序性能进行分析和优化是不可或缺的一部分。
      发表于 2020-12-27 09:27? 161次阅读
      如何使用perf和vtune进行性能分析

      Linux指令的详细整理

      本文档的主要内容详细介绍的是Linux指令的详细整理
      发表于 2020-12-26 10:58? 207次阅读
      Linux指令的详细整理

      Linux圈的CentOS所有版本将停止维护

      最近在Linux圈,发生了一次大地震,主角就是大家熟知的CentOS。 2019年9月发布的Cent....
      发表于 2020-12-26 10:37? 637次阅读
      Linux圈的CentOS所有版本将停止维护

      如何学习嵌入式Linux

      俗话说万事开头难,刚开始的时候,你是否根本就不知如何开始,上网查资料被一堆堆新名词搞的找不到北,去图....
      发表于 2020-12-26 10:26? 355次阅读
      如何学习嵌入式Linux

      Nginx的详细知识点讲解

      Nginx是一个高性能的HTTP和反向代理服务器,特点是占用内存少,并发能力强,事实上nginx的并....
      发表于 2020-12-26 10:25? 115次阅读
      Nginx的详细知识点讲解

      如何用eBPF写TCP拥塞控制算法?

      其实不想用这个题目的,只因为TCP相关的东西比较吸引人的眼球,这篇文章的主题还是eBPF,而不是TC....
      发表于 2020-12-26 09:44? 94次阅读
      如何用eBPF写TCP拥塞控制算法?

      100个Linux知识点汇总

      ? 一、Linux 概述 1. 什么是Linux Linux是一套免费使用和自由传播的类Unix操作....
      发表于 2020-12-24 16:40? 719次阅读
      100个Linux知识点汇总

      Linux终端中查看图像的方法

      Linux 有很多用于查看图像的 GUI 应用。但我从来没有尝试过用任何命令行应用来查看它。
      发表于 2020-12-24 15:14? 177次阅读
      Linux终端中查看图像的方法

      Linux命令file的案例说明

      有人的地方,就有江湖。人往往是最难揣摩的。如果有一面神奇的魔镜能看出一个人的内心,世界会不会变得更加....
      发表于 2020-12-24 11:41? 197次阅读
      Linux命令file的案例说明

      Linux中如何让切换目录更方便?

      【导读】在 Linux 下切换目录,你还是只会 cd 这个命令吗? 快来学习下 pushd popd....
      发表于 2020-12-24 11:38? 223次阅读
      Linux中如何让切换目录更方便?

      Linux神优化Zen3:性能高出15%

      Intel、AMD相爱相杀50年,现在两家是打得不可开交,然后在某些领域两边可能还是天作之合。对Li....
      发表于 2020-12-24 11:32? 318次阅读
      Linux神优化Zen3:性能高出15%

      一文带你掌握Linux字符设备架构

      一、Linux设备分类 Linux系统为了管理方便,将设备分成三种基本类型: 字符设备 块设备 网络....
      发表于 2020-12-22 16:14? 263次阅读
      一文带你掌握Linux字符设备架构

      Linux工程师是怎么步入内核殿堂的?

      在全球顶级开源会议KubeCon +CloudNativeCon + Open Source Sum....
      发表于 2020-12-22 14:13? 157次阅读
      Linux工程师是怎么步入内核殿堂的?

      ARINC429通讯??榻樯?16发16收,接口...

      奥林普科技研制开发的ARINC429通讯???,通道数最多同时具有16个发送和16个接收通道。每个通道....
      发表于 2020-12-21 16:53? 442次阅读
      ARINC429通讯??榻樯?16发16收,接口...

      如何禁用Linux机器上的USB存储设备

      在现如今,随着互联网科技飞速的发展,为了?;な莶槐恍孤?,我们使用软件和硬件防火墙来限制外部未经授权....
      发表于 2020-12-19 11:15? 328次阅读
      如何禁用Linux机器上的USB存储设备

      当分布式数据库遇上开放服务器 LinuxONE

      分布式架构因为具备成本低、自主研发、灵活兼容和伸缩扩张方面的优势,备受互联网公司和创业公司的青睐,一....
      发表于 2020-12-17 17:31? 439次阅读
      当分布式数据库遇上开放服务器 LinuxONE

      Linux5.11开始围绕PCI Express...

      随着开发中的Linux 5.11内核的PCI子系统更新,现在系统已经可以报告设备是否正在使用PCI ....
      发表于 2020-12-17 11:48? 285次阅读
      Linux5.11开始围绕PCI Express...

      基于Ubuntu的Linux Mint20.1“...

      今年 10 月,Linux Mint 20.1 宣布被命名为“Ulyssa”,并计划在今年圣诞节期间....
      发表于 2020-12-17 10:45? 235次阅读
      基于Ubuntu的Linux Mint20.1“...

      Mozilla首次为Linux用户提供加速渲染通...

      据外媒消息,Mozilla昨天宣布发布Firefox 84更新,其中进行了一些改进。 通过此更新,F....
      发表于 2020-12-16 16:14? 343次阅读
      Mozilla首次为Linux用户提供加速渲染通...

      AWS提供基于WEB的命令行访问途径

      亚马逊云服务(AWS)今日正式推出了基于 Amazon Linux 2 的 CloudShell 服....
      发表于 2020-12-16 16:12? 261次阅读
      AWS提供基于WEB的命令行访问途径

      Linux5.11引入Btrfs文件系统的诸多改...

      在最新的 Linux 5.11 内核合并窗口中,我们见到了其对于 Btrfs 文件系统的诸多改进和性....
      发表于 2020-12-16 14:18? 210次阅读
      Linux5.11引入Btrfs文件系统的诸多改...

      Linux Kernel5.11将初步支持SD ...

      今年年初,SD 协会公布了新的 SD Express 8.0 规范。SD 8.0 基于使用 NVMe....
      发表于 2020-12-16 14:11? 207次阅读
      Linux Kernel5.11将初步支持SD ...

      张先轶博士:为什么RISC-V需要共建软件生态?

      软件开发者是芯片公司非常重要的资产,CPU做出来是不够的,要让更多的软件开发者用这颗芯片才是成功。
      发表于 2020-12-16 11:09? 638次阅读
      张先轶博士:为什么RISC-V需要共建软件生态?

      Linux5.11为Modtronix LCD2...

      lcd2s是Linux 5.11版本中新增的驱动程序,它支持通过SPI/I2C连接的20x4 LCD....
      发表于 2020-12-14 16:41? 223次阅读
      Linux5.11为Modtronix LCD2...

      Linux 5.10 LTS正式发布,为近期最重...

      正如人们所期待的那样,Linus Torvalds今天正式发布了Linux 5.10。除了是2020....
      发表于 2020-12-14 15:43? 330次阅读
      Linux 5.10 LTS正式发布,为近期最重...

      Zigbee网络有什么作用和特点

      对于Zigbee网络,大家或多或少有所耳闻。在上篇Zigbee相关文章中,小编对Zigbee网络各层....
      发表于 2020-12-12 09:55? 575次阅读
      Zigbee网络有什么作用和特点
      久久这里只有精品,在线视频 国产 日韩 欧美,国产精品人妻在线观看,亚洲中文欧美在线视频 安陆市| 长春市| 瓮安县| 合作市| 景东| 嘉定区| 扶风县| 眉山市| 金湖县| 利川市| 临汾市| 宁国市| 沂南县| 莒南县| 黑龙江省| 高安市| 泉州市| 新郑市| 阿拉善右旗| 新密市| 正阳县| 柘城县| 阳高县| 巴马| 二连浩特市| 小金县| 九江县| 宜州市| 灌阳县| 工布江达县| 鸡西市| 澄迈县| 贵溪市| 高雄县| 临夏县| 四川省| 蓬莱市| 蒙自县| 河池市| 和静县| 曲麻莱县| http://444 http://444 http://444 http://444 http://444 http://444