VLAN-VTP-TRUNK
背板带宽
- 交换机接口处理器或接口卡和数据总线间所能吞吐的最大数据量。
- 交换机的背板带宽越高,所能处理的数据能力就越强,但同时设计的成本就会越高。
- 公式=端口数量*相应的端口速率 * 2
- 如果总带宽<=标称的背板带宽,那么在背板带宽上是线速的。
园区网模型的三类服务
- 本地服务:本地数据流不进入网络主干或通过路由器
- 远程服务:通过主干网络或出口网络路由,对外提供服务的流量
- 企业级服务:放在一个离骨干网络很近的独立子网上
隔离广播域
- 当交换机收到一个数据帧,首先查找自己的MAC地址表,看是否有MAC地址缓存,有则更新时间,若无缓存,则向除收到该数据帧的其他接口泛洪,若该交换机上有多个VLAN,则只向VLAN ID相同的接口泛洪。
- 一个VLAN = 一个广播域 = 一个逻辑子网
- 单个端口只能承载单个VLAN的流量。access口
VLAN好处
- 有效的带宽利用
- 提高安全性
- 隔离故障域
ARP
- IP地址 MAC地址 端口
交换机原理
- 基于源MAC学习,基于目标MAC地址转发
- 对于没有目标MAC地址表项的帧,向本VLAN的其他所有接口转发
- 收到广/组播帧,向本VLAN的其他所有接口转发
- 同一个MAC地址被多接口学习到,选择后学习到的接口
- 一个MAC地址只能对应一个接口
- 同一接口可以学到多个MAC地址
修改老化时间
- 默认300
- mac address-table aging-time 600 vlan 10
- 查看
- show mac address-table aging-time
VLAN范围
- 交换机最多支持4094个VLAN
- 0,4095:保留,仅限系统使用,用户不能查看
- 1:默认VLAN不能删除
- 2-1001:用于以太网的VLAN,用户可自己创建VLAN
- 1002-1005:用于FDDI和令牌环网的默认VLAN,不能删除
- 1006-1024:保留,仅供系统使用,用户不能查看
- 1025-4094:仅用于以太网的VLAN,扩展的VLAN,只有3550以上的交换机才能配,且必须将VTP模式设置为透明模式。
创建VLAN
-
创建VLAN
- vlan 10
- name XXX
-
查看VLAN
- show vlan
- show vlan brief
一旦删除了VLAN,需要手动将端口移动到别的VLAN,否则这些接入端口将进入“非活跃”状态。使用show vlan brief 查看的时候将看不到。
-
多接口配置:
- interface range e0/0-3
不同交互机同一VLAN通信
- 把两台交换机互联接口划入客户端同一个vlan。(两个链路)
- 把两台交换机互联口配置为trunk链路。(一个链路)
DTP协议:动态trunk链路协商协议
- DA:switchport mode dynamic auto
- 接口不会主动发送DTP消息,但是当收到对方发送的dtp消息,可以返回DTP消息。接口接收到DTP消息,该接口可以成为trunk。
- DD:switchport mode dynamic desirable
- 接口可以主动发送dtp消息,但是必须接收到对方发送过来的DTP消息,才可以形成trunk链路。
- switchport mode trunk——该接口激活就强制为trunk链路,并且可以发送DTP消息
- switchport mode access——该接口激活就强制为access口,不发送DTP消息,忽略DTP消息。
- switchport nonegotiate——当接口配置为trunk链路时,抑制trunk接口发送DTP消息,但该命令不可以与switchport mode dynamic 命令同时使用。
- switchport trunk encapsulation negotiate——使用trunk链路自协商封装类型为802.1q或者ISL,但是该命令不能与switchport mode trunk同时使用
- switchport nonegotiate——不确协商
- show interface trunk——查看trunk端口信息
- show interface f0/0 switchport——查看端口配置
Trunk | Access | DD | DA | Trunk none | |
---|---|---|---|---|---|
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FSCBGLFr-1602908738654)(C:\Users\26316\AppData\Roaming\Typora\typora-user-images\image-20200821213648480.png)]
Trunk间动态协商
- 如果两台交换机之间的VTP domain 不相同,trunk无法协商
- 如果两台交换机之间的VTP password不相同,trunk协商不影响
VTP(VLAN Trunk Protocol)
- 当交换机和VLAN都特变多的时候,VLAN创建的工作量是非常庞大的,因此提出了VTP协议。
- VTP是一种二层消息协议,通过管理VTP域内的VLAN增/删/改,保持VLAN配置的一致性。
- 交换机只能在802.1Q/ISL,Trunk中传送VTP信息。
- 影响VTP的因素
- trunk 必须在trunk上传输
- domain 域名相同
- password 密码相同
- VTP模式
类型 | Server | Client | Transparent |
---|---|---|---|
增/删/改 | y | n | y |
转发VLAN | Y | Y | Y |
同步VLAN | Y | Y | N |
保存NVRAM | Y | N | Y |
- VLAN会同配置版本高的某台交换机同步。低版本号的跟高版本号的学,server和client和谁学习不是看模式,而是看版本号。配置版本号相同,互相之间不学习
- VTP信息每5分钟通告一次,或触发更新(VLAN配置改变时通告)
- VTP信息是包含在DTP包中,交换机与交换机之间用协商模式器trunk的时候,用的是DTP包,如果两端VTP信息不匹配,也起不了Trunk。
- 起Trunk有三点关联:
- 封装类型
- 接口模式
- 两端VTP信息是否匹配
STP生成树
- 冗余的拓扑网络——泛洪
- 导致的问题
- 广播风暴
- 重复帧
- MAC表震荡
STP的功能
- 防止环路——通过逻辑上阻塞一条备份端口,实现目标网络单路径
- 链路的备份——当已经UP的链路失效时,STP会自动启用block的端口,实现链路的备份或者使用PVST+实现备份。
STP的工作机制
- STP通过在环路的拓扑中,选择一个交换机为根,并以根交换机为中心,扩散,构建一颗没有环路的树形拓扑,构建好之后进行维护,有故障则激活阻断端口实现备份。
基本概念
- bridge-id
- 2字节的优先级—6字节的MAC地址
- 唯一标识运行STP的交换机。
- 优先级默认是32768,修改需要是4096的倍数
- cost:花费,接口到达根桥所花的时间
- 10M=100
- 100M=19
- 1G=4
- 10G=2
- port-id
- 端口优先级+端口编号
- 端口优先级默认是128,范围0-255,步长是1
- root-bridge:根交换机
- 负责整个拓扑的数据交换
- designated-bridge:指定交换机
- 负责本地物理网段的数据交换
- root-port:根端口
- 接收来自根交换机的数据,并把本地数据通过该端口去往根交换机
- 接受root发送的BPDU(桥协议数据单元)
- designated port:指定端口
- 负责本地物理网段上数据报文的转发
- 负责转发root的PBDU
每台非根交换机上必有一个RP(根端口),但每个交换机上可能有多个DP(指定端口)
每条链路必有一个DP,但不一定有RP
-
block:阻塞端口
- 被STP逻辑上阻塞的端口,接受BPDU,但是不能转发,并且不能发送数据
-
BPDU:桥协议数据单元,网桥协议配置消息
- STP通过交换机之间交换BPDU消息,实现构建和维护无环拓扑
- 选举根桥
- 确认冗余路由的位置
- 通过阻塞特定端口来避免环路
- 通告网络的拓扑变更
- 监控生成树的状态
- 2s更新一次,组播地址01-80-c2-00-00-00
- 类型
- 配置BPDU:只有根桥可以产生,35字节
- |DMA|SMA|L/T|LLC Header + payload|
- 目标MAC、源MAC、payload有效载荷
- 数据链路层报头中的SAP值是:0100 0010(0X42)
- payload的具体内容
- BPDU帧格式:(802.1D)
- 2字节: protocol id 用0填充
- 1字节: version 0(802.1D) 2(802.W)
- 1字节: message type 0x00 正常的BPDU 0x80 发送TCN(当拓扑发生变化)
- 1字节: flage(标记) 00 普通的BPDU 01 TC (改变消息) 80 TCA(确认消息)
- 0 000 000 0
- LSB:最低有效位 MSB:最高有效位
- LSB=1 TC(拓扑变化) MSB=1 TCA(拓扑变化确认)
- STP通过交换机之间交换BPDU消息,实现构建和维护无环拓扑
-
生成树参数
- 8字节: root id 第一次发送root id 为bridge id 2字节的优先级+6字节的MAC地址
- 4字节: cost root cost
- 8字节: bridge id 2字节的priority+6字节的MAC
- 2字节: port id 1字节的priority+1字节的port NO(port NO越大,MAC地址越大 CISCO特性)
-
times:
- 2字节: message age 相当于TTL,从根每经过一台switch,age加1最大为7
- 2字节: maximuin time block状态默认20s 6-40s(必须修改根)
- 2字节: hello time BTDU 发送周期,默认2S 1-10s
- 2字节: forward delay listening(监听):侦听BPDU STP学习
learning(学习):侦听BPDU MAC学习
默认15S 4-30 S
-
TCN BPDU:拓扑变更通告,4字节,3字段:protocol id、version、message type
- spanning-tree vlan [id] hello-time [sec]
- spanning-tree vlan [id] forward-time [sec]
- spanning-tree vlan [id] max-age [sec]
-
STP选举
-
选根、选RP、选DP、剩下端口为BLK
-
选root
- 桥ID选举
- 桥ID=优先级priority+MAC (以小为优)桥priority 默认是32768(0-65535)
-
端口ID选举
- 端口ID= priority+NO (以小为由)priority默认是128(1-255)
-
根桥的选举
- STP网络中,桥ID最小的交换机
- root=priority+MAC
-
RP选举(在每个非根桥上选举)
- cost:到达根桥路径开销最小的端口
- 比较发送方的桥ID,以小为优
- 比较发送方的端口ID,以小为优
- 非根桥一定会有一个RP
-
DP的选举(在每个链路上)
- cost:接口所在交换机到达根路径开销最小的端口
- 比较端口所在交换机的桥ID[比较自身桥ID]
- 比较端口ID
-
查看生成树学习状态
- debug spanning-tree events
-
-
STP拓扑变更
- TCN:拓扑改变通告
- 发送条件:(收敛后的网络,拓扑发送变化)
- 处于转发和监听状态的端口,过渡到阻塞状态
- 端口进入转发状态,并且网桥已经拥有指定端口
- 过程
- 指定网桥接收到TCN,立即回复一个TCN被置位的正常BPDU,再由根端口发出去,直到根桥接收到。根桥接收到后,发送TC置位的配置BPDU,全网广播,非根桥刷新MAC地址标,较低其生存时间为15S(forward delay)
- ROOT连续发送TC置位的BPDU,时间为35s(forwarding delay + maxium time),非根桥在收不到的时候回复MAC地址表的刷新时间。
- STP的端口状态(802.1D)
- disable:为运行STP或者未激活接口
- blocking:运行STP。但是处于阻塞状态。接口不参与帧的转发,但监听BPDU。20s未收到BPDU进入下一状态
- listening:block超时或者链路建立最初进入的瞬间状态,15S,选举根,选举端口角色RP、DP;不能学习MAC地址,不能转发数据,
- learning:刷新MAC地址表,流入帧的源MAC地址的学习,但不能转发帧。15S后进入下一状态
- forwording:正常的转发状态,收发BPDU,收发数据,MAC地址的学习
- TCN:拓扑改变通告
-
STP选举的时间为:30S-50S
-
端口开销:
- 接口开销的范围是1-200 000 000,如果所有的开销相同,接口优先级最低的变成转发状态,若优先级相同,就取接口编号最小的。
- 当接口是接入端口时,生成树将使用端口的开销,若为干道端口,则使用vlan端口开销
STP(802.1D):cisco增强的特性
portfast:端口加速
- 接终端开启,blocking—>forwaring 减少了30s
- 不发送BPDU,只接收BPDU,当收到BPDU时,portfast特性失效,端口恢复正常的状态
- 要在接到分布层交换机的上行链路端口上明确禁用该特性
- 配置
- 接口下:spanning-tree portfast
- 查看:
- show spanning-tree summary totals
uplinkfast:上行链路加速
- 检测上行链路故障,如果网络发生故障,交换机可以立即开启另一个阻断端口作为根端口。
- blocking —> forwarding 减少了30s
- 如果启用uplinkfast,交换机默认的优先级会变为:49152,交换机的COST会增加3000,阻止本交换机成为根桥。
- 若优先级和端口cost,其中任意一个不是默认值,uplinkfast不能改变其优先级和cost值
- 主干层和分布层交换机不应开启该特性,在接入层开启
- 该特性只能全局开启,不能基于vlan开启
- 只能检测到
BPDU guard(BPDU 防护)----portfast扩展
- 当接口开启portfast时,不希望接口收到BPDU,这时可以对端口开启bpdu guard,当接口收到bpdu时,端口的状态会变成err-disable,需要先shutdown再no shutdown。
- configure
- 接口下:
- spanning-tree portfast
- spannint-tree bpduguard enable
- 全局下:
- spanning-tree portfast default
- spanning-tree portfast bpduguard default
- errdisable recovery cause bpduguard
- errdisable recovery interval 30 (30秒恢复)
- 接口下:
PVST+
- 桥ID=桥priority+MAC
- 桥priority:4位优先级+12位系统扩展ID
- 桥priority:优先级+VLAN号
- 4位 12位(4095个VLAN)
- 0001 /4096
- 0010 /4096*2
- PVST+只支持128个实例(instance),如果交换机上配置的VLAN数超过128个,那么128个以外的VLAN将没有STP在运行,所以此时剩余的VLAN将会出现环路。
- 可以单独在特定的VLAN上打开或关闭STP功能,即使一台没有运行STP的交换机或没有运行STP的VLAN在收到BPDU时,也会转发的。
- 关闭VLANX的生成树协议:no spanning-tree vlan X
- 恢复使用命令:spanning-tree vlan 10
- cisco交换机将trunk端口的native vlan 生成树和非思科交换机的生成树结合
- cisco交换机—非cisco交换机—cisco交换机
- 将非cisco交换机当成trunk链路,依然维护PVST+,并且共享信息
- native vlan上的802.1D BPDU,目标MAC地址是0180-c200-0000
- 共享向cisco专用SSTP(共享生成树协议)MAC地址发送cisco PVST+ BPDU,目标MAC地址0100-0ccc-cccd
- 非cisco交换机泛洪。
- 将非cisco交换机当成trunk链路,依然维护PVST+,并且共享信息
PVST(per vlan stp)
- cisco私用,BPDU的格式不同,发送地址:0100-0ccc-cccd
- PVST:每增加一个VLAN就会增加一个MAC
- MAC地址缩减,PVST+解决
- 优先级相同,MAC不同
- 优先级不相同,MAC相同(VLAN使用的是桥MAC)
MST(802.1S)多生成树
- 以实例为单位,构建生成树:一个实例一个生成树
- MSTP是在RSTP基础上运行的,所以具有快速收敛的功能。MSTP最多支持65个STP,但映射到实例的VLAN数量是没有限制的。
- MSTP需要通告分区域管路。
- 配置
- spannint-tree mst configuration
- instance 1 vlan
- spanning-tree mst 1 priority
- spanning-tree mst 1 root primary|secondary
- primary:优先级降两个步长
- secondary:优先级降一步长
- 查看
- show spanning-tree mst configuration