网络基础(一)

文章目录:

  • 计算机网络认识
  • 计算机网络背景
    • 网络发展
    • 认识 “协议”
  • 网络协议初识
    • 协议分层
    • OSI七层模型
    • TC/IP 五层(或四层)模型
  • 网络传输基本流程
    • 网络传输流程图
    • 同局域网的两台主机进行通信
    • 跨网络的两台主机进行通信
    • 数据包的封装和分用
  • 网络中的地址管理
    • 认识IP地址
    • 认识MAC地址

计算机网络认识

计算机网络由两台或多台计算机组成,这些计算机通过电缆(有线)或 WIFI(无线)连接起来,目的是传输、交换或共享数据和资源。通过使用硬件(例如:路由器、交换机、接入点和电缆)和软件(例如:操作系统或业务应用程序)构建计算机网络。

计算机网络的核心是数据通信,它通过将数据划分为小的数据包,并通过网络传输这些数据包来实现信息的传递。计算机网络通常由以下几个要素组成:

  • 网络设备:包括路由器、交换机、集线器等,用于连接和转发数据包。这些设备在网络中负责数据的转发、路由选择和信号放大等功能。
  • 数据链路:通信数据链路是连接计算机网络中设备的物理媒介,可以是有线媒介或者无线媒介。数据通过数据链路进行传输。
  • 协议:计算机网络使用一系列规定数据格式、传输方式和控制过程的协议来实现通信。常见的网络协议包括 TCP/IP 协议、HTTP 协议、FTP 协议等。协议规定了数据的封装格式、传输方式、错误检测和纠正等。
  • 网络拓扑:网络拓扑指计算机网络中各设备之间的物理或逻辑连接方式。

计算机网络背景

网络发展

独立模式:计算机之间相互独立

在计算机网络的早期阶段,计算机之间先相互独立运行,没有连接在一起,每台计算机独立完成自己的任务,数据共享和通信较为困难。

在这里插入图片描述
如上所示,如果多个计算机要协同完成某种任务,那么只能等其中一台计算机完成将数据传递给下一台,然后吓一跳计算机再进行相应的任务处理,这样效率是非常低的。

网络互联: 多台计算机连接在一起, 完成数据共享

随着计算机数量的增加,人们意识到将多台计算机连接在一起可以实现数据共享和协同工作。这促使了计算机网络的发展,通过网络连接,计算机可以相互通信和共享数据。

在这里插入图片描述

局域网LAN:计算机数量更多了,通过交换机和路由器连接在一起

随着计算机网络的普及,人们开始在局域范围内连接更多的计算机,形成局域网。局域网通常由交换机和路由器等网络设备连接起来,实现跨地域的数据通信和资源共享。

在这里插入图片描述

广域网WAN:将远隔千里的计算机都连在一起

连接不同地理位置的局域网,形成广域网。广域网通过路由器和其它网咯设备将多个局域网连接起来,实现跨地域的数据通信和资源共享。

在这里插入图片描述

所谓的 “局域网” 和 “广域网” 只是一个相对的概念。

认识 “协议”

“协议” 是一种约定或规范,用于定义通信双方在进行交互时必须遵守的规则和步骤。在计算机网络中,网络协议是指通信计算机之间必须共同遵守的一组约定,以确保数据的可靠传输和有效处理。

网络协议可以被视为一种语言,它规定了通信的格式、数据的编码方式、消息的传递顺序以及错误处理等细节。通过遵循相同的协议,通信双方能够理解和解释对方发送的数据,从而实现有效的数据交换和通信。

一个生活中关于 “协议” 的简单例子:

生活中的交通规则就是一种协议,用于规范道路上的车辆和行人如何行驶和交互。如红绿灯信号、交通标志等都是交通规则的一部分,它们确保了交通的有序和安全。

网络协议初识

协议分层

协议提供了一种通信服务,主要定义设备之间通信所使用的语言。当通信简单时,我们可以只使用一种简单的协议。当通信复杂时,我们必须将任务分解到不同的层次中,因为我们需要在每个层次上遵循一个协议,这种技术被称为协议分层。

这种分层使我们能够将服务与实现分离。每个层次需要从较低层次接收一组服务,并向较高层次提供服务。对任何一个层次的修改都不会影响其它层次。

为什么引入分层设计?

网络协议栈设计成层状结构,其目的就是为了解耦不同功能和任务,并提供更好的可维护性和可扩展性。

例如:在打电话的时候,真正的通话过程并不是直接将 A 所说的话直接传递给 B ,而是先将 A 所说的话记录下来,再将其进行编码,然后通过网络将其发送到 B 的手机上,然后 B 的手机中对应的器件对通话数据进行解码,然后得到 A 所通话的数据。

若 A 与 B 进行通过都是使用的汉语,我们将其称为语言层。手机与手机之间通信使用的是手机设备相关的一些接口,我们将其称为通信设备层。

在这里插入图片描述
随着科技全球化的发展,手机也不仅仅是在一个国家进行使用,手机售卖到其它国家之后,此时上层的通信语言变了,但是依旧可以正常使用。

在这里插入图片描述

分层的一个主要优势就是封装。分层架构将通信系统划分为多个层次,每个层次负责特定的功能和任务。每个层次都有定义明确的接口和协议,它们之间通过这些接口进行通信。

当某个层次的协议需要进行更改或替换时,由于每个层次都有清晰的接口定义,只需在该层次进行修改,而不影响其它层次的实现。这种封装性使得系统更加灵活和可扩展。

网络协议分层结构的好处主要有以下几方面:

1️⃣ 分工明确:每一层协议都有自己的功能和职责,可以避免功能冗余。如:物理层负责数据的传输,网络层负责数据包的路由,传输层负责提供端到端的数据传输服务。
2️⃣ 灵活性:对每一次协议的修改或替换都不会影响到其他层。如:可以在不改变网络层和传输层的情况下,更换物理层的传输介质。
3️⃣ 可维护性:协议分层结构可以使得设计和维护工作更加简单,每一次都是独立的,可以单独的进行设计和维护。
4️⃣ 复用性:上层可以复用下层提供的服务。如:TCP 和 UDP 协议都复用了 IP 协议提供的数据包传输服务。
5️⃣ 兼容性:不同的网络设备和系统可通过共同遵守的协议来进行通信,实现了不同设备和系统之间的可操作性。
6️⃣ 扩展性:协议分层结构可以方便地添加新的协议和服务。

在网络协议中,同一层的协议可以看作是直接在进行通信,而不需要考虑下层协议的具体细节。

在这里插入图片描述

OSI七层模型

OSI 七层模型(Open System Interconnection Reference Model)是一个用于理解和描述计算机网络通信的参考模型。它将网络通信划分为七个不同的层次,每个层次负责特定的功能和任务。

  • OSI(开放系统互连)七层网络模型称为开放式系统互联参考模型。
  • 把网络从逻辑上分为了7层。每一层都有相关、相对应的物理设备,比如路由器,交换机。
  • OSI 七层模型是一种框架性的设计方法,其最主要的功能就是帮助不同类型的主机实现数据传输。
  • 它的最大优点是将服务、接口和协议这三个概念明确的区分出来,概念清楚,理论也比较完整。通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。
  • 但是它既复杂又不实用,所以在后面具体实现的时候对其进行了调整,因此就有了我们看到的 TCP/IP 四层协议。

OSI 七层模型如下:

在这里插入图片描述
OSI 七层模型提供了一种通用的参考框架,用于理解和描述计算机网络通信的不同层次和功能。每个层次都有特定的协议和功能,它们通过顶柜明确的接口实现相互之间的通信。

TC/IP 五层(或四层)模型

TCP/IP 是一组协议的代名词,它还包括许多协议,组成了 TCP/IP 协议簇。TCP/IP 通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。

物理层: 负责光/电信号的传递方式。比如现在以太网通用的网线(双绞线)、早期以太网采用的同轴电缆(现在主要用于有线电视)、光纤,现在的 WiFi 无线网使用电磁波等都是属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器(Hub)工作在物理层。

数据链路层: 负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验工作。有以太网、令牌环网、无线 LAN 等标准。交换机(Switch)工作在数据链路层。

网络层: 负责地址管理和路由选择。例如在 IP 协议中,通过 IP 地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输。如传输控制协议(TCP),能够确保数据可靠的从源主机发送到目标主机。

传输层: 负责两台主机之间的数据传输。如传输控制协议(TCP),能够确保数据可靠的从源主机发送到没目标主机。

应用层: 负责应用程序间沟通,如简单电子邮件传输(SMTP),文件传输协议(FTP)、网络远程访问协议(Telnet)等。我们的网络编程主要是针对应用层。

在这里插入图片描述

OSI 模型将网络层细分为网络层和数据链路层,形成七层模型。而 TCP/IP 模型将网络层和数据链路层合并为一个层级,形成了四层模型。

一般而言:

  • 对于一台主机,它的操作系统内核实现了从传输层到物理层的内容;
  • 对于一台路由器,它实现了从网络层到物理层;
  • 对于一台交换机,它实现了从数据链路层到物理层;
  • 对于集线器,它只实现了物理层;

但是并不绝对,很多交换机也实现了网络层的转发;很多路由器也实现了部分传输层的内容(如端口转发)。这些设备的功能范围并不是绝对的,实际上也会有一些交叉和重叠。

网络传输基本流程

网络传输流程图

下面是同一个网段内两台主机进行文件传输的简化网络传输流程图:

在这里插入图片描述

同局域网的两台主机进行通信

在同一个局域网内的两台主机可以直接进行通信。局域网的设计初衷就是为了让局域网内的主机能够方便地相互通信。

在这里插入图片描述

当用户要将文件传输给另一台主机时,文件数据需要经过网络协议栈的封装和解包。

发送端:

  1. 文件数据首先交给应用层,应用层添加应用层协议的包头信息,将数据给到传输层。
  2. 传输层接收数据,添加传输层协议的报头信息,并将数据传递到网络层。
  3. 网络层接收数据,添加网络层协议的报头信息,并将数据传递到链路层。
  4. 链路层接收数据,添加链路层协议的包头信息,并完成数据封装。

数据封装完毕后,通过局域网发送给目标主机。

接收端:

  1. 链路层接收数据,提取链路层协议的报头信息,并将剩余数据传递给网络层。
  2. 网络层接收数据,提取网络层协议的报头信息,并将剩余数据继续传递给传输层。
  3. 传输层接收数据,提取传输层协议的报头信息,并将剩余数据传递给应用层。
  4. 应用层接收数据,提取应用层协议的报头信息,并完成数据的解包和处理。

数据在发送端经过协议栈的封装后,通过局域网发送给目标主机。接收端的协议栈对数据进行解包和分用,将数据送达至应用层进行处理。在这个过程中,每一次协议都会负责添加或提取对于的报头信息,以确保数据正确的传输和处理。自顶向下的封装和自底向上的解包过程就是计算机网络中数据通信的基本原理。

跨网络的两台主机进行通信

跨网段的主机的文件传输。数据从一台计算机到另一台计算机传输的过程中要经过一个或多个路由器。

在这里插入图片描述
局域网之间都是通过路由器连接起来的,因此一个路由器至少横跨两个局域网。这些被路由器级联的局域网都认为,该路由器就是该局域网内的一台主机,因此路由器可以和这些局域网中的任意一台主机进行直接通信。

当路由器级联的两个局域网采用不同的通信标准时,路由器会负责将数据从一个局域网发到另一个局域网,并进行适当的转换和处理。

在这种情况下,路由器会根据接收到的数据的源和目的地址以及对于的网络层协议进行路由选择和转发。当路由器接收到从局域网1发送过来的数据时,路由器会解析以太网的报头,并将剩余的数据传送到网络层。在网络层,路由器会根据目的地址和路由表等信息,将数据转发到适当的局域网2在转发过程中,路由器会根据局域网2采用的通信标准(如令牌环网),为数据添加相应的报头信息,以确保数据能够在局域网2中正确传输。

即通过路由器的处理,不同通信标准的局域网之间的数据传输得以实现。路由器在网络层中起到了关键的作用,负责解析和转发数据,以及进行不同通信标准之间的转换和适配。

关于网络层相关的问题解释

什么是报头(Header)和有效载荷(Payload)?

报头指的是网络数据包或消息的元数据部分,报头一般通过位段实现,它包含了关于数据包的控制信息和描述信息。报头通常位于数据报或消息的首部,用于帮助网络设备或软件识别和处理数据。报头中的信息可以包括源地址、目的地址、协议版本、数据长度、校验和等。

  • 数据封包是指在数据传输过程中,不断地给数据添加各种对应的报头信息。
  • 数据解包是指在接收对数据进行处理时,不断从数据中提取对应的报头,并对提取出来的报头进行数据分析。

有效载荷是指在数据传输中携带的实际数据部分。它是报头之后的内容。有效载荷包含了需要在网络中传输或处理的实际信息。有效载荷的内容可以根据应用程序或协议的需要而有所不同。

报头和有效载荷的区分,有助于在数据传输过程中对数据进行灵活的控制和处理。报头提供了必要的元数据,用于指示和控制数据的传输和处理过程;而有效载荷则是传输的实际数据内容,是数据传输的核心部分。

如何将报头与有效载荷进行正确的分离?

需要将报头与有效载荷进行分离,需要明确报头的大小。在协议设计中,可以采用以下的方法来获取报头的大小:

  • 定长报头:协议设计中,可规定报头的大小。在解包时,接收端根据预先定义的大小来进行信息提取,将报头与有效载荷进行分离。
  • 子描述字段:报头中可以包含一个字段,用来表示报头的长度。这个字段可以是一个固定长度的字段,用来指示报头的大小。解包时,首先提取出该字段,然后根据字段信息来进行有效分离。

无论是定长字段还是子描述字段,都需要在协议设计中明确规定报头的格式和大小,并确保发送端和接收端在解析报头时能够正确地识别和分离报头和有效载荷。

在局域网中传输数据时,所有主机都能收到数据包,但只有目标主机会对该数据进行处理

局域网内传输数据时,数据通常是通过广播或多播的方式发出。广播是将数据发送到局域网中的所有主机,多播是将数据发送到局域网中指定的一组主机。当数据包通过广播或多播的方式发出时,局域网中的所有主机都能收到该数据包。因为局域网是一个共享的物理网络。

即使所有的数据都能收到该数据包,实际上只有目标主机会对该数据包进行处理。每个主机收到数据包时会检测数据包的目的地址,如果匹配自身的地址,就会进行处理,否则丢弃。

在局域网中传输数据时,若只想要特定的主机才能收到,可以使用单播的方式发出。

在网络数据发送时,什么是数据碰撞,怎么避免和处理?

在以太网等共享介质的网络中,多个主机可同时发送数据包到同一个物理网络中。多个主机同时发送数据时,由于信号传播的延迟以及网络中传输介质有限宽带等原因,数据包可能会在传输途中发送碰撞,导致数据包损坏或者丢失。

为了避免数据碰撞,以太网等共享介质的网络采用一种称为 CSMA/CD(Carrier Sense Multiple Access with Collision Detection)的协议。使用该协议的主机会在发送数据前监听网络中是否有其它主机正在发送数据。如检测到有主机正在发送数据,发送主机会等待特定的时间之后再次尝试发送,以减少碰撞。现在的以太网采用了全双工的通信和交换机技术。全双工通信允许同时发送和接收操作,交换机则可以将数据包从一个端口发送到另一个端口,避免了数据碰撞的发生。

局域网中的碰撞攻击

在这种攻击中,攻击者会发送大量的垃圾数据到局域网中,导致其它主机发送的有效数据与这些垃圾数据发生碰撞,从而造成网络瘫痪和阻塞。为了绕过 “碰撞避免” 算法,攻击者可能会采用多种手段。

碰撞攻击可能对局域网造成严重的影响,它会导致网络瘫痪或拥塞。为了防范碰撞攻击,可以采用很多措施,如:使用入侵检测系统、实施流量检测等。

网络主机中的 MAC 地址

MAC 地址(Media Access Control Address)是网络中的一个唯一标识符,用于在局域网中识别和寻址网络设备。

在局域网中,每个主机都可以通过 MAC 地址来判断数据包是不是发给自己的。每个主机都有一个 MAC 地址,该地址在网络接口卡(INC)中预先配置。当一个主机收到一个 MAC 数据帧时,它会检测该数据帧的目的 MAC 地址字段。如果与自己的 MAC 地址相匹配,则该主机继续处理该数据包,若不匹配,则丢弃。

MAC 地址是在数据链路层进行识别和判断的。在网络层和传输层以上的协议中,主机会使用 IP 地址和端口号来确定数据是不是发给自己的。MAC 地址是在局域网范围内使用的,在不同的局域网之间是无法直接进行传输的。在通过路由器连接到不同的网络情况下,数据包会被封装成 IP 数据包,然后使用 IP 地址寻址和路由。

IP地址的存在屏蔽了网络底层实现的差异

IP地址是在网络层使用的,它提供了一种统一的寻址方式,使得不同的网络可以通过IP地址进行通信。使用IP地址,网络设备可以将数据包传输到目标设备,而不需要关心网络底层的实现细节。

数据包的封装和分用

  • 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。
  • 应用层数据通过协议栈发到网络上时,每个协议层都会在原始数据上添加一个首部(header),从而形成一个数据包,称为封装(Encapsulation)。
  • 首部信息中包含了一些必要信息,如首部长度、载荷长度、上层协议等信息。
  • 数据封装成帧后发送到传输介质上,到达目的主机后每层协议再分离数据首部,根据首部中的 “上层协议” 字段将数据交互给对应的上层协议进行处理。

下图为数据封装的过程:
在这里插入图片描述

下图为数据分用的过程:

在这里插入图片描述

网络中的地址管理

认识IP地址

IP协议有两个版本,IPv4 和 IPv6。在没有特殊说明的情况下,通常所说的 IP 地址都是 IPv4。

  • IP 地址是在 IP 协议中,用来标识网络中不同主机的地址;
  • 在 IPv4 中,它由4个字节组成,32位的整数,如(192.168.0.1);
  • 我们通常也使用 “点分十进制” 的字符串来表示 IP 地址,如:192.168.0.1,用点分割的每一个数字表示一个字节,范围是 0-255;
  • 随着互联网的发展和 IPv4 地址的枯竭,IPv6 被逐渐引入。IPv6 采用128位的地址空间,以克服 IPv4 中可用地址数量有限的问题。IPv6 通常以冒号分隔的八组十进制数表示。

认识MAC地址

  • MAC 地址用于在数据链路层识别相连节点的地址;
  • 它的长度为48位,也就是6个字节。一般使用16进制数字加上冒号(:)的形式来表示,例如:08:00:27:03:fb:19;
  • MAC 地址在网卡出厂时就确定了,并且通常是唯一的,不能修改(虚拟机中的 MAC 地址不是真实的 MAC 地址,可能会冲突;也有些网卡支持用户配置 MAC 地址)。
  • MAC 地址是在数据链路层使用的。它与 IP 地址不同,IP 地址是在网络层使用的,两者都用于在互联网中标识和定位设备。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/192865.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【深度学习】SimSwap: An Efficient Framework For High Fidelity Face Swapping 换脸,实战

代码:https://github.com/neuralchen/SimSwap 文章目录 摘要介绍RELATED WORK实验结论代码实操 SimSwap是一个高保真度人脸交换的高效框架。它将源脸的身份转移到目标脸上,同时保留目标脸的属性。该框架包括ID注入模块(IIM)&#…

Umeyama 算法之源码阅读与测试

Title: Umeyama 算法之源码阅读与测试 文章目录 前言I. Eigen 中 Umeyama 算法源码1. Eigen/src/Geometry/Umeyama.h 源码2. 代码测试 II. PCL 中 Umeyama 算法源码III. evo 中 Umeyama 算法源码1. evo/core/geometry.py 源码2. 代码测试 总结参考文献 [相关博文介绍] - 矩阵乘…

Avatar虚拟形象解决方案,趣味化的视频拍摄与直播新体验

企业们正在寻找新的方式来吸引和保持观众的注意力,一种新兴的解决方案就是使用Avatar虚拟形象技术,这种技术可以让用户在视频拍摄或直播场景中,以自定义的数字人形象出现,同时保持所有的表情和脸部驱动。美摄科技正是这个领域的领军者&#x…

Elastic stack8.10.4搭建、启用安全认证,启用https,TLS,SSL 安全配置详解

ELK大家应该很了解了,废话不多说开始部署 kafka在其中作为消息队列解耦和让logstash高可用 kafka和zk 的安装可以参考这篇文章 深入理解Kafka3.6.0的核心概念,搭建与使用-CSDN博客 第一步、官网下载安装包 需要 elasticsearch-8.10.4 logstash-8.…

【Pytorch和深度学习】栏目导读

一、栏目说明 本栏目《pytorch实践》是为初学者入门深度学习准备的。本文是该栏目的导读部分,因为计划本栏目在明年完成,因此,导读部分,即本文也在持续更新中。 本栏目设计目标是将深度学习全面用pytorch实践一遍,由浅…

【考研数据结构代码题6】构建二叉树及四大遍历(先中后层)

题目:请你编写完整的程序构建一棵二叉树并对其进行先序遍历、中序遍历、后序遍历与层次遍历,分别打印并输出遍历结果 难度:★★★ 二叉树的存储结构 typedef struct Node{char data;//数据域struct Node* left;//左子树struct Node* right;//…

物联网AI MicroPython学习之语法 GPIO输入输出模块

学物联网,来万物简单IoT物联网!! GPIO 介绍 模块功能: GPIO通用输入输出。 接口说明 GPIO - 构建GPIO对象 函数原型:Pin(port, dir , pull)参数说明: 参数类型必选参数?说明portintY对应开发板的引脚号…

[LeetCode周赛复盘] 第 371 场周赛20231112

[LeetCode周赛复盘] 第 371 场周赛20231112 一、本周周赛总结100120. 找出强数对的最大异或值 I1. 题目描述2. 思路分析3. 代码实现 100128. 高访问员工1. 题目描述2. 思路分析3. 代码实现 100117. 最大化数组末位元素的最少操作次数1. 题目描述2. 思路分析3. 代码实现 100124…

初始MySQL(四)(查询加强练习,多表查询)

目录 查询加强 where加强 order by加强 group by 分页查询 总结 多表查询(重点) 笛卡尔集及其过滤 自连接 子查询 子查询当作临时表 all/any 多列子查询 #先创建三张表 #第一张表 CREATE TABLE dept(deptno MEDIUMINT NOT NULL DEFAULT 0,dname VARCHAR(20) NOT …

Python数据结构:字典(dict)详解

1.字典概念 字典在其他语言中可能会被称为“关联存储”或“关联数组”。   在Python中,字典(Dictionary)是一种可变、无序且键值对(key-value pairs)唯一的数据结构。   字典也是一种标准映射类型,mapp…

【嵌入式设计】Main Memory:SPM 便签存储器 | 缓存锁定 | 读取 DRAM 内存 | DREM 猝发(Brust)

目录 0x00 便签存储器(Scratchpad memory) 0x01 缓存锁定(Cache lockdown) 0x02 读取 DRAM 内存 0x03 DREM Banking 0x04 DRAM 猝发(DRAM Burst) 0x00 便签存储器(Scratchpad memory&#…

OpenCV颜色识别及应用

OpenCV是一个开源计算机视觉库,提供了丰富的图像处理和计算机视觉算法,其中包括颜色识别。本文首先介绍了OpenCV库,然后着重描述了颜色识别的基本原理和方法,包括颜色空间的转换、阈值处理、颜色检测等技术。接下来详细探讨了Open…

【验证码逆向专栏】百某网数字九宫格验证码逆向分析

声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 本文章未…

修改ubuntu终端目录背景颜色

Ubuntu终端上有部分目录是黄绿色底色,看着很不舒服。如下图所示: 这是由于修改用户权限导致的问题。 通过下面指令可以看到 echo $LS_COLORS | grep "ow" ​ 可以看到ow的默认参数是34:42ow:OTHER_WRITABLE,即其他用户可写权限 …

分类预测 | Matlab实现PSO-GRU粒子群算法优化门控循环单元的数据多输入分类预测

分类预测 | Matlab实现PSO-GRU粒子群算法优化门控循环单元的数据多输入分类预测 目录 分类预测 | Matlab实现PSO-GRU粒子群算法优化门控循环单元的数据多输入分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现PSO-GRU粒子群算法优化门控循环单元的数据…

『亚马逊云科技产品测评』活动征文|阿里云服务器亚马逊服务器综合评测

授权声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 Developer Centre, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道 文章目录 引言一、亚马逊&阿里云发展历史介绍1.1 亚马逊发展历史1.2…

腾讯云CVM服务器5年可选2核4G和4核8G配置

腾讯云服务器网整理五年云服务器优惠活动 txyfwq.com/go/txy 配置可选2核4G和4核8G,公网带宽可选1M、3M或5M,系统盘为50G高性能云硬盘,标准型S5实例CPU采用主频2.5GHz的Intel Xeon Cascade Lake或者Intel Xeon Cooper Lake处理器,…

基于MS16F3211芯片的触摸控制灯的状态变化和亮度控制(11.15)

1.任务所需实现基本功能 关机状态时白灯亮蓝灯灭,此时长按按键无反应,白灯亮度降低的状态,蓝灯保持灭的状态。点按按键一次,白灯熄灭,蓝灯亮此时W引脚控制的灯亮。继续点按按键。蓝灯亮,此时W引脚控制的灯…

iOS 设置图标和upload包时显示错误

右键-show in finder-AppIcon.appiconset-然后替换图片 然后遇到个问题 就是图片不能有alpha [Xcode]应用图标:ERROR ITMS-90717: “Invalid App Store Icon. The App Store Icon in the asset catalog in x… 具体操作:只需确保【AppIcon】图片集中不…