DSL 网关如何能拥有路由器网络之外的 IP 地址?

DSL 网关如何能拥有路由器网络之外的 IP 地址?

我朋友的 DSL 服务速度很慢(大约 1-2 Mbps),来自 Consolidated。他们给她买了一台 Comtrend 5372 调制解调器/路由器。我登录路由器后看到以下设置:

WAN Interface        pppoe_0_0_35
Link Type            DSL
Link Status          Up
Connection Type      PPPoE
WAN IP address       71.168.xxx.xxx
PPP Username         [email protected]
Default Gateway      10.20.17.1
Primary DNS Server   64.222.xxx.xxx
Secondary DNS Server 64.222.xxx.xxx

我不明白网关怎么会有 10.20.17.1 这样的地址,这是一个私有地址,与路由器本身不在同一网段。这是 DSL 的神奇之处吗?

答案1

首先,网关寻址与 CGNAT 无关。只有路由器的自己的地址(在这种情况下仍然是公开的)会受到影响,但网关IP 地址是私有的并不意味着 CGNAT。

我不明白网关怎么会有 10.20.17.1 这样的地址,这是一个私有地址,与路由器本身不在同一网段。这是 DSL 的神奇之处吗?

多个 IP 网络实际上可以共享一个第 2 层网段,因此地址“不在同一 IP 子网”并不意味着“不在同一网段”。地址可能在子网外但仍在链路上。

因此,尽管你的网关位于不同的 IP 网络上,但它仍然可以位于同一个 L2 网段上(实际上在同一网段上,因为如果不是,您就无法将其用作网关)。

(此外,IP 并不关心地址是否为私有地址。两者之间没有技术差异,并且可以在同一网络上混合使用两种地址。私有地址仅通过 IANA 政策和 ISP 实践才变得特殊。)

但真正的“魔力”在于它没什么关系网关是否在您的子网内。任何网关地址都是可能的,只要操作系统知道如何将其映射到相应的第 2 层地址(例如 MAC 地址),因为最终只有网关的 L2 地址(而不是 IP 地址)才会进入数据包。

因此,在子网外网关的情况下,只需要告诉操作系统忽略子网掩码,并期望地址无论如何都是在链接上(在段上)。

这样做根本不是特定于 DSL 的;尽管它比较普遍;普遍上由于许多 ISP 使用 PPPoE,因此无法使用 DSL – 这是下面的一个完全独立的主题 – 但它适用于任何网络类型,并且您可以在标准以太网上使用相同的配置。

例如,在服务器数据中心(可能在同一网段上有几十个不相交的公共 IP 范围)上,拥有一个子网外网关实际上很常见,而在 IPv6 上则非常常见(其中自动配置始终使用私有的“fe80:…”网关地址)。


还有一件事需要注意:就你的情况而言,没有真正的“段​​”。但这并不是 DSL 特有的 — 这是因为您的连接使用 PPP。

通常,DSL 以“以太网仿真”模式使用,在这种情况下,它就像以太网段一样工作,DSL 部分对 IP 不可见。但许多 ISP 选择不直接通过以太网提供 IP 服务(实际的互联网访问),而是通过 PPP 隧道(在本例中为 PPPoE(以太网上的 PPP))提供 IP 服务。(PPP 本身也不是特定于 DSL 的 - 它可以通过多种传输方式进行。)

使用 PPP,您可以点对点接口,其工作方式与以太网等“广播”接口截然不同。PPP 链路上没有第 2 层寻址(因为无论如何只有一个可能的第 2 层目的地),这意味着没有区别在“在线”或“同一网段”的地址和非在线地址之间。

换句话说,处理 PPP 接口时,子网掩码和路由网关几乎变得无关紧要。(路由的网关用于选择第 2 层目的地,例如以太网目的地 MAC,但在 PPP 中没有这样的东西。)只要数据包通过 PPP 接口发送,它就会到达另一端。

这意味着通过 PPP 的配置过程提供的网关地址在很大程度上只是用来展示的,并且点对点链路中主机和网关地址不匹配的情况并不罕见。事实上,由于 PPP 中没有链路上和链路外的区别,因此即使有根本就没有网关。

答案2

您正在通过 DSL 执行 PPPoE(以太网上的点对点协议)。网关是 PPP 服务器。它始终与您的 PPP 客户端位于相同的 PPP 链路上,这完全符合 PPP 链路的定义。您的 UI 不会显示 WAN PPP 链路的子网掩码,但对于 PPP 链路,子网掩码始终为 255.255.255.255,因为点对点链路始终只有两个主机;PPP 客户端和 PPP 服务器。PPP 客户端在 PPP 链路上传输的任何内容都只能发送到 PPP 服务器,反之亦然。因此,您不需要广播地址、网络地址或子网中其他主机地址的空间,因为它不是多向共享链路,而是点对点链路。

答案3

路由器有两个网络适配器,一个面向外,一个面向内。路由器的作用是充当两者之间的桥梁,将数据包从一个接口传输到另一个接口。

内层是路由器创建的本地网络,其中所有设备都有10.20.17.x, allocated by the router. The router has taken for itself the address of10.20.17.1`形式的地址,它是所有设备通向世界的网关。

71.168.xxx.xxx您的 ISP 已为该路由器分配了ISP 网络上的IP 地址。您的所有设备在外部人员看来都是路由器,因为从外部来看,所有设备的地址都是71.168.xxx.xxx

这是关于其工作原理的简短说明,不涉及任何魔法。

相关内容