![同一 LAN 和子网上的流量是否通过路由器/交换机传输](https://linux22.com/image/1603272/%E5%90%8C%E4%B8%80%20LAN%20%E5%92%8C%E5%AD%90%E7%BD%91%E4%B8%8A%E7%9A%84%E6%B5%81%E9%87%8F%E6%98%AF%E5%90%A6%E9%80%9A%E8%BF%87%E8%B7%AF%E7%94%B1%E5%99%A8%2F%E4%BA%A4%E6%8D%A2%E6%9C%BA%E4%BC%A0%E8%BE%93.png)
我知道有很多关于此的类似问题。
我家里有一台 UPC 路由器/网关。如果我在本地网络上通过 SCP 或 FTP 将文件从一台 PC 传输到另一台 PC,这些数据是否需要通过我的路由器?或者它不能简单地从一台 PC 传输到另一台 PC?
网关和路由器这两个术语可能会被误解,因为它们涉及将不同的网络连接在一起。
当在同一个 LAN 和子网上将数据从一台计算机传输到另一台计算机时,我猜测这些数据必须首先发送到路由器,然后路由器识别出 IP 地址是本地的,获取 MAC 地址并将其发送到另一台本地 PC。
如果我对最后一点的看法是正确的,那么有没有办法直接进行 PC 到 PC 的传输呢?
答案1
假设你的计算机连接到交换机,并且该交换机连接到路由器 -
为了使 PC 能够与任何设备通信,它们需要同一子网中的 IP。这些 IP 可以手动配置或使用备用 IP,但通常由路由器分配。这当然涉及将流量发送到路由器。根据传输的启动方式,路由器还可用于帮助机器通过名称相互查找(但通常不是)。
为了在设备之间真正传输数据,数据将通过交换机而不是路由器。系统将相互找到,因为它们都处于由 IP 地址和子网定义的同一 IP 范围内。(这就是子网存在的原因)。在低级别上,这是通过计算机广播“ARP 请求 IP”来完成的,该请求被 LAN 上的所有设备接收,具有适当 IP 地址的系统以其 MAC 地址进行响应 - 此后,两个系统知道如何找到对方。
如上所述,假设您解决了 IP 寻址问题和名称解析问题,那么可能只需使用普通电缆(用于千兆连接)或交叉电缆即可将 2 台 PC 连接在一起。
答案2
难道它不能简单地从一台 PC 转移到另一台 PC 吗?
答案很简单:是的!
通过单根以太网电缆直接进行 PC 到 PC 的数据传输 100% 没问题。
如果我对最后一点的看法是正确的,那么有没有办法直接进行 PC 到 PC 的传输呢?
这很容易做到,不需要特殊的配置或硬件。
您(几乎)肯定不需要交叉电缆,您绝对不需要无线路由器,也不需要手动分配静态 IP 地址。
在没有 DHCP 服务器的情况下,APIPA 会自动处理 IP 地址分配,而自动 MDI-X 会自动处理缺少交叉电缆的情况。
所有千兆以太网网卡均具有自动 MDI-X 支持!
让我们开始吧:
- 使用普通网线将两台计算机直接连接在一起。
- 在每台电脑上运行
ipconfig
命令提示符,查看它们各自自动分配的 APIPA(自动私有 IP 寻址)地址。如果此步骤失败,则需要交叉电缆,但可能性不大。APIPA 地址很容易识别,因为它们的格式始终为:169.254.x.x
。 - 您现在可以通过 IP 地址或主机名直接访问您的网络共享,就像使用交换机或路由器传统连接 PC 一样。
答案3
路由器是一个带有两个网络适配器的盒子,一个连接内部,另一个通常连接到互联网(或其他路由器)。
当所有计算机都连接到路由器作为其唯一的公共点时,本地 LAN 消息将仅通过一个内部接口传递,因此与通过互联网进行通信并需要从内部接口传递到外部相比,路由器的运行效率更高。
对于直接连接,您需要在计算机之间连接以太网电缆,或者在使用 WiFi 的情况下在其中一台计算机上创建一个接入点。
如果您希望在直接连接两台计算机的同时保持与路由器和互联网的连接,这两种解决方案都需要在每台计算机上安装两个网络适配器,这有点繁重。如果其中一台参与的计算机没有 DHCP 服务器(这是最可能的情况),您可能还需要将静态 IP 分配给两个适配器。目前还不清楚性能提升会有多大(如果有的话)。
最后说明:对于直接以太网连接,您将需要所谓的交叉电缆 这样就无需使用路由器。现代优质电缆/NIC 可自动适应,并可同时满足两种用途。
答案4
是也不是,但大多数情况下不会。它们会通过交换机(否则信号如何从一个设备传输到另一个设备?)但不会通过任何路由器(因为它们位于同一子网中)。
通常为“同一子网”根据定义意味着可以通过本地以太网直接访问另一台主机,而无需经过任何路由器/网关系统。
也就是说,PC1可以直接向ARP查询PC2的MAC地址,数据包就可以直接从源设备寻址到目标设备的MAC。
两个主机都可以通过使用配置在其中的“子网掩码”来确定其对等端是否是本地的。(根据路由器来识别这一点有点违背了要点……)
网关和路由器这两个术语可能会被误解,因为它们涉及将不同的网络连接在一起。
数据包可能会经过家用路由器最有可能具有的内置交换机(取决于这是否是最短路径),但由于它们直接发送到目标设备的 MAC 而不是路由器的 MAC,因此路由器的主操作系统实际上根本看不到它们。