跳转到内容

CCNA 认证/交换机

来自维基教科书,开放世界中的开放书籍

局域网交换概念

[编辑 | 编辑源代码]

一种用于连接不同网络类型或相同类型网络的第二层设备。它映射每个网段上驻留的节点的以太网地址,并只允许必要的流量通过网桥。发往同一个网段的数据包会被丢弃。这种“存储转发”机制会在做出决策之前检查整个以太网数据包。不幸的是,它无法过滤广播流量。此外,它在处理帧时引入了 20% 到 30% 的延迟。网桥只能连接两个网络。网桥是交换机中必不可少的设备。

交换机

[编辑 | 编辑源代码]

交换机是第二层设备(*它可以是第三层及以上*),可以连接四个、六个、八个甚至更多网络。交换机是唯一允许微分段的设备。直通式交换机运行速度更快,因为当一个数据包进来时,它会在查看目标地址后立即转发它。存储转发交换机在转发之前会检查整个数据包。大多数交换机无法阻止广播流量。交换机被认为是专用的数据链路设备,因为它们接近 100% 的带宽。虽然网桥的大部分工作都是由软件完成的,但交换机使用 ASIC 硬件来处理大部分工作。交换机可以看作是多端口网桥。

存储转发

[编辑 | 编辑源代码]

在进行任何转发之前,整个帧都会被接收。目标和/或源地址会被读取,并且过滤器会在帧被转发之前应用。在帧被接收时会发生延迟;对于较大的帧来说,延迟更大,因为整个帧需要更长的时间才能读取。错误检测很高,因为交换机在等待整个帧被接收时有时间检查错误。这种方法会丢弃小于 64 字节的帧(短帧)和大于 1518 字节的帧(长帧)。

直通式

[编辑 | 编辑源代码]

交换机在接收整个帧之前会读取目标地址。然后,帧会在整个帧到达之前被转发。这种模式会减少传输的延迟,并且错误检测能力较差。这种方法有两种形式,快速转发和无碎片。

快速转发交换

[编辑 | 编辑源代码]

快速转发交换通过在接收到目标地址后立即转发帧来提供最低级别的延迟。由于快速转发交换不会检查错误,因此有时帧可能会在有错误的情况下被转发。虽然这种情况很少发生,并且目标网络适配器在接收到故障帧时会丢弃它。在冲突率高的网络中,这可能会对可用带宽产生负面影响。

无碎片交换

[编辑 | 编辑源代码]

使用无碎片选项来减少带有错误的转发帧中的冲突数量。在快速转发模式下,延迟是从接收到的第一个比特到发送的第一个比特测量,或者先入先出 (FIFO)。无碎片交换会在转发开始之前过滤掉冲突碎片,这些碎片是大多数数据包错误。在正常工作的网络中,冲突碎片必须小于 64 字节。大于 64 字节的任何内容都是有效数据包,通常可以无错误地接收。无碎片交换会在接收到的帧被确定为非冲突碎片后才转发帧。在无碎片中,延迟被测量为 FIFO。

VLAN 和中继

[编辑 | 编辑源代码]

虚拟局域网,通常称为 vLAN 或 VLAN,是一种在物理网络中创建独立逻辑网络的方法。多个 VLAN 可以共存于这样的网络中。这有助于减少广播域,并通过分离不应使用 LAN 交换数据的 LAN 的逻辑段(如公司部门)来帮助网络管理(它们仍然可以通过 VLAN 间路由交换数据)。

VLAN 由一个计算机网络组成,这些计算机的行为就好像连接在同一条线上一样,即使它们实际上可能连接在 LAN 的不同网段上。网络管理员通过软件而不是硬件配置 VLAN,这使得它们非常灵活。VLAN 最大的优势之一出现在将计算机物理移动到另一个位置时:它可以保留在同一个 VLAN 上,而无需任何硬件重新配置。

VLAN 的优势

[编辑 | 编辑源代码]
  • 增加广播域的数量,但减少每个广播域的大小,这反过来减少了网络流量并提高了网络安全性(在单个大型广播域的情况下,这两种情况都会受到阻碍)。
  • 减少创建子网的管理工作量。
  • 减少硬件需求,因为网络可以逻辑地而不是物理地分离。
  • 增强对多种流量类型的控制。

协议和设计

[编辑 | 编辑源代码]

当前用于配置虚拟局域网的主要协议是 IEEE 802.1Q,它描述了如何在单个物理网络上通过在每个帧或数据包中添加额外的字节来标记数据包属于哪个虚拟网络,从而将流量划分为虚拟局域网。

在 802.1Q 标准推出之前,存在一些专有协议,例如思科的 ISL(交换机间链路,IEEE 802.10 的变体)和 3Com 的 VLT(虚拟局域网中继)。思科不再支持 ISL。

早期的网络设计人员通常配置 VLAN,目的是减小大型单个以太网段中的冲突域大小,从而提高性能。当以太网交换机使这不再成为问题(因为它们没有冲突域)时,人们将注意力转向减小 MAC 层的广播域大小。虚拟网络还可以用于限制对网络资源的访问,而无需考虑网络的物理拓扑,尽管这种方法的有效性仍然存在争议,因为 VLAN 跳跃是绕过此类安全措施的常用方法。

虚拟局域网在 OSI 模型的第二层(数据链路层)工作。但是,管理员通常将 VLAN 配置为直接映射到 IP 网络或子网,这给人的感觉是涉及第三层(网络层)。

在 VLAN 的背景下,术语“中继”表示承载多个 VLAN 的网络链路,这些 VLAN 通过插入其数据包中的标签(或“标记”)来标识。这种中继必须在支持 VLAN 的设备的“标记端口”之间运行,因此它们通常是交换机到交换机或交换机到路由器的链路,而不是到主机的链路。(令人困惑的是,术语“中继”也用于思科称为“通道”的东西:链路聚合或端口中继)。路由器(第三层交换机)充当跨不同 VLAN 的网络流量的骨干。

在思科设备上,VTP(VLAN 中继协议)允许 VLAN 域,这有助于管理任务。VTP 还允许“修剪”,它涉及仅将特定 VLAN 流量定向到具有目标 VLAN 上的端口的交换机。

分配 VLAN 成员资格

[编辑 | 编辑源代码]

正在使用的分配 VLAN 成员资格的四种方法是

  • 基于端口:手动将交换机端口配置为 VLAN 的成员。为了将端口连接到多个 VLAN(例如,跨越多个交换机的 VLAN 链路),端口必须是中继的成员。一个端口上只能设置一个 VLAN 为未标记;交换机会将此 VLAN 的标记添加到接收到的未标记帧中,并从传输的帧中删除此 VLAN 的标记。
  • 基于 MAC:VLAN 成员资格基于工作站的 MAC 地址。交换机有一个表,其中列出了每台机器的 MAC 地址以及它所属的 VLAN。
  • 基于协议:帧中的第三层数据用于确定 VLAN 成员资格。例如,IP 机器可以分类为第一个 VLAN,AppleTalk 机器可以分类为第二个 VLAN。这种方法的主要缺点是它违反了层的独立性,因此,例如,从 IPv4 升级到 IPv6 将导致交换机出现故障。
  • 基于身份验证:可以使用 802.1x 协议根据用户或设备的身份验证凭据将设备自动置于 VLAN 中。

基于端口的 VLAN

[编辑 | 编辑源代码]

基于端口的 VLAN 交换机通过检查接收传输的端口的配置或读取数据帧标记头的部分内容来确定数据帧的成员资格。头中的一个四字节字段用于标识 VLAN。此 VLAN 标识指示帧属于哪个 VLAN。如果帧没有标记头,交换机将检查接收帧的端口的 VLAN 设置。如果交换机已配置为支持基于端口的 VLAN,它将为新帧分配端口的 VLAN 标识。

生成树

[编辑 | 编辑源代码]

生成树网络协议为任何桥接的 LAN 提供无环拓扑。生成树协议,也称为STP,在 IEEE 标准 802.1D 中定义。生成树基于 Radia Perlman 在数字设备公司工作时发明的算法。STP 用于交换网络以防止循环,并已由 IEEE 802.1D 标准化。顾名思义,它在安装人员形成的网状网络中找到一个生成树,无论是有意创建还是无意创建,并禁用该树中不属于该树的链接。STP 有两种不同的标准:IEEE 和 DEC。IEEE 最常见,建议在网络中使用。在同时实施了两种 STP 标准的网络中可能会出现问题。两种标准都可能选举自己的根桥并导致拓扑循环。两种标准处理桥协议数据单元(见下文)的方式也不同。

如果多个开放路径同时处于活动状态,则会出现一些问题。首先,由广播数据包在交换机之间循环引起的广播风暴会减少可用的 CPU 资源和带宽(许多现代网桥可以检测和限制这种影响,尽管它通常仍然会导致连接中断)。其次,交换机使用的传统基于源的定位系统(过滤数据库)将无法正常工作。但是,良好的网络设计应包括备用(冗余)链接,以在一条链接发生故障时提供备用路径。因此,交换网络中需要生成树。

协议操作

[编辑 | 编辑源代码]
  • 选举根桥。
  • 找到到根桥的路径。
  • 确定到根桥的最低成本(以所有遍历端口成本的总和衡量)路径。
  • 禁用所有其他根路径。

选举根桥

[编辑 | 编辑源代码]

每个交换机都有一个唯一的标识符(ID)和一个可配置的优先级编号;这两个编号共同构成桥接标识或 BID。BID 用于根据最低优先级编号选举根桥;如果出现平局,则数值最低的 ID 获胜。因为两个 ID 几乎不可能相同(它们是唯一分配的),所以应该始终成功选举一个交换机作为根桥,优先级/成本排名第二的交换机将作为次级(备份)根桥。使用生成树的网络中的其他交换机会使用相同的算法过程来计算到根桥的最短路径,从而生成无环树拓扑,其中存在多个到根桥的路径。优先级编号通常保留在默认值,但可以重新配置为更低的编号,如果网络管理员希望选举特定的交换机;否则,整个过程将完全自动化。桥接 ID 是桥接优先级编号和交换机 MAC 地址的串联。桥接优先级编号范围从 0 到 65535。管理成本最低的交换机将被选为根桥。

桥协议数据单元(BPDU)

[编辑 | 编辑源代码]

BID 和其他生成树协议信息包含在称为桥协议数据单元 (BPDU) 的特殊数据帧中。BPDU 定期交换(默认情况下每 2 秒交换一次),使交换机能够跟踪网络变化并根据需要激活或禁用端口。当设备首次连接到交换机端口时,它不会立即开始转发数据。相反,它将在处理 BPDU 并确定网络拓扑结构时经历多个状态。当主机连接到交换机时(例如计算机、打印机或服务器),端口将始终进入转发状态,尽管它会在经过监听和学习状态(见下文)大约 30 秒的延迟后进入转发状态。在监听和学习状态中花费的时间由一个称为转发延迟的值决定(默认值为 15 秒,由根桥设置)。但是,如果连接的是另一个交换机,则如果确定端口会导致网络循环,则端口可能会保留在阻塞模式。拓扑变化通知 (TCN) BPDU 用于通知其他交换机端口更改。TCN 由非根交换机注入到网络中,并传播到根。收到 TCN 后,根交换机将在其正常 BPDU 中设置拓扑变化标志。此标志将传播到所有其他交换机,以指示它们快速清除其转发表条目。

STP 交换机端口状态

  • 监听 - 交换机处理 BPDU 并等待可能导致它返回到阻塞状态的新信息。
  • 学习 - 虽然端口尚未转发帧(数据包),但它确实从接收到的帧中学习源地址并将其添加到过滤数据库(交换数据库)中
  • 阻塞 - 会导致交换机循环的端口,不会发送或接收用户数据,但如果使用的其他链接发生故障,并且生成树算法确定端口可以过渡到转发状态,则它可能会进入转发模式。在阻塞状态下,BPDU 数据仍被接收。
  • 转发 - 接收和发送数据的端口,正常运行。STP 仍然监控传入的 BPDU,这些 BPDU 会表明它应该返回到阻塞状态以防止循环。
  • 禁用 - 严格来说不属于 STP,网络管理员可以手动禁用端口

为了防止在将主机连接到交换机和某些拓扑更改期间的延迟,快速生成树协议 (RSTP) 由 IEEE 802.1w 开发并标准化,允许交换机端口在这些情况下快速过渡到转发状态。

演变和扩展

[编辑 | 编辑源代码]

每个 VLAN 的生成树 (PVST)

[编辑 | 编辑源代码]

在存在多个虚拟局域网 (VLAN) 的以太网交换环境中,生成树可以针对每个虚拟局域网进行部署。思科对该技术的名称是*每个 VLAN 的生成树* (PVST 和 PVST+,这是思科交换机使用的默认协议)。PVST 和 PVST+ 协议都是思科专有协议,不能在第三方交换机上使用。PVST 仅与 ISL 协同工作,因为其嵌入式生成树 ID。由于 IEEE 802.1Q] 中继标准的普及以及 PVST 与 802.1Q 的不兼容,思科重新定义了其 PVST 标准并将其称为 PVST+。

快速生成树协议 (RSTP)

[编辑 | 编辑源代码]

1998 年,IEEE 推出了生成树协议的演变版本:快速生成树协议 (RSTP) 或 802.1w。在 2004 版的 802.1D 中,STP 被 RSTP 取代。

RSTP 是生成树协议的演变版本;它是在扩展 IEEE 802.1w 中引入的,并且在拓扑更改后提供更快的生成树收敛。标准 IEEE 802.1D-2004 现在包含 RSTP 并弃用 STP。

RSTP 网桥端口角色

  • - 一个已为生成树拓扑选择的转发端口
  • 指定 - 每个 LAN 段的转发端口
  • 备用 - 到根网桥的备用路径。此路径不同于使用根端口。
  • 备份 - 到一个段的备份/冗余路径,另一个网桥端口已经连接到该段。
  • 禁用 - 严格来说不属于 STP,网络管理员可以手动禁用端口

RSTP 是 STP 的改进版本,因此共享其大多数基本操作特性。但是,有一些显著的区别,如下总结

  • 根交换机故障的检测是在 3 个 hello 时间内完成的,如果默认 hello 时间没有更改,则为 6 秒。
  • 如果端口连接到没有其他网桥连接的 LAN,则可以将其配置为边缘端口。这些边缘端口直接过渡到转发状态。RSTP 继续监视端口以查看 BPDUs,以防连接网桥。RSTP 也可以配置为自动检测边缘端口。一旦网桥检测到 BPDU 传输到边缘端口,该端口就会成为非边缘端口。
  • 与 STP 不同,RSTP 将响应从根网桥方向发送的 BPDU。RSTP 网桥将向其指定端口“提议”其生成树信息。如果另一个 RSTP 网桥收到此信息,确定这是更高级别的根信息,并将所有其他端口设置为丢弃。网桥可能会发送“确认”到第一个网桥,确认其更高级别的生成树信息。第一个网桥在收到此确认后,知道可以快速将该端口过渡到转发状态,绕过传统的侦听/学习状态过渡。这实质上创建了从根网桥开始的级联效应,其中每个指定网桥向其邻居提议,以确定它是否可以快速过渡。这是 RSTP 能够比 STP 实现更快收敛时间的主要因素之一。
  • 如上所述的端口角色详细信息中所讨论的,RSTP 保持有关端口丢弃状态的备份详细信息。如果当前转发端口发生故障或在某个时间间隔内没有在根端口上收到 BPDU,这将避免超时。

多生成树协议 (MSTP)

[编辑 | 编辑源代码]

多生成树协议 (MSTP),最初在 IEEE 802.1s 中定义,后来合并到 IEEE 802.1Q-2003 中,定义了 RSTP 协议的扩展,以进一步提高虚拟局域网 (VLAN) 的实用性。这个“每个 VLAN”的多生成树协议为每个 VLAN 组配置一个单独的生成树,并阻止每个生成树中冗余的链路。

如果网络中只有一个虚拟局域网 (VLAN),则单个(传统)STP 能够正常工作。如果网络包含多个 VLAN,则由单个 STP 配置的逻辑网络能够正常工作,但可以通过为不同的(组)VLAN 使用备用生成树来更好地利用可用的冗余链路。

MSTP 允许形成 MST 区域,这些区域可以运行多个 MST 实例 (MSTI)。多个区域和其他 STP 网桥通过一个单一的公共生成树 (CST) 相互连接。

MSTP 的灵感来自思科系统的多实例生成树协议 (MISTP),是生成树协议和快速生成树协议的演变版本。它在 IEEE 802.1s 中作为 1998 版 802.1Q 的修订版被引入。标准 IEEE 802.1Q-2003 现在包含 MSTP。

与某些专有的每个 VLAN 的生成树实现不同,MSTP 将其所有生成树信息包含在一个单独的 BPDU 格式中。这不仅减少了 LAN 上用于为每个 VLAN 传达生成树信息所需的 BPDU 数量,而且还确保与 RSTP(实际上也与经典 STP)的向后兼容性。MSTP 通过在标准 RSTP BPDU 之后编码附加的区域信息以及多个 MSTI 消息(从 0 到 64 个实例,尽管在实践中许多网桥支持更少)来实现这一点。这些 MSTI 配置消息中的每一个都传达每个实例的生成树信息。每个实例都可以分配多个配置的 VLAN,并且当帧(数据包)分配给这些 VLAN 时,无论何时它们在 MST 区域内,它们都在此生成树实例中运行。为了避免在每个 BPDU 中传达其完整的 VLAN 到生成树映射,网桥在其 MSTP BPDU 中编码其 VLAN 到实例表 MD5 散列。然后,其他 MSTP 网桥使用此散列以及其他管理配置值来确定相邻网桥是否与其位于同一个 MST 区域。

MSTP 与 RSTP 网桥完全兼容,因为 MSTP BPDU 可以被 RSTP 网桥解释为 RSTP BPDU。这不仅允许与 RSTP 网桥兼容而无需进行配置更改,而且还导致任何 MSTP 区域之外的 RSTP 网桥将该区域视为一个单独的 RSTP 网桥,无论区域本身内部有多少个 MSTP 网桥。为了进一步促进将 MST 区域视为单个 RSTP 网桥的这种观点,MSTP 协议使用一个称为剩余跳数的变量作为生存时间计数器,而不是 RSTP 使用的消息年龄计时器。消息年龄时间仅在生成树信息进入 MST 区域时增加一次,因此 RSTP 网桥将该区域视为生成树中的一个“跳数”。连接到 RSTP 或 STP 网桥或端点的 MST 区域边缘的端口被称为边界端口。与 RSTP 一样,可以将这些端口配置为边缘端口,以促进连接到端点时转发状态的快速更改。

参考文献

[编辑 | 编辑源代码]
[编辑 | 编辑源代码]
华夏公益教科书