二层设备---网桥和交换机

 

 

网桥

  网桥这种设备看上去有点像中继器。它具有单个的输入端口和输出端口。如图6-13所示。它与中继器的不同之处就在于它能够解析它收发的数据。网桥属于OSI模型的数据链路层;数据链路层能够进行流控制、纠错处理以及地址分配。网桥能够解析它所接受的帧,并能指导如何把数据传送到目的地。特别是它能够读取目标地址信息(MAC),并决定是否向网络的其他段转发(重发)数据包,而且,如果数据包的目标地址与源地址位于同一段,就可以把它过滤掉。当节点通过网桥传输数据时,网桥就会根据已知的MAC地址和它们在网络中的位置建立过滤数据库(也就是人们熟知的转发表)。网桥利用过滤数据库来决定是转发数据包还是把它过滤掉。

二层设备---网桥和交换机_第1张图片

以图6-14的情况为例子来描述网桥的工作原理,以下几点需要注意:
(1)桥连接了多个不同的LAN网段(图6-14中,为简单起见只画了两个LAN,但在结构上一个网桥连接的LAN的数量并没有限制)。
(2)每个站有一个全局唯一的48位单播地址。这是很重要的;网桥的正常运行依赖于链路层全局唯一地址。
(3)网桥与每个相连的LAN的连接处都有一个端口或接口。
(4)网桥内部有一个网桥端口与所有站相对应的地址映射表;即网桥知道到达每个站要经过的端口。
(5)网桥工作于混杂模式(Promiscuous mode)。即它接收其每个端口到来的每一个帧,而不管帧的目的地址(目标站)。典型的端站只接收那些目的地址与自己的地址相同的帧。相反,网桥不管目的地址指向何方,接收所有的帧。
当一个端口接收到帧后,网桥检查该帧的目的地址,然后查找地址表,确定与该地址对应的端口。如果收到帧的端口正是帧目的地址所在的端口,那么网桥就会丢弃这个帧。因为可以认定通过正常的LAN传输机制,目标机已经接收过这个帧。例如,网桥在1号端口收到了一个从08-00-60-00-00-46站发往08-00-60-00-00-09的帧。由于地址表显示08-00-60-00-00-09这个站在端口1上,并且这一帧正是端口1接收的,所以网桥会把这个帧丢弃。如果站08-00-60-00-00-46接着向08-00-60-00-00-17发送一帧,网桥会从端口1接收这一帧(因为网桥处于混杂模式,它接收所有帧),并在地址表中查看站
08-00-60-00-00-17。地址表说明目的地址是在端口2上。为了使目标站正确地收到该帧,网桥必须把这一帧转发到端口2。

  在帧的转发过程中注意以下几点:
(1)当通过某个端口向所LAN上其他有关的站发送帧时,网桥没有任何特权。它必须按照端口正常的介质访问控制(MAC)规定来工作。这就意味着网桥在以太网端口上必须延迟发送、检测冲突、后退等,就像其他以太网设备一样。
(2)在输出端口转发帧时,可能出现长时间的延迟。这称为网桥传送延迟。如果一个输出端口阻塞了,帧有可能在网桥内部队列中等待发送。在最坏的情况下,网桥输出队列可能饱和,那么就会导致网桥由于缺少缓冲区而丢弃帧
(3)当网桥转发帧时,转发帧的源地址是该帧最初发送者的地址(在这个例子中是08-00-60 -00-00-46),而不是网桥自己的地址。实际上对于转发工作,网桥没有也不需要自己的地址。无论帧的目的地址是什么,网桥都接收下来并把它们以最初发送者的地址转发出去,它从不把自己的地址加入到转发的帧中。
(4)端站意识不到网桥的存在。发送者不知道也不需要知道某个网桥在为它转发帧。接收站把所有的帧都看作是如同发送者和接收者在同一个LAN网段上的帧一样(同样的地址,同样的数据)。因此,网桥是透明的。端站不需要修改设备驱动程序或增加特殊软件就可以使用网桥。
注:网桥的正常工作依赖于使用全局唯一地址。如果在同一个网段上有两个或更多的站使用了相同的地址,那么地址表就可能会有二义性,网桥也就不能作出正确的转发决定。

  如果网桥当前还不知道站发送帧的目的地址(例如,08-00-60-00-00-46向08-00-60-00-00-2c发送帧),网桥在地址表中找不到该目的地址与端口,它便会向除接收该帧之外的所有端口转发此帧。这称为扩散( flooding )或泛洪。扩散使网桥可以与未知的(即在地址表中不存在的)站通信。除了不必要地占用了输出端口的LAN带宽以外,帧扩散并没有坏处。如果站真的存在(但此时尚不知道),扩散保证通信能正常进行。与此类似,如果一个站向组播地址发送帧,网桥会向除接收此帧的端口以外的所有端口转发它。这是因为网桥不能确定哪些站正在监听某个组播地址,所以它不应该把帧的转发限制到一个特定的输出端口上。
通过记录接收帧的源地址,可以动态地建立地址表。当网桥接收到一个帧后,它在表中查找与发送站对应的项(由帧的源地址指明)。如果找到了,就会更新地址表中与该站相对应的端口,以反映在该端口上接收到了最新的帧。这使得网桥可以正确地映射从一个LAN网段转移到另一个网段的站。如果没有找到登记项,网桥会根据新发现的地址和接收它的端口地址新建一个新地址表项。经过一段时间,随着站不断地发送帧,网桥就会知道所有活动站的地址-端口对应关系。
因此,网桥有如下特点:
(1) 在混杂模式下工作。
(2) 有一个将全局唯一地址映射到网桥端口的地址表。
(3) 根据所接收帧的目的地址作出转发决定。
(4) 根据所接收帧的源地址建立和更新地址表。
(5) 当遇到未知的目的地址时,向每个端口(除接收此帧的端口外)转发该帧。

   注:网桥也使用一个时间计数器(aging timer)来清除在一定时间内没有发出帧的项,当遇到到组播目的地址时,向各个端口发送该帧(除接收此帧的端口外)。而且对端站是透明的(透明的意思是目的端并不知道也不需知道网桥的存在)。

  网桥并未与网络直接连接,但它可能已经知道了不同的端口都连接了那些工作站。这是因为,网桥在安装后,就促使网络对它所处理的每一个数据包进行解析,以发现其目标地址。一旦获得这些信息,它就会把目标节点的MAC地址和与其相关联的端口录入过滤数据库中。时间一长,它就会发现网络中的所有节点,并为每个节点在数据库中建立记录。因为网桥不能解析高层数据,如网络层数据,所以它们不能分辨不同的协议。它们以同样的速率和精确度转发AppleTalk、TCP/IP、IPX/SPX以及NetBIOS的帧。这样做也有很大的好处。由于并不关心数据所采用的协议,网桥的传输速率比传统的路由器更快,例如路由器关心所采用协议的信息(这将在后面的部分讲述)。但另一方面,由于网桥实际上还是解析了每个数据包,所以它所花费的数据传输时间比中继器和集线器的更长。网桥转发和过滤数据包的方法有几种。虽然讨论这些方法超出了本书的范围,你还是应该知道最常见的几种。大多数以太网采用的方法是所谓的透明网桥方式。大多数令牌环网采用的方法是源路由网桥方式。能够连接以太网和令牌环网的方法被称为中介网桥方式。
20世纪80年代早期,开发网桥是为了转发同类网络间传递的数据包。此后,网桥已经进化到了可以处理不同类型网络间传递的数据包。尽管更高级的路由器和交换机取代了很多网桥,但它们仍然非常适合某些场合。这包括:有些网络需要利用网桥过滤传向各种不同节点的数据以提高网络性能。这些节点因此而能用更少的时间和资源侦听数据,并且指不指定这些资源都无所谓。另外,网桥还可以检测出并丢弃出现问题的数据包,这些数据包可能会造成网络拥塞。也许,最重要的是网桥能够突破原来的最大传输距离的限制从而可以方便地扩充网络。
  注1:独立式网桥流行于2 0世纪8 0年代和9 0年代早期,但随着先进的交换技术和路由技术的发展,网桥技术已经远远地落伍了。一般来说,现在很难再见到把网桥作为一种独立设备了。然而,理解网桥的概念对于我们理解交换机的工作原理是非常必要的。下一节里将会学习关于交换机的更多的知识
  注2:网桥是可以隔离冲突域,但不能隔离广播域,也就是广播包信息可以直接跨越网桥进行传输到另一个物理网段的。

 参考:http://book.51cto.com/art/200706/49417.htm

            网桥

 

 

交换机

 交换机的基本概念 

  当初开发LAN网桥的基本目的是在距离和站的数量上对LAN进行延伸。随着能以线速操作的高端口密度网桥的出现,出现了新型的LAN:“交换式LAN”。交换式LAN是传统共享带宽LAN的一种替代产品。从结构化布线环境中部署的产品来看,唯一明显的区别是集线器是交换式的(网桥),而不是共享式的(中继器)。然而,使用共享式LAN或交换式LAN,网络的运行方式变化很大。另外,交换式LAN给用户提供了共享式不能使用的一些配置。而这些都是有代价的。

  这些年来,随着连接设备硬件技术的提高,已经很难再把集线器、交换机、路由器和网桥相互之间的界限划分得很清楚了。交换机这种设备可以把一个网络从逻辑上划分成几个较小的段。不像属于OSI模型第一层的集线器,交换机属于OSI模型的数据链路层(第二层),并且,它还能够解析出MAC地址信息。从这个意义上讲,交换机与网桥相似。但事实上,它相当于多个网桥。

 交换机的所有端口都使用指定的带宽。事实证明了这种方式确实比网桥的性价比要高一些。交换机的每一个端口都扮演一个网桥的角色,而且每一个连接到交换机上的设备都可以享有它们自己的专用信道。

 

隔离冲突域

  在共享式以太网LAN中,使用CSMA/CD MAC算法来仲裁共享信道的使用。如果两个或更多站的队列中同时有帧在等待发送,那么它们将发生冲突( collision )。一组竞争信道访问的站称为冲突域。如图6-16所示,同一个冲突域中的站竞争信道,便导致了冲突和后退( backoff )。不同冲突域的站不会竞争公共信道,所以它们不会产生冲突。
在交换式LAN中,交换机端口就是该端口上的冲突域终点。如果一个端口连接一个共享式LAN,那么在该端口的所有站间将产生冲突,而该端口的站和交换机其他端口的站之间将不会产生冲突。如果每个端口只有一个端站,那么在任何一对端站间都不会有冲突。

因此,交换机隔离了每个端口的冲突域。

二层设备---网桥和交换机_第2张图片

参考:http://book.51cto.com/art/200706/49420.htm

 

分段和微分段

   交换式集线器可以用于对传统共享式LAN分段( segment ),如图6-17所示。以这种方式使用的交换机提供了一种折叠式主干网(collapsed backbone) 。虽然用于折叠式主干网的交换机性能必须很高,但是使用的模型仍然是原始、传统的LAN分段模型。

二层设备---网桥和交换机_第3张图片

另外,交换机可用于端站互连,如图6-18所示。这里,每个网段仅连接一个端站,LAN分段已经达到最大程度,称为微分段( microsegmentation )。

 二层设备---网桥和交换机_第4张图片

 微分段环境有一些有趣的特点:
(1) 端站之间没有冲突。每个端站都在它自己的冲突域内。然而,端站和交换机端口中的
冲突域的MAC之间仍可能有冲突
(2) 可以使用全双工全部消除冲突
(3) 每个端站有专用带宽,即一个微分段可以由单个站独占使用。
(4) 每个站的数据率不依赖于任何其他的站。连接到同一个交换机的设备可以运行在10 Mb/s、100 Mb/s或1000 Mb/s,而这在使用共享式集线器的网络中是不可能的。当然,在一个交换式集线器上可以同时连接共享式L A N和单个站(微分段),如图6-16所示。通过共享式LAN连接到交换机端口的站,具有共享式LAN的特点,直接连接到交换机的站则具有微分段的功能。

  注:从以太网的观点来看,每一个专用信道都代表了一个冲突检测域。冲突检测域是一种从逻辑或物理意义上划分的以太网网段。在一个段内,所有的设备都要检测和处理数据传输冲突。由于交换机对一个冲突检测域所能容纳的设备数量有限制,因而这种潜在的冲突也就有限。最初的交换机是用来替代集线器并解决局域网的传输拥塞问题的。尽管有人认为它并非最好的解决方案,但在容易产生拥塞的段使用交换机也不失为一种较好的临时解决方案。所以,近来网络管理人员纷纷用交换机来替换主干网上的路由器。这使得交换机的销售生意也因此而日渐红火。在主干网上使用交换机至少有两种好处。首先,由于交换机使各台设备的数据传输相互独立,所以使用交换机通常是比较安全的。其次,交换机为每台(潜在的)设备都提供了独立的信道。这样做的结果是,在传输大量数据和对时间延迟要求比较严格的信号时,如视频会议,能够全面发挥网络的能力。
交换机自身也还是有缺点的。尽管它带有缓冲区来缓存输入数据并容纳突发信息,但连续大量的数据传输还是会使它不堪重负的。在这种情况下,交换机不能保证不丢失数据。在一个许多节点都共享同一数据信道的环境中,会增加设备冲突;在一个全部采用交换方式的网络中,每一个节点都使用交换机的一个端口,因而就占用一个专用数据信道,这就使得交换机不能提供空闲信道来检测冲突了。另外,尽管一些高层协议,如TCP/IP,能够及时检测出数据丢失并作出响应,但其他的一些协议,如UDP,却不能做到这一点。在传输这种协议的数据包时,发生的冲突次数将会累加,并且最终达到一个极限后,数据传输会被挂起。基于这个原因,设计网络时,应该仔细考虑交换机的连接位置是否与主干网的容量和信息传输模式相匹配。

 参考:http://book.51cto.com/art/200706/49421.htm

 

交换机的交换模式

  交换机可以分成不同的几类。一种是局域网交换机,适用于局域网。尽管以太网交换机
比较常见,但局域网交换机还是可以设计成适合于以太网或令牌环网两种类型。局域网交换
机还因它所采用的交换方式而异,有快捷模式和存储转发模式。至于局域网的交换方式,将
在下面两节讲述。

  (1) 快捷模式
采用快捷模式的交换机会在接受完整个数据包之前就读取帧头,并决定把数据转发往何处。曾经谈到过,帧的前14个字节数据就是帧头,它包含有目标的MAC地址。得到这些信息后,交换机就足以判断出哪个端口将会得到该帧,并可以开始传输该帧(不用缓存数据,也不用检查数据的正确性)。
如果帧出现问题这么办?因为采用快捷模式的交换机不能在帧开始传输时读取帧的校验序列,因此,它也就不能利用校验序列来检验数据的完整性。但另一方面,采用快捷模式的交换机能够检测出数据残片或数据包的片段。当检测到小片数据时,交换机就会一直等到整片数据到后才开始传送。需要着重注意的一点是:数据残片只是各种数据残缺中的一种。采用快捷模式的交换机不能检测出有问题的数据包;事实上,传播遭到破坏的数据包能够增加网络的出错次数。采用快捷模式最大的好处就是它的传输速率较高。由于它不必停下来等待读取整个数据包,这种交换机转发数据比采用存储转发模式的交换机快得多(在下一节你将会发现这一点)。然而,如果交换机的数据传输发生拥塞,对于采用快捷模式的交换机而言,这种节省时间方式的优点也就失去了意义。在这种情况下,这种交换机必须像采用存储转发模式的交换机那样缓存(或暂时保持)数据。
采用快捷模式的交换机比较适合较小的工作组。在这种情况下,对传输速率要求较高,而连接的设备相对较少,这就使出错的可能性降至最低。

  (2)存储转发模式
运行在存储转发模式下的交换机在发送信息前要把整帧数据读入内存并检查其正确性。尽管采用这种方式比采用快捷方式更花时间,但采用这种方式可以存储转发数据,从而可以保证准确性。由于运行在存储转发模式下的交换机不传播错误数据,因而更适合于大型局域网。相反,采用快捷模式的交换机即使接受到错误的数据也会照样转发。这样,如果这种交换机连接的部分发生大量的数据传输冲突,则会造成网络拥塞。在一个大型网络中,如果不能检测出错误就会造成严重的数据传输拥塞问题。
采用存储转发模式的交换机也可以在不同传输速率的网段间传输数据。例如,一个可以同时为50名学生提供服务的高速网络打印机,可以与交换机的一个100 Mbps端口相连,也可以允许所有学生的工作站利用同一台交换机的10 Mbps端口。在这种安排下,打印机就可以快速执行多任务处理。这一特征也使得采用存储转发模式的交换机非常适合有多种传输速率的环境。

参考:http://book.51cto.com/art/200706/49422.htm

 

用交换机组建虚拟局域网

  另外,为了提高带宽的使用效率,交换机可以从逻辑上把一些端口归并为一个广播域,从而来组建虚拟局域网。广播域是构成OSI模型的第二层网段的端口的组合,而且,它必须与第三层设备连接,如路由器或第三层的交换机。这些端口不一定在同一个交换机内,甚至可能不在同一段。虚拟局域网包括服务器、工作站、打印机或其他任何能连接交换机的设备。图6-19是一个虚拟局域网的简单示意图。需要注意的是:使用虚拟局域网,一个很大的好处就是它可以连接不处于同一地理位置的用户,而且可以从一个大型局域网中组建一个较小的工作组。
注:上面我们提到过交换机连接的网络是同属于一个广播域的,为了提高工作效率我们应必免广播的发生会影响其它计算机工作,那么,怎样才能将交换机连接的网络划分成多个广播域呢?这时就需要我们对交换机连接的网络进行VLAN划分,默认情况下交换机连接的网络是同属于一个VLAN,划分后的每个VLAN都是一个广播域,并且各VLAN之间是不能相互通信的,如果实现VLAN之间通信必须使用第三层设备路由器来完成(这部分内容在交换和路由的课程中讲到)。

二层设备---网桥和交换机_第5张图片

  必须适当配置交换机才能组建起虚拟局域网。另外,为了标识每个逻辑局域网所属的端口,可以通过设定安全参数、是否过滤的指令(例如,交换机禁止转发某一网段的帧时)、对某些用户的行为进行限制以及网络管理这些选项来完成。很明显,交换机使用起来非常灵活。讨论虚拟局域网采用的执行方式超出了本书的范围,但如果要负责设计一个网络或安装交换机,就要求更深入地研究一下虚拟局域网。有些商业出版物(和许多交换机制造商)都纷纷把虚拟局域网吹嘘为建构网络的最先进方案和未来的主流方向。(为了获得更多的关于虚拟局域网的尖端技术请参考交换与路由课程内容)。
思考:集线器与交换机之间有何区别?

你可能感兴趣的:(二层设备---网桥和交换机)