MyException - 我的异常网
当前位置:我的异常网» 综合 » 网桥的工作原理与施用

网桥的工作原理与施用

www.MyException.Cn  网友分享于:2015-08-26  浏览:5次
网桥的工作原理与应用

网桥的工作原理与应用
2010年10月14日
  一、网桥的工作原理与应用 
  网桥在20世纪80年代初开始在商业上广泛应用。为什么要使用网桥?原因有以下几点: 
  (1)相对于物理层设备而言,网桥可以分割冲突域,减少网络中冲突发生的可能性,提高整个网络性能。 
  (2)网桥可延长局域网的最大距离。在不使用网桥的情况下,局域网的最大传输距离为2.5公里。通过网桥甚至可以允许网络跨越任意长的距离。例如,通过一对网桥和一条点对点租用串行线路连接两个网段,或通过一对网桥和一条租用卫星频道这样一个点对点链路连接。网桥是OSI参考模型中数据链路层(二层)的网络互连设备,也称为数据链路层设备。因此网桥能够连接两个物理层不同网段,比如一个网段的物理层传输介质为同轴电缆,而另一个网段的物理层传输介质为非屏蔽双绞线。当然在两个网段的网络层(三层)以上的部分必须相同,因为网桥并不能进行协议转换。最早的网桥只有两个端口,现在有多个端口的网桥。被网桥连接的网段内的主机可以通过网桥互相发送数据帧。在数据帧的头部含有源物理地址和目的地物理地址。网桥能分析该物理地址,并对数据帧进行相应地*作。被网桥连接的不同网段是同一个广播域,而每个网段又是一个独立的冲突域,网桥能允许不同冲突域内的通信同时进行。因此在设计网络桥接时可以考虑将相互通讯较为频繁的主机连在同一个网段上,以提高网络性能。另外因为网桥要存储、转发和分析数据帧,也增加了整个网络的延时。
  二、网桥的类型 
  1. 透明网桥(Transparent Bridge) 
  透明网桥是目前在市场占有率最高的网桥,主要用来连接以太网,也可以连接令牌环网和FDDI(光纤分布式接口)网络。透明网桥对收到的数据帧进行校验,如果发现错误,就丢弃该帧。透明网桥通过学习、转发、过滤和泛洪来实现网段间的数据传送。 透明网桥可以检测其所连的每个网段上传输的数据帧,并记录在相应的物理地址与端口的关系表格(称为转发表,Forwarding Information Base)中(这一过程称为学习)。如果数据帧的目的地址在转发表中,则根据转发表向相应端口转发该帧(这一过程称为转发)。如果数据帧的目的地址和源地址在同一个端口内,则不转发(丢弃)该帧(这一过程称为过滤)。如果数据帧的目的地址不在转发表中,则向除源端口外的所有端口转发(这一过程称为泛洪)。 
  2. 源路由网桥(Source route Bridge) 
  源路由网桥主要用于连接令牌环网络和FDDI网络。一个环中的主机和另一个环中主机进行通信时,若转发表中没有到该目的地主机的路由信息,则需要由源主机首先决定到达目的地的路由。其步骤如下: 
  (1)源主机首先发送一个含目的地址的本地测试帧,若测试帧返回,则说明目的地主机在本地环上。 
  (2)若测试帧未返回,则说明目的地主机不在本地环上。对于IBM公司的系统网络体系SNA(System Network Architecture),每个源路由网桥将测试帧转发到所有端口,最后送至目的地主机。 
  (3)目的地主机每收到一条测试帧,将其原路返回源主机。 
  (4)通常源主机只接收第一条返回的测试帧,将其路径做为最佳路径。该帧中包含从源到目的地主机所经过的令牌环和网桥的标号。源主机向目的地主机发送的数据帧,携带完整的路由信息。然后逐步由网桥转发到目的地主机。 
  3. 源路由透明网桥(Source route Transparent Bridge) 
  源路由透明网桥主要用于以太网和令牌环网共存的环境。该种网桥既有源路由网桥的功能又有透明网桥的功能。可以分别为以太网和令牌环网提供桥接功能。但要注意,源路由透明网桥不能桥接以太网和令牌环网,即不能在以太网和令牌环网之间转发数据帧。 
  4. 源路由翻译网桥(Source route Translation Bridge) 
  源路由翻译网桥也是用于以太网和令牌环网共存的环境。但与源路由透明网桥不同的是,这种网桥融合了源路由网桥和透明网桥的算法,可以在以太网和令牌环网之间提供桥接功能。也就是说,由以太网到令牌环网的以太帧,在经过该网桥时,要被转换成令牌环网的格式,反之亦然。具体转换由数据链路层的逻辑链路控制(LLC)子层完成。
  网桥工作在数据链路层,将两个LAN连起来,根据MAC地址来转发帧,可以看作一个"低层的路由器"(路由器工作在网络层,根据网络地址如IP地址进行转发)。 
  远程网桥通过一个通常较慢的链路(如电话线)连接两个远程LAN,对本地网桥而言,性能比较重要,而对远程网桥而言,在长距离上可正常运行是更重要的。 
  网桥与路由器的比较 
  网桥并不了解其转发帧中高层协议的信息,这使它可以同时以同种凡是处理IP、IPX等协议,它还提供了将无路由协议的网络(如NetBEUI)分段的功能。 
  由于路由器处理网络层的数据,因此它们更容易互连不同的数据链路层,如令牌环网段和以太网段。网桥通常比路由器难控制。象IP等协议有复杂的路由协议,使网管易于管理路由;IP等协议还提供了较多的网络如何分段的信息(即使其地址也提供了此类信息)。而网桥则只用MAC地址和物理拓扑进行工作。因此网桥一般适于小型较简单的网络。 
  二、使用原因 
  许多单位都有多个局域网,并且希望能够将它们连接起来。之所以一个单位有多个局域网,有以下6个原因: 
  首先,许多大学的系或公司的部门都有各自的局域网,主要用于连接他们自己的个人计算机、工作站以及服务器。由于各系(或部门)的工作性质不同,因此选用了不同的局域网,这些系(或部门)之间早晚需相互交往,因而需要网桥。 
  其次,一个单位在地理位置上较分散,并且相距较远,与其安装一个遍布所有地点的同轴电缆网,不如在各个地点建立一个局域网,并用网桥和红外链路连接起来,这样费用可能会低一些。 
  第3,可能有必要将一个逻辑上单一的LAN分成多个局域网,以调节载荷。例如采用由网桥连接的多个局域网,每个局域网有一组工作站,并且有自己的文件服务器,因此大部分通信限于单个局域网内,减轻了主干网的负担。 
  第4,在有些情况下,从载荷上看单个局域网是毫无问题的,但是相距最远的机器之间的物理距离太远(比如超过802.3所规定的2.5km)。即使电缆铺设不成问题,但由于来回时延过长,网络仍将不能正常工作。唯一的办法是将局域网分段,在各段之间放置网桥。通过使用网桥,可以增加工作的总物理距离。 
  第5,可靠性问题。在一个单独的局域网中,一个有缺陷的节点不断地输出无用的信息流会严重地破坏局域网的运行。网桥可以设置在局域网中的关键部位,就像建筑物内的放火门一样,防止因单个节点失常而破坏整个系统。 
  第6,网桥有助于安全保密。大多数LAN接口都有一种混杂工作方式(promiscuousmode),在这种方式下,计算机接收所有的帧,包括那些并不是编址发送给它的帧。如果网中多处设置网桥并谨慎地拦截无须转发的重要信息,那么就可以把网络分隔以防止信息被窃。 
  三、兼容性问题 
  有人可能会天真地认为从一个802局域网到另一个802局域网的网桥非常简单,但实际上并非如此。在802.x到802.y的九种组合中,每一种都有它自己的特殊问题要解决。在讨论这些特殊问题之前,先来看一看这些网桥共同面临的一般性问题。 
  首先,各种局域网采用了不同的帧格式。这种不兼容性并不是由技术上的原因造成的,而仅仅是由于支持三种标准的公司(Xerox,GM和IBM),没有一家愿意改变自己所支持的标准。其结果是:在不同的局域网间复制帧要重排格式,这需要占用CPU时间,重新计算校验和,而且还有可能产生因网桥存储错误而造成的无法检测的错误。 
  第二个问题是互联的局域网并非必须按相同的数据传输速率运行。当快速的局域网向慢速的局域网发送一长串连续帧时,网桥处理帧的速度要比帧进入的速度慢。网桥必须用缓冲区存储来不及处理的帧,同时还得提防耗尽存储器。即使是10Mb/s的802.4到10Mb/s的802.3的网桥,在某种程度上也存在这样的问题。因为802.3的部分带宽耗费于冲突。802.3实际上并不是真的10Mb/s,而802.4(几乎)确实为10Mb/s。 
  与网桥瓶颈问题相关的一个细微而重要的问题是其上各层的计时器值。假如802.4局域网上的网络层想发送一段很长的报文(帧序列)。在发出最后一帧之后,它开启一个计时器,等待确认。如果此报文必须通过网桥转到慢速的802.5网络,那么在最后一帧被转发到低速局域网之前,计时器就有可能时间到。网络层可能会以为帧丢失而重新发送整个报文。几次传送失败后,网络层就会放弃传输并告诉传输层目的站点已经关机。 
  第三,在所有的问题中,可能最为严重的问题是三种802LAN有不同的最大帧长度。对于802.3,最大帧长度取决于配置参数,但对标准的10M/bs系统最大有效载荷为1500字节。802.4的最大帧长度固定为8191字节。802.5没有上限,只要站点的传输时间不超过令牌持有时间。如果令牌时间缺省为10ms,则最大帧长度为5000字节。一个显而易见的问题出现了:当必须把一个长帧转发给不能接收长帧的局域网时,将会怎么样?在本层中不考虑把帧分成小段。所有的协议都假定帧要么到达要么没有到达,没有条款规定把更小的单位重组成帧。这并不是说不能设计这样的协议,可以设计并已有这种协议,只是802不提供这种功能。这个问题基本上无法解决,必须丢弃因太长而无法转发的帧。其透明程度也就这样了。 
  四、两种网桥 
  1、透明网桥 
  第一种802网桥是透明网桥(transparentbridge)或生成树网桥(spanningtreebridge)。支持这种设计的人首要关心的是完全透明。按照他们的观点,装有多个LAN的单位在买回IEEE标准网桥之后,只需把连接插头插入网桥,就万事大吉。不需要改动硬件和软件,无需设置地址开关,无需装入路由表或参数。总之什么也不干,只须插入电缆就完事,现有LAN的运行完全不受网桥的任何影响。这真是不可思议,他们最终成功了。 
  透明网桥以混杂方式工作,它接收与之连接的所有LAN传送的每一帧。当一帧到达时,网桥必须决定将其丢弃还是转发。如果要转发,则必须决定发往哪个LAN。这需要通过查询网桥中一张大型散列表里的目的地址而作出决定。该表可列出每个可能的目的地,以及它属于哪一条输出线路(LAN)。在插入网桥之初,所有的散列表均为空。由于网桥不知道任何目的地的位置,因而采用扩散算法(floodingalgorithm):把每个到来的、目的地不明的帧输出到连在此网桥的所有LAN中(除了发送该帧的LAN)。随着时间的推移,网桥将了解每个目的地的位置。一旦知道了目的地位置,发往该处的帧就只放到适当的LAN上,而不再散发。 
  透明网桥采用的算法是逆向学习法(backwardlearning)。网桥按混杂的方式工作,故它能看见所连接的任一LAN上传送的帧。查看源地址即可知道在哪个LAN上可访问哪台机器,于是在散列表中添上一项。 
  当计算机和网桥加电、断电或迁移时,网络的拓扑结构会随之改变。为了处理动态拓扑问题,每当增加散列表项时,均在该项中注明帧的到达时间。每当目的地已在表中的帧到达时,将以当前时间更新该项。这样,从表中每项的时间即可知道该机器最后帧到来的时间。网桥中有一个进程定期地扫描散列表,清除时间早于当前时间若干分钟的全部表项。于是,如果从LAN上取下一台计算机,并在别处重新连到LAN上的话,那么在几分钟内,它即可重新开始正常工作而无须人工干预。这个算法同时也意味着,如果机器在几分钟内无动作,那么发给它的帧将不得不散发,一直到它自己发送出一帧为止。 
  到达帧的路由选择过程取决于发送的LAN(源LAN)和目的地所在的LAN(目的LAN),如下所示: 
  1、如果源LAN和目的LAN相同,则丢弃该帧。 
  2、如果源LAN和目的LAN不同,则转发该帧。 
  3、如果目的LAN未知,则进行扩散。 
  为了提高可靠性,有人在LAN之间设置了并行的两个或多个网桥,但是,这种配置引起了另外一些问题,因为在拓扑结构中产生了回路,可能引发无限循环。其解决方法就是下面要讲的生成树(spanningtree)算法。 
  生成树网桥 
  解决上面所说的无限循环问题的方法是让网桥相互通信,并用一棵到达每个LAN的生成树覆盖实际的拓扑结构。使用生成树,可以确保任两个LAN之间只有唯一一条路径。一旦网桥商定好生成树,LAN间的所有传送都遵从此生成树。由于从每个源到每个目的地只有唯一的路径,故不可能再有循环。 
  为了建造生成树,首先必须选出一个网桥作为生成树的根。实现的方法是每个网桥广播其序列号(该序列号由厂家设置并保证全球唯一),选序列号最小的网桥作为根。接着,按根到每个网桥的最短路径来构造生成树。如果某个网桥或LAN故障,则重新计算。 
  网桥通过BPDU(BridgeProtocolDataUnit)互相通信,在网桥做出配置自己的决定前,每个网桥和每个端口需要下列配置数据: 
  网桥:网桥ID(唯一的标识) 
  端口:端口ID(唯一的标识) 
  端口相对优先权 
  各端口的花费(高带宽=低花费) 
  配置好各个网桥后,网桥将根据配置参数自动确定生成树,这一过程有三个阶段: 
  1、选择根网桥 
  具有最小网桥ID的网桥被选作根网桥。网桥ID应为唯一的,但若两个网桥具有相同的最小ID,则MAC地址小的网桥被选作根。 
  2、在其它所有网桥上选择根端口 
  除根网桥外的各个网桥需要选一个根端口,这应该是最适合与根网桥通信的端口。通过计算各个端口到根网桥的花费,取最小者作为根端口。 
  3、选择每个LAN的"指定(designated)网桥"和"指定端口" 
  如果只有一个网桥连到某LAN,它必然是该LAN的指定网桥,如果多于一个,则到根网桥花费最小的被选为该LAN的指定网桥。指定端口连接指定网桥和相应的LAN(如果这样的端口多于一个,则低优先权的被选)。 
  一个端口必须为下列之一: 
  1、根端口 
  2、某LAN的指定端口 
  3、阻塞端口 
  当一个网桥加电后,它假定自己是根网桥,发送出一个CBPDU(ConfigurationBridgeProtocolDataUnit),告知它认为的根网桥ID。一个网桥收到一个根网桥ID小于其所知ID的CBPDU,它将更新自己的表,如果该帧从根端口(上传)到达,则向所有指定端口(下传)分发。当一个网桥收到一个根网桥ID大于其所知ID的CBPDU,该信息被丢弃,如果该帧从指定端口到达,则回送一个帧告知真实根网桥的较低ID。 
  当有意地或由于线路故障引起网络重新配置,上述过程将重复,产生一个新的生成树。 
  2、源路由选择网桥 
  透明网桥的优点是易于安装,只需插进电缆即大功告成。但是从另一方面来说,这种网桥并没有最佳地利用带宽,因为它们仅仅用到了拓扑结构的一个子集(生成树)。这两个(或其他)因素的相对重要性导致了802委员会内部的分裂。支持CSMA/CD和令牌总线的人选择了透明网桥,而令牌环的支持者则偏爱一种称为源路由选择(sourcerouting)的网桥(受到IBM的鼓励)。 
  源路由选择的核心思想是假定每个帧的发送者都知道接收者是否在同一LAN上。当发送一帧到另外的LAN时,源机器将目的地址的高位设置成1作为标记。另外,它还在帧头加进此帧应走的实际路径。 
  源路由选择网桥只关心那些目的地址高位为1的帧,当见到这样的帧时,它扫描帧头中的路由,寻找发来此帧的那个LAN的编号。如果发来此帧的那个LAN编号后跟的是本网桥的编号,则将此帧转发到路由表中自己后面的那个LAN。如果该LAN编号后跟的不是本网桥,则不转发此帧。这一算法有3种可能的具体实现:软件、硬件、混合。这三种具体实现的价格和性能各不相同。第一种没有接口硬件开销,但需要速度很快的CPU处理所有到来的帧。最后一种实现需要特殊的VLSI芯片,该芯片分担了网桥的许多工作,因此,网桥可以采用速度较慢的CPU,或者可以连接更多的LAN。 
  源路由选择的前提是互联网中的每台机器都知道所有其他机器的最佳路径。如何得到这些路由是源路由选择算法的重要部分。获取路由算法的基本思想是:如果不知道目的地地址的位置,源机器就发布一广播帧,询问它在哪里。每个网桥都转发该查找帧(discoveryframe),这样该帧就可到达互联网中的每一个LAN。当答复回来时,途经的网桥将它们自己的标识记录在答复帧中,于是,广播帧的发送者就可以得到确切的路由,并可从中选取最佳路由。 
  虽然此算法可以找到最佳路由(它找到了所有的路由),但同时也面临着帧爆炸的问题。透明网桥也会发生有点类似的状况,但是没有这么严重。其扩散是按生成树进行,所以传送的总帧数是网络大小的线性函数,而不象源路由选择是指数函数。一旦主机找到至某目的地的一条路由,它就将其存入到高速缓冲器之中,无需再作查找。虽然这种方法大大遏制了帧爆炸,但它给所有的主机增加了事务性负担,而且整个算法肯定是不透明的。 
  3、两种网桥的比较 
  透明网桥一般用于连接以太网段,而源路由选择网桥则一般用于连接令牌环网段。 
  五、远程网桥 
  网桥有时也被用来连接两个或多个相距较远的LAN。比如,某个公司分布在多个城市中,该公司在每个城市中均有一个本地的LAN,最理想的情况就是所有的LAN均连接起来,整个系统就像一个大型的LAN一样。 
  该目标可通过下述方法实现:每个LAN中均设置一个网桥,并且用点到点的连接(比如租用电话公司的电话线)将它们两个两个地连接起来。点到点连线可采用各种不同的协议。办法之一就是选用某种标准的点到点数据链路协议,将完整的MAC帧加到有效载荷中。如果所有的LAN均相同,这种办法的效果最好,它的唯一问题就是必须将帧送到正确的LAN中。另一种办法是在源网桥中去掉MAC的头部和尾部,并把剩下的部分加到点到点协议的有效载荷中,然后在目的网桥中产生新的头部和尾部。它的缺点是到达目的主机的校验和并非是源主机所计算的校验和,因此网桥存储器中某位损坏所产生的错误可能不会被检测到。
  网桥的基本工作原理 
  数据链路层互联的设备是网桥(bridge),在网络互联中它起到数据接收、地址过滤与数据转发的作用,用来实现多个网络系统之间的数据交换。 
  网桥的基本特征 
  1.网桥在数据链路层上实现局域网互连; 
  2.网桥能够互连两个采用不同数据链路层协议、不同传输介质与不同传输速率的网络; 
  3.网桥以接收、存储、地址过滤与转发的方式实现互连的网络之间的通信; 
  4.网桥需要互连的网络在数据链路层以上采用相同的协议; 
  5.网桥可以分隔两个网络之间的广播通信量,有利于改善互连网络的性能与安全性。 
  两种网桥的工作原理
  作者: 佚名, 出处:IT专家网论坛, 责任编辑: 白志飞, 
  2009-08-10 10:19
  网桥(Bridge)像一个聪明的中继器。中继器从一个网络电缆里接收信号, 放大它们,将其送入下一个电缆。它们毫无目的的这么做,对它们所转发消息的 内容毫不在意。相比较而言,网桥对从关卡上传下来的信息更敏锐一些。
  1、透明网桥
  第一种802网桥是透明网桥(transparentbridge)或生成树网桥(spanningtreebridge)。支持这种设计的人首要关心的是完全透明。按照他们的观点,装有多个LAN的单位在买回IEEE标准网桥之后,只需把连接插头插入网桥,就万事大吉。不需要改动硬件和软件,无需设置地址开关,无需装入路由表或参数。总之什么也不干,只须插入电缆就完事,现有LAN的运行完全不受网桥的任何影响。这真是不可思议,他们最终成功了。
  透明网桥以混杂方式工作,它接收与之连接的所有LAN传送的每一帧。当一帧到达时,网桥必须决定将其丢弃还是转发。如果要转发,则必须决定发往哪个LAN。这需要通过查询网桥中一张大型散列表里的目的地址而作出决定。该表可列出每个可能的目的地,以及它属于哪一条输出线路(LAN)。在插入网桥之初,所有的散列表均为空。由于网桥不知道任何目的地的位置,因而采用扩散算法(floodingalgorithm):把每个到来的、目的地不明的帧输出到连在此网桥的所有LAN中(除了发送该帧的LAN)。随着时间的推移,网桥将了解每个目的地的位置。一旦知道了目的地位置,发往该处的帧就只放到适当的LAN上,而不再散发。
  透明网桥采用的算法是逆向学习法(backwardlearning)。网桥按混杂的方式工作,故它能看见所连接的任一LAN上传送的帧。查看源地址即可知道在哪个LAN上可访问哪台机器,于是在散列表中添上一项。
  当计算机和网桥加电、断电或迁移时,网络的拓扑结构会随之改变。为了处理动态拓扑问题,每当增加散列表项时,均在该项中注明帧的到达时间。每当目的地已在表中的帧到达时,将以当前时间更新该项。这样,从表中每项的时间即可知道该机器最后帧到来的时间。网桥中有一个进程定期地扫描散列表,清除时间早于当前时间若干分钟的全部表项。于是,如果从LAN上取下一台计算机,并在别处重新连到LAN上的话,那么在几分钟内,它即可重新开始正常工作而无须人工干预。这个算法同时也意味着,如果机器在几分钟内无动作,那么发给它的帧将不得不散发,一直到它自己发送出一帧为止。
  到达帧的路由选择过程取决于发送的LAN(源LAN)和目的地所在的LAN(目的LAN),如下所示:
  1、如果源LAN和目的LAN相同,则丢弃该帧。
  2、如果源LAN和目的LAN不同,则转发该帧。
  3、如果目的LAN未知,则进行扩散。
  为了提高可靠性,有人在LAN之间设置了并行的两个或多个网桥,但是,这种配置引起了另外一些问题,因为在拓扑结构中产生了回路,可能引发无限循环。其解决方法就是下面要讲的生成树(spanningtree)算法。
  解决上面所说的无限循环问题的方法是让网桥相互通信,并用一棵到达每个LAN的生成树覆盖实际的拓扑结构。使用生成树,可以确保任两个LAN之间只有唯一一条路径。一旦网桥商定好生成树,LAN间的所有传送都遵从此生成树。由于从每个源到每个目的地只有唯一的路径,故不可能再有循环。
  为了建造生成树,首先必须选出一个网桥作为生成树的根。实现的方法是每个网桥广播其序列号(该序列号由厂家设置并保证全球唯一),选序列号最小的网桥作为根。接着,按根到每个网桥的最短路径来构造生成树。如果某个网桥或LAN故障,则重新计算。
  网桥通过BPDU(BridgeProtocolDataUnit)互相通信,在网桥做出配置自己的决定前,每个网桥和每个端口需要下列配置数据:
  网桥:网桥ID(唯一的标识)
  端口:端口ID(唯一的标识)
  端口相对优先权 各端口的花费(高带宽=低花费)
  配置好各个网桥后,网桥将根据配置参数自动确定生成树,这一过程有三个阶段:
  1)选择根网桥
  具有最小网桥ID的网桥被选作根网桥。网桥ID应为唯一的,但若两个网桥具有相同的最小ID,则MAC地址小的网桥被选作根。
  2)在其它所有网桥上选择根端口
  除根网桥外的各个网桥需要选一个根端口,这应该是最适合与根网桥通信的端口。通过计算各个端口到根网桥的花费,取最小者作为根端口。
  3)选择每个LAN的"指定(designated)网桥"和"指定端口"
  如果只有一个网桥连到某LAN,它必然是该LAN的指定网桥,如果多于一个,则到根网桥花费最小的被选为该LAN的指定网桥。指定端口连接指定网桥和相应的LAN(如果这样的端口多于一个,则低优先权的被选)。
  一个端口必须为下列之一:
  1)根端口
  2)某LAN的指定端口
  3)阻塞端口
  当一个网桥加电后,它假定自己是根网桥,发送出一个CBPDU(ConfigurationBridgeProtocolDataUnit),告知它认为的根网桥ID。一个网桥收到一个根网桥ID小于其所知ID的CBPDU,它将更新自己的表,如果该帧从根端口(上传)到达,则向所有指定端口 (下传)分发。当一个网桥收到一个根网桥ID大于其所知ID的CBPDU,该信息被丢弃,如果该帧从指定端口到达,则回送一个帧告知真实根网桥的较低 ID。
  当有意地或由于线路故障引起网络重新配置,上述过程将重复,产生一个新的生成树。
  2、源路由选择网桥
  透明网桥的优点是易于安装,只需插进电缆即大功告成。但是从另一方面来说,这种网桥并没有最佳地利用带宽,因为它们仅仅用到了拓扑结构的一个子集(生成树)。这两个(或其他)因素的相对重要性导致了802委员会内部的分裂。支持CSMA/CD和令牌总线的人选择了透明网桥,而令牌环的支持者则偏爱一种称为源路由选择(sourcerouting)的网桥(受到IBM的鼓励)。
  源路由选择的核心思想是假定每个帧的发送者都知道接收者是否在同一LAN上。当发送一帧到另外的LAN时,源机器将目的地址的高位设置成1作为标记。另外,它还在帧头加进此帧应走的实际路径。
  源路由选择网桥只关心那些目的地址高位为1的帧,当见到这样的帧时,它扫描帧头中的路由,寻找发来此帧的那个LAN的编号。如果发来此帧的那个 LAN编号后跟的是本网桥的编号,则将此帧转发到路由表中自己后面的那个LAN。如果该LAN编号后跟的不是本网桥,则不转发此帧。这一算法有3种可能的具体实现:软件、硬件、混合。这三种具体实现的价格和性能各不相同。第一种没有接口硬件开销,但需要速度很快的CPU处理所有到来的帧。最后一种实现需要特殊的VLSI芯片,该芯片分担了网桥的许多工作,因此,网桥可以采用速度较慢的CPU,或者可以连接更多的LAN。
  源路由选择的前提是互联网中的每台机器都知道所有其他机器的最佳路径。如何得到这些路由是源路由选择算法的重要部分。获取路由算法的基本思想是:如果不知道目的地地址的位置,源机器就发布一广播帧,询问它在哪里。每个网桥都转发该查找帧(discoveryframe),这样该帧就可到达互联网中的每一个LAN。当答复回来时,途经的网桥将它们自己的标识记录在答复帧中,于是,广播帧的发送者就可以得到确切的路由,并可从中选取最佳路由。
  虽然此算法可以找到最佳路由(它找到了所有的路由),但同时也面临着帧爆炸的问题。透明网桥也会发生有点类似的状况,但是没有这么严重。其扩散是按生成树进行,所以传送的总帧数是网络大小的线性函数,而不象源路由选择是指数函数。一旦主机找到至某目的地的一条路由,它就将其存入到高速缓冲器之中,无需再作查找。虽然这种方法大大遏制了帧爆炸,但它给所有的主机增加了事务性负担,而且整个算法肯定是不透明的。
  3、两种网桥的比较
  透明网桥一般用于连接以太网段,而源路由选择网桥则一般用于连接令牌环网段。

文章评论

初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
每天工作4小时的程序员
每天工作4小时的程序员
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
中美印日四国程序员比较
中美印日四国程序员比较
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
我的丈夫是个程序员
我的丈夫是个程序员
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
程序员和编码员之间的区别
程序员和编码员之间的区别
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
如何成为一名黑客
如何成为一名黑客
那些争议最大的编程观点
那些争议最大的编程观点
总结2014中国互联网十大段子
总结2014中国互联网十大段子
编程语言是女人
编程语言是女人
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
鲜为人知的编程真相
鲜为人知的编程真相
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
程序员的鄙视链
程序员的鄙视链
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
代码女神横空出世
代码女神横空出世
程序员都该阅读的书
程序员都该阅读的书
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
10个调试和排错的小建议
10个调试和排错的小建议
程序员应该关注的一些事儿
程序员应该关注的一些事儿
一个程序员的时间管理
一个程序员的时间管理
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
旅行,写作,编程
旅行,写作,编程
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
Java程序员必看电影
Java程序员必看电影
程序员必看的十大电影
程序员必看的十大电影
我是如何打败拖延症的
我是如何打败拖延症的
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有