了解交换机_2.交换机的工作机制

发布于:2024-08-17 ⋅ 阅读:(72) ⋅ 点赞:(0)

1.交换机工作机制演示

        拿下图1所示网络拓扑来说明。

        图1 交换机示例拓扑图                                

        打开电脑PC-CLIENT1的控制台,ping电脑PC-CLIENT2的ip,发现是可以ping通的,如下图2:

图2 PC-CLIENT1PingPC-CLIENT2

        说明交换机做了连接和转发。那么交换机是怎么转发数据的呢?是通过它里面内置的MAC表。我们打开交换机控制台,输入“dis mac-address”指令查看交换机目前的MAC表(因为MAC地址表有一段时间没有数据就会清空,所以在电脑上ping完立刻就去看):

 图3 交换机S5700-LSW1的MAC地址表

        MAC地址表记录了所连接设备的MAC地址(Mac Address字段)以及数据交换的端口(Ports字段),其中MAC地址为5489-98b3-0bea的电脑连接的是交换机的1号口,另一条电脑连接的是2号口。所以如果交换机的目标MAC地址是5489-98b3-0bea的电脑,则会选择将数据发往1号口。

        这里我们看电脑的MAC确实如交换机记录的一样:

 PC-CLIENT1的MAC地址:

图4 PC-CLIENT1的MAC地址 

  PC-CLIENT2的MAC地址:

图5 PC-CLIENT2的MAC地址  

2.交换机存在三种转发机制

1)直通转发=Cut-through

        ●交换机已确定帧的目的MAC地址和正确的端口号,就立即将帧转发出去。
        ●通常情况下,大约收到帧头14个字节左右就开始转发。
        ●但它连小于64字节的帧以及一些坏帧(电子干扰产生的数据损坏)也一块转发,可能浪费带宽。

2)存贮转发=Store and foeward

        ●转发之前要先收到完整的帧并进行CRC校验、确定目的地址。
        ●交换机将整个帧存储在内存缓冲区中,直到它获得有效资源才将其发往目的地。
        ●好处是能够抛弃小于64字节的帧以及其他任何受损的帧,这样可以节约带宽。
        ●缺点是延迟较大且不固定,因为它在转发之前要收到并处理完整的帧。

3)碎片隔离

        该方式介于直通转发和存贮转发之间:当收到的帧特别小的时候(小于64帧节的坏帧),把它扔掉;但是大于64帧节的帧,他不会去校验帧是否受损,而是直接转发,所以碎片隔离是介于直通转发和存贮转发之间的一种折中方式。优点就是速度比较快,比较稳定。

3.交换机的优点、特征、功能

图6 交换机可以隔离冲突域

        交换机是可以隔离冲突域的,解决Hub多端同时发送会冲突的问题,每个接口都是独立的冲突域,每个接口可以同时收包和同时发包。

        交换机的特点

 图7 交换机的特点

1)交换机是在局域网中使用的最多的通信设备(像防火墙和路由器都是在网络的边界使用)。
2)交换机可以让多个节点进行互联互通。
3)交换机是一个全双工的设备(同时收同时发)。
4)自适应端口。
        交换机的每个接口都有一个指示灯,指示灯会有不同的颜色,代表不同的速度。一般绿色就是代表满速,橙色代表向下兼容。

        交换机有三个功能:地址学习、帧的转发/过滤、环路防止(企业级的才有)。

4.交换机CAM表和学习过程 

        下图描述的就是MAC地址表是如何自我学习的。因为一个新的交换机,MAC地址表是空的,他需要通过承接数据转发,来学习并维护自身的MAC地址表。

 

图8 交换机MAC地址学习过程 

        MAC地址表学习的原理并不复杂,只有一句话:
当交换机收到一个数据帧,会把这个数据帧的原MAC,以及数据来源端口做对应进行更新。
上图中PCA从端口1来的数据包,交换机就记录了A的MAC地址以及所在端口;此时PCA的数据是要转发给PCB的,但是交换机并不知道PCB的MAC地址以及连接端口,此时交换机会做一个动作,叫做“泛洪”(就是从除了入口外的所有接口转发出去),此时PCB也连接了交换机,就会收到“泛洪”推送的数据包,此时PCB回应了PCA数据,交换机就维护上了B的信息,下一次发送给B数据时,就不用再“泛洪”了。

        下图就是一个“泛洪”的例子,交换机的MAC地址表一开始是空的,第一次发数据就是发所有机器,而第二次就按照学习好的MAC表精确发给目的设备了:

         Mac地址隔一段时间就会被清空,这个时间叫“老化时间”,默认是300秒。使用以下命令可以该表老化时间:

mac-address aging-time 200

         除了正常转发以及泛洪外,当路由器发现数据包的目的接口就是收到接口的时候,就会丢弃这个数据包不进行处理。所以交换机有“转发(Forwarding)、泛洪(Flooding)、丢弃(Discarding)”三种数据处理方式。