各种不同以太网帧格式
以太网帧格式总结

以太网首部28字节ARP 数据包E T H _D S CE T H _S R C帧类型硬件类型协议类型硬件地址长度 协议地址长度OP 发送方以太网地址 发送方以太网IP 地址 接收方以太网地址 接收方IP 地址6 6 2 2 2 1 1 2 64 6 4 目的MAC 地址 (0xff BoardCast)源MAC 地址 ARP:0x0806 IP:0x0800 PPPoE:0x8864 硬件接口类型对于以太网MAC 为1 映射的协议地址类型。
IP 地址:0x08006 4ARP 数据包类型1:ARP_Request2:ARP_Acknowledge 3:RARP_Request4:RARP_AcknowledgeIP首部版本号 (4位) 首部长度 (4位)服务类型(TOS) (8位)总长度 (16位)标识(16位) 标志 (3位) 分片偏移量 (13位) 生存时间(TTL) (8位)协议 (8位)首部校验和 (16位)源IP地址(32位) 目的IP地址(32位) 选项字段(若存在)数据区数据报规定了首部的格式,却没有规定其后数据的格式,所以IP数据报可以用来运输任意类型的数据。
1、版本号 IPv4---4IPv6---62、首部长度 字为单位 该字段最大值15(15*4=60byte)。
3、服务类型 (Type of Service,TOS)当前IP数据报急需的服务类型:最小延时,最大吞吐量,最高可靠性,最小费 用等。
路由在转发时根据该字段选择最合理路径。
4、总长度 MTU限制5、16位标识字段用于标识IP层发送出去的每一份IP数据报,分片中用。
6、3位标志字段。
1:保留。
2:不分片位。
3:更多分片位。
7、13位偏移字段8、生存时间:该IP数据报最多能转发的次数。
9、协议:IP数据报上层来源。
1:ICMP。
2:IGMP。
6:TCP。
17:UDP。
10、首部校验:只针对IP首部校验。
16bits 16bits UDP首部 源端口号 目的端口号 总长度 校验和UDP数据区 数据区常见的TCP熟知端口: 熟知端口 协议 说明 0 ———— 保留7 Echo 报文回送服务器端口 20 FTP-DATA 文件传送协议(数据) 21 FTP 文件传送协议 23 TELNET 终端连接 25 SMTP 简单邮件传送协议 53 DNS 域名服务器 80 HTTP 万维网服务器 110 POP3 邮局协议版本3 1080 SOCKS代理服务器协议URG 首部中的紧急指针字段有效 ACK 首部中的确认序号字段有效 PSH 推送数据 RST 连接复位SYN 发起连接,同步序号 FIN 终止连接0 16 31TCP 首部源端口号(16位)目的端口号(16位) 序号(32位) 确认序号(32位)首部长度 (4位)保留 (6位)U R GA C K P S H R S T S Y N F I N窗口大小(16) 校验和(16位)紧急指针(16位) 选项和填充(如果有)TCP 数据区数据区。
常见以太网帧结构详解

常见以太网帧结构详解1 以太网相关背景以太网这个术语通常是指由DEC,Intel和Xerox公司在1982年联合公布的一个标准,它是当今TCP/IP采用的主要的局域网技术,它采用一种称作CSMA/CD的媒体接入方法。
几年后,IEEE802委员会公布了一个稍有不同的标准集,其中802。
3针对整个CSMA/CD网络,802。
4针对令牌总线网络,802.5针对令牌环网络;此三种帧的通用部分由802。
2标准来定义,也就是我们熟悉的802网络共有的逻辑链路控制(LLC)。
由于目前CSMA/CD的媒体接入方式占主流,因此本文仅对以太网和IEEE 802.3的帧格式作详细的分析。
在TCP/IP世界中,以太网IP数据报文的封装在RFC 894中定义,IEEE802。
3网络的IP数据报文封装在RFC 1042中定义。
标准规定:1)主机必须能发送和接收采用RFC 894(以太网)封装格式的分组;2)主机应该能接收RFC 1042(IEEE 802.3)封装格式的分组;3)主机可以发送采用RFC 1042(IEEE 802.3)封装格式的分组.如果主机能同时发送两种类型的分组数据,那么发送的分组必须是可以设置的,而且默认条件下必须是RFC 894(以太网)。
最常使用的封装格式是RFC 894定义的格式,俗称Ethernet II或者Ethernet DIX。
下面,我们就以Ethernet II称呼RFC 894定义的以太帧,以IEEE802。
3称呼RFC 1042定义的以太帧.2 帧格式Ethernet II和IEEE802。
3的帧格式分别如下。
Ethernet II帧格式:-—-—--———-—-————-—--—---——-—-—----------——-—------—-———-———--————-—--——--—-—--—-——-—---——-—---| 前序|目的地址 | 源地址 | 类型|数据|FCS |—-————-——--—-—-—-———-———-—---———-———-——---—---—-—-—-———--—-—---—--————----—-————------—-——-———| 8 byte | 6 byte | 6 byte | 2 byte | 46~1500 byte | 4 byte|IEEE802。
以太网帧格式、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 是⼀种⾯向连接的、可靠的协议,有点像打电话,双⽅拿起电话互通⾝份之后就建⽴了连接,然后说话就⾏了,这边说的话那边保证听得到,并且是按说话的顺序听到的,说完话挂机断开连接。
以太网数据帧的格式分析比较

一、 以太网数据帧的格式分析大家都知道我们目前的局域网大多数是以太网,但以太网有多种标准,其数据帧有多种格式,恐怕有许多人不是太清楚,本文的目的就是通过帧格式和Sniffer捕捉的数据包解码来区别它们。
以太网这个术语一般是指数字设备公司(Digital Equipment)、英特尔公司(Intel)和施乐公司(Xerox)在1982年联合公布的一个标准(实际上它是第二版本,第一版本早在1972年就在施乐公司帕洛阿尔托研究中心PARC里产生了)。
它是目前TCP/IP网络采用的主要的局域网技术。
它采用一种称作CSMA/CD的媒体接入方法,其意思是带冲突检测的载波侦听多路接入(Carrier Sense, Multiple Access with Collision Detection)。
它的速率为10 Mb/s,地址为48 bit。
1985年,IEEE(电子电气工程师协会) 802委员会公布了一个稍有不同的标准集,其中802.3针对整个CSMA/CD网络,802.4针对令牌总线网络,802.5针对令牌环网络。
这三者的共同特性由802.2标准来定义,那就是802网络共有的逻辑链路控制(LLC)。
不幸的是,802.2和802.3定义了一个与以太网不同的帧格式,加上1983年Novell为其Netware 开发的私有帧,这些给以太网造成了一定的混乱,也给我们学习以太网带来了一定的影响。
1、通用基础注:* VLAN Tag帧和Gigabit Jumbo帧可能会超过这个限制值图1-1图1-1中,数据链路层头(Header)是数据链路层的控制信息的长度不是固定的,根据以太网数据帧的格式的不同而不同,那么判断IEEE802.3、IEEE802.3 SNAP、Ethernet Version2、Netware 802.3 “Raw”这些数据帧的最主要依据也源于Header的变化。
从该图中也可以看出,Sniffer捕捉数据包的时候是掐头去尾的,不要前面的前导码,也丢弃后面的CRC校验(注意它只是不在Decode里显示该区域,但并不代表它不去做数据包CRC校验),这就是很多人困惑为什么Sniffer捕捉到的数据包长度跟实际长度不相符的原因。
以太网数据帧的格式分析比较

一、 以太网数据帧的格式分析大家都知道我们目前的局域网大多数是以太网,但以太网有多种标准,其数据帧有多种格式,恐怕有许多人不是太清楚,本文的目的就是通过帧格式和Sniffer捕捉的数据包解码来区别它们。
以太网这个术语一般是指数字设备公司(Digital Equipment)、英特尔公司(Intel)和施乐公司(Xerox)在1982年联合公布的一个标准(实际上它是第二版本,第一版本早在1972年就在施乐公司帕洛阿尔托研究中心PARC里产生了)。
它是目前TCP/IP网络采用的主要的局域网技术。
它采用一种称作CSMA/CD的媒体接入方法,其意思是带冲突检测的载波侦听多路接入(Carrier Sense, Multiple Access with Collision Detection)。
它的速率为10 Mb/s,地址为48 bit。
1985年,IEEE(电子电气工程师协会) 802委员会公布了一个稍有不同的标准集,其中802.3针对整个CSMA/CD网络,802.4针对令牌总线网络,802.5针对令牌环网络。
这三者的共同特性由802.2标准来定义,那就是802网络共有的逻辑链路控制(LLC)。
不幸的是,802.2和802.3定义了一个与以太网不同的帧格式,加上1983年Novell为其Netware 开发的私有帧,这些给以太网造成了一定的混乱,也给我们学习以太网带来了一定的影响。
1、通用基础注:* VLAN Tag帧和Gigabit Jumbo帧可能会超过这个限制值图1-1图1-1中,数据链路层头(Header)是数据链路层的控制信息的长度不是固定的,根据以太网数据帧的格式的不同而不同,那么判断IEEE802.3、IEEE802.3 SNAP、Ethernet Version2、Netware 802.3 “Raw”这些数据帧的最主要依据也源于Header的变化。
从该图中也可以看出,Sniffer捕捉数据包的时候是掐头去尾的,不要前面的前导码,也丢弃后面的CRC校验(注意它只是不在Decode里显示该区域,但并不代表它不去做数据包CRC校验),这就是很多人困惑为什么Sniffer捕捉到的数据包长度跟实际长度不相符的原因。
计算机网络协议,以太网帧格式

计算机⽹络协议,以太⽹帧格式以太⽹的MAC帧格式有好⼏种,被⼴泛应⽤的是DIX Ethernet V2标准,还有⼀种是IEEE的802.3标准,该标准经过了多年的发展,已经出现了很多种⼦标准。
DIX Ethernet V2 标准与 IEEE 的 802.3 标准只有很⼩的差别,因此可以将 802.3 局域⽹简称为“以太⽹”。
严格说来,“以太⽹”应当是指符合DIX Ethernet V2 标准的局域⽹⼀、DIX Ethernet V2(Ethernet II)1.帧结构2.字段分析=======================================================================================================源MAC地址 ===> 发送⽅的MAC地址=======================================================================================================⽬的MAC地址 ===> 接收⽅的MAC地址=======================================================================================================上层协议类型 ===> 该MAC数据报中包装的⽹络层数据报协议类型若该字段的值⼩于1518,那么这个字段就是长度字段,并定义后⾯的数据字段的长度。
若该字段的值⼤于1518,它就定义使⽤因特⽹服务的上层协议(⼩于0600H的值是⽤于IEEE802的,表⽰数据包的长度)具体协议类型可以参考如下两个表:表1:协议ID(Type)以太⽹协议0x0800Internet Protocol, Version 4(IPv4)0x0806Address Resolution Protocol(ARP)0x0842Wake-on-LAN Magic Packet0x1337SYN-3 Heartbeat Protocol(SYNdog)0x22F3IETF TRILL Protocol0x6003DECnet Phase IV0x8035Reverse Address Resolution Protocol(RARP)0x809B AppleTalk(Ethertalk)0x80F3AppleTalk Address Resolution Protocol(AARP)0x8100VLAN-tagged frame(IEEE 802.1Q)0x8137Novell IPX(alt)0x8138Novell0x8204QNX Qnet0x86DD Internet Protocol, Version 6(IPv6)0x8808MAC Control0x8809Slow Protocols(IEEE 802.3)0x8819CobraNet0x8847MPLS unicast0x8848MPLS multicast0x8863PPPoE Discovery Stage0x8864PPPoE Session Stage0x886F Microsoft NLB heartbeat0x8870Jumbo Frames0x887B HomePlug 1.0 MME0x888E EAP over LAN(IEEE 802.1X)0x888E EAP over LAN(IEEE 802.1X)协议ID(Type)以太⽹协议0x8892PROFINET Protocol0x889A HyperSCSI(SCSI over Ethernet)0x88A2ATA over Ethernet0x88A4EtherCat Protocol0x88A8Provider Bridging(IEEE 802.1ad)0x88AB Ethernet Powerlink0x88CC LLDP0x88CD sercos III0x88D8Circuit Emulation Services over Ethernet(MEF-8)0x88E1HomePlug AV MME0x88E3Media Redundancy Protocol(IEC62439-2)0x88E5MAC security(IEEE 802.1AE)0x88F7Precision Time Protocol(IEEE 1588)0x8902IEEE 802.1ag Connectivity Fault Management(CFM) Protocol / ITU-T Recommendation Y.1731(OAM) 0x8906Fibre Channel over Ethernet0x8914FCoE Initialization Protocol0x9000Configuration Test Protocol(Loop)0x9100Q-in-Q表2:以太类型值 (16 进制 )对应协议备注0x0000 - 0x05DC IEEE 802.3 长度0x0101 – 0x01FF实验0x0660XEROX NS IDP0x06610x0800DLOG0x0801X.75 Internet0x0802NBS Internet0x0803ECMA Internet0x0804Chaosnet0x0805X.25 Level 30x0806ARP0x0808帧中继ARP0x6559原始帧中继RFR0x8035动态 DARP,反向地址解析协议 RARP0x8037Novell Netware IPX0x809B EtherTalk0x80D5IBM SNA Services over Ethernet0x80F3AppleTalk 地址解析协议 AARP0x8100以太⽹⾃动保护开关 EAPS0x8137因特⽹包交换 IPX0x814C简单⽹络管理协议 SNMP0x86DD⽹际协议 v6 IPv6重要字段含义:Dest addr :以太⽹ OAM 报⽂的⽬的 MAC地址,为组播 MAC 地址 0180c2000002Source addr :以太⽹ OAM 报⽂的源 MAC地址,为发送端的桥 MAC 地址,该地址是⼀个单播 MAC地址Type :以太⽹ OAM 报⽂的协议类型,为0x8809Subtype :以太⽹ OAM 报⽂的协议⼦类型,为 0x030x8809OAM Flags : Flags 域,包含了以太⽹ OAM 实体的状态信息Code :本字段指明了 OAMPDU 的报⽂类型。
帧格式及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帧格式。
常见以太网帧结构详解

常见以太网帧结构详解以太网是一个常用的局域网技术,其数据传输是以帧的形式进行的。
以太网帧是以太网数据传输的基本单位,通过帧头、帧数据和帧尾等部分来描述有效载荷的数据。
以太网帧的结构如下: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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
各种不同以太网帧格式
利用抓包软件的来抓包的人,可能经常会被一些不同的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个字节,帧校验不变。
IEEE 802.3/802.2
802.3的Frame Header和Ethernet II的帧头有所不同,它把EthernetII 类型域变成了长度域(与Novell Ethernet相同)。
其中又引入802.2协议(LLC)在802.3帧头后面添加了一个LLC首部,由DSAP(Destination Service Access Point) 1 byte,SSAP(Source SAP) 1 byte,一个控制域 1 byte! SAP用于表示帧的上层协议。
Ethernet SNAP
Ethernet SNAP Frame与802.3/802.2 Frame的最大区别是增加了一个5 Bytes的SNAP ID,其中前面3个byte通常与源mac地址的前三个bytes相同,为厂商代码!有时也可设为0。
后2 bytes 与Ethernet II的类型域相同。
附上三种帧抓包图片:
Ethernet II:
IEEE 802.3 SAP:
IEEE 802.3 SNAP:
Ethernet II和IEEE802.3是局域网里最常见的帧:
Ethernet II可以装载的数据长度是46---1500;
IEEE802.3 SAP可以装装的数据长度是43---1497;
IEEE 802.3 SNAP可以装载的数据长度是38---1492.
Ethernet II不提供MAC层的数据填充功能;
IEEE802.3 SAP和SNAP都提供数据填充功能.
因些,我们可以得出这样的结论:
Ethernet II比IEEE802.3 SAP和SNAP更适合于传输大量的数据,但Ethernet II缺乏对数据链路层的控制,不利于传输需要严格传输控制的数据.
实际中,我们会发现,大多数应用程序的以太网数据包都是Ethernet II帧的(如HTTP/Telnet/FTP/SMTP/POP3等应用),而交换机之间的BPDU是采用
IEEE802.3 SAP帧,VLAN Trunk协议802.1Q和Cisco CDP都是采用IEEE802.3 SNAP 帧.。