[计算机通信网络]以太网的帧格式详解

目录

一、前言

二、以太网的帧格式

Preamble(前导码):

SFD(帧开始定界符):

Destination Address,Source Address:

Type/Len(类型/长度):

Data(数据):

FCS(Frame Check Sequence)(帧校验码):


一、前言

以太网的帧格式对于我们理解mac地址与局域网间通信有着很大的帮助。

这篇博客主要记录了以太网的帧格式与各个字段对应的内容。

二、以太网的帧格式

以太网的帧格式有两种,如下图,其中RFC 894与RFC 1042的主要区别就是 有两个字节的命名方式不同,分别是Type和Len,其余字段相同。

 

---------------------------------------------------------------------------------------------------------------------------------

Preamble(前导码):

preamble是以太网帧的前七个字节,其中每个字节的内容都相同,都为 10101010

具体长下面这样

 preamble:10101010 10101010 10101010 10101010 10101010 10101010 10101010

 前导码的作用为进行发送方与接收方的时钟同步,比如发送方物理设备一秒发送十个比特,则通过接收前导码,接收方的就可以通过前导码的01变换来判断发送方发送比特的速度,以便在出现如00这样的相同比特(电平相同,但是持续时间为两倍)时能通过时间将他们区分开来。

---------------------------------------------------------------------------------------------------------------------------------

SFD(帧开始定界符):

SFD(start of frame delimiter)——帧开始定界符。

长度为一字节,也就是8比特。

内容为:10101011

前面的101010可以看作时钟同步的一部分。后面的11代表着时钟同步结束,接收到11时接收方已经通过前面的10知道了发送方的发送速度,因此能识别出这个11,这个11代表着后面的内容为真正的数据。

---------------------------------------------------------------------------------------------------------------------------------

Destination Address,Source Address:

Destination Address:目的MAC地址,标志着帧的接收方的MAC地址。

Source Address:源MAC地址,也就是帧的发送方的MAC地址。

两者大小都为6字节.

---------------------------------------------------------------------------------------------------------------------------------

Type/Len(类型/长度):

长度为两个字节,也就是16位。

这两个字节被解读为Type还是Len取决于这两个字节组成的整数的数字大小。

当数值>=1536时,这两字节为类型(Type)。

当数值<=1500时,这两个字节被解释为长度,长度为其数值。

Type:类型,如0x0800为ip协议帧,0x0806 为ARP协议帧,还有各种上层网络层协议。

Len:表示这Data字段有多少个字节

---------------------------------------------------------------------------------------------------------------------------------

Data(数据):

Data(数据):也就是真正要发送的信息,其他字段都是用来描述这段信息的。

如 MAC 为1 的发送方对MAC为2的发送方发送了“你好!”则“你好!”就为Data。

DATA的长度len应有  46字节<=len<=1500字节

---------------------------------------------------------------------------------------------------------------------------------

FCS(Frame Check Sequence)(帧校验码):

FCS:长4个字节,用于检验数据在传输过程中数据是否出现了错误。为CRC32校验码。

两个不同的帧只有很小的几率有相同的校验码,故如果出现比特位翻转,很容易通过CRC32发现。

猜你喜欢

转载自blog.csdn.net/m0_56738500/article/details/127138052
今日推荐