局域网中的路由器与交换机

局域网中的路由器与交换机

如果我有一个 LAN 并将其与交换机连接,我知道它使用 CAM 表在第 2 层路由数据包(通过保存 mac 到端口的关系)。到目前为止一切正常。

但是,当将路由器用于 LAN(仅用于 LAN,而不是将其连接到“外部”WAN/互联网/等)时,我对它内部如何处理数据包感到有些困惑。我首先将其分为两个路由器场景:

带内置交换机的路由器

在这种情况下,我期望它完全充当内部带有 CAM 表的交换机。与下一个选项相比,这可能在速度上略有优势(猜猜?)。

无内置交换机的路由器

这就是我感到困惑的地方。如果主机 A 想要向主机 B 发送数据包,它将通过 ARP 查找主机 B 的 MAC 地址并将其发送到那里。现在,如果我们有一个交换机(上述场景),这将很容易。但是现在在没有交换机的路由器中它是如何工作的呢?

如果我猜的话,主机 A 会将带有主机 B 的 MAC 地址的以太网帧发送到线路。路由器会获取数据包(即使路由器有另一个 MAC 地址,它仍会获取此数据包,即使它只包含主机 B 的 MAC 地址)。它会剥离以太网帧头并检查 IP,然后再次检查其自己的内部 ARP 表以查找 MAC 地址。

现在,与内置交换机的路由器相比,这似乎是资源浪费。但也许它根本不是这样工作的。它还包含 CAM 表吗?如果是真的,那么这两个路由器之间的区别到底是什么?

答案1

  1. LAN 不是物理实体。LAN 是一种通过将 2 个或多个网络主机连接到公共网络基础设施而创建的逻辑结构,允许这些主机跨所述网络基础设施相互通信。

  2. 交换机不路由网络流量,而是转发(或交换)网络流量。路由意味着第 3 层。交换机在执行交换功能时仅在第 2 层运行,不路由流量。当第 3 层交换机执行路由功能时,它充当路由器,而不是交换机。当您谈论第 2 层操作时,您将其称为交换或转发,而当您谈论第 3 层功能时,您将其称为路由。第 3 层交换机可以同时执行这两项操作,但必须区分交换功能和路由功能,因为它们发生在 OSI/DOD 模型的不同层(分别是交换和路由)。

  3. 在您的“无交换机路由器”场景中:假设路由器有两个或更多接口,并且主机 A 和主机 B 分别连接到不同的接口,则路由器会将流量从主机 A 路由到主机 B。路由器不会像交换机那样交换/转发流量(暂时忽略有关路由器桥接的任何讨论)。这意味着主机 A 会为其默认网关(即路由器)执行 ARP,然后将流量发送到那里。然后路由器为主机 B 执行 ARP,然后将流量从一个接口(连接到主机 A 的接口)路由到另一个接口(连接到主机 B 的接口)。然后主机 B 为其 DG(路由器)执行 ARP,并将返回流量发送到那里。由于路由器在第 3 层运行,因此它具有 ARP 缓存,但没有 CAM 表。它不会跟踪哪些 MAC 地址连接到哪些端口(MAC 地址到端口映射),因为它不会在第 2 层交换/转发流量。它维护 ARP 缓存(IP 地址到 MAC 地址映射),因为它在第 3 层路由流量。

  4. 带有内置交换机的路由器可同时执行第 2 层交换和第 3 层路由。在进行交换时,它会根据其 CAM 表将流量从一个端口转发到另一个端口。在进行路由时,它会根据其路由表将流量从一个网络路由到另一个网络。

相关内容