仪器社区

什么是网桥

咦大承子 2005-11-20
评论
全部评论
盅新烈寺刈剖
一、什么是网桥?

网桥工作在数据链路层,将两个LAN连起来,根据MAC地址来转发帧,可以看作一个“低层的路由器”(路由器工作在网络层,根据网络地址如IP地址进行转发)。

[img:a134876636]http://www.douzhe.com/blog/get/3/osi--device.jpg[/img:a134876636]
图一连接设备与OSI协议栈

远程网桥通过一个通常较慢的链路(如电话线)连接两个远程LAN,对本地网桥而言,性能比较重要,而对远程网桥而言,在长距离上可正常运行是更重要的。

网桥与路由器的比较

网桥并不了解其转发帧中高层协议的信息,这使它可以同时以同种凡是处理IP、IPX等协议,它还提供了将无路由协议的网络(如NetBEUI)分段的功能。

由于路由器处理网络层的数据,因此它们更容易互连不同的数据链路层,如令牌环网段和以太网段。网桥通常比路由器难控制。象IP等协议有复杂的路由协议,使网管易于管理路由;IP等协议还提供了较多的网络如何分段的信息(即使其地址也提供了此类信息)。而网桥则只用MAC地址和物理拓扑进行工作。因此网桥一般适于小型较简单的网络。

二、使用原因

许多单位都有多个局域网,并且希望能够将它们连接起来。之所以一个单位有多个局域网,有以下6个原因:

首先,许多大学的系或公司的部门都有各自的局域网,主要用于连接他们自己的个人计算机、工作站以及服务器。由于各系(或部门)的工作性质不同,因此选用了不同的局域网,这些系(或部门)之间早晚需相互交往,因而需要网桥。

其次,一个单位在地理位置上较分散,并且相距较远,与其安装一个遍布所有地点的同轴电缆网,不如在各个地点建立一个局域网,并用网桥和红外链路连接起来,这样费用可能会低一些。

第3,可能有必要将一个逻辑上单一的LAN分成多个局域网,以调节载荷。例如采用由网桥连接的多个局域网,每个局域网有一组工作站,并且有自己的文件服务器,因此大部分通信限于单个局域网内,减轻了主干网的负担。

第4,在有些情况下,从载荷上看单个局域网是毫无问题的,但是相距Z远的机器之间的物理距离太远(比如超过802.3所规定的2.5km)。即使电缆铺设不成问题,但由于来回时延过长,网络仍将不能正常工作。唯yi的办法是将局域网分段,在各段之间放置网桥。通过使用网桥,可以增加工作的总物理距离。

第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局域网上的网络层想发送一段很长的报文(帧序列)。在发出Z后一帧之后,它开启一个计时器,等待确认。如果此报文必须通过网桥转到慢速的802.5网络,那么在Z后一帧被转发到低速局域网之前,计时器就有可能时间到。网络层可能会以为帧丢失而重新发送整个报文。几次传送失败后,网络层就会放弃传输并告诉传输层目的站点已经关机。

第三,在所有的问题中,可能Z为严重的问题是三种802LAN有不同的Z大帧长度。对于802.3,Z大帧长度取决于配置参数,但对标准的10M/bs系统Z大有效载荷为1500字节。802.4的Z大帧长度固定为8191字节。802.5没有上限,只要站点的传输时间不超过令牌持有时间。如果令牌时间缺省为10ms,则Z大帧长度为5000字节。一个显而易见的问题出现了:当必须把一个长帧转发给不能接收长帧的局域网时,将会怎么样?在本层中不考虑把帧分成小段。所有的协议都假定帧要么到达要么没有到达,没有条款规定把更小的单位重组成帧。这并不是说不能设计这样的协议,可以设计并已有这种协议,只是802不提供这种功能。这个问题基本上无法解决,必须丢弃因太长而无法转发的帧。其透明程度也就这样了。

由于各种802LAN的特殊性,如:802.4帧带有优先权位、802.5帧字节中有A和C位等,九种网桥都有其特殊的问题,见下表:

[img:a134876636]http://www.douzhe.com/blog/get/3/table.jpg[/img:a134876636]

1、重新格式化帧,并计算新的校验和。
2、反转比特顺序。
3、复制优先权值,不管有无意义。
4、产生一个假想的优先权。
5、丢弃优先权。
6、流向环(某种程度上)。
7、设置A位和C位。
8、担心拥塞(快速LAN至慢速LAN)。
9、担心令牌因为交换ACK延迟或不可能而脱手。
10、如果帧对目的LAN太长,则将其丢弃。

设定的参数:
802.3:1500字节帧10Mb/s(减去碰撞次数)
802.4:8191字节帧10Mb/s
802.5:5000字节帧4Mb/s
当IEEE802委员会开始制订LAN标准时,未能商定一个统一的标准,却产生了3个互不兼容的标准,这一失策已受到了严厉的抨击。后来,在制定互联这3种LAN的网桥的标准时,该委员会决心干得好一些。这一次确实较为成功,他们提出了2种互不兼容的网桥方案。直到目前为止,还无人要求该委员会制订连接它的2个不兼容网桥的网关标准。

--------------------------------------------------------------------------------
mazu 回复于:2004-09-21 15:47:50
四、两种网桥

1、透明网桥

diyi种802网桥是透明网桥(transparentbridge)或生成树网桥(spanningtreebridge)。支持这种设计的人首要关心的是完全透明。按照他们的观点,装有多个LAN的单位在买回IEEE标准网桥之后,只需把连接插头插入网桥,就万事大吉。不需要改动硬件和软件,无需设置地址开关,无需装入路由表或参数。总之什么也不干,只须插入电缆就完事,现有LAN的运行完全不受网桥的任何影响。这真是不可思议,他们Z终成功了。

透明网桥以混杂方式工作,它接收与之连接的所有LAN传送的每一帧。当一帧到达时,网桥必须决定将其丢弃还是转发。如果要转发,则必须决定发往哪个LAN。这需要通过查询网桥中一张大型散列表里的目的地址而作出决定。该表可列出每个可能的目的地,以及它属于哪一条输出线路(LAN)。在插入网桥之初,所有的散列表均为空。由于网桥不知道任何目的地的位置,因而采用扩散算法(floodingalgorithm):把每个到来的、目的地不明的帧输出到连在此网桥的所有LAN中(除了发送该帧的LAN)。随着时间的推移,网桥将了解每个目的地的位置。一旦知道了目的地位置,发往该处的帧就只放到适当的LAN上,而不再散发。

透明网桥采用的算法是逆向学习法(backwardlearning)。网桥按混杂的方式工作,故它能看见所连接的任一LAN上传送的帧。查看源地址即可知道在哪个LAN上可访问哪台机器,于是在散列表中添上一项。

当计算机和网桥加电、断电或迁移时,网络的拓扑结构会随之改变。为了处理动态拓扑问题,每当增加散列表项时,均在该项中注明帧的到达时间。每当目的地已在表中的帧到达时,将以当前时间更新该项。这样,从表中每项的时间即可知道该机器Z后帧到来的时间。网桥中有一个进程定期地扫描散列表,清除时间早于当前时间若干分钟的全部表项。于是,如果从LAN上取下一台计算机,并在别处重新连到LAN上的话,那么在几分钟内,它即可重新开始正常工作而无须人工干预。这个算法同时也意味着,如果机器在几分钟内无动作,那么发给它的帧将不得不散发,一直到它自己发送出一帧为止。

到达帧的路由选择过程取决于发送的LAN(源LAN)和目的地所在的LAN(目的LAN),如下所示:

1、如果源LAN和目的LAN相同,则丢弃该帧。
2、如果源LAN和目的LAN不同,则转发该帧。
3、如果目的LAN未知,则进行扩散。
为了提高可靠性,有人在LAN之间设置了并行的两个或多个网桥,但是,这种配置引起了另外一些问题,因为在拓扑结构中产生了回路,可能引发无限循环。其解决方法就是下面要讲的生成树(spanningtree)算法。

生成树网桥

解决上面所说的无限循环问题的方法是让网桥相互通信,并用一棵到达每个LAN的生成树覆盖实际的拓扑结构。使用生成树,可以确保任两个LAN之间只有唯yi一条路径。一旦网桥商定好生成树,LAN间的所有传送都遵从此生成树。由于从每个源到每个目的地只有唯yi的路径,故不可能再有循环。

为了建造生成树,首先必须选出一个网桥作为生成树的根。实现的方法是每个网桥广播其序列号(该序列号由厂家设置并保证唯yi),选序列号Z小的网桥作为根。接着,按根到每个网桥的Z短路径来构造生成树。如果某个网桥或LAN故障,则重新计算。

网桥通过BPDU(BridgeProtocolDataUnit)互相通信,在网桥做出配置自己的决定前,每个网桥和每个端口需要下列配置数据:

网桥:网桥ID(唯yi的标识)
端口:端口ID(唯yi的标识)
端口相对优先权
各端口的花费(高带宽=低花费)

配置好各个网桥后,网桥将根据配置参数自动确定生成树,这一过程有三个阶段:

1、选择根网桥
具有Z小网桥ID的网桥被选作根网桥。网桥ID应为唯yi的,但若两个网桥具有相同的Z小ID,则MAC地址小的网桥被选作根。

2、在其它所有网桥上选择根端口
除根网桥外的各个网桥需要选一个根端口,这应该是Z适合与根网桥通信的端口。通过计算各个端口到根网桥的花费,取Z小者作为根端口。

3、选择每个LAN的“指定(designated)网桥”和“指定端口”
如果只有一个网桥连到某LAN,它必然是该LAN的指定网桥,如果多于一个,则到根网桥花费Z小的被选为该LAN的指定网桥。指定端口连接指定网桥和相应的LAN(如果这样的端口多于一个,则低优先权的被选)。
一个端口必须为下列之一:

1、根端口
2、某LAN的指定端口
3、阻塞端口
当一个网桥加电后,它假定自己是根网桥,发送出一个CBPDU(ConfigurationBridgeProtocolDataUnit),告知它认为的根网桥ID。一个网桥收到一个根网桥ID小于其所知ID的CBPDU,它将更新自己的表,如果该帧从根端口(上传)到达,则向所有指定端口(下传)分发。当一个网桥收到一个根网桥ID大于其所知ID的CBPDU,该信息被丢弃,如果该帧从指定端口到达,则回送一个帧告知真实根网桥的较低ID。

当有意地或由于线路故障引起网络重新配置,上述过程将重复,产生一个新的生成树。

2、源路由选择网桥

透明网桥的优点是易于安装,只需插进电缆即大功告成。但是从另一方面来说,这种网桥并没有Z佳地利用带宽,因为它们仅仅用到了拓扑结构的一个子集(生成树)。这两个(或其他)因素的相对重要性导致了802委员会内部的分裂。支持CSMA/CD和令牌总线的人选择了透明网桥,而令牌环的支持者则偏爱一种称为源路由选择(sourcerouting)的网桥(受到IBM的鼓励)。

源路由选择的核心思想是假定每个帧的发送者都知道接收者是否在同一LAN上。当发送一帧到另外的LAN时,源机器将目的地址的高位设置成1作为标记。另外,它还在帧头加进此帧应走的实际路径。

源路由选择网桥只关心那些目的地址高位为1的帧,当见到这样的帧时,它扫描帧头中的路由,寻找发来此帧的那个LAN的编号。如果发来此帧的那个LAN编号后跟的是本网桥的编号,则将此帧转发到路由表中自己后面的那个LAN。如果该LAN编号后跟的不是本网桥,则不转发此帧。这一算法有3种可能的具体实现:软件、硬件、混合。这三种具体实现的价格和性能各不相同。diyi种没有接口硬件开销,但需要速度很快的CPU处理所有到来的帧。Z后一种实现需要特殊的VLSI芯片,该芯片分担了网桥的许多工作,因此,网桥可以采用速度较慢的CPU,或者可以连接更多的LAN。

源路由选择的前提是互联网中的每台机器都知道所有其他机器的Z佳路径。如何得到这些路由是源路由选择算法的重要部分。获取路由算法的基本思想是:如果不知道目的地地址的位置,源机器就发布一广播帧,询问它在哪里。每个网桥都转发该查找帧(discoveryframe),这样该帧就可到达互联网中的每一个LAN。当答复回来时,途经的网桥将它们自己的标识记录在答复帧中,于是,广播帧的发送者就可以得到确切的路由,并可从中选取Z佳路由。

虽然此算法可以找到Z佳路由(它找到了所有的路由),但同时也面临着帧爆炸的问题。透明网桥也会发生有点类似的状况,但是没有这么严重。其扩散是按生成树进行,所以传送的总帧数是网络大小的线性函数,而不象源路由选择是指数函数。一旦主机找到至某目的地的一条路由,它就将其存入到高速缓冲器之中,无需再作查找。虽然这种方法大大遏制了帧爆炸,但它给所有的主机增加了事务性负担,而且整个算法肯定是不透明的。

3、两种网桥的比较

[img:4f68bde7af]http://www.douzhe.com/blog/get/3/brige%20compare.jpg[/img:4f68bde7af]

透明网桥一般用于连接以太网段,而源路由选择网桥则一般用于连接令牌环网段。

五、远程网桥

网桥有时也被用来连接两个或多个相距较远的LAN。比如,某个公司分布在多个城市中,该公司在每个城市中均有一个本地的LAN,Z理想的情况就是所有的LAN均连接起来,整个系统就像一个大型的LAN一样。

该目标可通过下述方法实现:每个LAN中均设置一个网桥,并且用点到点的连接(比如租用电话公司的电话线)将它们两个两个地连接起来。点到点连线可采用各种不同的协议。办法之一就是选用某种标准的点到点数据链路协议,将完整的MAC帧加到有效载荷中。如果所有的LAN均相同,这种办法的效果Z好,它的唯yi问题就是必须将帧送到正确的LAN中。另一种办法是在源网桥中去掉MAC的头部和尾部,并把剩下的部分加到点到点协议的有效载荷中,然后在目的网桥中产生新的头部和尾部。它的缺点是到达目的主机的校验和并非是源主机所计算的校验和,因此网桥存储器中某位损坏所产生的错误可能不会被检测到。

--------------------------------------------------------------------------------
mazu 回复于:2004-09-21 16:10:35
[size=24:b937eb119c][b:b937eb119c]网关[/b:b937eb119c][/size:b937eb119c]

网关曾经是很容易理解的概念。在早期的因特网中,术语网关即指路由器。路由器是网络中超越本地网络的标记,这个走向未知的“大门”曾经、现在仍然用于计算路由并把分组数据转发到源始网络之外的部分,因此,它被认为是通向因特网的大门。随着时间的推移,路由器不再神奇,公共的基于IP的广域网的出现和成熟促进了路由器的成长。现在路由功能也能由主机和交换集线器来行使,网关不再是神秘的概念。现在,路由器变成了多功能的网络设备,它能将局域网分割成若干网段、互连私有广域网中相关的局域网以及将各广域网互连而形成了因特网,这样路由器就失去了原有的网关概念。然而术语网关仍然沿用了下来,它不断地应用到多种不同的功能中,定义网关已经不再是件容易的事。目前,主要有三种网关:

协议网关
应用网关
安全网关
唯yi保留的通用意义是作为两个不同的域或系统间中介的网关,要克服的差异本质决定了需要的网关类型。

一、协议网关

协议网关通常在使用不同协议的网络区域间做协议转换。这一转换过程可以发生在OSI参考模型的第2层、第3层或2、3层之间。但是有两种协议网关不提供转换的功能:安全网关和管道。由于两个互连的网络区域的逻辑差异,安全网关是两个技术上相似的网络区域间的必要中介。如私有广域网和公有的因特网。这一特例在后续的“组合过滤网关”中讨论,此部分中集中于实行物理的协议转换的协议网关。

1、管道网关

管道是通过不兼容的网络区域传输数据的比较通用的技术。数据分组被封装在可以被传输网络识别的帧中,到达目的地时,接收主机解开封装,把封装信息丢弃,这样分组就被恢复到了原先的格式。例如在下图中,IPv4数据由路由器A封装在IPv6分组中,通过IPv6网络传递给一个IPv4主机,路由器解开IPv6的封装,把还原的IPv4数据传递给目的主机。

[img:b937eb119c]http://www.douzhe.com/blog/get/3/网关1.jpg[/img:b937eb119c]

管道技术只能用于3层协议,从SNA到IPv6。虽然管道技术有能够克服特定网络拓扑限制的优点,它也有缺点。管道的本质可以隐藏不该接受的分组,简单来说,管道可以通过封装来攻破防火墙,把本该过滤掉的数据传给私有的网络区域。

2、专用网关

很多的专用网关能够在传统的大型机系统和迅速发展的分布式处理系统间建立桥梁。典型的专用网关用于把基于PC的客户端连到局域网边缘的转换器。该转换器通过X.25网络提供对大型机系统的访问。下图演示了从PC客户端到网关的过程,网关将IP数据通过X.25广域网传送给大型机。

[img:b937eb119c]http://www.douzhe.com/blog/get/3/网关2.jpg[/img:b937eb119c]

这些网关通常是需要安装在连接到局域网的计算机上的便宜、单功能的电路板,这使其价格很低且很容易升级。在上图的例子中,该单功能的网关将大型机时代的硬连线的终端和终端服务器升级为PC机和局域网。

3、2层协议网关

2层协议网关提供局域网到局域网的转换,它们通常被称为翻译网桥而不是协议网关。在使用不同帧类型或时钟频率的局域网间互连可能就需要这种转换。

(1)帧格式差异

IEEE802兼容的局域网共享公共的介质访问层,但是它们的帧结构和介质访问机制使它们不能直接互通。如下图:

[img:b937eb119c]http://www.douzhe.com/blog/get/3/网关3.jpg[/img:b937eb119c]

翻译网桥利用了2层的共同点,如MAC地址,提供帧结构不同部分的动态翻译,使它们的互通成为了可能。diyi代局域网需要独立的设备来提供翻译网桥,如今的多协议交换集线器通常提供高带宽主干,在不同帧类型间可作为翻译网桥,如下图所示:

[img:b937eb119c]http://www.douzhe.com/blog/get/3/网关4.jpg[/img:b937eb119c]

现在翻译网桥的幕后性质使这种协议转换变得模糊,独立的翻译设备不再需要,多功能交换集线器天生就具有2层协议转换网关的功能。

替代使用仅涉及2层的设备如翻译网桥或多协议交换集线器的另一种选择是使用3层设备:路由器。长期以来路由器就是局域网主干的重要组成部分,见下图。如果路由器用于互连局域网和广域网,它们通常都支持标准的局域网接口,经过适当的配置,路由器很容易提供不同帧类型的翻译。这种方案的缺点是如果使用3层设备路由器需要表查询,这是软件功能,而象交换机和集线器等2层设备的功能由硬件来实现,从而可以运行得更快。

[img:b937eb119c]http://www.douzhe.com/blog/get/3/网关5.jpg[/img:b937eb119c]

(2)传输率差异

很多过去的局域网技术已经提升了传输速率,例如,IEEE802.3以太网现在有10Mbps、100Mbps和1bps的版本,它们的帧结构是相同的,主要的区别在于物理层以及介质访问机制,在各种区别中,传输速率是Z明显的差异。令牌环网也提升了传输速率,早期版本工作在4Mbps速率下,现在的版本速率为16Mbps,100Mbps的FDDI是直接从令牌环发展来的,通常用作令牌环网的主干。这些仅有时钟频率不同的局域网技术需要一种机制在两个其它方面都兼容的局域网间提供缓冲的接口,现今的多协议、高带宽的交换集线器提供了能够缓冲速率差异的健壮的背板,如下图:
[img:b937eb119c]http://www.douzhe.com/blog/get/3/网关6.jpg[/img:b937eb119c]

如今的多协议局域网可以为同一局域网技术的不同速率版本提供内部速率缓冲,还可以为不同的802兼容的局域网提供2层帧转换。路由器也可以做速率差异的缓冲工作,它们相对于交换集线器的长处是它们的内存是可扩展的。其内存缓存进入和流出分组到一定程度以决定是否有相应的访问列表(过滤)要应用,以及决定下一跳,该内存还可以用于缓存可能存在于各种网络拓扑间的速率差异,如下图:

[img:b937eb119c]http://www.douzhe.com/blog/get/3/网关7.jpg[/img:b937eb119c]

--------------------------------------------------------------------------------
mazu 回复于:2004-09-21 16:22:51
二、应用网关

应用网关是在使用不同数据格式间翻译数据的系统。典型的应用网关接收一种格式的输入,将之翻译,然后以新的格式发送,如下图。输入和输出接口可以是分立的也可以使用同一网络连接。
[img:43835c7fde]http://www.douzhe.com/blog/get/3/网关8.jpg[/img:43835c7fde]

一种应用可以有多种应用网关。如Email可以以多种格式实现,提供Email的服务器可能需要与各种格式的邮件服务器交互,实现此功能唯yi的方法是支持多个网关接口。下图所示为一个邮件服务器可以支持的几种网关接口。

[img:43835c7fde]http://www.douzhe.com/blog/get/3/GW1.jpg[/img:43835c7fde]

应用网关也可以用于将局域网客户机与外部数据源相连,这种网关为本地主机提供了与远程交互式应用的连接。将应用的逻辑和执行代码置于局域网中客户端避免了低带宽、高延迟的广域网的缺点,这就使得客户端的响应时间更短。应用网关将请求发送给相应的计算机,获取数据,如果需要就把数据格式转换成客户机所要求的格式,见下图所示。

[img:43835c7fde]http://www.douzhe.com/blog/get/3/GW2.jpg[/img:43835c7fde]

本文不对所有的应用网关配置作详尽的描述,这些例子应该概括了应用网关的各种分支。它们通常位于网络数据的交汇点,为了充分地支持这样的交汇点,需要包括局域网、广域网在内的多种网络技术的结合。

三、安全网关

安全网关是各种技术有趣的融合,具有重要且独特的保护作用,其范围从协议级过滤到十分复杂的应用级过滤。防火墙主要有三类:

分组过滤
电路网关
13 0 2005-11-21 0条评论 回复
55555666666778
就是网络连接时需要一个桥联
6 0 2005-11-21 0条评论 回复
郑小郑晶小晶
网桥就是把使用同样网络协议(比如,以太网或者令牌网)的局域网(LAN)从一个连接到另一个的设备。你可以把网桥想象成一个决定消息往那里发送的设备,它决定你发出的消息是发给和你在同一楼里的局域网上的人,还是街对过的局域网上的人。
19 0 2005-11-21 0条评论 回复
您可能感兴趣的社区主题
加载中...
发布 评论