# Lecture9- 局域网交换与 VLAN
# 交换机
# 交换机基本功能
- 根据 MAC 地址建立和维护交换表 (类似于网桥表)
- 将帧切换出接口到目标
# 对称交换
- 对称交换可在具有相同带宽 (10/10 Mbps 或 100/100 Mbps) 的端口之间提供交换连接
- 用户尝试访问其他网段上的服务器时,可能会导致瓶颈 (对称交换可能会导致带宽不足)
# 不对称交换
- 通过将带有服务器的网段连接到更高带宽的端口 (100 Mbps),非对称交换 (asymmetric switching) 减少了服务器上潜在瓶颈的可能性
- 非对称交换需要在交换器中进行内存缓冲
- 非对称交换端口解决对称交换端口中的对称阻塞问题 (进一步保证了服务器的稳定实现)
# 内存缓存
- 交换机中存储目标和传输数据的内存区域,直到可以将其切换出正确的端口为止。
- 基于端口 (Port) 的内存缓冲
- 数据包存储在每个端口的队列中
- 由于目标端口繁忙,一个数据包可能会延迟其他数据包的传输
- 其他端口存在不均衡的问题。
- 共享 (Shared) 内存缓冲
- 所有端口共享的公用内存缓冲
- 允许将数据包在一个端口上接收并在另一个端口上发送出去,而无需将其更改为其他队列。
- 需要自己记录端口的信息
- 基于端口 (Port) 的内存缓冲
- 发生阻塞的时候,根据情况按照端口或者内存将包缓存下来
# 交换方式
储存转发 (Store-and-Forward,网桥、路由器等通过软件的设备)
- 交换机接收整个帧,最后将其计算为 CRC,然后再将其发送到目的地
- 接收后,校验,正确再发送
Cut-through 直通
- 转发会增加延迟:通过使用直通切换方法可以减少它
- 快速转发切换:仅在立即转发帧之前检查目标 MAC (只看到帧的目的地址就转发)
- 碎片释放:读取前 64 个字节去减少碰撞和帧碎片,在转发帧之前
三种查看方式
# 第二层交换机
- 大规模集成电路,保证链路效率,低时延,低成本
- 有一个 MAC 地址
# 第三层交换机
基于硬件的帧转发机制,较高的帧转发性能,低时延
较高速的计算
每一个端口的代价低
流控制
安全性更高
对数据流进行路由,生成 MAC 和 IP 的映射,直接经过第二层(?,智能性较差
# 第四层交换机
# 多层交换机协议
# STP the Spanning-Tree Protocol 生成树协议
# 桥回路
- 出于各种原因,网络中可能会出现环路。
- 通常,网络中的环路是故意提供冗余的结果。
- 也可能由于配置错误而发生:在桥接网络中,环路可能是绝对灾难性的两个主要原因:
- 广播回路 (广播风暴),没有 TTL
- 路由表的错误
# 冗余造成了路由回路
# 第二层路由回路
- 广播和第 2 层回路可能是危险的组合。
- 以太网帧没有 TTL 字段
- 以太网帧开始循环后,它可能会继续下去,直到有人关闭其中一台交换机或断开链路为止 (外部条件)
- 交换机将抖动 (flip flop) 主机 A 的桥接表条目 (创建极高的 CPU 利用率)。
- 消耗 CPU 和内存
# 泛洪单播帧
- 过一段时间 CAT-1 和 CAT-2 没有收到 Host-B 的信息,删除表中的对应记录
- 在这之后,Host A 发送给 Host B 信息,然后在 CAT-1 和 CAT-2 之间进行循环
# 生成树概述
- 生成树协议的元素
- 主要功能:在交换 / 桥接网络中允许冗余路径,而不会因环路的影响而引起延迟。
- STP 通过计算稳定的生成树网络拓扑来防止环路
- 生成树帧 (称为桥协议数据单元 - BPDU) 用于确定生成树拓扑
- 在正常情况下禁用一些端口来防止出现冗余
# 决策顺序
生成树始终使用相同的四步决策序列:
- 在拓扑里面最低的 root BID (网桥标识)【找到 root 路由器】
- 找到 Root bridgh 的最低路径成本
- 每个路径都会选择一个最低 BID 的 sender 这个是针对一个链路的,详见例子
- 每个路径再指定一个最低的 ID 端口
# BPDU Bridge Protocol Data Unit
STP 建立一个称为根网桥的根节点
生成的树源自根桥。
不属于最短路径树的冗余连接将被阻止。(block 端口,不转发,但是接收)(只会有一条路最短)
在阻塞的链接上收到的数据帧将被丢弃。
交换机发送的允许形成无环逻辑拓扑的消息是 BPDU
# stp bpdu
# Bridge Identification/BID
- 网桥 ID (BID):8 个字节 (2 + 6)
- 高阶 BID 子字段 (2 个字节):网桥优先级
- 216 个可能的值:0-65,535 (默认值:32,768)
- 通常以十进制格式表示
- 低阶子字段 (6 个字节):分配给交换机的 MAC 地址,以十六进制格式表示
- 高阶 BID 子字段 (2 个字节):网桥优先级
- STP 成本值:成本越低越好。
# 选举根路由器
- 交换机通过查找具有最低 BID 的交换机 (通常称为根战争) 来选择单个根交换机。
- 如果所有交换机都使用默认的网桥优先级 32768,则最低的 MAC 地址将作为平局。
- 配置优先级来调整根桥
# 路径代价 cost
# 5 个 STP 的状态
- 通过根据策略配置每个端口来建立状态
- 然后,STP 根据流量模式 (traffic Patterns) 和潜在环路 (Protential Loops) 修改状态
- STP 状态的默认顺序为:
- 阻塞:没有转发帧,听到了 BPDU
- 监听:不转发任何帧,监听数据帧 (确定自己可以参加的交换),也会发送一些数据帧表示自己状态变了
- 学习:不转发帧,学习地址
- 转发:转发帧,学习地址
- 禁用:没有转发帧,没有听到 BPDU
# 初始 STP 收敛
- 当网络首次启动时,所有网桥都会混合使用 BPDU 信息来泛洪网络。(开始泛洪 BPDU 信息)
- 立即,他们应用决策序列,允许他们 BPDU 进行 PK,然后选择出来 ROOT,从而形成整个网络的单个生成树。
(Step 1) 根交换机决定:选择一个根桥作为该网络的中心点
(Step 2) 选择根端口:所有剩余的网桥都会计算出一组根端口
(Step 3) 选择指定端口:其余所有网桥计算一组指定端口
# 步骤 1 根交换机决定
- (所有路由器都)宣布自己为根
- 检查端口上收到的所有 BPDU 以及将在该端口上发送的 BPDU
- 对于每个到达的 BPDU,如果其值小于为端口保存的现有 BPDU
- 旧值被替换(由于 cat-A 的 BID 最小,所有 BC 均替换)
- BPDU 的发送者被接受为新的根
# 步骤 2:选择根端口
- 每个非根桥必须选择一个根端口。
- 桥的根端口是最接近根桥的端口。
- 根路径成本是到根网桥的所有链接的累积 (cumulative) 成本。
# 步骤 3:选择网段的指定端口
- 每个网段都有一个指定的端口:充当单个网桥 / 交换机端口,该端口既向该网段又向根网桥发送流量,也从该网段和根网桥接收流量。
- 包含给定网段的指定端口的网桥 / 交换机称为该网段的指定网桥。
- 所有网桥 / 交换机将阻止它们上未指定的端口,根网桥上的每个活动端口都将成为指定端口
- 每个链路只有一个指定端口,一旦选定其他就 block 了
# Vlan
# vlan 介绍
# 现有的共享局域网配置
- 在典型的共享局域网中…
- 根据用户所插入 (plug) 的集线器对用户进行物理分组
- 路由器分割局域网并提供广播防火墙
- 在虚拟局域网中
- 您可以按使用的功能,部门或应用程序对用户进行逻辑分组
- 通过专有软件进行配置
# LAN 和 VLAN 之间的差异
虚拟局域网
- 在第 2 层和第 3 层工作
- 控制网络广播
- 允许用户由网络管理员分配。
- 提供更严格的网络安全性。
# vlan 标准
特点
- 不限于物理交换机网段的网络设备或用户的逻辑分组。
- VLAN 中的设备或用户可以按功能,部门,应用程序等进行分组,而不管其物理网段的位置如何。
- VLAN 创建一个不限于物理网段的单个广播域,并且将其视为子网。
- VLAN 设置是由网络管理员使用供应商的软件在交换机中完成的。
# 分组用户
- VLAN 可以从逻辑上将用户划分为不同的子网 (广播域)
- 广播帧仅在具有相同 VLAN ID 的一个或多个交换机的端口之间切换。(VLAN ID 属于端口)
- 可以通过基于以下内容的软件对用户进行逻辑分组:
- 端口号
- MAC 地址
- 使用的协议
- 使用的应用
# 有无 vlan 的网络广播
faculty studeng 分别在自己的 vlan 中传输
# vlan 间通信
# vlan 结构
# backbone
- VLAN 配置需要支持互连的路由器和交换机之间的骨干数据传输。
- 骨干网是用于 VLAN 间通信的区域
- 骨干网应该是高速链路,通常为 100Mbps 或更高
- BackBone 可以跑多个 VLAN,是骨干网
# vlan 中路由器的作用
- 路由器提供不同 VLAN 之间的连接
- 例如,您有 VLAN1 和 VLAN2。
- 在交换机内,位于不同 VLAN 上的用户无法相互通信 (VLAN 的好处!)
- 但是,VLAN1 上的用户可以向 VLAN2 上的用户发送电子邮件,但他们需要路由器才能执行此操作。
# 在 vlan 中帧的作用
- 交换机根据帧中的数据做出过滤和转发决策。
- 使用了两种技术
- 帧过滤:检查有关每个帧的特定信息 (MAC 地址或第 3 层协议类型), 特定的 VLAN 记录或者映射
- 帧标记:在整个网络骨干网中转发时,在每个帧的标题中放置一个唯一的标识符。
# 帧过滤
# 帧标记
- 帧标记实施过程:
- 在整个网络骨干网中转发时,在每个帧的标题中放置一个 VLAN 标识符。
- 每个开关都可以理解和检查标识符。
- 当帧离开网络骨干网时,交换机会在帧发送到目标终端站之前删除标识符。只和端口绑定,而不影响主机
- 帧标记在第 2 层起作用
主机并不知道 vlan 的存在
# 帧标签标准
IEEE802.1Q:IEEE 标准,在标头中插入 VLAN 的标签以标识所属的 VLAN。(帧标记)。
ISL (Inter-Switch Link):思科专有。ISL 在数据帧的前面添加一个 26 字节的标头,并在末尾附加一个 CRC (4 字节)。
# vlan 实现
实现 VLAN 的两种方法
- 静态的
- 动态的
每一个端口绑定给一个 VLAN
- 确保不共享同一 VLAN 的端口不共享广播。
- 确保共享相同 VLAN 的端口将共享广播
实现途径:
- 基于端口的虚拟局域网
- 基于 MAC 地址的虚拟局域网
- 基于 IP 地址的虚拟局域网
- 基于上层协议的虚拟局域网
# 静态 vlan
定义:静态 VLAN 是指将交换机上的端口管理性地分配给 VLAN 的时间
优点:
- 安全,易于配置和监控
- 在控制移动的网络中效果很好
# 动态 vlan
- 当工作站最初连接到未分配的端口时,交换机会检查表中的条目,并使用正确的 VLAN 动态配置端口
- 优点
- 添加或移动用户时减少管理 (更多前期工作)
- 集中通知未授权用户
# 以端口为中心的 vlan
- 同一 VLAN 中的所有节点都连接到同一路由器接口
- 使管理更容易,因为…
- 通过路由器端口分配用户
- VLAN 易于管理。
- 提供更高的安全性
- 数据包不会 "泄漏" 到其他域
# access and trunk links
分为两类:
- 接入链路:通过一个 VLAN 报文
- 骨干链路:通过多个 VLAN 报文
# access
- 访问连接是仅作为一个 VLAN 成员的交换机上的连接。
- 此 VLAN 被称为端口的本机 VLAN,连接到端口的任何设备都完全不知道 VLAN 存在。
# trunk links
- 主干链路能够支持多个 VLAN。
- 主干链路通常用于将交换机连接到其他交换机或路由器。
- 交换机在快速以太网和千兆位以太网端口上都支持骨干链路。
- 也存在访问和骨干链接
- 一般 Trunk 就是 BackBone
骨干链路不属于特定的 VLAN:充当交换机和路由器之间 VLAN 的通道。
可以将骨干链路配置为传输所有 VLAN 或有限数量的 VLAN。
但是,骨干链路可能具有本地 VLAN。
如果骨干线链路由于任何原因失败,则骨干线的本地 VLAN 是该骨干线使用的 VLAN。
# 配置 vlan
在 Cisco 29xx 交换机上配置 VLAN 时,必须遵循以下准则:
- VLAN 的最大数量取决于交换机本身。
- VLAN 1 是出厂默认 VLAN 之一。(native VLAN 往往是 VLAN1,以及广播也是)
- VLAN 1 是默认的以太网 VLAN。
- 思科发现协议 (CDP) 和 VLAN 骨干协议 (VTP) 通告在 VLAN 1 上发送。
- 默认情况下,Catalyst 29xx IP 地址在 VLAN 1 广播域中。
# vlan 间中的路由
- 每个端口连接一个 VLAN,每个 IP 和一个 VLAN 连接
- 如下图,我们使用串口线,物理上是一个一个接口,划分成多个 IP 和子接口