- 计算机网络技术实用宝典(第3版)
- 郑化浦
- 3281字
- 2021-03-29 12:30:34
9.2 以太网交换的运行机制
网桥是用于创造两个或多个LAN分段的第2层设备,每个分段是一个单独的冲突域。换句话说,网桥被设计以创造更多可用的带宽。网桥的目的是过滤LAN的流量以保持流量的本地化,但容许和LAN其他部分(分段)连接,这是针对流量而言的。为了过滤或选择性地发送网络流量,网桥为位于网络分段上的所有MAC地址和其他网络建立一个对应表。其处理过程如下:
・如果数据沿网络介质到达,网桥将数据所带的目的MAC地址和其表中所包含的MAC地址进行比较。
・如果源MAC地址未知,网桥会为源端口在MAC地址表中创建一个新项目。该映射决定了以后到新的源设备的帧交换。
・如果网桥确定数据的MAC目的地址和源地址出自同一个网络分段,则它不会把该数据转发到其他网络分段中。该处理过程称为过滤。该过程的执行去除了不必要的流量,网桥能有效地减少网络分段间的流量。
・如果网桥确定数据的目的MAC地址和源地址不是出自同一个网络分段,则它把该数据转发到适当的分段。
・如果目的MAC地址对于网桥是未知的,则网桥向除接受到数据之外的网络上的所有设备广播该数据,该处理过程称为泛洪。
9.2.1 2层网桥和交换机如何运行
一般来说,网桥有2个端口,把一个冲突域分为两个部分。网桥的所有决定都根据MAC地址或第2层寻址做出,不会影响到逻辑的或第3层寻址。因此,网桥划分冲突域而不是逻辑域或广播域。不管有多少网桥在网络上,除非有一台类似路由器的设备在第3层寻址,否则所有网络将共享同一个逻辑(广播)地址空间。网桥会创造更多(且更小)的冲突域,但不会增加广播域。因为网络上每台设备必须关注广播,网桥始终要转发它们。所以,桥接环境中的所有分段被认为是处于相同的广播域。
LAN交换机基本上是一个多端口的网桥,其采用微分段来减少LAN中冲突的数量,增加了带宽。LAN交换机也支持诸如全双工通信和多个同时发生的会话等特征。图9-1所示为一个有3个工作站和一个LAN交换机的LAN,以及LAN的地址表。LAN交换机有4个接口(或网络连接)。站A和C连接到交换机的接口3,站B在接口4。
如果站A需要传送数据到站B,从站A发出的数据经交换机后可以传递到站B,此时地址表会发生变化,如图9-2所示。
图9-1
图9-2
随着流量流过网络,交换机在第2层工作,这意味着交换机能查看到MAC层地址。当站A发送且交换机接受该帧,则交换机在流量通过时进行评估以发现源MAC地址并将其存储在地址表中,如图9-3所示。
随着流量流过交换机,地址表中一条项目建立起来,借以识别源站和其所连接的交换机接口。当如果在MAC地址表中没有相应的匹配,则交换机将向除接收端口外的所有端口广播该数据帧,这就是泛洪,如图9-4所示。
图9-3
图9-4
当表中建立起地址项目之后,在另一方面,一个响应自站B返回到站A。交换机现在知道站B连接到接口4,如图9-5所示。
数据发送到交换机,但注意到这次交换机没有泛洪量。交换机仅从接口3送出数据,因为它知道站A在网络的什么位置,如图9-6所示。
图9-5
图9-6
最初的传输指示了MAC地址来自哪里,交换机得以更有效地在网络上发送数据。
9.2.2 Cisco交换机的CAM
随着技术进步,建造具有更高性能的网桥成为可能。自然,基本目标是在网桥的每个端口仅有一个结点,这将减少冲突域,使冲突的概率接近。
除了更快的微处理器和内存之外,另外两项技术的进步使交换机成为可能。内容可寻地址处理器(CAM)对比于传统内存基本上工作相反。数据进入内存会返回所关联的地址。采用CAM容许交换机无须搜索算法就可直接发现MAC地址相关的端口。专用集成电路(ASIC)是由非专用的逻辑门所组成的设备,逻辑门可被编程以逻辑速度执行操作。以软件所完成的操作现在可采用ASIC在硬件中完成。这些技术的使用极大地减少了由软件处理带来的延迟,且使得交换机满足很多微分段和高比特率的数据需求。
1.全双工传输
LAN交换的另一项极大提高带宽的技术是全双工传输,其将结点间的带宽数量有效地加倍。站间的全双工传输通过点到点的以太网连接来实现。该特征是重要的,在高带宽的设备间,诸如交换机和服务器之间的连接,全双工传输提供了无冲突传输环境。因为两个结点可以同时发送和接收。
例如,在10Mbit/s连接中,全双工提供了10Mbit/s的发送能力和10Mbit/s的接收能力,则一个连接实际上有20Mbit/s的能力。同样,100Mbit/s连接实际上提供了200Mbit/s的吞吐量,如图9-7所示。全双工通信也支持两条速度达到1Gbit/s的数据传输路径。
图9-7
2.微分段
微分段使得专用分段的创建变得更容易,且给网络上每个用户提供了专用带宽。每个用户即可接入到全部带宽,且不必和其他用户竞争带宽。这意味着同一交换机上的每对设备能以最少量的冲突域并行通信。微分段减少了网络中的冲突,且有效地提高了连接到网络上每个站的性能。
9.2.3 交换机的内部过程
传统的交换机本质上是具有流量控制能力的多端口网桥,即传统的(2层)交换机。把路由技术引入交换机,可以完成网络层的路由选择,故称为3层交换,这是交换机技术新的进展。交换机(2层交换)的工作原理和网桥一样,是工作在链路层的连网设备,它的各个端口都具有桥接功能,每个端口可以连接一个LAN或一台高性能网站或服务器,能够通过自学来了解每个端口设备的连接情况。所有端口由专用处理器进行控制,并经过控制管理总线转发信息。
在交换机内部有3种交换模式——存储转发、贯穿和无分片交换。
1.存储转发交换
在存储转发交换中,交换机读取整个数据帧,对帧进行查错,决定该帧去向何处,然后把它发送上路。图9-8解释了存储转发交换的操作。这里需要交换机花费更多的时间读取整个帧。然而,在读完整个帧之后,交换机才能检测到帧上的错误。如果帧存在错误,则帧不被转发而被丢掉。虽然贯穿交换机更快,但它没有错误检测功能。由存储转发交换所引起的等待时间通常不是太大的问题。
2.贯穿交换
在贯穿交换中,随着流量流经交换机,交换机自帧的开始部分一直读到目的MAC地址,然后将其直接“贯穿”到目的地而不再继续读帧的其他部分,如图9-9所示。
图9-8
图9-9
贯穿交换减少了传输的等待时间。然而,贯穿交换无错误检测。
3.无分片交换
无分片交换是贯穿交换的一种修订形式。在转发开始之前,无分片交换滤掉多数分组错误的冲突分片。无分片交换在转发分组前一直等待,直到所接收到的分组已确定不是冲突分片。
4.何时采用何种交换方式
当采用贯穿和无分片模式时,源端口和目的端口必须工作在相同的比特率下以保持帧的完整,这称为同步交换。如果比特率不相同,帧必须先存储起来,然后再以另一个比特率发出,这称为异步交换。存储转发模式必须用于异步交换。非对称交换提供了在不同的带宽端口的交换连接,比如,100Mbit/s和1000Mbit/s的一种组合。非对称交换用于优化客户/服务器流量,其中多个客户同时与一台服务器通信,则需要服务器端口有更多的带宽以防止该端口处可能出现瓶颈。
9.2.4 生成树协议
多个交换机连接起来,存在产生环路的可能性,即从源端到目的端没有明显的路径,如果交换机按简单的等级处理,则无环路发生,如图9-10所示。
然而,当有额外的交换机和网桥加入以实现更高可靠性和为容错提供冗余路径时,则环路可能产生,如图9-11所示。主机1先发广播帧,交换机A和交换机B会同时收到数据帧。交换机A向交换机B转发帧,同时交换机B也向交换机A转发帧。每个交换机开始看到同一广播的多个帧,因此导致路由环路。
为了减少环路产生的概率,交换机采用了网桥协议数据单元。交换机从其所有端口发送出称为网桥协议数据单元(BPDU)的特殊消息,让其他交换机知道它的存在。BPDU通信如图9-12所示。
图9-10
图9-11
图9-12
BPDU设计如图9-13所示。
交换机采用生成树算法(STA)来消除和关闭冗余路径。解决和消除环路的结果是创造了一个没有环路的、逻辑上有等级的树。然而,预备路径在万一需要时仍然可用。用于解决和消除环路的协议称为生成树协议(STP)。
因此,交换机有以下5种工作模式。
・阻塞:处于阻塞状态的端口发送和监听BPDU,但不转发帧,当交换机打开时所有端口都处在阻塞状态。
・监听:在监听状态,端口监听BPDU以确认网络中无环路。该状态下不转发帧。
・学习:在该状态,端口学习MAC地址,建立地址表,但不转发帧。
・转发:处于转发状态的端口转发帧。发送和监听BPDU。
・禁用:处于禁用状态的端口不参与STP的工作。因此,它不监听BPDU或转发帧。
图9-14解释了使用STP的交换机网络中的一些端口状态和操作模式。
图9-13
图9-14