美文网首页网络协议
05 交换机与VLAN以及STP 协议

05 交换机与VLAN以及STP 协议

作者: leacoder | 来源:发表于2019-08-18 17:20 被阅读0次

    目录:

    https://www.jianshu.com/p/1961df2a1336

    拓扑结构

    多台交换机之间连接起来, 形成一个拓扑结构

    两台交换机的情形

    两台交换机连接着三个局域网, 每个局域网上都有多台机器。

    两台交换机.png

    机器1知道机器4的IP地址, 需要访问机器4(就需要知道MAC地址):

    获取机器4 MAC地址步骤:

    • 机器1发起广播

      • 机器2收到这个广播, 不是找它的不处理
      • 交换机A一开始不知道任何拓扑信息, 收到这个广播后, 除了广播包来的方向外还要转发给其他所有的网口
        • 机器3也收到广播信息, 不是找它的不处理
        • 交换机B收到广播信息不知道任何拓扑信息, 转发到局域网三
          • 机器4收到广播信息, 主动响应, ARP请求完成
          • 机器5收到广播信息, 不是找它的不处理

    这次请求的结果:
    交换机A和交换机B学习到这样的信息: 机器1是在左边这个网口的.

    机器2找机器1

    • 机器2发起广播(ARP请求)
      • 机器1,收到这个广播主动响应, ARP请求完成
      • 交换机A收到这个广播, 已经知道机器1是不可能在右边的网口的, 不转发

    机器3访问机器1

    • 机器3发起广播(ARP请求)
      • 交换机A收到广播请求,知道机器1是在左边这个网口, 转发到局域网一
      • 交换机B收到广播请求,已经知道机器1是不可能在右边的网口的, 不转发

    环路问题

    环路问题.png

    机器1访问机器2

    • 机器1发起广播(ARP请求)
      • 机器2收到广播请求, 主动响应, ARP请求完成
      • 换机A(不知道机器2在哪)收到广播请求, A右转发到局域网二
        • 交换机B右边这网口收到广播消息, B左转发到局域网一
          • 交换机A还是不知道机器2在哪个局域网, A右转发到局域网二
            • ...(环路)

    当两台交换机都能够逐渐学习到拓扑结构之后, 是不是就可以了?
    ** 不行 **

    • 机器1的广播包到达交换机A和交换机B的时候
      • 两个交换机学会了机器1是在局域网一
      • 当交换机A将包广播A右到局域网二之后, 交换机B右边的网口收到来自交换机A的广播包
        • 根据学习机制, (因为机器1的广播出现在右边的网口)清理上次学习记录, 学会了机器1在右边的网口(局域网二)
      • ( 同理)交换机A右边的网口, 也能收到交换机B转发过来的广播包, 也会误会重新学习机器1是从右边的网口来的, 不是左边
        • 重复...

    STP 协议,解决环路方案

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

    STP 协议.png

    Root Bridge, 根交换机. 比喻: 掌门交换机, 某棵树的老大.

    Designated Bridges, 指定交换机. 是一棵树的树枝. 指定的意思是, 我拜谁做大哥, 其他交换机通过这个交换机到达根交换机. 不是叶子, 叶子往往是主机.

    Bridge Protocol Data Units (BPDU), 网桥协议数据单元, 比喻: "相互比较实力的"协议. BPDU只有掌门能发. 已经隶属于某个掌门的交换机只能传达掌门的指示。

    Priority Vector, 优先级向量, 比喻为"实力"值越小越厉害

    • 实力:

      • Root Bridge ID
      • Root Path Cost
      • Bridge ID
      • Port ID
    • 比较:

      • 先比较Root Bridge ID, 越小越厉害
        • 如果一样, 比较Root Path Cost(距离老大的距离), 越小越厉害
          • 如果一样, 比较Bridge ID. 比自己的ID.

    STP 工作过程

    开始

    • 混乱
    • 每个交换机分配一个ID, 由管理员分配的优先级.
    • 交换机分配优先级, 由管理员分配.
    • 交换之间连接的数字是交换机之间的距离.
    STP-1.png

    互相发送BPDU来比

    STP-2.png

    图中的粗线表示已经形成的门派

    数字表示优先级:

    • 5(掌门)-6(小弟)
    • 3(掌门)-4(小弟)
    • 1(掌门)-7(小弟)
    • 2(掌门)-8(小弟)

    合并过程: 情形一:掌门遇到掌门

    STP-3.png
    • 5遇见1
      • 1胜出
        • 5率领所有的小弟归顺

    结果:

    • 1-7-5-6
    • 2-8
    • 3-4

    合并过程: 情形二:同门相遇

    STP-4.png

    同门相遇,掌门与自己的小弟相遇(1和6), 说明存在环. 6已经通过其他门路拜在1的下面.

    • 1和6不认识(6原来是在5下面,5才在1下面)
      • 1和6PK
        • 6到1的距离只有2, 比从5过来(4+1)要小. Root Path Cost
        • 6直接汇报给1

    同门相遇,小弟相遇, 就是比和掌门的关系Root Path Cost, 距离近的是大哥.

    • 5和6PK
      • 5到1的距离是4
      • 6到1的距离是2
      • 5->6->1的距离是3
        • 5拜6为大哥

    结果:

    • 1-7-5-6
    • 2-8
    • 3-4

    合并过程: 情形三: 掌门与其他帮派小弟相遇

    小弟用本帮掌门和整个掌门比较:

    • 赢了, 这个掌门拜入门来
    • 输了, 会拜入新掌门, 并且逐渐拉拢和自己连接的兄弟一起弃暗投明.
    STP-5.png
    • 2和7PK
      • 7的掌门是1, 比2小
      • 2连同自己的小弟一起拜入7的门派.

    结果:

    • 1-7-2-8-6-5
    • 3-4

    合并过程: 情形四: 不同门派小弟相遇

    STP-6.png

    各自拿掌门比较, 输了的拜入赢的门派, 并且逐渐拉拢和自己连接的兄弟一起弃暗投明.

    • 5和4PK
      • 5的掌门是1, 4的掌门是3. 5比4厉害.
        • 4拜入5的门派
        • 3和4相遇, 4已经叛变了.
          • 4的掌门是1比3厉害
            • 3也拜入了1

    结果:

    • 1-7-2-8-6-5-4-3

    最终 生成一棵树

    广播问题和安全问题

    一大堆机器广播, 性能下降;有的需要保密, 所有包都会在一个局域网传输, 如果没有加密会有安全问题.

    解决方案一: 物理隔离

    每个部门都有单独的交换机, 配置单独的子网, 部门之间的沟通就需要路由器. 有可能会浪费资源.

    解决方案二: 虚拟隔离

    VLAN, 虚拟局域网.

    问题:
    VLAN ID有12位,。可以划分4096个用户.每个用户需要一个VLAN。云计算厂商里面绝对不止4096 个用户,VLAN ID就不够用.

    使用VLAN, 一个交换机会连属于多个局域网的机器, 怎么区分?

    VLAN包的格式:

    VLAN包的格式.png

    在原来的二层的头上加一个TAG, 里面有一个VLAN ID.

    如果交换机是支持VLAN的, 当这个交换机把二层的头取下来的时候, 就能够识别这个VLAN ID. 这样:

    • 只有相同的VLAN的包, 才会互相转发.
    • 不同VLAN的包, 是看不到的.
    VLAN.png

    Trunk 口

    交换机之间连接. 对应支持VLAN的交换机, 有一种口叫做Trunk口. 可以转发属于任何VLAN的口. 交换机之间可以通过这种口互相连接

    小结

    • 当交换机的数目越来越多的时候, 会遭遇环路问题, 让网络包迷路, 通过使用STP协议, 将有环路的图变成没有环路的树, 从而解决环路问题。

    • 交换机数目多会面临隔离问题, 可以通过 VLAN 形成虚拟局域网, 从而解决广播问题和安全问题。

    参考资料:

    趣谈网络协议(极客时间)链接:
    http://gk.link/a/106nW


    GitHub链接:
    https://github.com/lichangke/LeetCode

    知乎个人首页:
    https://www.zhihu.com/people/lichangke/

    简书个人首页:
    https://www.jianshu.com/u/3e95c7555dc7

    欢迎大家来一起交流学习

    相关文章

      网友评论

        本文标题:05 交换机与VLAN以及STP 协议

        本文链接:https://www.haomeiwen.com/subject/lbkrsctx.html