网络技术基础,NAT,桥接,交换机,路由器

什么是NAT

Network Address Translation(网络地址转换),它负责将目标IP或源IP进行了改变,相当于一个中间代理,我们家庭常用的路由器就是一个NAT设备,NAT是为了解决IPv4的IP地址快要耗尽的问题,以实现多个私有IP共享一个公网IP。

私有地址(RFC 1918):10.0.0.0/8、172.16.0.0/12、192.168.0.0/16

NAT的转换流程如下:

1、PC访问外部网络
源=192.168.2.157:7788
目标=47.104.250.233:802、经过NAT转换后
源=27.16.246.40:12345
目标=47.104.250.233:803、服务器返回数据
源=47.104.250.233:80
目标=27.16.246.40:123454、经过NAT转换后
源=47.104.250.233:80
目标=192.168.2.157:7788

在第2步的时候,NAT会建立一个映射表

内网IP:PORT公网IP:PORT协议
192.168.2.157:778827.16.246.40:12345
192.168.2.134:889927.16.246.40:13333
NAT的三种类型
类型特点应用场景转换示例
静态NAT1:1 的固定映射企业服务器托管192.168.1.1 -> 170.34.2.1
动态NATIP池动态分配中型企业网络内网IP轮流使用公网IP池
PATIP+端口组合映射(最常用)家庭/企业网关192.168.1.1:1234 -> 公网IP:端口
NAT穿透难题与解决方案

NAT的存在,是其下游的机器的IP被隐藏了,这会使那些端到端的直接通信造成困扰,比如P2P应用,视频通话应用。

解决方式

  1. UDP打洞:这是最常用的NAT穿透技术之一,适用于大多数Cone NAT(包括完全锥型NAT、受限锥型NAT和端口受限锥型NAT)。其基本思想是让NAT设备认为某个来自内部网络的数据包是一个合法的响应,从而允许外部数据包进入。
  2. TCP打洞:与UDP打洞类似,但应用于TCP协议,成功率相对较低,因为TCP协议本身的一些特性使得打洞更加困难。
  3. STUN服务器:STUN服务器帮助客户端发现自己的公网IP地址和端口号,也就说,客户端A主动请求一下STUN服务器,那STUN服务就知道了A的IP和端口,并且保存下来,这样客户端B想要连接客户端A的时候,就可以从STUN服务器得到A的地址。
  4. TURN服务器:当直接连接无法建立时,可以通过TURN服务器转发数据。
  5. ICE框架:结合了多种NAT穿透技术(包括STUN和TURN),提供了一种更全面的解决方案来处理不同的NAT类型和防火墙设置。

早期组网技术

在网桥技术出现之前,组建局域网(LAN)主要依赖于粗同轴电缆和集线器(Hubs),以及稍后的细同轴电缆。以下是那个时期构建局域网的一些关键技术点:

  1. 粗同轴电缆(Thicknet)
  • 以太网标准:最初,局域网采用的是基于DIX以太网标准的粗同轴电缆,也称为10Base5。这种电缆直径较大,最大传输距离可达500米。
  • 连接方式:设备通过一种名为“vampire tap”的装置直接物理连接到电缆上,这种方式需要钻透电缆的外皮来建立连接,比较复杂且不易维护。
  1. 细同轴电缆(Thinnet)
  • 改进版本:随后出现了更为灵活的细同轴电缆标准,即10Base2,也被称作“Cheapernet”。相比粗同轴电缆,它更易于安装和布线,但仍然受限于总线拓扑结构。
  • 链路长度:细同轴电缆的最大段长为185米,并且所有节点共享同一介质,这意味着网络性能容易受到单个节点故障的影响。
  1. 集线器(Hub)
  • 中心化连接:随着技术的发展,开始使用集线器作为中心设备来简化局域网的搭建。每个设备通过双绞线连接到集线器的一个端口上,形成星型拓扑结构。
  • 工作原理:集线器本质上是一个多端口的中继器,它将从一个端口接收到的所有数据包广播到所有其他端口。这种方法虽然简单易行,但由于缺乏智能处理能力,导致了严重的带宽浪费和潜在的安全隐患。

局域网限制

由于上述技术手段缺乏有效的流量控制机制,早期的局域网存在明显的局限性:

  • 冲突域问题:所有连接在同一段电缆上的设备构成一个冲突域,当多个设备同时尝试发送数据时会发生冲突,降低整体网络效率。
  • 扩展困难:随着用户数量增加,单纯依靠延长电缆或添加更多集线器会导致管理复杂度上升,并可能影响网络稳定性。

直到网桥技术的引入,才有效解决了这些问题。网桥能够分割大型局域网为较小的部分,减少冲突域大小,从而提高了网络性能并促进了更大规模网络的有效管理。此外,网桥还可以过滤不同部分之间的流量,增强安全性并优化资源利用。

冲突域

每个接入网络的人都有发送消息的权利,但在同一时间只能有一个人占当前的线路,否则会发生混乱,因此每个人需要在发生前进行载波侦听(是否有人正在占线),如果有则需要等待后才可以发送消息。

当两端同时发生冲突时,则会发生冲突检测,会话终止并随机等待一段时间后再开始的判断。

因此,在同一个网络介质下的多个节点按照以上方式进行共享链路带宽的传输任务。而当冲突发生时网络进行随机一段时间的等待(称为回退),此时不进行传输。

而当链路中的节点越多冲突的发生概率就会更大,无法保证通信质量。将连在同一介质下的所有节点集合,称作冲突域。此时,总线型的网络方式就不够合适了,于是引入了二层交换机。

二层交换机,工作在数据链路层,是基于 MAC地址的基础上对数据包的转发。内部的 ASIC的芯片来实现硬件转发。二层交换机的端口发送和接受数据独立,从而可以将各端口归属于不同的冲突域,从而有效的隔离了冲突。

集线器

集线器(Hub)是一种简单的网络设备,主要用于局域网(LAN)中连接多个设备。它工作在OSI模型的物理层(第一层),主要作用如下:

  1. 信号转发:集线器的主要功能是接收从一个端口传入的数据信号,并将这个信号广播到所有其他端口。这意味着无论数据包的目标地址是什么,集线器都会将接收到的信息发送给所有连接的设备。
  2. 网络连接:通过提供多个端口,集线器允许计算机、打印机或其他网络设备相互连接,形成一个网络。这使得这些设备能够共享资源或相互通信。
  3. 扩展网络:集线器可以用来扩展网络规模,通过连接多个集线器或者其他网络设备,可以构建更大规模的网络结构。

然而,集线器也有其局限性:

  • 效率低:因为集线器无法识别目标地址,会将数据发送给所有端口,这样会导致不必要的网络流量增加,尤其是在大型网络中。
  • 冲突域:所有的端口共享同一个冲突域。如果两个设备同时尝试发送数据,会发生冲突,导致数据需要重新发送。
  • 不支持高级功能:与交换机和路由器相比,集线器缺乏智能处理能力,不能提供如MAC地址过滤、VLAN划分等高级功能。

网桥

网桥(Bridge)在网络中主要用于连接两个或多个局域网(LAN)网段,它工作在OSI模型的数据链路层(第二层),能够识别MAC地址并据此决定是否转发数据帧。网桥有一个映射表,MAC->PORT 是多对一的关系,它跟交换机一样也是通过学习过程来填充映射表的。将两个集线器连接在网桥的两个端口上就实现这两个局域网的互通。

以下是网桥的主要作用:

  1. 分割冲突域:通过学习MAC地址表,网桥可以智能地将数据帧仅转发到目标设备所在的网络段,而不是广播到所有连接的设备。这有助于减少网络中的冲突,提高网络效率。
  2. 扩展网络:网桥允许扩展局域网覆盖范围,同时保持各部分网络的逻辑连通性。这对于那些物理上分布较广但需要作为一个整体进行管理的网络特别有用。
  3. 过滤通信流量:网桥能够根据MAC地址过滤数据帧,阻止不必要的流量穿越整个网络。这意味着只有目的地为另一侧网段的数据帧才会被转发,从而减少了跨网段的流量,提高了网络性能。
  4. 促进不同类型的LAN互连:虽然现代应用较少见,但在过去,网桥曾用于连接使用不同协议的局域网,如以太网和令牌环网。
  5. 提高安全性:通过限制哪些数据帧可以通过网桥,可以在一定程度上控制网络访问,增强网络安全。

交换机

交换机是在网桥的基础上发展而来的,它拥有更多的端口。假如一个交换机有24个端口,那么只要连接到这个交换机上的所以网络设备都可以通信,交换机工作在OSI第2层,即链路层,通过MAC地址来通信,不需要IP。比如设备1要向设备2发送数据,交换机的职责就是搞清楚设备2接在哪个端口上,以及设备2的MAC地址,然后交换机就从此端口发出数据,数据中会带上MAC地址。

交换机中会存储一个映射表(MAC->PORT),刚开始这个表是空的,设备1向设备2发送数据,交换机就知道MAC1接到了PORT1上,存起来,但是并不知道设备2的信息,此时它会将消息向所有设备广播(设备1除外),因为数据中带有目标MAC地址,所以这些设备收到数据后会进行校验,如果不是发给自己的那就舍弃,如果是目标MAC,那就处理,并做出回应,此时交换机就会知道MAC2接到了PORT2,因此经过一段时间之后,这个映射表就齐全了,此后就是精准发送,而不是广播,效率得以提升。

交换机中的端口和MAC是一一对应的关系,如果某个端口换了设备,对应的MAC会更新。

虚拟局域网VLAN

同一个交换机上的设备属于同一个局域网(广播域),而VLAN技术,可以在同一物理交换机上创建多个逻辑上的独立广播域。每个VLAN相当于一个独立的广播域,即使这些VLAN可能共享相同的物理交换机。这样,属于不同VLAN的设备之间不会直接接收到对方的广播流量,除非通过路由器进行通信,这有效地实现了广播域的隔离。处于不同的 VLAN下的端口,必须经过三层交换机或路由器在网络层进行转发。

获取MAC地址

在同一个广播域中,设备之间是通过MAC地址来通信的,比如交换机。那么设备A如何知道设备B的MAC地址呢?这里就需要用到ARP广播协议。ARP广播报文只会在广播域中传播,路由器可以隔离广播域,该网络中所有主机包括网关都会接收到此ARP request报文。网关将会阻止该报文发送到其他网络上。只有目标IP的主机才会回应。

ARP Request: who hua 10.0.0.3? Tell 10.0.0.1

ARP Response: 10.0.0.3 at 54:89:98:db:33:4e

每台设备都会缓存一份 IP --> MAC 的信息表,防止每次通信都要广播,当然,这个缓存表也是有过期时间的。

路由器

路由器在网络中扮演着至关重要的角色,其主要作用包括以下几个方面:

  1. 路径选择:路由器工作在OSI模型的网络层(第三层),能够根据IP地址进行数据包的转发。它使用内部路由表来决定数据包从源地址到目的地址的最佳传输路径。当路由器接收到一个数据包时,它会检查目标IP地址,并根据路由表中的信息决定将该数据包转发到哪个接口或下一跳路由器。
  2. 连接不同网络:路由器可以连接不同类型和规模的网络,如局域网(LAN)与广域网(WAN)、两个不同的局域网或者互联网。通过这种方式,路由器使得位于不同网络中的设备能够相互通信。
  3. 隔离广播域:路由器不会自动转发广播消息。这意味着每个路由器接口连接的网络部分构成了独立的广播域,有助于减少不必要的网络流量,提高网络效率,并增强安全性。
  4. 实施网络安全策略:路由器可以配置访问控制列表(ACLs)和其他安全措施来限制哪些类型的流量可以通过,以及哪些设备可以相互访问。这有助于保护网络不受未经授权的访问和攻击。
  5. 支持多种协议:除了处理IP协议外,路由器还可以支持其他网络协议,如IPv6、AppleTalk等,以适应不同的网络环境需求。
  6. 提供动态路由功能:通过运行路由协议(如RIP、OSPF、BGP等),路由器能够动态地学习和更新路由表,从而适应网络拓扑的变化,确保数据包始终沿着最优路径传输。
  7. 实现NAT(网络地址转换):路由器通常用于执行NAT,允许使用私有IP地址的内部网络设备与外部公共网络(如互联网)通信,同时隐藏内部网络结构,进一步增强安全性。

路由器和交换机的区别

路由器和交换机是计算机网络中两种基本但功能不同的设备。以下是它们之间的一些关键区别:

工作层次

  • 交换机:主要工作在OSI模型的第二层(数据链路层,只关心MAC地址),某些高级交换机也可以工作在第三层(网络层),这类交换机通常被称为三层交换机。
  • 路由器:工作在OSI模型的第三层(网络层,只关心IP地址)。

功能

  • 交换机:主要用于局域网(LAN)内部的数据帧转发,它通过学习MAC地址表来决定如何将数据帧发送到正确的端口。交换机可以减少冲突域,并且支持VLAN(虚拟局域网)以提高网络的安全性和管理效率。
  • 路由器:用于连接不同的网络或子网,执行路由选择功能,根据IP地址决定最佳路径转发数据包。路由器还提供NAT(网络地址转换)、DHCP(动态主机配置协议)、防火墙等服务,以及可能包括无线接入点的功能。

数据转发机制

  • 交换机:使用MAC地址进行数据帧的转发。当一个数据帧到达时,交换机会检查其MAC地址表来确定目标MAC地址对应的输出端口。
  • 路由器:使用IP地址进行数据包的转发。路由器会查看目的IP地址,并根据路由表来决定下一跳地址。

广播域与冲突域

  • 交换机:每个端口代表一个独立的冲突域,但是所有端口仍然属于同一个广播域(除非使用了VLAN)。
  • 路由器:每个接口代表一个独立的广播域和冲突域,因此路由器天然地隔离了广播域。

应用场景

  • 交换机:适用于需要在同一局域网内连接多个设备的情况,如办公室、数据中心等。
  • 路由器:适用于需要连接不同网络或者子网的场合,例如家庭网络连接互联网,企业环境中的分支互联等。

价格和复杂性

  • 交换机:对于小型网络或家庭用户来说,二层交换机的价格相对较低,设置也较为简单。
  • 路由器:家用路由器集成了一些额外的功能,比如无线接入点,而企业级路由器则更复杂且价格更高,因为它们需要处理更多的流量和更复杂的路由决策。

综上所述,虽然交换机和路由器都可以在网络中传输数据,但它们的作用和工作方式有显著的不同。交换机主要用于局域网内的高效数据交换,而路由器则是跨网络通信的关键设备。在实际应用中,两者常常协同工作,构建出完整的网络架构。

桥接网络与NAT的区别

桥接网络和NAT(网络地址转换)是两种不同的网络连接方式,它们在网络配置、工作原理、应用场景等方面有着明显的区别。以下是两者的主要区别:

网络配置

  • 桥接模式:在这种模式下,虚拟机直接连接到物理网络,就像是一台独立的物理设备。它会从网络中的DHCP服务器获取自己的IP地址,与宿主机处于同一网段这意味着虚拟机可以直接与其他网络设备通信,并且可以被其他设备访问。
  • NAT模式:在NAT模式中,虚拟机通过一个内部网络适配器连接到一个虚拟路由器,这个虚拟路由器负责将私有IP地址转换为宿主机的公共IP地址,从而允许虚拟机访问外部网络。虚拟机通常会获得一个私有的IP地址,例如10.x.x.x192.168.x.x

工作原理

  • 桥接模式:桥接模式工作在数据链路层(OSI模型的第2层),它通过MAC地址转发数据帧,不修改数据帧的内容。这意味着所有进出虚拟机的数据包都直接通过物理网络传输,没有经过任何形式的地址转换。
  • NAT模式:NAT模式则工作在网络层(OSI模型的第3层),它修改数据包的源或目标IP地址及端口号,以实现私有网络与公共网络之间的通信。当虚拟机尝试访问互联网时,其请求首先发送到虚拟路由器,后者将其私有IP地址转换为宿主机的公共IP地址。

地址处理

  • 桥接模式:虚拟机需要有自己的独立IP地址,并且必须确保该IP地址不会与网络上的其他设备发生冲突。
  • NAT模式:虚拟机的IP地址是由虚拟化软件分配的,通常位于一个私有的子网内,不需要担心与外部网络的IP地址冲突。

应用场景

  • 桥接模式:适用于那些需要提供服务(如Web服务器)或需要直接与局域网内的其他设备进行通信的虚拟机。
  • NAT模式:更适合于只需要访问互联网但不需要对外提供服务的虚拟机,因为它提供了额外的安全性,防止外部网络直接访问虚拟机。

透明性与性能

  • 桥接模式:对上层协议透明,设备无需知道桥接的存在。由于它直接转发数据帧,因此延迟较低。
  • NAT模式:对某些协议(如FTP、SIP等)可能需要额外处理(NAT穿透)。由于需要修改数据包,可能会增加一定的延迟。

总结来说,如果你希望虚拟机能够像物理机器一样参与到局域网中,并且能够被其他设备访问,就需要桥接网络。而如果你只关心虚拟机能否上网,而不希望它暴露给外部网络,或者你的网络环境不允许每个虚拟机都有独立的公网IP地址,那么NAT模式可能是更好的选择。根据具体的使用需求和网络条件来决定最适合的网络模式。一般在虚拟机上可能同时需要NAT和桥接网络,所以需要两个虚拟网卡。

子网划分

示例:192.168.0.0/24

后面的/24表示子网掩码占24位,IPv4是四个字节,也就是32位,所以子网IP是192.168.0.xxx

一个200人的办公室有线组网方案

[Internet][防火墙/边界路由器][核心交换机] ↘        ↘[汇聚交换机1] [汇聚交换机2]↘             ↘[接入交换机A] ... [接入交换机X]↘                ↘用户终端           用户终端

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

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

相关文章

DVWA靶场保姆级通关教程--03CSRF跨站请求伪造

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 目录 文章目录 前言 一、low级别的源码分析 二、medium级别源码分析 安全性分析 增加了一层 Referer 验证: 关键点是:在真实的网络环境中&a…

【Ansible自动化运维实战:从Playbook到负载均衡指南】

本文是「VagrantVirtualBox虚拟化环境搭建」的续篇,深入探索Ansible在自动化运维中的核心应用: ✅ Ansible核心技能:Playbook编写、角色(Roles)模块化、标签(Tags)精准控制 ✅ 实战场景覆盖&a…

基于STM32、HAL库的STC31-C-R3气体传感器驱动程序设计

一、简介: STC31-C-R3是Sensirion公司推出的一款基于CMOSens技术的CO2传感器,具有以下特点: 测量范围:0-100%体积浓度 I2C数字接口 低功耗设计 高精度和长期稳定性 小尺寸封装(5mm x 5mm) 二、硬件接口: STC31-C-R3 STM32L4xx ---------------------------- VDD (P…

Nginx篇之限制公网IP访问特定接口url实操

一、nginx配置限制IP访问 要在 Nginx 配置中添加 IP 限制,阻止来自指定公网 IP 地址段的访问,并且只对特定路径进行限制,可以在 location 配置中使用 deny 和 allow 指令来控制访问。 二、案例 1. 需求 对来自特定公网的地址段&#xff0…

算法研习:无重复字符的最长子串问题剖析

算法研习:无重复字符的最长子串问题剖析 一、引言 在算法的广袤天地中,字符串相关问题一直是备受关注的焦点。“无重复字符的最长子串”这一问题,不仅在面试中频繁出现,更是对算法思维和编程技巧的一次深度考验。它要求我们从给定字符串中找出不含有重复字符的最长子串的长…

Spring Cloud Gateway路由+断言+过滤

目录 介绍核心功能三大核心Route以服务名动态获取URLPredicate常用断言Path Route PredicateAfter Route PredicateBefore Route PredicateBetween Route PredicateCookie Route PredicateHeader Route PredicateHost Route PredicateQuery Route PredicateRemoteAddr Route Pr…

springboot集成langchain4j记忆对话

流式输出 LLM 一次生成一个标记(token),因此许多 LLM 提供商提供了一种方式,可以逐个标记地流式传输响应,而不是等待整个文本生成完毕。 这显著改善了用户体验,因为用户不需要等待未知的时间,几…

【SpringCloud GateWay】Connection prematurely closed BEFORE response 报错分析与解决方案

一、背景 今天业务方调用我们的网关服务报错: Connection prematurely closed BEFORE response二、原因分析 三、解决方案 第一步: 增加 SCG 服务的JVM启动参数,调整连接获取策略。 将连接池获取策略由默认的 FIFO(先进先出)变更为 LIFO&#xff08…

使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第十一讲)

这一期讲解lvgl中下拉框的基础使用,下拉列表允许用户从选项列表中选择一个值,下拉列表的选项表默认是关闭的,其中的选项可以是单个值或预定义文本。 当单击下拉列表后,其将创建一个列表,用户可以从中选择一个选项。 当…

【神经网络与深度学习】VAE 在解码前进行重参数化

在 VAE 中,解码之前进行重参数化主要有以下几个重要原因: 可微分性 在深度学习里,模型是通过反向传播算法来学习的,而这需要计算梯度。若直接从潜在变量的分布 (q_{\theta}(z|x))(由编码器输出的均值 (\mu) 和方差 (…

BBDM学习笔记

1. configs 1.1 LBBDM: Latent BBDM [readme]

mysql主从复制搭建,并基于‌Keepalived + VIP实现高可用

以下是基于 ‌Keepalived VIP‌ 实现 MySQL 主从复制高可用的详细步骤,涵盖主从复制搭建与故障自动切换: 一、MySQL 主从复制搭建(基础步骤回顾) 1. ‌主库(Master)配置‌ 修改配置文件‌ /etc/my.cnf&…

CD36.【C++ Dev】STL库的string的使用 (下)

目录 1.reserve函数(不是reverse) 代码示例 2.resize 代码示例 3.reserve和resize的区别 4.shrink_to_fit 代码示例 5.与C语言的配合的接口函数: c_str 代码示例 6.rfind 知识回顾:find函数 rfind 代码示例 练习题: 字符串最后一个单词的长度 代码 提交结果 ​…

STM32的网络天气时钟项目

一、项目概述与硬件架构 1.1 核心功能 本智能天气时钟系统集成了实时天气获取、网络时间同步、环境监测和低功耗管理四大核心功能: 网络数据获取: 通过ESP8266 WiFi模块连接心知天气API(每小时更新)获取北京标准时间服务器的时…

FPGA DDR4多通道管理控制器设计

DDR4控制器一般采用自带的MIG控制器,用户控制主要是基于MIG IP核进行设计 实际工程项目中可能只挂载了一组DDR,但是用户数据可能有很多种,用户通过给每种数据划分特定地址进行存储,如何实现灵活管理成为设计的关键 为了方便后端数…

低代码 x AI,解锁数智化应用的创新引擎

AI 智能体开发指南 随着全球信息化浪潮的持续推进,数字化、智能化转型已成为企业发展的必经之路。在这个变革的时代,企业面临着前所未有的挑战与机遇。一方面,市场环境瞬息万变,企业需要快速响应并调整业务模式;另一方…

【Spring Boot 注解】@Configuration与@AutoConfiguration

文章目录 Configuration与AutoConfiguration一、Configuration二、AutoConfiguration Configuration与AutoConfiguration 一、Configuration 这是最常用的 Spring 注解之一,表示当前类是一个 配置类,可以定义 Bean 方法,等效于传统的 XML 配…

arXiv论文 MALOnt: An Ontology for Malware Threat Intelligence

文章讲恶意软件威胁情报本体。 作者信息 作者是老美的,单位是伦斯勒理工学院,文章是2020年的预印本,不知道后来发表在哪里(没搜到,或许作者懒得投稿,也可能是改了标题)。 中心思想 介绍开源…

【存储管理—动态不等长存储资源分配算法】

文章目录 一、实验目的二、实验内容与设计思想实验内容设计思路 三、实验代码实现四、总结 一、实验目的 理解动态异长存储分区资源管理,掌握所需数据结构和管理程序,了解各种存储分配算法的优点和缺点。 二、实验内容与设计思想 实验内容 1.分析uni…

快速上手 Docker:从入门到安装的简易指南(Mac、Windows、Ubuntu)

PS:笔者在五一刚回来一直搞Docker部署AI项目,发现从开发环境迁移到生成环境时,Docker非常好用。但真的有一定上手难度,推荐读者多自己尝试踩踩坑。 本篇幅有限,使用与修改另起篇幅。 一、Docker是什么 #1. Docker是什…