常见以太网帧结构

常见的以太网帧结构由ETHERNET II 和 IEEE802.3。

ETHERNET II 数据链路层帧格式

 IEEE802.3数据链路层帧格式

Ethernet II和IEEE802.3的帧格式比较类似,主要的不同点在于前者定义的2字节的类型,而后者定义的是2字节的长度;所幸的是,后者定义的有效长度值与前者定义的有效类型值无一相同,这样就容易区分两种帧格式了。

关于类型/长度字段两个字节定义(十六进制):

0x0000 - 0x05DC   IEEE 802.3 长度  

0x0101 – 0x01FF实验  

0x0600 XEROX NS IDP  

0x0660   0x0661DLOG  

0x0800网际协议(IP)  

0x0801 X.75 Internet  

0x0802 NBS Internet  

0x0803 ECMA Internet  

0x0804  Chaosnet  

0x0805 X.25 Level 3  

0x0806地址解析协议(ARP : Address Resolution Protocol) 
0x0808 帧中继 ARP (Frame Relay ARP) [RFC1701] 
0x6559 原始帧中继(Raw Frame Relay) [RFC1701] 
0x8035动态 DARP (DRARP:Dynamic RARP)反向地址解析协议(RARP:Reverse Address Resolution Protocol) 
0x8037Novell Netware IPX  

0x809BEtherTalk  

0x80D5 IBM SNA Services over Ethernet  

0x80F3AppleTalk 地址解析协议(AARP:AppleTalk Address Resolution Protocol) 

0x8100 以太网自动保护开关(EAPS:Ethernet Automatic Protection Switching) 

0x8137 因特网包交换(IPX:Internet Packet Exchange) 

0x814C  简单网络管理协议(SNMP:Simple Network Management Protocol) 

0x86DD网际协议v6(IPv6,Internet Protocol version 6) 

0x8809 OAM 


 

数据链路层ARP/RARP帧结构如下:

具体ARP报文封装,详见FPGA极客空间文章《经典协议讲解,一定要看》。

数据链路层位于TCP/IP协议第二层,第一层是物理层,通常由物理芯片实现。

TCP/IP协议第三层为网络层(IP层),封装格式如下:


IP数据报在链路层帧结构中的封装

具体IP协议,详见FPGA极客空间《internet上的网络层》。

在网络层上,可以使用ICMP协议实现PING功能,ICMP协议是封装在IP协议里面的,具体结构如下:

ICMP具体详细数据报结构,详见FPGA极客空间《PING功能的实现》。


 版权所有权归卿萃科技,转载请注明出处  

作者:卿萃科技ALIFPGA  

原文地址:卿萃科技FPGA极客空间 微信公众号


   

 扫描二维码关注卿萃科技FPGA极客空间


原文地址:https://www.cnblogs.com/alifpga/p/7679851.html