7.1.5 交换式以太网
对于共享式以太网,其介质的容量(数据传输能力)被网上的各个站点共享。例如,采用CSMA/CD的10 Mbit/s以太网中,各个站点共享一条10 Mbit/s的通道,这带来了许多问题。当网络负荷重时,由于冲突和重发的大量发生,网络效率急剧下降,这使得网络的实际流量很难超过2.5 Mbit/s,同时由于站点何时能抢占到信道带有一定的随机性,使得CSMA/CD以太网不适于传送时间性要求强的业务。交换式以太网的出现解决了这个问题。
1.交换式以太网的概念
交换式以太网所有站点都连接到一个以太网交换机上,如图7-7所示。
以太网交换机具有交换功能,其特点是:所有端口平时都不连通,当工作站需要通信时,以太网交换机能同时连通许多对端口,使每一对端口都能像独占通信媒体那样无冲突地传输数据信号,通信完成后断开连接。由于消除了公共的通信媒体,每个站点独自使用一条链路,不存在冲突问题,可以提高用户的平均数据传输速率,即容量得以扩大。
交换式以太网采用星形拓扑结构,其优点是十分容易扩展,而且每个用户的带宽并不因为互连的设备增多而降低。
交换式以太网无论是从物理上,还是逻辑上都是星形拓扑结构,多台以太网交换机可以串接,连成多级星形结构(即树形结构)。
图7-7 交换式以太网示意图
2.交换式以太网的功能
交换式以太网可向用户提供共享式以太网不能实现的一些功能,主要包括以下几个方面。
(1)隔离冲突域
在共享式以太网中,使用CSMA/CD方法来进行介质访问控制。如果两个或更多站点同时检测到信道空闲而有数据帧准备发送,那么它们将发生冲突。一组竞争信道访问的站点称为冲突域,如图7-8所示。显然同一个冲突域中的站点竞争信道,便会导致冲突和退避。而不同冲突域的站点不会竞争公共信道,则不会产生冲突。
在交换式以太网中,每个交换机端口就对应一个冲突域,端口就是冲突域终点。由于交换机具有交换功能,不同端口的站点之间不会产生冲突。如果每个端口只连接一台计算机站点,那么在任何一对站点间都不会有冲突。若一个端口连接一个共享式以太网,那么在该端口的所有站点之间会产生冲突,但该端口的站点和交换机其他端口的站点之间将不会产生冲突。因此,交换机隔离了每个端口的冲突域。
图7-8 冲突域示意图
(2)扩展距离
交换机可以扩展LAN的距离。每个交换机端口可以连接不同的LAN,因此每个端口都可以达到不同LAN技术所要求的最大距离,而与连到其他交换机端口LAN的长度无关。
(3)增加总容量
在共享式以太网中,其容量(无论是10 Mbit/s、100 Mbit/s,还是1 000 Mit/s)是由所有接入设备分享。而在交换式以太网中,由于交换机的每个端口具有专用容量,交换式以太网总容量随着交换机的端口数量而增加。所以交换机提供的数据传输容量比共享式以太网大得多,设以太网交换机和用户连接的带宽(或速率)为M,用户数为N,则网络总的可用带宽(或速率)为N×M。
(4)数据传输速率可灵活部署
对于共享式以太网,不同以太网可采用不同数据传输速率,但连接到同一共享式以太网的所有设备必须使用同样的数据传输速率。而对于交换式以太网,交换机的每个端口可以使用不同的数据传输速率,所以可以以不同数据速率部署站点,非常灵活。
3.以太网交换机的分类
按所执行的功能不同,以太网交换机可以分成二层交换机和三层交换机两种。
(1)二层交换机
如果交换机按网桥构造、执行桥接功能,那么由于网桥的功能属于OSI参考模型的第二层,所以此时的交换机属于二层交换机。二层交换机是根据MAC地址转发数据信号,交换速度快,但控制功能弱,没有路由选择功能。
(2)三层交换机
如果交换机具备路由能力,而路由器的功能属于OSI参考模型的第三层,那么此时的交换机属于三层交换机。三层交换机是根据IP地址转发数据信号,三层交换机是二层交换与路由功能的有机组合。
4.二层交换机
本书5.4.2小节中,介绍IP交换的原理时,简单说明了二层交换。在学习了上述局域网相关内容的基础上,为了帮助读者深入掌握以太网二层交换技术,在此详细论述二层交换机的工作原理和功能。
(1)二层交换机的工作原理
我们已经知道二层交换机是根据MAC地址转发数据信号的,二层交换机内部应有一个反映各站点的MAC地址与交换机端口对应关系的MAC地址表。交换机的控制电路收到数据包以后,处理端口会查找内存中的MAC地址表以确定目的MAC的站点挂接在哪个端口上,通过内部交换矩阵迅速将数据包传送到目的端口。MAC地址表中若无目的MAC地址,则将数据包广播到所有的端口,接收端口回应后交换机会“学习”新的地址,并把它添加入内部MAC地址表中。
交换机MAC地址表的建立与数据交换的具体过程如下。
(a)交换机刚刚加电启动时,其MAC地址表是空的。此时交换机并不知道与其相连的不同的MAC地址的站点位于哪一个端口。它根据默认规则,将不知道目的MAC地址对应哪一个端口的呼入帧发送到除源端口之外的其他所有端口上。
图7-9 MAC地址表项的建立
例如,在图7-9中,站点A向站点C发送一个数据帧,站点C的MAC地址对应的端口是未知的,这个数据帧将被发送到交换机的所有端口上。
(b)交换机是基于数据帧的源MAC地址来建立MAC地址表的。具体是当交换机从某个端口接收到数据帧时,首先检查其发送站点的MAC地址与交换机端口之间的对应关系是否已记录在MAC地址表中,若无,则在MAC地址表中加入该表项。
图7-9中,交换机收到站点A发来的数据帧,在读取其MAC地址的过程中,它会将站点A的MAC地址连同E0端口的位置一起加入MAC表中。如此这般,交换机很快就会建立起一张包括大多数局域网上活跃站点的MAC地址同端口之间映射关系的表。
(c)交换机是基于目的MAC地址来转发数据帧的。对收到的每一个数据帧,交换机查看MAC地址表,看其是否已经记录了目的MAC地址与交换机端口间的对应关系,若查找到该表项,则可将数据帧有目的地转发到指定的端口,从而实现数据帧的过滤转发,如图7-10所示。
在图7-10中,假设站点A向站点B发送一个数据帧,此时站点B的MAC地址与端口的对应关系是已知的,因此该数据帧将直接转发到E1端口,而不会发送到E2和E3端口。
图7-10 MAC地址表项的使用
交换机应该能够适应网络结构的变化,为了做到这一点,每个新学习到的地址在加入交换机MAC地址表中之前,先赋予其一个年龄值(一般为300 s)。如果该MAC地址在年龄值规定的时间内没有任何流量,该地址将从MAC地址表中删除。而且在每次重新出现该MAC地址时,MAC地址表中相应的表项将被刷新,使得MAC地址表始终保持精确。
(2)二层交换机的功能
根据上述二层交换的原理,可以归纳出二层交换机具有以下功能。
①地址学习功能
交换机在转发数据帧时基于数据帧的源MAC地址可建立MAC地址表,即将MAC地址与交换机端口之间的对应关系记录在MAC地址表中。
②数据帧的转发与过滤功能
交换机必须监视其端口所连的网段上发送的每个数据帧的目的地址,避免不必要的数据帧的转发,以减轻网络中的拥塞。所以,交换机需要将每个端口上接收到的所有数据帧都读取到存储器中,并处理数据帧头中的相关字段,查看到某个站点的目的MAC地址(DMAC)。交换机对所收到的数据帧的处理有3种情况。
(a)丢弃该帧。若交换机识别出某个数据帧中的DMAC标识的站点与源站点处于同一个端口上,则不处理此数据帧,因为目的站点(源、目的站点处于同一网段)已经接收到此数据帧,在此种情况下,该帧将被丢弃。
(b)将该帧转发到某个特定端口上。若检查MAC地址表发现DMAC的站点处于另一个端口上,则交换机将把此数据帧转发到相应的端口上。
(c)将数据帧发送到所有端口上。当交换机不知道DMAC的位置时,将数据帧发送到所有端口上,以确保目的站点能够接收到该帧,此举即为广播。
③广播或组播数据帧
交换机支持广播或组播数据帧。
广播数据帧就是从一个站点发送到其他所有的站点。在许多情况下需要广播,比如当交换机不知道DMAC的位置时,如果向所有站点发送单播,那么效率显然是很低的,此时广播是最好的办法。发送广播帧后,每个接收到的站点将完整地处理该数据帧。
广播数据帧可以通过所有位都为1的目的MAC地址进行标识。MAC地址通常采用十六进制的格式表示,因此所有位都为1的目的MAC地址用十六进制表示为全F。例如,以太网广播地址为:FFFF.FFFF.FFFF。
交换机收到所有目的地址为全1的数据帧,它将把数据帧发送到所有的端口上。如图7-11所示,主机D发送一个广播帧,该数据帧被发送到除发送端口E3之外的所有端口。冲突域中的所有站点竞争同一个介质,广播域中的所有站点都将接收到同一个广播帧。
图7-11 广播帧交换示意图
组播非常类似于广播,但它的目的地址不是所有的站点,而是一组站点。
值得一提的是,交换机不能隔离广播和组播,交换网络中的所有网段都是在同一个广播域中。
5.三层交换机
三层交换机是一个带有第三层路由功能的以太网交换机,它是路由器和二层交换机的有机结合,并不是简单地把路由器设备的硬件及软件叠加在以太网二层交换机上。
三层交换也称为IP交换,其工作原理在5.4.2小节(IP交换的原理)中已经详细介绍过,在此不再赘述。
从三层交换机的工作原理可以看到,三层交换机是仅仅在路由过程中才需要三层处理,绝大部分数据都通过二层交换转发,因此,三层交换机的速度很快,接近二层交换机的速度,解决了传统路由器低速、复杂所造成的网络瓶颈问题,同时比相同路由器的价格低很多。
另外,与传统的二层交换技术相比,三层交换在划分VLAN(虚拟局域网)和广播限制等方面提供较好的控制。传统的通用路由器与二层交换机一起使用也能达到此目的,但是与这种解决方案相比,三层交换机需要更少的配置,更小的空间,更少的布线,价格更便宜,并能提供更高更可靠的性能。
归纳起来,三层交换机具有高性能、安全性、易用性、可管理性、可堆叠性及容错性等技术特点。