终端设备之间在传输数据的时候,都是通过网线。但是信号在网线上的传输距离很有限,所以我们为了延长信号的传输距离,我们就有了“电信号放大器”,即 中继器;但是,中继器最大的问题是:仅仅有2个接口。所以后来就出现了另外一个设备,集线器。即多端口的中继器,但是,通过集线器连接的设备越来越多的时候,就会发现:特别容易出现冲突(即电信号的冲突),所以,我们就有了以下的各种“缓解”或者“解决”方案:
方案1- CSMA/CD,带有冲突检测的“载波侦听多路访问”机制。即每个设备在发送数据包之前,都会发送一个“探测信号”,询问一下该网络中目前是否有人在发送数据,如果没有都话,就可以开始发送数据了,如果有人想要发送数据,则“回退”一个随机的时间,继续等待。
方案2- 分隔冲突域。如果将一个冲突域中的设备数量减少,那么信号冲突的概率就会大大的降低。针对该方案,我们使用的产品是“网桥”,即 Bridge,但是网桥的端口,仅仅只有2个。
所以,我们才有了“交换机”,即 Switch。交换机的每一个端口,都是一个不同的冲突域!所以通常交换机也称之为“多端口的网桥”
方案3- 端口双工模式。双工模式表示的是一个端口同一时刻收发数据包的模式。分为半双工和全双工。半双工,指的是同一个端口,在同一个时刻只能收或者只能发。全双工,指的是同一个端口,在同行一个时刻可以同时收和发数据包。从而利用“全双工”完全解决了信号冲突的问题。
另外,在每一个网络中,必然存在交换机设备。因为这种设备:端口数量多,价格便宜。也正是因为该类型的设备,在任何一个网络中都存在,并且是直接连接“电脑终端”的,所以我们必须要学会和掌握“交换机”的工作原理。
交 换 机 的 工 作 原 理
交换机属于 OSI 模型第二层的设备,即:交换机在处理数据的时候,只能查看数据的2层头部信息,即 MAC 地址头部信息;
MAC地址头部包括:目标MAC+源MAC+类型
工 作 过 程:
- 形成MAC地址表【关注的是“源MAC”】
- 任何一个交换机,在任何时候,通过任何一个端口,学习到任何一个数据帧的时候,都会:将数据帧的**“源MAC”**地址,和,数据的“入端口”形成一个对应条目,记录下来。这就是所谓的“MAC地址条目”【实际是:源MAC - 入端口 - 入端口属于的 VLAN】
- 查找MAC地址表【关注的是“目标MAC”】
- 交换机继续查看数据帧的“目标MAC”,然后再MAC地址表中,查看一下是否存在“相同的MAC地址条目”
- 结果1:如果有对应的MAC地址条目,则直接从对应的接口转发出去;
- 结果2:如果没有对应的MAC地址条目,则直接广播(即除了入端口以外的其他所有端口,都转发出去;)
- 查看交换机的MAC地址表 display mac-address