Ethernet帧结构解析

合集下载

实验一 分析以太网数据帧的构成

实验一 分析以太网数据帧的构成

实验一分析以太网数据帧的构成实验项目性质:验证性计划学时:2学时一、实验目的掌握以太网帧的构成,了解各个字段的含义;掌握网络协议分析软件的基本使用方法;掌握常用网络管理命令的使用方法。

二、实验原理数据链路层将不可靠的物理层转变为一条无差错的链路,涉及的数据单位是帧(frame),高层的协议数据被封装在以太网帧的数据字段发送。

使用网络协议分析软件可以捕获各种协议数据包,通过查看这些协议数据包中数据链路帧的各字段可以分析网络协议的内部机制。

三、实验设备计算机及以太网环境。

四、实验内容与步骤1.打开网络协议分析软件(Ethereal)Ethereal是一款免费的网络协议分析程序,支持Unix、Windows。

借助这个程序,我们既可以直接从网络上抓取数据进行分析,也可以对由其他嗅探器抓取后保存在硬盘上的数据进行分析。

目前,Ethereal 能够解析761种协议数据包,选择菜单命令“Help”→“Supported Protocol”子菜单项可以查看详细信息。

2.选择菜单命令“Capture”→“Interfaces…”子菜单项。

弹出“Ethereal: Capture Interfaces”对话框。

此对话框列出了本地计算机中存在的网络适配器。

单击“Details”按钮可以查看对应适配器的详细信息。

从上图中可以看出,本机可用适配器的IP地址为:10.0.1.94。

单击“Capture”按钮可以立即开始捕获网络数据包,单击“Prepare”按钮可以在经过详细设置后开始捕获网络数据包。

3.单击“Prepare”按钮,弹出“Ethereal: Capture Options”对话框。

此对话框列出了当前可用适配器、本地计算机IP地址、数据捕获缓冲区大小、是否采用混杂模式、捕获数据包最大长度限制、数据捕获过滤规则等配制参数。

4.单击“Start”按钮,网络数据包捕获开始,同时弹出“Ethereal: Capture from ……”对话框。

第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
பைடு நூலகம்

以太数据帧结构

以太数据帧结构
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

以太网(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。(前导码与帧前定界符不计入 帧头长度中)
IEEE802.3帧结构
帧前 帧校 前导 目的 源地 数据 定界 验字 长度 码 地址 址 字段 符 段 46~1 7B 1B 6B 6B 2B 4B 500B
Ethernet V2.0帧结构组成详解
1)前导码与帧前定界符字段 ) 2)目的地址和源地址字段 ) 3)类型字段 ) 4)数据字段 5)帧校验字段
数据字段
数据字段的组成: 数据字段的组成:长度在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

以太网帧结构详解

以太网帧结构详解

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

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模型不关注底层物理介质,主要关注终端之间的逻辑数据流转发。

常见以太网帧结构详解

常见以太网帧结构详解

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

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

以太网帧的结构如下: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),用于使帧长达到最小限制的要求。

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

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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机网络实验学院:计算机科学与信息工程学院班级:学号:2姓名:实验1 Ethernet帧结构解析1. 需求分析实验目的:掌握Ethernet帧各个字段的含义与帧接收过程;掌握Ethernet帧解析软件设计与编程方法;掌握Ethernet帧CRC校验算法原理与软件实现方法。

实验任务:实现帧解析的软件编程实验环境:1台PC机操作系统:Windows 7开发环境:Visual Studio 2010。

1.1问题重述根据给出的IEEE802.3格式的Ethernet帧结构,编写程序来解析并显示帧的各个字段值,并将得到的数据字段值组合写入输出文件。

Ethernet帧数据从输入文件获得,默认文件为二进制数据文件。

2概要设计2.1原理概述TCP/IP支持多种不同的链路层协议,这取决于网络所使用的硬件,如Ethernet,令牌环网,FDDI(Fiber Distributed Data Interface,光纤分布式数据接口)等。

基于不同的硬件的网络使用不同形式的帧结构,Ethernet是当今应用最广泛的局域网技术。

Ethernet V2.0的帧结构:1.前导码和帧前定界符。

字段前导码由56位(7B)的101010...1010比特序列组成,帧前定界符由一个8位的字节组成,其比特序列为10101011。

如果将前导码与帧前定界符一起看,那么在62位101010...1010比特序列之后出现11。

在这个11之后便是Ethernet帧的目的地址字段。

从Ethernet物理层角度看,接收电路从开始接收比特到进入稳定状态,需要一定的时间。

设计前62位1和0的交替比特序列的目的是保证接收电路在帧的目的地址到来之前到达正常状态。

接收端在收到最后两位11时,标志在他之后应该是帧的目的地址。

前导码与帧前定界符主要起到接收同步的作用,这8个字节接收后不需要保留,也不计入帧头长度。

2.目的地址和源地址。

目的地址与源地址分别表示帧的接收节点与发送节点的硬件地址。

硬件地址一般称作MAC地址,物理地址或Ethernet地址。

地址长度为6B(即48位)。

为了方便起见,通常使用十六进制数字书写。

Ethernet帧的目的地址可分为3种:●单播地址(unicast address):目的地址的第一位为0表示单播地址。

目的地址是单播地址,则表示该帧只被与目的地址相同的节点所接收●多播地址(multicast address):目的地址第一位为1表示多播地址。

目的地址是多播地址,则表示该帧被一组节点所接收。

●广播地址(broadcast address):目的地址全为1表示广播地址。

目的地址是广播地址,则表示该帧被所有所有节点接收。

3.类型字段类型字段表示的是网络层使用的协议类型。

常见的协议类型:0800表示网络层使用IP 协议,0806表示网络层使用ARP 协议,8137表示网络层使用Novell IPX 协议,809b 表示网络层使用Apple Talk 协议。

4. 数据字段IEEE 802.3协议规定数据的长度在46~1500B 之间。

如果数据的长度少于46B ,需要加填充字节,补充到46B 。

填充字节是任意的,不计入长度字段中。

帧头部分长度为18B ,包括6B 的目的地址字段,6B 的源地址字段,2B 的类型字段和4B 的帧校验和字段,而前导码与帧前界定符不计入帧头长度中,那 么,Ehternet 帧的最小长度为64B (46B+18B ),最大长度为1518B (1500B+18B )。

设置最小帧长度的一个目的是使每个接收节点 能够有足够的时间检测到冲突5. 帧校验字段帧校验字段FCS 采用32位CRC 校验。

校验的范围包括目的地址字段、源地址字段、长度字段、LLC 数据字段。

在接收端进行校验,如果发现错误,帧将被丢弃。

8位CRC 校验的生成多项式为:1)(128+++=x x x x G2. 2主要问题问题一:文件的读写操作由于Ethernet 帧数据需要从输入文件获得,而数据字段内容也需要写入输出文件,因此首先要完成对文件的相关操作。

问题二:解析帧的头部字段在完成Ethernet 帧解析的过程中,首先要进行的是帧头部的解析。

这是只需将前导码、帧前定界符、目标地址、眼地址、长度字段的值,根据每个字段的规定长度依次读取。

问题三:解析数据字段在进行帧的数据字段的解析过程中,需要注意的问题是数据字段的长度。

IEEE802.3标准规定帧数据字段的最小长度为46字节,最大长度为1500字节。

如果数据长度小于46字节,需要填充“0”来补足46字节,但这些“0”不计入长度字段。

3 详细设计#include"stdafx.h"#include<fstream>#include<iostream>#include<cstring>using namespace std;int _tmain(int argc, _TCHAR* argv[]){if(argc!=3){cout<<endl<<"请按一下格式输入命令行:FrameParse input_file output_file"<<endl;//return 1;}fstream outfile;outfile.open(argv[2],ios::in|ios::out|ios::binary|ios::trunc);fstream infile;infile.open(argv[1],ios::in|ios::binary/*|ios::trunc*/);if(!infile.is_open()){cout<<endl<<"无法打开文件"<<endl;return 1;}bool bframe=1;int nframes=0;int nframenum=0;int nframelen=0;while(bframe){nframenum++;cout<<endl<<"帧"<<nframenum<<"开始解析?"<<endl;nframes=infile.tellg();for(int i=0;i<7;i++)if(infile.get()!=0xaa){cout<<"没找到合法的帧?"<<endl;infile.close();return 1;}if(infile.get()!=0xab){cout<<"没找到合法的帧?"<<endl;infile.close();return 1;}infile.seekg(nframes,ios::beg);cout<<endl<<"前导码:";for(int i=0;i<7;i++)cout<<hex<<infile.get()<<dec<<"";cout<<endl<<"帧前定界符:";cout<<hex<<infile.get();cout<<endl<<"目的地址:";for(int i=0;i<6;i++){cout<<hex<<infile.get()<<dec;if(i!=5)cout<<"-";}cout<<endl<<"源地址:";for(int i=0;i<6;i++){cout<<hex<<infile.get()<<dec;if(i!=5)cout<<"-";}cout<<endl<<"长度字段:";cout<<hex<<infile.get()<<"";nframelen=infile.get();cout<<endl<<nframelen;char* data=new char[nframelen];infile.read(data,nframelen);outfile.write(data,nframelen);cout<<endl<<"数据字段:";for(int i=0;i<nframelen;i++)cout<<data[i];delete data;if(nframelen<100)bframe=false;if(nframelen<46)for(int i=0;i<46-nframelen;i++)infile.get();cout<<endl<<"帧校验字段:";for(int i=0;i<4;i++)cout<<hex<<infile.get()<<dec<<"";cout<<endl;}cout<<endl<<"帧全部解析完成¨¦"<<endl;outfile.close();infile.close();return 1;}4测试报告由于没有封装帧,所以提示“无法打开输入文件”5.2 使用说明由于界面十分简单,按按钮文字提示执行即可,就不多说了。

6 项目评价6.1 项目总结该课程设计根据计算机网络编程指导书来具体实行。

6.2 心得体会在做这个课程设计之前,对于帧的结构是一片空白,找资料也比较仓促,导致程序有许多不足的地方,总的来说,通过课程设计,使得知识更加牢固。

附录一:参考书目一.《计算机网络(第五版)》谢希仁著清华大学出版社二.《计算机网络软件编程指导书》。

相关文档
最新文档