3.2 相关知识
共享式以太网(即使用集线器或共用一条总线的以太网)采用了载波监听多路访问/冲突检测(Carries Sense Multiple Access with Collision Detection,CSMA/CD)机制来进行传输控制。共享式以太网的典型代表是使用10Base-2、10Base-5的总线型网络和以集线器为核心的10Base-T星形网络。在使用集线器的以太网中,集线器将很多以太网设备(如计算机)集中到一台中心设备上,这些设备都连接到集线器中的同一物理总线结构中。从本质上讲,以集线器为核心的以太网同原先的总线型以太网无根本区别。
1.集线器的工作原理
集线器也就是常说的Hub,是一个物理层设备。集线器是一种共享式的网络设备,即每个时刻只能有一个端口在发送数据。集线器并不处理或检查其上的通信量,仅通过将一个端口接收的信号重复分发给其他端口来扩展物理介质。所有连接到集线器的设备共享同一介质,其结果是它们也共享同一冲突域、广播域和带宽。因此集线器和它所连接的设备组成了一个单一的冲突域。如果一个节点发出一个广播信息,集线器会将这个广播传输给所有同它相连的节点,因此它也是一个单一的广播域。当网络中有两个或多个站点同时进行数据传输时,将会产生冲突,如图3.2和图3.3所示。
图3.2 集线器直接连接
图3.3 多级集线器连接
当网络中节点过多时,冲突将会很频繁,利用Hub连网并不适合,这也限制了以太网的可扩展性。交换机采用将冲突区域分割的方法解决了这个问题。
2.共享式以太网的工作特点
(1)带宽共享
在局域网中,数据都是以“帧”的形式传输的。共享式以太网是基于广播的方式来发送数据的,因为集线器不能识别帧,所以它就不知道一个端口收到的帧应该转发到哪个端口,它只好把帧发送到除源端口以外的所有端口,这样网络上所有的主机都可以收到这些帧。这就造成了只要网络上有一台主机在发送帧,网络上所有其他的主机都只能处于接收状态,无法发送数据。也就是说,在任何一时刻,所有的带宽只分配给了正在传送数据的那台主机。举例来说,虽然一台 100Mbps的集线器连接了 20台主机,表面上看起来这20台主机平均分配5Mbps带宽。但是实际上在任何一时刻只能有一台主机在发送数据,所有带宽都分配给它了,其他主机只能处于等待状态。之所以说每台主机平均分配有5Mbps 带宽,是指较长一段时间内的各主机获得的平均带宽,而不是任何一时刻主机都有5Mbps带宽。
(2)带宽竞争
在共享式以太网中,带宽是如何分配的呢?共享式以太网是一种基于“竞争”的网络技术,也就是说网络中的主机将会“尽其所能”地“占用”网络发送数据。因为同时只能有一台主机发送数据,所以相互之间就产生了“竞争”。
(3)冲突检测/避免机制
在基于竞争的以太网中,只要网络空闲,任何一主机均可发送数据。当两个主机发现网络空闲而同时发出数据时,就会产生“碰撞”(Collision),也称为“冲突”,如图3.4所示。这时两个传送操作都遭到破坏,此时 CSMA/CD 机制将会让其中的一台主机发出一个“通道拥挤”信号,这个信号将使冲突时间延长至该局域网上所有主机均检测到此碰撞。然后,两台发生冲突的主机都将随机等待一段时间后再次尝试发送数据,避免再次发生数据碰撞的情况。
图3.4 冲突发生
共享式以太网这种“带宽竞争”的机制使得冲突(或碰撞)几乎不可避免。而且网络中的主机越多,碰撞的概率越大。
虽然任何一台主机在任何一时刻都可以访问网络,但是在发送数据前,主机都要侦听网络是否堵塞。假如共享式以太网上有一台主机想要传输数据,但是它检测到网上已经有数据在传输了,那么它必须等一段时间,只有检测到网络空闲时,这台主机才能发送数据。
(4)不能支持多种速率
在共享式以太局域网中的网络设备必须保持相同的传输速率,否则一个设备发送的信息,另一个设备不可能收到。单一的共享式以太网不可能提供多种速率的设备支持。