前景: 在三层中,提供备份的是浮动路由,而在二层设备中要建立备份该用什么,又会出现什么样的问题,该怎样解决?
传统的LAN中存在一些问题:1、冲突域,我们用网桥来解决,后有了比网桥高级的交换机,2.广播域,交换机可分隔冲突域,但不能隔离广播域,我们用vlan来解决(两种方式:同一个交换机上的同一个vlan成员---access;不同的交换机上的同一个vlan成员---trunk),在trunk链路中标签问题我们用了协议1、802.1q(dot1q)--公有标准协议 2、ISL---思科私有
vlan间路由:网关--可以同时连接多个网段的接口,网关的设备有很多,比如路由器,多层交换机,防火墙,我们可以理解为凡是有路由表的设备,都支持路由功能,那么该设备就可以作为“网关”
一、为什么会引入STP
电脑开机时,会自动发送无故ARP(即寻找自己mac地址,正常情况是寻找其他mac地址,这是自检的流程,查看有没有与自己重复的mac)到交换机,交换机进行广播(flooding),如果交换机与交换机之间还有一根备份链路,那这条ARP的广播会通过备份链路返回到PC,形成环路,如果有n台PC机,就会造成网络资源耗尽,交换机死机
当交换机只有一根线连接时,会出现单点故障,即任何一个地方故障,全部down,我们用“在交换机上连接两条线”解决,即二层冗余链路,但容易形成二层广播风暴,也称二层冗余环路,因此,我们要解决这个既提供二层冗余链路,又出现二层环路的问题 方法:STP生成树(树我们知道是有树枝的,而有树枝,当信息传递时永远不会通过树枝再传到树根,即生成树是永远没有环路的。交换机开机时,会自动启用stp)
二、STP
1.定义:Spanning Tree Protocol 生成树协议
2.作用:逻辑上断开环路,防止广播风暴的产生
当线路故障,阻塞接口被激活,恢复通信,起备份线路的作用
(在提供2层冗余链路的情况下,防止2层数据转发环路的发生)
3.报文
BPDU-bridge protocol data unit--桥接 协议 数据 单元
交换机之间是以组播的形式发送BPDU
4.原理
1)确定交换机的角色
根交换机:在一个LAN中,有且只有一个根交换机
非根交换机:除了根交换机以外,其他的都叫做非根交换机
原则:各个交换机之间互相比较:BID-bridge ID -桥ID,由优先级(2个字节,取值范围0-65535 2^16=65536 )+MAC地址(6字节)
BID越小越好,首先比较优先级,越小越好,默认值32768;如果优先级相同,比较mac,越小越好。优先级可能相同,但mac地址具有全球唯一性,不可能一致。查看方法:display bridge mac-address而优先级是属于STP,所以查看方法:display stp
在交换网络中,由于STP的运行,两台相邻的交换之间可能不通,因为每台非根交换机选择路径的时候都是选择的与根交换机的最短链路(看cost),而数据传输走的就是这个链路
2)确定端口的角色
根端口:仅存在于非根交换机,有且只有一个,距离根交换机最近(与根交换机直连的对面端口)
指定端口:在任何一个网段(冲突域)中,都有并且只有1个,距离根交换机最近(与根交换机距离最近的端口)
非指定端口:其他的所有的端口,都称之为“非指定端口”,非指定端口只能接收信息,不能发送信息
3)确定端口状态
down--中间状态
listening--中间状态
learning--中间状态
forwarding--最终状态
blocking--最终状态
5.STP协议中,是如何判断一个路径的距离的?
通过cost:stp协议对于不同带宽的链路,分配了一个默认的cost
cost值越小越好 --display stp
6.STP的报文格式-BPDU
root-switch:该字段包含的根交换机的BID
cost:表示的是发送该BPDU的交换机到根交换机的距离
BID:表示的是发送该BPDU的交换机的出端口
PID:表示的是port-ID,即发送该BPDU的交换机的出端口的ID(端口优先级+端口号)端口优先级默认是128
7.STP的收敛
1)交换机端口的5中STP状态
disabled(down)禁用------强制关闭
blocking阻塞--------------------只接收BPDU
listening侦听--------------------构建“活动”拓扑(端口 状态切换 15s)
learning学习---------------------构建网桥表(端口 状态切换 15s)
forwarding转发------------------发送/接收用户数据
现在交换机不做任何优化,拔掉网线后再启动会有延迟,但现在有种技术RSTP,拔掉网线时会从down直接到forwarding
2) STP生成树计时器
两种终极:一,当一台交换机一边是阻塞端口,一边是根端口,根端口连接的这条正常线路断了,阻塞端口会立即变为根端口,即非指定端口会立即转变为根端口,但状态还是blocking,会进入listening-->learning -----30s
二,交换机间连接一台hub,hub连接一台pc,hub和右边的交换机是blocking ,当左边断了,右边的交换机会维持20s(hold=20s),原因是hub能感知到左边的线断了,但hub右边的线没有问题,交换机就不能感知,当20s过后,右边的交换机还没有收到压制信息,会进行端口角色转变非指定端口-指定端口,状态由blocking转变为listening-->learning ---------50s
forward-delay(转发延迟):15s
max-age(最大存活时间):20s
因此:stp的收敛时间(故障修复时间):30s-50s
8.RSTP
快速生成树协议--为解决stp的速度慢
9.MSTP
多生成树协议--为解决网络资源中设备利用率也作互相备份的作用--负载均衡(既可以快速收敛,又提供了数据转发的多个冗余路径,在数据转发过程中实现vlan数据的负载均衡)
原文地址:http://blog.51cto.com/13721786/2115742