网络系统设计与工程
(五)局域网交换机
浙江大学计算机学院
邱劲松
局域网交换机
? 本节内容
– 交换机基本原理
– VLAN技术
– 交换机冗余技术
– 交换机管理
( 1)交换机工作原理
认识交换机
Cisco交换机产品系列
交换机产品展台
? Cisco Catalyst 3750
Switch 对比 HUB
? HUB
– 工作在物理层
– 全部端口转发
? 交换机( Switch)
– 工作在 MAC层
– 根据 MAC地址转发到
特定端口
HUB
Switch
交换背板
交换机的工作原理
? 工作模式
– 存储转发:接收到完整的 MAC帧后再转发
– 直通:接收到目的 MAC地址后即转发
? 自动学习
– 根据源 MAC地址反向建立目的 MAC地址与端口
之间的关联表
– 根据关联表进行转发
– 关联表中未匹配者,转发到全部端口
– 目的 MAC地址为广播地址者,转发到全部端口
MAC转发表
MAC地址
转发端口
类型
交换机级联
? 级联采用通用的以太
网端口进行层次间的
互联
? 级联层次多时,将出
现一定的时延
? 一般不超过四层
? 通过将上行 (UpLink)
口进行收敛,可减少
级联层次
堆叠技术
? 采用专用端口进行高速
互联
? 两种模式
– 菊花链模式
– 星型模式
? 可支持更多端口交换
? 时延小
? 各厂商之间不支持混合
堆叠
? 堆叠设备需要集中放置
堆叠技术(二)
菊花链堆叠
星型堆叠
交换机的优点
? 隔离了冲突域,减少了网
络拥塞
? 端口成本比路由器便宜
? 转发速度比路由器快
想象一下,如果用 HUB,
会怎么样?
交换机的缺点
? 未能隔离广播域,广播包在网络中被到处转发
同一个广播域
( 2) VLAN技术
VLAN
? VLAN技术使交换机能够隔离广播域
? VLAN间通信需要路由器配合,或者使用三层交
换机
? 使用 VLAN后的交换机端口
– 接入端口:仅能访问某个 VLAN( untagged)
– 中继端口:可以访问多个 VLAN( tagged)
? 划分 VLAN的方法
– 基于端口
– 基于 MAC地址
– 基于 IP子网
– 基于用户名
基于端口的 VLAN划分
1 2 3 4 5 6
主机 端口 VLAN
A 1 1
B 2 1
C 3 2
D 4 2
E 5 3
F 6 3
A B C D E F
1 2 3 4 5 6
主机 端口 VLAN
A 3 2
B 2 1
C 1 1
D 4 2
E 5 3
F 6 3
C B A D E F
基于 MAC地址的 VLAN划分
1 2 3 4 5 6
主机 MAC地址 VLAN
A 20C05F239831 1
B 20C05F239832 1
C 20C05F239833 2
D 20C05F239834 2
E 20C05F239835 3
F 20C05F239836 3
A B C D E F
1 2 3 4 5 6
主机 MAC地址 VLAN
A 20C05F239831 1
B 20C05F239832 1
C 20C05F239833 2
D 20C05F239834 2
E 20C05F239835 3
F 20C05F239836 3
C B A D E F
基于 IP子网的 VLAN划分
1 2 3 4 5 6
主机 IP地址 VLAN
A 192.168.0.1/24 1
B 192.168.0.2/24 1
C 192.168.1.1/24 2
D 192.168.1.2/24 2
E 192.168.2.1/24 3
F 192.168.2.2/24 3
A B C D E F
1 2 3 4 5 6
主机 IP地址 VLAN
A 192.168.0.1/24 1
B 192.168.0.2/24 1
C 192.168.1.1/24 2
D 192.168.1.2/24 2
E 192.168.2.1/24 3
F 192.168.2.2/24 3
C B A D E F
按需要划分 VLAN
VLAN配置任务
? 在 Cisco交换机上配置 VLAN
– 增加一个新的 VLAN
? Switch# vlan database
? Switch (vlan) # vlan vlan_number [ vlan_name]
– 指定一个或多个接口属于某个 VLAN
? Switch (config) # interface fastethernet 0/3
? Switch (config-if)# switchport access vlan 2
– 查看 VLAN 配置
? Show vlan
? Show interface vlan
– 清除 VLAN 配置
? Clear vlan ID
– 对 VLAN 本身进行配置(如设置 VLAN的 IP地址)
? Interface vlan ID
? (commands,such as IP address )
VLAN Trunk
VLAN1
VLAN2 VLAN2
VLAN3
Trunk(中继)功能使
多个 VLAN可以通过同
1个端口跨交换机通信
Trunk 操作
? Tagged Scheme( VLAN封装方案)
– Inter-switch Link( ISL)
– 802.1Q
Switch B Switch A
Trunk Link
Switch C
frame
Tag frame
Trunk Link
frame
Tag frame
VLAN 1 VLAN 2
VLAN帧
VLAN Trunk配置任务
? 指定某个接口为 trunk
? 设置 trunk 使用的封装协议
– 两端的封装协议必须一样
– Switch(config)# interface fastethernet 0/1
– Switch(config-if)# switchport mode trunk
encapsulation dot1q
? 缺省情况下,一个 trunk 端口转发所有的
VLAN数据
– Switch(config-if)# switchport access vlan ID
网络系统设计与工程
11-12 邱劲松
36
VLAN工作原理演示
? 使用 PacketTrace演示
– 交换机内部 VLAN通信
– 交换机之间 VLAN通信
交换机之间 VLAN信息共享
? VLAN管理协议
– VTP:在一个域中设定一个中心交换机为服务
器,域内其他交换机为客户端,所有 VLAN信
息由中心交换机维护,并发给各交换机
– VTP消息封装在 ISL或 802.1Q帧中
– VTP协议可以实现 VLAN的增、删、改等同步
操作
– 一个交换机只能处于一个域中
使用 VTP的好处
? 减少网络中关于 VLAN信息的不一致
– Such as Duplicate VLAN name used
? 可以通过映射使跨不同类型网络的 VLAN通
信成为可能
– Such as mapping Ethernet VLAN to high-
speed backbone VLAN (like ATM)
? 方便跟踪跨网络的 VLAN信息
? 动态报告跨网络的 VLAN信息
? 添加新的 VLAN时,可以做到即插即用
VTP 工作模式
? Server (Default)
– 可以创建、修改、删除 VLAN
– 把 VLAN 配置信息通告给其他交换机
– 和其他交换机同步 VLAN 配置
? Client
– 不能创建、修改、删除 VLAN
? Transparent
– 不把 VLAN 配置信息通告给其他交换机
– 不和其他交换机同步 VLAN 配置
– 转发 VTP 通告信息
VTP 配置任务
? 确定 VTP版本
– Switch# vlan database
– Switch(vlan)# vtp v2-mode
? 创建域
– Switch(vlan)# vtp domain cisco
? 设定工作模式
– Switch(vlan)# vtp {client|server|transparent}
? 复查配置
– Switch# show vtp status
? Will show number of existing VLAN
– Switch# show vtp statistics
? Will show VTP messages sent and received
( 3)交换机冗余技术
冗余交换拓扑
Switch A
Host B 回路产生广播风暴
如果 A还没有学习到 B的 MAC地
址,则 B会收到重复帧
Switch B Switch A
Host A
Port 0
Port 1 交换机 B内关于 A的 MAC地址会在端口 0,1之间快速改变,导
致 MAC地址表很不稳定
生成树协议( STP)
? STP功能
– 在第 2层实现链路管理,防止网络中出现循环
回路,自动在逻辑上阻塞冗余端口
– 协议标准,IEEE 802.1D
Switch B Switch A
Host A
Port 0 (Block)
Port 1
X
STP交换端口属性
根端口( RP):转发数据帧
指定端口( DP):转发数据帧
非指定端口:阻塞,不转发任何帧
STP规则
? 每个网络只有一个根网桥
? 每个非根网桥只有 1个根端口
? 每个网段只有 1个指定端口
? 每个 VLAN是一个独立的 STP实例
Switch B Switch A
Host A
Undesignated port
Root Port
X
designated port
designated port
Non-Root Bridge Root Bridge
STP的自动备份
? 当一个正处于转发状态的端口故障后,非指定端
口可以自动解除阻塞,处于转发状态
Switch B Switch A
Host A
Undesignated port
become available
Failed X designated port
designated port
生成树如何自动形成
? 通过发送 BPDU,来完成以下几步,
– 竞选出一个根网桥( Root-Bridge)
– 在所有非根网桥中选择出根端口( RP)
– 在每个网段中选择出指定端口( DP)
? BPDU携带的信息,
– 网桥 ID( BID):优先级 +MAC地址
– 到根的路径开销
– 发送者的 BID
– 发送端口的 ID
竞选根网桥
? 缺省优先级 0x8000,管理员可对每个交换机进行
单独指派
? 最小的 BID最终成为根网桥,图中 A为根网桥
Switch B Switch A
Host A
Priority=0x8000
MAC=0c001111
1111
BPDU Priority=0x8000 MAC=0c002222
2222
Root Bridge
端口转发状态定义
? Blocking—阻塞,不转发数据

? Listening—收发 BPDU,在规
定的时间内,检查端口是否能
保持转发能力
? Learning—在规定的时间内,
检查端口是否能保持转发能力
? Forwarding—转发数据帧
? Disabled—端口禁用,原因可
能有:管理关闭、未联接网络、
不属于该生成树实例(如不同
的 VLAN)
端口转发状态迁移
Loss of BPDU detected
(max age=20sec)
Send and receive BPDU
Forward delay=15sec
Port remain designated or root
Send and receive BPDU
Forward delay=15sec
Port is not designated or root
forward delay=15sec
Port remain designated or root Port is not
designated or root
路径开销( Path Cost)
Bandwidth STP cost Link Speed STP Cost
4 Mbps 250
10 Mbps 100 100Mbps 100
16 Mbps 62
100Mbps 19 100Mbps 19
155Mbps 14
1Gbps 4 1Gbps 4
10Gbps 2 10Gbps 2
选择每个非根网桥的根端口
Switch B Switch A
Switch C BPDU Cost=0
选择根端口的方法:选择离根网桥最近的端口成为根端口
Root Bridge
BPDU
Cost=19
Root Port
Cost=0+19
BPDU
Cost=0
Cost=19+19
Cost=0+19
BPDU
Cost=19
(1)
(2)
(1)
(3)
Root Port
Cost=19+19
链路速率,100Mbps
选择每个网段的指定端口
Switch B Switch A
Switch C
选择指定端口的方法:最低的 BID,最低的路径开销,最低的发送者 BID,
最低的端口 ID
Root Bridge
designated Port
Cost=0+19
Cost=19+19
Cost=0+19
Cost=19+19
Cost=0 Cost=0
designated Port
BID=0x8000.
BBBBBBBB
BBBB
BID=0x8000.
CCCCCCCC
CCCC
designated Port
BID=0x8000.
AAAAAAAA
AAAA
端口转发状态
Switch B Switch A
Root Port
Switch C
forwarding
Designated Port forwarding
Designated Port
forwarding
Designated Port
forwarding
Non Designated
Port blocking
Root Port
forwarding
Root Bridge
快速 STP( RSTP)
? 在 STP控制下,网路结构变化时(比如网
线从 1个端口换到另 1个端口),端口从阻
塞状态成为转发状态所需的时间大概在 60
秒左右,期间可能引起应用程序中断
? Cisco对 STP进行了改进,推出 RSTP,省
略了 Listening和 Learning状态,中断时间
在 5秒左右
STP配置任务
? 主要任务
– 打开或关闭 STP功能
? 可选任务
– 修改某个交换机的默认优先级
– 修改某个链路的路径开销
– 启用快速 STP模式
? 以上配置任务可通过交换机内置的 WEB页
面完成
利用 STP实现负载均衡
? 方法 1:根据优先级
? 配置步骤
– Vtp domain domain-name
– Vtp mode server
– Interface fastethernet 0/1
– Switchport mode trunk
– Spanning-tree vlan 8-10
port-priority 16
– Interface fastethernet 0/2
– Switchport mode trunk
– Spanning-tree vlan 3-6
port-priority 16
利用 STP实现负载均衡
? 方法 2:根据路径开销
? 配置步骤
– Interface fastethernet 0/1
– Switchport mode trunk
– Spanning-tree vlan 2-4
cost 30
– Interface fastethernet 0/2
– Switchport mode trunk
– Spanning-tree vlan 8-10
cost 30
( 4)交换流量监控
端口镜像
? 源端口:被镜像复制数据的端口
? 目的端口:镜像数据接收端口
? Cisco,Switched Port Analyzer (SPAN)
远程端口镜像
? 反射端口:将被镜像复制的数据转发到目的端口
? Cisco,Remote Switched Port Analyzer (RSPAN)
SPAN配置原则
? 一个端口不能既是目的端口,又是源端口
? 每个 SPAN会话只能有 1个目的端口,两个
SPAN会话不能使用同一个目的端口
? 源端口可以是一个端口,也可以是一组端
口,可以只复制发送数据或接收数据,也
可以全部复制
? 如果一个端口成为目的端口,它不能再成
为一个普通端口,因为只有镜像数据会送
给该端口
? 一个目的端口不参与任何 STP生成树计算
SPAN配置任务
? Cisco IOS Command
– Switch(config)# no monitor session all
– Switch(config)# monitor session 1 source
interface fastethernet0/1
– Switch(config)# monitor session 1
destination interface fastethernet0/8
encapsulation dot1q
RSPAN配置任务
? 把一个 VLAN 配置成 RSPAN VLAN
– Switch(config)# vlan vlan-id
– Switch(config-vlan)# remote span
? 创建一个 RSPAN 源会话
– Switch(config)# no monitor session 1
– Switch(config)# monitor session 1 source interface
fastethernet0/10
– Switch(config)# monitor session 1 source interface
fastethernet0/3
– Switch(config)# monitor session 1 destination remote vlan
901 reflector-port fastethernet0/1
? 创建一个 RSPAN 目的地会话
– Switch(config)# monitor session 1 source remote vlan 901
– Switch(config)# monitor session 1 destination interface
fastethernet0/5