为什么需要路由器?

为什么需要路由器?

我一直在想为什么需要路由器。我知道路由器可以用于 DHCP 和其他一些事情,但我只考虑使用静态 IP 进行网络连接。因此以下内容:

是否可以使用静态 IP 执行以下操作:

Modem -> Switch -> PCs

或者你需要去:

Modem -> Router -> Switch -> PCs

那么路由器到底起什么作用以及为什么需要它?

答案1

我认为路由器通常充当接入点、DHCP、防火墙和交换机,对于不太了解网络的人来说,这是一种简单的解决方案

不是,路由器是一种不同于 AP 和交换机的设备。“路由器”不只是一个通用名称 - 它描述了一种特定功能,即在网络之间路由 IP 数据包。

换句话说,您描述的是路由器 + 交换机 + AP 的组合,可能最好称之为“SOHO(小型办公室/家庭办公室)路由器”或“家庭网关”。

(然而,许多专用路由器有一个集成的防火墙,有时甚至有一个 DHCP 服务器。

我想知道为什么通常需要路由器

需要 IP 路由,因为纯以太网级交换不能很好地扩展。

以太网设备地址由制造商分配——其中没有有用的结构;就网络而言,它们是随机的。因此,以太网交换机只有两种选择:保留连接到每个端口的每个设备的列表(就像现代交换机一样),或者简单地将每个数据包广播到每个端口(就像原始以太网一样)。

两种方法都很好用达到一定的网络规模,但如果设备数量超出交换机能够记住的数量,网络很快就会崩溃。(相关主题:CAM 耗尽)

因此,与邮政编码或电话号码类似,IP 为网络提供了结构– 每个网络、子网络、超级网络都分配有一块地址,您可以描述路由,例如“以 [10.7.xx] 开头的地址可以通过 [端口 3] 到达”。现在,世界其他地方不需要知道数百万康卡斯特客户,只需要几条通往康卡斯特本身的路由。

知识产权路由器掌握这些路由的知识,并相应地转发所有数据包。

(以太网和 IP 之间的这种分离实际上很有用,因为它提供了灵活性——同一个以太网可以承载几种不同的协议,例如 IPv4、IPv6、也许还有 IPX……其他一些协议没有这种分离,例如 DECnet 或 NetBIOS,它们无法在网络增长后生存下来。)

是否可以这样:调制解调器 -> 交换机 -> 具有静态 IP 的 PC

当然,从技术上来说这是可行的。甚至不需要静态 IP。

确实,在我工作地点旁边的一家 ISP 处,全市大约有 20 家商业客户实际上没有自己的路由器 - 他们的“外部”交换机直接连接到 ISP 大楼内的单个路由器(该路由器甚至为所有客户提供 DHCP),就像您所描述的那样。

但有理由通常不这样做。(不可否认,其中一些原因是 IPv4 地址的短缺——例如 NAT。但即使在纯 IPv6 世界中,许多原因仍然很重要。)

  • 事实现在,ISP 将向您的网络路由单个“全局”IP 地址。因此,您当然可以将您的 PC 直接连接到调制解调器,并使用您的“全局”地址对其进行配置。(很有可能,它甚至会通过 DHCP 自动配置。)

    事实上,直到 2000 年代末,这都是这里非常常见的配置。大多数家庭客户只有一台计算机,并且该计算机通常会通过调制解调器直接与 ISP 的路由器通信 - 先是使用实际的拨号调制解调器,后来是 ADSL 调制解调器。

    但每个设备都需要自己的地址。由于你只能从 ISP 获取一个 IPv4 地址,因此你可以直接连接一台计算机,但不能连接两台– 除非您为第二个地址支付额外费用。

    这就是为什么您的家用路由器具有“网络地址转换”功能(又名 NAT),它为您提供了一块“私有”192.168.x 地址并将它们隐藏在单个“全局”地址后面。

    (CGNAT 也值得一提,但研究留给读者去研究。)

  • 除了 NAT 之外,你的“路由器”还具有其他功能,例如防火墙、DHCP 服务器、DNS 缓存。是的,这些都是可以由 ISP 的路由器完成,但这将使 ISP 付出相当大的成本,并给所有用户带来不便,却没有任何好处对其中任何一个。

    防火墙必须通过 ISP 提供的接口进行配置,大多数 ISP 仅提供最低限度的选项。(配置自己的路由器时,我拥有完全控制权 - 我可以将防火墙规则应用于不常见的协议;我可以创建多个子网;我可以尝试 IPv6 隧道或 RIP 或 OSPF...)

    防火墙和 NAT 都需要资源来跟踪连接——一些内存、一些 CPU 能力。目前这些资源是分散的,因为你的路由器只需要跟踪你自己的连接。但如果一切都由 ISP 完成,他们的路由器将需要与所有客户的路由器一起,价格昂贵。

    DHCP 服务器在您这边时工作得更好。即使互联网电缆被切断,您自己的设备仍然可以获取 IP 地址并在本地通信。(是的,是的,静态地址是可能的,但相信我,它们是很痛苦保持对...的跟踪。)

    DNS 缓存的工作原理因为它在你的家里。你的 ISP 有自己的 DNS 缓存反正但是您的路由器仍然有自己的小缓存,因为它离您更近,服务的设备更少,因此可以更快地做出响应。(DNS速度慢是非常明显的。)

因此,拥有自己的家用路由器的原因是:1)它更快,2)它更便宜,3)对于您和 ISP 来说都更简单。

(我之前描述的 ISP?我不知道他们为什么这样做。也许当你只有十几个客户时与当你有数千个客户时情况有所不同。)

答案2

家用调制解调器通常只提供一个 IP 地址。路由器会执行 NAPT(网络地址端口转换),允许您在网络上拥有多个私有 IP 地址。

如果您的 ISP 为您提供多个 IP 地址,您可能不需要路由器。

答案3

在家里,你可能只有一条路径可以访问互联网,即通过互联网服务提供商 (ISP) 提供的设备。ISP 需要路由器但是,在它与你连接的另一端,它可以决定你系统中的数据接下来要去哪里。它是需要转到 ISP 的 Web 服务器之一,还是其他客户的系统之一,还是需要转到 Google 或 Microsoft 服务器,或者你的目标 IP 地址是否指向挪威的系统等。ISP 将拥有有多个连接进入的路由器。它可能有一个路由器,其电路连接到欧洲的网络,一个路由器连接到南美的网络,等等。而在这些电路的另一端是其他路由器,它们可能有自己的多个连接。那么你的 ISP 路由器如何知道应该将你的数据转发到哪个路由器?它有一个路由表告诉它哪个其他路由器是下一个“跳跃”,它应该将数据发送到该“跳跃”。它不知道从您的系统到目标地址的所有中间路由器,因为它不知道从您的系统到目标系统的完整路径,只知道哪一个是将数据沿着路径进一步移动到目的地的最佳选择。下一个路由器将查看自己的路由表,以决定应该将数据发送到哪里。可以想象,它可以将您的数据发送到它拥有的几个连接中的任何一个;它将根据“路由度量“。将选择具有最低路由度量的连接。但如果该连接中断或拥塞,它可以根据其路由度量选择下一个最佳连接。您的 ISP 路由器不需要始终与互联网上的所有其他路由器保持通信,它们只需要知道下一个最佳网络是什么”“在收到数据时;它可以依靠下一个路由器做出类似的决定,并依靠路径上的所有其他路由器也这样做。

通过使用路由表来选择下一跳,如果您的数据通常可以通过法国的路由器到达挪威的目的地,即使不再有通过法国的路径,沿途连接到法国路由器的其他路由器也会意识到中断,并通过另一条路径(例如,可能通过德国)重新路由您的数据。互联网是阿帕网;ARPANet 的要求之一是它具有弹性,能够通过绕过故障设备来容忍网络中特定设备的故障。在 ARPANET 时代,当今路由器的前身被称为接口消息处理器 (IMP)

对于家庭网络,可以通过家中的非路由器设备直接连接。如果你在拨号调制解调器,您不会在家里使用路由器。您的计算机将拨入属于 ISP 的设备。一些企业和组织仍然使用综合业务数字网,其运行方式与旧的拨号调制解调器类似,但如果有多个系统需要共享 ISDN 连接,它们可能有一个 ISDN 路由器。

即使在拨号网络是几乎所有家庭用户和小型企业访问互联网的方法的时代,如果家庭用户或小型企业拥有有限数量的电话线,但需要多台计算机访问互联网,那么可用的解决方案是配置一台带有拨号调制解调器的 PC,作为家庭或企业局域网中所有其他计算机的路由器。我记得安装了一个带有 56 Kbs 调制解调器的路由器,为小型企业的几台计算机提供拨号访问互联网的服务。

如今,人们希望能够在家中同时拥有有线和无线连接,这些连接都可以同时连接到 ISP,而且由于 Internet 协议版本 4 (IPv4) 地址有限,大多数家庭用户只能获得一个公共 IP 地址,因此需要一台能够执行网络地址解读一个公共 IP 地址和多个私有 IP 地址他们将使用它们来访问自己的系统。他们希望能够控制谁可以从外部访问他们的内部系统。为此,您需要路由器或防火墙;大多数家用路由器至少都内置了一些有限的防火墙功能。

从技术上讲,ISP 也许可以为您处理该功能,但这种方法对于数千甚至数百万客户来说无法很好地扩展。例如,如果您有自己的路由器,则可以为您的一个系统使用私有 IP 地址 192.168.0.5,ISP 的其他一千个客户也可以这样做。ISP 无需确保在使用私有 IP 地址空间时不同的客户不会选择相同的地址。您家外部的 ISP 设备只需关注 ISP 提供给您的一个 IP 地址。如果您想允许端口 5000 上的入站连接到您的一个系统,您可以自行管理;您不必致电 ISP 的技术支持部门,这会给 ISP 的支持人员带来额外的负担。

答案4

互联网不只是一种协议,而是一系列相互叠加的协议. 这些协议被组织成图层,每个模块处理与网络相关的特定任务。

对于这个问题,有两个层面值得关注:链路层网络层(有时称为网络层,但请注意小写;这与更广泛的互联网不同)。

链路层负责处理直接连接在一起的两台机器之间的信号。Wi-Fi 是一种存在于链路层的协议,以太网也是如此。还有其他协议,但您在家里可能使用其中一种(或者两种都用)。

网络层负责处理两台机器之间的信号不是直接连接在一起,使用一系列机器。它位于一个单独的层中,因此它不必知道或关心如何不同的机器是连接在一起的;链中的机器可以通过以太网、Wi-Fi、光纤通道、PPP 或甚至更奇特的协议连接起来,而它们仍然可以以相同的方式协同工作。

路由器是链路层和网络层之间的桥梁。您的路由器直接连接到您家中的机器(可能使用以太网、Wi-Fi 或两者的混合),也连接到您的 ISP 的机器(可能有很多不同的方式)。但这些机器都没有直接连接 - 它们只是通过路由器间接连接 - 因此路由器构成了您家用机器和更广泛的互联网之间最重要的链接。即使你的路由器不能决定你家里机器的 IP 地址,你仍然需要一种方法来在它们之间建立链接,这就是路由器的作用

相关内容