-
2021-11-06 13:18:21
以太网帧
本文转载自百度百科
附链接
:https://baike.baidu.com/item/%E4%BB%A5%E5%A4%AA%E7%BD%91%E5%B8%A7%E6%A0%BC%E5%BC%8F/10290427?fr=aladdin简介
在以太网链路上的数据包称作以太帧。以太帧起始部分由前导码和帧开始符组成。后面紧跟着一个以太网报头,以MAC地址说明目的地址和源地址。帧的中部是该帧负载的包含其他协议报头的数据包(例如IP协议)。以太帧由一个32位冗余校验码结尾。它用于检验数据传输是否出现损坏。
结构
来自线路的二进制数据包称作一个帧。从物理线路上看到的帧,除其他信息外,还可看到前导码和帧开始符。任何物理硬件都会需要这些信息。
下面的表格显示了在以1500个八比特组为MTU传输(有些吉比特以太网甚至更高速以太网支持更大的帧,称作巨型帧)时的完整帧格式。一个八比特组是八个位组成的数据(也就是现代计算机的一个字节)。
ethernet || 型 以太网帧结构
前导码 帧开始符 MAC 目标地址 MAC 源地址 802.1Q标签 (可选) 以太类型 负载 冗余校验
帧间距
10101010 7个octet 10101011 1个octet 6 octets 6 octets (4 octets) 2 octets 46–1500 octets 4 octets 12 octets
64–1522 octets
72–1530 octets
84–1542 octets
前导码和帧开始符
一个帧以7个字节的前导码和1个字节的帧开始符作为帧的开始。快速以太网之前,在线路上帧的这部分的位模式是10101010 10101010 10101010 10101010 10101010 10101010 10101010 10101011。由于在传输一个字节时最低位最先传输(LSB),因此其相应的16进制表示为0x55 0x55 0x55 0x55 0x55 0x55 0x55 0xD5。
10/100M 网卡(MIIPHY)一次传输4位(一个半字)。因此前导符会成为7组0x5+0x5,而帧开始符成为0x5+0xD。1000M网卡(GMII)一次传输8位,而10Gbit/s(XGMII) PHY芯片一次传输32位。 注意当以octet描述时,先传输7个01010101然后传输11010101。由于8位数据的低4位先发送,所以先发送帧开始符的0101,之后发送1101。
报头
报头包含源地址和目标地址的MAC地址,以太类型字段和可选的用于说明VLAN成员关系和传输优先级的IEEE 802.1QVLAN 标签。
帧校验码
帧校验码是一个32位循环冗余校验码,以便验证帧数据是否被损坏。
帧间距
当一个帧发送出去之后,发送方在下次发送帧之前,需要再发送至少12个octet的空闲线路状态码。以太帧标准
以太帧有很多种类型。不同类型的帧具有不同的格式和MTU值。但在同种物理媒体上都可同时存在。
• 以太网第二版或者称之为Ethernet II 帧,DIX帧,是最常见的帧类型。并通常直接被IP协议使用。
• Novell的非标准IEEE 802.3帧变种。
• IEEE 802.2逻辑链路控制(LLC) 帧
• 子网接入协议(SNAP)帧
所有四种以太帧类型都可包含一个IEEE 802.1Q选项来确定它属于哪个VLAN以及他的IEEE 802.1p优先级(QoS)。这个封装由IEEE 802.3ac定义并将帧大小从64字节扩充到1522字节(注:不包含7个前导字节和1个字节的帧开始符以及12个帧间距字节)。
IEEE 802.1Q标签,如果出现,需要放在源地址字段和以太类型或长度字段的中间。这个标签的前两个字节是标签协议标识符(TPID)值0x8100。这与没有标签帧的以太类型/长度字段的位置相同,所以以太类型0x8100就表示包含标签的帧,而实际的以太类型/长度字段则放在Q-标签的后面。TPID后面是两个字节的标签控制信息(TCI)。(IEEE 802.1p 优先级(QoS)和VLANID)。Q标签后面就是通常的帧内容。
Ethernet II
以太 II 帧(也称作DIX以太网),把紧接在目标和源MAC地址后面的这个两字节定义为以太网帧数据类型字段。
例如,一个0x0800的以太类型说明这个帧包含的是IPv4数据报。同样的,一个0x0806的以太类型说明这个帧是一个ARP帧,0x8100说明这是一个IEEE 802.1Q帧,而0x86DD说明这是一个IPv6帧。
当这个工业界的标准通过正式的IEEE标准化过程后,在802.3标准中以太类型字段变成了一个(数据)长度字段。(最初的以太包通过包括他们的帧来确定它们的长度,而不是以一个明确的数值。)但是包的接收层仍需知道如何解析包,因此标准要求将IEEE802.2头跟在长度字段后面,定义包的类型。多年之后,802.3x-1997标准,一个802.3标准的后继版本,正式允许两种类型的数据包同时存在。实际上,两种数据包都被广泛使用,而最初的以太数据包在以太局域网中被广泛应用,因为他的简便和低开销。
为了允许一些使用以太II版本的数据报和一些使用802.3封装的最初版本的数据包能够在同一个以太网段使用,以太类型值必须大于等于1536(0x0600)。这个值比802.3数据包的最大长度1500byte (0x05DC)要更大。因此如果这个字段的值大于等于1536,则这个帧是以太II帧,而那个字段是类型字段。否则(小于1500而大于46字节),他是一个IEEE 802.3帧,而那个字段是长度字段。1500~1536(不包含)的数值未定义。
802.2 LLC
一些协议,尤其是为OSI模型设计的,会直接在802.2 LLC层上操作。802.2 LLC层同时提供数据报和面向连接的网络服务。
802.2以太网变种没有在常规网络中普遍使用。只有一些大公司的没有与IP网络融合的Netware设备。以前,很多公司Netware网络支持802.2以太网,以便支持从以太网到IEEE 802.5令牌环网或FDDI网络的透明桥接。当今最流行的数据包是以太网版本二,由基于IP协议的网络使用,将其以太类型设置为0x0800用于封装IPv4或者0x86DD来支持IPv6。
还有一个英特网标准来使用LLC/SNAP报头将IPv4封装在IEEE 802.2帧中。这几乎从未在以太网中实现过。(但在FDDI以及令牌环网,IEEE 802.11和其他IEEE 802网络中使用)。如果不使用SNAP,IP传输无法封装在IEEE 802.2 LLC帧中。这是因为LLC协议中虽然有一种IP协议类型,却没有ARP。IPv6同样可使用LLC/SNAP在IEEE 802.2以太网上传播,但,如同IPv4,它也绝少被这样使用。(尽管LLC/SNAP的IPv6数据包在IEEE 802网络中被使用)。
子网接入协议
通过检查802.2 LLC头,可以确定他是否后继一个SNAP头。LLC头包含两个附加的8位地址字段,在OSI模型术语中称作服务访问点(SAPs)。当源和目标SAP都设置为0xAA时,就会使用SNAP服务。SNAP头允许以太类型值被任何IEEE 802协议使用,即使支持的是私有协议ID空间。在IEEE 802.3x-1997中,IEEE 以太标准被修改为明确允许紧接着MAC地址的16位字段即可用于长度字段,也可用于类型字段。
Mac OS使用 802.2/SNAP 数据包来实现以太网上的AppleTalkV2协议包(“EtherTalk”)。
矮帧
矮帧是一个尺寸不及IEEE 802.3定义的最小长度64字节的以太网帧。可能的原因是以太网通讯冲突,数据不足,网卡错误或软件错误。
分层模型
互联网的本质就是一系列的网络协议,这个协议就叫OSI协议(一系列协议),按照功能不同,分工不同,人为的分层七层。实际上这个七层是不存在的。没有这七层的概念,只是人为的划分而已。区分出来的目的只是为了明白哪一层是干什么用的。
每一层都运行不同的协议。协议是干什么的,协议就是标准。
实际上还有人把它划成五层、四层。
七层划分为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。
五层划分为:应用层、传输层、网络层、数据链路层、物理层。
四层划分为:应用层、传输层、网络层、网络接口层。更多相关内容 -
以太网帧格式
2018-07-22 15:21:36以太网是一个异步的局域网(即每个以太网接口卡中不保持精确的时钟同步),从一个接口到另一个接口的编码位之间的间隔可能不同。前导是一个公认的模式(典型值为0xAA),在发现帧起始分隔符(SFD)时,接收器使用它...前导字段:接收器电路用它确定一个帧的到达时间,并确定编码位(称为时钟恢复)之间的时间量。以太网是一个异步的局域网(即每个以太网接口卡中不保持精确的时钟同步),从一个接口到另一个接口的编码位之间的间隔可能不同。前导是一个公认的模式(典型值为0xAA),在发现帧起始分隔符(SFD)时,接收器使用它“恢复时钟”。SFD的固定值0xAB。
基本帧格式:包括48位(6字节)的目的地址(DST)和源地址(SRC)字段。源地址后面的类型字段,用于确定头部后面的数据类型。TCP/IP网络使用的常见值包括IPv4(0x0800)、IPv6(0x86DD)和ARP(0x0806)。0x8100表示一个Q标签帧(可携带一个“虚拟局域网”或802.1q标准的VLAN ID)。一个以太网帧的基本大小是1518字节,最近的标准将该值扩大到2000字节。
-
EtherType :以太网类型字段及值
2020-06-05 15:34:03Ethernet II即DIX 2.0:Xerox与DEC、Intel在1982年制定的以太网标准帧格式。Cisco名称为:ARPA Ethernet II类型以太网帧的最小长度为64字节(6+6+2+46+4),最大长度为1518字节(6+6+2+1500+4)。...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
0x0661DLOG
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 <unicast>)
0x8848
多协议标签交换(组播)(MPLS, Multi-Protocol Label Switching <multicast>)
0x8863
以太网上的 PPP(发现阶段)(PPPoE:PPP Over Ethernet <Discovery Stage>)
0x8864
以太网上的 PPP(PPP 会话阶段) (PPPoE,PPP Over Ethernet<PPP Session Stage>)
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 :以太网类型字段及值
2. ARP (ARP Header长度:8字节)
硬件类型:1 表示以太网
协议类型:和Ethernet数据帧中类型字段相同
OP操作字段:1 表示ARP请求
2 表示ARP应答
3 表示RARP请求
4 表示RARP应答
3. 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帧格式
4. 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)的缺省值。
5. HDLC帧(除去信息字段后长度为:8字节)
HDLC帧格式
各字段的含义解释:
字段
长度(字节)
含义
Protocol
2
协议字段。表示Information域中的数据封装的协议类型。
Information
N
信息字段。可以是任意的二进制比特串,长度未作限定。其上限由FCS字段或通信节点的缓冲容量来决定,目前国际上用得较多的是1000~2000比特,而下限可以是0,即无信息字段。但是监控帧中不可有信息字段。
6. 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
7. 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.
-
城域以太网技术专题-VLAN & QinQ.zip
2020-04-12 23:25:45本文档系统的介绍了VLAN&QinQ接入原理,及其在华为路由器和交换机产品上的实现及配置指导。文档版本02,发布日期2014-8-25 -
华为数通笔记-VLAN
2022-03-21 13:02:05讲解VLAN的相关知识,以及如何实现VLAN间的相互通信。VLAN原理
以太网是一种基于CSMA/CD的数据网络通信技术,其特征是共享通信介质。当主机数目较多时会导致安全隐患、广播泛滥、性能显著下降甚至造成网络不可用。在这种情况下出现了VLAN (Virtual Local Area Network)技术解决以上问题。
广播域:
如图是一个典型的交换网络,网络中只有终端计算机和交换机。在这样的网络中,如果某一台计算机发送了一个广播帧,由于交换机对广播帧执行泛洪操作,结果所有其他的计算机都会收到这个广播帧。把广播帧所能到达的整个访问范围称为二层广播域,简称广播域(Broadcast Domain)。显然,一个交换网络其实就是一个广播域。
虚拟局域网(VLAN, Virtual LAN)
为了解决广播域带来的问题,人们引入了VLAN (Virtual Local Area Network),即虚拟局域网技术:
通过在交换机上部署VLAN,可以将一个规模较大的广播域在逻辑上划分成若干个不同的、规模较小的广播域,由此可以有效地提升网络的安全性,同时减少垃圾流量,节约网络资源。
VLAN的特点:
一个VLAN就是一个广播域,所以在同一个VLAN内部,计算机可以直接进行二层通信;而不同VLAN内的计算机,无法直接进行二层通信,只能进行三层通信来传递信息,即广播报文被限制在一个VLAN内。
VLAN的划分不受地域的限制。
VLAN的好处:
灵活构建虚拟工作组:用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活。
限制广播域:广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。
增强局域网的安全性:不同VLAN内的报文在传输时是相互隔离的,即一个VLAN内的用户不能和其它VLAN内的用户直接通信。
提高了网络的健壮性:故障被限制在一个VLAN内,本VLAN内的故障不会影响其他VLAN的正常工作。
注:二层,即数据链路层。
基本原理
如何实现VLAN
VLAN标签(VLAN Tag)
如图所示,SW1识别出某个帧是属于哪个VLAN后,会在这个帧的特定位置上添加一个标签。这个标签明确地标明了这个帧是属于哪个VLAN的。其他交换机(如SW2)收到这个带标签的数据帧后,就能轻而易举地直接根据标签信息识别出这个帧属于哪个VLAN。
在交换机没做任何配置下,所有接口允许不带标签的vlan 1通过。其他VLAN的数据要想在交换机之间传输,接口就得允许此vlan通过。
IEEE 802.1Q定义了这种带标签的数据帧的格式。满足这种格式的数据帧称为IEEE 802.1Q数据帧,也称VLAN数据帧。
在一个VLAN交换网络中,以太网帧主要有以下两种形式:
有标记帧(Tagged帧):IEEE 802.1Q协议规定,在以太网数据帧的目的MAC地址和源MAC地址字段之后、协议类型字段之前加入4个字节的VLAN标签(又称VLAN Tag,简称Tag)的数据帧。
无标记帧(Untagged帧):原始的、未加入4字节VLAN标签的数据帧。
VLAN数据帧中的主要字段:
TPID:2字节,Tag Protocol Identifier(标签协议标识符),表示数据帧类型。
取值为0x8100时表示IEEE 802.1Q的VLAN数据帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。
各设备厂商可以自定义该字段的值。当邻居设备将TPID值配置为非0x8100时,为了能够识别这样的报文,实现互通,必须在本设备上修改TPID值,确保和邻居设备的TPID值配置一致。
PRI:3 bit,Priority,表示数据帧的优先级,用于QoS。
取值范围为0~7,值越大优先级越高。当网络阻塞时,交换机优先发送优先级高的数据帧。
CFI:1 bit,Canonical Format Indicator(标准格式指示位),表示MAC地址在不同的传输介质中是否以标准格式进行封装,用于兼容以太网和令牌环网
CFI取值为0表示MAC地址以标准格式进行封装,为1表示以非标准格式封装。在以太网中,CFI的值为0。
VID:12 bit,VLAN ID,表示该数据帧所属VLAN的编号。VLAN ID取值范围是0~4095。由于0和4095为协议保留取值,所以VLAN ID的有效取值范围是1~4094。交换机利用VLAN标签中的VID来识别数据帧所属的VLAN,广播帧只在同一VLAN内转发,这就将广播域限制在一个VLAN内。
如何识别带VLAN标签的数据帧:
数据帧的Length/Type = 0x8100。
注意:计算机无法识别Tagged数据帧,因此计算机处理和发出的都是Untagged数据帧;为了提高处理效率,交换机内部处理的数据帧一律都是Tagged帧。
VLAN的实现
VLAN的划分方式
如果入方向Untagged帧同时匹配多种划分VLAN的方式,则优先级顺序从高至低依次是:基于匹配策略划分VLAN->基于MAC地址划分VLAN或基于子网划分VLAN->基于协议划分VLAN->基于接口划分VLAN。
如果报文同时匹配了基于MAC地址划分VLAN和基于子网划分VLAN,缺省情况下,优先基于MAC地址划分VLAN。可以通过命令改变基于MAC地址划分VLAN和基于子网划分VLAN的优先级,从而决定优先划分VLAN的方式。
基于接口划分VLAN的优先级最低,但是最常用的VLAN划分方式。
计算机发出的数据帧不带任何标签。对已支持VLAN特性的交换机来说,当计算机发出的Untagged帧一旦进入交换机后,交换机必须通过某种划分原则把这个帧划分到某个特定的VLAN中去。
VLAN的划分包括如下5种方法:
基于接口划分:根据交换机的接口来划分VLAN。
网络管理员预先给交换机的每个接口配置不同的PVID,当一个数据帧进入交换机时,如果没有带VLAN标签,该数据帧就会被打上接口指定PVID的标签,然后数据帧将在指定VLAN中传输。
基于MAC地址划分:根据数据帧的源MAC地址来划分VLAN。
网络管理员预先配置MAC地址和VLAN ID映射关系表,当交换机收到的是Untagged帧时,就依据该表给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。
基于IP子网划分:根据数据帧中的源IP地址和子网掩码来划分VLAN。
网络管理员预先配置IP地址和VLAN ID映射关系表,当交换机收到的是Untagged帧,就依据该表给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。
基于协议划分:根据数据帧所属的协议(族)类型及封装格式来划分VLAN。
网络管理员预先配置以太网帧中的协议域和VLAN ID的映射关系表,如果收到的是Untagged帧,就依据该表给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。
基于策略划分:根据配置的策略划分VLAN,能实现多种组合的划分方式,包括接口、MAC地址、IP地址等。
网络管理员预先配置策略,如果收到的是Untagged帧,且匹配配置的策略时,给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。
基于接口的VLAN划分
划分原则:
将VLAN ID配置到交换机的物理接口上,从某一个物理接口进入交换机的、由终端计算机发送的Untagged数据帧都被划分到该接口的VLAN ID所表明的那个VLAN。
特点:
这种划分原则简单而直观,实现容易,是目前实际的网络应用中最为广泛的划分VLAN的方式。
当计算机接入交换机的端口发生了变化时,该计算机发送的帧的VLAN归属可能会发生变化。
缺省VLAN,PVID (Port VLAN ID)
每个交换机的接口都应该配置一个PVID,到达这个端口的Untagged帧将一律被交换机划分到PVID所指代的VLAN。
默认情况下,PVID的值为1。
基于MAC地址的VLAN划分
划分原则:
交换机内部建立并维护了一个MAC地址与VLAN ID的对应表。当交换机接收到计算机发送的Untagged帧时,交换机将分析帧中的源MAC地址,然后查询MAC地址与VLAN ID的对应表,并根据对应关系把这个帧划分到相应的VLAN中。
特点:
这种划分实现稍微复杂,但灵活性得到了提高。
当计算机接入交换机的端口发生了变化时,该计算机发送的帧的VLAN归属不会发生变化(因为计算机的MAC地址没有变)。
但这种类型的VLAN划分安全性不是很高,因为恶意计算机很容易伪造MAC地址。
以太网二层接口类型
基于接口的VLAN划分依赖于交换机的接口类型。
Access接口
Access接口一般用于和不能识别Tag的用户终端(如用户主机、服务器等)相连,或者不需要区分不同VLAN成员时使用。
Trunk接口
Trunk接口一般用于连接交换机、路由器、AP以及可同时收发Tagged帧和Untagged帧的语音终端。
Hybrid接口
Hybrid接口既可以用于连接不能识别Tag的用户终端(如用户主机、服务器等),也可以用于连接交换机、路由器以及可同时收发Tagged帧和Untagged帧的语音终端、AP。
华为设备默认的接口类型是Hybrid。
Access接口
Trunk接口
对于Trunk接口,除了要配置PVID外,还必须配置允许通过的VLAN ID列表,其中VLAN 1是默认存在的。
Trunk接口特点:
Trunk接口仅允许VLAN ID在允许通过列表中的数据帧通过。
Trunk接口可以允许多个VLAN的帧带Tag通过,但只允许一个VLAN的帧从该类接口上发出时不带Tag(即剥除Tag)。
Trunk接口接收数据帧:
当Trunk接口从链路上收到一个Untagged帧,交换机会在这个帧中添加上VID为PVID的Tag,然后查看PVID是否在允许通过的VLAN ID列表中。如果在,则对得到的Tagged帧进行转发操作;如果不在,则直接丢弃得到的Tagged帧。
当Trunk接口从链路上收到一个Tagged帧,交换机会检查这个帧的Tag中的VID是否在允许通过的VLAN ID列表中。如果在,则对这个Tagged帧进行转发操作;如果不在,则直接丢弃这个Tagged帧。
Trunk接口发送数据帧:
当一个Tagged帧从本交换机的其他接口到达一个Trunk接口后,如果这个帧的Tag中的VID不在允许通过的VLAN ID列表中,则该Tagged帧会被直接丢弃。
当一个Tagged帧从本交换机的其他接口到达一个Trunk接口后,如果这个帧的Tag中的VID在允许通过的VLAN ID列表中,则会比较该Tag中的VID是否与接口的PVID相同:
如果相同,则交换机会对这个Tagged帧的Tag进行剥离,然后将得到的Untagged帧从链路上发送出去;
如果不同,则交换机不会对这个Tagged帧的Tag进行剥离,而是直接将它从链路上发送出去。
Hybrid接口
华为交换机默认接口的为类型为hybird且pvid为1,未配置时,只有vlan1在Untagged Vlan列表中。
对于Hybrid接口,除了要配置PVID外,还存在两个允许通过的VLAN ID列表,一个是Untagged VLAN ID列表,另一个是Tagged VLAN ID列表,其中VLAN 1默认在Untagged VLAN列表中。这两个允许通过列表中的所有VLAN的帧都是允许通过这个Hybrid接口的。
Hybrid接口特点:
Hybrid接口仅允许VLAN ID在允许通过列表中的数据帧通过。
Hybrid接口可以允许多个VLAN的帧带Tag通过,且允许从该类接口发出的帧根据需要配置某些VLAN的帧带Tag、某些VLAN的帧不带Tag。
Hybrid接口接收数据帧:
当Hybrid接口从链路上收到一个Untagged帧,交换机会在这个帧中添加上VID为PVID的Tag,然后查看PVID是否在Untagged或Tagged VLAN ID列表中。如果在,则对得到的Tagged帧进行转发操作;如果不在,则直接丢弃得到的Tagged帧。
当Hybrid接口从链路上收到一个Tagged帧,交换机会检查这个帧的Tag中的VID是否在Untagged或Tagged VLAN ID列表中。如果在,则对这个Tagged帧进行转发操作;如果不在,则直接丢弃这个Tagged帧。
Hybrid接口发送数据帧:
当一个Tagged帧从本交换机的其他接口到达一个Hybrid接口后,如果这个帧的Tag中的VID既不在Untagged VLAN ID列表中,也不在Tagged VLAN ID列表中,则该Tagged帧会被直接丢弃。
当一个Tagged帧从本交换机的其他接口到达一个Hybrid接口后,如果这个帧的Tag中的VID在Untagged VLAN ID列表中,则交换机会对这个Tagged帧的Tag进行剥离,然后将得到的Untagged帧从链路上发送出去。
当一个Tagged帧从本交换机的其他接口到达一个Hybrid接口后,如果这个帧的Tag中的VID在Tagged VLAN ID列表中,则交换机不会对这个Tagged帧的Tag进行剥离,而是直接将它从链路上发送出去。
与Trunk最主要的区别就是,能够支持多个VLAN的数据帧,不带标签通过。Trunk要pvid和vlan id相同才可以去掉tag否则只能带tagged发送,在只有一个接口的情况下只能允许通过一个untagged帧。
总结
VLAN的应用
VLAN的规划
VLAN编号建议连续分配,以保证VLAN资源合理利用。最常用的划分方式是基于接口的方式。
应用场景-基于接口的VLAN划分
应用场景-基于MAC的VLAN划分
配置
配置思路:
创建VLAN并将连接用户的接口加入VLAN,实现不同业务用户之间的二层流量隔离。
配置SW1和SW2的各接口类型以及通过的VLAN,实现相同业务用户通过SW1和SW2通信。
创建VLAN
配置Access接口和Trunk接口
配置思路:
创建VLAN并将连接用户的接口加入VLAN,实现不同业务用户之间的二层流量隔离。
配置SW1和SW2的各接口类型以及通过的VLAN,实现主机和服务器之间通过SW1和SW2通信。
配置思路:
创建VLAN。
配置各以太网接口以正确的方式加入VLAN。
配置主机1、主机2、主机3的MAC地址与VLAN关联,实现根据报文中的源MAC地址确定VLAN。
配置接口为Hybrid接口:在Access接口和Trunk接口上,只有基于MAC划分的VLAN和PVID相同时,才能使用MAC VLAN功能。所以基于MAC地址划分VLAN推荐在Hybrid口上配置。
实现VLAN间通信
传统交换二层组网中,默认所有网络都处于同一个广播域,这带了诸多问题。VLAN(Virtual Local Area Network,虚拟局域网)技术的提出,满足了二层组网隔离广播域需求,使得属于不同VLAN的网络无法互访,但不同VLAN之间又存在着相互访问的需求。
VLAN间通信
实际网络部署中一般会将不同IP地址段划分到不同的VLAN。
同VLAN且同网段的PC之间可直接进行通信,无需借助三层转发设备,该通信方式被称为二层通信。
VLAN之间需要通过三层通信实现互访,三层通信需借助三层设备。
使用路由器物理接口
在二层交换机上配置VLAN,每个VLAN单独使用一个交换机接口与路由器互联。
路由器使用两个物理接口,分别作为VLAN 10及VLAN 20内PC的默认网关,使用路由器的物理接口实现VLAN之间的通信。
使用路由器子接口
R1使用一个物理接口(GE0/0/1)与交换机SW1对接,并基于该物理接口创建两个子接口:GE0/0/1.10及GE0/0/1.20,分别使用这两个子接口作为VLAN 10及VLAN 20的默认网关。
由于三层子接口不支持VLAN报文,当它收到VLAN报文时,会将VLAN报文当成是非法报文而丢弃。因此,需要在子接口上将VLAN Tag剥掉,也就是需要VLAN终结(VLAN Termination)。
子接口处理流程
子接口终结VLAN的实质包含两个方面:
对接口接收到报文,剥除VLAN标签后进行三层转发或其他处理。
对接口发出的报文,又将相应的VLAN标签添加到报文中后再发送。
Dot1q终结:对接收到的带有一层或两层VLAN Tag的报文,剥除报文的最外一层VLAN Tag;对从接口发出的报文,添加一层VLAN Tag。
QinQ终结:对接收到的带有两层VLAN Tag的报文,剥除报文的两层VLAN Tag;对从接口发出的报文,添加两层VLAN Tag。
子接口配置示例
interface interface-type interface-number.sub-interface number命令用来创建子接口。sub-interface number代表物理接口内的逻辑接口通道。一般情况下,为了方便记忆,子接口ID与所要终结的VLAN ID相同。
dot1q termination vid命令用来配置子接口Dot1q终结的单层VLAN ID。缺省情况,子接口没有配置dot1q终结的单层VLAN ID。arp broadcast enable命令用来使能终结子接口的ARP广播功能。缺省情况下,终结子接口没有使能ARP广播功能。终结子接口不能转发广播报文,在收到广播报文后它们直接把该报文丢弃。为了允许终结子接口能转发广播报文,可以通过在子接口上执行此命令。
使用VLANIF技术实现VLAN间通信
三层交换机和VLANIF接口
VLAN配置示例
interface vlanif vlan-id命令用来创建VLANIF接口并进入到VLANIF接口视图。vlan-id表示与VLANIF接口相关联的VLAN编号。VLANIF接口的IP地址作为主机的网关IP地址,和主机的IP地址必须位于同一网段。
VLANIF转发流程(1)
VLANIF转发流程(2)
VLANIF转发流程(3)
-
以太网各域介绍
2021-10-26 13:46:19Ethernet II协议 Byte0~Byte13:是Header部分,包括源MAC地址,目标MAC地址,域类型等信息 ...0x0000 - 0x05DC IEEE 802.3 长度 0x0101 – 0x01FF 实验 0x0600 XEROX NS IDP 0x0660 0x0661 DLOG 0x08 -
错误代码0X80004005 无法访问共享计算机
2020-12-08 11:23:22解决计算机在共享连接时报错误代码0X80004005,解压缩后直接运行即可,程序的含义是允许guest用户访问共享,因为文件只能共享给用户而不是计算机,访问别的电脑默认是作为guest -
以太网帧分析
2021-09-21 16:05:56以太网等网络拓扑存在于数据链路层。 网络交换机是数据链路层最常见的网络设备。 以太网帧概述 在以太网中,设备使用数据包共享数据。 它们包含除其他外的以太网帧,该帧被分成多个数据集。 这些记录由提供重要信 -
以太网帧和一些标准
2021-01-13 09:22:33链路层3.2.2 以太网帧格式帧校验序列/循环冗余校验帧大小802.1p/q:虚拟局域网和Oos标签802.1AX :链路聚合(以前的802.3ad) 3.2.2 以太网帧格式 ... TCP/IP网络常用的值IPv4(0x0800) ,IPv6(0x86DD) , ARP -
计算机网络协议,以太网帧格式
2020-02-20 21:27:59以太网的MAC帧格式有好几种,常见的是DIX Ethernet V2标准,还有一种是IEEE的802.3标准。接下来我们一个一个分析它们的结构 一、Ethernet II 1.帧结构 2.字段分析 ==========================================... -
2021-09-12 SONiC系统TPID配置
2021-09-12 16:37:542020年底,SONiC社区开发了SONiC系统支持TPID的配置功能,TPID是Tag Protocol ID的缩写,常见的TPID有0x8100和0x88A8,分别表示报文携带了单层的VLAN Tag和两层的VLAN Tag。通过查看TPID的值,交换机和路由器可以... -
QinQ基础知识
2018-05-22 13:13:14对于外层VLAN tag,有下列几种类型0x8100:思科路由器使用0x88A8:Extreme Networks switches使用0x9100:Juniper路由器使用0x9200:Several路由器使用 PRI 3比特 Priority,长度为3比特,表示帧的优先级... -
以太网发包工具xcap
2022-05-29 19:02:02构造完一层协议的头部后,从界面中选择相应的下一头部类型,然后点击下一步,即可生成对应的协议,如以太网中选择0x0800,则点击下一步按钮后,创建IP头部构造界面。 2、发送报文 WinPcap能从系统中读取处所有的... -
802协议族&太网帧格式
2022-03-22 14:45:52以太网帧格式 以太网帧发展 1980 DEC,Intel,Xerox制订了Ethernet I的标准; 1982 DEC,Intel,Xerox又制订了Ehternet II的标准; 1982 IEEE开始研究Ethernet的国际标准802.3; 1983 迫不及待的Novell基于IEEE的802.3... -
以太网物理层一致性测试及故障预诊断研究_3
2018-08-24 10:03:24《以太网物理层一致性测试及故障预诊断研究》,需要学习以太网测试的可以研究一下 -
10、IEEE802.3和Ethernet II帧的区别, 0x0806 ARP协议分析
2021-07-23 10:46:091、以太网上使用两种标准帧格式。第一种是上世纪80年代提出的DIX v2格式,即Ethernet II格式。第二种是1983年提出的IEEE 802.3格式。 2、两种格式得区别在于Ethernet 格式种包含一个Type字段,标识以太网帧处理完... -
搞一下 车载以太网实战 | 01 车载以太网帧结构详解
2022-01-29 17:06:34前言 搞SOA、搞 AP & CP AUTOSAR、搞异构SoC、搞车载以太网、搞车载OS等就找搞一下汽车电子...我们身边充满了以太网,不管是新势力还是传统的主机厂,都已经在准备或是在更上一层地去做以太网的一些升级,包括电子 -
如何修复错误代码0X80004005无法访问共享计算机的方法
2021-07-27 10:18:21In just about every case of the ‘Windows cannot access computer 0x80004005’ error I have come across, one of these steps has fixed it. If you have any other tips for overcoming the error, let us ... -
以太网协议报文格式.pdf
2022-04-21 17:53:49以太网协议报文格式,介绍了TCP/IP协议簇,以太帧类型,不同类型的帧封装格式。 -
用51单片机控制RTL8019AS实现以太网通讯
2020-08-12 20:16:42互联网络硬件、软件的迅猛发展,使得网络用户呈指数增长,在使用计算机进行网络互联的同时,各种家电设备、...在电子设备日趋网络化的背景下,利用廉价的51单片机来控制RTL8019AS实现以太网通讯具有十分重要的意义。 -
用8位单片机实现串口-以太网转换器
2020-08-10 11:01:37单片机或微控制器(MCU)已经在各个领域得到了广泛的应用。目前绝大多数系统都是以MCU为核心,与... 本文根据所做项目需要,用8031单片机和RTL8019AS网卡实现了RS485串口设备数据文件通过以太网传输到远端计算机的功能。 -
通信与网络中的以太网发送数据包
2020-11-12 22:58:01(1)首先选择发送的起始页,一般是发送缓冲区内的页(0x40~0x4b),写入StartPage变量中。要发送的数据写入地址为StartPage(8开始的缓冲区中,然后等待上一次发送结束。对于过大或者过小的数据包,不发送;最大... -
以太网VLAN帧格式
2019-07-15 19:52:37IEEE 802.1Q Preamble SFD DA SA vlan tag Type/Length Date CRC 7B 1B 6B 6B 4B 2B 42-1496B 4B 4个字节的vlan tag,包含: 2个字节的标签协议标识...0x8100 ...tpid: 用于标识帧的类型,0x8100表示80... -
zynq裸机gmii_to_rgmii的lwip echo以太网速度自适应原理.docx
2020-09-05 14:15:03ebaz4205以太网裸机lwip echo以太网速度自适应原理。使用gmii_to_rgmii这个IP核时,lwip实验会自动调整时钟来配合phy的自协商速度。我自己写的文档,分享一下自适应原理。 -
Ethernet.rar_Ethernet_Ethernet 51_ethernet单片机_以太网
2022-07-13 18:35:2051单片机的以太网 Ethernet 源程序和原理图 -
RK_Android 平台 WiFi&蓝牙&以太网自定义 MAC 地址功能说明
2022-03-16 10:37:321.wifi mac地址,多播地址,address[0]&0x01 == 0x01 ;wifi P2P地址 address[0] &0x0F == 0x02 2.蓝牙地址要求说明 -
计算机网络:数据链路层——以太网协议
2022-03-31 15:33:44数据链路层——以太网协议 第1关:以太网帧的解析 任务描述 补充代码,解析收到的以太网帧,根据出帧类型,调用对应的处理函数。 本任务中的给出的以太网帧字节流不包含前面的7字节同步码、1字节帧开始定界符和后面... -
以太网协议报文格式.doc
2021-07-06 15:14:09大一中 -
网络协议之以太网协议解析
2020-04-18 18:03:34Ethernet :以太网协议,用于实现链路层的数据传输和地址封装(MAC) 封装原理: 以太网的数据帧格式如下图所示: 它由6个字节的目的MAC地址,6个字节的源MAC地址,2个字节的类型域(用于标示封装在这...