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 (default:32768)
        • 低位子域(6字节,十六进制表示):交换机被分配的MAC地址
    • 最小的 RPC(Root Path Cost,根网桥路径开销

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

        pic123

    • 最小 BID(Bridge 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实验报告见文件