很高兴这么快就能发表我在51CTO上的第二篇博文,昨天晚上在做CCNA TK的时候碰到的STP防环选择的问题,始终都想不明白,研究了两个晚上以及参考其他同志的思想,突发奇想(呵呵,不要扔鞋)到了一个比较形象具体的方法来理解STP的防环选择工作过程(思绪还不太清晰,在以后更新中慢慢完善了,语言表达不好之处请原谅)。
       STP防环选择过程是  Root Bridge->Root Port->Designated Port,理论上影响这个过程有4个剑客,即Bridge IDRoot Path CostSend BIDPortID,这个大家都了解了就不废话了。
    Root Bridge就不用说了,在这里主要说根路径Cost对后两个Root Port/Designated Port的影响,这点也是大家比较难选择的或者容易产生分歧的地方。
    首先在这里兑现我的那个想法吧:
       Root Port选择:把自己放到非根桥交换机的位置,沿着每个端口可到达Root Bridge,每个端口对应一条路径可得到Root Path Cost
       Designated Port选择:你自己站在链路的中点,从链路的中点开始沿着不同的该链路上的端口到达Root Bridge,这样就可以得到Root Path Cost了。
    我的方法是注重于根和指定端口选择的角度问题,同样也适用于理解Send ID,选择根端口时是每个端口连接的对端的Bridge ID,而选择指定口时是链路两端的交换机即是端口所在的Bridge ID。 (这样选择Root和Designated的两个过程的根路径是不相同的,虽然科学的讲都是根据接收的BPDU和端口Cost计算选择,但那样我理解不了,我的想法可能不够科学,但能得到结果,呵呵)
    在这里采用了我在TK中遇到的难题:
 
    Root Bridge是SWC,Root Port有SWA的Fa0/1、SWBGi0/1、SWDGi0/2,Designated Port有SWD的Gi0/1口,这些都没什么问题,主要问题在SWA-SWB这个链路上的指定端口的选择:
    我应该站在链路上选择指定口,Fa0/2-我-Gi0/2,则Fa0/2的根路径是“我-SWA-SWC”,Gi0/2的根路径是“我-SWB-SWD-SWC”,则很容易分辨出Fa0/2比Gi0/2具有更优的Root Path Cost。(注:链路一端是Fa口一端是Gi口,链路实际只运行在100M,和两端是Fa口的链路Cost是一样的)。
    Root和Designated端口选择都需要比较根路径Cost,但其实两者的根路径Cost应该站在不同的角度来计算,Root Port站在交换机的角度,而Designated Port站在链路的角度。平时我们选择端口的时候可能把自己定位在端口的角度,那根路径是发出去的方向还是反向内部“穿越交换机”来指定的根路径呢,这样比较很容易迷惑。有些同学说SWA Fa0/2在Designated的选择中这样算根路径Cost:一个是SWA-SWB-SWD-SWC,另一个是穿越SWA到达SWC,端口对比两个路径选择后者作为根路径。这样的说法就是犯了我所说的迷惑了。
    虽然我的方法还不够科学,但我认为这样能正确选择STP端口,理解起来也比较清晰简单,也能适应各种拓扑结构。大家可以用我的方法来看看其他TK中类似的题目,如果我说的不对欢迎赐教。
补充:
    发现了一条支持我的观点的理论:根端口是负责接收跟桥数据的端口,而指定端口是负责转发交换机接收到的跟桥数据的端口。