冲突域和广播域是以太网的两个基本概念。简而言之,网络中的“冲突”事件能够被感知到的区域就是“冲突域”,而一个广播报文所能到达的区域就是“广播域”。这样的表述还是不够直观,需要通过一些具体的例子来解释。
冲突域
早在1973年,Xerox公司的试验以太网Alto ALOHA网络在1000米的粗同轴电缆上连接了100台主机。当时的网络拓扑可以简化为图1:
图1
如果主机A发送的数据帧和主机B发送的数据帧发生冲突,那么冲突信号会传遍整条电缆,这样链路上所有的主机都能感知到冲突,进而做出适当的反应。这个网络是一个冲突域。
信号传输过程中,会出现衰减。中继器可以对衰减的信号进行放大,一定程度上增加了以太网的传输距离。
图2
如果链路上发生了冲突,中继器也会将冲突信号放大并传输到更远的地方。因此,中继器连接起来的网络也是一个冲突域。
1987年前后,以太网Hub实现了商品化,传输介质也从同轴电缆换成了双绞线,以太网的组网方式发生了明显的变化。.本质上讲,Hub是多端口的中继器。
图3
通过Hub连接的以太网,仍然是一个冲突域。如果将图3中Hub横向拉伸,端口之间的距离变大,那么就和最初的以太网拓扑一样了。当然,这只是为了理解的方便而做的变通,实际上Hub内部使用了集成电路芯片,实现了中继器的功能,其内部实现的复杂度远高于仅用一条同轴电缆搭建的以太网。
中继器和Hub一定程度上可以增加以太网的传输距离,但是随着主机的增多,发生冲突的机率会明显增加。要解决这个问题,可以使用网桥隔离冲突域。
广播域
1984年,DEC公司将LAN网桥实现了商品化,此时以太网Hub还没有问世。如果把中继器的位置换成网桥,网络的行为会有什么不同呢?
图4
上图中,主机A发送的数据帧可以传送到网桥的另一侧。如果主机A和B的数据帧发生冲突,冲突信号到达网桥时就截止了。主机A所在链路上的冲突不会影响网桥另一侧的正常工作。这种情况下,网桥两侧各是一个冲突域,而整个网络则属于同一个广播域。
1989年,Kalpana公司发布了交换机,交换机本质上是多端口的网桥。随着交换机成本的降低,交换机逐渐取代Hub成为主流的组网方式。冲突域就像曾经的庞大帝国,疆域越来越小,最终几近消失。今天的网络中,要找到一个冲突域的话,笔者能想到的就是两个直连的端口了,而且端口必须工作在半双工模式。10G及以上的以太网不再支持半双工模式,也就不存在冲突域了。
除了广播报文,多播和目的MAC未知的单播报文也会在广播域内广播,很可能消耗大量的带宽,降低网络的效率。实际应用中,往往需要控制广播域的覆盖范围。交换机的多个端口划分到不同的VLAN中,每个VLAN就是一个独立的广播域,这样就可以实现广播域的隔离。
总结
在OSI七层模型中,中继器和Hub位于第一层(即物理层),网桥和交换机则涵盖了物理层和数据链路层,其实现在的交换机大多数已经具备了三层功能。中继器和Hub只有信号的概念,不区分数据帧和冲突信号;网桥对数据帧进行再生,对冲突信号则进行屏蔽,因此可以隔离冲突域。