二层转发原理详解(一)

一、什么是二层转发?
        二层转发就是基于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了。
               ③计算机B收到ARP后,回复MAC地址给A。
               ④计算机A收到B的MAC地址后写入以太帧目的MAC中开始业务传输。
               ⑤交换机1收到PC_A发出的以太帧后,会进行查表,如果查到按照MAC地址表指定的端口转发,查不到的话就进行广播转发。
 
附:查表流程
 
附:MAC地址学习流程(以下流程按照地址表中未学习到介绍,学习到的话直接转发):
    ① PC_A 发送的以太帧进入交换机(假设与A连的端口是1,与B连的端口是2)
    ② 交换机查表,无相应信息
    ③ 交换机将收到以太帧的端口和源MAC地址学习到MAC转发表
    ④ 利用目的MAC转发,查表发现MAC转发表中无目的MAC对应信息
    ⑤ 广播,其他端口收到后丢弃,目的为以太帧中DMAC的设备接收
    注意:除非PC_B和PC_A是双向业务的交换机才会学到B的MAC地址,A->B单向不会。
 
 
缺陷:
当网络过大时,采用无vlan的二层转发会增加网络的负载,给设备CPU造成负担。
要开会了,直接把PPT上写的截下来了,大家多多体谅emmmm
 
emmmm --- 今天有事就先写到这,下期主要讲解VLAN、二层转发的实际应用以及一些使用中的问题答疑。
posted @ 2019-07-03 11:28  Peter·X  阅读(13229)  评论(0编辑  收藏  举报