数据帧的处理方式你懂了吗?
![](https://thinkmo.com.cn/template/pc/skin/images/footerWeChat.jpg)
![](https://thinkmo.com.cn/template/pc/skin/images/footerWeChat2.png)
数据帧的处理方式你懂了吗?
一、交换机依据DMAC查找设备表进行转发
此时就会涉及对于未知单播,未知组播,未知广播的处理方式,收到未知单播数据帧,泛洪并接口记录下MAC,生成MAC表项。
收到未知组播,泛洪对于组播有以下几种情况:
1、STP
如MAC地址为0180-c200-0000 为STP协议,就交给STP协议处理。
2、ISIS
如MAC地址为0180-C200-0014 15 就交个ISIS协议处理。
如果收到组播数据,如果运行了PIM协议,就会依据(S,G)表项下游接口转发,如果没有运行PIM协议,收到组播数据帧就泛洪。
3、IGMP
如果运行了IGMP snooping,则依据IGMP snooping中成员端口转发数据。如果运行了IGMP proxy 则依据IGMP proxy表项来进行转发组播数据。
4、广播包
收到广播包,三层协议会依据type字段上交相应协议处理。
二、路由器收到未知表项数据包如何处理
1、目的路由
路由器是依据报文目的IP进行查表转发的,如果没有目的路由直接丢弃。
2、IP目的
如果收到的是单播帧,检查目的MAC为自己就接收,并根据type字段进行相应协议处理。
如果IP头的目的IP是自己,再依据IP头中的protocol字段交给本地协议处理,如果DIP不是自己,则进行路由转发,没得路由则丢弃。
如果收到的是广播数据帧,则依据type字段进行相应协议处理如DHCP,ARP等,如果收到IP的是组播的,则上交协议(如OSPF,PIM)。
3、组播路由
如果收到组播数据帧,同时也运行了组播路由协议,则按照以下处理:
不存在(S,G)则进行RPF检查,通过则创建(S,G)表项将通过RPF检查的设置为入接口,检查失败则丢弃。
如果存在(S,G)并且报文接收接口与转发表项一致,则向所有下游接口转发报文;如果存在(S,G)但收到数据接口与RPF检查接口不一致,则对该接口进行RPF检查。
若检查的结果与(S,G)入接口一致,则来源错误,丢弃;若不一致,则说明(S,G)已经过时,更新入接口,向所有下游接口转发。
4、交换机识别
交换机识别二层转发还是三层转发,依据DMAC是不是自己vlanif对应的MAC,是就三层转发,不是就二层。