9.3 局域网(LAN)设计:冲突域和广播域
在局域网中,过多的广播和冲突会影响网络的性能。在设计局域网之前,要理解局域网的工作原理,其中冲突域和广播域是两个重要的概念。本节将讨论如何减少网络中广播和冲突的影响。
9.3.1 共享介质环境
要理解冲突域,首先要知道什么是冲突域以及它是如何产生的。回顾一下第1层的介质和拓扑结构将有助于解释冲突域。不同类型的直接网络如图9-15所示。
图9-15
1.共享介质环境
共享介质环境发生在多台主机连接到同一介质时。例如,几台计算机连接到同一物理电缆或者光纤上,或者共享同一物理空间,则它们就共享相同的介质环境。在这种情况下,称它们共享同一冲突域。传统的总线型以太网(同轴电缆)和集线器连接的以太网(UDP连接)都是共享介质环境。
2.扩展的共享介质环境
这是一种特殊类型的共享介质环境,其中网络设备可以扩充环境以便能适应多样的通路访问或比较长的电缆距离。使用以太网中继器或者多个集线器能够产生扩展的共享介质环境。这将产生一个扩展的冲突域。
3.点到点网络环境
点到点网络环境广泛应用于拨号连接,为家庭用户所熟悉。它是一种共享网络环境,像个人计算机用调制解调器和电话线连接到互连业务提供商(ISP)那样,其中一台设备只连接另一台设备。因为这是一个点到点专用连接,所以没有潜在的冲突发生,没有与其他设备共享链路。
9.3.2 冲突域
确认介质是否为共享环境很重要,这是因为共享环境会引起冲突。类似的情况是在高速公路上的汽车。如果公路上只有一辆汽车,不会有任何碰撞,然而如果同时有多辆汽车试图使用同一路段,就会发生冲突。对网络情况也是如此:如果有超过一台计算机试图在同一网段内传输数据,就会导致冲突。
冲突是这样的一种情形,当两个比特在同一网络上传播时就有可能发生。小型低速网络可以在这种系统下良好地工作,即只有两台计算机被允许按照顺序发送消息。问题是大型网络中有许多计算机连接在一起,每个区段中每一台计算机都有数百万计的比特要通信。
冲突域是物理上连接在一起可能发生冲突的网络分段(Segment)。冲突导致网络低效。每次网络上有了冲突,所有的传输都要停止一段时间。这个停止时间长度是可变的,它由每个网络设备的后退算法(Backoff Algorithm)决定,对于允许恢复广播传输其是必需的。
除了单个独立的以太局域网(LAN)环境外,使介质片段连接在一起的设备类型定义了冲突域。这些设备分别归类于OSI的第1、2和3层设备。第1层设备不会隔离冲突域;第2、3层设备隔离冲突域,如图9-16所示。用第2层和第3层设备隔离冲突域或者增加冲突域的数量称为分段(Segmentation)。
图9-16
像中继器和Hub等第1层设备,对延伸以太网电缆分段起到主要作用。延伸网络后,可以有更多的主机加入进来。然而,主机的增加增大了网络潜在的通信量。由于第1层设备传递所有发送到介质的东西,所以同一冲突域中要传输的通信量越大,发生冲突的可能性就越大。最后结果是降低了的网络性能,而且如果网络上的所有计算机对带宽有更大的需要的话,这种性能降低越明显。图9-17所示为中继器增加冲突域效果图,简单地用第1层设备来扩充冲突域的范围,不过这样可能会使局域网的长度过分扩张并可能导致其他冲突域问题。
图9-17
以太网中的“四中继器原则”是指:在网络上的任何两台计算机之间不能安装超过4台中继器或中继集线器,如图9-18所示。为了保证使用中继的10Base-T网络的正常功能,往返一次的延迟计算结果必须在一定的范围内。否则,会有不能接收到所有冲突信息的工作站。
图9-18
“四中继器原则”考虑了中继器等待时间、电路传播延迟和网卡等待时间等因素的作用。违反“四中继器原则”将使后期冲突数量大大增加(后期冲突是指已经传输了帧的前64字节后发生的冲突现象)。后期冲突时网卡的芯片组不会自动重新传输数据。这些后期冲突帧将产生消耗延迟现象。随着消耗延迟和等待时间的增加,网络性能随之下降。这个以太网定律被称之为5-4-3-2-1规则。这意味着不能超过如下指导方针。
主机段包含:
・5段网络介质;
・4个中继器或者集线器;
・3段网络;
・2段链路段(没有主机);
・1个大的冲突域。
9.3.3 分段
作为一名专业的网络工作人员,具有识别冲突域的能力是所需的一项重要技能。将几台计算机连接到一个单独的、没有其他的网络设备相连的共享访问介质上就构成了一个冲突域。这种情形限制了可以使用介质的计算机数量,被称之为分段(Segment),如图9-19所示,第1层设备扩大了冲突域但是并不控制冲突域。
第2层设备形成分段,隔断了冲突域。它通过分配到每个以太网的MAC地址来控制帧传播从而实现了这个功能。第2层设备(像网桥和交换机)记录下设备MAC地址和它们所属的分段。使用这个方式,这些设备就能在第2层上控制通信流量。这个功能同时让数据在局域网内的不同分段中传输而不引起帧的碰撞(Colliding),使网络变得更有效率。使用网桥和交换机,冲突域被有效地分割为小部分,每个部分又形成自己的冲突域。
图9-19
这些小的冲突域比原来的冲突域有更少的主机和更小的通信量,于是就增加了该域中每个主机的可用带宽数量。冲突域中的通信量减少,当主机希望传输数据时介质可用的机会就越大。当网络分段之间的通信量不太大时上述情况有效,否则,第2层设备实际上可能会减慢通信速率并形成瓶颈。
同第2层设备一样,第3层设备并不传递冲突。因为这个原因,在网络中使用第3层设备可以起到将冲突域划分成更小的域的作用,第3层设备起到的作用不仅是划分冲突域,第2层和第3层设备都可以隔离冲突域,如图9-20所示。
图9-20
9.3.4 广播域
广播域是指由第2层设备所连接的一组冲突域,将局域网分成多个冲突域,允许在分开的冲突域上同时进行多重数据传播提高网络的性能。不过如果广播在通过第2层设备时超过了设备的负荷就会降低整个局域网的性能。必须在第3层上进行广播的控制,因为第1层和第2层设备对广播都没有办法控制。整个广播域的大小可能通过辨别所有那些传递相同广播帧的冲突域来得到。换言之,所有的结点都是由第3层设备作为分界的网络分段的一部分。广播域能被第3层设备所控制,因为路由器不转发广播。如图9-21所示,从左边突出显示的工作站发出的广播不会被路由器转发到右边的主机去。
路由器事实上工作在第1、2和3层。同所有的第1层设备一样,路由器具有到介质的物理连接并能在介质上传输数据。它们在所有的接口上具有第2层的封装,并与任何的第2层设备一样执行工作。第3层的技术允许路由器把广播域分段。
图9-21
对于要通过路由器转发的分组,一定已由第2层设备处理过了,其帧信息必然已经被剥离了。第3层的转发是基于目标IP地址而不是MAC地址。对一个要转发的分组信息,必须包含局域网分段地址范围外的IP地址,同时路由器上的路由选择中有该分组应送达的目标位置。
9.3.5 网络设备所在的层次
首先说Hub,也就是集线器。它的作用可以简单地理解为将一些计算机连接起来组成一个局域网。而交换机(又名交换式集线器)作用与集线器大体相同。但是两者在性能上有区别:集线器采用的是共享带宽的工作方式,而交换机是独享带宽。这样在计算机很多或数据量很大时,两者将会有比较明显的差别。而路由器与以上两者有明显区别,它的作用在于连接不同的网段并且找到网络中数据传输最合适的路径,可以说一般情况下个人用户需求不大。路由器产生于交换机之后,就像交换机产生于集线器之后,所以路由器与交换机也有一定联系,并不是完全独立的两种设备。路由器主要克服了交换机不能路由转发数据包的不足。
总的来说,路由器与交换机的主要区别体现在以下几个方面:
①工作层次不同。最初的交换机是工作在OSI/RM开放体系结构的数据链路层,也就是第2层,而路由器一开始就设计工作在OSI模型的第3层(网络层)。由于交换机工作在OSI的第2层(数据链路层),所以它的工作原理比较简单,而路由器工作在OSI的第3层,可以得到更多的协议信息,路由器可以做出更加智能的转发决策。
②数据转发所依据的对象不同。交换机是利用物理地址(MAC地址)来确定转发数据的目的地址。而路由器则是利用不同网络ID号(IP地址)来确定数据转发的地址。IP地址是在软件中实现的,描述的是设备所在的网络,有时这些第3层的地址也称为协议地址或者网络地址。MAC地址通常是硬件自带的,由网卡生产商来分配的,而且已经固化到了网卡中,一般来说是不可更改的。而IP地址则通常由网络管理员或系统自动分配。
③传统的交换机只能分割冲突域,不能分割广播域;而路由器可以分割广播域。由交换机连接的网段仍属于同一个广播域,广播数据包会在交换机连接的所有网段上传播,在某些情况下会导致通信拥挤和安全漏洞。连接到路由器上的网段会被分配成不同的广播域,广播数据不会穿过路由器。虽然第3层以上交换机具有VLAN功能,也可以分割广播域,但是各子广播域之间是不能通信交流的,它们之间的交流仍然需要路由器。
④路由器提供了防火墙的服务。路由器仅仅转发特定地址的数据包,不传送不支持路由协议的数据包和未知目标网络的数据包,从而可以防止广播风暴。交换机一般用于LAN-WAN的连接,交换机归于网桥,是数据链路层的设备,有些交换机也可实现第3层的交换。路由器用于WAN-WAN之间的连接,可以解决异构网络之间转发分组问题,其作用于网络层。它们只是从一条线路上接收输入分组,然后向另一条线路转发。这两条线路可能分属于不同的网络,并采用不同协议。相比较而言,路由器的功能较交换机要强大,但速度相对较慢,价格昂贵,第3层交换机既有交换机线速转发报文能力,又有路由器良好的控制功能,因此得以广泛应用。
看完以上的解说读者应该对交换机、集线器、路由器有了一些了解,目前的使用主要还是以交换机、路由器的组合为主,具体的组合方式可根据具体的网络情况和需求来确定。
9.3.6 图解冲突域、广播域
网络互连设备可以将网络划分为不同的冲突域、广播域。但是,由于不同的网络互连设备可能工作在OSI模型的不同层次上。因此,它们划分冲突域、广播域的效果也就各不相同。如中继器工作在物理层,网桥和交换机工作在数据链路层,路由器工作在网络层,而网关工作在OSI模型的上三层。而每一层的网络互连设备要根据不同层次的特点完成各自不同的任务。
下面讨论常见的网络互连设备的工作原理,以及它们在划分冲突域、广播域时各自的特点。
1.传统以太网操作
传统共享式以太网的典型代表是总线型以太网。在这种类型的以太网中,通信信道只有一个,采用介质共享(介质争用)的访问方法。每个站点在发送数据之前首先要侦听网络是否空闲,如果空闲就发送数据。否则,继续侦听直到网络空闲。如果两个站点同时检测到介质空闲并同时发送出一帧数据,则会导致数据帧的冲突,双方的数据帧均被破坏。这时,两个站点将采用一定的方法各自等待一段随机的时间再侦听、发送。
在图9-22中,主机A只是想要发送一个单播数据包给主机B。但由于传统共享式以太网的广播性质,接入到总线上的所有主机都将收到此单播数据包。此时如果任何第二方(包括主机B)要发送数据到总线上都将造成冲突,导致双方数据发送失败。我们称连接在总线上的所有主机共同构成了一个冲突域。
当主机A发送一个目标是所有主机的广播类型数据包时,总线上的所有主机都要接收该广播数据包,并检查广播数据包的内容,如果需要的话加以进一步的处理。我们称连接在总线上的所有主机共同构成了一个广播域。
图9-22
2.中继器(Repeater)
中继器(Repeater)作为一个实际产品出现主要有两个原因:
①扩展网络距离,将衰减信号再生放大。
②实现粗同轴电缆以太网和细同轴电缆以太网的互连。
通过中继器虽然可以延长信号传输的距离、实现两个网段的互连。但并没有增加网络的可用带宽。如图9-23所示,网段1和网段2经过中继器连接后构成了一个单个的冲突域和广播域。
图9-23
3.集线器(Hub)
集线器实际上相当于多端口的中继器。集线器通常有8个、16个或24个接口。
集线器同样可以延长网络的通信距离,或连接物理结构不同的网络,但主要还是作为一个主机站点的汇聚点,将连接在集线器上各个接口上的主机联系起来使之可以互相通信。
如图9-24所示,所有主机都连接到中心结点的集线器上构成一个物理上的星形连接。但实际上,在集线器内部,各接口都是通过背板总线连接在一起的,在逻辑上仍构成一个共享的总线。因此,集线器和其所有接口所接的主机共同构成了一个冲突域和一个广播域。
图9-24
4.网桥(Bridge)
网桥(Bridge)又称为桥接器。和中继器类似,传统的网桥只有两个端口,用于连接不同的网段。和中继器不同的是,网桥具有一定的“智能”性,可以“记录”网络上主机的地址,同时具有信号过滤的功能。
如图9-25所示,网段1的主机A发给主机B的数据包不会被网桥转发到网段2。因为,网桥可以识别这是网段1内部的通信数据流。同样,网段2的主机X发给主机Y的数据包也不会被网桥转发到网段1。可见,网桥可以将一个冲突域分割为两个。其中,每个冲突域共享自己的总线信道带宽。
图9-25
但是,如果主机C发送了一个目标是所有主机的广播类型数据包时,网桥要转发这样的数据包。网桥两侧的两个网段总线上的所有主机都要接收该广播数据包。因此,网段1和网段2仍属于同一个广播域。
5.交换机(Switch)
交换机(Switch)也被称为交换式集线器。它的出现是为了解决连接在集线器上的所有主机共享可用带宽。
交换机是通过为需要通信的两台主机直接建立专用的通信信道来增加可用带宽的。从这个角度上来讲,交换机相当于多端口网桥。
如图9-26所示,交换机为主机A和主机B建立一条专用的信道,也为主机C和主机D建立一条专用的信道。只有当某个接口直接连接了一个集线器,而集线器又连接了多台主机时,交换机上的该接口和集线器上所连的所有主机才可能产生冲突,形成冲突域。换句话说,交换机上的每个接口都是自己的一个冲突域。
但是,交换机同样没有过滤广播通信的功能。如果交换机收到一个广播数据包后,它会向其所有的端口转发此广播数据包。因此,交换机和其所有接口所连接的主机共同构成了一个广播域,我们将使用交换机作为互连设备的局域网称为交换式局域网。
图9-26
6.路由器(Router)
路由器工作在网络层,可以识别网络层的地址——IP地址,有能力过滤第3层的广播消息。实际上,除非做特殊配置,否则路由器从不转发广播类型的数据包。因此,路由器的每个端口所连接的网络都独自构成一个广播域,如图9-27所示。如果各网段都是共享式局域网,则每网段自己构成一个独立的冲突域。
图9-27
7.网关(Gateway)
网关工作在OSI参考模型的高三层,因此,并不使用冲突域、广播域的概念。网关主要用来进行高层协议之间的转换。例如,充当Microsoft Exchange邮件服务之间的邮件网关。
注意:这里网关的概念完全不同于PC主机以及路由器上配置的默认网关(Default Gateway)。
9.3.7 数据流介绍
冲突域和广播域范围内的数据流关注的是数据帧怎样通过网络传播。它涉及数据在第1层、第2层和第3层设备中的移动,以及要有效地完成数据传播必须如何对数据进行封装。数据都是被封装的,在网络层封装了IP源地址和目的地址,在数据链路层封装了MAC源地址和目的地址。
这里要遵从的基本原则是,第1层设备总是转发帧,第2层设备想要转发帧(换言之,它总是转发帧,除非有什么东西不让它转发),第3层设备一般不转发帧除非要求它转发。使用这个规则可以帮助识别数据流是如何通过网络的。
第1层设备(如中继器和集线器)不对数据过滤,它们将收到的所有东西都转发到下一分段。帧只是简单地重新产生和重新定时。
第2层设备(如网桥和交换机)根据目标MAC地址对数据帧进行过滤。如果一个帧的目标地址未知(在冲突域之外),那么它就会被转发。如果是一个要到本冲突域外的广播、组播或者单播,它也会被转发。仅当第2层设备发现发送主机和接收主机在同一冲突域内帧不会被转发。桥接设备(第2层设备)形成多个冲突域,但只有一个广播域。
第3层设备(路由器和一些高端交换机)根据目标IP地址对数据帧过滤。唯一要转发分组的情况是目标IP地址位于广播域之外且路由器能辨别出要发送的分组的目标位置。第3层设备形成多个冲突域和多个广播域。
数据流涉及数据在位于OSI模型中的第1层、第2层和第3层的通信管理设备之间的移动问题。通信管理设备包括:第1层设备用来实现在物理介质上传输,第2层设备用来管理冲突域,第3层设备对广播域进行管理。图9-28所示为数据流从工作站X经过路由器A、B、C到工作站Y的过程。
图9-28
9.3.8 网络分段
像许多的术语和缩略词一样,分段有多重的含义。字典上对这个术语的定义如下:
・某种东西被分割后的片断。
・某个被自然边界或类似的东西分开或者划分的实体或者数量的一部分。
在数据通信范围内,使用的是如下的定义:
・由网桥、路由器或者交换机作界限的网络段。
・使用总线拓扑的局域网中的一段连续的电子线路,它往往是使用中继器来与其他这样的分段连接的。
・TCP规范中使用的术语,用来描述信息的单个传输层单元。其他的术语像数据报、帧、消息和分组也用于描述位于OSI参考模型中不同层次和不同技术派系中的逻辑信息分组。
图9-29表示了在数据通信领域内关于术语分段的3种定义。
图9-29
要给“分段”这个术语一个恰当的定义,需要给出其使用的范围。如果分段限于TCP范围的话,它被定义为分开的数据片断。如果分段在路由网络中的相关内容中使用的话,它被看作整个网络的一部分或者一段。