06-交换机与VLAN

        拓扑结构是怎么形成的

        我们常见到的办公室大多数是一排排的桌子,每个桌子都有网口,一排十几个作为就有十几个网口,一个楼层就会有几十个甚至上百个网口。如果算上所有楼层,这个场景自然比你宿舍里的复杂的多了。

        具体哪里复杂呢,首先,这个时候一个交换机肯定是不够用的,需要多态交换机,交换机之间连接起来,就形成一个稍复杂的拓扑结构。

        首先来看两台交换机的情形,两台交换机连接着三个局域网,每个局域网上都有多台机器,如果机器1只知道机器4的IP地址,当它想访问机器4,把包发出去的时候,它必须要知道机器4的MAC地址。

        

        于是机器1发起广播,机器2收到这个广播,但是这不是找它的,所以没它什么事。交换机A 一开始是不知道任何拓扑信息的,在它收到这个广播后,采取的策略是,除了广播包来的方向外,它还要转发给其他所有的网口。越是机器3也收到了广播信息了,但是这和它也没什么关系。

        当然,交换机B也是能够收到广播信息的,但是这个时候也是不知道然和拓扑信息的,因而也是进行广播的策略,将包转发到局域网三。这个时候,机器4和机器5都收到了广播信息。机器4主动响应说,这是找我的,这是我的MAC地址。于是一个ARP请求就成功完成了。

        这上面的过程中,交换机A和交换机B都是能够学习到这样的信息:机器1是在左边这个网口的,当了解到这些拓扑信息之后,情况就会好转起来。当机器2要访问机器1的时候,机器2并不知道机器1的MAC地址,所以机器2会发起一个ARP请求。这个广播消息会到达机器1,也同时会到达交换机A。这个时候交换机A已经知道机器去是不可能在右边的网口的,所以这个广播信息不会广播到局域网二和局域网三。

        当机器3要访问机器1的时候,也需要发起一个广播的ARP请求。这个时候交换机A和交换机B都能够收到这个广播请求。交换机A当然知道主机A是在左边这个网口的,所以会把广播消息转发到局域网一。同时,交换机B收到这个广播消息之后,由于它知道机器1是不在右边这个网口的,所以不会将消息广播到局域网三。

        如何解决常见的环路问题?

        这样看起来,两台交换机工作得非常好。随着办公室越来越大,交换机数目肯定越来越多。当整个拓扑结构复杂了,这么多网线,绕来绕去,不可避免地会出现一些意料不到的情况。其中常见的问题就是环路问题。

        当两个交换机将两个局域网连接起来的时候。你可能会觉得,这样反而有了高可用性,但是不幸的出现了环路。出现了环路会有什么结果呢?

        我们来想象一下机器1访问机器2的过程。一开始,机器1并不知道机器2的MAC地址,所以它需要发起一个ARP的广播。广播到达机器2,机器2会把MAC地址返回来,看起来没有这两个交换机什么事情。

        但是问题来了,这两个交换机还是都能够收到广播包的。交换机A一开始是不知道机器2在哪个局域网的,所以它会把广播消息放到局域网二。在局域网二广播的时候,交换机B右边这个网口也是能够接收到广播消息的。交换机B会将这个广播消息发送到局域网一。局域网一的这个广播消息,又会到达交换机A左边的这个接口。交换机A这个时候还是不知道机器2在哪个局域网,于是将广播包又转发到局域网二。这样转来转去成为了一个圈。

        那么是不是当两台交换机都能够逐渐学习到拓扑结构之后,就可以了呢?答案是否定的,两台交换机是怎么都学不会的。机器1的广播包到达交换机A和交换机B的时候,本来两个交换机都学会了机器1是在局域网一的,但是当交换机A将包广播到局域网二之后,交换机B右边的网口接到了来自交换机A的广播包。根据学习机制,这彻底损坏了交换机B的三观,刚才机器1还在左边的网口呢,怎么又出现到了右边的网口呢?那是机器1换位置了吗?于是误会叫产生了,交换机B就学会了,机器1是从右边这个网口来的,把刚才学习的那一条清理掉。同理,交换机A右边的网口,也能收到交换机B转发过来的广播包,同样也误会了,于是也学会了,机器1从右边的网口来,不是从左边的网口来。

        然而当广播包从左边的局域网一广播的时候,两个交换机的三观再次被刷新,原来机器1是在左边的,过了一会,发现不对,是在右边的,过一会,又发现不对,是在左边的。

        这还是一个包转来转去,每台机器都会发广播包,交换机转发也会复制广播包,当广播包越来越多的时候,路就会越来越堵,最后谁也别想发出去。所以必须找到一个解决环路的办法。

        STP协议中那些难以理解的概念

        在数据结构中,有一个方法叫做最小生成树。有环的我们常称为图,将图中的环破坏了,就生成了树。在计算机网络中,生成树的算法叫作STP,全称Spanning Tree Protocol。

        STP协议比较复杂,一开始很难看懂,但是其实这是一场血雨腥风的武林比武或者华山论剑,最终决出五岳盟主的方式。

         在STP协议里有很多概念,译名非常拗口

        Root Bridge,也就是根交换机,这个比较容易理解,可以比喻为“掌门”的交换机,是某棵树的老大,是掌门,最大的大哥

        Designated Bridges,翻译为指定交换机,这个比较哪里接,可以想象成一个“小弟”,对于树来说,就是一棵树的树枝。所谓指定的意思是,我拜谁做大哥,其他交换机通过这个交换机到达根交换机,也就相当于拜他做了大哥。这里注意是树枝,不是叶子,因为叶子往往是主机。

        Bridge Prorocol Data Units(BPDU),网桥协议数据单元,可以比喻为“相互比较实力”的协议,行走江湖,比的就是武功,拼的就是实力。当两个交换机碰见的时候,也就是相连的时候,就需要相互比一比内力了。BPUD只有掌门能发,已经隶属于某个掌门的交换机只能传达掌门的指示。

        Priority Vector,优先级向量,可以比喻为实力(值越小越牛)。就是一组ID数目,为什么这样设计呢?这是因为要看怎么来比实力,先看Root Bridge ID。拿老大的ID看看,发现掌门一样,那就是师兄弟;再比Root Path Cost,也即我距离老大的距离,也就是拿和掌门关系比,看同一个门派内谁和老大关系铁;最后比Bridge ID,比我自己的ID,拿自己的本事比。

        STP的工作过程是怎样的?

        一开始江湖纷争,异常混乱,大家都觉得自己是掌门,谁也不服谁。于是,所有的交换机都认为自己是掌门,每个网桥都被分配了一个ID。这个ID里有管理员分配的优先级,当然网络管理员哪里知道哪些交换机贵,哪些交换机好,就是给他们分配高的优先级。这种交换机生下来武功就很高,起步就是乔峰。

        

 

        既然都是掌门,相互都连着线,就互相发送BPDU来比较功夫。这一比较就发现,有人是岳不群,有人是封不平,赢的接着当掌门,输的就只好做小弟了。当掌门的还会继续发BPDU,而输的人就没有机会了。他们只有在收到掌门发的BPDU的时候,转发一下,表示服从命令。

        数字表示优先级,上图所示,5和6碰见了,6的优先级低,所以就乖乖做了小弟,于是一个小门派形成了,5是掌门,6是小弟。诸如1-7、2-8、3-4这样的小门派,也诞生了。于是江湖出现了很多的小门派,小的门派,接着合并。

 情形一:掌门遇到掌门

        当5碰到了1,掌门碰见掌门,1觉得自己是掌门,5也刚刚跟别人PK完成为掌门。这俩掌门比较功夫,最终1胜出。于是输掉的掌门5就会率领所有的小弟归顺。结果就是1成为了大掌门。

情形二:同门相遇

        同门相遇可以是掌门与自己的小弟相遇,这说明存在“环”了。这个小弟已经通过其他门路拜在你的门下,结果你还不认识,就PK了一把。结果掌门发现这个小弟功夫不错,不应该级别这么低,就把它招到门下亲自带,那这个小弟就相当于升值了。

        假如1和6相遇。6原来是拜在1的门下的,只不过6的上司是5,5的上司是1。1发现,6距离我才有2,比从5这里过来的距离5进多了,那6就直接汇报给我吧。于是,5和6分别汇报给1。

        同门相遇还可以是小弟相遇,这个时候就要比较谁和掌门的关系近,当然近的当大哥。刚才5和6同时汇报给1了,后来5和6比较功夫的时候发现,5直接汇报给1的距离是4,如果5汇报给6再汇报给1,距离只有2+1=3,所以5干脆拜6为上司。

情形三:掌门与其他帮派小弟相遇

        小弟拿本帮掌门和这个掌门比较,赢了,这个掌门拜入门来。输了,会拜入新掌门,并且逐渐拉拢和自己连接的兄弟,一起弃暗投明。

        例如2和7相遇,虽然7是小弟,2是掌门。就个人武功而言,2比7强,但是7的掌门是1,比2牛,所以没办法,2要拜入7的门派,并且连同自己的小弟都一起拜入。

情形四:不同门小弟相遇

        各自拿掌门比较,输了的拜入赢的门派,并且逐渐将于自己连接的兄弟弃暗投明。例如5和4相遇。虽然4的武功好于5,但是5的掌门是1,比4牛,于是4拜入5的门派。后来当3和4相遇的时候,3发现4已经叛变了,4说我现在的老大是1,比你牛,要不你也来吧,于是3也拜入1。

       最终,生成一棵树,武林一统,天下太平。但是天下大势,分久必合,合久必分,天下统一久了,也会有相应的问题。

        如何解决广播问题和安全问题

        

        

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值