交换知识 VLAN VTP STP 单臂路由
第1章 交换基础
1.1 园区网分层结构
层次 | 作用 |
出口层 | 广域网接入 出口策略 带宽控制 |
核心层 | 高速转发 服务器接入 路由选择 |
汇聚层 | 流量汇聚 链路冗余 设备冗余 路由选择 |
接入层 | 用户接入 接入安全 访问控制 |
1.2 交换机的主要功能
MAC地址表 address learning
转发和过滤的决策forward/filter decision
环路的避免 loop avoidance
1.3 MAC地址
MAC地址有48位,通常被表示为点分十六进制
MAC地址全球唯一,由IEEE对这些地址进行管理和分配。
每个地址由两部分组成,分别是供应商和序列号。其中前24位二进制代表该供应商代码,剩下的24位由厂商自己分配
1.4 交换寻址
初始状态mac地址表为空
第一次会泛洪数据帧
第2章 VLAN 虚拟局域网
2.1 vlan概述
分段性、灵活性、安全性
将交换机的端口进行vlan划分(划分不同的广播域)
通过十进制数进行标识
2.2 vlan的成员模式
分类 | 方式 |
静态vlan(Static Vlan) | 交换机上的端口以手动方式分配给Vlan |
动态Vlan(Dynamic VLAN) | 使用VMPS可以根据连接到交换机端口的设备源MAC地址,动态地将端口分配给VLAN |
语音Vlan(Voice VLAN) | 将端口配置到语音模式可以使端口支持连接到该端口的IP电话 |
2.3 trunk干道
当一条链路需要承载多vlan信息的时候,需要使用trunk来实现
一般见于交换机之间或交换机与路由器之间
2.3.1 ISL封装协议(使用较少)
Ø 通过硬件(ASLC)实现
Ø ISL标识不会出现在工作站,客户端并不知道ISL的封装新信息
Ø 在交换机或路由器 与交换机之间,在交换机与具有ISL网卡的服务器之间可以实现
ISL头部26bytes
2.3.2 dot1q协议(801.1q)
数据包格式
802.1q 并非实际封入原始帧中。相反,在以太网帧格式里,在MAC地址源与以太网类型/长度的原始帧里添加一个32位的域(field)。VLAN标签领域必须遵守下列格式:
16 bits | 3 bits | 1 bit | 12 bits |
TPID 标签协议识别符 | PCP 优先权代码点 | CFI 标准格式指示 | VID 虚拟局域网识别符 |
2.4 VLAN的特点
1) 一个vlan中所有的设备都在同一广播域内,广播不能跨越VLAN传播
2) 一个Vlan为一个逻辑子网,由被配置为此VLAN成员的设备组成,不同vlan间需要通过路由器实现互相通讯
3) vlan中成员多基于switch端口号码,划分vlan就是对switch接口划分
4) vlan工作与OSI参考模型的第二层
2.5 cisco上vlan范围
VLAN号 | 用途 |
0、4095 | 保留 |
1 | cisco交换机端口默认属于VLAN1 不能删除 |
2-1001 | 用于以太网VLAN |
1002-1005 | 思科缺省用于FDDI、Token Ring网 |
1006-4094 | 扩展VLAN,用于以太网VLAN,在一些很老的平台上不支持 |
2.6 VTP (VLAN Trunking Protocol)
一个能够宣告VLAN配置信息的信息系统
通过一个共有的管理域,维持vlan配置信息的一致性
VTP只能在主干端口(Trunk)发送要宣告的信息
支持混合的介质主干连接(快速以太网,fddi,atm)
2.6.1 vlan使用过程
创建vlan
确立vlan之间的关系
2.6.2 vtp三种模式
模式 | 功能 |
sever | 创建VLAN、修改vlan、删除vlan 发送/转发信息宣告、同步 存储在NVRAM中、Catalyst交换机默认使sever模式 |
client | 同步 发送/转发信息宣告 不会存储与NVRAM |
Transparent | 创建VLAN、修改vlan、删除vlan 转发、信息宣告、不同步 存储于NVRAM |
2.6.3 VTP的运作
l VTP协议通过组播地址01-00-0C-CC-CC-CC在Trunk链路上发送VTP通告
l VTP Sever和Clients 通过最高的修改定号来同步数据库
l VTP协议没隔5分钟发送一次VTP通告或者有变化时发送
2.6.4 VTP的修剪 Pruning
2.6.4.1 允许所有vlan通过会有什么缺点呢?
你的接入层交换机上明明是没有这个vlan的业务,但是由于trunk链路允许的所有vlan通过,一些其他vlan的广播流量,组播流量,未知单播泛洪流量也莫名的转发到这台交换机上,造成没有必要的带宽资源浪费,增加了广播域的影响范围。
2.7 VLAN基本配置
2.7.1 创建VLAN信息
S-vlan-1(config)# vlan 2
S-vlan-1(config)# name vlan2
2.7.2 将端口划入特定的vlan
S-vlan-1(config)# interface fa 0/1
S-vlan-1(config-if)#switchport mode access
S-vlan-1(config-if)#switchport access vlan [vlan vlan# | dynamic]
2.7.3 配置Trunk封装方式
S-vlan-1(config)# interface fa 0/15
S-vlan-1(config)# switchport trunk encapsulation {ISL|dot1q|negotiate}
2.7.4 开启端口
S-vlan-1(config)# switchport mode{dynamic {auto|desirable}|trunk}
2.8 VTP的基本配置
S-vlan-1#configure terminal
S-vlan-1(config)#vtp mode ?
client Set the device to client mode.
server Set the device to server mode.
transparent Set the device to transparent mode.
S-vlan-1(config)#vtp domain ?
WORD The ascii name for the VTP administrative domain.
S-vlan-1(config)#vtp password ?
WORD The ascii password for the VTP administrative domain.
2.8.1 注意:
ü 默认情况:VTP模式为sever
ü VTP域名有大小写敏感
ü VTP密码大小写敏感
ü VTP修剪默认关闭
ü 查看vtp 状态 :show vtp status
2.9 【实验】vlan
2.9.1 拓扑图
2.9.2 交换机配置
S-vlan-1上vlan配置
S-vlan-1(config)#vlan 10
S-vlan-1(config-vlan)#name VLAN10
S-vlan-1(config)#interface f 0/1
S-vlan-1(config-if)#switchport mode access
S-vlan-1(config-if)#switchport access vlan 10
S-vlan-1(config)#vlan 20
S-vlan-1(config-vlan)#name VLAN20
S-vlan-1(config)#interface fastEthernet 0/2
S-vlan-1(config-if)#switchport mode access
S-vlan-1(config-if)#switchport access vlan 20
S-vlan-2上VLAN配置
S-vlan-2(config)#vlan 10
S-vlan-2(config-vlan)#name VLAN10
S-vlan-2(config)#interface fastEthernet 0/1
S-vlan-2(config-if)#switchport mode access
S-vlan-2(config-if)#switchport access vlan 10
S-vlan-2(config)#vlan 20
S-vlan-2(config-vlan)#name VLAN20
S-vlan-2(config)#interface fastEthernet 0/2
S-vlan-2(config-if)#switchport mode access
S-vlan-2(config-if)#switchport access vlan 20
trunk链路配置
S-vlan-1:
S-vlan-1(config)#interface gigabitEthernet 0/1
S-vlan-1(config-if)#switchport mode trunk
S-vlan-1(config-if)#switchport trunk allowed vlan all
S-vlan-1:
S-vlan-2(config)#interface gigabitEthernet 0/1
S-vlan-2(config-if)#switchport mode trunk
S-vlan-2(config-if)#switchport trunk allowed vlan all
2.9.3 查看vlan信息
2.9.3.1 S-vlan-1信息
S-vlan-1#show vlan brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/3, Fa0/4, Fa0/5, Fa0/6
Fa0/7, Fa0/8, Fa0/9, Fa0/10
Fa0/11, Fa0/12, Fa0/13, Fa0/14
Fa0/15, Fa0/16, Fa0/17, Fa0/18
Fa0/19, Fa0/20, Fa0/21, Fa0/22
Fa0/23, Fa0/24, Gig0/2
10 VLAN10 active Fa0/1
20 VLAN20 active Fa0/2
1002 fddi-default active
1003 token-ring-default active
1004 fddinet-default active
1005 trnet-default active
2.9.3.2 S-vlan-2信息
S-vlan-2#show vlan brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/3, Fa0/4, Fa0/5, Fa0/6
Fa0/7, Fa0/8, Fa0/9, Fa0/10
Fa0/11, Fa0/12, Fa0/13, Fa0/14
Fa0/15, Fa0/16, Fa0/17, Fa0/18
Fa0/19, Fa0/20, Fa0/21, Fa0/22
Fa0/23, Fa0/24, Gig0/2
10 VLAN10 active Fa0/1
20 VLAN20 active Fa0/2
1002 fddi-default active
1003 token-ring-default active
1004 fddinet-default active
1005 trnet-default active
2.9.3.3 查看trunk信息
S-vlan-1#show interfaces trunk
Port Mode Encapsulation Status Native vlan
Gig0/1 on 802.1q trunking 1
Port Vlans allowed on trunk
Gig0/1 1-1005
Port Vlans allowed and active in management domain
Gig0/1 1,10,20
Port Vlans in spanning tree forwarding state and not pruned
Gig0/1 1,10,20
2.10 单臂路由
单臂路由(路由器上一棒)指的英文在路由器的一个接口上通过配置子接口(或“逻辑接口”,并不存在真正物理接口)的方式,实现原来相互隔离的不同VLAN(虚拟局域网)之间的互联互通。
在路由器中创建子接口
2.10.1 【实验】单臂路由配置
2.10.1.1 拓扑图
2.10.1.2 交换机trunk链路配置
S-vlan-2(config)#interface gigabitEthernet 0/2
S-vlan-2(config-if)#switchport mode trunk
S-vlan-2(config-if)#switchport trunk allowed vlan all
2.10.1.3 路由器子接口配置
fastEthernet 0/1.10子接口配置
Router0(config)#interface fastEthernet 0/1.10
Router0(config-subif)#encapsulation dot1Q 10
Router0(config-subif)#ip address 192.168.10.254 255.255.255.0
Router0(config-subif)#no shutdown
Router0(config-subif)#exit
fastEthernet 0/1.20子接口配置
Router0(config)#interface fastEthernet 0/1.20
Router0(config-subif)#encapsulation dot1Q 20
Router0(config-subif)#ip address 192.168.20.1 255.255.255.0
Router0(config-subif)#no shutdown
2.10.1.4 检查配置结果
C:\>ping 192.168.20.1
Pinging 192.168.20.1 with 32 bytes of data:
Reply from 192.168.20.1: bytes=32 time<1ms TTL=127
Reply from 192.168.20.1: bytes=32 time=1ms TTL=127
Reply from 192.168.20.1: bytes=32 time<1ms TTL=127
Reply from 192.168.20.1: bytes=32 time<1ms TTL=127
Ping statistics for 192.168.20.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 1ms, Average = 0ms
查看路由表
Router0#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
C 192.168.10.0/24 is directly connected, FastEthernet0/1.10
C 192.168.20.0/24 is directly connected, FastEthernet0/1.20
Router0#
第3章 STP生成树
生成树协议(英语:Spanning Tree Protocol,STP),又称扩展树协议,是一基于OSI网络模型的数据链路层(第二层)通信协议,用作确保一个无环路的局域网环境。
3.1 生成树的概念
3.1.1 冗余拓扑
l 冗余拓扑能够解决单点故障问题
l 冗余拓扑造成广播风暴,多帧复用,Mac地址不稳定的问题
3.1.2 广播风暴
l HOST x发送广播帧
l 交换机继续没完没了的更新广播流量
3.1.3 多帧复制
l Host X 发送一个单播数据帧给 ROUTE Y
l ROUTE Y 的MAC地址还没有被每个交换机学习到
l ROUTE Y 接收2份相同的数据帧拷贝
3.1.4 MAC表紊乱
l Host X 发送一个单播数据帧给 ROUTE Y
l ROUTE Y 的MAC地址还没有被每个交换机学习到
l switch A 和 B 在port1上学习到Host X 的MAC地址
l 到达Route Y 的数据帧被泛洪
l Switch A和B 不正确的在Port2上学习到Host X的MAC 地址。
3.1.5 复杂的多环路网络
……
3.2 使用STP,可以达到四个效果
1、防止环路;
2、防止MAC地址震荡;
3、防止重复帧的出现;
4、防止广播风暴的出现。
3.2.1 采用生成树STP解决环路
l 通过将特定的端口选为Blocking state,实现无环路拓扑
l IEEE 802.1D 规定了这一行为
l Cisco 采用 IEEE 802.1D 的增强的私有协议生成树PVST+
3.3 STP的操作
1. 每个广播域选择一个根桥root
2. 每个非根桥上选择一个根端口RP
3. 每个段选择一个指定端口
4. 选择一个非指定端口
3.3.1 每个广播域选择一个根桥 (Bridge ID)
BPDU数据包--泛洪--选举
产生一个或多个非指定端口进行阻塞
Bridge ID (两部分组成): 其依据是网桥优先级(bridge priority)和MAC地址组合生成的桥ID
3.3.2 每个非根桥上选择一个根端口
根端口:具有最低的根路径的接口
要考虑的因素:
1. 最低的根桥ID
2. 最低的根路径代价
3. 最低的发送者根桥ID
4. 最低端口ID
3.3.3 stp路径开销cost
Link Speed | Cost (New IEEE Specification) |
10Gb/s | 2 |
1Gb/s | 4 |
100Mb/s | 19 |
10Mb/s | 100 |
最短路径时cost累加,而cost时基于链路的速率的
3.3.4 每个段选择一个指定端口
指定端口:具有最低根路径的接口
要考虑的因素:
1. 最低的根桥ID
2. 最低的根路径代价
3. 最低的发送者根桥ID
4. 最低端口ID
3.4 【案例】root 、rp 、dp
比较过程:
1. 最低的根桥ID
2. 最低的根路径代价
3. 最低的发送者根桥ID
4. 最低端口ID
3.5 STP端口状态
状态 | 功能 |
阻塞(Blocking) | 这种二层LAN端口不能参与帧转发,侦听BPDU包 |
侦听(Listening) | 这是端口自阻塞状态后的第一个过渡状态。STP认为这种状态的二层LAN端口应当参与帧转发(不转发,不学习) 15s |
学习(Learning) | 这种状态的二层LAN端口处于准备参与帧转发状态,学习MAC地址 |
转发(Forwarding) | 这种状态的二层LAN端口就可以正式转发帧了 |
禁止(Disabled) | 这种状态的二层LAN端口不参与STP,不转发帧 |
3.6 【实验】stp
3.6.1 拓扑图
3.6.2 配置命令
修改优先级
S-STP-1 (config-if)spanning-tree vlan vlan-id port-priority
3.6.3 检查STP情况的命令
S-STP-1#show spanning-tree
S-STP-1#show spanning-tree active
S-STP-1#show spanning-tree detail
S-STP-1#show spanning-tree interface interface-id
S-STP-1#show spanning-tree vlan vlanid
S-STP-1(config)#do sh spann
VLAN0001
Spanning tree enabled protocol ieee
Root ID Priority 32769
Address 0001.C944.E360
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32769 (priority 32768 sys-id-ext 1)
Address 0001.C944.E360
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 20
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Desg FWD 19 128.1 P2p
Gi0/1 Desg FWD 4 128.25 P2p
Gi0/2 Desg FWD 4 128.26 P2p