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

第四章 网络层 | 计算机网络(谢希仁 第八版)

文章目录

  • 第四章 网络层
    • 4.1 网络层提供的两种服务
    • 4.2 网际协议IP
      • 4.2.1 虚拟互连网络
      • 4.2.2 分类的IP地址
      • 4.2.3 IP地址与硬件地址
      • 4.2.4 地址解析协议ARP
      • 4.2.5 IP数据报的格式
      • 4.2.6 IP层转发分组的流程
    • 4.3 划分子网和构造超网
      • 4.3.1 划分子网
      • 4.3.2 使用子网时分组的转发
      • 4.3.3 无分类编址CIDR(构造超网)
    • 4.4 网际控制报文协议ICMP
      • 4.4.1 ICMP报文的种类
      • 4.4.2 ICMP的应用举例
    • 4.5 互联网的路由选择协议
      • 4.5.1 有关路由选择协议的几个基本概念
      • 4.5.2 内部网关协议RIP
      • 4.5.3 内部网关协议OSPF
      • 4.5.4 外部网关协议BGP
      • 4.5.5 路由器的构成
    • 4.6 IPv6
      • 4.6.1 IPv6的基本首部
      • 4.6.2 IPv6的地址
      • 4.6.3 从IPv4向IPv6过渡
      • 4.6.4 ICMPv6
    • 4.7 IP多播
      • 4.7.1 IP多播的基本概念
      • 4.7.2 在局域网上进行硬件多播
      • 4.7.3 网际组管理协议IGMP和多播路由选择协议
    • 4.8 虚拟专用网VPN和网络地址转换NAT
      • 4.8.1 虚拟专用网VPN
      • 4.8.2 网络地址转换NAT
    • 4.9 多协议标签交换 MPLS (笔记待整理)
      • 4.9.1 MPLS的工作原理
      • 4.9.2 MPLS 首部的位置与格式
      • 4.9.3 新一代的 MPLS
    • 4.10 软件定义网络 SDN 简介


第四章 网络层

  • 虚拟互联网的概念
  • IP地址与物理地址的关系
  • 传统的分类的IP地址(包括子网掩码)和无分类域间路由选择CIDR
  • 路由选择协议的工作方式

4.1 网络层提供的两种服务

网络层提供的服务可以是”面向连接“的或是”无连接“的服务。
用于打电话的传统电信网使用面向连接的通信方式,它先建立连接预留出网络资源(建立一条虚电路),然后再传送信息,提供的是可靠传输的服务。
互联网采用的是无连接的方式,发送分组时不需要建立连接。
网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。这样使造价降低,运行灵活。


4.2 网际协议IP

这里的 IP 是 IP 协议的第 4 个版本,实际叫做 IPv4。较新的还有 IPv6。

与 IP 协议配套的还有三个协议:

  • 地址解析协议 ARP
  • 网际控制报文协议 ICMP
  • 网际组管理协议 IGMP

4.2.1 虚拟互连网络

不同网络的区别很大,因为没有一种单一的网络能够适应所有用户的需求。因此需要通过一些中间设备将网络连接起来。

根据所在层次,可以将中间设备分为以下四种:

  • 物理层使用的叫转发器。
  • 数据链路层使用的叫网桥或桥接器。
  • 网络层使用的叫路由器。
  • 网络层以上使用的叫网关。

在物理层使用转发器或在数据链路层使用网桥时,仅是把一个网络扩大了。从网络层看,这还是一个网络,不是网络互连。

网络互连是在网络层通过路由器实现的。

都使用 IP 协议的网络互连以后叫虚拟互连网络,含义是这些在物理层面不同的网络在网络层看起来好像是一个统一的网络,又叫 IP 网。

现在的互联网就是使用了 IP 协议和 TCP 协议。


4.2.2 分类的IP地址

IP 地址及其表示方法
整个互联网就是一个单一的、抽象的网络。
IP 地址就是给互联网上每一台主机或路由器的每一个接口分配一个全世界唯一的 32 位的标识符。

IP 地址的编址方法经历了三个阶段:

  1. 分类的 IP 地址。
  2. 子网的划分。
  3. 构成超网。

分类的 IP 地址就是讲 IP 地址划分为多个固定类,每一类地址由两个固定长度的字段组成。

  • 第一个字段是网络号,标志主机所连接到的网络,一个网络号在整个互联网范围内是唯一的。
  • 第二个字段是主机号,标志该主机(或路由器),一个主机号在该网络号所指明的网络范围内是唯一的。

IP 地址 = {<网络号>,<主机号>},它既指明了主机接口,也指明了所在网络。

分类的 IP 地址分为以下 5 类:

  • A 类、B 类、C 类都是单播地址,是最常用的。
  • D 类是用于多播(一对多通信)。
  • E 类地址保留为以后用。

在这里插入图片描述


分类是考虑到了不同网络间的差异性,有的网络主机很多,有的则很少。
现在广泛使用无分类 IP 地址进行路由选择,分类的地址已经成为历史。


在这里插入图片描述


IP 地址是 4 字节共 32 位字符,平常电脑上显示的是每个字节按转化为 10 进制后的结果,称为点分十进制法。

IP 地址有以下几个特点:

  • 每一个 IP 地址都是由网络号和主机号两部分组成,是一种分等级的地址结构。这种结构有几个优点
    • IP 地址管理机构在分配 IP 地址时只分配网络号,而主机号由得到网络号的单位内部自行分配。
    • 路由器仅根据目的主机所连接的网络号来转发分组而不考虑主机号。这使路由表中的项目数大幅减少,减小了路由表的存储空间和查找时间。
  • IP 地址是标志一台主机(或路由器)和一条链路的接口。如果一台主机同时连接到两个网络,它就有两个 IP 地址。
    每个路由器至少连接到两个网络,所以一个路由器至少有两个不同的 IP 地址。
  • 互联网中,一个网络指的是具有相同网络号的主机的集合。所以用转发器或网桥连接起来的若干局域网仍是一个网络。
  • IP 地址中,所有分配到网络号的网络都是平等的,不管它的范围多大或多小。

4.2.3 IP地址与硬件地址

硬件地址(又称物理地址、MAC地址)是数据链路层和物理层使用的地址。MAC帧传送时使用的源地址和目的地址都属于硬件地址,放在 MAC 帧的首部。
IP 地址是网络层和以上各层使用的地址,是一种逻辑地址。放在 IP 数据报的首部。
下面是三个局域网通过两个路由器连接在一起,主机 H1 要与主机 H2 通信。
路由器因为同时连在两个局域网上,所以有两个硬件地址。


在这里插入图片描述


注意:

  • 在 IP 层抽象的互联网上只能看到 IP 数据报。虽然信息要经过路由器 R1 和 R2 的转发,但是 IP 报首部中的源地址和目的地址始终是 IP1 和 IP2。
  • 虽然 IP 数据报首部有源地址,路由器只根据目的站的 IP 地址的网络号进行选择。
  • 在局域网的链路层,只能看见 MAC 帧。MAC 帧在不同网络上传送时,MAC 帧首部中的源地址和目的地址要发生变化。
  • IP 层抽象的互联网屏蔽了下层的复杂细节。只要在网络层上,就可以使用统一的、抽象的 IP 地址来研究主机和主机间的通信。

在这里插入图片描述



4.2.4 地址解析协议ARP

网络层用的是 IP 地址,但实际网络的链路上传送数据帧时还是要用硬件地址。
当数据传到不同网络时,MAC 帧中的硬件地址还会发生改变,主机或路由器怎么知道该在 MAC 帧的首部中填入什么硬件地址呢?

ARP 协议的用途是从网络层使用的 IP 地址解析出数据链路层使用的硬件地址。

根据地址解析协议 ARP,每台主机都有一个 ARP 高速缓存,里面有本局域网上的各主机和路由器的 IP 地址到硬件地址的映射表。

主机的硬件地址可能会发生改变,因此该映射表会时常更新,映射表中的每个项目都有生存时间,超过生存时间的项目会被删掉。

当主机 A 向本局域网上的主机 B 发送 IP 数据报时有两种情况:

  • 主机 A 的 ARP 高速缓存的映射表中有主机 B 的 IP 地址,就把对应的硬件地址写入 MAC 帧,然后通过局域网把该 MAC 帧发给此硬件地址。
  • 主机 A 的 ARP 高速缓存中没有 B 的 IP 地址。此时按以下步骤找出 B 的硬件地址:
    • 主机 A 自动运行 ARP 进程,ARP 进程在本局域网上广播发送一个 ARP 请求分组。分组中指明了自己的 IP 地址与硬件地址,和主机 B 的 IP 地址。
    • 本局域网上所有主机上运行的 ARP 进程都受到这个 ARP 请求分组。
    • 主机 B 的 IP 地址与 ARP 请求分组中要查询的 IP 地址一致,收下分组,并向主机 A 发送响应分组,在其中写入自己的硬件地址。其他主机则不作响应。
    • 主机 A 收到主机 B 的响应分组后,把主机 B 的 IP 地址到硬件地址的映射写入 ARP 高速缓存中。

在这里插入图片描述


ARP 解决的是同一个局域网上主机或路由器的 IP 地址到硬件地址的映射问题。它无法解析另一个局域网上主机的硬件地址,实际上也不用。

使用 ARP 的四种典型情况:

  • 发送方是主机,要把 IP 报发到同一个网络上的另一台主机,如从 H1 到 H2,这时 H1 发送 ARP 请求分组(在网 1 上广播)找到 H2 的硬件地址。
  • 发送方是主机,要把 IP 报发到另一个网络上的某一台主机,如从 H1 到 H3,这时 H1 发送 ARP 请求分组(在网 1 上广播)找到网 1 上的一个路由器 R1 的硬件地址。剩下的事情由 R1 完成。
  • 发送方是路由器,要把 IP 报转发到与它连接在同一个网络上的主机,如 R1 到 H2,这时 R1 发送 ARP 请求分组(在网 2 上广播)找到主机 H3 的硬件地址。
  • 发送方是路由器,要把 IP 报转发到另一个网络上的一台主机,如 R1 到 H3,这时这时 R1 发送 ARP 请求分组(在网 2 上广播)找到本网络上另一个路由器的硬件地址。

总的来说,当发送方与接收方不在同一个网络时,要通过同时位于两个或更多个网络上的路由器来中转,而 ARP 协议则用于每个局域网内部的地址解析。


在这里插入图片描述



4.2.5 IP数据报的格式

一个 IP 数据报的首部包括两部分,前一部分是固定长度,共 20 字节。后面是一些可选字段,长度可变。


在这里插入图片描述


IP 数据报首部的固定部分的各字段:

  • 版本
    占 4 位,通信双方使用的 IP 协议的版本必须一致。
  • 首部长度
    占 4 位,最大值是 15,注意其单位是 4 字节,也就是首部最大长度为 15*4=60 字节。首部长度必须是 4 字节的整数倍。因此可选字段后面还有一个填充字段。
  • 区分服务
    占 8 位,一般不使用,只有使用区分服务 DiffServ 时此字段才有意义,根据字段的数值为提供不同等级的服务质量。
  • 总长度
    占 16 位,最大值是 65535,是首部和数据部分的长度和,单位是字节。IP 数据报的长度还受到 MAC 帧最大长度的限制,因此不能太大。如果长度过长需要进行分片。分片后总长度指的是该分片的首部长度和数据长度之和。
  • 标识
    占 16 位。同一个数据报的不同分片标识相同。因此接收方能根据标识将不同分片重装为原本的数据报。
  • 标志
    占 3 位。最低位为 1 表示后面还有分片,为 0 表示这是最后一个分片。中间位为 1 表示不能分片,为 0 表示可以分片。首位没有含义。
  • 片偏移
    占 13 位。片偏移指出:较长的分组分片后,某片在原分组的相对位置。单位是 8 字节,故每个分片的长度是 8 字节的整数倍。
  • 生存时间
    占 8 位。表明数据报在网络中的寿命。单位是跳数,指明了数据报在互联网中至多可经过多少个路由器。
  • 协议
    占 8 位。指明了数据报携带的数据使用了哪种协议。
  • 首部检验和
    占 16 位。这个字段只检验首部,不包括数据部分。数据报每经过一个路由器,路由器就要重新计算一下首部检验和。
  • 源地址
    占 32 位。
  • 目的地址
    占 32 位。

IP 数据报首部的可变部分
长度可变,具有多种功能,但很少使用。IPv6 已经把这部分做成固定长度的了。


4.2.6 IP层转发分组的流程

路由器的路由表中不直接存储主机地址,而是存储目的网络的地址和对应下一跳的地址。
路由表中并没有指明完整的网络路径,仅指出要想到达某个网络,需要先到哪个路由器,即仅指出下一步该怎么走。这样一跳一跳直到最后到达目的网络。


在这里插入图片描述


分组转发算法如下:

  1. 从数据报的首部提取出目的主机的 IP 地址 D,得出目的网络地址为 N。
  2. 若 N 就是与此路由器直接相连的某个网络地址,就直接交付,即直接把数据报交付目的主机;否则就是间接交付,执行 3。
  3. 若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器。否则执行 4。
  4. 若路由表中有到达网络 N 的路由,则把数据报传送给路由表所指明的下一跳路由器,否则执行 5。
  5. 若路由表有一个默认路由,则把数据报传送给路由表所指明的默认路由器,否则执行 6。
  6. 报告转发分组出错。

4.3 划分子网和构造超网


4.3.1 划分子网

之前是两级 IP 地址,缺点很多。后在 IP 地址中又增加了一个子网号字段,将 IP 地址分为了三级。
划分子网是把 IP 地址的主机号再划分,未改变网络号。

子网掩码
划分子网后,IP 数据报的首部无法体现是否进行了划分。需要使用子网掩码。
现在的互联网规定所有的网络都必须使用子网掩码,路由器的路由表中也必须有子网掩码这一栏。
路由器在和相邻路由器交换信息时,必须把自己所在子网的子网掩码告诉对方。


4.3.2 使用子网时分组的转发

使用子网划分后,路由表中必须包含目的网络地址、子网掩码和下一跳地址三项内容。

此时的分组转发算法如下:

  1. 从数据报的首部提取出目的主机的 IP 地址 D。
  2. 判断是否为直接交付。对路由器直接相连的网络逐个检查:用各网络的子网掩码逐个与 D 按位相与,看结果是否和相应的网络地址匹配。若匹配,就直接交付;否则就是间接交付,执行 3。
  3. 若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器。否则执行 4。
    4.对路由表中的每一行,用其中的子网掩码和 D 逐位相与,若结果与该行的目的网络地址匹配,则把数据报传送给该行指明的下一跳路由器,否则执行 5。
  4. 若路由表有一个默认路由,则把数据报传送给路由表所指明的默认路由器,否则执行 6。
  5. 报告转发分组出错。

4.3.3 无分类编址CIDR(构造超网)

无分类编址全名无分类域间路由选择 CIDR。

CIDR 有两个主要特点:

  • CIDR 消除了传统的 A,B,C 类地址和划分子网的概念,它把 32 位的 IP 地址分为前后两部分。“前缀”用来指明网络,后面部分用来指明主机。因此它使用的是两级编址,但是是无分类的两级编址。
  • CIDR 把前缀都相同的连续的 IP 地址组成一个 CIDR 地址块,只要知道该地址块中的任意一个地址,就可以知道地址块的起始地址、最大地址和地址块中的地址数。

CIDR 使用 32 位的地址掩码,地址掩码中 1 的个数对应的就是前缀的长度。前缀越短,其地址块包含的地址数越多。

使用 CIDR 可以更有效地分配地址空间。

最长前缀匹配
CIDR 中,路由表的每个项目由网络前缀和下一跳地址组成,查找时可能得到不止一个匹配结果。这是从匹配结果中选择具有最长网络前缀的路由,因为它对应的地址块最小。

使用二叉线索从查找路由表
无分类编址的路由表通常存放在一个二叉线索树中。
下图的二叉线索树表示了一个有 5 个 IP 地址的路由表。树的每一层对应 IP 地址中的一位,树最多有 32 层。


在这里插入图片描述


给定一个 IP 地址,查找它是否在该项目表中,只需在二叉线索树中一层层对应向下寻找,若中间无法在二叉树中找到对应分支,表明这个地址不在这个二叉线索中。


4.4 网际控制报文协议ICMP

网际控制报文协议 ICMP 用于更有效地转发 IP 数据报和提高交付成功的机会。
ICMP 报文装在 IP 数据报中,作为其中的数据部分。
ICMP 报文的首部共 8 个字节,具体如下图。
其中检验和字段用来检验整个 ICMP 报文。


在这里插入图片描述



4.4.1 ICMP报文的种类

ICMP 报文包括 ICMP 差错报告报文和 ICMP 询问报文两类,每类下细分为几种不同的类型。


在这里插入图片描述


表中给出了 4 种常用的 ICMP 差错报告报文:

  • 终点不可达:当路由器或主机不能交付数据报时就向源点发送此报文。
  • 时间超过:路由器收到生存时间为 0 的报文时,除丢弃该数据报外,还要向源点发送此报文。当终点在约定时间内未收到一个数据报的全部分片时,就丢弃已收到的所有分片,并向源点发送此报文。
  • 参数问题:当路由器或目的主机收到的数据报的首部中有的字段值不正确时,就丢弃该数据报并发送此报文。
  • 改变路由(重定向):路由器把此报文发送给主机,以告诉主机下次将数据报发给另外的路由器。

另外 2 种常用的 ICMP 询问报文:

  • 回送请求报文和回答报文:回送请求报文是由主机或路由器向一个特定目的主机发出的询问。收到此报文的主机必须给源主机发送 ICMP 回送回答报文。
  • 时间戳请求报文和回答报文:时间戳请求报文是请某台主机或路由器回答当前的日期和时间。通过它可以进行时钟同步和时间测量。

ICMP 差错报告报文的数据字段是固定格式的:把收到的需要进行差错报告的 IP 数据报的首部和数据字段的前 8 个字节(为了得到运输层的端口号和运输层报文的发送序号)提取出来作为 ICMP 报文的数据部分。


4.4.2 ICMP的应用举例

PING
ICMP 的一个重要应用是进行分组网间探测 PING(Packet InterNet Groper),以测试两台主机之间的连通性。
PING 使用了 ICMP 回送请求和回送回答报文。它会连续发送 4 条回送请求报文。
PING 是应用层直接使用 ICMP 的例子,未经过运输层。

使用方法:
在 Windows 的 Dos 窗口中键入 ping hostname 即可测试本机与主机 hostname 之间的连通性,hostname 应该是某个主机的 IP 地址或域名

ping www.baidu.com;//测试与百度之间的连通性
ping 192.168.100.5;//测试与 IP 地址为 192.168.100.5 的之间的连通性

tracert
tracert 可以用来跟踪一个分组从源点到终点的路径。
tracert 从源主机向目的主机发送一连串的 IP 数据报。数据报中封装的是无法交付的 UDP 用户数据报。

这些数据报中,第一个数据报的生存时间 TTL 设为 1,后面依次增长。当第 i 个数据报到达了路径上的第 i 个路由器,其 TTL 也减到了 0,此时该路由器就会发送 ICMP 时间超过差错报告报文给源主机。由此就可以获得到达目的主机所经过的所有路由器的 IP 地址,以及到达每一个路由器的往返时间。

使用方法:
在 Windows 的 Dos 窗口中键入 tracert hostname 即可测试本机到主机 hostname 所经过的路由器。


4.5 互联网的路由选择协议


4.5.1 有关路由选择协议的几个基本概念

路由选择协议的核心是采用何种算法来获得路由表中的各项目。
路由选择算法可以分为静态路由选择策略和动态路由选择策略。
其中动态的可以较好地使用网络状态的变化,但实现起来较复杂,适用于大网络。互联网采用的主要是动态的、分层次的路由选择协议。

分层次的路由选择协议
互联网被划分为许多小的自治系统(AS),一个 AS 是在单一技术管理下的一组路由器,一个 AS 对另一个 AS 表现出的是一个单一的和一致的路由选择策略。目前互联网中,一个大的 ISP 就是一个 AS。也可以进一步划分。

这样互联网就把路由选择协议分为了两类:

  • 内部网关协议 IGP:如 RIP 和 OSPF 协议,是在一个 AS 内部使用的路由选择协议。每个 AS 自己决定在自己内部使用哪一种 IGP。
  • 外部网关协议 EGP:如 BGP-4 协议,用在两个不同的 AS 之间的路由选择协议。每个 AS 中位于与其他 AS 交界处的路由器除了使用 IGP 外还要使用 EGP。

4.5.2 内部网关协议RIP

RIP 是一种分布式的基于距离向量的路由选择协议,最大优点是简单。
RIP 协议要求每一个路由器都要维护从它自己到其他每一个目的网络的距离记录,距离的单位是跳数。RIP 选择一条具有最少路由器的路径。
RIP 允许一条路径最多有 15 个路由器,因此 RIP 只适用于小型互联网。
RIP 和 OSPF 同为分布式路由选择协议,特点是每一个路由器都要不断地和其他路由器交换路由信息。

RIP 的特点是:

  • 仅和相邻路由器交换信息。
  • 交换的信息是当前本路由器知道的所有信息,即自己的路由表。
  • 按固定的时间间隔交换路由信息,比如 30s。

路由器刚开始的路由表是空的,通过不断地和与它直接相连的路由器交换并更新信息,经过多次更新后,所有的路由表就都会知道到达本自治系统中任何一个网络的最短距离和下一跳路由器的地址了。

路由表中最主要的信息就是到某个网络的最短距离和下一跳地址。


4.5.3 内部网关协议OSPF

OSPF 是分布式的链路状态协议,适用于大型互联网。OSPF 只在链路状态发生变化时,才向本自治系统中的所有路由器用洪泛法发送与本路由器相邻的所有路由器的链路状态信息。

链路状态指明本路由器和哪些路由器相邻,以及该链路的度量(度量可表示费用、距离、时延、带宽等),所有的路由器最终都能建立一个全网的拓扑结构图。


4.5.4 外部网关协议BGP

BGP 是 BGP-4 的简写。BGP 是不同 AS 的路由器之间交换路由信息的协议,是一种路径向量路由选择协议。BGP 力求寻找一条能够到达目的网络(可达)且比较好的路由(不兜圈子),而非寻找最佳路由。


4.5.5 路由器的构成

路由器的结构

两部分——路由选择部分 和 分组转发部分


在这里插入图片描述


路由选择部分:
控制部分,核心是路由选择处理机,路由选择处理机的作用是构造路由表,同时定期更新维护路由表路由表;

分组转发部分:
由三部分组成——输入输出端口,交换结构
交换结构的工作是将收到的分组根据路由表从输入端口转发到输出端口;

三种转发方法:

  • 通过存储器进行交换
  • 通过总线进行交换
  • 通过纵横交换结构(总线网)进行交换

4.6 IPv6

IPv4 的地址已经耗尽。
IPv6目前尚未推出标准协议。


4.6.1 IPv6的基本首部

IPv6 将协议数据单元 PDU 称为分组,而非 IP 数据报。

IPv6 的主要变化:

  • 更大的地址空间:地址位数增大到了 128 位。
  • 扩展的地址层次结构:因为地址空间很大,所以可以划分更多层。
  • 灵活的首部格式:IPv6 的首部和 IPv4 的首部不兼容。
  • 改进的选项。IPv6 的首部长度是固定的,把选项放在了有效载荷中。
  • 允许协议继续扩充。
  • 支持自动配置,也就是不需要 DHCP 协议。
  • 支持资源的预分配。
  • 首部改为 8 字节对齐:即首部长度应为 8 字节的整数倍。

IPv6 数据报分为基本首部和有效载荷。有效载荷中允许有 0 个或多个扩展首部。
注意扩展首部不属于首部。

IPv6 的首部包括:

  • 版本。
  • 通信量类。
  • 流标号。
  • 有效载荷长度。
  • 下一个首部。
  • 跳数限制。等同于 TTL。
  • 源地址。
  • 目的地址。

4.6.2 IPv6的地址

IPv6 数据报的目的地址可以是以下三种之一:

  • 单播:点对点通信。
  • 多播:一点对多点的通信。
  • 任播:任播的终点是一组计算机,但是数据报只交付其中一个,一般是最近的一个。

IPv6 地址有 128 位,采用冒号十六进制计法:每 16 位用 16 进制表示并用冒号隔开,因此共分为了 8 段,每段是一个不超过 4 位的 16进制数。


4.6.3 从IPv4向IPv6过渡

两种从 IPv4 向 IPv6 过渡的策略:双协议栈和隧道技术。

  • 双协议栈
    • 双协议栈即使一部分主机或路由器装有双协议栈:一个 IPv4 和一个 IPv6,当它与 IPv6 主机通信时使用 IPv6 地址,与 IPv4 主机通信时使用 IPv4 地址。
    • 双协议栈使用域名系统 DNS 来查询目的主机使用哪一种地址。
  • 隧道技术
    • 当源主机和目的主机都采用 IPv6 时,中间经过的网络有可能是 IPv4 网络。
    • 在 IPv6 数据报要进入 IPv4 网络时,把 IPv6 数据报作为数据部分封装到 IPv4 数据报中,等离开 IPv4 网络后在把数据部分取出来。

在这里插入图片描述



4.6.4 ICMPv6

ICMPv6 是应用于 IPv6 的 ICMP 协议版本,比 ICMPv4 复杂很多,地址解析协议 ARP 和网际组管理协议 IGMP 的功能都合并到了 ICMPv6 中。
ICMPv6 是面向报文的协议,利用报文来报告差错、获取信息。


在这里插入图片描述



4.7 IP多播


4.7.1 IP多播的基本概念

在一对多的通信中,多播可以比单播节省很多资源。

局域网具有硬件多播功能,所以不需要复制分组就能使所有的多播组成员收到分组。

IP 多播所传送的分组需要使用多播 IP 地址。在传统的 IP 地址中的 D 类地址就是多播地址,每个 D 类地址可以标识一个多播组。

多台主机可以加入到一个多播组中共享一个多播地址。不同网络的主机可以加入到同一个多播组中。每一台主机可以随时加入或离开一个多播组。

能够运行多播协议的路由器为多播路由器。

多播地址只能用于目的地址,不能用于源地址。

IP 多播有两种:

  • 在本局域网上硬件多播。
  • 在互联网范围内进行多播。

4.7.2 在局域网上进行硬件多播

多播 IP 地址与以太网硬件地址之间有映射关系,但不是一一对应的。收到多播数据报的主机需要在 IP 层进行过滤。


4.7.3 网际组管理协议IGMP和多播路由选择协议

IGMP 协议用于让连接在本地局域网上的多播路由器知道本局域网上是否有主机参加或退出了某个多播组。IGMP 工作在单个本地局域网内部。
因为主机随时可能加入或退出某个多播组。并且发送多播数据报的主机可以位于多播组内,也可以不位于多播组内。所以 IP 多播很复杂。

IGMP 协议的工作内容:

  • 当某台主机加入某个多播组时,该主机向多播组的多播地址发送一个 IGMP 报文,声明自己成为了该组的成员。本地的多播路由器收到 IGMP 报文后还要转发给其他多播路由器。
  • 组成员关系是动态的。本地多播路由器要周期性地探询本地局域网上的主机是否还是组的成员。

多播路由选择协议
多播路由选择协议有多种,尚未进行标准化。

多播路由选择协议在转发多播数据报时有以下 3 种方法:

  • 洪泛与剪除。
  • 隧道技术。
  • 基于核心的发现技术。

目前的多播路由选择协议:

  • 距离向量多播路由选择协议 DVMRP
  • 基于核心的转发树 CBT
  • 开放最短通路优先的多播扩展 MOSPF
  • 协议无关多播-稀疏方式 PIM-SM
  • 协议无关多播-密集方式 PIM-DM

4.8 虚拟专用网VPN和网络地址转换NAT


4.8.1 虚拟专用网VPN

因为 IP 地址的紧缺。所以现在使用了一种“本地地址”。本地地址仅在本机构内部有效,不是全球唯一的地址,又称可重用地址。

本地地址只能用于一个机构的内部通信,不能和互联网行的主机通信。互联网中的所有路由器对目的地址是专用地址的数据报一律不转发。

IPv4 标准指明了以下地址为专用地址,他们只能作为本地地址用于机构内部的通信:

  • 10.0.0.0-10.255.255.255
  • 172.16.0.0-172.31.255.255
  • 192.168.0.0-192.168.255.255

采用专用地址的网络称为专用互联网或本地互联网。

有时一个机构的分布范围很广,就需要用公共的互联网作为本机构各专用网之间的通信载体,这样的称为虚拟专用网 VPN

  • VPN 依然只用于机构内的通信,但是要经过公用的互联网,通过互联网传送的数据都要加密。这里使用了隧道技术。
  • VPN 中每个不同的场所必须至少有一个合法的全球 IP 地址。
  • VPN 代理就是依托 VPN 技术进行的。

4.8.2 网络地址转换NAT

网络地址转换 NAT 用于实现专用网中的主机到互联网上的主机的通信。

它需要在专用网连接到互联网的路由器上安装 NAT 软件,这种路由器称为 NAT 路由器,NAT 路由器至少有一个全球地址。

使用本地地址的主机和外界通信时要在 NAT 路由器上将本地地址转换为全球地址。

NAT 路由器中有一个地址转换表,存储本地地址与转换后的全球地址的对应关系。

通过 NAT 路由器的通信必须由专用网内的主机发起,因此专用网内的主机不能作为服务器。

现在的 NAT 转换表把端口号也利用上了。这样 NAT 路由器只需要有一个全球地址,通过给具有不同本地地址的主机分配不同的端口号就可以实现内部多个主机与外界互联网的通信。


4.9 多协议标签交换 MPLS (笔记待整理)


4.9.1 MPLS的工作原理


4.9.2 MPLS 首部的位置与格式


4.9.3 新一代的 MPLS


4.10 软件定义网络 SDN 简介

相关文章:

第四章 网络层 | 计算机网络(谢希仁 第八版)

文章目录 第四章 网络层4.1 网络层提供的两种服务4.2 网际协议IP4.2.1 虚拟互连网络4.2.2 分类的IP地址4.2.3 IP地址与硬件地址4.2.4 地址解析协议ARP4.2.5 IP数据报的格式4.2.6 IP层转发分组的流程 4.3 划分子网和构造超网4.3.1 划分子网4.3.2 使用子网时分组的转发4.3.3 无分…...

课题学习(八)----卡尔曼滤波动态求解倾角、方位角

一、 卡尔曼滤波 卡尔曼滤波的应用要求系统和底层过程的测量模型都是线性的。离散时间线性状态空间系统的描述为: x k Φ k , k − 1 x k − 1 G k − 1 w k − 1 x_k\Phi_{k,k-1}x_{k-1}G_{k-1}w_{k-1} xk​Φk,k−1​xk−1​Gk−1​wk−1​    式中 Φ k , k − 1 \Phi_{…...

仿真软件Proteus8.9 SP2 Pro 下载、安装、汉化详细图文教程

Proteus8.9 安装教程 视频教程一、安装软件解压二、软件安装常见问题及解决方法&#xff1a;三、汉化 Proteus8.9 SP2 Pro 安装教程 本破解教程仅供个人及 proteus 8.9粉丝们交流学习之用&#xff0c;请勿用于商业用途&#xff0c; 谢谢支持。此版本为Proteus8.9 SP2 Pro。其他…...

振弦传感器和无线振弦采集仪在隧道安全监测的解决方案

振弦传感器和无线振弦采集仪在隧道安全监测的解决方案 隧道作为交通工程的重要组成部分&#xff0c;具有极高的安全风险&#xff0c;因此隧道安全监测是必不可少的。振弦传感器和无线振弦采集仪作为隧道安全监测的两种重要设备&#xff0c;能够有效地监测隧道的振动情况&#…...

c# xml 参数读取的复杂使用

完整使用2 生产厂家里面包含很多规格型号,一个规格型号里面包含很多出厂序列号,点击下一步如果检测到填充的和保存的不一样 就新增一条(如检测到生产厂家相同,但是规格型号不同,就新增一组规格型号)。 界面一:新增界面 界面2 删除界面 界面一:新增界面 load 其中…...

在Mac中使用 brew services start redis 命令启动、停止Redis服务报错

一、问题现象 启动Redis服务命令&#xff1a; brew services start redis异常信息如下&#xff1a; Error: uninitialized constant Homebrew::Service::System /opt/homebrew/Library/Homebrew/macos_version.rb:150:in const_missing /opt/homebrew/Library/Taps/homebrew…...

iapp源码-----比较经典

2.0底部菜单导航栏.rar: https://url18.ctfile.com/f/7715018-958700751-6096bd?p6511 (访问密码: 6511) 2.0涟漪_拖动条控制音乐播放.rar: https://url18.ctfile.com/f/7715018-958700754-4cec13?p6511 (访问密码: 6511) 2.0手电筒.rar: https://url18.ctfile.com/f/7715018…...

为什么手机会莫名多出许多软件?

许多手机用户都曾遭遇过这样的问题&#xff0c;他们在使用手机的过程中&#xff0c;突然发现手机屏幕上出现了一些未知的软件。这些软件并非他们主动下载的&#xff0c;但它们却显现在屏幕上。这些软件从何而来&#xff1f; 其实&#xff0c;这些软件往往是在浏览网页、阅读小…...

测试自动化的边缘:DevTestOps 和 DevSecOps

什么是 DevOps&#xff1f; DevOps 允许企业通过自动化基础设施、工作流程和持续测量应用程序的性能来提高开发人员和运营团队之间的协作和生产力。通过 DevOps&#xff0c;开发人员可以以小块的形式编写代码&#xff0c;以便在几个小时内集成、测试、监控和部署代码&#xff…...

fatal:Could not read from remote repository解决方法

Linux服务器如何连接GitHub&#xff1f; 生成SSH密钥 ssh-keygen -C “邮箱” -t rsa 存放位置一般是/root/.ssh/id_rsa 登录个人github&#xff0c;添加客户端生成的公钥 打开Settings&#xff0c;点击SSH and GPG keys&#xff0c;点击New SSH Key。Key中粘贴id_rsa.pub…...

数学基础

线性代数 关键词&#xff1a;线性方程组、矩阵、增广矩阵&#xff08;系数矩阵、常数项矩阵&#xff09;、阶梯型矩阵、行最简矩阵、最简形矩阵、向量系统、向量加法、向量空间、基本单位向量、线性相关、线性无关、Span张成空间、 向量乘法&#xff08;点积、内积、外积、叉积…...

【Python】Python语言基础(上)

第一章 前言 1. Python简介 Python语言并不是新的语言&#xff0c;它早于HTTP 1.0协议5年&#xff0c;早于Java语言 4年。 ​ Python是由荷兰人Guido van Rossum&#xff08;吉多范罗苏姆&#xff09;于1989年圣诞节期间在阿姆斯特丹休假时为了打发无聊的假期而编写的一个脚本…...

C#设计模式六大原则之依赖倒置原则

C#设计模式六大原则是单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则、开闭原则。它们不是要我们刻板的遵守&#xff0c;而是根据实际需要灵活运用。只要对它们的遵守程度在一个合理的范围内&#xff0c;努为做到一个良好的设计。以下介绍C#依赖倒置原则…...

IDEA的使用(二)快捷键 (IntelliJ IDEA 2022.1.3版本)

1. IDEA中的常用快捷键 1.1 通用型快捷键 1.2 提高编写速度 ctrl shift ↑或↓ 只能在方法里面移动代码。 alt shift ↑或↓ 可以向方法外移动代码。 设置过自动导包&#xff0c;所以不用批量导包啦。 1.3 类结构、查找和查看源码 1.4 查找、替换和关闭 1.5 调整格式 1.6 De…...

微信小程序个人账号申请和配置详细教程

一、注册小程序管理账号 1、注册方法 在微信公众平台官网首页&#xff08;mp.weixin.qq.com&#xff09;&#xff0c;点击右上角的“立即注册”按钮。 2、选择注册的账号类型 选择“小程序”&#xff0c;点击“查看类型区别”可查看不同类型账号的区别和优势。 3、填写邮箱和…...

opencv定位图片中的图案?

import cv2 as cv2def find_positions(image_path, small_image_path):# 读取大图和小图large_image cv2.imread(image_path)small_image cv2.imread(small_image_path)# 小图规格small_image_h, small_image_w small_image.shape[:2]# 对比大图与小图# 匹配模板res cv2.ma…...

高防CDN:网络安全的不可或缺之选

在当今数字化时代&#xff0c;网络攻击已经成为互联网上的一种不可避免的风险。为了应对不断升级的网络威胁&#xff0c;许多企业和组织正在采用高防御CDN&#xff08;Content Delivery Network&#xff09;技术&#xff0c;以确保他们的在线资产得到保护&#xff0c;用户体验得…...

flutter 常用组件:文本、图片和按钮

文章目录 文本控件富文本控件图片本地图片网络图片按钮文本控件 ##一’码’当先 Text(这是一段文本这是一段文本这是一段文本这是一段文本这是一段文本这是一段文本这是一段文本这是一段文本,textAlign:TextAlign.center,style: TextStyle(fontWeight: FontWeight.bold, font…...

BI工具:让数据分析井然有序一望而知

BI&#xff08;Business Intelligence&#xff09;工具是一类专门用于数据分析和决策支持的软件工具。 它们能够将企业内部和外部的数据进行整合、处理和可视化&#xff0c;帮助用户从海量数据中获取有价值的见解和洞察&#xff0c;并以直观、易懂的方式展示给决策者和相关人员…...

2024级199管理类联考之逻辑核心基础

且与或 含义 A且B(A^B):同时存在 常见形式 A并且B既A又B不但A而且B虽然A但是BA或B:二者至少有一个成立(即A且非B,非A且B,A且B) 否定形式 且的否定 A且B否定形式&#xff1a;非(A^B) 非A 或 非B非A且非B否定形式&#xff1a;非(非A^非B) A 或 B非A且B否定形式&#xff1a;…...

第二次课,文件校验(预习)

hash 计算接口 Crypto API &#xff08;证书&#xff0c;对称加密&#xff0c;非对称加密&#xff0c;编码和解码&#xff09; CryptAcquireContext CryptCreateHash CryptReleaseContext CryptHashData CryptDestroyHash CryptGetHashParam 注册表操作接口 RegEnumKeyEx RegE…...

京东官方平台API接口获得JD商品详情页信息数据采集产品价格、原价、销量、商品属性名等

京东商品详情API接口的作用是获取京东平台上某个商品的详细信息&#xff0c;包括商品标题、价格、图片、规格、参数、店铺信息等。开发者可以通过该接口获取到商品的原始数据&#xff0c;方便进行数据分析、价格比较、爬取等操作。 通过该接口获取到的商品详情数据可以结合其他…...

深入篇【C++】总结智能指针的使用与应用意义(auto_ptr/unique_ptr/shared_ptr/weak_ptr)底层原理剖析+模拟实现

深入篇【C】总结智能指针的使用与应用意义&&(auto_ptr/unique_ptr/shared_ptr/weak_ptr&#xff09;底层原理剖析模拟实现 智能指针的出现智能指针的使用应用意义/存在问题智能指针原理剖析模拟实现auto_ptrunique_ptrshared_ptrweak_ptr 智能指针的出现 首先我们要理…...

计算机视觉和机器视觉有什么区别?

人工智能是一个概念性术语&#xff0c;涵盖了若干特定技术。本文中&#xff0c;我们将探讨机器视觉&#xff08;MV&#xff09;和计算机视觉&#xff08;CV&#xff09;。二者都涉及可视化输入的摄取和解释&#xff0c;因此&#xff0c;了解这些重叠技术的优势、约束和最佳应用…...

【树莓派 picamera】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言https://www.cnblogs.com/uestc-mm/p/7606855.html 一、picamera是什么&#xff1f;二、使用步骤1.引入库2.先要安装opencv 总结 前言 想用树莓派libcamera &a…...

HarmonyOS应用开发者基础认证【满分答案】

HarmonyOS应用开发者基础认证 一、判断题二、单选题三、多选题 一、判断题 在Column和Row容器组件中&#xff0c;justifyContent用于设置子组件在主轴方向上的对齐格式&#xff0c;alignItems用于设置子组件在交叉轴方向上的对齐格式。&#xff08;正确&#xff09; 所有使用C…...

CSS 常用样式——定位属性类型及特点

一、相对定位 相对定位是 CSS 中的一种定位方式&#xff0c;它允许我们将一个元素相对于其原始位置进行定位&#xff0c;而不会影响其它元素的位置和尺寸。相对定位是通过 position: relative; 属性实现的。 相对定位常用于创建位置相对于父元素的元素&#xff0c;以及重叠元…...

华纳云:Linux文件不存在无法删除如何解决

在Linux中&#xff0c;如果您要删除一个文件&#xff0c;但文件不存在&#xff0c;通常会收到类似"文件不存在"或"没有这样的文件或目录"的错误消息。这可能是由于多种原因导致的&#xff0c;例如文件被移动、重命名、删除&#xff0c;或者您没有足够的权限…...

mysql增加字段语句转为Oracle语句

mysql增加字段语句转为Oracle语句 ALTER TABLE xm_cghyADD COLUMN WDNR blob NULL COMMENT 评审会议通知HTML AFTER HYTZFJ;在Oracle中&#xff0c;可以使用以下SQL语句来执行ALTER TABLE操作&#xff0c;将xm_cghy表添加一个名为WDNR的BLOB类型列&#xff1a; ALTER TABLE x…...

VMware搭载linux出现的bugs

---------后续在实际Linux项目复盘过程中有遇到问题(解决办法)会不定时更新.......----------- ques: Linux自带的media目录用于挂载或可移动存储设备已满&#xff08;造成这一原因是由于我多次创建新的虚拟机并在同一虚拟目录下挂载同一镜象导致有些残存文件没有删除干净&…...

websocket逆向-protobuf序列化与反序列化

系列文章目录 训练地址&#xff1a;https://www.qiulianmao.com 基础-websocket逆向基础-http拦截基础-websocket拦截基础-base64编码与解码基础-protobuf序列化与反序列化视频号直播弹幕采集实战一&#xff1a;Http轮询更新中 websocket逆向-protobuf序列化与反序列化基础 系…...

车载电子电器架构 —— 国产基础软件生态简介

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…...

CNN-generated images are surprisingly easy to spot... for now

CNN-generated images are surprisingly easy to spot… for now----《目前CNN生成的图像非常容易被发现》 背景&#xff1a; 研究者们发现&#xff0c;仅仅对一种由CNN模型生成的图像进行训练的分类器&#xff0c;也可以检测许多其他模型生成的结果。由此提出这样的观点&#…...

蓝桥杯(七段码,C++)

思路&#xff1a; 1、把灯管的连接转为图结构&#xff0c;相邻的灯管即认为有边。 2、用深度搜索&#xff0c;去计算有多少种不同字符。 3、因为有每种字符都会重复算两遍&#xff0c;最后的结果需要数以2。 #include <iostream> using namespace std;int graph[7][7…...

Master PDF Editor v5.9.70便携版

软件介绍 Master PDF Editor中文版是一款小巧的多功能PDF编辑器,可以轻松查看,创建,修改,批注,签名,扫描,OCR和打印PDF文档.高级注释工具,可以添加任意便笺指示对象突出显示,添加下划线和删除,而无需更改源PDF文件. 软件截图 更新日志 code-industry.net/what-is-new-in-mas…...

【剑指Offer】20.表示数值的字符串

题目 请实现一个函数用来判断字符串str是否表示数值&#xff08;包括科学计数法的数字&#xff0c;小数和整数&#xff09;。 科学计数法的数字(按顺序&#xff09;可以分成以下几个部分: 1.若干空格 2.一个整数或者小数 3.&#xff08;可选&#xff09;一个 e 或 E &…...

2023年9月Web3行业月度发展报告区块链篇 | 陀螺科技会员专享

9月是加密市场的活动月&#xff0c;斯坦福区块链周、Token2049等大型活动相继举办&#xff0c;后者更是创下超过1万人的历史最高纪录&#xff0c;成为了全球最大的Web3活动。在本次Token2049上&#xff0c;RWA、支付以及出入金成为了讨论度最多的活动。尽管活动如火如荼&#x…...

Unity 快捷键的一些记录

1.Unity Prefab Apply All 设置快捷键&#xff0c;修改预设体之后快捷键应用 打包会出问题&#xff1a;The type or namespace name ‘EditorWindow‘ could not be found EditorWindow类无法打包出EXE 添加unity关键字定义如下文所示&#xff1a; #if UNITY_EDITOR using Uni…...

GIT指令 - git stash

命令解释 保存当前工作进度&#xff0c;将工作区和暂存区恢复到修改之前。 使用场景 当在A分支上进行开发&#xff0c;有点事情需要切到B分支上进行开发&#xff0c;但是A分支的代码开发一半&#xff0c;又不想提交&#xff0c;直接切换又会报错&#xff0c;可以使用该指令。…...

LiveMedia视频中间件视频隐私打码直播解决方案

一、方案背景 随着科技的发展&#xff0c;视频监控系统已经成为了我们生活中不可或缺的一部分。无论是在公共区域&#xff0c;还是在私人场所&#xff0c;我们都可以看到各种各样的监控设备。这些设备的出现&#xff0c;无疑提高了我们的生活安全&#xff0c;使得我们可以更好地…...

关于神经网络的思考

关于感知机 感知机&#xff08;Perceptron&#xff09;和神经网络&#xff08;Neural Network&#xff09;之间有一定的关系&#xff0c;可以说感知机是神经网络的一个基本组成单元。 感知机&#xff1a; 感知机是一种简单的二分类线性分类器。它接受多个输入&#xff0c;对每…...

CodeForces每日好题10.14

给你一个字符串 让你删除一些字符让它变成一个相邻的字母不相同的字符串&#xff0c;问你最小的删除次数 以及你可以完成的所有方/案数 求方案数往DP 或者 组合数学推公式上面去想&#xff0c;发现一个有意思的事情 例如1001011110 这个字符串你划分成1 00 1 0 1111 0 每…...

Python Django 之连接 Mysql 数据库详解

文章目录 1 概述1.1 Mysql 下载和安装1.2 菜单目录 2 ORM 框架2.1 连接 Mysql 模块&#xff1a;mysqlclient2.2 创建数据库2.3 连接 Mysql2.4 创建表2.5 增删改查 3 扩展3.1 ERROR&#xff1a;2026, SSL connection error: unknown error number 1 概述 1.1 Mysql 下载和安装 …...

Java设计模式:Callback

介绍 回调&#xff08;Callback&#xff09;是一种设计模式&#xff0c;在这种模式中&#xff0c;一个可执行的代码被作为参数传递给其他代码&#xff0c;接收方的代码可以在适当的时候调用它。 在真实世界的例子中&#xff0c;当我们需要在任务完成时被通知时&#xff0c;我…...

年底旺季,Shopee、Lazada如何通过测评补单技术打造产品权重收割流量

当前Shopee和Lazada平台的主要推广方式仍然以广告为主&#xff0c;毕竟这是平台的主要收入来源之一。然而&#xff0c;由于近年来大量卖家涌入东南亚市场&#xff0c;导致卖家之间的竞争日趋激烈。高额的广告投入并不能带来预期的效果&#xff0c;因此越来越多的卖家开始自学测…...

CentOS 7 安装 MySQL8.0

由于centOS7中默认安装了 MariaDB , 需要先进行卸载 # 查看版本 rpm -qa | grep mariadb # 卸载 rpm -e --nodeps 文件名 # 查看是否卸载干净 rpm -qa | grep mariadb安装wget&#xff1a; yum -y install wget进入/usr/local/下&#xff1a; cd /usr/local/新建mysqlrpm文…...

C# 往多线程传递安全参数的方法

在C#构造一个线程时&#xff0c;要向其传递一个函数&#xff0c;这个函数可以试简单的无参函数&#xff0c;也可以是参数为Object类型的函数&#xff0c;但是由于参数类型为Object&#xff0c;因此编译器无法实行类型检查&#xff0c;看下面的例子&#xff1a; class Program{…...

Java之SPI

Java的SPI&#xff08;Service Provider Interface&#xff09;是一种面向接口编程的机制&#xff0c;用于实现组件之间的解耦和扩展。通过SPI机制&#xff0c;我们可以定义接口&#xff0c;并允许第三方提供不同的实现&#xff0c;从而实现可插拔、可扩展的架构。 SPI讲解 它…...

【数据结构】算法的空间复杂度

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 算法空间复杂度的定义 算法的时间复杂度和空间复杂度是度量算法好坏的两个重要量度,在实际写代码的过程中,我们完全可以用空间来换时间,比如说,我们要判断某某年是不是闰年,大…...

恢复Windows 11经典右键菜单:一条命令解决显示更多选项问题

恢复Windows 11经典右键菜单&#xff1a;一条命令解决显示更多选项问题 恢复Windows 11经典右键菜单&#xff1a;一条命令解决显示更多选项问题为什么改变&#xff1f;恢复经典右键菜单 我是将军我一直都在&#xff0c;。&#xff01; 恢复Windows 11经典右键菜单&#xff1a;一…...