帧结构与MTU
本页链接:https://zsk.wanbushu.com/html/basicnetwork-show-2236.html

帧结构与MTU

一、帧结构

1、以太网帧结构


标准以太网帧格式:

图片.png



EEE802.3帧长度字段值小于等于1500(0x05DC)。

EEE802.3帧格式类似于Ethernet_II帧,只是Ethernet_II帧的Type域被802.3帧的Length域取代,并且占用了Data字段的8个字节作为LLC和SNAP字段。

Length字段定义了Data字段包含的字节数。


逻辑链路控制LLC(LogicalLinkControl)由目的服务访问点DSAP(DestinationServiceAccessPoint)、源服务访问点SSAP(SourceServiceAccessPoint)和Control字段组成。

SNAP(Sub-networkAccessProtocol)由机构代码(OrgCode)和类型(Type)字段组成。Orgcode三个字节都为0。Type字段的含义与Ethernet_II帧中的Type字段相同。


IEEE802.3帧根据DSAP和SSAP字段的取值又可分为以下几类:

1>.当DSAP和SSAP都取特定值0xff时,802.3帧就变成了Netware-ETHERNET帧,用来承载NetWare类型的数据。SAP帧。

2.>当DSAP和SSAP都取特定值0xaa时,802.3帧就变成了ETHERNET_SNAP帧。ETHERNET_SNAP帧可以用于传输多种协议。SNAP帧。

3>.DSAP和SSAP其他的取值均为纯IEEE802.3帧。()


2.以太网Ⅱ帧格式:

图片.png


帧间隙:12bytes

帧前同步码:10101010  7个bytes

帧开始界定符:10101011 1个bytes,表示数据帧的开始。

DMAC:目的MAC 6个Bytes

SMAC:源MAC 6个Bytes

Type:类型,确定封装的上层协议 2个Bytes

Data:变长

CRC:4Bytes


3.几种帧模式小结:

Ethernet II以太网帧格式:

目标MAC|MAC|类型|数据|FCS

6字节|6字节|2字节|46-1500字节|4字节

最小帧长6+6+2+46+4 = 64字节,

最大帧长6+6+2+1500+4 = 1518字节。

(注:ISL封装后可达1548字节,802.1Q封装后可达1522字节)

##################################################################

Ethernet 802.3 raw帧格式 (NOVELL Ethernet 802.3):

目标MAC  源MAC  总长度 0xFFFF    数据          FCS

6字节    6字节  2字节  2字节    44-1498字节  4字节

最小帧长6+6+2+2+44+4 = 64,

最大帧长6+6+2+2+1498+4 = 1518。

##################################################################

Ethernet 802.3 SAP帧格式:

目标MAC|MAC|总长|DSAP|SSAP|控制|数据|FCS

6字节|6字节|2字节|1字节|1字节|1字节|43-1497字节|4字节

最小帧长6+6+2+1+1+1+43+4 = 64。

最大帧长6+6+2+1+1+1+1497+4 = 1518。

#################################################################

Ethernet 802.3 SNAP帧格式:

目标MAC|MAC|总长|0xAA|0xAA|0x03|OUI|ID|类型数据|FCS

6字节|6字节|2字节|1字节|1字节|1字节|3字节|2字节|38-1492字节|4字节

最小:6+6+2+1+1+1+3+2+38+4 = 64

最大:6+6+2+1+1+1+3+2+1492+4 = 1518

###################################################################


二.MTU与报文分片

1.相关MTU

链路层MTU,不包含链路层头部长度。

网络层MTU,包含IP头部长度。

传输层MTU,MSS不包含TCP头部长度。

MRU最大接收单元。


2.报文分片

1>.在TCP/IP分层中,数据链路层用MTU来限制所能传输的数据包大小。MTU是指一次传送的数据最大长度,不包括数据链路层数据帧的帧头。当发送的IP数据报的大小超过了MTU时,IP层就需要对数据进行分片,否则数据将无法发送成功。链路层MTU,不包含链路层头部长度。


2>.IP分片发生在IP层,不仅源端主机会进行分片,中间的路由器也有可能分片,因为不同网络的MTU是不一样的。如果传输路径上的某个网络的MTU比源端网络的MTU要小,路由器就可能对IP数据报再次进行分片。而分片数据的重组只会发生在目的端的IP层。这可能会导致数据传输失败。


3>.IP层是没有超时重传机制的。如果IP层对一个数据包进行了分片,只要有一个分片丢失了,只能依赖于传输层进行重传,结果是所有的分片都要重传一遍,这个代价有点大。由此可见,IP分片会大大降低传输层传送数据的成功率,所以要避免IP分片。








本页链接:https://zsk.wanbushu.com/html/basicnetwork-show-2236.html