# 交换机

:Switch ,一种网络设备,与网桥的功能相似。

  • OSI 层级:通常工作在数据链路层,称为第二层交换机。
    • 有的交换机添加了路由功能,可以工作在网络层,称为第三层交换机。不过功能不如专业的路由器。

# 功能

  • 交换机的基本功能,与网桥相同,可以对数据帧进行转发、过滤。

    • 具有多个端口,每个端口可以连接一个网络或主机。
    • 从一个端口收到数据包时,会查询路由表,从而决定将该数据包,转发到哪个端口。
    • 自动地建立和维护一个 源 Mac 地址表,又称为交换表。表中记录了各个目标 Mac 地址与端口的对应关系。
  • 交换表的分类:

    • 静态交换表:由用户手动设置。
    • 动态交换表:由交换机自动建立和维护。
  • 转发数据帧时,有几种方式:

    • 存储转发交换方式
      • :先接收整个数据帧,暂存在内存中。然后检查它是否出错。最后转发到目标端口。
      • 这种方式最常使用。
    • 快速交换方式
      • :又称为直接交换方式。对于每个数据帧,还没接收完毕,就同时进行转发。
      • 这样转发延迟低,但不能进行差错控制。
    • 无碎片交换方式
      • :对于每个数据帧,只要收到开头 64 bytes ,就开始转发。
      • 为什么是 64 bytes ?当多个主机同时发送数据帧而产生冲突时,数据帧通常会变得残缺,长度不足 64 bytes 。通过长度,可以快速判断一个数据帧是否为碎片。

# 虚拟局域网

  • 与网桥相比,交换机提供了一个高级功能:划分虚拟局域网(Virtual LAN ,VLAN)。
  • 原理:
    • 多个主机连接到一个交换机时,在物理线路上组成同一个局域网。
    • 用户可以修改交换机的配置参数,在一个物理局域网中,划分多个虚拟局域网。
      • 例如将 0~3 号端口,划分为 1 号 VLAN 。将 4~7 号端口,划分为 2 号 VLAN 。
      • 交换机从 0 号端口收到数据帧时,只能转发到 1 号 VLAN 的其它端口,不能转发到 2 号 VLAN 的端口。
      • 也就是说,不能跨 VLAN 转发数据帧。
    • 可以从多个层面,划分 VLAN :
      • 基于端口号
      • 基于 Mac 地址
      • 基于 IP 地址
      • 基于网络协议的类型
    • 如何才能跨 VLAN 转发数据帧?这个问题相当于,如何才能跨局域网转发数据帧,答案是使用路由器,建立路由表。
  • 优点:
    • 隔离广播风暴:每个 VLAN 是一个独立的广播域。如果一个数据帧的目标 Mac 地址,属于广播地址,则不能 VLAN 传播。
    • 分组管理网络:可以划分多个虚拟网段,供不同用户使用。
  • 缺点:
    • 按照 802.1Q 标准,使用 VLAN 时需要在以太网帧的头部加入 VLAN ID 信息,声明它所属的 VLAN 编号。VLAN ID 的长度为 12 bits ,因此一个交换机最多创建 4092 个 VLAN 。

# VTP

  • 一个大型的物理局域网中,通常包含多个交换机。为了在这些交换机中统一配置 VLAN ,可以使用虚拟局域网中继协议(VLAN Trunk Protocol,VTP)。
  • 原理:
    • 用户需要将多个交换机都开启 VTP 功能,并采用同一个 VTP 域名。
    • 这些交换机之间,会通过 VTP 协议,相互通告 VLAN 的配置信息。

# VXLAN

:虚拟可扩展局域网(Virtual Extensible LAN),云计算机房常用的一种 VLAN 技术。

  • 原理:
    • 将 OSI 2 层的以太网帧,封包在 OSI 4 层的 UDP 报文中,然后将 UDP 报文发送给目标主机。
    • 目标主机收到 UDP 报文之后,解包成以太网帧。
  • 与 VLAN 相比,VXLAN 的优点:
    • 地理位置较远的主机之间,只要能通过 OSI 传输层连通,就可以加入同一个 VLAN 。
    • VLAN ID 的长度为 24 Bits ,可以创建海量的 VLAN 。
  • 缺点:
    • VXLAN 封装报文的过程,比 VLAN 的耗时更久。而且封装信息更多,增加了网络通信的总流量。