1 前言
篇章1里,主要介绍了交换芯片整体的pipeline思想。本章开始,从7层架构层次上,逐步介绍L2、L3不同的转发处理。
2 L2转发思想
以太网L2转发,转发思想简单,即基于以太网MAC头的转发。
2.1 MAC
L2转发匹配MAC地址进行转发,由此引出单播MAC的未知单播、已知单播,组播MAC和广播MAC。
1)未知单播:单播DMAC转发时,无法找到对应的出接口和转发方向,此时定义为未知单播。报文可以丢弃,也可以在划定的域内广播泛洪。
2)已知单播:单播DMAC转发时,MAC表中可以找到对应的出接口,此时定义为已知单播。报文按照MAC表对应的出接口单播转发。
3)组播:组播通常有两种,01:00:5e,01:80:c2,前者通常作为业务组播,后者往往定义为以太网二层协议,比如lacp,lldp,oam,stp等。对于业务组播,通常维护二层组播成员表,按照组播成员进行报文复制和组播转发。
4)广播:广播mac为全f的mac,通常此种流量会在对应的域内泛洪。由此的隐患就是二层网络环路和风暴,导致二层网络域瘫痪。所以,处理广播MAC报文需要慎重。
2.2 二层转发域
为避免二层网络的洪泛,环路和风暴问题,需要划分二层转发域。
二层转发域往往以vlan进行规划和隔离,报文只在对应vlan内转发和洪泛。mac+port+vlan的方式,识别对应的L2转发域。
跨域的转发,往往通过qinq等多层vlan的方式(二层vpn)进行接入和终结。
1)untag:没有vlan的报文,通常在access接入口,打上access vlan后匹配转发。
2)tag:有vlan的报文,端口接收时,需要先匹配入向vlan,入向没有配置对应vlan时,匹配丢包。匹配vlan后在对应域内转发。
3)double-tag:多层vlan的报文,接口收包时,先匹配外层,如果是qinq终结,则终结外层,再根据内层转发;如果外层tag转发,按照单层tag转发即可。
后续会继续介绍L2转发。