报文格式大全 (编写:洪先进) 1.1 Ethernet数据包格式(RFC894) Ethernet Ⅱ 帧格式: 目的 MAC 地址 6 by tes 源 MAC 地址 6 by tes Ty pe/Length 2 by tes Pay load 46-1500 by tes FCS(CRC) 4 by tes VLAN 帧格式: 目的 MAC 地址 6 by tes 源 MAC 地址 6 by tes Ty pe/Length 2 by tes Pay load FCS 4 by tes 0x 8100 2 by tes TCI 2by tes 3bits:UserPriority 1bit:CFI 12bits:VID 1、DstMac 的最高字节的最低 BIT 位如果为 1,表明此包是以太网组播/广播包,送给 CPU 处理。 2、将 DstMac 和本端口的 MAC 进行比较,如果不一致就丢弃。 3、获取以太网类型字段 Ty pe/Length。 0x 0800→IP 继续进行 3 层的 IP 包处理。 0x 0806→ARP 送给 CPU 处理。 0x8035→RARP 送给 CPU 处理。 0x8863→PPPoE discovery stage 送给 CPU 处理。 0x8864→PPPoE session stage 继续进行 PPP 的 2 层包处理。 0x8100→VLAN 其它值当作未识别包类型而丢弃。 1.2 PPP 数据包格式 标志 7E 1by te 地址 FF 1by te 控制 03 1by te 协议 2by tes Pay load 最多 1500by tes CRC 2by tes 标志 7E 1by te 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 处理。 其它值当作未识别包类型而丢弃。 1.3 ARP 报文格式(RFC826) 以太网 目的地址 6bytes 以太网 源地址 6bytes 帧类型 2bytes 硬件类型 2bytes 协议类型 2bytes 硬件地址长度 1bytes 协议地址长度 1bytes Op 2bytes 发送端以太网地址 6bytes 发送端IP地址 4bytes 目的以太网地址 6bytes 目的IP地址 4bytes |----以太网首部---->|---------28 字节ARP 请求/应答------ 1.4 IP 报文格式(RFC791)(20by tes) 版本 4bits 首部长度 4bits 服务类型 TOS 8bits 总长度 16bits 标识 Ident 16bits 标志 Flag 3bits 片偏移 13bits TTL 8bits 协议号 8bits 首部检验和 16bits 源IP 地址 32bits 目的IP 地址 32bits 选项(可选)...