- 论坛徽章:
- 7
|
回复 1# indigogao
不太懂MSTP 你可以到网络技术版问问.斑竹的网络协议很厉害
不过从你的描述猜测. 是要与VLAN协议相关的.
首先VLAN协议是在桥与桥之间的端口,称为内部端口
而真正的物理端口对于"基于端口的VLAN技术"来说就是一个vlan端口,一个内核中的桥就是一个虚拟局域网,当建立多个桥的时候就相当于建立了多个局网
这个概念是从<网络互连>(by Perlman)的书中概念推演出来的
从多生成树的角度.我觉得可能就是在每个vlan上建立生成树
既然有多个设备,每个设备都有桥.那么一个带vlan标志的数据包(简称VLAN包)在2个桥的内部端口传输的时候就必须是经过处理的
本来桥本身并不识别处理VLAN包而是直接转发(有过滤功能的除外)
那么我们说桥对VLAN数据包也是透明的(这里都是说的linux软件桥)
那么要在每个vlan上建立生成 首先这些桥必须是能连通的 如果一个设备上建2个桥也可以但是这相当于有2个独立的桥设备.因为他们必须的端口必然是2个互不相干集,因为一个端口只能属于一个桥,先把这种情况放一边
先假设只有一个桥 加入了所有端口.
内部生成树就是普通生成树
然后开始建立各个VLAN的生成树
因为已经是一个连通的网络.那么一个VLAN生成树所需要的桥和端口条件都已经具备.那么只会选择一个桥和端口的子集
从这点可以看出如果是这样实现,那么你需要修改的是给端口扩充VLAN标志, 给桥扩充多个VLAN组标志,并哪个端口属于哪个组都记录 内部借口不需要记录 因为我们假设它总是与另一个桥相连接并只传VLAN包(当然还有桥自己的协议包)
这里有个选择 不带VLAN标志的端口其数据包通过内部端口时是加默认的标志 还是完全非VLAN包传输?既时候应该兼容原来的桥.这是个实际设计选择问题.通常选择前者
现在看内部建多个桥的情形
首先假定内部一个桥就代表一个隔离的vlan 即一开始桥就必须打上VLAN记号. 而且成为2个独立的设备(这个设计可能和实际需求:一个物理设备即使一个桥设备不符合因为2个桥就是2个生成树的节点,所以不建议这么做),他们先建立一个不分VLAN的生成树.这个时候就是相互连通的,那么在在这个基础上建立各个VLAN下的生成树.
很明显不管哪种你必须添加一个带VLAN标志的生成树协议.
以上只是个人建议 谨慎采纳 |
|