局域网交换和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实验报告见文件