交换机的工作原理是什么呢?不知道的小伙伴来看看小编今天的分享吧!
交换机是基于以太网、光纤、异步传输模式 (ATM) 和InfiniBand等网络的常见组件。
交换机工作于OSI参考模型的第二层,即数据链路层。交换机内部的CPU会在每个端口成功连接时,通过将MAC地址和端口对应,形成一张MAC表。在今后的通讯中,发往该MAC地址的数据包将仅送往其对应的端口,而不是所有的端口。因此,交换机可用于划分数据链路层广播,即冲突域;但它不能划分网络层广播,即广播域。
交换机拥有一条很高带宽的背部总线和内部交换矩阵。交换机的所有的端口都挂接在这条背部总线上,控制电路收到数据包以后,处理端口会查找内存中的地址对照表以确定目的MAC(网卡的硬件地址)的NIC(网卡)挂接在哪个端口上,通过内部交换矩阵迅速将数据包传送到目的端口,目的MAC若不存在,广播到所有的端口,接收端口回应后交换机会“学习”新的MAC地址,并把它添加入内部MAC地址表中。使用交换机也可以把网络“分段”,通过对照IP地址表,交换机只允许必要的网络流量通过交换机。通过交换机的过滤和转发,可以有效的减少冲突域。
计算机网络通信是分层进行的,交换机是较低层的东东。打个比方,当你们四个同时在打游戏,从高层次来看,就是应用层上来看,有一个服务器在为四个客户端提供服务。就是你能看到的层次。
那么四个客户端和服务器的数据怎么被稳定的,传送的呢?这个属于网络层和传输层干的事,这个比应用层又低一个层次。简单来说,我们仅看网络层,给五个节点每个节点一个地址,就是ip地址。然后,数据就像平时邮局里的邮件一样按照目的地址投递过去。在这一层上,我们能看到的就是五个地址之间相互传数据。这就是互联网。
交换机的工作比上面说的层次更低,因为按照ip地址找主机是个技术活,难度大,价格高。因此,我们希望那些离得近的主机,尽量内部解决,不用互联网设备。因此,我们就把离得近的主机放在一个圈子里面,用mac地址来相互通信。这就像你要给隔壁老王送个蛋,就自己上门跑一趟就好。交换机就是完成这事的。在交换机看来,它仅知道,按照mac地址和端口进行数据交换。比如你们四台机器连在1,2,3,4口上,外网连8口。你们打游戏的时候,交换机知道的是,1,2,3,4口都有数据发到8口,8口也有数据发到1,2,3,4口。具体是哪口看mac地址。当然,交换机只能完成近端通信,当目的地远的时候就仍然需要通过网关来通信了。