戏说网络(二)

上一篇我们聊到了从最原始的两个人的连接需求到多个人的连接需求,进而衍生出了 MAC 地址、交换机等网络概念。今天我们来继续瞎聊。

交换机互联

当要连接的人越来越多,超过 10 个、20 个、30 个、50 个,我们的一个交换机也没有那么多网口了。聪明的同学肯定想到了,交换机连交换机。每个交换机上连接 10 来个人,来几个交换机就能连接几倍的人数。假设 A、B 接在交换机一的 1、2 网卡上,C、D 接在交换机二的 1、2 网卡上,交换机一和二的 3 号网卡互相连着。则经过若干次广播之后,交换机一的 MAC 地址表会是这样:

戏说网络(二)

交换机二的 MAC 地址表会是这样:

戏说网络(二)

广播风暴

那么要经过多少次广播呢?广播又会有什么不一样呢?假设当地址表都是空的时候,A 要给 B 发送数据。此时地址表里找不到 B,于是交换机一开始广播。广播的数据也会通过 3 号网卡到达交换机二。交换机二里也是空的,也没有 B,于是又在交换机二里广播。所以 A 给 B 发送数据会导致交换机一、二都发生广播。接下来 A 给 C 发送数据,交换机一地址表没有 C(此时只有 A 和 B),所以又要广播。同样交换机二也要广播。我们可以把所有情况都列下来:

戏说网络(二)

有没有发现?任何一个交换机的广播,都可能导致连接的另一个交换机也产生广播?广播被逐级放大。互联的交换机越多,在每个交换机产生的广播就越频繁。正常的数据发送通道就被广播给占用了,导致网络不堪重负。

缓存

也许有的同学会有疑问,也就是当地址表中没有对应项时才会发生广播,当每个交换机都有了整个网络的所有地址后,也就不会再有广播了。的确是!但这是建立在网络很稳定的基础上。如果 A 拔了网线换成 E 呢?如果 A 跟 C 交换了位置呢?所以地址表不能一成不变,它必须要适应这种变化。也就是说,我们要在必要的时候刷新它们。最简单的做法,就是定时清除地址表里的记录了。也可以说,地址表仅仅就是一种缓存,并不是永久存储。而且缓存的时间一般不会太长,可能也就几秒到几十秒,避免位置变化导致用户无法通信。

更大的连接

这样来看,广播的频率还是比较高。这就限制了通过交换机互联的网络,不宜过大。这样几十人一个交换机网络,就形成一个一个的网络小孤岛。其实也挺好,大家在各自的网络小空间里,悠然自得。但什么事都怕时间二字。时间长了,总会觉得腻的,毕竟外面的世界那么大,谁都想去看看。可我们已经不能用交换机了。怎么办?在找到办法之前,先来看看我们面临的问题:

  • 不能再任由广播风暴产生了
  • 小网络圈子里太随意,地址随意填。这样网络对接时,大家使用的地址就可能有冲突
  • 甚至这个小网络里,大家使用的协议都不一样,有的网络里用的可能并不是 MAC 地址
  • 将来要连接的网络还会更多,不能任意填写地址了,必须有专门的管理方式

还有没有其他问题?大家可以先想想。下一篇我们来聊聊解决办法。


分享到:


相關文章: