A访问C,C回复A,随后B访问C,C回复B:
交换机的工作是因为接受转发帧引起的,所以将上述交换机工作过程分为4个小过程
A访问C
(1)封装好一个要发送给C的帧,此时A的目的MAC地址是00-0C,源MAC地址是00-0A,A网卡把帧发送后,先引起了交换机S1的工作,交换机S1收到了该帧,确切的说是交换机S1的1号端口收到了该帧.
(2)收到后进行学习过程,学习这个帧的源MAC地址,看一下这个帧的源MAC地址在不在S1的MAC表中,此时进行查表。发现源MAC地址00-0A不在表中,此时需要添加一组收到该帧的端口号(1号)。以及该帧源MAC地址的信息(交换机S1)作为MAC表的信息,即MAC表的信息为00-0A 1。
S1交换机
MAC地址 |
端口 |
00-0A |
1 |
(3)完成后进行转发,此时看的是目的MAC地址00-0C,查看目的MAC地址是否在MAC表中,发现目的MAC地址00-0C不在MAC表中,进行泛洪操作。
(4)此时3、4都转发该帧,查看后发现B终端主机的MAC地址和目的MAC地址不一致,就不接收该帧,此时帧由S1的4号端口转出,引起了S2的工作
(5)S2收到了这个帧,确切的说是S2的1号端口收到了这个帧,进行学习,学习这个帧的源MAC地址,看是不是在MAC表中,发现源MAC地址00-0A不在MAC表中,此时需要添加一组收到该帧的端口号(1号)。以及该帧源MAC地址的信息(交换机S2)作为MAC表的信息,即MAC表的信息为00-0A 1。
交换机S2
MAC地址 |
端口 |
00-0A |
1 |
(6)完成后进行转发,此时看的是目的MAC地址00-0C,查看目的MAC地址是否在MAC表中,发现目的MAC地址00-0C不在MAC表中,进行泛洪操作,此时除收到该帧的端口外,其余端口都转发该帧,此时2,4所连的C,D主机,对比帧的目的MAC地址和主机MAC地址是否一致,一致接收,不一致不接收,此时C主机收到了该请求。
C回复A
(1) C封装好一个要发送给A的帧,此时C的目的MAC地址是00-0A,源MAC地址00-0C,封装好后把帧放在链路上,先引起了S2的工作,交换机S2收到了该帧,确切的说是交换机S2的2号端口收到该帧。
(2) 收到后进行学习过程,学习这个帧的源MAC地址,看一下这个帧的源MAC地址在不在MAC表中,此时进行查表,发现源MAC地址00-0C不在表中,此时需要添加一组收到该帧的端口号(2号)。以及该帧源MAC地址的信息作为MAC表的信息。即MAC表的信息为00-0C 2。
S2交换机
MAC地址 |
端口 |
00-0A |
1 |
00-0C |
2 |
(3) 完成后,进行转发,此时看的是目的MAC地址00-0A,查看目的MAC地址是否在MAC表中,发现目的MAC地址00-0A在MAC表中,此时进行特定端口转出操作,因为00-0A信息在MAC表中,所以可以进行特定端口转出操作,此时由1号端口转出,引起了S1的工作
(4) S1收到了这个帧,确切的说是S1的4号端口收到了这个帧,进行学习,学习这个帧的源MAC地址,看是不是在MAC表中,发现源MAC地址00-0C不在MAC表中,此时需要添加一组收到该帧的端口号(4号)。以及该帧源MAC地址的信息(交换机S1)作为MAC表的信息,即MAC表的信息为00-0C 4。
S1交换机
MAC地址 |
端口 |
00-0A |
1 |
00-0C |
4 |
(5) 完成后进行转发,此时看的是目的MAC地址00-0A,查看目的MAC地址是否在MAC表中,发现目的MAC地址00-0A在MAC表中,此时进行特定端口转出操作,也就是跟几号端口相连,就由几号端口转出,也就是从1号端口转出
B访问C,C回复B
注:C回复B较为省,所以与B访问C写在一起
(1) B封装好一个要发送给C的帧,此时B的目的MAC地址是00-0C,源MAC地址是00-0B,封装好后把帧放在链路上,先引起了交换机S1的工作,交换机S1收到了该帧,确切的说是交换机S1的3号端口收到了该帧。
(2) 收到后进行学习过程,学习这个帧的源MAC地址,看一下这个帧的源MAC地址在不在S1的MAC表中,此时进行查表。发现源MAC地址00-0B不在表中,此时需要添加一组收到该帧的端口号(3号)。以及该帧源MAC地址的信息(交换机S1)作为MAC表的信息,即MAC表的信息为00-0B 3
S1交换机
MAC地址 |
端口 |
00-0A |
1 |
00-0C |
4 |
00-0B |
3 |
(3) 完成后进行转发,此时看的是目的MAC地址00-0C,查看目的MAC地址是否在MAC表中,发现目的MAC地址00-0C在MAC表中,此时进行特定端口转出操作,因为00-0C与4号端口相连,
(4) 所以帧由S1的4号端口转出,引起了S2的工作,S2收到了这个帧,确切的说是S2的1号端口收到了这个帧,进行学习,学习这个帧的源MAC地址,看帧的源MAC地址00-0B是不是在MAC表中,发现源MAC地址00-0B不在MAC表中,此时需要添加一组收到该帧的端口号(1号)。以及该帧源MAC地址的信息(交换机S2)作为MAC表的信息,即MAC表的信息为00-0B 1。
S2交换机
MAC地址 |
端口 |
00-0A |
1 |
00-0C |
2 |
00-0B |
1 |
(5) 完成后进行转发,此时看的是目的MAC地址00-0C,查看目的MAC地址是否在MAC表中,发现目的MAC地址00-0C在MAC表中,此时进行特定端口转出操作,由S2的2号端口转出,引起了S1的工作
(6) 交换机S1收到了该帧,确切的说是交换机S1的4号端口收到了该帧,学习这个帧的源MAC地址,发现这个帧的源MAC地址是00-0C,00-0C在MAC表中(交换机S1),所以只需更新计时器
(7) 完成后转发,此时看的是目的MAC地址00-0B,查看目的MAC地址是否在MAC表中,发现目的MAC地址00-0B在MAC表中(交换机S1),由3号端口转出
===================================================================================================================================
A访问外网
(1)封装好一个要发送给外网的帧,此时A的目的MAC地址是00-01,源MAC地址是00-0A,A网卡把帧发送后,先引起了交换机S1的工作,交换机S1收到了该帧,确切的说是交换机S1的1号端口收到了该帧.
(2)收到后进行学习过程,学习这个帧的源MAC地址,看一下这个帧的源MAC地址在不在S1的MAC表中,此时进行查表。发现源MAC地址00-0A不在表中,此时需要添加一组收到该帧的端口号(1号)。以及该帧源MAC地址的信息(交换机S1)作为MAC表的信息,即MAC表的信息为00-0A 1。
S1交换机
MAC地址 |
端口 |
00-0A |
1 |
(3)完成后进行转发,此时看的是目的MAC地址00-01,查看目的MAC地址是否在MAC表中,发现目的MAC地址00-01不在MAC表中,进行泛洪操作。
(4)此时3、4都转发该帧,查看后发现B终端主机的MAC地址和目的MAC地址不一致,就不接收该帧,此时帧由S1的4号端口转出,引起了S2的工作
(5)S2收到了这个帧,确切的说是S2的1号端口收到了这个帧,进行学习,学习这个帧的源MAC地址,看是不是在MAC表中,发现源MAC地址00-0A不在MAC表中,此时需要添加一组收到该帧的端口号(1号)。以及该帧源MAC地址的信息(交换机S2)作为MAC表的信息,即MAC表的信息为00-0A 1。
交换机S2
MAC地址 |
端口 |
00-0A |
1 |
(6)完成后进行转发,此时看的是目的MAC地址00-01,查看目的MAC地址是否在MAC表中,发现目的MAC地址00-01不在MAC表中,进行泛洪操作,此时除收到该帧的端口外,其余端口都转发该帧,此时2所连的C主机,对比帧的目的MAC地址和主机MAC地址不一致,就不接收该帧,此时帧由S2的4号端口转出,引起了外网internet的工作,导致路由器开始了工作
(7)路由器收到来自交换机S2的一个具有MAC地址的帧,路由器的1号端口收到了该帧,发生了帧的解封以及新帧的封装过程,此时与交换机无关,然后把这个数据包封装成一个新的帧转发出去了
外网回复A
(1) 外网(路由器L)封装好一个要发送给A的帧,此时外网(路由器L)的目的MAC地址是00-0A,源MAC地址00-01,L封装好后把帧放在链路上,先引起了路由器的工作,路由器收到了该帧,确切的说是路由器的1号端口收到该帧。
(2) 收到该帧后释放,此时S2收到了该帧(一个具有MAC地址的帧)
(3) S2收到了这个帧,确切的说是S2的4号端口收到了这个帧,进行学习,学习这个帧的源MAC地址,看源MAC地址00-01是不是在MAC表中,发现源MAC地址00-01不在MAC表中,此时需要添加一组收到该帧的端口号(4号)。以及该帧源MAC地址的信息(交换机S2)作为MAC表的信息,即MAC表的信息为00-01 2。
S2交换机
MAC地址 |
端口 |
00-0A |
1 |
00-01 |
4 |
(4) 完成后进行转发,此时看的是目的MAC地址00-0A,查看目的MAC地址是否在MAC表中,发现目的MAC地址00-0A在MAC表中,此时进行特定端口转出操作,因为00-0A信息在MAC表中,所以可以进行特定端口转出操作,此时由1号端口转出,引起了S1的工作
(5) S1收到了这个帧,确切的说是S1的4号端口收到了这个帧,进行学习,学习这个帧的源MAC地址,看源MAC地址00-01是不是在MAC表中,发现源MAC地址00-01不在MAC表中,此时需要添加一组收到该帧的端口号(4号)。以及该帧源MAC地址的信息(交换机S1)作为MAC表的信息,即MAC表的信息为00-01 4。
S1交换机
MAC地址 |
端口 |
00-0A |
1 |
00-01 |
4 |
(6) 完成后进行转发,此时看的是目的MAC地址00-0A,查看目的MAC地址是否在MAC表中,发现目的MAC地址00-0A在MAC表中,此时进行特定端口转出操作,也就是跟几号端口相连,就由几号端口转出,也就是从1号端口转出
B访问外网,外网回复B
(1)B封装好一个要发送给外网的帧,此时B的目的MAC地址是00-01,源MAC地址是00-0B,B网卡把帧发送后,先引起了交换机S1的工作,交换机S1收到了该帧,确切的说是交换机S1的1号端口收到了该帧.
(2)收到后进行学习过程,学习这个帧的源MAC地址,看一下这个帧的源MAC地址在不在S1的MAC表中,此时进行查表。发现源MAC地址00-0B不在表中,此时需要添加一组收到该帧的端口号(3号)。以及该帧源MAC地址的信息(交换机S1)作为MAC表的信息,即MAC表的信息为00-0B 3。
S1交换机
MAC地址 |
端口 |
00-0A |
1 |
00-01 |
4 |
00-0B |
3 |
(3)完成后进行转发,此时看的是目的MAC地址00-01,查看目的MAC地址是否在MAC表中,发现目的MAC地址00-01在MAC表中,此时进行特定端口转出操作,因为00-0B与4号端口相连。
(4)所以帧由S1的4号端口转出,引起了S2的工作,S2收到了这个帧,确切的说是S2的1号端口收到了这个帧,进行学习,学习这个帧的源MAC地址,看是不是在MAC表中,发现源MAC地址00-0B不在MAC表中,此时需要添加一组收到该帧的端口号(1号)。以及该帧源MAC地址的信息(交换机S2)作为MAC表的信息,即MAC表的信息为00-0B 1。
交换机S2
MAC地址 |
端口 |
00-0A |
1 |
00-01 |
2 |
00-0B |
1 |
(5)完成后进行转发,此时看的是目的MAC地址00-01,查看目的MAC地址是否在MAC表中,发现目的MAC地址00-01在MAC表中,此时进行特定端口转出操作,因为00-01信息在MAC表中,所以可以进行特定端口转出操作,此时由4号端口转出,引起了S2的工作,此时帧由S2的4号端口转出,引起了外网internet的工作,导致路由器开始了工作
(6)路由器收到来自交换机S2的一个具有MAC地址的帧
(7)由路由器L将该帧由2号端口转出,引起了S2的工作
(8)此时L的目的MAC地址是00-01,源MAC地址是00-0B
交换机S2收到了该帧,确切的说是交换机S2的4号端口收到了该帧,学习这个帧的源MAC地址,发现这个帧的源MAC地址是00-01,00-01在MAC表中(交换机S2),所以只需更新计时器
S2交换机
MAC地址 |
端口 |
00-0A |
1 |
00-01 |
4 |
00-0B |
1 |
(9)完成后,进行转发,此时看的是目的MAC地址00-0B,查看目的MAC地址是否在MAC表中,发现目的MAC地址00-0B在MAC表中,此时进行特定端口转出操作,因为00-0B信息在MAC表中,所以可以进行特定端口转出操作,此时由1号端口转出,引起了S1的工作
(10)交换机S1收到了该帧,确切的说是交换机S1的4号端口收到了该帧,学习这个帧的源MAC地址,发现这个帧的源MAC地址是00-01,00-01在MAC表中(交换机S1),所以只需更新计时器
S1交换机
MAC地址 |
端口 |
00-0A |
1 |
00-01 |
4 |
00-0B |
3 |
(11)转发:此时看的是目的MAC地址00-0B,查看目的MAC地址是否在MAC表中,发现目的MAC地址00-0B在MAC表中(交换机S1),由3号端口转出
#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=
本文来自博客园,作者:凡是过去,皆为序曲,转载请注明原文链接:https://www.cnblogs.com/longhai3/p/15887778.html
如有疑问,欢迎提问
#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=#+=