【杂记-浅谈交换机的二层转发和三层转发】

一、二层转发

二层转发,又称数据链路层转发,主要依赖MAC地址进行数据帧的转发。当数据帧的目的MAC地址是本地网络中的一个已知的MAC地址时,交换机会根据MAC地址表将数据帧转发到正确的端口。如果目的MAC地址不在MAC地址表中,交换机会向除了接收端口之外的所有端口进行广播。二层转发通常应用于同一局域网内的通信,因为它仅关注局域网内的MAC地址,不涉及跨越不同网络的路由。

二、三层转发

三层转发,又称网络层转发,主要依赖IP地址进行数据包的转发。路由器作为三层设备,负责在不同网络间转发数据包。路由器会根据IP地址和路由表确定数据包的转发路径,这可能涉及到跨越多跳的复杂路径选择。三层转发相较于二层转发,增加了路由决策的过程,因此转发速度相对较慢,但它能够实现跨网段的数据传输。

三、二层转发与三层转发的详细分析

二层转发的详细过程

1、地址学习:交换机接收到数据帧后,首先学习源MAC地址,并将其添加到MAC地址表中。

2、数据帧转发:交换机查找MAC地址表,根据目的MAC地址决定将数据帧转发到哪个端口。如果目的MAC地址在表中,则直接转发;如果不在,则进行广播。

3、地址老化:交换机定期清理长时间未使用的MAC地址表项,以保持表的简洁性。
三层转发的详细过程

1、路由查找:路由器接收到数据包后,首先查找路由表,确定数据包的转发路径。

2、ARP协议:如果数据包的目标IP地址不是路由器的直连接口IP,路由器会通过ARP协议获取下一跳的MAC地址。

3、数据包封装:路由器根据确定的路径重新封装数据包,其中源MAC地址会是路由器的出口接口MAC地址,目的MAC地址是下一跳的MAC地址。

4、数据包转发:封装后的数据包根据路由表指定的路径进行转发。
二层转发与三层转发的区别

1、二层转发:在数据链路层,根据MAC地址,在同一局域网内进行转发,转发速度较快,有老化机制且不涉及ARP协议。

2、三层转发:在网络层,根据IP地址,跨网段进行转发,转发速度较慢,无老化机制且涉及ARP协议。

相关推荐
无聊的小坏坏4 小时前
从单 Reactor 线程池到 OneThreadOneLoop:高性能网络模型的演进
服务器·网络·一个线程一个事件循环
还下着雨ZG4 小时前
TCP/IP协议族详细介绍
网络·网络协议·tcp/ip·计算机网络
国服第二切图仔5 小时前
Rust开发之Trait 定义通用行为——实现形状面积计算系统
开发语言·网络·rust
蒙奇D索大5 小时前
【计算机网络】[特殊字符] 408高频考点 | 数据链路层组帧:从字符计数到违规编码,一文学透四大实现方法
网络·笔记·学习·计算机网络·考研
奋斗的牛马6 小时前
OFDM理解
网络·数据库·单片机·嵌入式硬件·fpga开发·信息与通信
忧郁的橙子.6 小时前
一、Rabbit MQ 初级
服务器·网络·数据库
q***7487 小时前
在Linux系统上使用nmcli命令配置各种网络(有线、无线、vlan、vxlan、路由、网桥等)
linux·服务器·网络
我也要当昏君8 小时前
4.1.8 【2022 统考真题】
运维·服务器·网络
記億揺晃着的那天8 小时前
WebSocket 通俗讲解
网络·websocket·网络协议·实时通信
无聊的小坏坏8 小时前
从 OneThreadOneLoop 线程池到进程池:高性能 Reactor 服务器的演进
服务器·网络·一个进程一个事件循环