- 首先看一下这些网络设备分别处于计算机网络的哪些层次:
应用层-->应用网关
传输层-->传输网关
网络层-->路由器
数据链接层-->网桥、交换机
物理层-->中继器、集线器(Hub)
中继器
中继器(Repeater)是连接网络线路的一种装置,常用于两个网络节点之间物理信号的双向转发工作。中继器是最简单的网络互联设备,主要完成物理层的功能,负责在两个节点的物理层上按位传递信息,完成信号的复制、调整和放大功能,以此来延长网络的长度。它在OSI参考模型中的位置物理层。
由于存在损耗, 在线路上传输的信号功率会逐渐衰减,衰减到一定程度时将造成信号失真,因此会导致接收错误。中继器就是为解决这一问题而设计的。它完成物理线路的连接,对衰减的信号进行放大,保持与原数据相同。
中继器是模拟设备,用于连接两根电缆段。中继器不理解帧、分组和头的概念,他们只理解电压值。
集线器
集线器(Hub)是中继器的一种形式,区别在于集线器能够提供多端口服务,也称为多口中继器。
网桥
网桥(Bridge)是一个局域网与另一个局域网之间建立连接的桥梁。网桥是属于数据链路层的一种设备,它的作用是扩展网络和通信手段,在各种传输介质中转发数据信号,扩展网络的距离,同时又有选择地将现有地址的信号从一个传输介质发送到另一个传输介质,并能有效地限制两个介质系统中无关紧要的通信。
网桥工作在数据链路层,将两个LAN连起来,根据MAC地址来转发帧,可以看作一个“低层的路由器”。
交换机
交换机(Swich)工作在第二层(即数据链路层),它要比集线器智能一些,它能分辨出帧中的源MAC地址和目的MAC地址,因此可以在任意两个端口间建立联系,在数据帧的始发者和目标接收者之间建立临时的交换路径,使数据帧直接由源地址到达目的地址。交换机通过对信息进行重新生成,并经过内部处理后转发至指定端口,具备自动寻址能力和交换作用。但是 交换机并不懂得IP地址,它只知道MAC地址。
交换机,可以理解为高级的网桥,他有网桥的功能,但性能比网桥强。交换机和网桥的细微差别就在于:交换机常常用来连接独立的计算机,而网桥连接的目标是LAN,所以交换机的端口较网桥多。
路由器
路由器(Router)工作在第三层(即网络层),它比交换机还要“聪明”一些,它能理解数据中的IP地址,如果它接收到一个数据包,就检查其中的IP地址,如果目标地址是本地网络的就不理会,如果是其他网络的,就将数据包转发出本地网络。与工作在网络物理层,从物理上划分网段的交换机不同,路由器使用专门的软件协议从逻辑上对整个网络进行划分。例如,一台支持IP协议的路由器可以把网络划分成多个子网段,只有指向特殊IP地址的网络流量才可以通过路由器。当IP子网中的一台主机发送IP分组给同一IP子网的另一台主机时,它将直接把IP分组送到网络上,对方就能收到。而要送给不同IP于网上的主机时,它要选择一个能到达目的子网上的路由器,把IP分组送给该路由器,由路由器负责把IP分组送到目的地。如果没有找到这样的路由器,主机就把IP分组送给一个称为“缺省网关(default gateway)”的路由器上。对于每一个接收到的数据包,路由器都会重新计算其校验值,并写入新的物理地址。网络中的设备用它们的网络地址(TCP/IP网络中为IP地址)互相通信。IP地址是与硬件地址无关的“逻辑”地址。
路由器用于连接多个逻辑上分开的网络,几个使用不同协议和体系结构的网络。路由器利用网络层定义的“逻辑”上的网络地址(即IP地址)来区别不同的网络,实现网络的互连和隔离,保持各个网络的独立性。当一个子网传输到另外一个子网时,可以用路由器完成。它具有判断网络地址和选择路径的功能,过滤和分隔网络信息流。一方面能够跨越不同的物理网络类型(DDN、FDDI、以太网等等),另一方面在逻辑上将整个互连网络分割成逻辑上独立的网络单位,使网络具有一定的逻辑结构。
网关
网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。 网关是一种充当转换重任的计算机系统或设备。使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。
中继器或集线器既不能隔离冲突域又不能隔离广播域,网桥或交换机只能隔离冲突域不能隔离广播域,路由器既能隔离冲突域又能隔离广播域,为什么?
首先要清楚什么是冲突域和广播域,当一块网卡发送信息时有可能和另一块网卡冲突的所有的网卡的集合称为冲突域。一块网卡发出一个广播,能收到这个广播的所有的网卡的集合称为一个广播域。一般来说一个网段就是一个冲突域,一个局域网就是一个广播域。
集线器:
中继器就是普通集线器的前身,集线器实际就是一种多端口的中继器。集线器一般有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地址若不存在,交换机才广播到所有的端口,接收端口回应后交换机会“学习”新的地址,并把它添加入内部地址表中。可见,交换机在收到某个网卡发过来的“信件”时,会根据上面的地址信息,以及自己掌握的“常住居民户口簿”快速将信件送到收信人的手中。万一收信人的地址不在“户口簿”上,交换机才会像集线器一样将信分发给所有的人,然后从中找到收信人。而找到收信人之后,交换机会立刻将这个人的信息登记到“户口簿”上,这样以后再为该客户服务时,就可以迅速将信件送达了。
由于交换机能够智能化地根据地址信息将数据快速送到目的地,因此它不会像集线器那样在传输数据时“打扰”那些非收信人。这样一来,交换机在同一时刻可进行多个端口组之间的数据传输。并且每个端口都可视为是独立的网段,相互通信的双方独自享有全部的带宽,无须同其他设备竞争使用。比如说,当A主机向D主机发送数据时,B主机可同时向C主机发送数据,而且这两个传输都享有网络的全部带宽——假设此时它们使用的是10M的交换机,那么该交换机此时的总流通量就等于2×10Mb=20Mb。路由器:
前面我们已经讲过中继器或集线器不能隔离冲突域,交换机可以隔离冲突域,自然路由肯定也可以隔离冲突域(因为也有一张转发表去转发);下面来讨论一下广播域。首先前面说了广播其实可以看成一个单独的网络,如果一个主机要发送一个广播数据,这样就应该在整个网络都可以听得见,但是集线器和交换机分别工作在物理层和数据链路层,不能连接两个不同的网络,所以说不管是集线器还是交换机遇到广播数据都要每个端口发一遍(因为每个端口连接的网络仍然是属于同一个网络),这样的话又存在打错电话的情况了,所以集线器和交换机不能隔离广播域,但是路由器可以连接不同的网络,且路由器在默认情况下是不转发广播报文的(因为每个端口连接的是不同的网络),故路由器的每一个端口都是一个广播域,故路由器可以隔离广播域。尽管交换机也叫作多端口网桥,但是交换机和网桥还是有不同之处,下面一一列出:
- 网桥的端口一般连接局域网,而交换机的端口一般直接与局域网的主机相连。
- 交换机允许多对计算机同时通信,而网桥允许每个网段上的计算机同时通信。
- 网桥采用存储转发形式进行转发,而以太网交换机还可以采用直通方式进行转发,且以太网交换机采用了专用的交换机构芯片,转发速度比网桥快。