【网络协议】笔记六 | 交换机与VLAN

原文链接:交换机与VLAN

核心知识点

  • STP协议解决交换机环路问题
  • 理解STR协议
  • 使用VLAN解决广播域冲突

宿舍使用一台交换机就完全没有问题了,但要是写字楼办公室的可以就需要多台交换机了。多台交换机连接起来,就形成稍微复杂的拓扑结构

拓扑结构的形成

【网络协议】笔记六 | 交换机与VLAN

  • 两台交换机
  • 机器1只知道机器4的IP地址,还需要机器4的MAC地址才能把包送到机器4
  • 机器1发起广播,没机器2的事
  • 交换机A收到,转发给出了来源处的其他网口
  • 机器3收到,也没机器3的事
  • 交换机B连着局域网LAN2,所以交换机B也收到,也继续广播
  • 机器4和机器5收到,机器4响应MAC地址
  • ARP请求成功

机器的链路层能够学习,交换机也能够学习

  • 机器A当经过一次交换机A,那么交换机A以后都知道机器A是在左边局域网LAN1

机器多了,多台交换机就有可能连接着相同的两个LAN,就回形成环路

解决常见的环路问题

【网络协议】笔记六 | 交换机与VLAN

  • 机器1需要访问机器2
  • 交换机A此时还没有学习,并不知道A是在LAN1还是LAN2于是,广播到LAN2
  • LAN2存在着这个广播包,于是交换机B从右边接受到LAN2过来的广播包,广播到LAN1
  • 交换机A此时还是不知道机器2在哪,于是再次广播到LAN2
  • 不断重复3、4步骤

一开始交换机A和B都接受到左边LAN1中机器1的广播包,学习到机器1是在左边的LAN1中。

但当交换机AB把该广播包广播到右边LAN2时,A接受到来自B的广播包,B也接受到来自A的广播包,不断循环。

其他机器也继续发着广播包,通信链路越来越堵,最后走不动。

于是就产生了死循环的环路问题。

于是应用了STP协议

理解STP协议

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

应用了STP协议的办公室交换机结构图
【网络协议】笔记六 | 交换机与VLAN
概念

  • Root Bridge-根交换机
  • Designate Bridges-子交换机
  • Bridge Protocol Data Units(BPDU)-网桥协议数据单位元
  • Priority Vector – 优先级向量

BPDU介绍

  1. BPDU是交换机之间发送的用于构建无环路拓扑的消息称为网桥协议数据单元
  2. BPDU是二层报文
  3. BPDU中包括用于计算生成树的参数信息

【网络协议】笔记六 | 交换机与VLAN

  • Root Bridge ID (BID)—本交换机认为的根交换机ID
  • Root Path Cost —本交换机认为的根交换机路径开销
  • Bridge ID —本交换机的ID
  • Port ID—发送该BPDU的端口ID

也就是说BPDU代表两交换机连接的连接与开销

STR协议过程

【网络协议】笔记六 | 交换机与VLAN
哪个数字最小就是根交换机
其他交换机哪条通往根交换机最短的路就是交换机转发广播包的路径
最终转发路径如下
【网络协议】笔记六 | 交换机与VLAN
原本1-5-6是一个环,确定好最短通信路径,这个环通信就不成环了

  • 5要是需要转发到1就,5->6->1
  • 1要是需要转发到5就,1->6>5

解决广播问题和安全问题

机器多了,交换机多了,就需要划分广播域来更方便管理了
两种划分方法
物理隔离:
配置单的独交换机,单独的子网,通过路由器(另讲)向其他广播域沟通
虚拟隔离:
VLAN,虚拟局域网。
【网络协议】笔记六 | 交换机与VLAN

【网络协议】笔记六 | 交换机与VLAN

如果交换机是支持VLAN的,可以设置交换机每个端口所属的VLAN,交换机会把广播包的二层头取下来,识别VLAN ID,广播包的转发只在相同的端口 VLAN ID中进行。

端口会根据所属VLAN ID在广播包二层头中加一个TAG再转发出去。

Tag里面有一个端口 VLAN ID,一共 12 位,可以划分4096个VLAN。用以确定那个相同VLAN ID端口接受。

具体可以参考以下链接内容:
https://baike.baidu.com/item/%E8%99%9A%E6%8B%9F%E5%B1%80%E5%9F%9F%E7%BD%91/419962?fromtitle=VLAN&fromid=320429&fr=aladdin
http://network.51cto.com/art/201409/450885.htm

交换机之间通过叫做Trunk口来进行连接,用来转发属于任何VLAN的口。
这里介绍的是一般复杂的的场景,还有云计算其他的另说。

知识复盘

如何解决交换机环路问题?

应用STP协议

如何划分广播域?

物理隔离或者虚拟隔离VLAN,一般使用虚拟隔离

额外知识

STP协议有什么缺点?

  1. 拓扑收敛慢,当网络拓扑发生改变的时候,生成树协议需要50-52秒的时间才能完成拓扑收敛,数越大需要的时间越长,这期间就是网络中断。
  2. 不能提供负载均衡的功能。当网络中出现环路的时候,生成树协议简单的将环路进行Block,这样该链路就不能进行数据包的转发,浪费网络资源。

小结

  • 当交换机的数目越来越多的时候,会遭遇环路问题,让网络包迷路造成广播风暴,这就需要使用 STP 协议,将有环路的图变成没有环路的树,从而解决环路问题。
  • 交换机数目多会面临隔离问题,可以通过 VLAN 形成虚拟局域网,从而解决广播问题和安全问题。