我对路由器和网关有点困惑。
据我所知,如果客户端需要将数据包发送到不在同一 IP 段的另一个客户端,它会将数据包发送到网关,网关后面通常会由路由器接管。这有点正确吗?
但如果是这样的话,我需要网关做什么?或者网关只是描述默认路由器的一个术语(我知道(或认为)网关也可用于在以太网和光纤之间进行转换)?我是否可以只将一个(或多个)路由器插入网络而不指定网关?
我对路由器和网关有点困惑。
据我所知,如果客户端需要将数据包发送到不在同一 IP 段的另一个客户端,它会将数据包发送到网关,网关后面通常会由路由器接管。这有点正确吗?
但如果是这样的话,我需要网关做什么?或者网关只是描述默认路由器的一个术语(我知道(或认为)网关也可用于在以太网和光纤之间进行转换)?我是否可以只将一个(或多个)路由器插入网络而不指定网关?
它开始是正确的,但 IP 数据包所经过的路径上的所有设备实际上都是同一类型的东西1,并且它们都可以称为“网关”或“路由器”。
也就是说,“网关”指的是与它将数据包传递给的下一个路由器一样的路由器,但重点在于“网关”,它是“此特定发送者的默认网关/路由器”的简称,并且这是术语“网关”仍然普遍使用的地方 - 而设备本身通常被称为“路由器”。
1 [这故意不包括那些对 IP 不可见的设备,例如交换机、网桥或调制解调器,因为 IP 数据包不会与它们交互而是直接穿过它们,因此它们与主题无关。]
在这种情况下,“网关”实际上是路由器的另一个术语,“默认网关”是默认路由中指定的路由器(某些系统称之为“最后的网关”)。
据我所知,ARPANET 最初将每个这样的系统称为“网关”,但在早期改用“路由器”作为主要术语,因为“网关”一词还有许多其他含义 - 在 IP 出现之前,该术语主要与在不同类型网络之间转发的系统相关联(例如,曾经有产品是 IP 和 Novell IPX 网络之间的网关);曾经有邮件网关(例如在 Internet 和 BITNET 之间中继电子邮件);等等。而“路由器”具体是指为数据包选择路由的设备。
这个术语仍然在使用,既有原始意义,也有稍微更普遍的意义;路由器可以是某个网络的网关;路由表中路由的下一跳路由器几乎总是称为网关。
不完全是;这是两个不同的功能,只是恰好捆绑到一个单元中。
将以太网转换为 GPON 的设备通常称为“ONT”或“ONU”(即“光网络终端/单元”),而如果它将铜以太网转换为光纤以太网,那么它就只是一个“媒体转换器”。 (大多数住宅光纤连接都是 GPON,但较大的公司更有可能获得光纤以太网。)
然而,许多 ISP 将 GPON ONT 和 IP 路由器捆绑到单个设备中(对于客户来说,处理单个设备可能比处理两个设备更容易),因此同一个物理盒子恰好同时充当您的 IP“默认网关”和“光纤转换器”,尽管它们仍然是两个独立的任务。
这很像 Wi-Fi 经常与路由器捆绑在一起,从而产生“无线路由器”——但“路由器”部分并不具备无线功能。
一般来说,不是,因为路由器只有在主机知道需要使用它们时才有用。如果主机 A 需要访问网络 B,则需要以某种方式告知它必须通过路由器(网关)AB 或类似的东西发送数据包。但它不一定是您的默认网关 - 它可能是通往该网络的特定路由的网关 - 但如果没有任何主机被设置为将其用作某些东西的网关,它就会什么也不做。
有一个很大的例外:路由器可以实现代理 ARP,允许主机假装远程地址实际上是本地地址 - 主机 A 只需发送 ARP 查询以获取它想要的任何地址,路由器就会代表它进行回答 - 在这种情况下,您确实不需要在所涉及的主机上指定任何网关。 (这是长期以来的常见做法,例如,在“子网掩码”出现之前,子网划分就是这样进行的,但现在很少见。)
路由器是在网络之间进行转发的设备。网关是本地网络内的转发器,允许与其他网络进行通信。
本质上,两者是同一件事,只是视角不同。
如果您将网关理解为将数据传递到其他网络的 IP 地址/接口,将路由器理解为该接口所连接的设备,那么这基本上是正确的。
您需要一个网关来与不属于您的本地子网的主机进行通信。
默认路由的默认网关或默认路由器是您传递没有更好路由的数据的网关。基本主机仅使用默认网关来传递所有非本地流量。更复杂的主机可能会使用具有更具体路由的多个不同网关。
网关后面不仅介质(铜线、光纤、无线、虚拟)、物理层协议(以太网、xDSL、802.11、航空载体等),而且数据链路层(IEEE 802 系列、ATM、FDDI 等)都可能存在巨大差异。它的妙处在于您无需关心,只需关心它是否支持 IP。没有真正的转换,只是更改底层网络。
路由器通常需要某种配置 - 但如果您不连接到更大的网络或全球互联网,则可以使用非常简单的配置。
在以太网中,通常当目标主机不在该主机直接连接的广播域中时就需要它。
更准确地说,当无法通过ARP(或NDP)将(目标) IP 地址“解析”为 MAC 地址时,就需要它。
不再解析目标的 IP 地址,而是解析网关的 IP 地址。然后,流量将由相关交换机“L2 转发”到相应的路由器,并由路由器“L3/IP 转发”到(通常)另一个广播域(或某个非以太网网络)。(为了简单说明“IP 转发”是什么,我想可以说它是主机/路由器为来自另一台主机的流量执行的“IP 路由”。)这些解析由间接路由(即由网关(IP)地址组成的路由)上的“命中”触发。
在典型/正常配置下,“本地子网”是直接路由覆盖的目标块,它不包含(实际)网关 IP 地址,因此会导致目标 IP 本身的 ARP 解析(在以太网的情况下;通过相应的路由接口),并且每个广播域仅使用一个 IP 子网。但是,从技术上讲,您可以为任意目标添加直接路由,或者在广播域中使用多个 IP 子网。(但通常这样做没有意义。)
通常,网关这个词单独用于指路由器的 IP 地址之一——在连接到“我们的”广播域的接口上配置的 IP 地址(例如,从 LAN 主机的角度来看,家用路由器的“LAN IP”是“WAN 端”/ Internet 的“网关”)。因此,我想说,您可以将其视为指路由器“一部分”的词(尤其是当通常的路由器符号看起来像蛋糕时)——“属于”“我们的”广播域的部分,而路由器这个词更常用于指代整个设备/主机。(我敢肯定很多人会说“这不是网关一词的(正统)定义”,我也不是说它是。我想说的是,这似乎经常就是为什么你会“在这里看到路由器,在那里看到网关”,而与此同时,有些人只是交替使用这两个词。)
PS 路由器有多个接口,因此配置了多个 IP 地址。因此,您或多或少可以说路由器“由多个网关组成”,但同时,每个网关(IP 地址)都可用于指代路由器(无论哪个广播域是“上下文”)。
网关和路由器几乎是同一件事......
“网关”这个术语可能更为古老。
而且“网关”这个术语可能更多的是指两个网络之间的路由。因此实际上并没有任何复杂的路由决策,只是如果有东西进入一个端口,那么它要么不会出去(也许它一开始就不应该被发送到那里),要么它会从另一个端口出去。
而有些人认为“路由器”一词可能更适用于涉及两个以上网络的路由。因此,如果数据包从一个端口进入,那么如果它应该进入该端口,那么它将被发往其他端口之一,并根据该端口做出路由决策。
有些人将许多人家中拥有的一些常见设备(“家用路由器”)称为“NAT 路由器”,而路由方面则是“网关”意义上的,即只有两个端口。从技术上讲,人们拥有的大多数此类设备都是带有两个端口的路由器和内部连接到其中一个端口的网络交换机。因此,当您看到所有端口时,它可能看起来有点像一个功能齐全的路由器,但它并不是一个功能齐全的路由器。所以有些人称之为“NAT 路由器”。它具有 NAT 功能和路由器功能,并且内置了网络交换机。
但是一个“昂贵”的路由器/设备(每个人都乐意称之为路由器)可以路由到的不仅仅是两个网络。
相关文档在此处:RFC 1009“互联网网关要求”
https://www.tech-invite.com/y10/tinv-ietf-rfc-1009.html
“在互联网文档中,尤其是在本文档中,网关是 IP 级路由器。”(路由器不一定是 IP,还有其他可能的网络级/ 3 级协议,但 IP 当然非常常见)。
和
“路由器是一种从输入接口接收数据传输单元的交换机”(将路由器称为交换机可能有点问题,因为交换机往往被定义为 2 级设备,而路由器被定义为 3 级设备,但无论如何”)
所以我对这些引述有点异议,但重点是网关就是路由器。(可能存在一些区别,可能与网关是一个较旧的术语有关,并且与网关只有两个端口有关)。
您提到的这个想法是,您的计算机将其发送到“NAT 路由器”,这是一个网关,然后数据包将发送到路由器。这些路由器将是具有多个端口的大型路由器。它们将连接不同的大型网络。
术语“路由器”指的是“执行路由”的功能。
另请注意,文档 RFC 1009“网关要求”
已被 RFC 1812“IP 版本 4 路由器要求”(写于 1995 年)取代
https://www.tech-invite.com/y15/tinv-ietf-rfc-1812.html
它说
“许多较旧的互联网文档将这些设备称为网关,但为了避免与应用程序网关混淆,这个名称最近已不再受欢迎。”
(注意 - “应用程序网关”不是网关或路由器https://en.wikipedia.org/wiki/Application-level_gateway )
显然,“网关”这个术语是一个旧术语,已被“路由器”这个术语取代。(其中包括“网关”这个术语所指的任何内容)。
我注意到,即使在 Windows 11 中,ipconfig 命令(在 RFC 淘汰/建议反对该术语后已近 30 年 - 并且还会超过 30 年!)仍然使用术语“网关”/“默认网关”!
一种思考方式是,因为我没有看到这里提到它,即旧的独立调制解调器/路由器设置。
调制解调器是网络的一部分,它将通常的模拟通信介质转换为数字通信,反之亦然(将数字信号交换为模拟信号)。这是“网关”。网络的一部分主动与 ISP 交换信息以提供 IP 地址。您可以通过这些设备访问互联网,而无需路由器,但一次只能访问一个设备。(调制解调器/简单网关不能关联多个 IP,因为它们的唯一工作是提供实时公共 IP,不建议以这种方式连接到互联网)。
路由器通常是您接下来要连接到调制解调器的设备(事实上,如今一些 ISP 调制解调器会强制连接路由器,以保证安全)。路由器的作用是提供 Wi-Fi 和额外的以太网端口,以及为本地网络提供基本的网络保护。这是通过创建 LAN 网络或某种类型的内部网来实现的。这允许多个“私有”IP 连接到您的“公共”IP。它使用路由器的直接调制解调器访问互联网。如果没有网关,就无法使用路由器,因为路由器所做的只是创建本地网络,并允许公共网络与私有网络相关联。(如果在没有网关的情况下使用,仍将建立 LAN 连接,但任何连接的设备都无法访问互联网,只有 LAN 连接可以正常工作)。
有时您会发现路由器/调制解调器组合盒。它们在一个盒子中执行两项任务。直接连接和与 ISP 通信,同时托管 LAN 专用网络。有些人错误地将它们称为“路由器”或“调制解调器”,而实际上它们两者兼而有之!
简短的回答是肯定的,如果您谈论的是家用路由器,但没有网关,那就意味着您无法超越本地网络,在这种情况下,您可以将路由器用作交换机,但这意味着您只能与本地网段或 LAN 进行通信。
路由器是可以处理 IP 流量(L3)的设备,与只能处理帧和 MAC 地址且没有路由 IP 流量能力的交换机有何不同。
网关与路由器是一样的,我们称路由器为网关,它为进入另一个网络(如互联网)提供一条出路,当您尝试访问不属于您的 LAN 段的 IP 时,其数据包将通过网关路由,网关可能是您的 ISP……数据包将在这里被反复路由,直到找到目的地,检查数据包被路由多少次的方法是使用 tracert 命令,它提供有用信息来了解数据包是如何路由的,在这种情况下,每个 IP 地址都是数据包通过的路由器,它们也称为跳数,因为数据包在每个跳数和另一个跳数之间跳跃。