全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

交换机的转发原理

发布时间:2023-12-05 12:10:48
发布人:xqq

以太交换机通过MAC地址表转发二层以太帧。

那么什么是MAC地址表呢?MAC地址表就像一本通信录,记录了所有人的姓名和地址,通过这本通信录,可以找到想要联系的人。交换机通过学习数据帧的源MAC地址构建这本通信录(MAC地址表),在这本通信录中,不仅要记录源MAC地址,还需要同时记录MAC地址来源的端口(以及对应的VLAN),并将MAC地址与来源端口进行绑定。这样既知道了这个人的姓名(MAC地址)也知道他的家庭住址(端口)。

有了这本通信录,就可以转发数据帧了。交换机收到数据帧后,根据目的MAC地址(收件人姓名)查询通信录,找到收件人及其家庭住址(端口),将数据帧从端口转发出去。在该流程中,你一定会觉得交换机就是个快递员。没错,它就是个快递员,只不过快递的物品是数据帧。

但是它也有它的苦恼,那就是交换机的通信录(MAC地址表)能记录的数量是有限的,如果之前记录过的地址(MAC地址)不存在了,那么交换机还需要继续在通信录中记录这个无效的地址(MAC地址)吗?答案是肯定不会的,交换机会为每一条MAC地址都启动一个定时器,定时器的老化时间为300秒(可以更改),如果在300秒内都没有收到该MAC地址发送的数据帧,则将该MAC地址从通信录(MAC地址表)中删除。

下面我们通过图1来具体地了解交换机的转发原理。

图1 交换机转发原理

① PC A发送数据帧给PC D[目的MAC地址为PC D 的MAC地址(0260.8c01.4444),源MAC地址为PC A的 MAC地址(0260.8c01.1111)],交换机从E0端口收到数据帧后,根据数据帧的目的MAC地址查找交换机的MAC地址表。

由于交换机的MAC地址表为空,在MAC地址表中找不到目的MAC地址,交换机便将该数据帧从除接收端口(E0)外的其他端口全部转发出去,这种特性称被为泛洪。

同时,交换机会学习数据帧的源MAC地址,并将该MAC地址和接收端口记录到MAC地址表中,这种特性被称为学习(Learn)(学习源MAC地址)。转发数据帧后的MAC地址表如图1(b)所示。

② 由于该数据帧被交换机泛洪出去,所以PC B、PC C和PC D都能收到该数据帧,但是PC B和PC C会丢弃该数据帧,原因是它们接收数据帧后会对比数据帧的目的MAC地址与接收端口的MAC地址是否一致,如果一致则说明数据帧是给自己的便会接收,如果不一致则丢弃。

PC D收到数据帧后同样会检查目的MAC地址是否与自己端口的MAC地址一致,发现MAC地址一致,PC D知道数据帧是发给自己的,便拆封二层数据帧交给上层处理。

同时给PC A发送一个回复数据帧(目的MAC地址为PC A的MAC地(0260.8c01.1111),源MAC地址为PC D的MAC地址(0260.8c01.4444))。

③ 交换机从E3端口收到回复数据帧后,根据数据帧的目的MAC地址查找交换机的MAC地址表,交换机在MAC地址表中查找到了目的MAC地址,发现该MAC地址被绑定到了E0端口上。交换机便将该数据帧直接从E0端口转发出去,而不再进行泛洪。

这种特性被称为过滤。同时,交换机学习源MAC地址,并将MAC地址记录到MAC地址表,与E3端口绑定。转发数据帧后的MAC地址表如图1(c)所示。

IT培训

相关文章

嵌入式培训课程:探索技术的无限可能

嵌入式培训课程:探索技术的无限可能

2023-12-12
web前端培训:vue实现双向数据绑定原理

web前端培训:vue实现双向数据绑定原理

2023-12-12
嵌入式开发:Linux系统编程的探索与实践

嵌入式开发:Linux系统编程的探索与实践

2023-12-12
Web前端:探索Web前端开发技术的新领域

Web前端:探索Web前端开发技术的新领域

2023-12-12

最新文章

python培训学校靠谱吗?为什么一定要选择千锋教育

python培训学校靠谱吗?为什么一定要选择千锋教育

2023-12-13
培训学校学java靠谱吗?为什么一定要选择千锋教育

培训学校学java靠谱吗?为什么一定要选择千锋教育

2023-12-13
网络安全哪个培训机构靠谱

网络安全哪个培训机构靠谱

2023-12-13
python培训机构可靠吗?为什么一定要选择千锋教育

python培训机构可靠吗?为什么一定要选择千锋教育

2023-12-13
在线咨询 免费试学 教程领取