首页 > 其他分享 >Ethernet II

Ethernet II

时间:2023-03-04 21:47:36浏览次数:40  
标签:FCS II 10101010 Ethernet Byte 数据包

数据链路层,以太帧主要有4种格式:

  1. Ethernet II以太帧
  • Ethernet II帧,也称为Ethernet v2帧,是如今局域网里最常见的以太帧,是以太网事实标准。如今大多数的TCP/IP应用(如HTTP、FTP、SMTP、POP3等)都是采用Ethernet II帧承载。
  1. IEEE 802.3 LLC以太帧
  • IEEE 802.3 LLC以太帧,也称为IEEE 802.3 SAP以太帧,是IEEE 正式的802.3标准,它由Ethernet II发展而来。
  1. IEEE 802.3 SNAP以太帧
  • IEEE 802.3 SNAP以太帧,是IEEE为保证在802.3 LLC上支持更多的上层协议同时更好的支持IP协议而发布的标准。

[^Tips]: 平时接触最多的就是Ethernet II,所以此篇主要说一下Ethernet v2。

Ethernet II帧格式
	    +-----------+-----------+-------------+--------------------+----------+
            |   DMAC    |   SMAC    |     Type    |          Data      |   FCS    |
            |  6 Bytes  |  6 Bytes  |   2 Bytes   |  Variable length   | 4 Bytes  |
            +-----------+-----------+-------------+--------------------+----------+
            |                                                                     |
                     |                                                          |
                               |                                             |
                                        |                                  |
                                                |                         |
                                                       |                 |
            +-------------+-----------+----------------+-----------------+
            |   帧间隙     |前同步码   |  帧开始定界符    |  Ethernet Frame |
            |至少12Bytes  | 7 Bytes   |  1 Byte        | Variable length |
            +-------------+-----------+----------------+-----------------+
ipv4:
Ethernet II, Src: MaipuCom_1f:8d:21 (cc:d8:1f:1f:8d:21), Dst: WistronI_cd:e0:52 (98:ee:cb:cd:e0:52)
    Destination: WistronI_cd:e0:52 (98:ee:cb:cd:e0:52)
    Source: MaipuCom_1f:8d:21 (cc:d8:1f:1f:8d:21)
    Type: IPv4 (0x0800)
    
lldp:
Ethernet II, Src: HuaweiTe_9a:e3:41 (c4:e2:87:9a:e3:41), Dst: LLDP_Multicast (01:80:c2:00:00:0e)
    Destination: LLDP_Multicast (01:80:c2:00:00:0e)
    Source: HuaweiTe_9a:e3:41 (c4:e2:87:9a:e3:41)
    Type: 802.1 Link Layer Discovery Protocol (LLDP) (0x88cc)
    Trailer: 000000
Link Layer Discovery Protocol
字段 长度 说明
DMAC 6 Byte 目的mac地址,以16进制表示,交换机根据此字段进行查mac地址表转发数据帧。arp请求、免费arp、arp probe数据包该字段都设为广播地址,ff-ff-ff-ff-ff-ff。
SMAC 6 Byte 源mac地址,以16进制表示。
Type 2 Byte 类型字段 常见的0x0800表示上层是IPv4协议,0x0806表示上层是ARP协议(2.5层),0x8100表示上层是virtual LAN(vlan)协议(2.5层),0x08CC表示上层是lldp协议(2.5层)。
Data 46 ~ 1500Byte 因为以太网数据帧标准要求是[64 ~ 1518B],所以-18就是该字段的范围长度[46 ~ 1500B](以太网MTU最大为1500)
FCS 4 Byte Frame check seq(帧校验序列),接收者根据此字段判断收到的数据帧是否存在错误,如存在错误,丢弃此帧,通常使用crc(循环冗余校验)。
Ethernet II共18个字节(DMAC(6B)+SMAC(6B)+Type(2B)+FCS(4B)),例外:lldp协议又加了一个Trailer字段(3B)。
帧间隙 12 Byte /
前同步码 7 Byte 以太网标准中规定前导码为10101010 10101010 10101010 10101010 10101010 10101010 10101010(二进制),共7字节。
帧开始定界符 2 Byte 以太网标准中规定帧开始定界符为10101011(二进制),共1字节。

问题:

  1. 为什么前同步码、帧开始定界符、FCS字段在抓到的数据包中看不到?
  • 终端网卡收到数据包后首先将前导同步码和帧开始定界符去掉,进行FCS校验,FCS校验一般由网卡硬件完成,发送的数据包因为在被网卡硬件处理之前就被wireshark抓到了,收到的数据包因为经网卡硬件校验后该字段就被剥离,所以在数据包中看不到前同步码、帧开始定界符、FCS字段
1677936292850
  1. 以太网数据帧最低要求64字节(其实是网卡内部程序设置的),但是抓到的arp请求及回复数据包(42B)、icmp数据包(ping)(45B)都是小于64B,为什么?
  • 一个是缺少一个FCS(4B)字段,另外我猜测可能padding在数据链路层的data(全0)被wireshark剥离了,如果有知道的小伙伴可以给个答案。

华为IP 报文格式大全-https://support.huawei.com/hedex/hdx.do?docid=EDOC1000105967&id=ZH-CN_CONCEPT_0254009100

标签:FCS,II,10101010,Ethernet,Byte,数据包
From: https://www.cnblogs.com/wefjack/p/17179236.html

相关文章