浅谈交换机工作原理

一、简单了解交换机的发展史
在最早出现网络时,由于信息共享,想要将各个计算机连接起来,组成一个小型局域网,但是,将计算机连接起来出现了许多问题:
1、 连接计算机的线路不宜过长。
2、 连接距离过长存在信号失真现象。
为了解决上述问题,于是有了集线器(hub),现在的集线器种类挺多,在这儿就谈谈早期的集线器吧,前面说到过,集线器为了解决信号失真,将计算机连接起来进行信息共享的问题而出现的。集线器其主要功能是对接收到的信号进行再生整型放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。这时,在传输信号时,又发现信号冲突这一问题,导致各个计算机在信息共享时出现延时高,网变慢的重要问题(整个处于一个冲突域),于是在这里有采用了CSMA/CD(带冲突检测的载波侦听多路访问技术)介质访问控制机制。
因为集线器每个接口进行简单的收发比特,收到1就是1,收到0就是0,并不会进行碰撞检测,所以,它基本上不具有“智能记忆”能力和“学习”能力。于是又为了解决冲突域这一问题,因此,交换机诞生了!
在交换机出生后,同时解决了冲突问题,即一个端口是一个冲突域,信号失真问题和端口数量问题,同时还增加了单播,对Mac地址的“记忆”功能。下面就来讲一讲交换机的工作流程吧。
二、交换机的工作流程
当交换机收到数据时,它会检查它的目的MAC地址,然后把数据从目的主机所在的接口转发出去。交换机之所以能实现这一功能,是因为交换机内部有一个MAC地址表,MAC地址表记录了网络中所有MAC地址与该交换机各端口的对应信息。某一数据帧需要转发时,交换机根据该数据帧的目的MAC地址来查找MAC地址表,从而得到该地址对应的端口,即知道具有该MAC地址的设备是连接在交换机的哪个端口上,然后交换机把数据帧从该端口转发出去。
对于工作流程可总结如下:
<1>、交换机根据收到数据帧中的源MAC地址建立该地址同交换机端口的映射,并将其写入MAC地址表中。
<2>、交换机将数据帧中的目的MAC地址同已建立的MAC地址表进行比较,以决定由哪个端口进行转发。
<3>、如数据帧中的目的MAC地址不在MAC地址表中,则向所有端口转发。这一过程称为泛洪(flood)。
<4>、广 播帧和组播帧向所有的端口转发。
三、Mac地址表的构建过程
假设A给B发送数据,数据先到达交换机,交换机记录A的地址,分装成帧,然后查询B的MAC和端口,如果没有找到,就会将这个数据帧洪泛(除了A连接的端口,从其他端口广播发送出去),B在收到这个数据并且给A回复的时候,交换机会再次记录B的MAC地址和所对应的端口。最后就这样构建出了MAC地址表。
在这里补充一下:
MAC地址表,又称为CAM表,是将MAC地址,接口编号,VLAN ID 进行哈希运算之后形成的一个二进制表。
哈希运算是散列函数算法也叫摘要提取法。
哈希运算特点:
<1>、不等长的输入等长输出
<2>、雪崩效应—经过哈希运算之后,如果里面的一个字符发生了变化,那么里面所有的值都会与之前的值发生巨大的变化。
<3>、不可逆运算
四、二层交换机的作用
1、提供端口密度,用于更多节点的互联,集线器(HUB),也可以实现
2、对电流信息进行识别再转发;所以理论上可以无限延长传输距离
3、完全没有冲突,实现所有节点间的同时数据收发
4、可以实现二层单播。
五、与之进行对比,再来看看三层交换机的工作原理
首先呢,我们要明白一点,既然是三层交换机,那么相比二层交换机,三层交换机是可以做三层的工作的,如路由功能。
它的工作原理和二层差不多,先是进行查看源MAC地址,生成cam表,再查看目标MAC地址,交换机将数据帧中的目的Mac地址同已建立的Mac地址表进行比较,以决定有哪个端口转发。
如数据帧中的目的MAC地址不在MAC地址表中,则向所有端口转发,这一过程称为泛洪(flood),广播帧和组播帧向所有的端口转发。学习:以太网交换机了解每一端口相连设备的MAC地址,并将地址同相应的端口映射起来存放在交换机缓存中的MAC地址表中。
转发/过滤:当一个数据帧的目的地址在MAC地址表中有映射时,它被转发到连接目的节点的端口而不是所有端口(如该数据帧为广播/组播帧则转发至所有端口)。
在数据转发时会存在以下几种可能:
1、 广播:三层交换机在洪泛的同时进行解封装
2、 组播:三层交换机洪泛或者基于组转发,若该设备处于该组,则同时解封。
3、 单播:目标MAC为本地,直接解封,目标Mac为其他设备时,基于cam表转发
最后,在解封装后,三层交换机在查看目标IP地址;此时行为将与路由器一致。
以上就是对交换机部分的一个大致解读,后续我会加以补充。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值