Linux网络基础(基础概念)

news2024/9/23 15:31:22

Linux网络基础(基础概念)

文章目录

  • Linux网络基础(基础概念)
    • 1.计算机网络的发展过程
      • 1.1 独立模式
      • 1.2 网络互联模式
      • 1.3 局域网 LAN
      • 1.4 广域网 WAN
    • 2.计算机网络协议
      • 2.1 协议的概念
      • 2.2 什么是网络协议
      • 2.3 什么是网络协议簇
      • 2.4 OSI 七层模型
      • 2.5 TCP/IP 五层模型
    • 3.网络传输基本流程
      • 3.1 同局域网内的两台主机通信
      • 3.2 跨网络的两台主机通信
    • 4.各层间的通讯
    • 5.认识IP地址
    • 6.认识MAC地址
    • 6.认识MAC地址

1.计算机网络的发展过程

1.1 独立模式

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

在早期的时候,计算机之间是相互独立的,此时如果多个计算机要协同完成某种业务,那么就只能等一台计算机处理完后再将数据传递给下一台计算机,然后下一台计算机再进行相应的业务处理,效率非常低下

请添加图片描述


1.2 网络互联模式

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

独立模式太麻烦了,这时就有人设法将这些计算机连接在一起,当某个业务需要多台计算机协同完成时,就可以将共享的数据放到服务器中进行集中管理,此时各个计算机就都能获取到这些共享的数据,所以各个业务在处理就能随时进行切换了

请添加图片描述


1.3 局域网 LAN

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

后来这样的网络雏形逐渐发展,连入这个网络中的机器变得越来越多,于是就出现了局域网的概念,在局域网中有一种设备叫做交换机,交换机主要完成局域网内数据的转发工作,也就是在局域网内将数据从一台主机转发给另一台主机。各个局域网之间通过路由器连接起来,路由器主要完成数据的路由转发工作

请添加图片描述


1.4 广域网 WAN

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

各个局域网之间通过路由器相互连接在一起,便组成了一个更大的网络结构,我们将其称之为广域网。实际局域网和广域网是一种相对的概念,我们也可以将广域网看作一个比较大的局域网

请添加图片描述


2.计算机网络协议

2.1 协议的概念

  • “协议”本质就是一种约定,通信双方只要曾经做过某种约定,之后就可以使用这种约定来完成某种事情。而网络协议是通信计算机双方必须共同遵从的一组约定,因此我们一定要将这种约定用计算机语言表达出来,此时双方计算机才能识别约定的相关内容
  • 协议是双方约定同一种语言,进行沟通,计算机之间的传输媒介是光信号和电信号。通过 “频率” 和 “强弱” 来表示 0 和 1 这样的信息.,要想传递各种不同的信息,就需要约定好双方的数据格式
  • 协议总是指某一层的协议。准确地说,它是在同等层之间的实体通信时,有关通信规则和约定的集合就是该层协议,例如物理层协议、传输层协议、应用层协议

2.2 什么是网络协议

  • 计算机生产厂商有很多,计算机操作系统, 也有很多,计算机网络硬件设备, 还是有很多,如何让这些不同厂商之间生产的计算机能够相互顺畅的通信呢?
  • 这就需要有人站出来, 约定一个共同的标准,大家都来遵守, 这就是网络协议
  • 网络协议是通信双方,进行网络通信时,约定通信所使用的数据格式

2.3 什么是网络协议簇

网络协议簇:指的是由很多网络协议组成的簇群,称之为协议簇


2.4 OSI 七层模型

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

如下图:

请添加图片描述

OSI七层模型图:

请添加图片描述


2.5 TCP/IP 五层模型

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

由于一些历史问题,我们有时候说TCP/IP协议簇是四层也可以是五层,因为规定了网络接口层=数据链路层+物理层,我们一般还是说五层,方便与OSI一起记忆,如下图:

请添加图片描述

各层的作用:

  • 物理层: 负责光/电信号的传递方式。比如现在以太网通用的网线(双绞线)、早期以太网采用的同轴电缆(现在主要用于有线电视)、光纤,现在的WiFi无线网使用的电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器(Hub)就是工作在物理层的
  • 数据链路层: 负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作。数据链路层底层的网络通信标准有很多,如以太网、令牌环网、无线LAN等。交换机(Switch)就是工作在数据链路层的
  • 网络层: 负责地址管理和路由选择。例如在IP协议中,通过IP地址来标识一台主机,并通过路由表的方式规划出两台主机之间数据传输的线路(路由)。路由器(Router)就是工作在网络层的
  • 传输层: 负责两台主机之间的数据传输。例如传输控制协议(TCP),能够确保数据可靠的从源主机发送到目标主机
  • 应用层: 负责应用程序间沟通。比如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。我们的网络编程主要就是针对应用层的

与OSI七层模型各层的对应关系:

请添加图片描述


3.网络传输基本流程

3.1 同局域网内的两台主机通信

首先需要明确的是,同一个局域网内的主机是能够直接进行通信的,因为最初局域网设计的目的,就是为了让局域网内的主机能够进行通信

  • 网络数据的转发需要先经历自己的网络协议栈,进而通过网络将数据转化为光电信号,传输到对端机器,对端机器收到数据之后,需要经历自己的机器网络协议栈的层层向上提交,一直将数据提交到应用层的应用程序当中,如下图:

请添加图片描述

当用户要将文件传输给另一台主机前,该文件数据需要先通过网络协议栈进行封装:(FTP客户 -> 以太网驱动程序 )

  • 文件数据先交给应用层,应用层添加上对应应用层协议的报头信息后,将数据再交给传输层
  • 传输层收到数据后,再添加上对应传输层协议的报头信息,并将数据继续向下进行交付
  • 网络层收到数据后,再添加上对应网络层协议的报头信息,接着将数据再交给链路层
  • 链路层收到数据后,最后再添加上对应链路层协议的报头信息,至此数据封装完毕

数据封装完毕后就可以通过局域网将其发送给对端主机了,而当对端主机收到数据后,对应也需要通过网络协议栈对该数据进行解包与分用:(以太网驱动程序 -> FTP客户)

  • 链路层收到数据后,先将数据中对应链路层协议的报头信息提取出来,然后将剩下的数据交给网络层
  • 网络层收到该数据后,再将数据中对应网络层协议的报头信息提取出来,然后将剩下的数据继续向上进行交付
  • 传输层收到该数据后,再将数据中对应传输层协议的报头信息提取出来,然后将剩下的数据再交付给应用层
  • 应用层收到数据后,最后将数据中对应应用层协议的报头信息提取出来,至此便完成了数据的解包与分用

也就是说,任何一台主机在发送数据之前,该数据都要先自顶向下贯穿协议栈来完成数据的封装,在这个过程中,每一层协议都会添加上对应的报头信息;而任何一台主机收到数据后,都要先自底向上贯穿协议栈来完成数据的解包和分用,在这个过程中,每一层协议都会将对应的报头信息提取出来

一些概念的补充:

概念一:数据包封装和分用

  • 不同协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)
  • 应用层数据通过协议栈发到网络上,每层协议都要加上一个数据首部(header),称为封装(Encapsulation)
  • 首部信息中包含了一些类似于首部有多长,载荷(payload)有多长,上层协议是什么等信息

下图为数据封装的过程:

请添加图片描述

下图为数据分用的过程:

请添加图片描述


概念二:什么是报头

  • 报头本质也是一种数据,报头一般是通过位段实现的,因此协议栈的每一层都有一个对应的位段来表示当前层的报头

数据的封装与解包:

  • 数据封装,实际就是不断给数据加上各种对应的报头,这些报头里面填充的就是对应的各种协议细节
  • 数据解包,实际就是不断从数据中提取对应的报头,并对提取出来的报头进行数据分析

概念三:报头与有效载荷

  • 当对端主机收到数据后,需要自底向上贯穿协议栈,依次进行数据的解包与分用。在这个解包的过程中,每一层的协议只需要提取出数据中对应的报头,然后对该报头进行分析处理,而剩下的数据则直接交付给上层就行了
  • 因为每一层的协议实际上只关心数据中与当前层对应的报头信息,而剩下信息的具体内容根本不必关心,我们将数据中除当前层的报头以外的数据叫做“有效载荷”
  • 需要注意的是,上层协议在数据封装时添加的报头信息,在下层协议进行数据解包时看来就是有效载荷。比如数据封装时应用层添加的报头信息,在对端主机进行数据解包时,在对端主机的传输层、网络层以及链路层看来,该应用层曾经添加的报头信息就是有效载荷

那我们如何将报头与有效载荷进行分离呢?

  • 协议栈的每一层都要从数据中提取对应的报头信息,而要将数据中的报头提取出来,首先就需要明确报头与有效载荷之间的界限,这样才能将它们进行分离。而每一层添加报头时都是将报头添加到数据的首部的,因此我们只要知道了报头的大小,就能够讲报头和有效载荷进行分离

获取报头大小的方法通常有两种:

  • 定长报头。顾名思义就是报头的大小是固定的
  • 自描述字段。报头当中提供了一个字段,用来表示报头的长度
  • 实际上每个协议都要提供一种方法,让我们获取到报头的大小,这样我们才能在解包时将报头与有效载荷进行分离

当前层如何知道应该将有效载荷交付给上层的哪个协议?

  • 实际在每种协议的报头当中,几乎都会包含一个字段,表明我们应该把分离出来的有效载荷交付给上层的哪个协议,这就是分用的过程

概念四:协议共性

  • 提供一个将报头与有效载荷分离的方法
  • 协议当中必须包含一个字段,表明应该将有效载荷交付给上层的哪个协议
  • 实际当我们要学习一种协议的时候,首先就应该明确这两点,因为当我们在解包的时候必须将报头与有效载荷分离,而当我们在分用的时候必须知道应该将有效载荷交付给上层的哪个协议

概念五:什么是碰撞

  • 当主机A在向主机B发送数据时,其他主机彼此之间可能也正在进行通信,甚至主机A在和主机B通信的同时也在和其他主机进行通信

  • 但同一局域网中的所有主机在通信时,使用的都是一个共同的通信信道,因此如果局域网内的多台主机同时进行通信,此时这些数据之间就可能会相互干扰

  • 每一个局域网都可以看作是一个碰撞域,如果某个主机发送出去的数据与其他主机发送的数据之间产生了干扰,我们就称这两台主机在该碰撞域中发生了碰撞

如何判断发送出去的数据是否发生了碰撞?

  • 因为发送到局域网当中的数据是所有主机都能够收到的,因此当一个主机将数据发送出去后,该主机本身也是能够收到这个数据的。当该主机收到该数据后就可以将其与之前发送出去的数据进行对比,如果发现收到的数据与之前发送出去的数据不相同,则说明在发送过程中发生了碰撞,也就是说,主机实际是能够通过某种方式,知道曾经发送出去的数据是否发生了碰撞的

发生碰撞后是如何处理的?

  • 当一个主机发现自己发送出去的数据产生了碰撞,此时该主机就要执行“碰撞避免”算法。“碰撞避免”算法实际很简单:当一个主机发送出去的数据产生了碰撞,那么该主机可以选择等一段时间后,再重新发送该数据。这就像现实生活中的两个人同时想要说话,此时对方就都会说“你先说吧”,这实际上就是一种碰撞避免

3.2 跨网络的两台主机通信

上面说的都是同一局域网内的主机之间的通信,那跨局域网的两台主机之间是如何进行通信的呢?

  • 局域网之间都是通过路由器连接起来的,因此一个路由器至少能够横跨两个局域网。而这些被路由器级联局域网都认为,该路由器就是本局域网内的一台主机,因此路由器可以和这些局域网内的任意一台主机进行直接通信
  • 比如局域网1当中的主机A想要和局域网2当中的主机H进行通信,那么主机A可以先将数据发送给路由器,然后路由器再将数据转发给局域网2当中的主机H

请添加图片描述

如果采用不同通信标准的两个局域网内的主机通信呢?

如果路由器级联的两个局域网采用的是相同的通信标准,那么通信过程大致就是上述那样。但被路由器级联的局域网可能采用的是不同的通信标准,比如局域网1采用的是以太网,而局域网2采用的却是令牌环网

请添加图片描述

  • 由于以太网和令牌环网是不同的通信标准,它们给数据添加的报头也是不一样的,因此令牌环网当中的主机无法对以太网当中的数据帧进行解包
  • 这种情况实际是由路由器来处理的,路由器是工作在网络层的一个设备,我们可以认为路由器当中的协议栈是下面这样的:

请添加图片描述

  • 此时当数据要从局域网1发送到局域网2时,路由器收到局域网1的数据后,会先将以太网对应的报头进行解包,然后将剩下的数据向上交付给网络层,在网络层进行一系列数据分析后,再将数据向下交付给链路层,此时在链路层当中就会给该数据添加上令牌环对应的报头信息,然后再将该数据发送到局域网2当中,此时该数据就能够在令牌环网当中传输了

请添加图片描述


4.各层间的通讯

发送方与接收方各层之间必须采用相同的协议才能建立连接,实现正常的通信

  • 应用层之间必须采用相同的编码解码规则,才能保证用户信息传输的正确性
  • 传输层之间必须采用相同的端口号与协议关系,才能保证上层应用进程间的通信
  • 网络层之间必须采用相同的逻辑寻址过程才能保证数据不会传输到错误的目的地
  • 数据链路层之间如果协议不同,接收方无法“理解”数据的内容
  • 物理层之间必须硬件接口规格相同,否则接收不到信号

请添加图片描述

在实际的网络环境中,发送方和接受方之间会有很多的硬件设备起到中转的作用,在下图中假设了一种通信结构,在两台计算机之间增加了两台交换机和路由器,发送主机的数据会通过以下中间设备到达接受主机

请添加图片描述

步骤解析:

  • 发送主机按照前面讲解的内容进行数据封装
  • 从发送主机物理网卡发出的电信号通过网线到达交换机,交换机将电信号转换成二进制数据送往交换机的数据链路层。交换机根据数据帧头部的MAC地址将数据智能转发到对应的路由器设备,在转发前要重新将二进制数据转换成物理的电信号
  • 路由器接受到数据后,会拆掉数据链路层的MAC头部信息,将数据包送往网络层,路由器将检测数据包头部的目标IP地址信息,并根据该信息进行路由转发,将数据报文转发到下一路由器上,在转发前要重新封装新的MAC头部信息,并将数据转换成二进制
  • 之后的过程与前面大同小异。简单来说就是路由器接受电信号,将电信号转换成二进制数据发往网络层,然后根据MAC地址和IP地址进行重新封装转换为电信号进行转发,然后对应的交换机接受电信号,然后根据MAC地址传送到接收主机的网卡中

5.认识IP地址

IP协议有两个版本, IPv4和IPv6. 整个的课程, 凡是提到IP协议, 没有特殊说明的, 默认都是指IPv4

  • IP地址是在IP协议中, 用来标识网络中不同主机的地址
  • 对于IPv4来说, IP地址是一个4字节, 32位的整数
  • 我们通常也使用 “点分十进制” 的字符串表示IP地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个字节, 范围是 0 - 255

IP地址的作用:可以在网络当中唯一标识一台主机,一个公网IP地址只能被一台机器所占有,一个机器可以拥有多个IP地址


6.认识MAC地址

MAC地址用来识别数据链路层中相连的节点

  • 长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)
  • 长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)

对于接收方而言,所有的网络数据都是需要经历网络协议栈的,但是,怎么区分网络数据到底属于哪一个应用程序的呢?

通过端口进行区分

6.认识MAC地址

MAC地址用来识别数据链路层中相连的节点

  • 长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)
  • 长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)

对于接收方而言,所有的网络数据都是需要经历网络协议栈的,但是,怎么区分网络数据到底属于哪一个应用程序的呢?

通过端口进行区分

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

3M EDI 855 采购订单确认报文详解

3M公司,全称明尼苏达矿业及机器制造公司。它于1902年成立,总部现位于美国明尼苏达州首府圣保罗市,为世界著名的多元化跨国企业,并且是道琼斯30种工业成分指数股票之一。 3M为管理其庞大的供应链建立了EDI(Electronic D…

微信小程序|使用小程序制作一个马赛克处理工具

此文主要使用微信小程序制作一个马赛克处理工具,这个场景在生活中也非常常见,例如新闻之类有些视频或者图片不想给大众展示就会将其和谐掉,这就是马赛克应用。 开发步骤创建小程序功能开发实现API接口响应开发步骤 创建小程序 准备百度以及微…

[附源码]Python计算机毕业设计Django医疗器械公司公告管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

2022年11月份中国最具影响力的50位钧瓷匠人排行榜

讲好钧瓷产业的故事 有深度的故事,有温度的内容 有态度的文字,有立场的思考 版权声明:钧瓷内参独家发布,侵权必究 第320期 钧瓷内参 2022年12月1日 低代码——钧瓷企业数字化转型的核心引擎 2022年11月…

百趣代谢组学分享,肠道神奇细菌竟能调控体重,减肥有望“吃出来”

​代谢组学分享,上海交通大学附属瑞金医院宁光院士团队在Nature Medicine在线发布中国人肥胖的肠道菌群的较新研究,发现一系列丰度显著异于正常体重人群的肠道共生菌,其中多形拟杆菌(BT菌)口服可降低小鼠血清谷氨酸浓度…

java计算机毕业设计ssm校园安全随手拍系统wc38l(附源码、数据库)

java计算机毕业设计ssm校园安全随手拍系统wc38l(附源码、数据库) 项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xf…

港科夜闻|香港科大张利民教授荣获2023年度美国土木工程师学会派克奖(Ralph B. Peck Award)...

关注并星标每周阅读港科夜闻建立新视野 开启新思维1、香港科大张利民教授荣获2023年度美国土木工程师学会派克奖(Ralph B. Peck Award)。张利民教授因在岩土多灾害风险评估、基于风险的工程设计和应急决策等领域的杰出贡献,荣获 2023年度美国土木工程师学会派克奖&a…

如何在 Spring Boot 项目中使用 Thymeleaf 和 Bootstrap 实现文件上传

在本教程中,我将向您展示如何在 Spring Boot 项目中使用 Thymeleaf 和 Bootstrap 实现文件上传。我们还使用 Spring Web MultipartFile界面来处理 HTTP 多部分请求。 Thymeleaf 文件上传概述 我们的 Spring Boot Thymeleaf 文件上传示例将具有以下功能&#xff1…

MongoDB的简介及安装配置

文章目录1、什么是MongoDB2、下载3、安装4、配置5、启动拓展(mongo不是内部或外部命令)1、什么是MongoDB MongoDB是一个基于分布式文件存储 [1] 的数据库。由C语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据…

Matlab基于KD树的离散点密度特征提取—点云处理及可视化第4期

在之前的文章中,分享了Matlab基于KD树的邻域点搜索方法: 在此基础上,进一步分享一下基于KD树的离散点密度特征提取方法。 先来看一下成品效果: 特别提示:《Matlab点云处理及可视化》系列文章整理自作者博士期间的部分…

汇编语言与微机原理 期末半开卷复习整理(下)

输入输出 8086采用I/O端口独立编址 in AL/AX,imm8/DX out imm8/DX,AL/AX 大于0FFH的端口只能存在DX 读外设(查询) status:in al,dxtest al,80H;//测标志位jz statusmov dx,100hin al,dx写外设(查询) status:mov dx,102Hin al,dxtest al,80Hjnz status…

Qt实现跨平台窗口选择功能

Qt实现跨平台获取鼠标位置窗口大小功能 文章目录Qt实现跨平台获取鼠标位置窗口大小功能1、概述2、实现效果3、实现原理4、关键代码5、源代码更多精彩内容👉个人内容分类汇总 👈👉Qt自定义模块、工具👈 1、概述 Qt版本&#xff1a…

从源码层面理解 React 是如何做 diff 的

大家好,我是前端西瓜哥。今天带带大家来分析 React 源码,理解它的单节点 diff 和多节点 diff 的具体实现。 React 的版本为 18.2.0 reconcileChildFibers React 的节点对比逻辑是在 reconcileChildFibers 方法中实现的。 reconcileChildFibers 是 Chil…

ATTCK-T1003-001-操作系统凭据转储:LSASS内存

0x01基础信息 具体信息详情ATT&CK编号T1003-001所属战术阶段凭据访问操作系统windows 7 旗舰版 SP1创建时间2022年11月17日监测平台火绒安全、火绒剑、sysmon 0x02技术原理 攻击者可能会尝试访问存储在本地安全机构子系统服务 (LSASS) 进程内存中的凭证材料。用户登录后&…

Linux文件服务配置FTP服务

作者简介:一名99年软件运维应届毕业生,正在自学云计算课程。宣言:人生就是B(birth)和D(death)之间的C(choise),做好每一个选择。创作不易,动动小手…

【Python恶搞】Python实现祝福单身狗的恶搞项目,快@你的好朋友,祝福他吧 | 附源码

前言 halo,包子们上午好 咱就说,谁还没有一个单身的小伙伴呢 今天这个代码主要是为了祝福咱们单身的小伙伴 咱就说废话不多说,直接上才艺 相关文件 关注小编,私信小编领取哟! 当然别忘了一件三连哟~~ 源码点击蓝色…

数据可视化是让信息表现更复杂?很多人可能错了

数据可视化,目前行业中很多人认识有些偏颇,数据可视化就是单纯认为是大屏展示、酷炫的图表,很多人仅仅是把数据可视化 作为展厅中的刚性需求而已,其实这个是对数据行业的偏见,很多人侧重于数据的表现,而非便…

谷歌北大扩散模型(Diffusion Model)首篇综述来了!

本综述(Diffusion Models: A Comprehensive Survey of Methods and Applications)来自加州大学&Google Research的Ming-Hsuan Yang、北京大学崔斌实验室以及CMU、UCLA、蒙特利尔Mila研究院等众研究团队,首次对现有的扩散生成模型&#xf…

ftp工具的21端口无法连上远程主机

一、检测是否有安装vsffpd netstat -tunlp 没有安装先安装 1.安装 vsftpd 执行以下命令,安装 vsftpd。 yum install vsftpd -y 2.启动服务 执行以下命令,启动服务。 systemctl start vsftpd 3.执行以下命令,确认服务是否启动。 netstat -tun…

【c++基础】第二章 微观部分:面向对象之类的组成

第二章 微观部分:面向对象之类的组成类函数构造函数析构函数拷贝构造函数运算符重载函数封装一个字符串类初始化列表this指针常对象和常成员函数(方法)静态属性和静态成员函数单例设计模式类 对象:属性和方法组成,是类…