路由器与交换机

Rya*_*ela 5 router switch

我知道路由器和交换机之间的区别,但我的理解中有一些模糊的地方。

  1. 当您将一台交换机上行连接到另一台时,它们是否共享 mac 地址表?或者这是供应商特定的功能?如果他们不共享,他们如何处理发往他们不直接控制的 mac 的数据包?

  2. 仅使用交换网络可以有效处理的最大 IP 地址空间是多少,您应该在什么时候考虑将网络分成由路由器连接的多个网段?

  3. 哪个在架构上更合理:一个核心路由器将许多子网连接到 Internet 还是一个路由器层次结构(每个部门一个上行到核心)?或者,最好给每个部门一个路由器,然后将它们组合成一个迷你互联网?

Mur*_*iar 12

关于将一台交换机上行连接到另一台交换机:不,它们不共享 MAC 地址表。每个交换机都维护自己的桥接表,该表是通过侦听每个交换机在给定端口上接收到的流量来构建的。考虑以下示例(为糟糕的 ASCII 艺术道歉):

________     1________2      2________1     ________
|Host A|-----|Switch 1|------|Switch 2|-----|Host B|
--------     ----------      ----------     --------
Run Code Online (Sandbox Code Playgroud)

主机A被连接到交换机1端口1主机B被连接到交换机2端口1。两台交换机通过端口 2互连。

假设开始时两个交换机的桥接表都是空的。主机 A想要向主机 B发送帧。(为简化起见,我们假设主机 A 和主机 B 具有彼此的静态 ARP 条目,因此无需为 MAC 地址进行 ARP)。

  1. 主机 A主机 B发送帧。该帧的源 MAC 为AA:AA:AA:AA:AA:AA,目的 MAC 为BB:BB:BB:BB:BB:BB
  2. 交换机 1当前有一个空的桥接表。收到框架后,它会做两件事:
    1. 它在其桥接表中创建一个新条目,即AA:AA:AA:AA:AA:AA存在于端口 1 上
    2. 由于它不知道BB:BB:BB:BB:BB:BB在哪里,它会将帧泛洪到每个端口,除了最初从它听到的端口(端口 1)。
  3. 交换机 2 在其端口 2上接收泛洪帧。同样,由于它的桥接表最初是空的,它遵循相同的过程:
    1. 新条目:AA:AA:AA:AA:AA:AA存在于端口 2(回想一下这是在交换机 2 上,它具有独立于交换机 1 的桥接表)
    2. 帧从所有端口溢出,除了接收它的端口。

此时,主机 B接收到帧。当主机 B发送响应时,会发生以下情况。

  1. 主机B发送一个帧到主机A。该帧的源 MAC 为BB:BB:BB:BB:BB:BB,目的 MAC 为AA:AA:AA:AA:AA:AA
  2. 交换机 2 当前在其桥接表中有一项(AA:AA:AA:AA:AA:AA -> Port 2)。收到框架后,它会做两件事:
    1. 它在其桥接表中创建一个条目,表明BB:BB:BB:BB:BB:BB存在于端口 1 之外
    2. 由于它具有目标 MAC 的特定桥接表条目 ( AA:AA:AA:AA:AA:AA ),因此它仅将帧从端口 2转发出去,而不是像以前那样进行泛洪。
  3. 交换机 1 在其端口 2上接收转发的帧。同样,它遵循相同的过程:
    1. 新条目:BB:BB:BB:BB:BB:BB存在于端口 2 之外
    2. 有一个特定的桥接表条目(AA:AA:AA:AA:AA:AA -> port 1),因此帧仅从该端口转发出去。

在学习 MAC 地址方面,无论交换机的数量和连接到它们的设备数量如何,都遵循相同的过程。随着您向交换网络(VLAN、生成树)添加更多复杂性,更多微妙之处开始发挥作用,但基本算法保持不变。

关于你的第二和第三个问题:

2)我个人的偏见是尽可能减少切换。生成树是许多职业生涯的祸根;此外,以太网没有环路保护;一个小的错误配置可能会导致广播风暴,需要您手动干预和关闭链接以使它们消退。即使你的网络很小,也至少要有一个路由器,你所有的第 2 层子网都挂了;在我看来这更容易。

3) 这在很大程度上取决于您的网络规模,以及您希望看到的 Intranet 与 Internet 流量。如果部门之间会有很多通信,那么拥有一个路由器层次结构可能是有意义的,这样纯内部流量就不会影响其他人的互联网访问。另一方面,如果您希望每个人都只能访问一组通用的服务(AD、电子邮件)和互联网,那么单个核心路由器(或一对,用于冗余)可能就足够了。

在给每个部门一个路由器并将它们连接起来方面,如何管理这个网络?如果将有一个 IT 管理机构,那么只需构建一个分层网络;让共享路由器为用户提供服务不会有问题。如果每个部门要维护自己的 IT 人员,那么每个部门可能需要一个路由器和内部对等互连,但这很可能会使您的网络设计复杂化。