了解路由和子网

了解路由和子网

我试图理解子网以及主机如何在它们之间进行通信,但我发现的文章通常只关注计算子网和主机 ID,而不是如何以及为何使用它们。

这是来自文章我发现:

在此处输入图片描述

当地址为 130.103.2.1 的某人向 130.103.2.4 发送电子邮件时,路由器非常聪明,能够看到该消息停留在同一子网中。无需调查通往其他子网或互联网的任何路由。但是,当 130.103.2.1 向 130.103.1.4 发送电子邮件时,路由器会将消息转发到另一个子网。当来自内部网中任何地方的某人向 130.103 内部网之外发送消息时,路由器会将消息转发到互联网。

我理解这里的重点是拥有两个独立的网络从而减少拥塞,但我不明白为什么需要子网掩码。

我的问题是:

  • 如果路由器足够智能,能够看到消息停留在同一个子网中,那么为什么每个主机都知道自己的子网掩码很重要?
  • 在什么情况下,消息会因为子网/网络隔离而无法到达预定目的地?

答案1

如果路由器足够智能,能够看到消息停留在同一个子网中,那么为什么每个主机都知道自己的子网掩码很重要?

简单:处于子网中允许主机进行通信无需路由器。

您找到的文章有些误导,暗示始终使用路由器。实际上通常不是这样:以太网主机实现相同的“子网”逻辑,因此同一子网的流量永远不会达到路由器。(它从主机 A 进入以太网交换机,然后直接退出到主机 B。)

也就是说...是的,你引用的方法(所有主机将所有内容发送到路由器;路由器发送到另一台主机)完全可能的,并且确实在某些情况下被使用 – 由 ISP、数据中心使用,并且通常当直接通信不受欢迎时。

但它有一个明显的缺点,那就是路由器成为子网工作的必需品,而不是仅充当外部网络网关的可选组件。除此之外,它还是另一个故障点。

它还使路由器成为性能瓶颈。当主机连接到以太网交换机的各个端口时,所有通过的流量总和直接地端口之间的距离可能比全部挤过路由器的单个端口并返回时要大得多。

例如:在现代 24 端口 1 Gbps 交换机上,总理论容量为 48 Gbps(全双工)。您可以让主机 A 和 B 访问 NAS 存储,让主机 C/D/E 交换点对点 Windows 更新,让主机 F/G/H 流式传输 Steam 家用游戏,让主机 XXX 在 YouTube 上观看 4K,并且仍然有足够的交换容量剩余。

另一方面,如果单个路由器位于所有设备的中间,则将所有内容都推送到该路由器的端口(并返回!)将导致整个网络总共限制为 1 Gbps。

在什么情况下,消息会因为子网/网络隔离而无法到达预定目的地?

当路由器拒绝转发消息时;例如,它有错误的路由(或根本没有路由),或者它的防火墙规则禁止该消息。通过防火墙规则过滤数据包的能力实际上是使用子网的主要原因之一。

请注意,有时消息可能会到达目的地,但回复不会通过,这是一个重要的区别,因为两个方向的路由或防火墙规则可以完全独立。

答案2

子网掩码对于确定您自己的网络上的内容非常重要。这就是为什么您有网络 ID(可以将其视为公司电话号码)和主机 ID(即您的分机号码),并且您需要第三方来访问另一个网络 ID(公司内部的某个部门,如果您想与公司外部的某人通话,则需要致电该部门)。

如果您注意到您的网络 ID 与您自己的网络 ID 不同,那么您就知道您将无法留在自己的网络中并将流量发送到其他地方/进行路由。每个端点(理论上)都可以成为路由器,这就是为什么每个人都需要实现该机制的原因。

如果没有可用路径,数据包将无法到达目的地。例如,如果您在没有互联网的局域网聚会上,即使您知道 Google 服务器的 IP,您也无法到达它,因为没有通往它的物理路由。一个不太极端的例子是具有三个段且没有默认路由的网络。

A <R1> B <R2> C

除非你设置一条路由,告诉 R1 他可以通过 R2 到达网络 ID 为 C 的主机,否则如果他收到应该发送到网络 C 的包裹,他将不知道该怎么做。

答案3

它被称为子网面具因为它是通过对网络掩码进行按位与运算来识别 IP 地址的网络地址的。

IPv4 子网掩码是一个 32 位数字,用于屏蔽 IP 地址,并将 IP 地址分为网络地址和主机地址。子网掩码由网络位全“1”和主机位全“0”组成。

同一网段内的所有 IPv4 地址按位求交会得出相同的结果。如果求交会得出其他结果,则表示该地址不在该子网内。

子网内的 IP 地址由两部分组成:网络地址和主机地址。子网掩码将 IP 地址划分为子网内的网络地址和主机地址(<network><host>)。

掩码中的“1”位也称为网络前缀,子网 IP 地址通常使用它们的数字来定义,例如 1.2.3.0/24,其中网络掩码暗示有 24 位“1”。

相关内容