打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
一个数据包来了,交换机如何判断二层交换还是三层路由?
一个数据包经过交换机,交换机怎么分辨是要二层传递还是三层传递?
 
如果交换机是一个纯二层交换机,压根没有三层接口,很显然纯二层转发。
 
  • 如果目的MAC=单播MAC地址,且可以在MAC Address Table查询到端口,那么从对应的端口流出。
  • 如果目的MAC=单播MAC地址,但是没有在MAC Address Table查询到端口,那么采用Flooding机制,在广播域里进行广播扩散。广播域 = 接收到该帧的端口所在的广播域(VLAN)。
  • 如果目的MAC=广播MAC地址,本机如有对广播感兴趣的程序,复制一份给该程序,然后再广播域里广播扩散。如果没有感兴趣的程序,直接在广播域里广播扩散。
  • 如果目的MAC=组播MAC地址,本机如有对广播感兴趣的程序,将报文递交给该程序。比如RSTP、LACP。
  • 如果目的MAC=组播MAC地址,本机没有对广播感兴趣的程序。如果启用IGMP Snooping,查询端口是否为空,如果为空,直接将帧数据丢弃。否则将帧数据转发给查询到端口数,可能一个,也可能多个。
  • 如果目的MAC=组播MAC地址,本机没有对广播感兴趣的程序。如果没有启用IGMP Snooping,将该帧直接在广播域里进行广播扩散。
 
 
如果交换机不仅拥有二层的交换,还具有三层的路由,那么判断逻辑如下:
 
数据包的目的MAC是否等于该广播域三层接口的MAC地址?
 
  • 如果相等,将数据包直接提交给三层路由处理。
  • 否则,将数据包按照二层交换处理。具体的二层判断逻辑参考上文。
 
二层交换
由于仅仅是逻辑判断,并不对帧数据进行报文头的修改,甚至也不对帧的CRC进行校验。为了提高转发的效率,交换机只要读出帧头的MAC地址即可完成所有的逻辑判断,就可以完成转发。
 
三层路由
需要完成CRC的校验,否则将一个错误的帧提交给IP层,那不是坑人吗?由于二层交换机一般不做CRC校验,所有的CRC校验工作全部落在三层接口上来完成。三层接口的CRC错误率统计,会非常得高。三层路由还需要做报文头的替换工作,报文头的Sanity Check, 所以转发延迟要稍稍大一些。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
以太网基础
二三层交换机和路由器
二层转发原理
overlay网络技术之VxLAN详解
组播基本概念、IGMP、IGMP监听学习笔记
阻断攻击从接入交换机入手
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服