局域网交换和VLAN
1. 交换 (Switching)
1.1. 交换操作
- 交换机有两个基础功能:
- 基于MAC地址,建立和维持交换表 (与网桥表类似)
- 在接口交换帧,发往目的地址
 
- 交换操作根据带宽分成两种:对称交换和非对称交换
1.2. 对称交换(Symmetric Switching)
- 
对称交换提供相同的带宽给端口间的交换连接 (10/10 Mbps或100/100 Mbps) 
- 
当用户试图访问别的网段上的服务器时,可能导致瓶颈  
1.3. 非对称交换(Asymmetric Switching)
- 
非对称交换通过用更高带宽(100 Mbps)的端口连接服务器的网段,来减少了服务器上潜在的瓶颈 
- 
非对称交换需要交换机内有存储缓冲区 (which is trivial)  
1.4. 存储缓冲区
- 存储缓冲区是交换机中的存储区域,存有目的地址和传输数据,直到数据被交换的正确的输出端口。交换机常见的通信方式包括下面两种:
- 基于端口存储缓冲(存储缓冲队列)
- 每个端口的包被存成了一个队列
- 如果是一个繁忙的目标端口,可能会因为一个包拖延其它包的传输
 
- 存储缓冲区共享(共享缓冲区)
- 常见的存储缓冲区是所有端口共享的
- 允许包在一个端口是接收端RX,在另一个端口是发送端TX,不需要交换到另一个队列
 
 
- 基于端口存储缓冲(存储缓冲队列)
1.5. 交换方法
交换机常见的交换方法包括存储转发和直通交换
- 
存储转发 (store-and-forward,又叫报文交换) - 交换机收到整个帧,在发送到目的地址前,计算末尾CRC
 
- 
直通交换(cut-through,又叫切入交换) - 存储转发会增加延迟,使用切入交换方法可以减少延迟
- 这一交换方式又包括两种:
- 快速转发交换(Fast Forward)——只检查目标MAC,接着立刻转发帧
- 碎片隔离式(Fragment Free)——读取开头的64字节来减少转发的错误
 
- 下图展示了这 2 + 1 种交换方式的大概区别
  
1.6. 交换机
在OSI协议中的数据链路层,网络层和传输层都有相应的交换机;同时,也存在集成的多层交换机
- 数据链路层交换机
 
- 网络层交换机
 
- 传输层交换机
 
- 多层交换机
 
2. 生成树协议 (The Spanning-Tree Protocal, STP)
以太网的生成树协议(IEEE802.1D)可以在提高网络可靠性的同时避免网络环路带来的各种问题(如:发送一个帧,全网都能收到)
2.1. 桥接环路 (Bridging Loops)
环路在网络中产生的原因有很多。通常因为蓄意提供冗余,也可能是配置错误。由以下两个原因导致的网络环路是灾难性的:
- 广播循环(Broadcast Loops)
- 过时的网桥表(Bridge-Table Corruption)
2.2. 冗余线路产生的环路 (Redundancy Creates Loops)

2.3. 泛洪机制与第2层桥接环路
泛洪 (广播) 和第2层桥接环路同时发生是可怕的事情,因为:
- 
在一个以太帧开始循环后,它会一直持续下去,直到有人关掉了其中一个交换机或破坏一条连接线路 
- 
交换机会触发主机A的网桥表条目 (导致CPU持续高强度被占用)  
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地址
 
- BID高位子域(2字节,十进制表示):网桥优先级
 
- 一个网桥ID (BID): 8字节
- 
最小的 RPC(Root Path Cost,根网桥路径开销) - 
网桥使用开销的概念来评估他们与别的网桥之间的距离  
 
- 
- 
最小 BID(Bridge Identification) 
- 
最小PID (Port Identification) 
 
- 
- 
BPDU 的工作原理 STP建立了一个根节点,叫根网桥,得到的树源自根网桥。在生成树的过程中,不属于最短路径树的冗余链接被阻塞,在阻塞链接上的接收的数据帧被抛弃。最终,符合无回路逻辑拓扑形式的交换机发送的消息即为 BPDU  
- 
BPDU 的物理形式 
 
- 
5种STP状态 - 通过根据规则配置每个端口,来建立状态
- 然后STP基于传输模式和潜在的循环,来修改状态
- 默认的STP状态命令有:
- 阻塞Blocking——没有帧转发,接收BPDU
- 侦听Listening——没有帧转发,侦听数据帧
- 学习Learning——没有帧转发,学习地址
- 转发Forwarding——有帧转发,学习地址
- 禁用Disabled——没有帧转发,不接受BPDU
 
 
- 
举例说明生成树协议的具体选举步骤 - 
最初的STP集合 - 当网络刚开始,所有网桥向网络中发送 BPDU 信息
- 他们立刻在 BPDU 集合上应用决策队列,来得出整个网络的生成树
 
- 
首先选举根网桥来作为网络的中心 通过寻找有着最低BID的交换机,来选择根交换机. 如果所有交换机使用默认网桥优先级32,768,那么选择MAC地址最低的 - 
宣布它自己是根 
- 
检查端口收到的所有 BPDU 和即将在那个端口发送的 BPDU - 
对于每一个收到的BPDU,如果比该端口保存的BPDU的值低:则旧的值被取代,同时BPDU的发送方成为新的根   
 
- 
 
- 
- 
接着选择根端口:所有剩余网桥计算根端口的集合 - 
每一个不是根的网桥必须选择一个根端口(离根网桥最近的端口,且根路径开销是到达根网桥的所有链接开销的累计)   
 
- 
- 
最后选择指定端口:所有剩余网桥计算指定端口的集合 - 
选择指定端口(I) - 每个网段有一个指定端口
- 用作一个网桥/交换机端口,在这里收发该网段上的通信
 
- 包括给定网段的指定端口的网桥/交换机,认为是该网段的指定网桥
- 所有网桥/交换机会阻塞它们的非指定端口
 
- 每个网段有一个指定端口
- 
选择指定端口(II)  
 
- 
 
- 
- 
STP示例  
3. VLAN
3.1. VLAN介绍
- 现有的共享局域网配置
- 在传统的局域网中…
- 用户基于他们接入的集线器物理分组
- 路由器划分局域网,提供广播防火墙
 
- 在 VLAN 中…
- 你可以通过功能、部门或使用的应用来将用户逻辑分组
- 配置由专门软件完成
 
 
- 在传统的局域网中…

- 
VLAN 相对于 LAN 的特点 - 在第数据链路层 & 网络层工作
- 能解决冲突域,广播域,带宽等问题
- 允许网络管理员分配用户
- 提供更安全的网络
 
- 
VLAN(IEEE 802.1Q) - 特征
- 不被物理交换网段限制的,一个逻辑上的网络设备或用户的集合
- VLAN中的设备和用户可以根据功能、部门、应用等分组,不论他们物理网段地址是什么
- VLAN构造了一个单独的广播域,不受物理网段限制,就像一个子网
- 通过网络管理员使用供应商软件,在交换机中设置VLAN
 
- 用户分组
- VLANs可以逻辑地将用户划分到不同的子网(广播域)
- 广播帧只在交换机的端口之间交换,或有着相同VLAN ID的交换机之间交换
- 用户可以基于端口号,MAC地址,使用的协议,应用 等通过软件来进行 逻辑分组
 
 
- 特征
3.2. VLAN体系结构
- 
骨干中的VLANs - VLAN配置需要支持互联路由和交换机之间的数据骨干传输
- 骨干是用于内部VLAN通讯的区域
- 骨干需要有高速链接,100Mbps或更大
 
 
- 
VLAN中路由器的角色 - 一个路由器提供不同VLAN之间的连接
- 比如你有VLAN1和VLAN2.
- 在交换机内,不同VLAN上的用户不能相互对话 (VLAN的好处!)
- 然而,如果有路由器,那么VLAN1上的用户可以给VLAN2上的用户发邮件
 
 
- 
VLAN中帧是怎么用的 - 
交换机基于帧里的数据,做过滤和转发决策 
- 
这里要用两种技术 - 
帧过滤—检查关于每个帧中特定的信息 (MAC地址或第3层协议类型) 
- 
帧标记—当帧通过网络骨干被转发的时候,在它开头放一个独特的VLAN标识符 - 
帧标记实现过程: - 当帧通过网络骨干被转发的时候,在它开头放一个独特的VLAN标识符
- 标识符由每个交换机解读和检查
- 当帧退出网络骨干的时候,交换机在帧被发送到目标站点前,移除开头的标识符
 
- 
帧标记在第2层起作用,需要很少提前过程或管理 
- 
 
- 
IEEE802.1Q - IEEE标准,插入一个VLAN的标签到头部,来标识属于的VLAN (帧标记)。
 
- 
ISL(交换机间链路) - 思科专属。ISL在数据帧前新增一个26字节的头部,在尾部增加4字节CRC
 
- 
名字 封装 标签 媒介 802.1Q No Yes Ethernet ISL Yes No Ethernet 
 
- 
 
- 
  
- 
3.3. VLAN实现
- 端口,VLANs和广播
- 实现 VLAN 的方法包括 静态 和 动态 两种
- 每个交换端口都可以分配一个VLAN这个…
- 保证没有共享同样VLAN的端口,不会共享广播
- 保证共享同样VLAN的端口,会共享广播
 
 
- 静态VLAN:管理员分配
- 好处
- 安全,容易配置和监控
- 因为控制移动,所以在网络中表现好
 
- 图例
 
- 好处
- 动态VLAN:最初连接在一个没有分配的端口上,交换机检查表中的条目并分配
- 好处
- 当增加或移除用户的时候,管理更少(更提前)
- 集中没有被授权的用户的通知
 
- 图例
 
- 好处
- 以端口为中心的VLAN
- 好处
- 所有在同一个VLAN中的节点都连接到同一个路由器接口
- 使得管理更容易,因为……
- 用户由路由器接口分配
- VLANs更容易管理
- 更加安全
- 包不会泄露到其它域
 
 
- 图例
 
- 好处
- 访问链路和主干链路
- 图例
- 访问链路
- 访问链路是交换机上的一个链路,它只是一个VLAN的成员
- 这个VLAN被认为是端口的本地native VLAN
- 任何连接到这个端口的设备完全不知道存在这个VLAN
 
 
- 主干链路
- 一个主干链路有能力支持多种VLANs.
- 主干链路用于连接交换机到其它交换机或者路由器上
- 交换机在高速以太网和Gigabit以太网端口上,支持主干链路
- 访问和主干链路也存在
- 主干是一个点对点链路,支持几种VLAN
- 当在两个实现VLAN的设备之间构造链路的时候,主干用于保存端口
- 主干链路不属于一个特定的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广播域
 
 
- 当在思科29xx交换机上配置的时候,必须根据下列指导:
3.4. VLANs之间的路由
- 
 
- 
 
- 
子接口 
- 
VLAN实验报告见文件 






