局域网交换和VLAN
1. 交换 (Switching)
1.1. 交换操作
- 交换机有两个基础功能
: - 基于MAC地址
建立和维持交换表 (与网桥表类似), - 在接口交换帧
发往目的地址,
- 基于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协议中的数据链路层
- 数据链路层交换机
![pic116](https://naturalifica.oss-cn-nanjing.aliyuncs.com/~/Users/wuchentian/SoloLearning/Blog/source/imgs202210311104793.png)
- 网络层交换机
![pic117](https://naturalifica.oss-cn-nanjing.aliyuncs.com/~/Users/wuchentian/SoloLearning/Blog/source/imgs202210311104808.png)
- 传输层交换机
![pic118](https://naturalifica.oss-cn-nanjing.aliyuncs.com/~/Users/wuchentian/SoloLearning/Blog/source/imgs202210311104909.png)
- 多层交换机
![pic119](https://naturalifica.oss-cn-nanjing.aliyuncs.com/~/Users/wuchentian/SoloLearning/Blog/source/imgs202210311104014.png)
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):
- 216种可能的值
- 低位子域(6字节
十六进制表示), 交换机被分配的MAC地址:
- BID高位子域(2字节
- 一个网桥ID (BID): 8字节
-
最小的 RPC
Root Path Cost( 根网桥路径开销, ) -
网桥使用开销的概念来评估他们与别的网桥之间的距离
-
-
最小 BID
Bridge Identification( ) -
最小PID
Port Identification( )
-
-
BPDU 的工作原理
STP建立了一个根节点
叫根网桥, 得到的树源自根网桥, 在生成树的过程中。 不属于最短路径树的冗余链接被阻塞, 在阻塞链接上的接收的数据帧被抛弃, 最终。 符合无回路逻辑拓扑形式的交换机发送的消息即为 BPDU, -
BPDU 的物理形式
![pic122](https://naturalifica.oss-cn-nanjing.aliyuncs.com/~/Users/wuchentian/SoloLearning/Blog/source/imgs202210311549639.png)
-
5种STP状态
- 通过根据规则配置每个端口
来建立状态, - 然后STP基于传输模式和潜在的循环
来修改状态, - 默认的STP状态命令有
: - 阻塞Blocking——没有帧转发
接收BPDU, - 侦听Listening——没有帧转发
侦听数据帧, - 学习Learning——没有帧转发
学习地址, - 转发Forwarding——有帧转发
学习地址, - 禁用Disabled——没有帧转发
不接受BPDU,
- 阻塞Blocking——没有帧转发
- 通过根据规则配置每个端口
-
举例说明生成树协议的具体选举步骤
-
最初的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地址, 使用的协议, 应用 等通过软件来进行 逻辑分组,
- VLANs可以逻辑地将用户划分到不同的子网
- 特征
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 (帧标记), 。
- IEEE标准
-
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
- 好处
- 所有在同一个VLAN中的节点都连接到同一个路由器接口
- 使得管理更容易
因为……, - 用户由路由器接口分配
- VLANs更容易管理
- 更加安全
- 包不会泄露到其它域
- 图例
- 好处
- 访问链路和主干链路
- 图例
- 访问链路
- 访问链路是交换机上的一个链路
它只是一个VLAN的成员, - 这个VLAN被认为是端口的本地native VLAN
- 任何连接到这个端口的设备完全不知道存在这个VLAN
- 访问链路是交换机上的一个链路
- 主干链路
- 一个主干链路有能力支持多种VLANs.
- 主干链路用于连接交换机到其它交换机或者路由器上
- 交换机在高速以太网和Gigabit以太网端口上
支持主干链路, - 访问和主干链路也存在
- 主干是一个点对点链路
支持几种VLAN, - 当在两个实现VLAN的设备之间构造链路的时候
主干用于保存端口, - 主干链路不属于一个特定的VLAN.
- 像路由器和交换机之间的VLANs导管
- 主干链路可以配置为运输所有VLAN
或运输有限个VLAN, - 然而主干链路可能有一个本地native VLAN
- 主干的本地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实验报告见文件