交换网络

交换网络

交换网络的由来

直连网络的可扩展性

  • 直连网络本质上是一种广播网络,共享链路,可扩展性很差
    • 结点数量、覆盖范围、性能受限
  • 解决办法
    • 分割网络,引入交换技术
      • 交换,是允许互联链路以形成更大规模网络的机制
    • 广播 \(\to\) 单播,更强的扩展性
      • 通过交换机的互联,扩展结点数量、覆盖范围、性能

交换网络

  • 设计目标
    • 数据只朝向目的节点方向传送 (转发, Forward),引入交换结点
    • 转发规则是网络自己学习生成的,不需要外界参与
  • 交换网络的三个主要部分
    • 数据帧转发
    • 学习结点位置
    • 生成树协议

网桥及数据帧转发

网桥

  • 在数据链路层扩展局域网
    • 解决共享介质的分组转发问题,扩展LAN的物理范围
  • 工作方式
    • 过滤(filtering)
      • 根据帧的目的地址决定一个帧应该转发到某个端口还是丢弃
      • 目的结点处于接收端口所连接的网段,丢弃
    • 转发(forwarding)
      • 根据帧的目的地址决定该将其导向哪个接口,将帧发送出去
    • 基于转发表/转发数据库(FDB)实现
  • 网桥使各网段成为隔离开的碰撞域
    • 连接异质链路
      • 互连不同物理层、不同速率的局域网
    • 消除碰撞、增加网络带宽
      • 单个网段100Mbps,一个网桥能传输100n Mbsp (n为网桥端口数)

数据帧转发

  • 转发表/转发数据库(Forwarding DataBase, FDB)
    • 存储目的MAC地址到(出)端口的映射关系
  • 对每个数据帧,在FDB中查找目的MAC地址对应的端口号
    • 若存在对应端口号,且与接收端口一致,丢弃(避免数据环路)
    • 若存在对应端口号,且不同于接收端口,从该端口将数据转发(单播)
    • 如果FDB中不存在对应条目,将该数据包从所有端口转发 (广播)

学习结点位置

每收一个新的数据帧,记录其源MAC地址和输入端口,将该映射关系写入FDB表

生成树协议

  • 网络中存在冗余链路(提升网络健壮性等)
    • 网络拓扑由树状结构变成图状结构
    • 数据转发过程中,形成环路
  • 解决办法
    • 为网络中每对源目的节点分配唯一确定的一条路径
    • 这些路径构成了一棵树 (生成树,Spanning Tree)
      • 覆盖所有顶点的无环子图

生成树算法

  • 选择一个网桥作生成树的根
    • 如选一个最小序号的网桥
    • 根网桥总在它所有端口上转发分组
  • 其它结点确定根端口
    • 每个网桥计算到根的最短路径,并记下路径经过它的哪个端口,将这个端口作为到根的优先路径
  • 为每个局域网选指派网桥
    • 指派网桥负责向根网桥转发帧(网桥之间通过算法确定)
  • 网桥彼此之间交换配置消息,包括三部分内容
    • 本网桥认定的根网桥的标识符
    • 从本网桥到根网桥的距离,以跳数来衡量
    • 正在发送信息的网桥的标识符

具体逻辑

  1. 初始时,每个网桥都认为自己是根,从每个端口发出配置信息

    • B3 (B3, 0, B3 )

    • B5 (B5, 0, B5 )

  2. 每个网桥收到配置消息时,确定是否优于自己的消息

    • 是,则保留,跳数加1,转发(向消息接收端口以外的其它所有端口)
    • 否则,丢弃
  3. 优于

    • 根的标识符更小
    • 根相同,但有更小的距离 (跳数)
    • 根相同,跳数相同,发送者有更小的标识符

网桥端口状态

  • Forwarding
  • Blocking
    • 由生成树算法阻断它,网中某个网桥有问题时,可以自动打开,重新开始生成树算法
      • 某网桥故障时,下游网桥将不能接收到配置消息,在等待一指定时间后,它们重新宣布自己是根,根据生成树算法选出新的根和指派网桥
  • Disabled
    • 软件上关掉

多接口网桥——以太网交换机

  • 以太网交换机(switch)
    • 1990 年问世,可明显地提高局域网的性能
    • 通常都有十几个接口,实质上是一个多接口的网桥
    • 工作在数据链路层,常称为二层交换机
    • 每个接口都直接与主机相连,并且一般都工作在全双工方式,主机独占带宽
    • 能同时连通许多对的接口,使每一对相互通信的主机都能像独占通信媒体那样,进行无碰撞地传输数据
    • 使用专用的交换结构芯片,其交换速率较高

网桥的局限性

  • 规模不能太大 (一般十几个LAN)
    • 生成树算法是线性扩展的,没有为扩展局域网提供分层结构
    • 网桥转发所有广播帧,容易造成广播风暴(广播在LAN较小时实用)
  • 动态管理网络:限制广播范围、虚拟工作组、数据隔离…..
    • 虚拟局域网 (Virtual Lan, VLAN)

虚拟局域网 (Virtual Lan, VLAN)

  • VLAN 是由一些局域网网段构成的与物理位置无关的逻辑组

    • 这些网段具有某些共同的需求
    • 每一个 VLAN 的帧都有一个明确的标识符,指明发送这个帧的工作站是属于哪一个 VLAN
  • VLAN只是局域网给用户提供的一种服务,而并不是一种新型局域网

  • 在以太网的帧格式中插入VLAN 标记(tag)

    • 一个 4 字节的标识符,指明发送该帧的工作站属于哪一个VLAN
image-20231028143331826

总结

  • 连接方式
    • 集线器 -> 交换机
  • 数据传输方式
    • 广播 -> 单播
  • 链路共享机制
    • 每个(全双工)链路只有两个节点,不需要CSMA/CD
  • 拓扑特征
    • 层次结构树
    • 冗余链路的网络:生成树拓扑