802协议族太网帧格式
以太网帧格式
以太网帧发展
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)。
在每种格式的以太网帧的开始处都有64比特(8字节)的前导字符:
其中,前7个字节称为前同步码(Preamble),内容是16进制数0xAA.
最后1字节为帧起始标志符0xAB,它标识着以太网帧的开始。
前导字符的作用是使接收节点进行同步并做好接收数据帧的准备。
各种不同的帧格式
Ethernet II 类型:以太网帧的最小长度为 64 字节(6+6+2+46+4),最大长度为 1518 字节(6+6+2+1500+4)。其中:
(1)前 12 字节分别标识出发送数据帧的源节点 MAC 地址(S.MAC)和接收数据帧的目标节点 MAC 地址(D.MAC);
(2)接下来的 2 个字节标识出以太网帧所携带的上层数据类型,如 16 进制数0x0800代表 IP 协议数据,16 进制数0x86dd代表 IPv6 协议数据,16 进制数0x809B代表 AppleTalk 协议数据,16 进制数0x8138代表 Novell 类型协议数据等 ;
(3)在不定长的数据字段(Data):其长度是 46 至 1500 字节;
(4)4 个字节的帧校验序列(Frame. Check Sequence,FCS),采用 32 位 CRC 循环冗余校验对从“目标 MAC 地址”字段到“数据”字段的数据进行校验
Novell Ethernet
它的帧头与Ethernet有所不同其中EthernetII帧头中的类型域变成了长度域,后面接着的两个字节为0xFFFF用于标示这个帧是Novell Ether类型的Frame,由于前面的0xFFFF站掉了两个字节所以数据域缩小为44-1498个字节,帧校验不变。
IEEE802.3
EEE802.3帧格式类似于Ethernet_II帧,只是Ethernet_II帧的Type域被802.3帧的Length域取代,并且占用了Data字段的8个字节作为LLC和SNAP字段。
Length字段定义了Data字段包含的字节数:
逻辑链路控制LLC(Logical Link Control):由目的服务访问点DSAP(Destination Service Access Point)、源服务访问点SSAP(Source Service Access Point)和Control字段组成。
SNAP(Sub-network Access Protocol):由机构代码(Org Code)和类型(Type)字段组成。Org code三个字节都为0。Type字段的含义与Ethernet_II帧中的Type字段相同。IEEE802.3帧根据DSAP和SSAP字段的取值又可分为以下几类:
1) 当DSAP和SSAP都取特定值0xff时,802.3帧就变成了Netware- ETHERNET帧,用来承载NetWare类型的数据。
2)当DSAP和SSAP都取特定值0xaa时,802.3帧就变成了 ETHERNET_SNAP帧。 ETHERNET_SNAP帧可以用于传输多 种协议。
3) DSAP和SSAP其他的取值均为纯IEEE802.3帧。
区分802.3帧与EthernetII帧
Type/Length域<=0x05DC---------------------为802.3帧
Type/Length域>0x05DC-----------------------为以太网帧
802.3以太网帧格式备注:
以太网帧格式多达5种,事实上,今天的大多数TCP/IP应用都是用Ethernet V2帧格式(IEEE802.3-1997改回了对这一格式的兼容),而交换机之间的BPDU(桥协议数据单元)数据包则是IEEE802.3/LLC的帧,VLAN Trunk协议如802.1Q和Cisco的CDP(思科发现协议)等则是采用IEEE802.3SNAP的帧。
----------------------------------------------------------------------------------------------------------------------------
VLAN帧格式
帧格式
IEEE 802.1Q标准对Ethernet帧格式进行了修改,在源MAC地址字段和协议类型字段之间加入4字节的802.1Q Tag。VLAN帧格式是普通的帧格式+VLAN Tag.
VLAN帧最小帧长为64字节。
VLAN帧格式
字段 | 长度 | 含义 |
---|---|---|
Destination address | 6字节 | 目的MAC地址。 |
Source address | 6字节 | 源MAC地址。 |
Type | 2字节 | 长度为2字节,表示帧类型。取值为0x8100时表示802.1Q Tag帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。 |
PRI | 3比特 |
Priority,长度为3比特,表示帧的优先级,取值范围为0~7,值越大优先级越高。用于当阻塞时,优先发送优先级高的数据包。
如果设置用户优先级,但是没有VLANID,则VLANID必须设置为0x000。 |
CFI | 1比特 | CFI (Canonical Format Indicator),长度为1比特,表示MAC地址是否是经典格式。CFI为0说明是标准格式,CFI为1表示为非标准格式。用于区分以太网帧、FDDI(Fiber Distributed Digital Interface)帧和令牌环网帧。在以太网中,CFI的值为0。 |
VID | 12比特 |
LAN ID,长度为12比特,表示该帧所属的VLAN。在VRP中,可配置的VLAN ID取值范围为1~4094。0和4095协议中规定为保留的VLAN ID。
三种类型:
三个特殊的VID:
|
Length/Type | 2字节 | 指后续数据的字节长度,但不包括CRC检验码。 |
Data | 42~1500字节 | 负载(可能包含填充位)。 |
CRC | 4字节 | 用于帧内后续字节差错的循环冗余检验(也称为FCS或帧检验序列)。 |
二。VLAN的类型
计算机发送的帧都是不带标签(Tag)的。当计算机发送一个不带标签的帧给交换机时,交换机需要通过某种划分原则来判断这个帧应该划到哪个特定的VLAN 中。
1.基于端口的VLAN(也称为:物理层VLAN、一层VLAN)
划分原则:将VLAN的编号(VLAN ID)配置影射到交换机的物理端口上,从某一物理端口进入交换机的、由终端计算机发送的不带标签的帧都被划分到该端口的VLAN ID所表明的那个VLAN。
优点:划分原则简单、直观、容易实现、安全可靠。
注意:这种类型的VLAN,当计算机接入交换机的端口发生了变化时,该计算机发送的帧的VLAN归属也可能发生改变。
2.基于MAC地址的VLAN(也称为:二层VLAN)
划分原则:交换机内部建立并维护了一个MAC地址与VLAN ID的对应表,当交换机接收到计算机发送的不带标签的帧时,交换机将分析帧中的源MAC地址,然后查询MAC地址与VLAN ID的对应表,根据其中的对应关系把这个帧划分到相应的VLAN中。
优点:划分灵活、当计算机接入交换机的端口发生了变化时,该计算机发送的帧的VLAN归属不会发生改变。
缺点:划分原则复杂、安全性不高(因为恶意的计算机很容易伪造自己的MAC地址)
3.基于协议的VLAN(也称为:三层VLAN)
划分原则:交换机根据计算机发送的不带标签的帧中的帧的类型字段的值来决定帧的VLAN 归属。
---------------------------------------------------------------------------------------------------------------------
QinQ报文封装格式
在802.1Q报文的基础上增加一层802.1Q标签。
因为IEEE 802.1Q中定义的VLAN Tag域只有12个比特,仅能表示4096个VLAN,无法满足城域以太网中标识大量用户的需求,于是产生了QinQ技术,拓展VLAN的数量空间。QinQ在原有的802.1Q报文的基础上增加一层802.1Q标签,使得VLAN数量增加到4094×4094。
在公网的传输过程中,设备只根据外层VLAN Tag转发报文,并根据报文的外层VLAN Tag进行MAC地址学习,而用户的内层VLAN Tag将被当作报文的数据部分进行传输。QinQ的内外层标签可以代表不同的信息,如内层标签代表用户,外层标签代表业务。
图1-2 802.1Q封装和QinQ封装
帧大小
QinQ报文比802.1Q报文多四个字节,因此建议用户在组网时适当增加运营商网络中各接口的最大帧长(至少为1504 字节)。目前交换机缺省支持的最大帧长超过1504字节,不需要手动配置。
TPID
不同运营商的系统可能将QinQ帧外层VLAN标记的TPID设置为不同值。为实现与这些系统的兼容性,可以修改TPID值,使QinQ帧发送到公网时,承载与特定运营商相同的TPID值,从而实现与该运营商设备之间的互操作性。VLAN数据帧的TPID与不带VLAN标记的帧的协议类型字段位置相同,为避免在网络中转发和处理数据包时出现问题,不可将TPID值设置为表1-2中的任意值。
对应值 |
协议类型 |
---|---|
0x0806 |
ARP |
0x8035 |
RARP |
0x0800 |
IP |
0x86DD |
IPv6 |
0x8863/0x8864 |
PPPoE |
0x8847/0x8848 |
MPLS |
0x8137 |
IPX/SPX |
0x8809 |
LACP |
0x888E |
802.1x |
0x88A7 |
HGMP |
0xFFFD/0xFFFE/0xFFFF |
设备保留 |
=====================================================================
=====================================================================
2.802.1q,802.1d,802.1x---------局域网管理的帧
802.1q---------------VLAN的主要协议
802.1d---------------STP(生成树协议),GARP/GVRP(类似于Cisco的VTP,主要用于交换机的VLAN的管理)
802.1x----------------认证协议(与安全有关)
现在主流的交换机都支持这种三种协议,连Cisco的也不例外。
这三种协议都作为802.2(也就是LLC)的子层来在交换机之间传递。
802.3头+802.2头+802.1协议族------------这就交换机管理帧
EthernetII头+TCP/IP协议族-----------------这就应用帧的组成
802.3头+802.2头+SNAP+TCP/IP协议族--------------这是以太网标准中的协议帧,但好像使用的很少。
Type/Length域<=0x05DC---------------------为802.3帧
Type/Length域>0x05DC-----------------------为以太网帧
SAP=0x42 -------------------------------802.1协议族
SAP=0xAA-------------------------------SNAP协议
| protocol or organization code | type |
| protocol ID | Message1 |Message2 |.... | End Mark |
Type/Length<=0x05DC--------------------------802.3帧
Type/Length>0x05DC----------------------------EthernetII帧
Type/Length=0x8100-----------------------------802.1q帧
注意:802.1q帧是在普通帧头插入802.1q字段来实现的。
========================================================================
Access类型端口:只能属于1个VLAN,一般用于连接计算机端口;
Trunk类型端口:可以允许多个VLAN通过,可以接收和发送多个VLAN 报文,一般用于交换机与交换机相关的接口。
Hybrid类型端口:可以允许多个VLAN通过,可以接收和发送多个VLAN 报文;
接收:当数据没有tag时打上pvidtag进入,若有则看是否与pvid相等,相等则接收,不想等则丢弃。
转发:看tag是否等于pvid,若等则去tag发送,否则不处理。
接收:若数据没有带tag时。则打上pvidtag进入,若有,则看tag是否在allow列表,如在则进入,否则丢弃
转发:看tag是否在allow列表,不在则不处理,若在则看tag是否等于pvid,若等则去tag转发,不等则带tag转发
接收:若数据没有带tag则打上pvidtag进入,若有则看tag是否属于tagged/untagged表,属于则进入,否则丢弃
转发:看数据tag是否在tagged/untagged表,不做则不处理,若在则看属于那个表,若属于tagged则带tag转发,否则untaged去tag转发
pvid是交换机上的概念,说的是进入该端口的报文如果没有打vlan id就按pvid的值打上,vid是报文上的vlan tag的意思.不是同个概念。
默认情况下,简单的理解为:
ACCESS端口接PC,VID=PVID
TRUNK端口级联,VID=全部,PVID=1
802协议族太网帧格式相关推荐
- TCP/IP协议族(第4版)
链接:https://pan.baidu.com/s/1Pia2by1s83kiVXEyU-dPRg 密码:ruur <世界著名计算机教材精选·TCP/IP协议族(第4版)>可作为大学生和 ...
- Network 之五 TCP/IP 协议族、工作流程、常用协议格式
最近工作需要搞网络相关的内容,由于之前对网络了解比较少,因此开始重点学习一下网络相关的各种知识.博文中的有些内容来自于在学习过程中对于一些互联网上我认为的重点知识的记录,如果侵权请联系删除! ...
- 计算机原理---什么叫协议?主流协议族TCP/IP协议与HTTP协议的联系及区别
文章目录 一. 背景 1. 名词定义 2. 协议选择 3. 常用协议 二. 协议协议,究竟什么是协议? 1.举个例子 2.计算机网络一般分为5层 应用层 传输层 网络层 数据链路层 物理层 三.总结 ...
- TCPIP协议族--其他协议
TCP/IP协议族–其他协议 文章目录 TCP/IP协议族--其他协议 协议是什么 TCP/IP TCP/IP的特点 分层 传输方式的分类 面向连接和面向无连接. 电路交换与分组交换 单播.广播.多播 ...
- TCP/IP协议族 详解(TCP/IP四层模型、OSI七层模型)
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. TCP/IP协议族(TCP/IP Protocol Suite,或TCP/IP Protocols) ...
- Linux网络编程 - 套接字与协议族
一 理解网络编程和套接字(socket) 1.1 网络编程和套接字概要 网络编程就是编程程序使两台连网的计算机可以互相交换数据.那么,这两台计算机之间用什么传输数据呢?首先需要物理连接.如今大部分计算 ...
- C++网络编程中协议族和地址族
一 协议族 协议族就是不同协议的集合,在Linux中,用宏来表示不同的协议族,这个宏的形式是PF开头,比如IPv4协议族为PF_INET,PF的意思是PROTOCOL FAMILY,这些宏定义在/u ...
- 工业互联网 — TSN — 协议族
目录 文章目录 目录 TSN 的协议族 IEEE 802.1AS 时间同步协议 IEEE 802.1Qbv 流量调度协议 IEEE 802.1Qbu.IEEE 802.3br 数据帧抢占协议 IEEE ...
- TCP/IP协议族(一) HTTP简介、请求方法与响应状态码
接下来想系统的回顾一下TCP/IP协议族的相关东西,当然这些东西大部分是在大学的时候学过的,但是那句话,基础的东西还是要不时的回顾回顾的.接下来的几篇博客都是关于TCP/IP协议族的,本篇博客就先简单 ...
最新文章
- 使用React Router以编程方式导航
- 通过自定义消息调用主窗体的菜单项
- Prolog 语言入门(一)
- 双系统出现grub rescue修复方法
- PHP 命令行之-F (--process-file) 对每个输入行都执行 PHP 文件 (PHP 5 新加)
- screen投屏怎么用_Screen投屏
- 《孽海记·思凡》唱段·风吹荷叶煞
- 查验身份证 pat-1031
- Win8安装Rational Rose教程
- boss直聘上看信息 但是不会显示已读
- 洛谷P1217 [USACO1.5]回文质数 Prime Palindromes
- Java题解:如何获取某一天的下一天的时间
- SEO快排是什么?怎样实现快排?
- 如何用UE4制作2D游戏文档(一)——基础篇
- vue前端实现上传文件,vue 上传文件
- 美国正在搞一场大规模人工智能大赛,主办方是情报研究计划局
- vue框架项目中使用阿里矢量图标库
- 基于Java的开源CMS系统选择
- 李子的猜数游戏!!!!!epsilon1.0!
- 上海市街道划分矢量数据
热门文章
- python elasticsearch 提示 ‘update‘ API and will be removed
- 医学杂识-脑电数据-TRC文件解读分析
- C# winform 树层级列表 控件 ObjectListView的使用
- 手把手教你入门 Git 教程,图文实例详解
- java语言程序设计丁振凡ppt_Java语言程序设计(第2版)丁振凡第2章.ppt
- 斯密特正交化与QR分解
- 物流一站式单号查询之快递鸟API接口(附Demo源码)
- Unity Live2D的接入和使用
- 创业圈里那些魔性的拒绝史:张朝阳拒绝马化腾、马化腾拒绝马云...
- 物联网设备管理的未来