以太网 - 交换转发原理(L2 , L3)

本文介绍了网络通信中的MAC地址和IP地址的特性,包括MAC地址的广播、组播和单播,以及IP组播地址的范围。详细阐述了ARP表和交换机的工作原理,如FDB表、L2/L3转发,并解释了三层交换机如何实现快速转发。同时,提到了网络拓扑和VLAN在数据转发中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MAC地址:(共6个字节)

全0: 地址未知。(用于ARP request的payload部分)

全F: 广播地址

第一字节,最低位是1:组播。(第一个字节是奇数)

其他情况:单播

 

IEEE MAC地址规定了第一个八位组的Octet 0的bit 0指明了目标地址是广播/组播地址,还是单播地址。

就以太网而言,IP组播帧都使用以0x0100.5Exx.xxxx的24位前缀开始MAC层地址。剩下24位地址由于某些原因只有这些MAC地址的一半(即后23位)可以被IP组播使用。全部28位不能映射进入只有23位可用的MAC地址空间,所以在映射过程中丢失了5位地址信息。将导致第3层IP地址映射成第2层IEEE MAC地址时2^5或32个IP组播地址映射成同一个组播MAC地址。这意味着每一个IEEE IP组播MAC地址能表示32个IP组播地址

             

 

IP地址:(共4个字节)

IANA将D类地址空间分配给IP组播地址。

该空间的地址用二进制表示并且第一个八位组的前4位用1110表示,因此IP组播地址的范围从224.0.0.0到239.255.255.255 。

 

ARP表

网络节点保存,记录其他节点MAC - IP对应关系。

Switch

802.1Q: vlan tag (子网划分+转发优先级)

FDB: Forwarding Database 。

        L2 switch保存,记录了 PortNumber - MAC - VLAN对应关系。

        L3 switch保存,记录了PortNumber - IP - MAC - VLAN对应关系

 

L2 Switch工作原理(以ping命令为例):
节点保存ARP表
switch保存FDB表


node1的ARP表有node2的MAC和IP信息

node2的ARP表有node1的MAC和IP信息

switch有node1的“port - node1的MAC - vlan”条目

switch有node2的“port - node2的MAC - vlan”条目


1,node1,ICMP request,查询自己的ARP表,填写MAC和IP,发给switch
2,switch,添加tag,根据自己的FDB,转发到相应的端口,去除tag,再发给node2。
3,node2,将ICMP request内容与自己MAC和IP,比对,然后回复ICMP response。



node1的ARP表中没有node2的信息,

node1,发送ARP request报文给switch,由switch转发给node2,node2回复ARP response。
其间,node2的ARP表先更新,接着switch的FDB更新,最后node1的ARP表更新。

node2的ARP表中,MAC-IP:node1的MAC地址,IP是node1的IP地址。
L2 switch的FDB表,port-MAC-vlan:switch相应的端口号,MAC是相关node的MAC地址,vlan是相应端口的vlan。

L3转发(根据IP地址,转发到相应端口)

二层转发由MAC地址对应到出端口的道理一样,三层转发也可以直接由IP地址对应到出端口,IP地址的路由可以通过ARP来学习,同样需要老化。这样,VLAN间转发除第一个包需要通过ARP获得主机路由外,其它的报文直接根据IP地址就能够查找到出端口,转发速度远远高于路由器转发的速度。

路由器的转发采用最长匹配的方式,实现复杂,通常使用软件来实现。而三层交换机的路由查找是针对流的,它利用CACHE技术,很容易采用ASIC实现。

L3独有的"一次路由,多次交换"(一次路由就可以记录IP-Port的关系了)使三层交换像二层一样迅速。

三层交换查的是转发表,二层转发才查询MAC表。

三层转发表主要包含:目的地址 - 掩码长度 - 下一条地址 - 出接口索引。

 

网络拓扑如下:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值