简单易懂的计算机网络相关名词的解释--交换机篇(持续更新)

基本概念解释

交换机和集线器的区别

交换机的工作原理与集线器不同,因为集线器不能识别MAC地址和IP地址,所以他只能进行信号的放大并且广播转发,而交换机虽然不能识别IP地址,但是它可以识别MAC地址,这就注定了他并不会把数据帧以广播的方式转发给所有端口,它可以根据数据帧中的目的MAC地址进行过滤和转发数据帧给其特定的端口。

MAC地址表

交换机中存在着一个MAC地址表,也称为转发表,他将自己所在的以太网中的各终端的MAC地址与其接入交换机的端口编号映射在一起,从而实现数据的转发或者过滤。(可以理解成门牌号和门里面住的人,交换机的端口就是门牌号,里面住的人就是计算机

MAC地址表怎么生成

1.对于一台刚接入网络时的交换机,他的转发表是空白的。

2.转发表是交换机自动学习形成的,不需要人工配置。当交换机在某个端口收到某个终端发送的数据帧时,他将根据收到的数据帧的源MAC地址建立该地址与接收端口的映射关系,并将其写入MAC地址表中,此过程称之为学习。

3.一台交换机在转发数据前必须知道他的每个端口所连接的主机的MAC地址,构建出一个MAC地址表。当交换机从某个端口收到数据帧后,他就会读取数据帧中封装的MAC地址,然后通过查阅MAC地址表找出和目的MAC地址相对应的端口,再从该端口把数据帧转发出去。

解释:

可以理解为交换机就是一个院子,和他相连的计算机就好比院子边儿独立的房子,他根据你从哪个房子走出来,来记住你从哪个房字的,这样下次有人来拜访你的时候,院子可以告诉他去哪边哪个房子

交换机转发规则

1.如果数据帧中的目的MAC地址在MAC地址表中,且其对应的转发端口与该数据帧进入交换机的端口不同,则向转发端口转发该数据帧,这一过程称之为单播。

解释:(前提:假设从所有房子出来就是院子)
你从自己的房子出来,然后你要走别的房子,那你就得经过院子。就得经过交换机,就要转发,所以是单播

2.如果数据帧中的目的MAC地址在MAC地址表中,且其对应的转发端口与该数据帧进入交换机的端口相同,则丢弃该数据帧

解释:(前提:假设从所有房子出来就是院子)
你从自己的房子出来,然后你要走回自己的房子,那你就不用经过院子,和院子没啥关系,院子就不理你

3.如果数据帧中的目的MAC地址不在MAC地址表中,则向除接收端口以外的其他所有端口转发,这一过程称之为泛洪。

解释:(前提:假设从所有房子出来就是院子)
你从自己的房子出来,然后你要走回别人的房子,但院子不知道这个房子在哪里,就只能把院子旁边的每个房子都让你去一趟

4.如果数据帧中的目的MAC地址是广播地址或者组播地址,则向除接收端口以外的其他所有端口转发该数据帧。

解释:(前提:假设从所有房子出来就是院子)
你从自己的房子出来,然后你就想把每个房子都走一遍,院子就只能带着你把院子旁边的每个房子都让你去一趟

重点知识

交换机可以隔离冲突域,每一个端口就是一个冲突域,但是交换机下的连接的设备仍然在一个广播域中,当交换机接收到一个广播数据包后,仍然会向其他所有端口转发此广播数据包

交换机相关实验

交换机对单播包的转发过程

1.交换机基本工作原理实验拓扑图

                  交换机所在局域网具体拓扑结构(下图)

在这里插入图片描述
交换机所带MAC地址表初始状态(下图)
在这里插入图片描述
主机名称及其IP配置(下图)
在这里插入图片描述

交换机对单播包的处理过程

当我们用PC0来ping在局域网中的某一台其他主机PC2时,由于交换机刚接入网络,此时其MAC地址表为空,PC0对于ping的响应,不会直接发送ICMP报文,而是会先发送一个ARP报文给交换机,用来求取目的IP所对应的MAC地址。对于将此ARP报文封装成帧发送时,帧的源MAC地址为PC0的MAC地址,而目的MAC地址由于并不知道PC2的具体MAC地址,所以此帧的MAC地址为全1,即FFFF.FFFF.FFFF(广播地址),用来表示广播地址

                交换机收到PC0发送的含ARP协议的广播帧

在这里插入图片描述

当交换机接收到PC0的ARP报文时,首先会查看帧的源MAC地址是否存在于MAC地址表中,若不存在,则更新MAC地址表,记录此帧的源MAC地址以及交换机收到此帧的端口,又由于此帧的MAC地址为FFFF.FFFF.FFFF,所以交换机才会广播给局域网内所有其他主机(PC1,PC2,PC3)这一ARP报文。
MAC地址表第一次更新(下图)
在这里插入图片描述
交换机广播包含ARP协议帧(下图)
在这里插入图片描述

在收到所有该请求的PC中,只有目的IP所对应的主机PC2会向交换机发出ARP响应报文。该ARP响应报文在包装成帧发送时,其MAC地址填写的是PC0的MAC地址。
交换机收到来自PC2的含ARP响应帧
在这里插入图片描述

交换机在收到PC2的ARP响应报文后,会查看此帧的源MAC地址是否存在于MAC地址表中,发现不存在,则会发生更新,记录此帧的源MAC地址以及交换机收到此帧的端口。再次查看目的MAC地址,会发现MAC地址表中有记录此MAC地址,此时就不更新MAC地址表。交换机会根据MAC地址表中MAC地址与对应端口号的关系,将此帧发送给PC0
在这里插入图片描述
在这里插入图片描述

自此,我们便得到了目的IP所对应的MAC地址,接下来PC0将正式发送ICMP请求报文,该请求报文封装成帧后,目的MAC地址将不再是FFFF.FFFF.FFFF,而是PC2的MAC地址。

在这里插入图片描述

在交换机接收到此帧后,也是会检查源MAC地址和目的MAC地址,发现MAC地址表中均存在这两个MAC地址,便不会更新MAC地址表,只是会转发该帧于目的MAC地址,即转发给PC2在这里插入图片描述

PC2收到此帧后,会发出ICMP响应报文,同理,该响应报文封装成帧后,目的MAC地址就是PC0的MAC地址。

在这里插入图片描述

在交换机接收到此帧后,也是会检查源MAC地址和目的MAC地址,发现MAC地址表中均存在这两个MAC地址,便不会更新MAC地址表,只是会转发该帧于目的MAC地址,即转发给PC0
在这里插入图片描述

至此,便彻底完成了一次ICMP响应。

对实验后续的反思

在实验完成之后,若PC0再一次想pingPC2或者PC2想pingPC0时,都是直接单播发送ICMP报文,不用再先进行ARP那一套。

但是,若PC0想pingPC1或者PC3时,还是会先进行和pingPC2相同的方式
而且更神奇的是,如果此时PC1或者PC3想pingPC0,也还是会先进行和PC0第一次pingPC2相同的方式先来一波ARP,然后在发送ICMP。

而且就算MAC地址表其交换机已经包括所在局域网所有主机的MAC地址及其对应的交换机端口号,若两个主机之前没有ping过的话,还是会先来ARP验证一波,然后才开始传输包含ICMP请求报文帧

交换机对广播包的转发过程

使得PC0发送一个IP地址为255.255.255.255,目的MAC地址也全为1的IP数据报,此数据报即为广播报。

(下图)为PC0准备发送广播包在这里插入图片描述

(下图)为交换机收到来自PC0的广播包
在这里插入图片描述

在交换机收到广播帧时,会先检索MAC地址表有无PC0的MAC地址,若有,则不更新MAC地址表,否则更新表。然后回检测到目的MAC地址全为1,则交换机向与之相连的所有主机发送此帧。

(下图)为交换机第一次更新MABC地址表在这里插入图片描述

在各个主机接收到此帧之后,会主动向交换机发送ARP请求,在此ARP请求中,目的MAC地址全为0,不是全为1哦,目的IP地址为PC0的IP地址,但是在封装成以太帧后,MAC地址变成了全1,至此,则交换机则一共需要收到来自于PC1,PC2,PC3三个主机的含ARP协议的帧,但这并不会发生冲突,若在集线器中,这肯定会发生冲突,但是在交换机中却不会发生冲突。

(下图)为PC1,PC2,PC3准备发送ARP请求包给PC0
在这里插入图片描述

在收到三个请求帧后,由于帧中的目的MAC地址全为1,所有交换机会将帧转发给与自己相连的所有主机,当然,是会把帧转发给除帧源以外的其他主机,若PC0收到这三个中的某一个帧,都会向交换机回复一个ARP响应帧,响应帧中,目的MAC地址是PC0收到的请求帧的源MAC地址。

(下图)为交换机收到来自于PC1,PC2,PC3的ARP请求包

在这里插入图片描述

(下图)为交换机转发收到的PC1,PC2,PC3发送的ARP请求包

在这里插入图片描述

小结

至此,则PC1,PC2,PC3会依次收到来自于PC0的ARP响应帧,之后,PC1,PC2,PC3三台主机还需要发送含ICMP确认报文的帧给PC0,此帧中,目的MAC地址就是PC0的MAC地址,所以直接单播即可

交换机扩展以太网时对广播域范围的影响

主要过程

1.PC0发送含ICMP报文的帧于交换机s0

2.交换机s0转发此帧于PC1,PC2,PC3以及s1。PC1,PC2,PC3在收到此ICMP报文后,会同时生成含ARP请求报文的帧,本来ARP协议里面MAC地址的帧是全0,但在封装后该帧的目的MAC地址为全1,目的IP为PC0的IP地址

3.s1将包含ICMP报文的帧转发给与之相连的PC4,PC5,同时PC4,PC5生成含ARP请求报文的帧,s0将收到来自于PC1,PC2,PC3三个主机的含ARP请求的帧

4.s0将来自PC1的帧分别发送给PC0,PC2,PC3以及s1,将来自PC2的帧发送给PC1,s1将收到来自PC4,PC5的含ARP请求的帧

5.s0将来自PC2的帧分别发送给PC0,PC3以及s1,将来自PC3的帧分别发送给PC2,s0还将收到来自PC0和PC4的含ARP响应的帧,来自于PC0帧的目的MAC地址为PC1的MAC地址。来自于PC4的MAC地址为全1。s1将来自PC1的含ARP请求的帧发送给PC4,PC5

6.s0将来自PC3的帧分别发送给PC0,以及s1,将来自PC4的帧分别发送给PC3,PC2,s0还将收到来自PC0的ARP响应的帧,来自于PC0帧的目的MAC地址为PC2的MAC地址。s0将来自PC0的帧的响应的帧传送给PC1,s1将来自PC5的含ARP请求的帧发送给s0,s1将来自PC2的含ARP请求的帧发送给PC4,PC5

7.s0将来自PC4的帧分别发送给PC0,PC1,将来自PC5的帧分别发送给PC3。s0还将收到来自PC0的ARP响应的帧,来自于PC0帧的目的MAC地址为PC3的MAC地址。s0将来自PC0的帧的响应的帧传送给PC2,s1将来自PC3的含ARP请求的帧发送给PC4,PC5

8.s0将来自PC5的帧分别发送给PC0,PC1以及PC2。s0将来自PC0的帧的响应的帧传送给PC3,s0还将收到来自PC0的ARP响应的帧,来自于PC0帧的目的MAC地址为PC4的MAC地址。s1将来自PC4的含ARP请求的帧发送给PC5

9.s0将来自PC0的帧的响应的帧传送给s1,s0还将收到来自PC0的ARP响应的帧,来自于PC0帧的目的MAC地址为PC5的MAC地址。s1将来自PC5的含ARP请求的帧发送给PC4

10.s0将来自PC0的帧的响应的帧传送给s1,s1将来自s0的含ARP响应的帧发送给PC4

11.s1将来自s0的含ARP响应的帧发送给PC5

总结

ARP的传送过程就是这样,当然,最重要的是ICMP的确认报文的传送,他将会在收到来自于PC0的ARP请求响应之后,生成ICMP应答报文,通过单播发送给PC0,由此可见,交换机可以分割冲突域,但不可以分割广播域

再次感谢阅读,全文确实有点长,其实吧,我写的也挺费劲的,尤其是最后,人都写麻了,但也算是一种总结吧。多总结总没什么坏处。

最后要备注我所用的实验书是西电的《计算机网络技术实践教程》

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值