1.1.3 交换型以太网与广播域
通过本章的1.1.1小节(共享型以太网与冲突域)学习所知,由于集线器只能将一台物理设备发送过来的信息不加区分地转发给所有它连接的设备,因此使用集线器连接的局域网,尽管在物理上采用的是星型连接,但它仍然拥有总线型连接的所有弊端,这是因为集线器所连接的设备全都处于同一个冲突域中。
我们可以通过图1-5再来复习一下使用集线器连接终端的情形:尽管终端1只希望将数据传输给终端3,但由于整个网络通过集线器相连,所有设备处于同一个冲突域中,因此与本次通信无关的终端2和终端4也无法在同时发送信息。这样的网络规模越大,当一台设备需要使用共享资源(即集线器)时,共享资源(即集线器)被占用的概率也就越大。
图1-5 使用集线器连接的以太网
取代集线器的交换机有能力查看数据帧的源和目的MAC地址,并且将数据帧从与目的设备相连的端口转发出去,而不会像集线器那样向不需要这个数据帧的接口发送数据帧。换言之,在使用交换机连接终端设备所组成的星型连接中,交换机的每个接口和它所连的设备之间会构成一个独立的冲突域,网络转发的效率由此得到了极大的提升,而星型拓扑的优越性也因而获得了充分的发挥,如图1-6所示。
图1-6 交换机以端口隔离冲突域形成的交换型以太网
当然,交换机可以通过自己的接口隔离冲突域,并不表示交换型以太网中连接的设备之间只能实现一对一的数据交互。有时,局域网中的一台终端设备确实需要向局域网中的所有其他终端设备发送消息。在《网络基础》的6.3.1小节(地址解析协议)中我们曾经提到,当局域网中的一台设备需要了解同处一个局域网中另一台设备的硬件地址时,这台设备就会以那台设备的IP地址作为目的IP地址,以广播MAC地址FF-FF-FF-FF-FF-FF作为目的MAC地址封装一个ARP请求数据包并发送出去,而交换机在接收到以这样的MAC地址作为目的MAC地址的数据帧时,就会将这个数据帧从所有其他接口发送出去。那么,诸如ARP请求这种一台设备向同一个网络中所有其他设备发送消息的数据发送方式称为广播(Broadcast),为了实现这种转发方式而以网络层或数据链路层广播地址封装的数据称为广播数据包或广播帧,而广播帧可达的区域则称为广播域(Broadcast Domain)。广播域有二层广播域和三层广播域,二层广播域是指广播帧可达的范围,我们在这一章只针对二层广播域进行讨论。由于广播可达的区域传统上就是一个局域网的范围,因此一个局域网往往就是一个广播域。
交换机与广播域和冲突域之间的关系如图1-7所示。
注释:
有一点值得注意,那就是交换机并非没有能力分割广播域。实际上,一台交换机可以通过逻辑的方法,按照管理员的配置将自己的接口划分到多个不同的广播域。关于这种技术,我们会在第2章中用一章的篇幅进行详细介绍。
图1-7 广播帧、广播域与冲突域
在《网络基础》6.3.1小节(地址解析协议)中我们介绍MAC地址和IP地址的异同时曾经提到,MAC 地址的扁平结构决定了这类地址难以实现大范围的寻址,而层级化的IP地址更适合用来满足这类需求。关于这一点,我们在本书的第4章中还会继续进行解释说明。这两类地址的区别决定了人们会通过交换机将不同的设备连接成为一个局域网,但是在需要实现网络与网络间的通信时,人们则会使用路由器通过查询IP路由表的方式为往返于不同网络间的数据提供转发服务。
由上介绍可知,一个局域网往往就是一个广播域,因此路由器作为局域网连接其他网络的出口,势必起到了隔离广播域,也就是将广播域的范围限定在局域网之内的效果,如图1-8所示。
通过本小节并结合《网络基础》中曾经提到的内容,我们帮助读者复习了交换型以太网的概念及其与传统共享型以太网之间的区别,借助多张图片再次对冲突、冲突域、广播和广播域的概念进行了解释说明。在1.1.4小节中,为了详细解释交换型以太网的运行方式,我们会在图1-3的基础上,进一步挖掘交换机转发数据的操作方式。
图1-8 使用路由器连接网络