Fork me on GitHub

中继器、集线器(HUB)、网桥、交换机、路由器比较

中继器或集线器既不能隔离冲突域又不能隔离广播域,网桥或交换机只能隔离冲突域不能隔离广播域,路由器既能隔离冲突域又能隔离广播域,为什么?
【解析】 

首先要清楚什么是冲突域和广播域,当一块网卡发送信息时有可能和另一块网卡冲突的所有的网卡的集合称为冲突域。一块网卡发出一个广播,能收到这个广播的所有的网卡的集合称为一个广播域。一般来说一个网段就是一个冲突域,一个局域网就是一个广播域;先了解这么多吧,我们下面先介绍一个中继器、集线器、网桥、交换机、路由器是用来干什么的,在这基础之上再来讨论冲突域和广播域会理解的更深。

 

中继器:在我们接触到的网络中,最简单的就是两台电脑通过两块网卡构成“双机互连”,两块网卡之间一般是由非屏蔽双绞线来充当信号线的。由于双绞线在传输信号时信号功率会逐渐衰减,当信号衰减到一定程度时将造成信号失真,因此在保证信号质量的前提下,双绞线的最大传输距离为100米。当两台电脑之间的距离超过100米时,为了实现双机互 连,人们便在这两台电脑之间安装一个“中继器”,它的作用就是将已经衰减得不完整的信号经过整理,重新产生出完整的信号再继续传送。谈到了这里那就再提下放大器,放大器和中继器都是起放大信号的作用,只不过放大器放大的是模拟信号,中继器放大的是数字信号。

 

集线器:中继器就是普通集线器的前身,集线器实际就是一种多端口的中继器。集线器一般有4、8、16、24、32等数量的RJ45接口,通过这些接口,集线器便能为相应数量的电脑完成“中继”功能。由于它在网络中处于一种“中心”位置,因此集线器也叫做“Hub”。 集线器的工作原理很简单,假设有一个8个接口的集线器,共连接了8台电脑。集线器处于网络的“中心”,通过集线器对信号进行转发,8台电脑之间可以互连互通。具体通信过程是这样的:假如计算机1要将一条信息发送给计算机8,当计算机1的网卡将信息通过双绞线送到集线器上时,集线器并不会直接将信息送给计算机8,它会将信息进行“广播”——将信息同时发送给8个端口,当8个端口上的计算机接收到这条广播信息时,会对信息进行检查,如果发现该信息是发给自己的,则接收,否则不予理睬。由于该信息是计算机1发给计算机8的,因此最终计算机8会接收该信息,而其它7台电脑看完信息后,会因为信息不是自己的而不接收该信息,大家用一个现实生活的例子来联想,假如你在出差,有一个陌生来电,接了之后你却发现打错了,要花费不少漫游费,你生不生气?当然很生气(冲突),所以集线器所有端口都属于一个冲突域,故集线器不能分割冲突域。集线器在一个时钟周期中只能传输一组信息,如果一台集线器连接的机器数目较多,并且多台机器经常需要同时通信时,将导致集线器的工作效率很差,如发生信息堵塞、碰撞等。为什么会这样呢?打给比方,一个集线器连接8台计算机,当计算机1正在通过集线器发信息给计算机8时,如果此时计算机2也想通过集线器将信息发给计算机7,当它试图与集线器联系时,却发现集线器正在忙计算机1的事情,于是计算机2便会“带”着数据站在集线器的面前等待,并时时要求集线器停下计算机1的活来帮自己干。如果计算机2成功地将集线器“抢”过来了(由于集线器是“共享”的,因此很容易抢到手),此时正处于传输状态的计算机1的数据便会停止,于是计算机1也会去 “抢”集线器,可见,集线器上每个端口的真实速度除了与集线器的带宽有关外,与同时工作的设备数量也有关。比如说一个带宽为10Mb的集线器上连接了8台计算机,当这8台计算机同时工作时,则每台计算机真正所拥有的带宽是10/8=1.25Mb。

 

网桥:见下面的交换机,因为交换机就是多接口网桥。

 

交换机:交换机也叫交换式集线器,它通过对信息进行重新生成,并经过内部处理后转发至指定端口,具备自动寻址能力和交换作用,由于交换机根据所传递信息包的目的地址,将每一信息包独立地从源端口送至目的端口,避免了和其他端口发生碰撞。简单的说就是,交换机某端口连接的主机想和另一个端口连接的主机通信,交换机就会通过转发表发送那个端口,不可能去其他端口,不存在发错端口(即打错电话),所以交换机的每一个端口都是一个冲突域,也就是说交换机可以隔离冲突域。交换机的工作原理:在计算机网络系统中,交换机是针对共享工作模式的弱点而推出的。集线器是采用共享工作模式的代表,如果把集线器比作一个邮递员,那么这个邮递员是个不认识字的“傻瓜”,如要要他去送信,他不知道直接根据信件上的地址将信件送给收信人,只会拿着信分发给所有的人,然后让接收的人根据地址信息来判断是不是自己的,而交换机则是一个“聪明”的邮递员——交换机拥有一条高带宽的背部总线和内部交换矩阵。交换机的所有的端口都挂接在这条背部总线上,当控制电路收到数据包以后,处理端口会查找内存中的地址对照表以确定目的MAC地址应该从哪个端口发出,通过内部交换矩阵迅速将数据包传送到目的端口。目的MAC地址若不存在,交换机才广播到所有的端口,接收端口回应后交换机会“学习”新的地址(参考课本95页,很容易看懂,不在解释),并把它添加入内部地址表中。可见,交换机在收到某个网卡发过来的“信件”时,会根据上面的地址信息,以及自己掌握的“常住居民户口簿”快速将信件送到收信人的手中。万一收信人的地址不在“户口簿”上,交换机才会像集线器一样将信分发给所有的人,然后从中找到收信人。而找到收信人之后,交换机会立刻将这个人的信息登记到“户口簿”上,这样以后再为该客户服务时,就可以迅速将信件送达了。

由于交换机能够智能化地根据地址信息将数据快速送到目的地,因此它不会像集线器那样在传输数据时“打扰”那些非收信人。这样一来,交换机在同一时刻可进行多个端口组之间的数据传输。并且每个端口都可视为是独立的网段,相互通信的双方独自享有全部的带宽,无须同其他设备竞争使用。比如说,当A主机向D主机发送数据时,B主机可同时向C主机发送数据,而且这两个传输都享有网络的全部带宽——假设此时它们使用的是10M的交换机,那么该交换机此时的总流通量就等于2×10Mb=20Mb(此时交换机有4个接口,即2对接口,参考课本97页倒数第五行)。

 

路由器:简单的说就是路由器把数据从一个网络发送到另一个网络,至于具体过程请见第四章网络层。

 

前面我们已经讲过中继器或集线器不能隔离冲突域,交换机可以隔离冲突域,自然路由肯定也可以隔离冲突域(因为也有一张转发表去转发);下面来讨论一下广播域。首先前面说了广播其实可以看成一个单独的网络,如果一个主机要发送一个广播数据,这样就应该在整个网络都可以听得见,但是集线器和交换机分别工作在物理层和数据链路层,不能连接两个不同的网络,所以说不管是集线器还是交换机遇到广播数据都要每个端口发一遍(因为每个端口连接的网络仍然是属于同一个网络),这样的话又存在打错电话的情况了,所以集线器和交换机不能隔离广播域,但是路由器可以连接不同的网络,且路由器在默认情况下是不转发广播报文的(因为每个端口连接的是不同的网络),故路由器的每一个端口都是一个广播域,故路由器可以隔离广播域。

 

补充知识点:尽管交换机也叫作多端口网桥,但是交换机和网桥还是有不同之处,下面一一列出:
(1)网桥的端口一般连接局域网,而交换机的端口一般直接与局域网的主机相连。
(2)交换机允许多对计算机同时通信,而网桥允许每个网段上的计算机同时通信。
(3)网桥采用存储转发形式进行转发,而以太网交换机还可以采用直通方式进行转发,且以太网交换机采用了专用的交换机构芯片,转发速度比网桥快。

posted @ 2016-05-11 00:46  stardsd  阅读(4148)  评论(0编辑  收藏  举报