交换机和网桥的区别

来源:互联网 发布:淘宝如何开企业店铺 编辑:程序博客网 时间:2024/05/02 01:13

 交换机和网桥的区别

2009-07-22 14:17

 

虽然现在网桥用的不多了,但是对已一个知识点来说还要了解

看了感觉介绍很详细,所以转发过来

首先我们看一下网桥的定义
网桥工作在数据链路层,将两个LAN连起来,根据MAC地址来转发帧,可以看作一个“低层的路由器”(路由器工作在网络层,根据网络地址如IP地址进行转发)
关于这个定义中最关键,也是最容易让我们混淆的两点
1.网桥用于连接2个LAN中的LAN到底是什么 
2.网桥可以看做一个低层的路由器中的低层路由器的概念
正是由于这两个关键点,让我们觉得网桥和交换机似乎不一样,有很多区别,详细来看这个例子
http://222.90.72.74/net.jpg 

这个是一个2个端口的网桥,网桥流行的时候,一般都是2个端口的网桥,很快就被交换机所替代了,如图,端口1连接LAN1,下面有2个电脑PC1和PC2,端口2连接LAN2,下面有2个电脑,PC3和PC4。
第一点,所谓的LAN1和LAN2就是2个物理上独立的2个小的局域网络,和我们所谓的VLAN没有任何关系,完全可以理解为,网桥的端口1连接了一个集线器,下面连接了2个电脑,就这么简单,LAN2也是如此,所以,所谓的网桥连接了2个LAN,其实就是网桥连接了两个小的局域网,或者2个集线器而已,电脑是接在集线器下面。 
第二点,为什么说网桥是低层的路由器,说这个之前,我们先看一下交换机的工作原理

所谓的交换机,我们都知道,他们一共有3个功能
1、获悉地址
2、转发/过滤分组
3、防范环路 
其中获悉地址就是我们熟悉的地址学习,也就是MAC表的学习,这个过程在这里就不详细说了,相信大家都明白。2、转发/过滤分组,这个就是我们所说的低层路由功能,比如交换机的一个端口收到一个数据帧,首先查看这个数据帧的目的MAC是多少,然后在自己的MAC表中查找,如果查找到了,就从相应的出口转发出去,如果查找不到,就进行广播,我们的网桥也是如此 如下
网桥连接了两个LAN,LAN1和LAN2,一共四台电脑,那么经过地址学习以后(这个过程和交换机完全相同)网桥会生成如下的MAC表格
网口1 1111.1111.1111.1111 PC1
网口1 2222.2222.2222.2222 PC2
网口2 3333.3333.3333.3333 PC3
网口2 4444.4444.4444.4444 PC4
网桥在转发数据帧时按照以下规则
到达网桥的数据帧的路由选择过程取决于发送的LAN(源LAN)和目的地所在的LAN(目的LAN),如下所示:

1、如果源LAN和目的LAN相同,则丢弃该帧。 
2、如果源LAN和目的LAN不同,则转发该帧。
3、如果目的LAN未知,则进行扩散

假设现在PC1 访问PC2,网桥收到这个数据帧以后,一看,源MAC属于LAN1 ,目的MAC也是属于LAN1,立刻丢弃,因为网桥负责的是LAN和LAN之间的通信,至于LAN内部主机通讯,它是不管的,那么PC1和PC2是如何通讯的呢,呵呵 很简单,因为PC2也会收到这个数据帧,PC1和PC2是用集线器连接起来的,集线器会广播所有的数据帧(因为它没有MAC表格),PC2收到数据帧以后,一看,目的MAC就是自己,所以会进行收包,然后回复数据包,这样PC1和PC2的通讯就建立了,根本和网桥没有关系,也就是说局域网内部通信不通过网桥。
假设现在PC1访问PC3,那么同样的,PC1也会发送数据帧给PC3,这个时候由于PC3在LAN2里面所以,它并不会收到这个数据帧,但是,网桥会收到,它发现,源MAC属于LAN1,目的MAC属于LAN2,这个时候它就会转发这个数据帧,它查看自己的MAC表,发现目的MAC属于LAN2,于是,把这个数据帧通过网桥的网口2转发给PC3,PC3收到以后,一看目的MAC就是自己的MAC,所以也会进行收包,然后回复,回复的过程和刚才的过程相反,也是通过网桥来进行的,这个过程,就是网桥的低层路由过程,其实就是第二层的MAC路由过程。

说到这里,我们应该清楚网桥的工作过程了吧,网桥就是通过MAC地址来实现多个LAN之间主机的连接的,这个是网桥的核心,连接两个不同的局域网。

到此为止,我们考虑这样一个问题,我们把刚才的网桥想象成一个2个端口的交换机,我们会发现,整个工作过程是一模一样的,然后我们在这样想,我们有一个24口的交换机,现在每个口都连接了一个集线器,一共24个集线器,每个集线器其实是一个小的局域网络,下面有若干台电脑,那么此时,我们的交换机其实就是一个24口的网桥,用来连接这24个独立的局域网,把他们组成一个更大的局域网。最后,我们在这样想,一个24口的交换机连接了24个电脑,我们把每个电脑想象成一个局域网,这个想法有点夸张,但是很有好处的,呵呵,一定要理解,网桥连接不同的LAN中的这个LAN的概念,和VLAN没有任何关系,其实就是几台电脑组成的一个物理上的小网络而已。

所以,我们说,交换机就是一个多端口的网桥,这个我相信大家现在已经明白了,那么二者真正的区别在什么地方呢 ,其实,从网络数据包的转发层面来看,二者没有任何区别,他们的工作机制一模一样,只不过一个端口多一个端口少而已,二者的区别在于如下
 1、交换机工作时,实际上允许许多组端口间的通道同时工作。所以,交换机的功能体现出不仅仅是一个网桥的功能,而是多个网桥功能的集合。即网桥一般分有两个端口,而交换机具有高密度的端口。 

 2、分段能力的区别 

  由于交换机能够支持多个端口,因此可以把网络系统划分成为更多的物理网段(比如刚才的例子,24端口的交换机可以连接24个不同的物理网段),这样使得整个网络系统具有更高的带宽。而网桥仅仅支持两个端口,所以,网桥划分的物理网段是相当有限的。

  3、传输速率的区别 

  交换机与网桥数据信息的传输速率相比,交换机要快于网桥。 

  4、数据帧转发方式的区别 

  网桥在发送数据帧前,通常要接收到完整的数据帧并执行帧检测序列FCS后,才开始转发该数据帧。交换机具有存储转发和直接转发两种帧转发方式。直接转发方式在发送数据以前,不需要在接收完整个数据帧和经过32BIT循环冗余校验码CRC的计算检查后的等待时间。
好了,写到这应该结束了。希望对于这个问题有疑惑的网友们有所帮助,申明,我在写这个文档的时候,没有写清楚MAC表生成之前的ARP过程,因为这个实在是太麻烦了,同时如果有新的主机加入时ARP的学习过程,其实就是MAC地址学习过程,我也没有写,同时,关于交换机的第三个功能,STP,也就是防止环路功能,也没有介绍,网桥也有一模一样的功能,中间可能有很多错误,欢迎大家批判指证,大家共同学习,共同进步

 

首先在局域网里面,大量主机之间的通信都是通过arp广播来决定目的主机的地址的,为了减小在共享环境中的介质争用(也就是冲突),网桥产生了,它的作用是将广播域划分为一个一个小的冲突域,这样便增大了可用的带宽,但是广播域还是没有变。从这里可以看出,网桥不涉及逻辑地址,所以它工作在第二层(数据链路层),并且端口很少(注意与后面的交换机区别),最后是网桥常常是基于软件的,因此可以处理上层事务。

看到了网桥的作用,于是人们将其发展为多端口设备,并且整合了集线器的功能,发明了交换机,交换机也是工作在第二层,由于具有多个端口,所以也叫做多口桥。交换机除了具有桥接(也就是隔绝冲突)和转发数据报之外,还具有其他高级特性:比如说 vlan(虚拟局域网),port trunking(连路聚合),spanning tree(生成树),等等特性,高端的交换机还具有路由功能,具体的路由功能将在后面介绍。交换机是一种专用的网络设备,它是基于硬件的,所以具有比基于软件的网桥更高的数据转发能力。

随着网络的进一步发展,在广泛分布的网络之间,选择路径便是一件麻烦的事情,于是一种专门的网络硬件产生了—路由器。路由器工作在第三层(网络层)之上,其实也涉及第二层以及第一层,但是它的主要用途是选路。路由器的存储器里面存放着路由表,这些表是易失的并且容易改变的。路由表的内容包括到达目的地址的下一跳(next hop)路由地址,不同地址的管理距离,等等等等。这些内容都是路由器启动之后经过学习得到的。路由器启动之后便根据设定的路由协议与其他路由器交换信息,在交换信息的过程中,学习路由。所以一台路由器虽然是基于硬件的专用网络设备,但是路由器支持的路由算法才是最核心的东西。路由算法有两大类:距离矢量算法(如rip , igrp)以及连路状态算法(如ospf),还有一种平衡混合的算法(如eigrp),是前面两种算法的综合。路由器使用距离矢量算法,判断到达目的地址的优先路径的标准只有一个,那就是跳数,认为具有最小跳数的路径是最有路径,而不理会其带宽,可靠性,时延等因素。并且认为跳数大于15跳的目的地址是不可到达的,这边限制了可路断最优路径,这样可路由的区域便增大了,并且能平衡各条链路之间的流量。另外,路由还有一个二层设备不具有的功能,那就是隔绝广播,它可以将广播限制在一个网络之内,进而增大网络之间的带宽。

最后总结一下,网桥是一个二层设备,用于隔绝冲突,但是不能隔绝广播。常常是基于软件的,现在使用得很少了。交换机是一个多端口的二层设备,又叫做多口桥,功能除了网桥所具有的功能之外,还有其特定的高级功能。路由器是一个三层设备,用于路径选择,并且可以隔绝广播。

 

 

原创粉丝点击