计算机网络杂记-07

集线器与交换机

使用双绞线和集线器 HUB 的星形以太网

  • 使用集线器的以太网在逻辑上仍然是一个总线网,各站共享总线资源,使用的是 CSMA/CD 协议。

  • 集线器工作在物理层,只是将收到的信号放大后再转发,不具备任何的逻辑功能。

  • 集线器一般拥有少量容错能力以及故障管理能力,但是这些功能都是基于物理层的,而不是基于数据链路层的。

使用集线器 HUB 在物理层扩展以太网。但是,存在以下问题:

  • 以太网的带宽是共享的,当网络中的主机数量增多时,带宽会越来越小。

  • 以太网的冲突域是共享的,当网络中的主机数量增多时,冲突域会越来越大,冲突会越来越多,网络的性能会越来越差。

使用交换机 SWITCH 的以太网

  • 以太网交换机通常有 24 个或 48 个端口,每个端口都是一个独立的冲突域,因此,以太网交换机可以将一个以太网划分成多个冲突域,从而提高网络的性能。

  • 一般工作在全双工模式,因此,可以同时发送和接收数据,不会发生冲突。

  • 一般工作在数据链路层,具有数据链路层的逻辑功能,可以识别以太网帧的 MAC 地址,从而可以根据 MAC 地址转发数据帧。

  • 具有并行性,能同时连通多个端口,因此,可以同时转发多个数据帧。

  • 交换机是一种即插即用的设备,其内部帧交换表是自学习的,不需要管理员配置。

  • 使用两种交换方式:存储转发直通转发

现在,以太网交换机已经成为以太网的主流设备,集线器已经被淘汰。

交换机自学习与转发

交换机是一种即插即用的设备,刚刚启动时,交换机的帧交换表是空的,交换机不知道哪个端口连接哪个主机,也不知道哪个 MAC 地址在哪个端口,因此,交换机需要学习。

流程:

  1. 当交换机收到一个数据帧时,交换机会提取数据帧中的源 MAC 地址,然后将源 MAC 地址和接收到该数据帧的端口号记录在交换机的帧交换表中。

  2. 当交换机收到一个数据帧时,交换机会提取数据帧中的目的 MAC 地址,然后在交换机的帧交换表中查找该目的 MAC 地址对应的端口号。

  3. 如果找到了,交换机就将该数据帧转发到该端口,否则,交换机就将该数据帧转发到所有的端口(广播)。

然而,交换机的帧交换表是会自动删除的,这是因为,当主机断开连接时,交换机就无法再收到该主机发送的数据帧,因此,交换机就无法再学习该主机的 MAC 地址,因此,交换机需要定期删除帧交换表中的记录。

交换机生成树协议 STP

交换机生成树协议 Spanning Tree Protocol,简称 STP,是一种链路层网络协议,用于在有环路以太网中防止广播风暴

添加冗余链路,提高网络的可靠性。但是,添加冗余链路会导致环路,导致以下问题

  • 广播风暴:大量消耗网络资源,导致网络瘫痪。

  • 主机收到重复的广播帧,导致网络性能下降。

  • 交换机的帧交换震荡:交换机的帧交换表中的记录不断变化,导致网络性能下降。

所以,需要一种协议来解决这些问题,这就是 STP。

  • 不论网络中有多少个交换机,STP 都能够自动计算出一棵无环路生成树,从而防止广播风暴。

最终生成的树型拓扑结构要连通整个网络;首次连接交换机或网络物理拓扑结构发生变化时,STP 会重新计算生成树

  • STP 通过端口状态来防止帧交换震荡,从而提高网络性能。

虚拟局域网 VLAN

虚拟局域网 Virtual Local Area Network,简称 VLAN,是一种链路层网络协议,用于在物理上一个局域网分割成多个虚拟局域网,从而实现逻辑上的隔离

巨大的广播域

以太网交换机可以将一个以太网划分成多个冲突域,从而提高网络的性能。但是,以太网交换机不能将一个以太网划分成多个广播域,因此,以太网交换机不能实现逻辑上的隔离。巨大的广播域会导致以下问题:

  • 安全性差:网络中的主机可以通过 ARP 欺骗攻击等方式攻击其他主机。

  • 网络性能差:网络中的主机可以通过大量的广播帧来消耗网络资源,导致网络瘫痪。

  • 网络管理困难:网络管理员无法对网络中的主机进行有效的管理。

网络中会频繁出现广播信息

  • TCP/IP

    • ARP 已知 IP 地址获取 MAC 地址
    • DHCP 动态主机配置协议
    • ICMP 互联网控制报文协议
    • RIP 路由信息协议
  • NetBIOS

    • NetBIOS Name Service
    • NetBIOS Datagram Service
    • NetBIOS Session Service
  • NetBEUI

    • NetBEUI Name Service
    • NetBEUI Datagram Service
    • NetBEUI Session Service
  • IPX/SPX

    • SAP 服务广播协议
    • RIPX 路由信息协议
    • NCP NetWare 核心协议
    • SPX NetWare 传输协议
  • AppleTalk 苹果公司的网络协议

虚拟局域网 VLAN 技术

分割广播域的方法,可以使用路由器隔离广播域,但是路由器成本高,性能差,不适合在局域网中使用。

VLAN 可以将一个以太网划分成多个广播域,从而实现逻辑上的隔离。

VLAN 的实现方法

这需要交换机支持 VLAN 功能,交换机需要支持以下两种功能:

  • IEEE 802.1Q 协议

  • 交换机端口类型

端口类型

  • Access 端口:连接主机的端口,只能属于一个 VLAN。

  • Trunk 端口:连接交换机的端口,可以属于多个 VLAN。

  • Hybrid 端口:连接主机的端口,可以属于多个 VLAN。但是思科交换机不支持该端口类型。

交换机各端口的省缺 VLAN ID

  • 思科交换机:Native VLAN,即本征 VLAN

  • 华为交换机:Port VLAN ID,即端口 VLAN ID, PVID

Access 端口

  • Access 端口只能属于一个 VLAN,因此,Access 端口只能接收属于该 VLAN 的数据帧。

  • Access 端口可以连接主机,也可以连接路由器。

  • Access 端口可以连接另一个交换机,但是,另一个交换机的端口必须是 Trunk 端口。

Trunk 端口

  • Trunk 端口可以属于多个 VLAN,因此,Trunk 端口可以接收多个 VLAN 的数据帧。

  • Trunk 端口只能连接交换机,不能连接主机。

  • Trunk 端口可以连接另一个交换机,但是,另一个交换机的端口必须是 Trunk 端口。

Trunk 端口发送处理方法:

  • 对于等于本征 VLAN ID 的数据帧,交换机会将其发送到本征 VLAN 中。

  • 对于不等于本征 VLAN ID 的数据帧,交换机会将其发送到所有的 VLAN 中。

Trunk 端口接收处理方法:

  • 对于等于本征 VLAN ID 的数据帧,交换机会将其发送到本征 VLAN 中。

  • 对于不等于本征 VLAN ID 的数据帧,交换机会将其丢弃。