请选择 进入手机版 | 继续访问电脑版

设为首页 收藏本站
思科社区 关注
思科社区

   思科 CCO 登录 推荐
 找回密码
 立即注册

搜索
热搜: 邮件服务器
查看: 573|回复: 16

【原创】L2转发原理详解

[复制链接]
发表于 2019-6-3 13:09:37 | 显示全部楼层 |阅读模式
对于交换芯片来说,L2转发是一个最基本的功能。L2功能主要包括ingress过滤、MAC学习和老化、根据MAC+VLAN转发、广播与洪泛、生成树控制等基本功能。

从端口进入交换芯片的包首先检查TAG,对于tagged包,判断是否是802.1p的包,(802.1p的包vid为0),对于untagged的包和802.1p的包,根据系统配置加上tag(这些配置包括:基于MAC的vlan、基于子网的vlan、基于协议的vlan和基于端口的vlan)。经过这一步以后,到交换芯片内部的包都变成802.1Q的tagged包了(vid为1-4094,4095保留),如果设置了ingress过滤,就会检查本端口是否在该vid对应的VLAN中,对于本端口不在该vid对应的VLAN中的包就丢弃。对于没有设置ingress过滤,或者设置ingress过滤但本端口在该vid对应的VLAN中的包进行STP端口状态检查,对于BPDU以外的包,只有端口处于forwarding状态,才允许包进入。然后进行原MAC地址检查,以原MAC+VID的哈希为索引查找L2 TABLE,如果没有找到,就把这个表项(原MAC+VID)以及对应的端口写到L2 TABLE中,这个过程称为MAC地址学习。当然地址学习的方法有很多种,可以是硬件学习,也可以是软件学习,可以根据PORT表中的CMI字段的配置来进行。

下一步进行目的MAC地址检查:目的MAC地址为广播地址(0xffffffff)的包,在vlan内广播出去;目的MAC地址为组播地址的包,进行组播流程的处理;对于单播包,查找L2 TABLE,如果没有找到,就在vlan内进行洪泛;如果找到,检查表项中的L3 bit是否设置,如果设置了L3 bit,就进行L3流程的转发;否则就转发到L2 TABLE表项中的端口去,在egress方向,也有egress过滤设置(默认是使能的),如果egress端口不在vlan中也是不能转发的。至此,L2转发流程完成了。

与地址学习相反的过程是地址老化。地址老化的机制是:ASIC内部有个定时器,称为age timer,命令行可以对这个寄存器进行设置,每次查找L2 TABLE时(包括原地址查找和目的地址查找,可以配置),如果命中,就会设置hit标志。当老化时间到后,ASIC把hit标志清除,当下一个老化时间到后,ASIC把hit为0的地址设置为无效,这就是为什么实际地址老化的时间为1~2倍agingTime的原因。


  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分5 (9 评价)
发表于 2019-6-3 19:19:58 | 显示全部楼层
感谢楼主分享,谢谢!
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
发表于 2019-6-6 16:18:22 | 显示全部楼层
解释到位,谢谢分享
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
发表于 2019-6-19 21:11:22 | 显示全部楼层
原理解析透彻,有流程图就更好了。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
发表于 4 天前 | 显示全部楼层
thanks for sharing
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
发表于 4 天前 | 显示全部楼层
2层转发是数通学习的基础,很详细
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
发表于 4 天前 | 显示全部楼层
基于芯片的2层转发原理,有图就更好了
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
发表于 4 天前 | 显示全部楼层
解释到位,详细,谢谢分享
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
发表于 4 天前 | 显示全部楼层
解析透彻,谢谢分享
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
发表于 4 天前 | 显示全部楼层
如果能像这样将每个协议交互过程单独详细说明一个帖子就很不错了。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver | 思科社区  

GMT+8, 2019-6-27 21:17 , Processed in 0.115192 second(s), 58 queries .

京ICP备09041801号-187

版权所有 :copyright:1992-2019 思科系统  重要声明 | 保密声明 | 隐私权政策 | 商标 |

快速回复 返回顶部 返回列表