网络协议入门 笔记一

news2024/11/16 7:52:26

一、服务器和客户端及java的概念

        JVM (Java Virtual Machine) : Java虚拟机,Java的跨平台:一次编译,到处运行,编译生成跟平台无关的字节码文件 (class文件),由对应平台的JVM解析字节码为机器指令 (010101)。

        如下图所示,java的项目编译时,写好java代码之后,经过编译得到“.class”后缀的文件,但是这个文件并不是可执行文件,需要依靠各种平台上安装的JVM平台才能运行。这与C/C++代码文件不同,C/C++代码是在不同平台使用不同的编译器编译成不同平台可执行的机器指令,之后在不同的平台运行。

        如下图所示,客户端会安装各种各种的软件,软件将数据发给服务器不同的或者相同的端口,服务器会监听各种端口,例如80或者8080端口,因为有不同的客户端软件发过来数据,为了处理不同软件的数据,就需要在客户端的端口监听下部署针对不同软件的项目。

        下面是服务器的部署项目的方式及依赖:

二、网络物理层知识

        下面将介绍网络中的基础知识:两计算机之间的直接通讯、集线器、网桥、交换器、路由器等。

    1.两台计算机之间可以通过交叉线直连。

    2.集线器

        连接多台计算机
        这些计算机的ip在同一个网段
        半双工通信:整体形成一个冲突域

    3.网桥:
        这些计算机的ip在同一个网段
        会记住两端计算机们的ip和MAC
        半双工通信:网桥两端的计算机们各自隔离成一个冲突域。
        两端独立的冲突域可以各自在域内独立同行

    4.交换器:
        这些计算机的ip在同一个网段
        全双工通信
        会记住连接在交换器上的所有的计算机的ip和MAC

    5.路由器:
        路由器的每个端口都配置有网关和MAC
        网关可以发出ARP广播
        路由器可以实现不同网段的通信。

ICMP协议:是ping指令的通讯协议,具体的内容参考下面文档

ICMP协议详解-CSDN博客

IAR协议:进行ping指令前需要得到对方主机的MAC地址,地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址。具体参考下面的文章。

彻底搞懂系列之:ARP协议 - 知乎 (zhihu.com)

(1)两台计算机之间的直连

         如下图所示的,电脑之间进行数据通讯,需要IP地址地同时,还是需要MAC地址(MAC地址在对应地网卡中,是全球唯一的)。计算机1向计算机2发送数据的时候,需要知道计算机2的IP地址,还需要知道对方的MAC地址。

        数据传输的过程,最终计算机中的数据是根绝MAC(网卡地址)将数据发出,接收数据的时候如果数据包中的目标MAC地址是自己网卡的地址就接收数据,如果不是自己网卡的地址就将数据包丢弃。

        两个电脑直连,要想实现两个电脑之间的通讯,两个电脑的IP地址必须在同一个网段,不在同一个网段是不能ping通的。ping过程走的是ICMP协议。

        一个主机ping另一个主机的时候,首先向自己同一个网段内发送ARP广播,获得对方的MAC地址,然后在进行ICMP协议的ping命令的发送。

一次ARP请求:(1)pc7------->:ARP请求开始

                         (2)pc7------->pc8:ARP

                         (3)pc8------->pc7:ARP

一次ICMP请求:(1)pc7------->:ICMP请求开始

                          (2)pc7------->pc8:ICMP

                          (3)pc8------->pc7:ICMP

注意:ARP和ICMP的数据报,都是要求自己和目标主机在同一个网段中,也就是ping这条指令的进行首先要发ARP广播获得目标主机的MAC地址,然后在发送ICMP数据,这两条通讯都是需要两台主机在同一个网段,不在同一个网段需要加路由器,这个后面会讲。

如上图所示的发送ARP请求的时候,目标MAC地址为“FFFF.FFFF.FFFF”说明这个信息是“广播”。

        发送数据给指定ip的主机是如何判断目标ip是否与自己是同一个网段?

        例如PC1:ip(192.168.5.10),子网掩码(255.255.255.0)

               PC2:ip(192.168.6.11),  子网掩码(255.255.255.0)

        (1)PC1给PC2发数据的时候,使用PC1的子网掩码与PC1和PC2相位与,两个网段一样,PC1才能给PC2发数据。

        (2)PC2给PC1发数据的时候,使用PC2的子网掩码与PC2和PC1相位与,两个网段一样,PC2才能给PC1发数据。

(2)集线器、同轴电缆 

        同轴电缆如上图所示,半双工通讯。

        下面是集线器,也就是多个同轴电缆的线路集合。

       集线器和同轴电缆都是没有智商的,发送APR广播的时候就会发给所有的机器,是目标地址就会回复,ICMP通讯的通讯的时候,也是发给所有的机器,目标机器接收到数据不是发给对方的,就丢弃数据。

(3)网桥

        介绍网桥是离不开集线器的弊端,因为如下图所示的两个集线器“Hub0”和“Hub1”之间连接起来,然后每个集线器之间接多个设备通讯是有弊端的。

        例如下图所示的“PC11”主机向“PC14”主机发送ping数据报,先发送ARP获取MAC地址,但是这个ARP会发送给图中的所有主机,然后在发送ICMP的数据,这时候也是发送下面的四个主机,由于集线器的半双工通讯,所以左边一个主机发送的给左边主机的之后,右边的主机也是会收到,也是不能进行通讯工作的,这时候工作效率是比较低的。

        这时候引进网桥,网桥是可以记录下来端口接的设备都是有那些MAC地址,在网桥的内部会有一个表格,记录端口和对应连接的MAC地址。

网桥端口连接的MAC地址

L1

PC15的MAC地址
L1PC12的MAC地址
L2PC13的MAC地址
L2PC14的MAC地址

        例如下图所示的网桥已经记录了如上表所示的端口和MAC地址关系。所以PC15给PC12发送ICMP数据,经过集线器,经过网桥的时候,网桥判断这个信息的目标MAC地址是在左边,就不会将信息发送到右边的集线器,这样右边的集线器是可以进行自己的工作的,比如PC13给PC14发送数据在此时,是可以的,提高了效率。

        网桥是不需要ip和MAC地址的。

(4)交换机(局域网的方案)

        交换机是不需要ip和MAC地址的。

        交换机会记录下来每个连接在交换机的端口的主机的MAC地址,交换机的内部在每次通讯的时候记录下来每个端口接的主机的MAC地址,在内部也会记录为一个表格。全部记录下来之后,再次进行源MAC到目标MAC数据发送的时候,就可以将数据从源主机发送到目标主机。

 

        注意:交换机刚开始不知道端口对应的MAC地址的时候,也需要通过ARP报文发送数据,这时候的ARP广播也是会发给连接在交换机上的所有的主机的。

(5)路由器

        前面的集线器、网桥、交换机等都是局域网之间设备进行通讯的方案,只能实现ip地址同一网段的主机之间进行通讯。路由器是局域网与局域网之间进行通讯的解决方案,可以实现不同网段之间主机的通讯。

        对路由器的描述就需要说到交换机的缺点,如果全球的机器都使用交换机连接,那么刚开始发送ARP广播的时候,将会发送给全球所有的主机,如果所有的主机都进行ARP广播,那么网络就乱套了。这时候使用交换机实现局域网内的主机之间的通讯,局域网与局域网之间通过路由器连接交换数据。

        只有通一个网段之间才能形成广播域,不同网段之间不能进行广播,路由器也是隔绝广播信号的。所以即使有了路由器也是不能进行不同网段之间直接进行广播信号的,而是一个网段的广播信号通过网段发给路由器,由路由器转发给另一个网段的交换机,这个路由器上的所有主机。

       上面使用“Packet Tracer”软件进行仿真实验的时候,需要配置的是,四个主机的IP地址、子网掩码、默认网关IP;两个交换机不需要配置,路由器要对两个口配置网关IP地址、子网掩码。

        网关的地址是网段的地址,加上主机地址为1。

        如上图所示的,交换机之间使用路由器连接,当“PC6”和“PC9”进行通讯的时候,主要由以下的几个步骤:

通过ARP获得目标PC的MAC地址:

(1)PC16向“192.168.5.1”这个局域网内发送:目标ip为网关“192.168.5.1”的ARP广播,获得路由器网关接口的MAC地址。

(2)获得网关的MAC地址之后,开始发送ICMP数据:目标ip为PC9“192.168.4.8”,MAC为路由器网关的地址。

(3)路由器接收到PC6的ICMP数据之后,通过数据中的IP地址查找时候知道这个IP地址主机的MAC地址,发现不知道,就开始发送:目标ip为网关“192.168.4.8”的ARP广播,获得PC9的MAC地址。然后将ICMP数据的MAC地址替换成PC9主机的MAC地址,将ICMP报发给PC9主机。

(4)然后PC9主机将返回一个ICMP数据,之后在发送ICMP数据的时候,就不需要在发送ARP获得MAC地址了。

(6)光猫(调制解调器)

        因为网线传输的距离比较短,所以一般使用电话线或者光纤进行网线数据的传输,所以需要将网线信号转换成电话线或者光纤信号。

二、网络地址解析

(1)MAC地址

        不同的系统显示MAC地址,有的中间用“逗号”表示,有的中间用“-”横杠表示,也有的是“:”冒号连接。

        如果目标MAC地址为“FF-FF-FF-FF-FF-FF”,则说明为广播信号。

(2)IP地址

        IP地址有两部分组成,网络标识(网络ID,也叫网段),主机表示(主机ID)。通过子网掩码可以计算出来网络标识和主机表示。

A类地址:

        A类地址的8位网络ID中,第一位必须位“0”,取值范围0~127,回环ip地址属于A类地址。

       主机全为零的IP地址为0,为网段;主机全为的IP地址,为广播地址;主机为1的时候,一般为网关IP地址。

对应的子网掩码:255.0.0.0。

B类地址:

        B类地址的前两位必须为“10”,网络部分的其他位是可以全为零的。

C类地址:

        C类网络地址的前三位必须位“110”。

D和E类地址:

子网掩码的CIDR表示方法:

        192.168.1.100/24,代表子网掩码有24个1。

(3)子网划分

        子网划分是在使用C类IP地址不够主机使用,但是使用B类IP地址又比较浪费,就使用子网划分。

  • 为了尽量避免浪费IP地址资源

    合理地进行子网划分。

  • 子网划分一般有两种:

    • 等长子网划分

    • 变长子网划分

(3.1)等长子网划分

       等长子网划分,换分出来的子网段所容纳的主机数量是一样的。

  • 将主机位取出若干位作为网络位。这时候只需要子网掩码向后增加一位1,一般在划分的一种网段资源不够适用,然后划分主机位更多的网段的时候,例如C类ip地址的主机不够,使用B类ip地址的时候,主机的数量太多了,使用不完,比较浪费,这时候可以进行子网划分。

            比如有一个C类网段:192.168.0.0/24。这个网段可用的ip数量:192.168.0.1 ~ 192.168.0.254。

            但是我只需要100个ip,所以会有154个ip被浪费掉。那么我需要再进行子网划分,且我采用等长子网划分:

            网段: 11000000 10101000 00000000 00000000 192.168.0.0/24

            原来子网掩码 11111111 11111111 11111111 00000000 255.255.255.0

            现在子网掩码 11111111 11111111 11111111 10000000 255.255.255.128

            此时网络位25位,主机位只有7位,11000000 10101000 00000000 00000000这个网段变成了两个网段:

            11000000 10101000 00000000 0.0000000 192.168.0.0/25

            11000000 10101000 00000000 1.0000000 192.168.0.128/25

            这两个网段分别有128-2 = 126个主机ip。

  • 192.168.0.0/24

    这个网段的网络位是不变的,因为C类地址默认的网络位是24位。但是如果我们进行子网划分,将从主机位取出若干位作为网络位。

    一开始只有一个网段,但是后来将这个网段划分,就变成了2个网段了。

  • 注意:子网划分之后,对应划分的子网的    网段,网关,广播地址    等都已经改变了。例如下面的例子:

/*****************************************原来网络地址****************************************************/

        原ip:        192.168.1.0                         原子网掩码:  255.255.255.0

        原网段:192.168.1.0           原网关:192.168.1.1         原广播地址:192.168.1.255

/*************************************子网划分后网络地址**********************************************/

        子网划分:192.168.1.128       子网划分的子网掩码:255.255.255.128

        划分后网段:192.168.1.128   划分后网关:192.168.1.128   划分后广播地址:192.168.1.  192   

(3.2)变长子网划分

        变长子网划分,划分的子网部分所容纳的主机是可以不一样的。

1、192.168.0.0/24 等分成: 192.168.0.0/25 和 192.168.0.128/25

                                192.168.0.0 ~ 192.168.0.127 和 192.168.0.128 ~ 192.168.0.255

2、192.168.0.0/25 等分成: 192.168.0.0/26 和 192.168.0.64/26

                                192.168.0.0 ~ 192.168.0.63 和 192.168.0.64 ~ 192.168.0.127

3、192.168.0.0/26 等分成: 192.168.0.0/27 和 192.168.0.32/27

                                192.168.0.0 ~ 192.168.0.31 和 192.168.0.32 ~ 192.168.0.63

4、192.168.0.0/27 等分成: 192.168.0.0/28 和 192.168.0.16/28

                                192.168.0.0 ~ 192.168.0.15 和 192.168.0.16 ~ 192.168.0.31

5、192.168.0.0/28 等分成: 192.168.0.0/29 和 192.168.0.8/29

                                192.168.0.0 ~ 192.168.0.7 和 192.168.0.8 ~ 192.168.0.15

6、192.168.0.0/29 等分成: 192.168.0.0/30 和 192.168.0.4/30

                                192.168.0.0 ~ 192.168.0.3 和 192.168.0.4 ~ 192.168.0.7

(4)这两台设备能通信吗?

  • 计算机发消息时要先判断目标ip是否和自己在同一网段,比如从左向右发消息,计算机0的掩码是255.255.255.0与目标地址192.168.10.10与运算得到结果是:192.168.10.0。而源ip地址192.168.0.10的网段是192.168.0.0。所以两者显然不在同一个网段。所以从左向右一开始就发布出去。

    从右向左:计算机1的网段是192.168.0.0,用自己的(不知道目的计算机的掩码)掩码判断目标地址192.168.0.10的网段是192.168.0.0。发现网段是一样的,那么从右向左能发出去。然是发出去后,还要能接收,经历一次从左向右发送消息。计算机0再判断是否同一个网段时,就会发现不在同一个网段。从左向右发布出去。一种特殊情况:

从左向右:判断目的ip192.168.0.11的网段是192.168.0.0

从右向左:判断目的ip192.168.0.10的网段是192.168.0.0

所以这两个ip能通信:192.168.0.10/24 和 192.168.0.11/16。

主要看计算机发信息时判断源ip和目的ip是否在同一个网段的结果。

(5)超网

        和子网划分相反,前面子网划分是在ip地址分配的主机的数量不够的时候,可以分配主机数量更多的类型的IP地址,这时候可能主机的数量过于多了,可以将这个网络ip进行子网划分,使用划分之后的子网。

        但是现在使用超网的方式也是一样可以解决的,就是将“多个连续网段”合并成一个更大的网段。

注意:必须是连续的网段才能合并。

网段合并的规律:

(6)判断一个网段是子网还是超网

  1. 首先判断该网段的类型:A, B, C

  2. 在判断和默认的子网掩码相比,当前的掩码是向左移还是向右移。

  3. 左移:超网;右移:子网。

比如:

25.100.0.0/16是一个A类子网

00011001 01100100 00000000 00000000

11111111 11111111 00000000 00000000 得到网段 00011001 01100100 .0.0 -- 25.100

而A类地址原本的子网掩码是:255.0.0.0,网段是25;现在掩码255.255.0.0,网段25.100

所以网段变小了,是一个A类子网。

200.100.0.0/16是一个C类超网

11011100 01100100 00000000 00000000

11111111 11111111 00000000 00000000

C类地址:主机位8位;改地址:主机位16位,所以是一个C类超网

(7)路由(静态路由、动态路由)

  • 在不同网段之间转发数据,需要有路由器的支持

  • 默认情况下,路由器只知道跟它直连的网段,非直连的网段需要通过静态路由,动态路由告诉它。

    1. 静态路由

      管理员手动添加路由信息

      适用于小规模网络

    2. 动态路由

      路由器通过路由选择协议(比如RIP,OSPF)自动获取路由信息

      适用于大规模网络

        前面已经讲了路由的作用,可以实现不同网段之间的通讯器,前提是路由器对应的网口都已经设置了对应的网关地址和子网掩码,局域网内的主机也设置了默认网关,就可以实现不同网段的局域网之间的通讯。

        但是不同的局域网之间跨两个及两个以上路由器进行通讯的时候,路由器内部是需要一个路由表的,需要知道下一跳路由器的ip及需要通讯的局域网的网关和子网掩码。并且路由器和路由器之间也是一个局域网,需要设置同一个网段的IP。

        上图中的局域网一共又5个,如下图所示。

        下面是实现跨两个路由器的不同的局域网之间的通讯,上面仿真需要的配置:

(1)PC设置ip地址和子网掩码

(2)PC设置默认网关

(3)路由器开启与交换机连接的端口,配置网关ip地址和子网掩码

(4)路由器开始两个路由器之间通讯的串口,然后配置两个路由器的串口的ip地址和子网掩码。

(5)路由器添加静态路由表的内容,包括路由器需要经过的下一跳的路由器的串口ip,与下一个路由器直连的局域网的网段及子网掩码等。

PC的ip、子网掩码、默认网关。

  

        路由器网口的:网关、子网掩码。

        路由器的:串口的ip和子网掩码。

        路由器的静态路由配置:需要通讯的子网的网关ip、子网掩码、下一跳的路由器串口的ip。

        下满是路由器的配置的路由表:

        上面配置设置好之后,主机之间就可以通讯了。

(7.1)默认路由

        跨两个路由器进行通讯的时候,静态路由需要配置下一条的路由器的串口的ip地址,以需要通讯的网段的网关ip和子网掩码。

        如果不知道需要通讯的局域网的默认网关和子网掩码,那就使用下图所示的默认路由,连载这个路由器上的局域网都可以进行通讯。

三、局域网、NAT

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

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

相关文章

【数据结构】C语言实现队列

目录 前言 1. 队列 1.1 队列的概念 1.2 队列的结构 2. 队列的实现 2.1 队列的定义 2.2 队列的初始化 2.3 入队 2.4 出队 2.5 获取队头元素 2.6 获取队尾元素 2.7 判断空队列 2.8 队列的销毁 3. 队列完整源码 Queue.h Queue.c 🎈个人主页&#xff1a…

100.相同的树(LeetCode)

关于树的递归问题,永远考虑两方面:返回条件和子问题 先考虑返回条件,如果当前的根节点不相同,那就返回false(注意,不要判断相等时返回什么,因为当前相等并不能说明后面节点相等,所以…

BatchNormalization:解决神经网络中的内部协变量偏移问题

ICML2015 截至目前51172引 论文链接 代码连接(planing) 文章提出的问题 减少神经网络隐藏层中的”内部协变量偏移”问题。 在机器学习领域存在“协变量偏移”问题,问题的前提是我们划分数据集的时候,训练集和测试集往往假设是独立同分布(i.i.d)的,这种独立同分布更有利于…

Java面向对象(高级)-- 类的成员之四:代码块

文章目录 一、回顾(1)三条主线(2)类中可以声明的结构及作用1.结构2.作用 二、代码块(1)代码块的修饰与分类1. 代码块的修饰2. 代码块的分类3. 举例 (2) 静态代码块1. 语法格式2. 静态…

2023年高压电工证考试题库及高压电工试题解析

题库来源:安全生产模拟考试一点通公众号小程序 2023年高压电工证考试题库及高压电工试题解析是安全生产模拟考试一点通结合(安监局)特种作业人员操作证考试大纲和(质检局)特种设备作业人员上岗证考试大纲随机出的高压…

2023年【G1工业锅炉司炉】报名考试及G1工业锅炉司炉理论考试

题库来源:安全生产模拟考试一点通公众号小程序 G1工业锅炉司炉报名考试是安全生产模拟考试一点通生成的,G1工业锅炉司炉证模拟考试题库是根据G1工业锅炉司炉最新版教材汇编出G1工业锅炉司炉仿真模拟考试。2023年【G1工业锅炉司炉】报名考试及G1工业锅炉…

SQL INSERT INTO 语句详解:插入新记录、多行插入和自增字段

SQL INSERT INTO 语句用于在表中插入新记录。 INSERT INTO 语法 可以以两种方式编写INSERT INTO语句: 指定要插入的列名和值: INSERT INTO 表名 (列1, 列2, 列3, ...) VALUES (值1, 值2, 值3, ...);如果要为表的所有列添加值,则无需在SQL…

vscode c++ 报错identifier “string“ is undefined

vscode c 报identifier “string” is undefined 问题 新装了电脑, 装好vsc和g等, 发现报错 但开头并没问题 解决 shiftctrlp选择 C/C Edit:COnfigurations (JSON)自动生成打开 c_cpp_properties.json添加g路径等 "cStandard": "c11","cppStanda…

c盘清除文件

打开设置 搜索存储

跟随鼠标的粒子特效分享

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 广告打完,我们进入正题,先看效果: 上代码: html, body {padding: 0;margin: 0;overflow: hidden; }import * as PIXI from https://cdn.skypack.dev/pixi.js@7.2.…

⑩⑥ 【MySQL】详解 触发器TRIGGER,协助 确保数据的完整性,日志记录,数据校验等操作。

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 触发器 ⑩⑥ 【MySQL】触发器详解1. 什么是触发…

鲜花植物展示预约小程序的作用有哪些

同城需求量高,所面对的消费者一般都是一束或几束订购需求,采购也有但少,同时还有新店开业花篮、新人结婚布置婚车等服务,零售与增值服务较多,尤其遇上节日单子增多,则制作鲜花、服务排序不清,微…

轻松掌控财务,分析账户花销,明细记录支出情况

随着科技的发展,我们的生活变得越来越智能化。然而,对于许多忙碌的现代人来说,管理财务可能是一件令人头疼的事情。复杂的账单、花销、收入,这些可能会让你感到无从下手。但现在,我们有一个全新的解决方案——一款全新…

【算法挨揍日记】day23——740. 删除并获得点数、LCR 091. 粉刷房子

740. 删除并获得点数 740. 删除并获得点数 题目描述: 给你一个整数数组 nums ,你可以对它进行一些操作。 每次操作中,选择任意一个 nums[i] ,删除它并获得 nums[i] 的点数。之后,你必须删除 所有 等于 nums[i] - 1…

十一周阅读记录

Neural Scene Graphs for Dynamic Scenes:动态场景的神经场景图 提出了一种将动态场景分解为场景图的神经渲染方法。提出了一种学习的场景图表示,它编码了物体的变换和辐射,以便高效地渲染场景的新排列和视图。为此,隐式学习场景…

nrm的安装以及使用

1,什么是nrm nrm 是一个 npm 源管理器,允许你快速地在 npm源间切换。 什么意思呢,npm默认情况下是使用npm官方源(使用npm config ls命令可以查看),在国内用这个源肯定是不靠谱的,一般我们都会…

Spring IOC - Bean的生命周期之依赖注入

在Spring启动流程中,创建的factoryBean是DefaultListableBeanFactory,其类图如下所示: 可以看到其直接父类是AbstractAutoireCapableBeanFactory,他主要负责完成Bean的自动装配和创建工作。 具体来说,AbstractAutowire…

DSP2335的LED工程笔记

首先是确定时钟 在技术参考中,找到时钟章节 只能观察每个寄存器,才能看到寄存器控制那个外设的时钟 第二找到对应GPIO以及寄存器; 在我板子里面的原理图是 但是TI的提供的库函数是分ABC的,刚开始就不知道怎麽分。GPIO68到GPIO6…

Autox.js和Auto.js4.1.1手机编辑器不好用我自己写了一个编辑器

功能有 撤销 重做 格式化 跳转关键词 下面展示一些 内联代码片。 "ui"; ui.layout( <drawer id"drawer"><vertical><appbar><toolbar id"toolbar"title""h"20"/></appbar><horizontal b…

配置VNC环境时,出现xauth: file /root/.Xauthority does not exist的解决方案。

问题描述 在配置VNC&#xff08;Virtual Network Computing&#xff09;环境的过程时&#xff0c;首先安装了tigervnc-server包。在使用&#xff1a; vncserver命令创建VNC会话号的时候出现了一个报错&#xff1a;xauth: file /root/.Xauthority does not exist 原因分析&…