LAN Switching & VLAN

局域网交换和VLAN

1. 交换 (Switching)

1.1. 交换操作

  • 交换机有两个基础功能
    • 基于MAC地址建立和维持交换表 (与网桥表类似)
    • 在接口交换帧发往目的地址
  • 交换操作根据带宽分成两种对称交换和非对称交换

1.2. 对称交换(Symmetric Switching)

  • 对称交换提供相同的带宽给端口间的交换连接 (10/10 Mbps或100/100 Mbps)

  • 当用户试图访问别的网段上的服务器时可能导致瓶颈

    pic112

1.3. 非对称交换(Asymmetric Switching)

  • 非对称交换通过用更高带宽(100 Mbps)的端口连接服务器的网段来减少了服务器上潜在的瓶颈

  • 非对称交换需要交换机内有存储缓冲区 (which is trivial)

    pic113

1.4. 存储缓冲区

  • 存储缓冲区是交换机中的存储区域存有目的地址和传输数据直到数据被交换的正确的输出端口交换机常见的通信方式包括下面两种
    • 基于端口存储缓冲存储缓冲队列
      • 每个端口的包被存成了一个队列
      • 如果是一个繁忙的目标端口可能会因为一个包拖延其它包的传输
    • 存储缓冲区共享共享缓冲区
      • 常见的存储缓冲区是所有端口共享的
      • 允许包在一个端口是接收端RX在另一个端口是发送端TX不需要交换到另一个队列

1.5. 交换方法

交换机常见的交换方法包括存储转发和直通交换

  • 存储转发 (store-and-forward又叫报文交换)

    • 交换机收到整个帧在发送到目的地址前计算末尾CRC
  • 直通交换cut-through又叫切入交换

    • 存储转发会增加延迟使用切入交换方法可以减少延迟
    • 这一交换方式又包括两种
      • 快速转发交换Fast Forward——只检查目标MAC接着立刻转发帧
      • 碎片隔离式Fragment Free——读取开头的64字节来减少转发的错误
    • 下图展示了这 2 + 1 种交换方式的大概区别

    pic114

1.6. 交换机

在OSI协议中的数据链路层网络层和传输层都有相应的交换机同时也存在集成的多层交换机

  • 数据链路层交换机
pic116
  • 网络层交换机
pic117
  • 传输层交换机
pic118
  • 多层交换机
pic119

2. 生成树协议 (The Spanning-Tree Protocal, STP)

以太网生成树协议(IEEE802.1D)可以在提高网络可靠性的同时避免网络环路带来的各种问题发送一个帧全网都能收到

2.1. 桥接环路 (Bridging Loops)

环路在网络中产生的原因有很多通常因为蓄意提供冗余也可能是配置错误由以下两个原因导致的网络环路是灾难性的

  • 广播循环Broadcast Loops
  • 过时的网桥表Bridge-Table Corruption

2.2. 冗余线路产生的环路 (Redundancy Creates Loops)

pic115

2.3. 泛洪机制与第2层桥接环路

泛洪 (广播) 和第2层桥接环路同时发生是可怕的事情因为

  • 以太帧没有TTL域 (Time To Live)

  • 在一个以太帧开始循环后它会一直持续下去直到有人关掉了其中一个交换机或破坏一条连接线路

  • 交换机会触发主机A的网桥表条目 (导致CPU持续高强度被占用)

    pic120

2.4. STP (The Spanning-Tree Protocal) 概览

STP的主要作用是形成一棵无环路的树解决广播风暴问题并实现冗余备份

  • STP——生成树协议

    • 主要功能允许交换机/网桥网络中存在冗余路径却不会从循环效应中引发延迟
    • STP通过计算一个稳定的生成树网络拓扑来避免逻辑环路的产生
    • BPDU (桥接协议数据单元Bridge Protocol Data Unit又叫生成树帧) 用于决定生成树拓扑包括成生成树的选举以及重收敛
  • STP 决策序列——生成树通常使用的4步固定的决策序列来配置最优的 BPDU

    • 最小的 根BID (Bridge Identification网桥识别符)

      • 一个网桥ID (BID): 8字节
        • BID高位子域(2字节十进制表示)网桥优先级
          • 216种可能的值0-65535 (default32768)
        • 低位子域(6字节十六进制表示)交换机被分配的MAC地址
    • 最小的 RPCRoot Path Cost根网桥路径开销

      • 网桥使用开销的概念来评估他们与别的网桥之间的距离

        pic123

    • 最小 BIDBridge Identification

    • 最小PID Port Identification

  • BPDU 的工作原理

    STP建立了一个根节点叫根网桥得到的树源自根网桥在生成树的过程中不属于最短路径树的冗余链接被阻塞在阻塞链接上的接收的数据帧被抛弃最终符合无回路逻辑拓扑形式的交换机发送的消息即为 BPDU

    pic121

  • BPDU 的物理形式

pic122
  • 5种STP状态

    • 通过根据规则配置每个端口来建立状态
    • 然后STP基于传输模式和潜在的循环来修改状态
    • 默认的STP状态命令有
      • 阻塞Blocking——没有帧转发接收BPDU
      • 侦听Listening——没有帧转发侦听数据帧
      • 学习Learning——没有帧转发学习地址
      • 转发Forwarding——有帧转发学习地址
      • 禁用Disabled——没有帧转发不接受BPDU
  • 举例说明生成树协议的具体选举步骤

    • 最初的STP集合

      • 当网络刚开始所有网桥向网络中发送 BPDU 信息
      • 他们立刻在 BPDU 集合上应用决策队列来得出整个网络的生成树
    • 首先选举根网桥来作为网络的中心

      通过寻找有着最低BID的交换机来选择根交换机.

      如果所有交换机使用默认网桥优先级32,768那么选择MAC地址最低的

      • 宣布它自己是根

      • 检查端口收到的所有 BPDU 和即将在那个端口发送的 BPDU

        • 对于每一个收到的BPDU如果比该端口保存的BPDU的值低则旧的值被取代同时BPDU的发送方成为新的根

          pic124

    • 接着选择根端口所有剩余网桥计算根端口的集合

      • 每一个不是根的网桥必须选择一个根端口离根网桥最近的端口且根路径开销是到达根网桥的所有链接开销的累计

        pic125

    • 最后选择指定端口所有剩余网桥计算指定端口的集合

      • 选择指定端口(I)

        • 每个网段有一个指定端口
          • 用作一个网桥/交换机端口在这里收发该网段上的通信
        • 包括给定网段的指定端口的网桥/交换机认为是该网段的指定网桥
        • 所有网桥/交换机会阻塞它们的非指定端口
      • 选择指定端口(II)

        pic126

  • STP示例

    pic127

3. VLAN

3.1. VLAN介绍

  • 现有的共享局域网配置
    • 在传统的局域网中…
      • 用户基于他们接入的集线器物理分组
      • 路由器划分局域网提供广播防火墙
    • VLAN 中…
      • 你可以通过功能部门或使用的应用来将用户逻辑分组
      • 配置由专门软件完成

pic136

  • VLAN 相对于 LAN 的特点

    • 在第数据链路层 & 网络层工作
    • 能解决冲突域广播域带宽等问题
    • 允许网络管理员分配用户
    • 提供更安全的网络
  • VLAN(IEEE 802.1Q)

    • 特征
      • 不被物理交换网段限制的一个逻辑上的网络设备或用户的集合
      • VLAN中的设备和用户可以根据功能部门应用等分组不论他们物理网段地址是什么
      • VLAN构造了一个单独的广播域不受物理网段限制就像一个子网
      • 通过网络管理员使用供应商软件在交换机中设置VLAN
    • 用户分组
      • VLANs可以逻辑地将用户划分到不同的子网广播域
      • 广播帧只在交换机的端口之间交换或有着相同VLAN ID的交换机之间交换
      • 用户可以基于端口号MAC地址使用的协议应用 等通过软件来进行 逻辑分组

3.2. VLAN体系结构

  • 骨干中的VLANs

    • VLAN配置需要支持互联路由和交换机之间的数据骨干传输
    • 骨干是用于内部VLAN通讯的区域
    • 骨干需要有高速链接100Mbps或更大
    • pic137
  • VLAN中路由器的角色

    • 一个路由器提供不同VLAN之间的连接
    • 比如你有VLAN1和VLAN2.
      • 在交换机内不同VLAN上的用户不能相互对话 (VLAN的好处!)
      • 然而如果有路由器那么VLAN1上的用户可以给VLAN2上的用户发邮件
  • VLAN中帧是怎么用的

    • 交换机基于帧里的数据做过滤和转发决策

    • 这里要用两种技术

      • 帧过滤—检查关于每个帧中特定的信息 (MAC地址或第3层协议类型)

        • pic139
      • 帧标记—当帧通过网络骨干被转发的时候在它开头放一个独特的VLAN标识符

        • 帧标记实现过程

          • 当帧通过网络骨干被转发的时候在它开头放一个独特的VLAN标识符
          • 标识符由每个交换机解读和检查
          • 当帧退出网络骨干的时候交换机在帧被发送到目标站点前移除开头的标识符
        • 帧标记在第2层起作用需要很少提前过程或管理

        • pic140

        • IEEE802.1Q

          • IEEE标准插入一个VLAN的标签到头部来标识属于的VLAN (帧标记)
        • ISL(交换机间链路)

          • 思科专属ISL在数据帧前新增一个26字节的头部在尾部增加4字节CRC
        • 名字 封装 标签 媒介
          802.1Q No Yes Ethernet
          ISL Yes No Ethernet

    pic138

3.3. VLAN实现

  • 端口VLANs和广播
    • 实现 VLAN 的方法包括 静态动态 两种
    • 每个交换端口都可以分配一个VLAN这个…
      • 保证没有共享同样VLAN的端口不会共享广播
      • 保证共享同样VLAN的端口会共享广播
  • 静态VLAN管理员分配
    • 好处
      • 安全容易配置和监控
      • 因为控制移动所以在网络中表现好
    • 图例
      • pic141
  • 动态VLAN最初连接在一个没有分配的端口上交换机检查表中的条目并分配
    • 好处
      • 当增加或移除用户的时候管理更少更提前
      • 集中没有被授权的用户的通知
    • 图例
      • pic142
  • 以端口为中心的VLAN
    • 好处
      • 所有在同一个VLAN中的节点都连接到同一个路由器接口
      • 使得管理更容易因为……
        • 用户由路由器接口分配
        • VLANs更容易管理
        • 更加安全
        • 包不会泄露到其它域
    • 图例
      • pic143
  • 访问链路和主干链路
    • 图例
      • pic144
    • 访问链路
      • 访问链路是交换机上的一个链路它只是一个VLAN的成员
      • 这个VLAN被认为是端口的本地native VLAN
        • 任何连接到这个端口的设备完全不知道存在这个VLAN
    • 主干链路
      • 一个主干链路有能力支持多种VLANs.
      • 主干链路用于连接交换机到其它交换机或者路由器上
      • 交换机在高速以太网和Gigabit以太网端口上支持主干链路
      • 访问和主干链路也存在
      • 主干是一个点对点链路支持几种VLAN
      • 当在两个实现VLAN的设备之间构造链路的时候主干用于保存端口
        • pic145
      • 主干链路不属于一个特定的VLAN.
        • 像路由器和交换机之间的VLANs导管
      • 主干链路可以配置为运输所有VLAN或运输有限个VLAN
      • 然而主干链路可能有一个本地native VLAN
        • 主干的本地VLAN是如果主干链路因某些原因失效这时主干使用的VLAN
  • 交换机29xx配置
    • 当在思科29xx交换机上配置的时候必须根据下列指导
      • VLANs的最大个数取决于交换机
      • VLAN 1是工厂默认VLAN之一
      • VLAN 1 是默认的以太网VLAN.
      • 思科发现协议(CDP)和虚拟局域网主干协议(VTP) 广告发在VLAN 1上.
      • 默认Catalyst 29xx IP地址在VLAN 1广播域

3.4. VLANs之间的路由

  • pic146

  • pic147

  • 子接口

    • pic148
  • VLAN实验报告见文件