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
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)的帧结构
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
பைடு நூலகம்
以太数据帧结构
二进制 模二除法
二进制 余数
余数不够 高位 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)的帧结构
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),用于使帧长达到最小限制的要求。
以上是以太网帧的常见结构,它描述了以太网帧的各个部分的作用和位置。
了解以太网帧的结构对于理解以太网的工作原理和网络通信非常重要。
Ethernet帧详解
Ethernet帧详解一、Ethernet帧发展史:1.1980年DEC、Inter、Xerox制订了Ethernet I标准;2.1982年DEC、Inter、Xerox又制订了Ethernet II标准,即DIX 2.0,Cisco称为ARPA;3.1982年IEEE开始研究Ethernet的国际标准802.3;4.1983年Noverll公布了专用以太网标准帧格式,Cisco称为Novell-Ether;5.1985年IEEE公布Ethernet 802.3的SAP版本以太网帧格式,Cisco称为:SAP;6.1985年IEEE公布Ethernet 802.3的SNAP版本以太网帧格式,Cisco称为:SNAP;二、Ethernet四种帧格式:目前,Ethernet有四种不同格式的以太网帧在使用,它们分别是:1.Ethernet IIEthernet II即DIX2.0,由DEC、Inter和Xerox在1982年公布的标准。
主要更改了Ethernet I的电气特性和物理接口,在帧格式上并无变化。
Ethernet II出现后迅速取代Ethernet I成为以太网标准。
Cisco名称为ARPA。
帧格式:报头8+目标地址6+源地址6+类型2+数据46-1500+帧检验序列4(1)报头:8个字节,前7个为0、1交替的字节(10101010)用来同步接收站,一个10101011字节指出帧的开始位置。
报头提供接收器同步和帧定界服务。
(2)目标地址:6个字节,单播、多播或者广播。
广播地址全为(0xffffffffffff)。
(3)源地址:6个字节,指出发送节点的单点广播地址。
(4)类型:2个字节,用来指出以太网帧所携带的上层数据类型。
即帧格式的协议标识符(0x0800代表IP报文,0x0806代表ARP)。
(5)数据:由一个上层协议的协议数据单元PDU构成。
可以发送的最大有效负载是1500字节。
由于以太网的冲突检测特性,有效负载至少是46个字节。
3、Ethernet II 分析
实验三一、实验名称:分析Ethernet II帧二、实验目的:(1)掌握使用wireshark分析俘获的踪迹文件的基本技能);(2)深刻理解Ethernet II帧结构三、实验内容和要求:(1)分析俘获的或踪迹文件的Ethernet II帧结构(2)分析以太网帧结构四、实验环境:win7下wireshark环境五、实验步骤:查看自己主机的ip地址和mac(物理)地址(一)、分析俘获的或踪迹文件的基本操作用wireshark俘获踪迹文件取2号帧进行分析,将Frame这个标志点击开,可以观察有关Frame 的信息,包括了接口id下图黄色标记部分,帧到达的时间,等信息点击Ethernet II可以观察Ethernet II的内容,同样的点开其他选项就可以观察他们的具体内容了,它显示了Ethernet II帧的源地址和目的地址,以及Ethernet II帧的类型它是包含了ip数据报的帧。
点击Protocol Version4可以观察Protocol Version4的内容,我们可以看到ip的源地址和目的地址,以及ip的版本是4,并且其头的长度为20个字节。
点击User Datagram Protocol 可以观察User Datagram Protocol 的内容,显示了源端口号,还有目的端口号,以及udp协议的长度,和包头检验和的结果(checksum)最后点开Data可以观察Data的内容,可以看出Data的长度为49以上操作完成俘获踪迹文件并且可以到各个目录下查看俘获的帧的具体信息,包括帧接受的时间,帧的源ip地址,目的ip地址,帧传输所使用的协议,帧的长度以及源端口和目的端口;也可以观察Frame、Ethernet II、Internet Protocol Version4等的具体信息,对wireshark的使用有了基本的能力。
(二)分析以太网Ethernet II帧结构进行ping操作用Wireshark抓包,获得了多组ping请求/回应数据包,其中的一组ping请求/回应帧如下图:其中的一组ping请求/回应帧如下图:点开Ethernet II观察他的内容观察到目的mac地址和源mac地址,观察它的Ethernet II结构,参照自己之前的截图可知,目的mac地址就是电脑本机的mac地址,并且以太类型字段中是0x0800,表示该帧封装了ip数据报六、实验数据记录和结果分析通过对Ethernet II进行分析可以看出目的mac地址和源mac地址都是6个字节,有2字节表示其类型Ethernet II 类型以太网的帧结构:6个字节 6个字节46~1500字节 4字节七、实验体会、质疑和建议本次实验我掌握了俘获踪迹文件的基本能力,也对Ethernet II 帧结构进行了简单的分析,对于以太类型字段我进行了百度,得知了它标示了封装该帧数据中较高层的协议,例如:我实验中Ethernet II Type 为0x0800表示包含了ipV4数据报,若Ethernet II Type 为0x0806表示包含了ARP 帧,若Ethernet II Type 为0x86DD 则表示包含了ipV6数据报。
列出ethernet v2标准的数据帧的5个字段
列出ethernet v2标准的数据帧的5个字段
以太网V2 标准的数据帧通常包括以下五个字段:
1. 目的地址(Destination Address):占用6 个字节,表示数据帧的目的MAC 地址,即数据帧应该被发送到的目标设备的MAC 地址。
2. 源地址(Source Address):占用6 个字节,表示数据帧的源MAC 地址,即发送数据帧的设备的MAC 地址。
3. 类型/长度(Type/Length):占用2 个字节,用于指示数据帧中数据部分的类型或长度。
当该字段的值大于0x05DC(即1500),表示该字段表示数据的类型,当该字段的值小于等于0x05DC,则表示该字段表示数据的长度。
4. 数据(Data):占用最少46 个字节,最多1500 个字节,包含了实际的数据内容。
5. 帧校验序列(Frame Check Sequence,FCS):占用4 个字节,用于存储数据帧的差错校验码,通常使用CRC 校验算法计算得出。
这些字段构成了以太网V2 标准的数据帧的基本结构。
在实际数据帧中,还可能包括其他一些字段,如VLAN 标签、帧间隔等,但上述五个字段是构成以太网V2 数据帧的基本要素。
需要注意的是,以太网数据帧的具体结构可能会因不同的以太网标准(如以太网II、IEEE 802.3)而有所不同,上述描述是针对以太网V2 标准的数据帧。
数字传输系统帧结构
数字传输系统帧结构数字传输系统的帧结构可以根据不同的协议和应用而有所不同。
以下是一般数字传输系统的常见帧结构:1. SDH(同步数字系列层次结构)帧结构:SDH是一种同步光纤传输技术,它的帧结构包括多个层次。
其中,最常见的SDH帧结构是STM-1(Synchronous Transport Module level-1),它的帧周期是125微秒。
STM-1帧结构如下:```- 9行270 列的容器(Container)- 3行90 列的终端传输容器(Tributary Unit)```2. SONET(同步光网络)帧结构:SONET是SDH的北美版本,其帧结构也有多个层次。
最常见的SONET帧结构是STS-1(Synchronous Transport Signal level-1),它的帧周期是125微秒。
STS-1帧结构如下:```- 3个12行90 列的VT(Virtual Tributary)容器- 1个9行90 列的STU(Synchronous Transport Unit)容器```3. Ethernet 帧结构:在以太网中,数据帧的结构是最为常见的。
一个标准的以太网帧结构如下:```-前导码:标志着数据帧的开始-目的MAC地址:接收数据的设备MAC地址-源MAC地址:发送数据的设备MAC地址-长度/类型字段:指示数据字段长度或指明上层协议类型-数据字段:携带传输的数据-帧校验序列:用于检测数据传输过程中的错误```需要注意的是,不同的数字传输系统和网络协议会有不同的帧结构,而且不同的帧结构适用于不同的数据传输需求。
上述提到的帧结构仅仅是其中的一部分,具体的帧结构会根据传输系统的要求和协议规范来设计。
Ethernet 帧格式分析文档及结果报告
数据域:到此为止,以太网帧的头就完了,之后为数据域。
0000 01 00 5e 7f ff fa 00 1a 80 ef c7 2d 08 00 45 00 ..^..... ...-..E.
在不定长的数据字段后是4个字节的帧校验序列(Frame. Check Sequence,FCS),采用32位CRC循环冗余校验对从"目标MAC地址"字段到"数据"字段的数据进行校验。
在包分析的时候并没有先导域和校验码,是由于在物理层向数据链路层递交数据时会将FCS和先导域抛弃导致的。
五、帧格式分析
A.
20 a9 00 3d c8 51 88 de 45 d7 ad 00 50 c0 5e 9c 90 ..=.Q..E ...P.^..
0030 bf 53 7c 67 39 c8 80 10 0c 18 70 4e 00 00 01 01 .S|g9... ..pN....
0040 08 0a b1 bd cf f2 00 03 20 5c a9 61 87 11 4d ce ........ \.a..M.
|前序|帧起始定界符|目的地址|源地址|长度|数据| FCS |
------------------------------------------------------------------------------------------------------------
| 7 byte | 1 byte | 2/6 byte | 2/6 byte | 2 byte | 46~1500 byte | 4 byte |
以太网帧格式分析
的IP,而MAC地址是伪造的,则当A接收到伪造的ARP应答后,就会更新本地的ARP缓存,这样在A 看来B的IP地址没有变,而它的MAC地址已经不是原来那个了。
由于局域网的网络流通不是根据IP地址进行,而是按照MAC地址进行传输。
所以,那个伪造出来的MAC地址在A上被改变成一个不存在的MAC地址,这样就会造成网络不通,导致A不能Ping通B!这就是一个简单的ARP欺骗。
【实验体会】这次实验最大的感触是体会到了网络通信过程的趣味性。
在做ping同学IP的实验时,我发现抓到的包之间有紧密的联系,相互的应答过程很像实际生活中人们之间的对话。
尤其是ARP帧,为了获得对方的MAC地址,乐此不疲地在网络中广播“谁有IP为XXX的主机?”,如果运气好,会收到网桥中某个路由器发来的回复“我知道,XXX的MAC地址是YYY!”。
另外,通过ping同学主机的实验,以及对实验过程中问题的分析,使我对之前模糊不清的一些概念有了全面的认识,如交换机、路由器的区别与功能,局域网各层次的传输顺序与规则等。
还有一点就是,Wireshark不是万能的,也会有错误、不全面的地方,这时更考验我们的理论分析与实践论证能力。
成绩优良中及格不及格教师签名:日期:【实验作业】1 观察并分析通常的以太网帧1.1 以太网帧格式目前主要有两种格式的以太网帧:Ethernet II(DIX 2.0)和IEEE 802.3。
我们接触过的IP、ARP、EAP和QICQ协议使用Ethernet II帧结构,而STP协议则使用IEEE 802.3帧结构。
Ethernet II是由Xerox与DEC、Intel(DIX)在1982年制定的以太网标准帧格式,后来被定义在RFC894中。
IEEE 802.3是IEEE 802委员会在1985年公布的以太网标准封装结构(可以看出二者时间相差不多,竞争激烈),RFC1042规定了该标准(但终究二者都写进了IAB管理的RFC文档中)。
常见以太网错误帧的解释
常见以太网错误帧的解释1 引言我们在测试中经常会听到各种以太网帧术语,比如说CRC,Alignment,Fragment,超小帧(Runt),超长帧(oversize),Jabber帧, Jumbo帧等。
很多初学者对这些概念不清楚,我在此想对这些术语做些总结。
首先介绍一些基本的概念然后再做关于错误的介绍。
2 以太网帧基本概念以太网主要有两种帧结构Ethernet II帧和IEEE 802.3帧:Preamble : 称前导符, 由0,1 交替组成的7字节, 通知目的地准备接收SOF: 帧首定界字符, 由两个连续的代码1结尾, 标识一帧的开始Destination Adress & Source Adress:目的MAC地址\源MAC地址,可以是单播,组播或广播地址;Type\Length:type表明数据域类型长度;Length表明紧随其后数据段的字节数。
该值的大小区分Ethernet II帧和IEEE 802.3帧大于1500:类型域中数值大于1500的帧是Ethernet II帧,该域中的值最小为1536 (600 hex)。
小于等于1500:长度域中数值小于等于1500的帧是IEEE 802.3帧, 该域中的值最大为1500。
DATA: 数据段, 以太网的字节传输最大值是1518 bytes(未启用Jumbo),最小值是64 bytes,数据包中的字节数必须要能被8整除。
FCS : 帧校验,该序列为4个字节的循环冗余校验CRC, 发送方按一定计算方式产生,接收方对接收到的数据用同样的方式计算并将得到的校验码和接收到的校验码比较,如果一致认为传输正确.。
Jumbo帧:伴随着以太网速率的提高,千兆以太网的产生而提出了Jumbo帧.也称巨型帧即字节数大于1518字节的帧. 现在的单板TGE,SEC,RSEB\RSEA, MSEB\MSEA都有支持Jumbo帧的配置选项. MSEB单板最大支持的帧长可以达到64kbyte(需求只要求9600byte).3 以太网CRC实现在传输系统中,为了保证数据传输的正确性, 对传输过程进行差错控制, 循环冗余校验(CRC)就是一种差错控制机制.循环冗余码是建立在近世代数基础上的,编解码电路简单,检错能力强。
以太网之帧结构
以太网的帧结构分两种:第一种是Ethernet_II的帧结构,如下图所示:| DMAC(6byte) | SMAC(6byte) | Type(2byte) | Data(46~1500byte) | CRC(4byte) |DMAC:指(destination mac)目的地址,即是接收信息设备的物理地址。
SMAC:指(source MAC)源地址,即是发送信息设备的物理地址。
Type:用来标识data字段中包含的高层协议,即是通告接收信息的设备如何解释该数据字段(数据的封装都是从应用层到低层逐渐添加的,在数据链路层以上的数据都封装在了data字段中)。
其中:(1)IP协议帧该字段为0800(2)ARP协议帧该字段为0806(3)RARP协议帧该字段为0835(4)IPX和SPX协议帧该字段为8137。
Data:数据字段,上层下到本层的数据都被包含到了这里面。
前面讲到,它必须大于46字节,但必须小于1500字节。
CRC:(Cyclic Redundancy CHeck)即是循环冗余校验字段。
发送数据的设备会提供一个包含MAC字段、Type字段、Data字段的CRC码,然后计算出CRC 码填入到该处,起到错误检测控制的功能。
第二种是IEEE802.3的帧结构,如下如所示:| DMAC(6byte) | SMAC(6byte) | Length(2byte)|llC(3byte) |Data(43~1497byte) | CRC(4byte) |DMAC、SMAC、Data和CRC字段不再赘述。
这种帧结构用length字段替代了type字段,并从Data字段中划出了3byte 作为LLC字段,作为服务访问点(SAP)的新区域来解决识别上层协议的问题。
Length:即是长度字段,记录Data字段的长度。
LLC:由目的服务访问点DSAP(Destination Service Access Point)、源服务访问点SSAP(Source Service Access Point)和Control字段组成,分别占有1byte。
以太网帧格式
以太网帧格式详解Etherne II报头8 目标地址6 源地址6 以太类型2 有效负载46-1500 帧检验序列4 报头:8个字节,前7个0,1交替的字节(10101010)用来同步接收站,一个1010101011字节指出帧的开始位置。
报头提供接收器同步和帧定界服务。
目标地址:6个字节,单播、多播或者广播。
单播地址也叫个人、物理、硬件或MAC地址。
广播地址全为1,0xFF FF FF FF。
源地址:6个字节。
指出发送节点的单点广播地址。
以太网类型:2个字节,用来指出以太网帧内所含的上层协议。
即帧格式的协议标识符。
对于IP报文来说,该字段值是0x0800。
对于ARP信息来说,以太类型字段的值是0x0806。
有效负载:由一个上层协议的协议数据单元PDU构成。
可以发送的最大有效负载是1500字节。
由于以太网的冲突检测特性,有效负载至少是46个字节。
如果上层协议数据单元长度少于46个字节,必须增补到46个字节。
帧检验序列:4个字节。
验证比特完整性。
IEEE 802.3根据IEEE802.2 和802.3标准创建的,由一个IEEE802.3报头和报尾以及一个802.2LLC报头组成。
报头7 起始限定符1 目标地址6(2)源地址6(2)长度2 DSAP1 SSAP1 控件2 有效负载3 帧检验序列4-----------802.3报头--------------§---802.2报头----§ §-802.3报尾-§IEEE802.3报头和报尾报头:7个字节,同步接收站。
位序列10101010起始限定符:1个字节,帧开始位置的位序列10101011。
报头+起始限定符=Ethernet II的报头目标地址:同Ethernet II。
也可以为2个字节,很少用。
源地址:同Ethernet II。
也可以为2个字节,很少用。
长度:2个字节。
帧检验序列:4个字节。
IEEE802.2 LLC报头DSAP:1个字节,指出帧的目标节点的上层协议。
第二次作业Ethernet帧结构解析
第二次作业Ethernet帧结构解析1.背景知识帧是网络通信的大体传输单元,熟悉帧结构对于理解网络协议的概念、协议执行进程和网络层次结构具有重要的意义。
本次作业的目的是应用数据链路层与介质访问控制子层的知识,按照数据链路层的大体原理,通过解析已封装好的Ethernet帧,了解Ethernet帧结构的各个字段的含义,从而深切理解Internet协议族中的最底层协议——数据链路层协议。
1980年,Xerox、DEC与Intel等三家公司合作,第一次发布了Ethernet的物理层、数据链路层规范;1981年Ethernet 规范发布;IEEE 标准是在Ethernet 规范的基础上制定的,IEEE 针对整个CSMA/CD网络,它的制定推动了Ethernet技术的进展和普遍应用。
Ethernet 规范和标准中的Ethernet帧结构有一些不同,这里咱们按标准的帧结构进行讨论。
图2-1给出了Ethernet帧结构图。
图1-1 Ethernet帧结构如上图所示,标准的Ethernet帧结构由6部份组成。
1)前导码和帧前定界符字段前导码由56位(7B)的…1010比特序列组成,帧前定界符由一个8位的字节组成,其比特序列为。
前导码与帧前定界符主要起到接收同步的作用,这8个字节接收后不需要保留,也不计入帧头长度中。
2)目的地址和源地址目的地址与源地址均别离表示帧的接收结点与发送结点的硬件地址。
硬件地址一般称作MAC地址或物理地址。
在Ethernet帧中,目的地址和源地址字段长度能够是2B或6B。
初期的Ethernet曾经利用过2B长度的地址,可是目前所有的Ethernet都利用6B(即48位)长度的地址。
为了方便起见,通常利用16进制数书写(例如,00-13-d3-a2-42-a8)。
3)长度字段标准中的帧用2B 概念了数据字段包括的字节数。
长度字段描述了LLC 数据的实际长度。
4) LLC 数据字段协议规定LLC 数据的长度在46B 与1500B 之间。
实验3 分析Ethernet II帧
实验3 分析Ethernet II帧1.实验目的:1)掌握使用Wireshark分析俘获的踪迹文件的基本技能;2)深刻理解Ethernet II帧结构。
2.实验内容:1)分析俘获的或踪迹文件中的Ethernet II帧结构;2)分析以太帧结构。
3.实验环境:1)Win7x86便携式笔记本;2)Realtek PCIe GBE Family Controller;3)Wireshark 1.11.2。
4.实验步骤:1)用Wireshark 俘获网络上收发分组或者打开踪迹文件,选取感兴趣的帧进行分析。
如图选取地141号帧进行分析。
在首部细节信息栏中,可以看到有关该帧到达时间、帧编号、帧长度、帧中协议和着色方案等信息。
为了进一步分析Ethernet II帧结构,点击首部细节信息栏中的“Ethernet II”行,有关信息如下图所示:其中看到源MAC地址为(f0:4d:a22:42:47:bc),目的MAC地址为(6c:e8:73:1e:37:5e);以太类型字段中值为0x0800,表示该帧封装了IP数据报;以及MAC地址分配的相关信息。
2)分析以太帧结构将计算机联入网络,打开Wireshark俘获分组,从本机向选定的Web服务器发送Ping报文。
回答下列问题:(1)本机的48比特以太网MAC地址是什么?(2)以太帧中目的MAC地址是什么?它是你选定的远地Web服务器Mac地址吗?那么,该地址是什么设备的MAC地址呢?(3)给出2字节以太类型字段的十六进制的值。
它表示以太帧包含了什么样的协议?上网查找如果期中封装的IPv6协议,其值应为多少?用本机Ping报文,用CMD使用命令ping –t发送Ping报文接下来用wireshark俘获报文本机的48比特以太网MAC地址是f0:4d:a22:42:47:bc以太网帧目的地址6c:e8:73:1e:37:5e,不是选定的远地Web服务器MAC地址,是IP包下一跳所要到达的网络设备的MAC地址。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 心得体会在做这个课程设计之前,对于帧的结构是一片空白,找资料也比较仓促,导致程序有许多不足的地方,总的来说,通过课程设计,使得知识更加牢固。
附录一:参考书目一.《计算机网络(第五版)》谢希仁著清华大学出版社二.《计算机网络软件编程指导书》。