欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

网络交换机的工作原理

程序员文章站 2022-07-10 18:14:52
...

title: 交换机的工作原理
tags: internet
top: true
cover: true

交换机

交换机工作在数据链路层,以数据帧作为传输载体,依靠mac地址表作为转发依据

工作原理

1、基于mac地址学习 (收到终端发来的包,记录下端口)
2、收到一个广播,除源端口,所有端口转发
3、基于目的mac转发
4、在不同时间的不同端口收到相同的mac地址,选择最新的

交换机通信分析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mDa9UqK7-1586404750430)(https://i.imgur.com/RGnGLGk.png)]

假设这是一个刚刚建立的网络
pc1的ip:10.1.1.1 
mac:54-89-98-5A-1D-F1

pc2的ip:10.1.1.2
mac:54-89-98-20-32-C5

pc3的ip:10.1.1.3
mac:54-89-98-85-0E-E2

此时pc1执行pin 10.1.1.2 这条命令,由应用层产生数据,向下逐层封装,封装到数据链路层的时候
因为不知道目的mac,所以以太网帧的封装不了的,此时,pc1向交换机发送一个arp requst包
交换机收到arp requst包,解封装到数据链路层,交换机首先把剥开的mac地址
与自己的mac地址表对比,发现自己的mac地址表里没有这个mac,所以就把这个mac保存在自己的mac地址表里面
然后就会看到这个帧里面的类型,为0x0806,是一个广播包,马上把它转发到除源端口外的所有端口,
两种情况:
(1)pc2收到的时候解封装到网络层,更新自己的arp缓存表,记录下这个包的源ip和对应的源mac(即pc1的ip、mac)
(2)然后发现这个包的目的IP是自己,它就会回一个arp reply单播包给pc1
(3)而arp reply 在经过交换机的时候,交换机会解封装到数据链路层发现这个包里面的源mac自己的mac 地址表里面没有
(4)然后更新自己的mac地址表,记录下这个mac 和这个mac进来的端口
(5)pc1收到之后,更新自己的arp缓存表,记录下这个包的源ip和源mac(即pc2的ip、mac)
(6)然后继续封装,完成之后,将ping的数据发给交换机,
(7)交换机解封装,看到里面的目的mac,对照自己的mac地址表,将数据从对应的端口发出去

第二种情况:
 (1)pc3收到交换机发过来的arp requst包之后,解封装到数据链路层,
(2)更新自己的qrp缓存表,记录下这个包的源mac 和 源ip(即pc1的 mac 和 ip
(3)所以在arp缓存表有效的时间内,pc3与pc1通信,是不需要发 arp requst包的)

所以在arp缓存表有效的时间内,pc3与pc1通信,是不需要发 arp requst包的)

相关标签: 运维

上一篇: 交换

下一篇: 网络基础-->http协议