精华内容
下载资源
问答
  • 以太网帧的地址字段使用的是
    2019-12-26 10:14:15

    1.0x800 IP数据报

    2.0x806 ARP请求或应答报文

    3.0x835 RARP请求或应答报文

    更多相关内容
  • 在开始阅读之前,如果你对已介绍的总线技术还不了解的话,可以先阅读以下文章快速温习一下,等补完车载以太网和MOST,汽车总线技术楼主基本分享结束了。说一说LIN总线CAN总线基础(一)CAN总线基础(下)CAN FD 介绍...

    我们之前已经分享了LIN、CAN、CAN FD、FlexRay总线。在开始阅读之前,如果你对已介绍的总线技术还不了解的话,可以先阅读以下文章快速温习一下,等补完车载以太网和MOST,汽车总线技术楼主基本分享结束了。

    说一说LIN总线

    CAN总线基础(一)

    CAN总线基础(下)

    CAN FD 介绍

    FlexRay 介绍

    背景

    车载以太网的出现背景楼主就不多做赘述了,其实主要是因汽车E/E架构和功能的复杂度提升而带来的对车辆数据传输带宽提高和通讯方式改变(基于服务的通讯-SOA)的需求。

    就目前汽车总线的应用情况,成本低、可靠性高、应用普遍的有Lin、CAN通讯,CAN FD也是最近几年才逐渐得到应用,而FlexRay、车载Ethernet等基于成本因素,目前主要在高端车型中使用。

    其中楼主之前介绍的FlexRay后续得到普遍应用的可能性楼主认为不是很大,首先成本方面与车载以太网差不多而通讯速率又远低于它,而伴随着未来智能化、网联化的趋势,车载Ethernet在未来得到推广的可能性要比FlexRay高很多。需要注意的是CAN FD在市场推广实施还没有几年,第三代CAN总线-CAN XL也即将登场,CAN XL传输速率将达到10Mbit/s,可填补CAN FD和百兆车载以太网(100BASE-T1)之间的鸿沟,从这点也可以看出车载通讯的快速发展及对通讯带宽的越来越高的要求,同时也可从另一方面说明FlexRay的尴尬。当然所有总线的应用都是分所在的域和场景的,例如对于安全要求很高的场合,采用了基于时间触发机制的FlexRay因实时性和确定性更高则更合适。

    标准

    在车载网络方面,玩家是很多的,也推出了各自的标准,如下:

    其中OPEN Alliance和电气与电子工程师协会(IEEE)制定的标准是车载以太网领域比重最大和应用最广泛的,例如我们熟知的100BASE-T1和1000BASE-T1。

    自1980年以来,IEEE一直负责以太网的维护、开发和标准化。尽管各个公司都可提供专有的以太网解决方案,但大多数时候公司都会交给IEEE进行标准化以确保更广泛的应用。802工作组则专门负责以太网,因此,所有与以太网相关的标准都以802开头(例如,IEEE 802.1,IEEE 802.2,IEEE 802.3等)。

    OPEN Alliance SIG是由汽车制造商和供应商组成的联盟,目的是促进以太网在汽车工业中的进一步发展。OPEN Alliance SIG与IEEE合作,将汽车以太网转换为通用标准。就目前的车载以太网标准方面,主流标准的是如下几个,目前主要是第二个100BASE-T1:用单对双绞线实现100Mbit/s的数据传输,走的靠前的OEM则使用更快的千兆以太网。

    车载以太网的网络分层和拓扑

    OSI七层网络模型(OSI=Open Systems Interconnection)是互联网发展过程中一个很重要的模型。OSI是一个开放性的通信系统互连参考模型,其含义就是建议所有公司使用这个规范来控制网络。只有统一通信规范时,才能实现真正的互联化。OSI 七层模型及通信互联的传输过程,如下图所示:

    OSI 七层网络模型是一个理想的网络参考模型,TCP/IP模型是已经被实际广泛应用于因特网的网络分层模型。TCP/IP 模型没有对 OSI 的 5~7 层做严格区分,统称为应用层

    车载以太网是基于 TCP/IP 的网络分层模型,并由 OPEN 和 AUTOSAR 等联盟对以太网相关协议进行了规范和补充。

    以太网的网络拓扑结构有点对点形式、类似于CAN或LIN的总线形式、链式和星型等形式:

    也有由上面几种形式的组合形式:

    当然现在多个节点的车载以太网的互联互通需要交换机Switch,Switch的作用如下:

    车载以太网的物理连接

    从硬件的角度看,以太网接口电路主要由MAC(Media Access Control)控制器和物理层接口PHY(Physical Layer,PHY)两大部分构成,如下图所示:

    MAC及PHY工作在OSI七层模型的数据链路层和物理层,如下

    PHY和MAC之间是如何传送数据和相互沟通的呢?MAC与PHY之间通过两个接口连接,分别为SMI接口和MII接口。

    MII(Media Independent Interface)即媒体独立接口,MII接口是MAC与PHY连接的标准接口,以太网MAC通过该接口发出数据帧经过PHY后传输到其他网络节点上,同时其他网络节点的数据先经过PHY后再由MAC接收。MII是IEEE-802.3定义的以太网行业标准,MII接口提供了MAC与PHY之间、PHY与STA(Station Management)之间的互联技术,该接口支持10Mb/s与100Mb/s的数据传输速率,数据传输的位宽为4位。"媒体独立"表明在不对MAC硬件重新设计或替换的情况下,任何类型的PHY设备都可以正常工作。802.3协议最多支持32个PHY,但有一定的限制:要符合协议要求的connector特性。

    SMI叫串行管理接口,以太网MAC通过该接口可以访问PHY的寄存器,通过对这些寄存器操作可对PHY进行控制和管理。SMI接口包括MDIO(控制和管理PHY以获取PHY的状态)和MDC(为MDIO提供时钟)。MDC由MAC提供,MDIO是一根双向的数据线。用来传送MAC层的控制信息和物理层的状态信息。MDIO数据与MDC时钟同步,在MDC上升沿有效。

    由此可见,MAC 和PHY,一个是数据链路层,一个是物理层;两者通过MII传送数据。 因此Ethernet的接口实质是MAC通过MII总线控制PHY的过程

    MII接口后续又衍生了很多其他版本,如RMII、GMII、SGMII、RGMII等。这里简要介绍其中的MII和RMII,如下图所示。MII共使用了16根线。其中CRS与COL只在半双工模式有效,而车载以太网固定工作在全双工模式下,故应用在汽车环境需要14根线

    RMII是精简版的MII,数据发送接收均为两根,相比MII减少了4根,另外它整合或减去了一些线,最终RMII只有8根线RMII的接口如下:

    在实际的设计中,以上三部分并不一定独立分开的。由于,PHY整合了大量模拟硬件,而MAC是典型的全数字器件。考虑到芯片面积及模拟/数字混合架构的原因,通常,将MAC集成进微控制器而将PHY留在片外。更灵活、密度更高的芯片技术已经可以实现MAC和PHY的单芯片整合,可分为下列几种类型:

    CPU集成MAC与PHY,目前来说并不多见:

    CPU集成MAC,PHY采用独立芯片,这种在车载以太网上是主流方式,因嵌入式芯片厂商一般都将MAC集成在MCU内部,而PHY芯片则由OEM或控制器供应商自己选择:

    CPU不集成MAC与PHY,MAC与PHY采用集成芯片。这种在消费用以太网上比较比较常见,如电脑的网卡有这种方式的。

    在以太网连接线束上,车载以太网与消费用以太网也是不同的,首先消费用以太网的标准主要采用10BASE-2、10/100BASE-TX和1000BASE-T,其中1000BASE-T是使用RJ45接口,需要四对双绞线共8根线进行数据传输,而10/100BASE-TX则是只使用四对双绞线其中的两对共4根线进行数据传输,如下是100BASE-TX的示意图(使用了两对双绞线)。

    在很早之前的10BASE-2则是同轴电缆进行数据传输,因此消费类以太网采用线束总结如下:

    车载以太网一般都基本采用带T1的标准,如IEEE 100BASE-T1(以前称为OABR)、IEEE 1000BASE-T1,这些都使用一对双绞线共两根线进行数据传输:

    其次在编码方式上,1000BASE-T主要采用PAM5的编码方式:

    车载以太网100BASE-T1和1000BASE-T1主要采用PAM3的编码方式。

    从上面可知,车载以太网主要采用基于一对双绞线进行数据传输的100BASE-T1或1000BASE-T1标准,而我们电脑则使用RJ45接口采用基于4对双绞线进行数据传输的1000BASE-TX标准,因此当我们用电脑测量控制器以太网时,有时需要转换器,如下:

    车载以太网帧结构

    以太网帧的格式如下:

    以太帧有多种类型,不同类型的帧具有不同的格式和MTU值,但在同种物理媒体上都可同时存在。常见有两种帧格式,第一种是上世纪80年代初提出的DIX v2格式,即Ethernet II帧格式。Ethernet II后来被IEEE802标准接纳,并写进了IEEE802.3x-1997的3.2.6节。

    第二种是1983年提出的IEEE802.3格式

    这两种格式的主要区别在于,Ethernet II格式中包含一个Type字段,标识以太帧处理完成之后将被发送到哪个上层协议进行处理。IEEE802.3格式中,同样的位置是长度字段。

    不同的Type字段值可以用来区别这两种帧的类型,当Type字段值小于等于1500(或者十六进制的0x05DC)时,帧使用的是IEEE802.3格式。当Type字段值大于等于1536(或者十六进制的0x0600)时,帧使用的是Ethernet II格式。以太网中大多数的数据帧使用的是Ethernet  II格式

    以太帧中还包括源和目的MAC地址,分别代表发送者的MAC和接收者的MAC,此外还有帧校验序列字段,用于检验传输过程中帧的完整性。

    汽车行业通常使用Ethernet  II格式,该格式还可包含VLAN信息作为扩展,因此,又分基本MAC帧(无VLAN)和标记MAC帧(包括VLAN)两种。

    MAC addresses: Ethernet II帧通常以接收者目标地址开头。 作用是指定要接收消息的网络节点。 与随后的发送者源地址相反,除单播地址外,还可以使用多播或广播地址。对于以太网帧,只能有一个发送方,但可以有多个接收方。

    Ether type: 基本和标记的MAC帧通过类型字段(以太类型)进行区分。 这通常标识有效载荷数据区域中包含的分组,并给出有关较高层中使用的协议(例如,IPv4)的信息。如果以太类型的值为0x8100,则将类型字段向后移四个字节,并在其原始位置插入一个VLAN标签。

    VLAN Tag:VLAN标签由协议标识符(TPID)和控制信息(TCI)组成。 TPID包含原始类型字段的值,而TCI由优先级(PCP),符合丢弃要求或规范的形式指示符(DEI或CFI)和标识符(VID)组成。标识符和优先级主要用于汽车行业。标识符区分不同应用区域的相应虚拟网络。优先级允许通过交换机优化运行时间,以便优先转发重要信息。

    Payload:在类型字段之后,以太帧包含有效载荷数据区域。 有效负载的最小长度为不带VLAN标记的46字节或带VLAN标记的42字节, 在汽车工业中,它最多可以包含1500个字节

    CRC校验:CRC校验在以太帧的末尾发送。 校验中包含的值是使用标准化算法计算的,该算法在发送方和接收方中以相同的方式实现。该计算是在以太帧的所有字段中进行的,因此可以确保整个消息的完整性。

    以太网Packet: 对于以太网II帧的传输,以太网控制器在开头插入前同步码和起始帧定界符(SFD),用于指示传输开始。前同步码,开始帧定界符和以太帧的组合称为以太网数据包

    车载以太网帧传输过程

    上面我们已经提到,车载以太网是基于TCP/IP的网络模型,因此我们先不考虑应用层数据是根据哪种应用层协议组织的,从应用层来的数据,经过传输层会加上TCP/UDP报头,再到网络层的IP报头,然后到链路层增加MAC地址等信息,最后由PHY转换成线路上的二进制流实现在发送端和接收端的数据传输。

    其中上面传输层的TCP协议和网络层的IP协议,楼主在本篇文章中就不过多赘述了,大家感兴趣的请自行查询了解。而应用层协议有不少,例如DoIP、DHCP、SOME/IP等,而最重要的车载以太网应用层协议主要是SOME/IP协议,关于这部分的阐述楼主放到下一篇。

    参考文献:

    1、Ethernet introduction(BOSCH、Tektronix、Vector、CSDN等资料)

    点个“在看”再走!

    展开全文
  • 以太网帧分析

    千次阅读 2021-09-21 16:05:56
    OSI 模型的数据链路层(第 2 层)实际上由两个子层组成:媒体访问控制 (MAC) 子层和逻辑链路控制 (LLC) 子层。 MAC 子层控制设备交互。... 它们包含除其他外的以太网帧,该帧被分成多个数据集。 这些记录由提供重要信

    OSI 模型的数据链路层(第 2 层)实际上由两个子层组成:媒体访问控制 (MAC) 子层和逻辑链路控制 (LLC) 子层。 MAC 子层控制设备交互。 LLC 子层处理寻址和复用。

    网络连接的物理寻址存在于数据链路层。在数据链路层传输的协议单元称为帧(frame)。 数据链路层将数据位组合成称为帧的实体。 以太网等网络拓扑存在于数据链路层。 网络交换机是数据链路层最常见的网络设备。

    以太网帧概述

    在以太网中,设备使用数据包共享数据。 它们包含除其他外的以太网帧,该帧被分成多个数据集。 这些记录由提供重要信息的二进制代码组成,例如地址、控制信息、有效载荷数据和校验和。

    根据以太网标准,以太网帧的结构不同,可能包含更多或更少的数据字段,具体取决于网络协议。

    虽然IEEE 802.3标准号称要取代Ethernet II,但由于二者的相似以及Ethernet II作为IEEE 802.3的基础这一事实,通常将这两者均视为以太网。

    以太网帧的类型有哪些

    目前共有4种类型的以太网帧格式:

    • Ethernet II

    即DIX 2.0,是Xerox与DEC、Intel在1982年制定的以太网标准帧格式,已成为事实上的以太网帧标准。

    • RAW 802.3

    Novell在1983年公布的专用以太网标准帧格式。该格式以前当时尚未正式发布的 802.3标准为基础,与后来的IEEE正式发布的802.3标准并不兼容。它只支持IPX/SPX一种协议,只能用在IPX网络。

    • IEEE 802.3/802.2 LLC

    这是1985年由IEEE正式发布的802.3标准,由Ethernet V2发展而来

    • IEEE 802.3/802.2 SNAP

    这是1985年IEEE为了保证在802.2 LLC上支持更多的上层协议,同时更好地支持IP协议而发布的标准

    以太网帧长度与MTU

    最小的以太网帧长度为64字节。最大的以太网帧长度为1518字节。驱动程序要确保帧满足最小帧长度规范的要求,如果某个帧不能满足最小帧长度64字节要求,那么驱动程序必须填充相应的数据字段。

    Ethernet II和IEEE 802.3/802.2 SNAP要传输的数据包长度都有一个限制,其最大值分别是1500和1492字节。

    链路层的这个特性称作最大传输单元(Maximum Transmission Unit,MTU)。不同类型的网络大多数都有一个上限,如果IP层有一个数据报要传,而且数据长度比链路层的MTU还大,那么IP层就需要进行分片,将数据报分成若干片,让每一片都小于MTU。

    通过以太网传输数据时,以太网帧主要负责正确制定规则和成功传输数据包。 本质上,通过以太网发送的数据由帧承载。 以太网帧的大小在 64 字节到 1,518 字节之间,具体取决于要传输的数据的大小。

    Ethernet II帧格式

    在 OSI 模型中,帧位于数据链路层,负责无错传输和将比特流分成块。

    在这里插入图片描述
    Ethernet II帧比较简单,由以下5个字段组成:

    目的地址:长度为6字节,指定目的的主机的数据链路地址。
    源地址:长度为6字节,指定发送方的硬件地址。该字段仅仅包含单播地址,不能包含广播或多播地址。
    类型:长度为2字节,标识正在使用该帧类型协议。这是由IANA管理的已分配协议以太网类型(Ether Type)编号。

    const value_string etype_vals[] = {
    	{ 0x0800,                   "IPv4" },
    	{ 0x86DD,                 "IPv6" },
    	{ 0x8100,                 "802.1Q Virtual LAN" },
    	{ 0x0806,                  "ARP" },
    	{ 0x872D,                "Cisco Wireless Lan Context Control Protocol" },
    	{ 0x8783,                 "Motorola Media Independent Network Transport" },
    	{ 0x2452,     "IEEE 802.11 (Centrino promiscuous)" },
    	{ 0x0600,              "XNS Internet Datagram Protocol" },
    	{ 0x0805,                "X.25 Layer 3" },
    	{ 0x0842,                  "Wake on LAN" },
    	{ 0x08F0,              "WiMax Mac-to-Mac" },
    	{ 0x3E3F,               "EPL_V1" },
    	{ 0x8035,               "RARP" },
    	{ 0x8038,               "DEC LanBridge" },
    	{ 0x809B,                "AppleTalk LLAP bridging" },
    	{ 0x80D5,                  "SNA-over-Ethernet" },
    	{ 0x80E1,                  "EtherNet/IP Device Level Ring" },
    	{ 0x80F3,                 "AARP" },
    	{ 0x8137,                  "Netware IPX/SPX" },
    	{ 0x0BAD,             "Vines IP" },
    	{ 0x0BAF,           "Vines Echo" },
    	{ 0x1984,                "Netmon Train" },
    	/* Ethernet Loopback */
    	{ 0x9000,                 "Loopback" },
    	{ 0x885A,              "Foundry proprietary" },
    	{ 0x80FF,                  "Wellfleet Compression Protocol" },
    	{ 0x8181,                  "Spanning Tree Protocol" },
    	/* for ISMP, see RFC 2641, RFC 2642, RFC 2643 */
    	{ 0x81FD,                 "Cabletron Interswitch Message Protocol" },
    	{ 0x81FF,         "Cabletron SFVLAN 1.8 Tag-Based Flood" },
    	/* In www.iana.org/assignments/ethernet-numbers, 8203-8205 description is
    	 * Quantum Software.  Now the company is called QNX Software Systems. */
    	{ 0x8204,            "QNX 6 QNET protocol" },
    	{ 0x8863,               "PPPoE Discovery" },
    	{ 0x8864,               "PPPoE Session" },
    	{ 0x886C,             "HomePNA, wlan link local tunnel" },
    	{ 0x886D,            "Intel ANS probe" },
    	{ 0x886F,     "MS NLB heartbeat" },
    	{ 0x8870,            "Jumbo LLC" },
    	{ 0x8874,            "Broadcom tag" },
    	{ 0x887B,             "Homeplug" },
    	{ 0x88E1,          "Homeplug AV" },
    	{ 0x88E3,                  "MRP" },
    	{ 0x88A8,         "802.1ad Provider Bridge (Q-in-Q)" },
    	{ 0x88E5,               "802.1AE (MACsec)" },
    	{ 0x893A,            "1905.1a Convergent Digital Home Network for Heterogenous Technologies" },
    	{ 0x88E7,         "802.1ah Provider Backbone Bridge (mac-in-mac)" },
    	{ 0x893F,         "802.1br Bridge Port Extension E-Tag" },
    	{ 0x888E,                "802.1X Authentication" },
    	{ 0x88C7,          "802.11i Pre-Authentication" },
    	{ 0x8847,                 "MPLS label switched packet" },
    	{ 0x8848,           "MPLS multicast label switched packet" },
    	{ 0x3C07,         "3Com NBP Datagram" },
    	{ 0x6000,                  "DEC proto" },
    	{ 0x6001,               "DEC DNA Dump/Load" },
    	{ 0x6002,               "DEC DNA Remote Console" },
    	{ 0x6003,               "DEC DNA Routing" },
    	{ 0x6004,                  "DEC LAT" },
    	{ 0x6005,             "DEC Diagnostics" },
    	{ 0x6006,             "DEC Customer use" },
    	{ 0x6007,              "DEC LAVC/SCA" },
    	{ 0x8041,             "DEC LAST" },
    	{ 0x6558,            "Transparent Ethernet bridging" },
    	{ 0x2001,                 "Cisco Group Management Protocol" },
    	{ 0x22E5,              "Gigamon Header" },
    	{ 0x22EA,                 "802.1Qat Multiple Stream Reservation Protocol" },
    	{ 0x88F6,                 "802.1ak Multiple Mac Registration Protocol" },
    	{ 0x894F,                  "Network Service Header" },
    	{ 0x8988,          "PA HB Backup" },
    	{ 0x22F0,                "IEEE 1722 Audio Video Bridging Transport Protocol" },
    	{ 0x22F1,                 "Robust Header Compression(RoHC)" },
    	{ 0x22F3,                "Transparent Interconnection of Lots of Links" },
    	{ 0x22F4,               "Intermediate System to Intermediate System" },
    	{ 0x8808,          "MAC Control" },
    	{ 0x8809,       "Slow Protocols" },
    	{ 0x9021,                "Real-Time Media Access Control" },
    	{ 0x9022,                "Real-Time Configuration Protocol" },
    	{ 0x8881,     "CDMA2000 A10 Unstructured byte stream" },
    	{ 0x8884,                "ATM over Ethernet" },
    	{ 0x8892,             "PROFINET" },
    	{ 0x8899,              "Realtek Layer 2 Protocols" },
    	{ 0x88A2,                  "ATA over Ethernet" },
    	{ 0x88A4,                "EtherCAT frame" },
    	{ 0x88A1,             "Telkonet powerline" },
    	{ 0x88AB,               "ETHERNET Powerlink v2" },
    	{ 0x88AD,               "XiMeta Technology" },
    	{ 0x889B,           "CSM_ENCAPS Protocol" },
    	{ 0x88B5,    "Local Experimental Ethertype 1" },
    	{ 0x88B6,    "Local Experimental Ethertype 2" },
    	{ 0x88B7, "IEEE 802a OUI Extended Ethertype" },
    	{ 0x88B8,       "IEC 61850/GOOSE" },
    	{ 0x88B9,         "IEC 61850/GSE management services" },
    	{ 0x88BA,          "IEC 61850/SV (Sampled Value Transmission" },
    	{ 0x88CA,                 "Transparent Inter Process Communication" },
    	{ 0x88CC,                 "802.1 Link Layer Discovery Protocol (LLDP)" },
    	{ 0x88D2,                "CDMA2000 A10 3GPP2 Packet" },
    	{ 0x891D,              "TTEthernet Protocol Control Frame" },
    	{ 0x88D8,              "Circuit Emulation Services over Ethernet (MEF8)" },
    	{ 0x88D9,                 "Link Layer Topology Discovery (LLTD)" },
    	{ 0x88DC,                 "(WAVE) Short Message Protocol (WSM)" },
    	{ 0x88DE,                "VMware Lab Manager" },
    	{ 0x8819,             "Cirrus Cobranet Packet" },
    	{ 0x8133,                 "Juniper Netscreen Redundant Protocol" },
    	{ 0x9104,                 "EERO Broadcast Packet" },
    	/*
    	 * NDISWAN on Windows translates Ethernet frames from higher-level
    	 * protocols into PPP frames to hand to the PPP driver, and translates
    	 * PPP frames from the PPP driver to hand to the higher-level protocols.
    	 *
    	 * Apparently the PPP driver, on at least some versions of Windows,
    	 * passes frames for internal-to-PPP protocols up through NDISWAN;
    	 * the protocol type field appears to be passed through unchanged
    	 * (unlike what's done with, for example, the protocol type field
    	 * for IP, which is mapped from its PPP value to its Ethernet value).
    	 *
    	 * This means that we may see, on Ethernet captures, frames for
    	 * protocols internal to PPP, so we list as "Ethernet" protocol
    	 * types the PPP protocol types we've seen.
    	 */
    	{ 0x8021,                       "PPP IP Control Protocol" },
    	{ 0xc021,                        "PPP Link Control Protocol" },
    	{ 0xc023,                        "PPP Password Authentication Protocol" },
    	{ 0x80fd,                        "PPP Compression Control Protocol" },
    	{ 0xCAFE,                  "Veritas Low Latency Transport (not officially registered)" },
    	{ 0x8902,                  "IEEE 802.1ag Connectivity Fault Management (CFM) protocol" },
    	{ 0x8903,                  "Data Center Ethernet (DCE) protocol(Cisco)" },
    	{ 0x8906,                 "Fibre Channel over Ethernet" },
    	{ 0x890d, "IEEE 802.11 data encapsulation" },
    	{ 0x8911,                 "LINX IPC Protocol" },
    	{ 0x8914,                  "FCoE Initialization Protocol" },
    	{ 0x8917,                  "Media Independent Handover Protocol" },
    	{ 0x88EE,                 "Ethernet Local Management Interface (MEF16)" },
    	{ 0x88F7,                  "PTPv2 over Ethernet (IEEE1588)" },
    	{ 0x88F8,                 "Network Controller Sideband Interface" },
    	{ 0x88FB,                  "Parallel Redundancy Protocol (PRP) and HSR Supervision (IEC62439 Part 3)" },
    	{ 0x8901,                 "Flow Layer Internal Protocol" },
    	{ 0x8915,                 "RDMA over Converged Ethernet" },
    	{ 0xD00D,                "Digium TDM over Ethernet Protocol" },
    	{ 0x88B4,                  "WAI Authentication Protocol" },
    	{ 0x8926,                "VN-Tag" },
    	{ 0x892B,               "Schweitzer Engineering Labs Layer 2 Protocol" },
    	{ 0x892F,                  "High-availability Seamless Redundancy (IEC62439 Part 3)" },
    	{ 0x08FF,                  "AX.25" },
    	{ 0x8909,                  "CiscoMetaData" },
    	{ 0x8947,        "GeoNetworking" },
    	{ 0xC0DE,                  "eXpressive Internet Protocol" },
    	{ 0xC0DF,                  "Neighborhood Watch Protocol" },
    	{ 0x892D,              "bluecom Protocol" },
    	{ 0x9100,             "QinQ: old non-standard 802.1ad" },
    	{ 0x99FE,                "Technically Enhanced Capture Module Protocol (TECMP)" },
    	{ 0xA0ED,              "6LoWPAN" },
    	{ 0xD28B,                 "Arista Timestamp" },
    	{ 0xAEFE,                "eCPRI" },
    	{ 0xB4E3,            "CableLabs Layer-3 Protocol" },
    	{ 0xFFF2,             "Cisco ACI ARP gleaning" },
    	{ 0xF1C1,         "802.1CB Frame Replication and Elimination for Reliability" },
    	{ 0, NULL }
    };
    

    以太网(Ether Type)是以太网帧中的一个重要字段,用来指明应用于帧数据段的协议,即要封装的上层协议类型。
    数据(Data):存储被封装的上层数据,长度在46字节到1500字节之间。
    帧校验序列(Frame Check Sequence):简称FCS,长度为4字节,包含了CRC计算的结果。

    Ethernet 802.3 raw 帧格式

    Ethernet 802.3 raw又称 Novell Ethernet,它将Ethernet II帧首部中的类型字段变成了长度字段,紧接着用来个内容为十六进制数0xFFFF字段标识Novell以太网类型,数据字段缩小为44~1498个字节。

    在这里插入图片描述
    这个 802.3 数据包的粗略版本,被命名为“以太网 802.3”,是在 IEEE 802.3 标准和流行的 IPX/SPX 协议广泛建立之前由 Novell 提出的,不幸的是,它经常与 IEEE 标准混淆。因此,Novell 在名称中添加了“raw”。

    Ethernet IEEE 802.3

    以太网 IEEE 802.3 是目前最流行和最广泛使用的 LAN 帧结构。 但是,某些网络和协议需要更多空间来存储特定信息。 因此,存在 IEEE 802.3 帧的变体,为特定信息提供附加数据块,其中包括 SNAP 扩展和 VLAN 标记。
    在这里插入图片描述
    目的服务访问点(Destination Service Access Point):简称DSAP,用于标识目的协议。如十六进制数0x06代表IP协议数据,十六进制数0xE0代表Novell类型协议数据。
    源服务访问点(Source Service Access Point):简称SSAP,用于指定源协议(通常与目的协议相同)
    控制(Control):指明该帧是无编号格式还是信息/监督格式,一般设为0x03。指明采用无连接服务802.2无编号数据格式。

    Ethernet IEEE 802.3 SNAP

    在这里插入图片描述Ethernet IEEE 802.3 SNAP帧格式与上述的802.3帧最大的区别是增加了一个5字节SNAP标识。另外,这两个字节DSAP和SSAP字段内容被固定下来,其值为0xAA。控制字段内容也被固定保存下来,其值为十六进制0x03

    总结

    对于目前存在的4种以太网帧格式,网络设备就是根据上述规定进行识别的,首先识别出Ethernet II帧,如果帧首部源地址后面的两字节(长度、类型字段)的值大于1500,则此帧格式为Ethernet II格式。否则为其他格式。

    接着我们在区分其他3种格式,长度字段和类型字段为值0xFFFF,则为Novell Ether(Ethernet 802.3 raw )帧,如果值为0xAAAA,则为Ethernet IEEE 802.3 SNAP,剩下就是IEEE 802.3格式的帧。

    欢迎关注微信公众号【程序猿编码】,欢迎添加本人微信号(c17865354792)交流学习。

    参考:RFC 894、RFC 1042

    展开全文
  • 以太网帧的格式

    2021-07-24 17:36:56
    帧用于表示数据链路层中包的单位,所以在以太网中传输的数据包又被称为以太网帧。在每个分层中都会对所发送的数据附加一个首部。所以在以太网中的包是由网络层中传输的数据加上以太网包首部构成。 以太网帧的格式...

    以太网中包的格式

    帧用于表示数据链路层中包的单位,所以在以太网中传输的数据包又被称为以太网帧。在每个分层中都会对所发送的数据附加一个首部。所以在以太网中的包是由网络层中传输的数据加上以太网包首部构成。

    以太网帧的格式不止一种
    以太网最初是由美国的Xerox公司与前DEC公式设计的一种通信方式,当时命名为Ethernet。之后由IEEE802.3委员会将其规范化。但是这两者之间对以太网帧的格式定义还是有所不同的。因此,IEEE802.3所规范的以太网有时又被称为802.3以太网

    以太网帧体格式

    目标MAC地址(6字节)源MAC地址(6字节)类型(2字节)数据(46~1500字节)FCS(4字节)

    802.3以太网帧体格式

    目标MAC地址(6字节)源MAC地址(6字节)帧长度(2字节)LLC(3字节)SNAP(5字节)数据(38~1492字节)FCS(4字节)

    上面所描述的都是帧的本体,在帧的本体前还有一段叫做前导码。在前导码和数据中的部分尾为以太网的首部前导码是由数字0,1交替组成,表示一个以太网帧的开始也是接收端网卡能够确保与其同步的标志。

    前导码(8个8位字节)

    1010101010101010101010101010101010101010101010101010101010101011从这里往后为帧的本体

    这里最后一个8位字节的末尾为11,叫做SFD域,这个域之后就是帧的本体。
    在以太网中对SFD域的定义又有所不同

    • 以太网中将最后2比特称为SFD
    • 802.3以太网中将最后8比特称为SFD

    在目标MAC地址中存放的是目标工作站的物理地址,源MAC地址中存放的是构造以太网帧的发送端的物理地址,类型通常和数据一起传输,它包含用来标识协议类型的编号,用来以太网上一层网络协议的类型,帧尾最后出现的FCS用来检测帧是否有损坏,通过这个字段可以将因受到噪声干扰而损坏的帧丢掉。
    IEEE802.3以太网与一般的以太网的首部稍有差异,在以太网中表示类型的字段在802.3以太网中表示帧的长度,此外数据部分前还有LLC和SNAP字段。而标识上一层协议类型的字段就出现在这个字段中。

    以上就是以太网帧的格式,如有错误请指出,感激不尽

    展开全文
  • 以太网帧结构详解

    万次阅读 多人点赞 2019-07-15 21:52:59
    以太网帧结构详解前言分层模型- OSI分层模型– TCP/IP数据封装终端之间的通信帧格式Ethernet_II 帧格式IEEE802.3 帧格式数据帧传输以太网的MAC地址数据帧的发送和接收单播广播组播发送与接收 前言 20世纪60年代以来...
  • 目的地址地址 类型 数据 校验序列 前导码(7字节):使接收器建立比特同步 其实定界符SFD(1字节):指示一的开始 目的地址DA(6字节):指出要接收该的工作站 源地址SA(6字节):指示发送该的工作站...
  • 针对将TCP/IP协议栈运用在嵌入式成像系统中作为通信方式时所存在的传输速度低的问题,提出一种将数据封装在自定义以太网帧中进行传输的通信方式,并针对这种方式实现了网卡的驱动。定义了三种帧格式分别用于启动曝光...
  • 以太网帧解析

    千次阅读 2021-05-08 10:56:20
    解析以太网数据帧的关键是获取类型字段,然后根据类型字段将数据字段的数据交给上层协议进行处理,同时保存下目的MAC地址和源MAC地址,以供后续其他使用以太网帧数据格式: 1.前同步码 前7B都是10101010,...
  • 以太网帧结构

    2021-12-30 15:18:04
    1、根据需要把网际层的数据分解为较小的块,以符合以太网帧数据段的要求。 以太网帧的整体大小必须在 64~1518 字节之间(不包含前导码)。有些系统支持更大的帧,最大可以支持 9000 字节。有些系统支持更大的帧,...
  • 1.要求画出界面,以太网帧的数据部分、源MAC地址和目的MAC地址均从界面输入; 2.计算后的校验和字段和封装后的结果可以从界面上输出; 3.生成多项式G(X)=X8+X2+X1+1; (或者生成多项式G(X)=X32+X26+X23+X22+...
  • 计算机网络——以太网帧结构/格式

    千次阅读 2020-05-31 17:53:55
    可以看到,以太网帧由6个字段组成: 目的地址 目标适配器的MAC地址 (即物理地址,也称为链路地址、MAC地址、LAN地址。关于它的详细介绍以及其他寻址方式的介绍可以看这篇博客:计算机网络知识点——寻址(物理地址、...
  • 以太网帧格式 常用的以太网MAC帧格式有两种标准,一种是EthernetV2标准(即以太网V2标准),另一种是IEEE的802.3标准。使用得最多的是以太网V2的MAC帧格式。 以太网的帧有三个字段,也就是CSMACD这个协议规定了...
  • EtherType :以太网类型字段及值

    千次阅读 2020-06-05 15:34:03
    Ethernet II类型以太网帧的最小长度为64字节(6+6+2+46+4),最大长度为1518字节(6+6+2+1500+4)。其中前12字节分别标识出发送数据帧的源节点MAC地址和接收数据帧的目标节点MAC地址。(注:ISL封装后可达...
  • 以太网帧与ARP协议分析

    千次阅读 2019-12-04 09:22:01
    分析以太网帧,MAC地址和ARP协议 二、实验环境 与因特网连接的计算机网络系统;主机操作系统为windows;使用Wireshark、IE等软件。 三、实验步骤: IP地址用于标识因特网上每台主机,而端口号则用于区别在同一台主机...
  • 以太网帧和一些标准

    千次阅读 2021-01-13 09:22:33
    以太网帧的目的地址也允许寻址到多个站点(广播或组播) 源地址的后面跟着一个类型字段,或者长度字段,在多数情况下,它用于确定头部后面的数据类型。 TCP/IP网络常用的值IPv4(0x0800) ,IPv6(0x86DD) , ARP
  • 以太网数据格式及ARP协议

    千次阅读 2020-08-29 15:59:52
    在物理层上看,一个完整的以太网帧有7个字段,事实上,前两个字段并不能算是真正意义上的以太网数据帧,它们是以太网在物理层上发送以太网数据时添加上去的。为了实现底层数据的正确阐述,物理层使用7个字节前同步码...
  • TCP/IP笔记1:以太网帧格式

    千次阅读 2018-11-08 10:57:43
     1、以太网帧开始之前都有8个字节的前导字段: 其中前7个字节为前同步码(Preamble),每个字节的值都是0xAA;最后一个字节是帧起始分隔符(Start Frame Delimiter,SFD),值为0xAB,它标识着以太网帧的开始。...
  • 2.以太网帧结构

    千次阅读 2020-08-03 10:42:02
    网络传输数据时需要定义遵循一些标准,以太网是根据IEEE 802.3标准来管理和控制数据的。了解IEEE 802.3标准是充分理解以太网中链路层通信的基础。 2.网路通信协议 20世纪60年代以来,计算机网络得到了飞速发展。...
  • EtherType :以太网类型字段及值 EtherType 是以太里的一个字段,用来指明应用于数据字段的协议。根据 IEEE802.3,Length/EtherType 字段是两个八字节的字段,含义两者取一,这取决于其数值。在量化评估中,...
  • 理解以太网 MAC 地址2.学习并分析以太网 MAC 格式的结构、含义3.了解 ARP 地址解析协议二、实验环境1.Wireshark 网络分析软件2.实验文件“计算机网络实验.cap”三、实验要求1、 理解网络协议的层次结构2、 正确...
  • 1.以太网帧结构 首先PRE:用作同步;SFD:表示帧开始;DA:目的地址,第一位为0表示指定了一个特定站点。若是 1该目的地址是一组地址;数据长度字段(Data Length Field)——说明在数据和填充字段里的 8 位...
  • 使用WireShark在网络中捕获以太网帧并进行分析。 用交换机连接各主机,查看MAC地址学习过程及MAC帧转发过程。 四、实验步骤 任务1 使用WireShark软件在真实网络环境中查看以太网帧。 (1) 使用ip
  • 上一小节,我们通过一个虚构的协议,初步认识了数据链路层的工作原理。数据链路层主要解决由若干主机组成的本地网络的通讯问题,主机寻址 和 ...以太网帧 在以太网中,数据通信的基本单位是 以太网帧 ( 
  • 以太网帧格式学习

    2021-12-31 10:23:44
    数据链路层:将比特组合成字节,再将字节组合成使用链路层地址以太网使用MAC地址)来访问介质,并进行差错检测。 网络层:提供逻辑地址,供路由器确定路径。 传输层:提供面向连接或非面向连接的数据传递...
  • 计算机网络-以太网帧的构成

    千次阅读 2022-03-14 15:51:19
    后面紧跟着一个以太网报头,以MAC地址说明目的地址和源地址的中部是该负载的包含其他协议报头的数据包(例如IP协议)。以太由一个32位冗余校验码结尾。它用于检验数据传输是否出现损坏。 二.搭建抓包环境-...
  • 3.2 以太网帧

    2021-07-01 16:49:10
    以太网技术使用的帧是以太网帧,令牌环技术使用的帧是令牌环帧,FR技术使用的帧是FR帧,如此等等。本书中所提到的帧,如无特别说明,都是指以太网帧。 3.2.1 MAC地址 1980年2月,美国电器和电子工程师协会IEEE召开了...
  • 以太网帧结构分析

    千次阅读 2020-12-23 15:00:53
    实验报告实验名称以太网帧分层结构分析队别姓名学号实验日期2015.3.15实验报告要求:1.实验目的2.实验要求3.实验环境4.实验作业5.问题及解决6....观察以太网帧,Ping同学的IP地址,得到自己和同...
  • 以太网帧类型总结

    万次阅读 2016-09-12 09:27:06
    以太网帧类型速查   EtherType :以太网类型字段及值 EtherType 是以太帧里的一个字段,用来指明应用于帧数据字段的协议。根据 IEEE802.3,Length/EtherType 字段是两个八字节的字段,含义两者取一,这取决...
  • 以太网帧格式的各字段解释

    万次阅读 2013-06-25 15:40:21
    如上图为以太网格式,以下是对每字段字段字段长度及作用的1、前导码(Preamble) 7B 不算在以太里面,只是用定制开始,起同步作用。2、开始符(SFD) 1B 标识一个的开始,代码为:10101011. 3、目的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 24,720
精华内容 9,888
热门标签
关键字:

以太网帧的地址字段使用的是