互联网共享如何运作?

互联网共享如何运作?

我们有一个网络,具有复杂的网络共享。这对我来说很复杂,因为我想了解它是如何工作的。以下是详细信息:

  1. Macbook通过以太网连接到网关,并通过 Wi-FiA共享与 Macbook 的连接。B
  2. MacbookB连接到 Wi-Fi,A并通过以太网共享与 Windows PC 的连接C
  3. Windows 笔记本D与 Macbook 连接 Wi-Fi A

所以我对于这个网络非常困惑。它是如何工作的?

  • IP 地址是如何分配给每个系统的?
  • 我们如何知道哪个系统在哪个网络中以及哪些计算机可以访问哪些其他计算机?
  • 网络响应如何到达正确的目的地?

答案1

“互联网共享” 有两种类型(可能还有其他类型,但为了清楚起见我简化了):

  • 桥接是一种利用主持人计算机的互联网连接作为网关向前数据包被发送到 LAN。在桥接配置中,连接到桥接器的计算机被分配 IP 地址与主机连接的同一子网 (LAN) 内。例如,如果 MacbookA是 IP 地址为 192.168.1.2 的桥接网关,则 MacbookB可以加入桥接网络并获取 IP 地址(例如 192.168.1.3)。它们将“位于同一子网”,就像您将以太网电缆物理插入路由器或“拥有”(托管)LAN 的任何计算机/设备一样。

  • 伪装是一种技术,从本质上说,它构成了 LAN 的真正基础。术语很模糊,有许多术语指的是同一件事。本质上,“NAT”(网络地址转换)、“IP 伪装”和“LAN”(局域网)这些术语都涉及同一套技术。基本思想是,“托管”NAT 的机器称为路由器或者网关,并且此路由器/网关定义了一个私有子网,例如 192.168.1.x 或 192.168.0.x(等等),其他计算机可以连接到该子网。当网关上游通信(到网关本身所在的另一个 NAT,或者到公共互联网本身),它翻译连接到 NAT 的计算机的 IP 地址转换为自己的 IP 地址,本质上来说代表这些计算机往返于 Internet 或上游 NAT。

LAN(NAT或私有子网)可以嵌套,这意味着您可以拥有一长串 NAT。例如,如果您共享互联网连接的每台计算机都使用伪装而不是仅仅创建桥接,那么您可以拥有如下 NAT 结构:

  • 路由器或电缆调制解调器会创建 NAT 1,即 192.168.0.x,并将流量“上行”转发到公共互联网,我们可以称之为 NAT0或最高层 NAT,因为它涵盖了世界上所有的公共 IP 地址
  • MacbookA创建 NAT 2,即 192.168.1.x,并将流量“上行”转发到 NAT1
  • MacbookB创建 NAT 3,即 192.168.2.x,并将流量“上行”转发到 NAT2
  • Windows PCC连接NAT 3,Windows笔记本D连接NAT2

一般情况下,如果没有特定的端口转发配置,入站连接(与监听服务的连接)只能向上NAT 链,而不是向下它。

例如,D位于 NAT 内的计算机(如 Windows 笔记本)可以直接访问 NAT 、 NAT或 NAT (Internet)2内任何计算机上的 HTTP(Web)或 SMB(文件)服务器。但它无法访问 NAT 上的任何内容,因为它对 NAT 不可见或不可路由。2103

由于我不知道究竟如何您的 Internet 连接是共享的,我不知道您实际上是否安装了这么多 NAT。如果一台或多台计算机实际上正在创建而不是NAT,则 NAT 的数量会减少,网络的复杂性也会降低。例如,如果 Macbook A 实际上是将其下面的所有设备桥接到路由器的网络中,则 NAT 结构会“折叠”一层,如下所示:

  • 路由器或电缆调制解调器会创建 NAT 1,即 192.168.0.x,并将流量“上行”转发到公共互联网,我们可以称之为 NAT0或最高层 NAT,因为它涵盖了世界上所有的公共 IP 地址
  • MacbookA是一座桥梁,将流量“上行”转发到 NAT1
  • MacbookB创建 NAT 2,即 192.168.1.x,并将流量“上行”转发到 NAT1
  • Windows PCC连接NAT 2,Windows笔记本D连接NAT1

在这种情况下,Macbook A 的 IP 地址在 192.168.0.x 范围内,Macbook B 的 IP 地址在 192.168.0.x 范围内(并且创造192.168.1.x 范围内的 IP 地址),而 Windows PC 的CIP 地址也将在 192.168.1.x 范围内。这样就少了一个间接层。

因此,正如您所看到的,NAT越多,您的网络就越孤立,并且从一台计算机发起到另一台计算机的连接就越困难。网络上计算机之间对等通信的最明确网络是将它们全部设置在NAT,并且全部跨计算机通信涉及桥接而不是伪装。理想情况下,唯一可以伪装的设备是公共互联网本身之前的最后一台计算机/设备,通常是某种类型的电缆调制解调器、路由器或 DSL 调制解调器。这样可以将所有设备放在同一个 IP 子网上,例如 192.168.0.x,它们可以直接 ping 对方并无缝访问每个盒子上的服务。

如果您感到困惑,这里有一个直观的类比。

你有两个肥皂泡。它们互相碰撞。

如果它是桥接,两个肥皂泡合并成一个更大的肥皂泡。

如果它是伪装,一个肥皂泡被包含在另一个肥皂泡中(就像在纸上画一个圆圈在另一个圆圈内一样)。这个“内部”泡泡具有特殊属性,即可以从泡泡内部发起连接,并发往任何地方外部气泡;但是,连接不能从气泡外部进入气泡内部的某个点。好吧,它们,但这称为端口转发,它需要特定的手动配置,或者使用诸如 UPnP(通常被视为不安全且被禁用)之类的技术。

答案2

通常,使用 Windows 网络共享的计算机共享其访问权限充当简单网关,而所有客户端都具有自动配置,以将所有 IP 数据包路由到此默认网关。您可以使用route add命令行重新创建此自动设置。

网关计算机被强制在提供共享的适配器上的自动配置上使用固定 IP,并运行简单的 DHCP 服务来向“客户端”提供 IP 和 DNS 配置。

更多详细信息请参阅微软对此功能的描述

相关内容