EtherType :以太网类型字段及值
Ethernet II即DIX 2.0:Xerox与DEC、Intel在1982年制定的以太网标准帧格式。Cisco名称为:ARPA
Ethernet II类型以太网帧的最小长度为64字节(6+6+2+46+4),最大长度为1518字节(6+6+2+1500+4)。其中前12字节分别标识出发送数据帧的源节点MAC地址和接收数据帧的目标节点MAC地址。(注:ISL封装后可达1548字节,802.1Q封装后可达1522字节)
接下来的2个字节标识出以太网帧所携带的上层数据类型,如下:
IPv4: 0x0800
ARP:0x0806
PPPoE:0x8864
802.1Q tag: 0x8100
IPV6: 0x86DD
MPLS Label:0x8847
在不定长的数据字段后是4个字节的帧校验序列(Frame. Check Sequence,FCS)
EtherType 是以太帧里的一个字段,用来指明应用于帧数据字段的协议。根据 IEEE802.3,Length/EtherType 字段是两个八字节的字段,含义两者取一,这取决于其数值。在量化评估中,字段中的第一个八位字节是最重要的。而当字段值大于等于十进制值 1536 (即十六进制为 0600)时, EtherType 字段表示为 MAC 客户机协议(EtherType 解释)的种类。该字段的长度和 EtherType 详解是互斥的。
该类字段值取自 IEEE EtherType 字段寄存器。EtherType 字段是个极限空间,因此其分配是有限的。只有开发新的数据传输协议的人员需要使用 EtherType 字段,而不管他们实际上是否真正生产任何设备。IEEE RAC EtherType 字段批准权威机构负责检查和批准 EtherType 字段。
知名协议已经分配了 EtherType 值,下面表格中列出了 EtherType 字段中常用值及其对应的协议:
Ethertype
( 十六进制 )
协议
0x0000 - 0x05DC
IEEE 802.3 长度
0x0101 – 0x01FF
实验
0x0600
XEROX NS IDP
0x0660
0x0661
DLOG
0x0800
网际协议(IP)
0x0801
X.75 Internet
0x0802
NBS Internet
0x0803
ECMA Internet
0x0804
Chaosnet
0x0805
X.25 Level 3
0x0806
地址解析协议(ARP : Address Resolution Protocol)
0x0808
帧中继 ARP (Frame Relay ARP) [RFC1701]
0x6559
原始帧中继(Raw Frame Relay) [RFC1701]
0x8035
动态 DARP (DRARP:Dynamic RARP)
反向地址解析协议(RARP:Reverse Address Resolution Protocol)
0x8037
Novell Netware IPX
0x809B
EtherTalk
0x80D5
IBM SNA Services over Ethernet
0x 80F 3
AppleTalk 地址解析协议(AARP:AppleTalk Address Resolution Protocol)
0x8100
以太网自动保护开关(EAPS:Ethernet Automatic Protection Switching)
0x8137
因特网包交换(IPX:Internet Packet Exchange)
0x 814C
简单网络管理协议(SNMP:Simple Network Management Protocol)
0x86DD
网际协议v6 (IPv6,Internet Protocol version 6)
0x880B
点对点协议(PPP:Point-to-Point Protocol)
0x 880C
通用交换管理协议(GSMP:General Switch Management Protocol)
0x8847
多协议标签交换(单播) MPLS:Multi-Protocol Label Switching )
0x8848
多协议标签交换(组播)(MPLS, Multi-Protocol Label Switching )
0x8863
以太网上的 PPP(发现阶段)(PPPoE:PPP Over Ethernet )
0x8864
以太网上的 PPP(PPP 会话阶段) (PPPoE,PPP Over Ethernet)
0x88BB
轻量级访问点协议(LWAPP:Light Weight Access Point Protocol)
0x88CC
链接层发现协议(LLDP:Link Layer Discovery Protocol)
0x8E88
局域网上的 EAP(EAPOL:EAP over LAN)
0x9000
配置测试协议(Loopback)
0x9100
VLAN 标签协议标识符(VLAN Tag Protocol Identifier)
0x9200
VLAN 标签协议标识符(VLAN Tag Protocol Identifier)
0xFFFF
保留
EtherType :以太网类型字段及值
EtherType :以太网类型字段及值
- ARP (ARP Header长度:8字节)
硬件类型:1 表示以太网
协议类型:和Ethernet数据帧中类型字段相同
OP操作字段:1 表示ARP请求
2 表示ARP应答
3 表示RARP请求
4 表示RARP应答
- 802.1q VLAN数据帧(4字节)
基于802.1Q的VLAN帧格式
Type:长度为2字节,取值为0x8100,表示此帧的类型为802.1Q Tag帧。
PRI:长度为3比特,可取0~7之间的值,表示帧的优先级,值越大优先级越高。该优先级主要为QoS差分服务提供参考依据(COS)。
VLAN Identifier (VID) : 长度12bits,可配置的VLAN ID取值范围为1~4094。通常vlan 0和vlan 4095预留,vlan1为缺省vlan,一般用于网管。
QinQ帧格式
- PPP帧(除去信息字段后长度为:8字节)
PPP报文格式
PPP报文的内容是指Address、Control、Protocol和Information四个域的内容。各字段的含义如下。
Flag域Flag域标识了一个物理帧的起始和结束,该字节为0x7E。
Address域PPP协议是被运用在点对点的链路上,它可以唯一标识对方。因此使用PPP协议互连的两个通信设备无须知道对方的数据链路层地址。所以该字节已无任何意义,按照协议的规定将该字节填充为全1的广播地址。
Control域同Address域一样,PPP数据帧的Control域也没有实际意义,按照协议的规定通信双方将该字节的内容填充为0x03。Address和Control域一起表示了此报文为PPP报文,即PPP报文头为FF03。
Protocol域协议域可用来区分PPP数据帧中信息域所承载的数据报文的内容。
协议代码
协议类型
0021
Internet Protocol
8021
Internet Protocol Control Protocol
C021
Link Control Protocol
C023
Password Authentication Protocol
C223
Challenge Handshake Authentication Protocol
Information域信息域最大长度是1500字节,其中包括填充域的内容。信息域的最大长度等于PPP协议中MRU(Maximum Receive Unit)的缺省值。
- HDLC帧(除去信息字段后长度为:8字节)
HDLC帧格式
各字段的含义解释:
字段
长度(字节)
含义
Protocol
2
协议字段。表示Information域中的数据封装的协议类型。
Information
N
信息字段。可以是任意的二进制比特串,长度未作限定。其上限由FCS字段或通信节点的缓冲容量来决定,目前国际上用得较多的是1000~2000比特,而下限可以是0,即无信息字段。但是监控帧中不可有信息字段。
- PPPoE报文(报文头长度为6字节)
windows系统pppoe MTU大小
默认和最大 PPPoE MTU 大小为 1,480 字节。对于某些 Internet 服务提供商 (ISP),您可能需要将 PPPoE 连接的 MTU 大小降至 1,400 和 1,480 之间的一个值(例如 1,454)。不要将 MTU 大小设置为小于 1,400。
路由器pppoe拨号时MTU为1492
- MPLS Label
Label报文格式:
MPLS uses a 32-bit label field that contains the following information:
20-bit label (a number)
3-bit experimental field (usually used to carry IP precedence value)
1-bit bottom-of-stack indicator (indicates whether this is the last label before the IP header)
8-bit TTL (equal to the TTL in IP header),used to prevent indefinite looping of packets.
EtherType :以太网类型字段及值的更多相关文章
- mysql变成类型字段varchar值更新变长或变短底层文件存储原理
为了搞清楚MySQL对于可变长度字段值修改时,如何高效操作数据文件的机制.之前一直模糊不清,网上也搜不到现成的答案.经过多方资料搜集整理.写出此文供大家一起参阅.由于涉及众多非常底层的知识,我假设读者 ...
- 关于Java读取mysql中date类型字段默认值'0000-00-00'的问题
今天在做项目过程中,查询一个表中数据时总碰到这个问题: java.sql.SQLException:Value '0000-00-00' can not be represented as ...
- TIMESTAMP类型字段在SQL Server和MySQL中的含义和使用
公众号上转的满天飞的一篇文章,MySQL优化相关的,无意中瞄到一句“尽量使用TIMESTAMP而非DATETIME”,之前对TIMESTAMP也不太熟悉,很少使用,于是查了一下两者的区别. 其实,不管 ...
- 站内搜索(ELK)之数据表字典类型字段的索引思路
数据表字典类型的字段,如人员表中的“性别”.流程表中的“处理状态”,此类字段中的值高度重复,不建议放到可检索的索引字段中,原因如下: 若数据表字典类型字段的值索引到单独的索引字段中,因字典数据字符数一 ...
- 关于mysql字段时间类型timestamp默认值为当前时间问题
今天把应用部署到AWS上发现后台修改内容提交后程序报错,经过排查发现是更新数据的时候,有张数据表中的一个timestamp类型的字段默认值变成了"0000-00-00 00:00:00.00 ...
- Java里面,反射父类里面数字类型字段,怎么set值
Java里面,反射父类里面数字类型字段,怎么set值,我的做法是这样: /** * TODO 直接设置对象属性值, 忽略private/protected 修饰符, 也不经过setter * @aut ...
- SQL Server中TEXT类型字段值在数据库中追加字符串方法
在数据上我们往往会遇到ntext大文本类型,这种类型如果和 nvarchar类型相加会出现问题,所以有一中方法可以解决这种问题. 使用的sql 函数: TEXTPTR:返回要更新的 text.nt ...
- 通过反射得到object[]数组的类型并且的到此类型所有的字段及字段的值
private string T_Account(object[] list) { StringBuilder code = new StringBuilder(); //得到数据类型 Type t ...
- sqlite 的比较等运算是根据不同的值而不同的,并不是根据的字段类型,因为 sqlite 是弱类型字段
sqlite 的比较等运算是根据不同的值而不同的,并不是根据的字段类型,因为 sqlite 是弱类型字段 --------------------------------------------- ...
随机推荐
- HTML 5 Web 音频
HTML 5 音频http://www.w3school.com.cn/html5/html_5_audio.asp 在 Web 上播放音频http://www.w3school.com.cn/med ...
- JMeter学习FTP测试计划(转)
FTP服务主要提供上传和下载功能.有时间需要我们测试服务器上传和下载的性能.在这里我通过JMeter做一个FTP测试计划的例子. 1.创建一个线程组 2.线程组--->添加--->配置元件 ...
- vue处理异步数据踩过的坑
在开发时,由于数据是异步的导致页面在render 时data是空值 出现报错和警告. 我是这么处理的 把data先写出一个空的完整结构.暂时是这么处理 或者用三元表达式进行赋值监听.data ?myd ...
- Linux启动/停止/重启Mysql数据库
1.查看mysql版本 1)status; 2)select version(); 2.Mysql启动 1)使用 service 启动: service mysqld start (5.0版本是mys ...
- 运行Spark-shell,解决Unable to load native-hadoop library for your platform
启动spark后,运行bin/spark-shell会出现一个警告 提君博客原创 WARN util.NativeCodeLoader: Unable to load native-hadoop li ...
- Django--ORM和单表查询
一 . ORM ORM是“对象-关系-映射”的简称.(Object Relational Mapping,简称ORM) 二. 单表操作 要想将模型转为mysql数据库中的表,需要在setting里面写 ...
- 和docket的第一次亲密接触
很久很久以前,第一次听说docker时,感觉很高大上,同时自我感觉会很难.所以一直没有详细了解.前一段时间偶尔看到关于docker的详细介绍,于是乎来了兴趣.自已折腾了一下,发现不是想象中的那么难. ...
- python RSA 加密与签名
PyCrypto装起来就简单多了,我是直接 sudo easy_install pycrypto 直接搞定的 先生成rsa的公私钥:打开控制台,输入 openssl 再输入 genrsa -out p ...
- Python——tkinter操作
一.创建单选框 form tkinter import * #创建窗口体 window = tk() #初始化组合件绑定 w1 = IntVar() #设置初始选择项1 w1.set(1) def O ...
- 解析xml文件 selectSingleNode取不到节点
今天在做批量生成XML的时候,碰到一个情况 解析xml文件 selectSingleNode一直返回NULL. XML的格式开头有一句这个<CE401Message xmlns="ht ...