二层转发原理

一、什么是二层转发

二层转发就是基于MAC地址进行数据包转发。

1. 二层指的就是网络七层模型中的数据链路层

2. 数据链路层传输的数据单元叫 – 帧

以太帧格式

前两个字段分别是目的地址和源地址字段。第3个字段是2字节的类型字段,用来标识上一层是什么协议(0x800:IP协议,0x0806:ARP协议等)。第4个字段是数据字段,长度在46-1500字节之间。最后一个字段是CRC检验字段,存放4字节的帧检测序列FCS。校验范围是目的地址、源地址、类型、数据字段。

MAC帧长度最小为64字节,数据字段最小为46字节,如果不够,则自动加0填充。

3. MAC 地址

MAC地址也就是物理地址,大小为48位,6个字节,前24位是厂商代码,后24位为序号,比如H3C厂商代码为00-0f-e2。

  • 单播地址:第一个字节最低位为0,如 00-0f-e2-00-00-06
  • 多播地址:第一个字节最低位为1,如 01-0f-e2-00-00-06
  • 广播地址:48位全为1,如ff-ff-ff-ff-ff-ff

4. 冲突域与广播域

  • 冲突网络(冲突域):连接在同一个到导线上的所有工作站点集合,一个节点发出的报文其余节点都能收到,从而产生冲突。
  • 广播网络(广播域):限制以太网广播报文的范围,一个站点发送一个广播报文其余站点都可以收到。

5. 转发

  • 基于MAC地址转发:主要是根据原MAC、目的MAC、MAC地址表进行业务转发(详细见原理)。
  • 基于VLAN转发:为了解决广播域的问题引入了VLAN机制进行隔离。

二、二层转发原理

1. 转发原理及流程

原理:基于原MAC、目的MAC、MAC地址表进行业务转发

流程:PC_A 与 PC_B通信

① PC_A 发送 ARP 请求给交换机1来尝试获取计算机B的mac地址(基于以太网的通信必须在数据帧中指定目标MAC地址才能通信)

②交换机1 收到广播帧(ARP请求)后,会将他发给除接收端口外的所有端口,也就是flooding了,发送ARP广播。

③计算机B 收到 ARP 后,通过ARP单播回复 MAC 地址给A。

④计算机A 收到 B 的MAC地址后,写入以太帧目的MAC中,开始业务传输。

⑤交换机1 收到 PC_A 发出的以太帧后,会进行查表。如果查到,就按照MAC地址表指定的端口转发;查不到的话就进行广播转发。

 

 

 报文交换过程

posted @   leagueandlegends  阅读(230)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示