判断以太网的帧格式类型
以太网帧类型速查

以太网帧类型2009年12月17日星期四下午 1:52以太网帧格式目前,有四种不同格式的以太网帧在使用,它们分别是:●Ethernet II即DIX 2.0:Xerox与DEC、Intel在1982年制定的以太网标准帧格式。
Cisco名称为:ARPA。
●Ethernet 802.3 raw:Novell在1983年公布的专用以太网标准帧格式。
Cisco名称为:Novell-Ether。
●Ethernet 802.3 SAP:IEEE在1985年公布的Ethernet 802.3的SAP版本以太网帧格式。
Cisco名称为:SAP。
●Ethernet 802.3 SNAP:IEEE在1985年公布的Ethernet 802.3的SNAP版本以太网帧格式。
Cisco名称为:SNAP。
在每种格式的以太网帧的开始处都有64比特(8字节)的前导字符,如图3所示。
其中,前7个字节称为前同步码(Preamble),内容是16进制数0xAA,最后1字节为帧起始标志符0xAB,它标识着以太网帧的开始。
前导字符的作用是使接收节点进行同步并做好接收数据帧的准备。
图3 以太网帧前导字符除此之外,不同格式的以太网帧的各字段定义都不相同,彼此也不兼容。
3.1 Ethernet II帧格式如图4所示,是Ethernet II类型以太网帧格式。
图4 Ethernet II帧格式Ethernet II类型以太网帧的最小长度为64字节(6+6+2+46+4),最大长度为1518字节(6+6+2+1500+4)。
其中前12字节分别标识出发送数据帧的源节点MAC地址和接收数据帧的目标节点MAC地址。
接下来的2个字节标识出以太网帧所携带的上层数据类型,如16进制数0x0800代表IP协议数据,16进制数0x809B代表AppleTalk协议数据,16进制数0x8138代表Novell类型协议数据等。
在不定长的数据字段后是4个字节的帧校验序列(Frame Check Sequence,FCS),采用32位CRC循环冗余校验对从"目标MAC地址"字段到"数据"字段的数据进行校验。
各种不同以太网帧格式

各种不同以太网帧格式利用抓包软件的来抓包的人,可能经常会被一些不同的Frame Header搞糊涂,为何用的Frame的Header是这样的,而另外的又不一样。
这是因为在Ethernet中存在几种不同的帧格式,下面我就简单介绍一下几种不同的帧格式及他们的差异。
一、Ethernet帧格式的发展1980 DEC,Intel,Xerox制订了Ethernet I的标准;1982 DEC,Intel,Xerox又制订了Ehternet II的标准;1982 IEEE开始研究Ethernet的国际标准802.3;1983迫不及待的Novell基于IEEE的802.3的原始版开发了专用的Ethernet帧格式;1985 IEEE推出IEEE 802.3规范;后来为解决EthernetII与802.3帧格式的兼容问题推出折衷的Ethernet SNAP格式。
(其中早期的Ethernet I已经完全被其他帧格式取代了所以现在Ethernet只能见到后面几种Ethernet的帧格式现在大部分的网络设备都支持这几种Ethernet 的帧格式如:cisco的路由器在设定Ethernet接口时可以指定不同的以太网的帧格式:arpa,sap,snap,novell-ether)二、各种不同的帧格式下面介绍一下各个帧格式Ethernet II是DIX以太网联盟推出的,它由6个字节的目的MAC地址,6个字节的源MAC地址,2个字节的类型域(用于表示装在这个Frame、里面数据的类型),以上为Frame Header,接下来是46--1500 字节的数据,和4字节的帧校验)Novell Ethernet它的帧头与Ethernet有所不同其中EthernetII帧头中的类型域变成了长度域,后面接着的两个字节为0xFFFF用于标示这个帧是Novell Ether类型的Frame,由于前面的0xFFFF站掉了两个字节所以数据域缩小为44-1498个字节,帧校验不变。
以太网帧格式、IP报文格式、TCPUDP报文格式

以太⽹帧格式、IP报⽂格式、TCPUDP报⽂格式1、ISO开放系统有以下⼏层:7应⽤层6表⽰层5会话层4传输层3⽹络层2数据链路层1物理层2、TCP/IP ⽹络协议栈分为应⽤层(Application)、传输层(Transport)、⽹络层(Network)和链路层(Link)四层。
通信过程中,每层协议都要加上⼀个数据⾸部(header),称为封装(Encapsulation),如下图所⽰不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在⽹络层叫做数据报(datagram),在链路层叫做帧(frame)。
数据封装成帧后发到传输介质上,到达⽬的主机后每层协议再剥掉相应的⾸部,最后将应⽤层数据交给应⽤程序处理。
其实在链路层之下还有物理层,指的是电信号的传递⽅式,⽐如现在以太⽹通⽤的⽹线(双绞线)、早期以太⽹采⽤的的同轴电缆(现在主要⽤于有线电视)、光纤等都属于物理层的概念。
3、集线器(Hub)是⼯作在物理层的⽹络设备,⽤于双绞线的连接和信号中继(将已衰减的信号再次放⼤使之传得更远)。
交换机是⼯作在链路层的⽹络设备,可以在不同的链路层⽹络之间转发数据帧(⽐如⼗兆以太⽹和百兆以太⽹之间、以太⽹和令牌环⽹之间),由于不同链路层的帧格式不同,交换机要将进来的数据包拆掉链路层⾸部重新封装之后再转发。
路由器是⼯作在第三层的⽹络设备,同时兼有交换机的功能,可以在不同的链路层接⼝之间转发数据包,因此路由器需要将进来的数据包拆掉⽹络层和链路层两层⾸部并重新封装。
4、⽹络层的IP 协议是构成Internet 的基础。
IP 协议不保证传输的可靠性,数据包在传输过程中可能丢失,可靠性可以在上层协议或应⽤程序中提供⽀持。
传输层可选择TCP 或UDP 协议。
TCP 是⼀种⾯向连接的、可靠的协议,有点像打电话,双⽅拿起电话互通⾝份之后就建⽴了连接,然后说话就⾏了,这边说的话那边保证听得到,并且是按说话的顺序听到的,说完话挂机断开连接。
以太网最大帧长 最小帧长

在传统以太网中,为什么要有最小帧长度和最大帧长度的限制?以太网(IEEE 802.3)帧格式:1、前导码:7字节0x55,一串1、0间隔,用于信号同步2、帧起始定界符:1字节0xD5(10101011),表示一帧开始3、DA(目的MAC):6字节4、SA(源MAC):6字节5、类型/长度:2字节,0~1500保留为长度域值,1536~65535保留为类型域值(0x0600~0xFFFF)6、数据:46~1500字节7、帧校验序列(FCS):4字节,使用CRC计算从目的MAC到数据域这部分内容而得到的校验和。
以CSMA/CD作为MAC算法的一类LAN称为以太网。
CSMA/CD冲突避免的方法:先听后发、边听边发、随机延迟后重发。
一旦发生冲突,必须让每台主机都能检测到。
关于最小发送间隙和最小帧长的规定也是为了避免冲突。
考虑如下的情况,主机发送的帧很小,而两台冲突主机相距很远。
在主机A发送的帧传输到B的前一刻,B开始发送帧。
这样,当A的帧到达B时,B检测到冲突,于是发送冲突信号。
假如在B的冲突信号传输到A之前,A的帧已经发送完毕,那么A将检测不到冲突而误认为已发送成功。
由于信号传播是有时延的,因此检测冲突也需要一定的时间。
这也是为什么必须有个最小帧长的限制。
按照标准,10Mbps以太网采用中继器时,连接的最大长度是2500米,最多经过4个中继器,因此规定对10Mbps以太网一帧的最小发送时间为51.2微秒。
这段时间所能传输的数据为512位,因此也称该时间为512位时。
这个时间定义为以太网时隙,或冲突时槽。
512位=64字节,这就是以太网帧最小64字节的原因。
512位时是主机捕获信道的时间。
如果某主机发送一个帧的64字节仍无冲突,以后也就不会再发生冲突了,称此主机捕获了信道。
由于信道是所有主机共享的,如果数据帧太长就会出现有的主机长时间不能发送数据,而且有的发送数据可能超出接收端的缓冲区大小,造成缓冲溢出。
以太网帧的2种格式

以太网帧与i eee 802.3帧分类:proto col 2009-11-0417:50 1258人阅读评论(0)收藏举报sapc isco网络head eracc essap pleh ttp://zhid ao.ba idu.c om/qu estio n/93567501.htmlhttp://bl og.cs dn.ne t/wzw200/a rchiv e/2009/07/23/4373056.aspx浅谈以太网帧格式一、E thern et帧格式的发展1980 DEC,Intel,Xero x制订了E thern et I的标准1982 D EC,In tel,X erox又制订了Eh terne t II的标准1982 I EEE开始研究Eth ernet的国际标准802.31983 迫不及待的Nov ell基于IEEE的802.3的原始版开发了专用的Ether net帧格式1985 IE EE推出I EEE 802.3规范,后来为解决Eth ernet II与802.3帧格式的兼容问题, 推出折衷的Et herne t SNA P格式(其中早期的Eth ernet I已经完全被其他帧格式取代了 ,所以现在Ethe rnet只能见到后面几种Eth ernet的帧格式,现在大部分的网络设备都支持这几种Eth ernet的帧格式,如:ci sco的路由器再设定Ether net接口时可以指定不同的以太网的帧格式:arpa,sap,snap,novel l-eth er) 二.各种不同的帧格式下面介绍一下各个帧格式1.E thern et II就是D IX以太网联盟推出的。
以太数据帧结构

二进制 模二除法
二进制 余数
余数不够 高位 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
帧格式及IP,TCP,UDP,ICMP报文格式

以太网数据格式与各种报文格式一、数据封装当我们应用程序用TCP传输数据的时候,数据被送入协议栈中,然后逐个通过每一层,知道最后到物理层数据转换成比特流,送入网络。
而再这个过程中,每一层都会对要发送的数据加一些首部信息。
整个过程如下图。
如图可以看出,每一层数据是由上一层数据+本层首部信息组成的,其中每一层的数据,称为本层的协议数据单元,即PDU.应用层数据在传输层添加TCP报头后得到的PDU被称为Segment(数据段),图示为TCP段传输层的数据(TCP段)传给网络层,网络层添加IP报头得到的PDU被称为Packet(数据包); 图示为IP数据包网络层数据报(IP数据包)被传递到数据链路层,封装数据链路层报头得到的PDU被称为Frame(数据帧),图示为以太网帧。
最后,帧被转换为比特,通过网络介质传输。
这种协议栈逐层向下传递数据,并添加报头和报尾的过程称为封装。
二、数据格式需要注意的是,这里所说的以太网帧,与我们常说的以太网是不一样的。
下面我们就来介绍每一层数据的首部信息内容。
首先我们知道世界上有个协会叫作IEEE,即电子工程师协会,里面有个分会,叫作IEEE802委员会,是专门来制定局域网各种标准的。
而802下面还有个分部,叫作802.3.就是我们经常提到的IEEE802.3,这个部门制定的规范叫以太网规范,这个以太网规范中就定义了上面提到的“以太网首部”,这个以太网规范,实际只定义了数据链路层中的MAC层和物理层规范。
(注意数据链路层包括MAC子层和LLC子以太网帧格式:以太网常用帧格式有两种,一种是Ethernet II,另一种是IEEE 802.3 格式。
这两种格式区别是:Ethernet II中包含一个Type字段,。
其中Type字段描述了,以太网首部后面所跟数据包的类型,例如Type为0x8000时为IP协议包,Type为8060时,后面为ARP协议包。
以太网中多数数据帧使用的是Ethernet II帧格式。
以太网帧结构详解

以太⽹帧结构详解⽹络通信协议⼀般地,关注于逻辑数据关系的协议通常被称为上层协议,⽽关注于物理数据流的协议通常被称为低层协议。
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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
判断以太网的帧格式类型
使用软件:softperfect network sniffer
网络信号获取:自己的笔记本上的
结论:自己电脑上的以太网帧格式是Nthernet V2.
遇到的困惑
1、 昨天晚上(3月12日)弄了两三个小时的网络帧格式判断,数据是得到了,但
是总是不知道从什么地方开始分析。
好不容易上了网了,却发现自己的数据和
网上搜到的网络数据是不一样的,怎么也找不到开始的8个字节的前导数据和
结尾的4个字节的FCS 数据,然后就根本不知道从哪里去分析了。
2、 面对着一大片的捕获的数据,根本就不知道以什么为判断依据去分析。
网络资料的帮助
1、 sniffer 软件捕获的只是去头去尾的数据,所以没有了一贯的前导码和FCS 数据。
2、 判断以太网的帧格式类型主要依据是DLC 源地址域后面的十六进制数据:
i. Ethernet V2是通过DLC 头两个字节的类型(Type )的字段来辨别处理的。
类型字段是用来指定上层协议的(0800指IP,0806指ARP ),它的值一定
大于05FF.
在offset 处的数据中,观察其两个字节,如果是含有等于FFFF 的,那么这是Novel 802.3 raw 的标准值;如果含有的是AAAA,则是802.3 SNAP ;否则,这个数据就是属于802.3的。
下面以我在自己电脑上捕获的数据进行一点说明。
由于捕获到的数据的类型处的数据为0806大于05FF ,所以,这个帧格式是
Nthernet V2.。