常见报文格式汇总
1.1Ethernet数据包格式(RFC894)
1、目的Mac的最高字节的第8位如果为1,表明此包是以太网组播/广播包,送给CPU处理。
2、将目的Mac和本端口的MAC进行比较,如果不一致就丢弃。
3、获取以太网类型字段Type/Length。
0x0800→IP 继续进行3层的IP包处理。
0x0806→ARP 送给CPU处理。
0x8035→RARP 送给CPU处理。
0x8863→PPPoE discovery stage 送给CPU处理。
0x8864→PPPoE session stage 继续进行PPP的2层包处理。
0x8100→VLAN
其它值当作未识别包类型而丢弃。
4、Tag帧。
Type:长度为2字节,取值为0x8100,表示此帧的类型为802.1Q Tag帧。
PRI:长度为3比特,可取0~7之间的值,表示帧的优先级,值越大优先级越高。该优先级主要为QoS差分服务提供参考依据(COS)。
VID(Vlan ID):长度12bits,可配置的VLAN ID取值范围为1~4094。通常vlan 0和vlan
4095预留,vlan1为缺省vlan,一般用于网管。
1.2PPP数据包格式
1、获取PPP包类型字段。
0x0021→IP 继续进行3层的IP包处理。
0x8021→IPCP 送给CPU处理。
0xC021→LCP 送给CPU处理。
0xc023→PAP 送给CPU处理。
0xc025→LQR 送给CPU处理。
0xc223→CHAP 送给CPU处理。
0x8023→OSICP 送给CPU处理。
0x0023→OSI 送给CPU处理。
其它值当作未识别包类型而丢弃。