stp
拉迪亚·珀尔曼
STP 是由 DEC 公司的拉迪亚·珀尔曼(Radia Perlman)于1983年发明的,并且被 IEEE定为网桥(交换机) 技术的标准协议(802.1D)。DEC 公司就是那个著名的 DIX Ethernet 中的第1个字母(DIX,是 DEC、Intel、Xerox 三个公司的首字母)。
事实上,正是由于珀尔曼发明了 STP 之后,局域网和广局域网才有了大规模的联接,珀尔曼也因此被尊称为互联网之母。珀尔曼还为 STP 写了一首诗:
**Algorhyme
I think that I shall never see,
a graph more lovely than a tree.
A tree whose crucial property,
is loop-free connectivity.
A tree that must be sure to span,
so packet can reach every LAN.First,
the root must be selected.
By ID,it is elected.
Least-cost paths from root are traced.
In the tree, these paths are placed.
A mesh is made by folks like me,
then bridges find a spanning tree.
STP 干什么的?
spanning tree protocol生成树协议
STP 通过“逻辑裁剪”和“故障恢复”,比较完美地解决了冗余与环路之间的矛盾:
(1)逻辑剪枝:阻断了冗余链路,将一个冗余环路组网剪枝为一个树形组网(无环路组网)
(2)故障恢复:当活动路径发生故障时,激活冗余备份链路
直接看图说话
STP的工作原理
通过修剪树枝形成一个无环的最佳路径拓扑,修剪过程分为3个步骤:
-
选举根桥-root bridge
-
选举根端口-root port
-
选举指定端口-designated port
选举根桥-root bridge的过程简介:
什么是根网桥:
A Spanning Tree is an inverted tree. The Root bridge (switch) is a special bridge at the top of the Spanning Tree (inverted tree). The branches (Ethernet connections) are then branched out from the root switch, connecting to other switches in the Local Area Network (LAN).
生成树是倒置的树。根桥(switch)是生成树(倒置树)顶部的特殊桥。然后,分支(以太网连接)从根交换机分支出来,连接到 [局域网 (LAN)]中的其他交换机。
每个网桥都有一个桥id(BID),BID占8个字节,格式如下:32768 两个字节spanning-tree
priority +8个字节的桥硬件地址,可以查看show interface vlan1
Hardware is CPU Interface, address is 0005.5e2c.cc84 (bia 0005.5e2c.cc84)
选举根桥就是比较BID的过程。比较优先级,越小越优先;优先级相同的,比较硬件地址,越小越优先。
选举根端口-root port
一旦选择根网桥后,网络中的每个交换机都必须选择其上的一个端口能到达根网桥。交换机上具有最小路径开销到根网桥的唯一一个选定端口称为根端口。根网桥(交换机)将永远不会有根端口。根网桥(交换机)位于根目录,因此不需要根端口来到达根目录。
选举参数:
-
最重要的参数是路径开销
-
路径开销一致,portid越小越优先。
选举指定端口-designated port
定义是这样的定义的:
指定端口是特定局域网 (LAN) 段中路径开销最低的端口。每个段都有一个端口,用于到达根网桥(根交换机),称为指定端口。根端口永远不能是指定的端口。
这不是根端口的定义吗?
我觉得指定端口是用来决定在一条链路上,需要阻断那个端口。
两个桥连接的链路的两个端口,到达根网桥路径开销最低的为指定端口。
比如switch0 与switch2的链路,为什么要阻断switch2 的f0/1口呢,f0/1口到根桥的开销是19.switch0 f0/1到根桥的开销是4.
如果开销一致,比如switch12的链路,比较BID,switch1的BID小雨sw2 的BID,sw1的g0/1为指定端口,阻断sw2的g0/1.