最新Ethernet帧结构解析..资料

合集下载

第02章 Ethernet帧结构解析-2

第02章 Ethernet帧结构解析-2

8 字节
7 字节 10101010101010 1 字节
MAC 帧
物理层
… 10101010101010101011
帧开始 定界符
计算机硬件基础教学中心
前同步码
Copyright © by LIPENG All rights reserved.
帧结构解析
1、以太网的MAC层
以太网 V2 的格式
局域网介绍
2、局域网概述
局域网技术发展的过程
Copyright © by LIPENG All rights reserved.
计算机硬件基础教学中心
局域网介绍
2、局域网概述
最早的Ethernet原理设计图
Copyright © by LIPENG All rights reserved.
计算机硬件基础教学中心
局域网介绍
1、IEEE 802 标准
ISO/OSI-RM
7 6 5 4 3 2 1 应用层 表示层 会话层 传输层 网络层 数据 链路层 物理层
UTP 同轴电缆 光缆
Copyright © by LIPENG All rights reserved.
802.10 网络安全
802.1 802.2
帧开始 定界符
计算机硬件基础教学中心
前同步码
Copyright © by LIPENG All rights reserved.
帧结构解析
1、以太网的MAC层
以太网 V2 的格式
IP 数据报 字节 以太网 V2 MAC 帧 插入 6 目的地址 6 源地址 2 类型 数 46 ~ 1500 据 4 FCS MAC 层 IP 层
• 随机接入:所有的用户可随机地发送信息。 • 受控接入:如多点线路探询(polling),或轮询。

ethernet的拓扑结构

ethernet的拓扑结构

ethernet的拓扑结构
以太网是一种常见的局域网技术,它可以采用不同的拓扑结构来连接设备。

常见的以太网拓扑结构包括总线型、星型和环型。

首先,总线型拓扑结构是指所有设备都连接到同一根传输介质(通常是一根电缆),设备通过共享这根传输介质来进行通信。

在总线型拓扑结构中,所有设备可以看到在传输介质上发送的所有数据帧,但每个设备只能接收并处理发送给它的数据帧。

其次,星型拓扑结构是指所有设备都连接到一个集线器或交换机,集线器或交换机起到中继数据的作用。

在星型拓扑结构中,每个设备通过独立的链路与集线器或交换机相连,这样可以提高网络的可靠性和扩展性。

最后,环型拓扑结构是指每个设备都与相邻的两个设备相连,形成一个闭合的环路。

在环型拓扑结构中,数据帧沿着环路传输,每个设备都可以接收并发送数据帧。

这种拓扑结构通常使用双绞线或光纤作为传输介质。

除了这些常见的以太网拓扑结构外,还有混合拓扑结构,即将
不同的拓扑结构组合在一起,以满足特定的网络需求。

例如,一个大型以太网网络可能会采用星型拓扑结构的子网,而这些子网之间则采用总线型或环型拓扑结构相连。

总的来说,以太网可以根据不同的拓扑结构来构建局域网,每种拓扑结构都有其特点和适用场景,网络管理员需要根据实际情况选择合适的拓扑结构来搭建网络。

以太网(Ethernet)的帧结构

以太网(Ethernet)的帧结构
以太网( 以太网(Ethernet)的帧结构 )
以太网(Ethernet)的帧结构
1.Ethernet V2.0帧结构 2. IEEE802.3帧结构 3. Ethernet V2.0帧结构组成详解
Ethernet V2.0帧结构
帧前 帧校 前导 目的 源地 数据 定界 验字 类型 码 地址 址 字段 符 段 46~1 7B 1B 6B 6B 2B 4B 500B 注:Ethernet帧的最小长度为64B,最大长 度为1518B。(前导码与帧前定界符不计入 帧头长度中)
前导码与帧前定界符字段
前导码的组成: 前导码的组成:56位(7B)10101010…10 1010比特序列。 作用: 作用:提醒接收系统有帧的到来,以及使到来的 帧与计时器进行同步。 帧前定界符的组成: 帧前定界符的组成:8位(1B)10101011比特 序列。 作用: 作用:表示下面的字段是目的地址。
数据字段
数据字段的组成: 数据字段的组成:长度在46~1500B之间的比 特序列。 特点: 特点:如果数据的长度少于46B,需要加填充 字节,补充到46B。填充字节是任意的,不计 入长度字段中。
帧校验字段
帧校验字段的组成: 32位 4B)比特序列。 帧校验字段的组成: 32位(4B)比特序列。 特点: 特点:采用CRC校验。校验的范围包括目的地 址字段,源地址字段,类型字段,数据字段。 在接收端进行校验,如果发生错误,帧将被丢 弃。 32位CRC校验的生成多项式为: G(x) =x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4 +x2+x1+1
பைடு நூலகம்

数通各种帧协议结构

数通各种帧协议结构

数通各种帧协议结构网络通信中的数据传输主要通过数据包的形式进行,而数据包是按照特定的帧和协议结构组织的。

下面将对几种常见的帧和协议结构进行介绍。

1. 以太网帧 (Ethernet Frame)以太网帧是局域网中最为常见的帧类型,用于在以太网中传输数据。

以太网帧的结构如下:- 目的MAC地址 (Destination MAC Address):表示数据包的接收者的物理地址。

- 源MAC地址 (Source MAC Address):表示数据包的发送者的物理地址。

- 类型/长度 (Type/Length):表示上层协议的类型或长度。

- 数据 (Data):实际要传输的数据。

-帧校验序列(FCS):用于校验数据传输是否正确。

2. IPv4数据报 (IPv4 Datagram)IPv4是互联网中最基本的网络层协议,IPv4数据报是在IPv4网络中传输的数据单元。

IPv4数据报的结构如下:- 版本 (Version):表示使用的IPv4协议版本。

- 首部长度 (Header Length):表示IPv4首部的长度。

- 区分服务 (Differentiated Services):用于指定不同类型的服务质量要求。

- 总长度 (Total Length):表示整个IPv4数据报的总长度。

- 标识 (Identification):用于唯一标识一个数据报,用于处理分片和重组。

- 标志 (Flags):用于指定是否进行分片以及分片的位置。

- 时间到生存 (Time to Live):用于限制数据报在网络中的传播时间。

- 协议 (Protocol):表示上层协议的类型。

- 源IP地址 (Source IP Address):表示数据报的发送者IP地址。

- 目的IP地址 (Destination IP Address):表示数据报的接收者IP地址。

- 首部校验和 (Header Checksum):用于校验IPv4首部的正确性。

以太数据帧结构

以太数据帧结构
G(2)二进制值
二进制 模二除法
二进制 余数
余数不够 高位 0 凑
Data
CRC
对方使用相同G(x) 一定能够整除
三、随堂练习
一、判断题
1、以太数据帧中,类型字段代表该数据帧是802.3帧还是Ethernet II帧 ( )
2、每个以太数据帧能够封装的最大网络层报文大小为1500字节
()
二、选择题
二、以太数据帧字段
前导码:用于接收方与发送方的同步,7个字节,每个字节的值固定为0xAA。 帧起始定界符:用于标识一个以太网帧的开始,值固定为0xAB。 目的地址:存放48bit的目标MAC地址,用于局域网中交换机寻址转发。 源地址:存放48bit的源MAC地址,用于局域网中交换机学习和目标主机回复。 类型 :用于指定报文头后所接的数据类型。包括:IPv4(0x0800), IPv6(0x86DD), ARP(0x0806),802.1q数据帧(0x8100) 。 数据:用于存放网络层封装的报文内容(比如:IPv4数据包、IPv6数据包、ARP报文)。 FCS(Frame Check Sequence):通过CRC(Cyclic Redundancy Check)算法计算出 来的序列号,用来确定接收到的帧比特是否正确。
1
0
1
1
1
1x25-1 +0x24-1+1x23-1+1x22-1+1x21-1
CRC校验码位数 = 二进制值位数 - 1 二进制值( 10111 )与数据流做模二除法,余数即为CRC校验码
二、模二除法
使用G(x)的二进制值10111对目标数据流1010110做模二除法,求余数值
1001001
10111 1 0 1 0 1 1 0 0 0 0 0

计算机网络以太帧

计算机网络以太帧

计算机网络以太帧1. 简介以太网是一种常用的局域网技术,其通信基本单位是以太帧(Ethernet Frame)。

以太帧是数据链路层中用于在网络中传输数据的基本单元。

本文将详细介绍以太帧的结构、功能和处理过程。

2. 以太帧结构以太帧是由一系列字段组成的数据包,通常包括以下几个部分:2.1 帧前导码帧前导码是一个固定的字段,由7个字节构成。

它的作用是在数据传输之前进行同步和定时,以确保接收方能正确解读数据。

帧前导码的内容为10101010。

2.2 目的MAC地址目的MAC地址是一个6个字节的字段,用于识别帧的接收方。

每个网络设备都有一个唯一的MAC地址,用于标识其在网络中的位置。

2.3 源MAC地址源MAC地址是一个6个字节的字段,用于识别帧的发送方。

与目的MAC地址类似,源MAC地址也是设备的唯一标识符。

2.4 类型/长度字段类型/长度字段用于指示数据字段的类型或长度。

它可以表示以太网上使用的协议类型,如IP、ARP等,或者表示数据字段的长度。

2.5 数据字段数据字段包含实际传输的数据。

它的长度可以根据类型/长度字段的指示进行变化。

2.6 帧校验序列帧校验序列是一个4字节的字段,用于检测帧在传输过程中是否发生了错误。

接收方会根据帧的内容计算校验序列,并与接收到的校验序列进行比较,以确认接收到的帧是否正确。

3. 以太帧的工作流程了解以太帧的工作流程对理解其在计算机网络中的作用非常重要。

下面是以太帧的基本工作流程:3.1 数据封装在发送端,数据从应用层逐层向下传输,最终被封装成以太帧。

数据会按照特定的格式组织,然后与目的MAC地址、源MAC地址等信息一起构建帧。

3.2 帧传输以太帧通过网络传输到目的地。

在传输过程中,帧会经过网络设备,如交换机、路由器等。

这些设备会根据目的MAC地址将帧转发到正确的接口,以确保帧能够到达正确的接收方。

3.3 帧解封在接收端,以太帧被接收到,并根据其结构进行解封。

接收方会根据目的MAC地址判断是否接收该帧,并提取数据字段中的数据。

以太网帧结构详解

以太⽹帧结构详解⽹络通信协议⼀般地,关注于逻辑数据关系的协议通常被称为上层协议,⽽关注于物理数据流的协议通常被称为低层协议。

IEEE802就是⼀套⽤来管理物理数据流在局域⽹中传输的标准,包括在局域⽹中传输物理数据的802.3以太⽹标准。

还有⼀些⽤来管理物理数据流在使⽤串⾏介质的⼴域⽹中传输的标准,如帧中继FR(FrameRelay),⾼级数据链路控制HDLC(High-LevelDataLinkControl),异步传输模式ATM(AsynchronousTransferMode)。

分层模型0OSI国际标准化组织ISO于1984年提出了OSIRM(OpenSystemInterconnectionReferenceModel,开放系统互连参考模型)。

OSI参考模型很快成为了计算机⽹络通信的基础模型。

OSI参考模型具有以下优点:简化了相关的⽹络操作;提供了不同⼚商之间的兼容性;促进了标准化⼯作;结构上进⾏了分层;易于学习和操作。

OSI参考模型各个层次的基本功能如下:物理层:在设备之间传输⽐特流,规定了电平、速度和电缆针脚。

数据链路层:将⽐特组合成字节,再将字节组合成帧,使⽤链路层地址(以太⽹使⽤MAC地址)来访问介质,并进⾏差错检测。

⽹络层:提供逻辑地址,供路由器确定路径。

传输层:提供⾯向连接或⾮⾯向连接的数据传递以及进⾏重传前的差错检测。

会话层:负责建⽴、管理和终⽌表⽰层实体之间的通信会话。

该层的通信由不同设备中的应⽤程序之间的服务请求和响应组成。

表⽰层:提供各种⽤于应⽤层数据的编码和转换功能,确保⼀个系统的应⽤层发送的数据能被另⼀个系统的应⽤层识别。

应⽤层:OSI参考模型中最靠近⽤户的⼀层,为应⽤程序提供⽹络服务。

分层模型-TCP/IPTCP/IP模型同样采⽤了分层结构,层与层相对独⽴但是相互之间也具备⾮常密切的协作关系。

TCP/IP模型将⽹络分为四层。

TCP/IP模型不关注底层物理介质,主要关注终端之间的逻辑数据流转发。

Ethernet帧结构解析汇报..

实验一 Ethernet帧结构解析一.需求分析实验目的:(1)掌握Ethernet帧各个字段的含义与帧接收过程;(2)掌握Ethernet帧解析软件设计与编程方法;(3)掌握Ethernet帧CRC校验算法原理与软件实现方法。

实验任务:(1)捕捉任何主机发出的Ethernet 802.3格式的帧和DIX Ethernet V2(即Ethernet II)格式的帧并进行分析。

(2)捕捉并分析局域网上的所有ethernet broadcast帧进行分析。

(3)捕捉局域网上的所有ethernet multicast帧进行分析。

实验环境:安装好Windows 2000 Server操作系统+Ethereal的计算机实验时间; 2节课二.概要设计1.原理概述:以太网这个术语通常是指由DEC,Intel和Xerox公司在1982年联合公布的一个标准,它是当今TCP/IP采用的主要的局域网技术,它采用一种称作CSMA/CD的媒体接入方法。

几年后,IEEE802委员会公布了一个稍有不同的标准集,其中802.3针对整个CSMA/CD网络,802.4针对令牌总线网络,802.5针对令牌环网络;此三种帧的通用部分由802.2标准来定义,也就是我们熟悉的802网络共有的逻辑链路控制(LLC)。

以太网帧是OSI参考模型数据链路层的封装,网络层的数据包被加上帧头和帧尾,构成可由数据链路层识别的数据帧。

虽然帧头和帧尾所用的字节数是固定不变的,但根据被封装数据包大小的不同,以太网帧的长度也随之变化,变化的范围是64-1518字节(不包括8字节的前导字)。

帧格式 Ethernet II和IEEE802.3的帧格式分别如下。

EthernetrII帧格式:----------------------------------------------------------------------------------------------| 前序 | 目的地址 | 源地址 | 类型 | 数据| FCS |----------------------------------------------------------------------------------------------| 8 byte | 6 byte | 6 byte | 2 byte | 46~1500 byte | 4 byte| IEEE802.3一般帧格式----------------------------------------------------------------------------------------------------------- | 前序 | 帧起始定界符 | 目的地址 |源地址| 长度| 数据| FCS | ----------------------------------------------------------------------------------------------------------- | 7 byte | 1 byte | 2/6 byte | 2/6 byte| 2 byte| 46~1500 byte | 4 byte | Ethernet II和IEEE802.3的帧格式比较类似,主要的不同点在于前者定义的2字节的类型,而后者定义的是2字节的长度;所幸的是,后者定义的有效长度值与前者定义的有效类型值无一相同,这样就容易区分两种帧格式2程序流程图:三.详细设计:1.CRC校验部分设计:为了对以太网帧的对错进行检验,需要设计CRC校验部分。

常见以太网帧结构详解

常见以太网帧结构详解以太网是一个常用的局域网技术,其数据传输是以帧的形式进行的。

以太网帧是以太网数据传输的基本单位,通过帧头、帧数据和帧尾等部分来描述有效载荷的数据。

以太网帧的结构如下:1. 帧前同步码(Preamble):以太网帧的开始部分有7个字节的帧前同步码,其作用是为接收端提供定时的参考,帮助接收端进行帧同步。

2.帧起始界定符(SFD):帧前同步码之后的1字节帧起始界定符为0x55,标志着以太网帧的开始。

3. 目标MAC地址(Destination MAC Address):目标MAC地址占6个字节,表示帧的接收者的MAC地址。

4. 源MAC地址(Source MAC Address):源MAC地址占6个字节,表示帧的发送者的MAC地址。

5. 长度/类型字段(Length/Type Field):长度/类型字段占2个字节,当该字段的值小于等于1500时,表示以太网帧的长度;当该字段大于等于1536时,表示该字段定义了帧中的协议类型。

6. 帧数据(Data):帧数据部分是以太网帧的有效载荷,其长度为46到1500字节,不包括帧头和帧尾。

7. 帧校验序列(Frame Check Sequence,FCS):帧校验序列占4个字节,主要用于对帧进行错误检测,以保证数据的可靠性。

8. 帧尾(Frame Check Sequence,FCS):帧尾占4个字节,用于标识以太网帧的结束。

以太网帧的长度为64到1518字节,其中有效载荷部分数据长度为46到1500字节,不同帧的长度可以根据网络需求进行调整。

在发送以太网帧时,发送方会在帧尾的后面添加额外的字节以保证整个帧的长度达到最低限制。

这些额外的字节即填充字节(Padding),用于使帧长达到最小限制的要求。

以上是以太网帧的常见结构,它描述了以太网帧的各个部分的作用和位置。

了解以太网帧的结构对于理解以太网的工作原理和网络通信非常重要。

数据链路层帧结构解析(精品)

对模拟帧结构的解析一、编制程序的目的目的是应用数据链路层与介质访问控制子层的知识,根据数据链路层的基本原理,通过解析已封装好的Ethernet 帧,了解Ethernet 帧结构的各个字段的含义,从而深入理解Internet 协议族中的最底层协议——数据链路层协议。

也为后续的实验积累编程经验。

1.1前期准备:1.1.1 CRC-8按字节查表检验算法将字节序列按字节可写成:∑=ni i B D 082,按照CRC 原理,对D 左移8位,然后用生成多项式G 除,G 是16位的。

∑=n i GB GD i 0822288 (1),令GR n GB n n Q +=82,代入(1)式得∑--+++=-2082)1(8228222)(288188n i GB n GB GR n n G D i n n Q (2),令GR GR GR nL nH n +=8228,其中,nH R ,nL R 分别是n R 的高8位,低8位,代入(2)式,得:∑--++++=-208)1(8228222)(28188n i GB n GB R GR nn GD in nH nL Q (3)此时,可令GR n GB R GR n n nH nL Q 1818122--+=+-+ (4)则(3)式为:∑----+++=-208)2(82)1(81822222818n i GB n GR n n n n G D in Q Q (5)类推,将得到:GR n n n n nn G D Q Q Q Q 080)2(82)1(8182 (222)+++++=---- (6)由(6)式知,即第n-1字节的CRC 余码 = 第n 字节CRC 余码低8位 + 第n 字节CRC 余码高8位与第n-1字节和的CRC 余码。

这个结论正是参考文献3告诉我们的方法推出的结论。

二、程序说明 2.1 思路结合给定的模拟帧结构定义相应得数据结构(帧类),并定义一个帧装载类。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2)捕捉并分析局域网上的所有ethernet broadcast帧进行分析。
(3)捕捉局域网上的所有ethernet multicast帧进行分析。
实验环境:安装好Windows 2000 Server操作系统+Ethereal的计算机
实验时间; 2节课
二.概要设计
1.原理概述:
以太网这个术语通常是指由DEC,Intel和Xerox公司在1982年联合公布的一个标准,它是当今TCP/IP采用的主要的局域网技术,它采用一种称作CSMA/CD的媒体接入方法。几年后,IEEE802委员会公布了一个稍有不同的标准集,其中802.3针对整个CSMA/CD网络,802.4针对令牌总线网络,802.5针对令牌环网络;此三种帧的通用部分由802.2标准来定义,也就是我们熟悉的802网络共有的逻辑链路控制(LLC)。以太网帧是OSI参考模型数据链路层的封装,网络层的数据包被加上帧头和帧尾,构成可由数据链路层识别的数据帧。虽然帧头和帧尾所用的字节数是固定不变的,但根据被封装数据包大小的不同,以太网帧的长度也随之变化,变化的范围是64-1518字节(不包括8字节的前导字)。
实验一Ethernet帧结构解析
一.需求分析
实验目的:(1)掌握Ethernet帧各个字段的含义与帧接收过程;
(2)掌握Ethernet帧解析软件设计与编程方法;
(3)掌握Ethernet帧CRC校验算法原理与软件实现方法。
实验任务:(1)捕捉任何主机发出的Ethernet 802.3格式的帧和DIX帧并进行分析。
帧格式Ethernet II和IEEE802.3的帧格式分别如下。
EthernetrII帧格式:
----------------------------------------------------------------------------------------------
|前序|目的地址|源地址|类型|数据
2程序流程图:
三.详细设计:
1.CRC校验部分设计:
为了对以太网帧的对错进行检验,需要设计CRC校验部分。采用以为相与的方式对帧的首部相继作8位CRC校验
输入参数:
chCurrByte低8位数据有效,记录了上一次CRC校验的余数
chNextByte低8位数据有效,记录了本次要继续校验的一个字节
传出参数:
chCurrByte低8位数据有效,记录了本次CRC校验的余数
void checkCRC(int &chCurrByte, int chNextByte)
{
// CRC循环:每次调用进行8次循环,处理一个字节的数据。
for (int nMask = 0x80; nMask > 0; nMask >>= 1)
IEEE802.3一般帧格式
----------------------------------------------------------------------------------------------------------- |前序|帧起始定界符|目的地址|源地址|长度|数据| FCS | ----------------------------------------------------------------------------------------------------------- | 7 byte | 1 byte | 2/6 byte | 2/6 byte| 2 byte| 46~1500 byte | 4 byte | Ethernet II和IEEE802.3的帧格式比较类似,主要的不同点在于前者定义的2字节的类型,而后者定义的是2字节的长度;所幸的是,后者定义的有效长度值与前者定义的有效类型值无一相同,这样就容易区分两种帧格式
| FCS |
----------------------------------------------------------------------------------------------
| 8 byte | 6 byte | 6 byte | 2 byte | 46~1500 byte | 4 byte|
{
if ((chCurrByte & 0x80) != 0) //首位为1:移位,并进行异或运算
{
chCurrByte <<= 1; //移一位
if ( (chNextByte & nMask) != 0) //补一位
{
chCurrByte |= 1;
}
chCurrByte ^= 7; //首位已经移出,仅对低8位进行异或运算,7的二进制为0000,0111
bParseCont ? //是否到达文件末尾
(file.tellg() - 8 - 1 - nCurrDataOffset) : //没到文件末尾:下一帧头位置-前导码和定界符长度- CRC校验码长度-数据字段起始位置
(file.tellg() - 1 - nCurrDataOffset); //已到达文件末尾:文件末尾位置- CRC校验码长度-数据字段起始位置
}
else //首位为0,只移位,不进行异或运算
{
chCurrByte <<= 1; //移一位
if ( (chNextByte & nMask) != 0) //补一位
{
chCurrByte |= 1;
}
}
}
}
2.部分变量的声明:
int nSN = 1; //帧序号
int nCheck = 0; //校验码
4.主函数的设计:
void main(int argc, char* argv[])
{
//检测命令行参数的正确性
if (argc != 2)
{
cout << "请以帧封装包文件为参数重新执行程序" << endl;
int nCurrDataOffset = 22; //帧头偏移量
int nCurrDataLength = 0; //数据字段长度
bool bParseCont = true; //是否继续对输入文件进行解析
int nFileEnd = 0; //输入文件的长度
3.计算数据段的长度:
nCurrDataLength =
相关文档
最新文档