Obeta

集线器与交换机的区别

计算机网络书中一直出现的两个高频关键词,最近细看一遍发现对他们理解的更深了.

很有趣的是计算机网络的发展史中,只要你开发出划时代的产品,那么你的产品就会成为行业的标准,影响整个历史进度.虽然计算机网络一直在发展,但是可以毫无疑问的说上个实际八十年代到本世纪初,那时候的计算机网络才是拓荒与书写历史.

集线器

集线器(Hub)是指集中器设备,带有中继器(一种信号放大设备,只在物理层中使用)功能的集线器可以称之为共享式集线器,多端口中继器,中继集线器等.一般我们称集线器都是共享式集线器.

但是目前市场上的集线器产品都事交换式集线器,这是怎么回事呢?

共享式集线器:集线器的工作原理很简单,集线器连接多个电脑.比如一个集线器连接了 4 台电脑,此时集线器处于 4 台电脑的“中心”,4 台电脑之间的通信都需要经过集线器,而集线器将它们的信号进行转发.假如计算机 1 要将一条信息发送给计算机 4,当计算机 1 的网卡将信息通过双绞线送到集线器上时,集线器并不会直接将信息送给计算机 4,它会将信息进行“广播”--将信息同时发送给 4 个端口,当 4 个端口上的计算机接收到这条广播信息时,会对信息进行检查,如果发现该信息是发给自己的,则接收,否则不予理睬.由于该信息是计算机 1 发给计算机 4 的,因此最终计算机 4 会接收该信息,而其它 3 台电脑看完信息后,会因为信息不是自己的而不接收该信息.

在共享带宽的情况下(多台电脑),网络中所有电脑能否发送数据将才用CSMA/CD方式来决定.发送之前先判断通信链路中是否有人在发数据,也就是通过载波侦听来明确是否有人使用链路,如果有则等待,没有则发送.

因此每次发送之前都会给其它根本不需要知道此消息的电脑也发送一份一模一样的消息,通信效率非常低,有时候甚至会出现多个电脑同时发送数据从而导致冲突的情况,而且随着电脑数的增加,发生冲突的概率也会增加.

而在交换式集线器中就不会出现这类问题,跟下面说的交换机非常类似,可以直接看下面的.

交换机

其实也就是交换式集线器,集线器与交换机发展至今,两者之间的界限已经很模糊了.交换机弥补了共享式集线器的弱点,能够分割冲突域.

交换机通过对信息进行重新生成,并经过内部处理后转发至指定端口,具备自动寻址能力和交换作用,由于交换机根据所传递信息包的目的地址,将每一信息包独立地从源端口送至目的端口,避免了和其他端口发生碰撞.广义的交换机就是一种在通信系统中完成信息交换功能的设备.

交换机会通过学习MAC地址来进行通信信息转发,避免了每次发送都要将数据发送到所有端口中的终端中.交换机内部会记录对应的 MAC 地址,然后匹配发送方中数据的接收方 MAC 地址,如果没有找到对应的地址,则会跟共享式集线器一样,通过广播的方式将所有数据帧发送到非发送方的端口,这个操作被称为 floading.当部分接收方匹配到此数据中的 MAC 地址并不是自己的地址,就会丢弃此数据包,而当有终端匹配到此数据中 MAC 地址与自己匹配的时候,就会发送一个应答包,交换机收到此包后会记录此接收方的 MAC,下次再收到数据包中一样的 MAC 地址的时候会直接发送到对应的终端中.

当然此 MAC 地址记录有过期时间(老化时间),否则连接端口发生变化后就无法正确的转发消息了.一般来说老化时间会被设置为 5 分钟.

以上只是个人见解,说不定隔几天自己就发现说错了,当然也会立即更新,如果你想要更深入的了解,那么还是要看计算机网络.

个人随笔记录,内容不保证完全正确,若需要转载,请注明作者和出处.