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 是弱类型字段 --------------------------------------------- ...
随机推荐
- Linux模拟控制网络时延
之前以为可以使用Linux自带的工具模拟控制网络时延,所以上网找了一些资料.后来发现,找到的资料目前只支持在一个网卡上模拟发送报文的时延,而不能设置有差别的网络时延,或者说当要模拟的向A发送的时延与要 ...
- c#+linux+mono+Redis集群(解决无法连接Redis的问题)
在linux环境中使用mono来执行c#的程序, 在连接redis的时候遇到了无法连接数据库的错误.如下: Unhandled Exception:StackExchange.Redis.RedisC ...
- Java 基本数据类型 及 == 与 equals 方法的区别
Java数据类型分为基本数据类型与引用数据类型. 1 基本数据类型 byte:Java中最小的数据类型,在内存中占1个字节(8 bit),取值范围-128~127,默认值0 short:短整型,2个字 ...
- Oracle通过ROWID删除表中重复记录
-- 1 通过ROWID删除T1表里重复的记录 SELECT ROWID,A,B--DELETE FROM T1WHERE ROWID IN ( SELECT RD FROM ( ...
- 1363. ZigZag Conversion
public class Solution { /** * @param s: the given string * @param numRows: the number of rows * @ret ...
- 【学亮IT手记】Java 8新特性实例介绍
java8,也称为jdk1.8,于2014.03.18日发布,它支持函数式编程,新的js引擎,新的日期API,新的Stream Api等. 我们主要讨论以下几个新特性: ①Lambda表达式. 允许把 ...
- Spring boot 将配置文件属性注入到一个bean中
现在要做的就是将如下配置文件中的内容注入到一个bean 名为Properties中. Redis.properties配置文件中的内容如下: Properties java bean中代码如下,注意注 ...
- python爬虫之redis环境简单部署
Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久 ...
- 通过view实现rest api接口
Django rest framwork之view 基于Django的View实现Json数据的返回: # _*_ encoding:utf-8 _*_ __author__ = 'LYQ' __da ...
- ansible的playbook简单使用
一.介绍 playbook就是一个用yaml语法把多个模块堆起来的一个文件 核心组件: Hosts:执行的远程主机列表Tasks:任务,由模块定义的操作的列表:Varniables:内置变量或自定义变 ...