tokenpocket交易所app下载|ethernet帧的地址字段中填写的是
tokenpocket交易所app下载|ethernet帧的地址字段中填写的是
以太网帧结构 - 知乎
以太网帧结构 - 知乎切换模式写文章登录/注册以太网帧结构九月里的秋日拱一卒,行则将至。 网络中传输数据时需要定义并遵循一些标准,以太网是根据引EEE802.3标准来管理和控制数据帧的。了解EEE802.3标准是充分理解以太网中链路层通信的基础。 不同的协议栈用于定义和管理不同网络的数据转发规则: 网络通信中,“协议”和“标准”这两个词汇常常可以混用。同时,协议或标准本身又常常具有层次的特点。一般地,关注于逻辑数据关系的协议通常被称为上层协议,而关注于物理数据流的协议通常被称为低层协议。EEE802就是一套用来管理物理数据流在局域网中传输的标准,包括在局域网中传输物理数据的802.3以太网标准,还有一些用来管理物理数据流在使用串行介质的广域网中传输的标准,如帧中继FR(Frame Relay),高级数据链路控制HDLC(High-Level Data LinkControl),异步传输模式ATM(Asynchronous Transfer Mode)。分层模型-OSI 国际标准化组织ISO于1984年提出了OSI RM(Open SystemInterconnection Reference Model,开放系统互连参考模型)。OSl参考模型很快成为了计算机网络通信的基础模型。OS参考模型具有以下优点:简化了相关的网络操作;提供了不同厂商之间的兼容性;促进了标准化工作;结构上进行了分层;易于学习和操作。OS参考模型各个层次的基本功能如下:1、物理层:在设备之间传输比特流,规定了电平、速度和电缆针脚。2、数据链路层:将比特组合成字节,再将字节组合成帧,使用链路层地址(以太网使用MAC地址)来访问介质,并进行差错检测。3、网络层:提供逻辑地址,供路由器确定路径。4、传输层:提供面向连接或非面向连接的数据传递以及进行重传前的差错检测。5、会话层:负责建立、管理和终止表示层实体之间的通信会话。该层的通信由不同设备中的应用程序之间的服务请求和响应组成。6、表示层:提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。7、应用层:OS参考模型中最靠近用户的一层,为应用程序提供网络服务。分层模型-TCP/IP TCP/IP模型同样采用了分层结构,层与层相对独立但是相互之间也具备非常密切的协作关系。TCP/IP模型将网络分为四层。TCP/IP模型不关注底层物理介质,主要关注终端之间的逻辑数据流转发。TCP/IP模型的核心是网络层和传输层网络层解决网络之间的逻辑转发问题,传输层保证源端到目的端之间的可靠传输。最上层的应用层通过各种协议向终端用户提供业务应用。数据的封装 应用数据需要经过TCP/IP每一层处理之后才能通过网络传输到目的端,每一层上都使用该层的协议数据单元PDU(Protocol Data Unit)彼此交换信息。不同层的PDU中包含有不同的信息,因此PDU在不同层被赋予了不同的名称。如上层数据在传输层添加TCP报头后得到的PDU被称为Segment(数据段);数据段被传递给网络层,网络层添加lP报头得到的PDU被称为Packet(数据包);数据包被传递到数据链路层,封装数据链路层报头得到的PDU被称为Frame(数据帧);最后,帧被转换为比特,通过网络介质传输。这种协议栈逐层向下传递数据,并添加报头和报尾的过程称为封装。数据链路层控制数据帧在物理链路上传输 数据包在以大网物理介质上传播之前必须封装头部和尾部信息,封装后的数据包称为数据帧,数据帧中封装的信息决定了数据如何传输。以太网上传输的数据帧有两种格式,选择哪种格式由TCPP协议簇中的网络层决定。帧格式 以太网上使用两种标准帧格式。第一种是上世纪80年代初提出的DXV2格式,即Ethernet llr帧格式。Ethernet Il后来被IEEE802标准接纳,并写进了IEEE802.3x-1997的3.2.6节。第二种是1983年提出的1EEE802.3格式。这两种格式的主要区别在于Ethernet Il格式中包含一个Type字段标识以太帧处理完成之后将被发送到哪个上层协议进行处理,EEE802.3格式中,同样的位置是长度字段。不同的Type字段值可以用来区别这两种帧的类型,当Type字段值小于等于1500(或者十六进制的0x05DC)时,帧使用的是EEE802.3格式。当Type字段值大于等于1536(或者十六进制的0x0600)时,帧使用的是Ethernet Il格式。以太网中大多数的数据帧使用的是Ethernet Il格式。以太帧中还包括源和目的MAC地址,分别代表发送者的MAC和接收者的AC,此外还有帧校验序列字段,用于检验传输过程中帧的完整性。Ethernet_Ⅱ帧类型值大于等于1536(0x0600);以太网数据帧的长度在64-1518字节之间。 Ethernet ll的帧中各字段说明如下:1、DAC(Destination MAC)是目的MAC地址。DAC字段长度为6个字节,标识帧的接收者。2、SMAC(Source MAC)是源MAC地址。SMAC字段长度为6个字节,标识帧的发送者。3、类型字段(Type)用于标识数据字段中包含的高层协议,该字段长度为2个字节。类型字段取值为0x0800的帧代表P协议帧;类型字段取值为0x0806的帧代表ARP协议帧。4、数据字段(Data)是网络层数据,最小长度必须为46字节以保证帧长至少为64字节,数据字段的最大长度为1500字节。5、循环冗余校验字段(FCS)提供了一种错误检测机制。该字段长度为4个字节。IEEE802.3帧格式;1EEE802.3帧长度字段值小于等于1500(0x05DC)。 lEEE802.3帧格式类似于Ethernet_llr帧,只是Ethernet_ll帧的Type域被802.3帧的Length域取代,并且占用了Data字段的8个字节作为LLC和SNAP字段。1、Length字段定义了Data字段包含的字节数。2、逻辑链路控制LLC(Logical Link Control)由目的服务访问点DSAP(Destination Service Access Point)、源服务访问点SSAP(Source Service Access Point)和Control字段组成。3、SNAP(Sub-network Access Protocol))由机构代码(Org Code)和类型(Type)字段组成。Org Code三个字节都为0。Type字段的含义与Ethernet_ll帧中的Type字段相同。IEEE802.3帧根据DSAP和SSAP字段的取值又可分为以下几类:1)当DSAP和SSAP都取特定值Oxf时,802.3帧就变成了Netware-ETHERNET帧,用来承载NetWare类型的数据。2)当DSAP和SSAP都取特定值0xaa时,802.3帧就变成了ETHERNET SNAP帧。ETHERNET_SNAP帧可以用于传输多种协议。3)DSAP和SSAP其他的取值均为纯IEEE802.3帧。数据帧传输--数据链路层基于MAC地址进行帧的传输 以太网在二层链路上通过MAC地址来唯一标识网络设备,并且实现局域网上网络设备之间的通信。MAC地址也叫物理地址,大多数网卡厂商把AC地址烧入了网卡的ROM中。发送端使用接收端的AC地址作为目的地址。以太帧封装完成后会通过物理层转换成比特流在物理介质上传输。以太网的Mac地址 MAC地址由两部分组成,分别是供应商代码和序列号。其中前24位代表该供应商代码,由EEE管理和分配。剩下的24位序列号由厂商自己分配。如同每一个人都有一个名字一样,每一台网络设备都用物理地址来标识自己,这个地址就是MAC地址。网络设备的MAC地址是全球唯一的。MAC地址长度为48比特,通常用十六进制表示。MAC地址包含两部分:前24比 特 是 组 织 唯 一 标 识 符(OUI,OrganizationallyUniqueIdentifier),由IEEE统一分配给设备制造商。例如,华为的网络产品的MAC地址前24比特是0x00e0fc。后24位序列号是厂商分配给每个产品的唯一数值,由各个厂商自行分配(这里所说的产品可以是网卡或者其他需要MAC地址的设备)。单播 局域网上的帧可以通过三种方式发送。第一种是单播,指从单一的源端发送到单一的目的端。每个主机接口由一个AC地址唯一标识,MAC地址的OU中,第一字节第8个比特表示地址类型。对于主机AC地址这个比特固定为0,表示目的MAC地址为此MAC地址的帧都是发送到某个唯一的目的端。在冲突域中,所有主机都能收到源主机发送的单播帧,但是其他主机发现目的地址与本地MAC地址不一致后会丢弃收到的帧,只有真正的目的主机才会接收并处理收到的帧。广播 第二种发送方式是广播,表示帧从单一的源发送到共享以大网上的所有主机。广播帧的目的MAC地址为十六进制的FF:FF:FF:FF:FF:FF,所有收到该广播帧的主机都要接收并处理这个帧。广播方式会产生大量流量,导致带宽利用率降低,进而影响整个网络的性能。当需要网络中的所有主机都能接收到相同的信息并进行处理的情况下,通常会使用广播方式。组播 第三种发送方式为组播,组播比广播更加高效。组播转发可以理解为选择性的广播,主机侦听特定组播地址,接收并处理目的AC地址为该组播MAC地址的帧。组播AC地址和单播MAC地址是通过第一字节中的第8个比特区分的。组播MAC地址的第8个比特为1,而单播MAC地址的第8个比特为0。当需要网络上的一组主机(而不是全部主机)接收相同信息,并且其他主机不受影响的情况下通常会使用组播方式。数据帧的发送和接收 当主机接收到的数据帧所包含的目的MAC地址是自己时,会把以太网封装剥掉后送往上层协议。帧从主机的物理接口发送出来后,通过传输介质传输到目的端。共享网络中,这个帧可能到达多个主机。主机检查帧头中的目的AC地址,如果目的MAC地址不是本机AC地址,也不是本机侦听的组播或广播AC地址,则主机会丢弃收到的帧。如果目的MAC地址是本机MAC地址,则接收该帧,检查帧校验序列(FCS)字段,并与本机计算的值对比来确定帧在传输过程中是否保持了完整性。如果帧的FCS值与本机计算的值不同,主机会认为帧己被破坏,并会丢弃该帧。如果该帧通过了FCS校验,则主机会根据帧头部中的Type字段来确定将帧发送给上层哪个协议处理。本例中,Type字段的值为0x0800,表明该帧需要发送到P协议上处理。在发送给P协议之前,帧的头部和尾部会被剥掉。1、网络设备如何确定以太网数据帧的上层协议? 以太网帧中包含一个Type字段,表示帧中的数据应该发送到上层哪个协议处理。比如,IP协议对应的Type值为0x0800,ARP协议对应的Type值为0x0806。2、终端设备接收到数据帧时,会如何处理? 主机检查帧头中的目的MAC地址,如果目的MAC地址不是本机MAC地址,也不是本机侦听的组播或广播AC地址,则主机会丢弃收到的帧。如果目的AC地址是本机AC地址,则接收该帧,检查帧校验序列(FCS)字段,并与本机计算的值对比来确定帧在传输过程中是否保持了完整性。如果检查通过,就会剥离帧头和帧尾,然后根据帧头中的Type字段来决定把数据发送到哪个上层协议进行后续处理。编辑于 2022-08-17 16:08以太网帧格式华为 HCIA 路由交换认证指南(书籍)MAC地址赞同添加评论分享喜欢收藏申请
以太网帧结构详解 - 知乎
以太网帧结构详解 - 知乎首发于网络协议详解切换模式写文章登录/注册以太网帧结构详解nwatch计算机的世界真是太精彩了!!!前言20世纪60年代以来,计算机网络得到了飞速发展。各大厂商和标准组织为了在数据通信网络领域占据主导地位,纷纷推出了各自的网络架构体系和标准,如IBM公司的SNA协议,Novell公司的IPX/SPX协议,以及广泛流行的OSI参考模型和TCP/IP协议。同时,各大厂商根据这些协议生产出了不同的硬件和软件。标准组织和厂商的共同努力促进了网络技术的快速发展和网络设备种类的迅速增长。网络通信中,“协议”和“标准”这两个词汇常常可以混用。同时,协议或标准本身又常常具有层次的特点。一般地,关注于逻辑数据关系的协议通常被称为上层协议,而关注于物理数据流的协议通常被称为低层协议。IEEE 802就是一套用来管理物理数据流在局域网中传输的标准,包括在局域网中传输物理数据的802.3以太网标准。还有一些用来管理物理数据流在使用串行介质的广域网中传输的标准,如帧中继FR(Frame Relay),高级数据链路控制HDLC(High-Level Data Link Control),异步传输模式ATM(Asynchronous Transfer Mode)。分层模型- OSI不同的协议栈用于定义和管理不同网络的数据转发规则。国际标准化组织ISO于1984年提出了OSI RM(Open System Interconnection Reference Model,开放系统互连参考模型)。OSI 参考模型很快成为了计算机网络通信的基础模型。OSI参考模型具有以下优点:简化了相关的网络操作;提供了不同厂商之间的兼容性;促进了标准化工作;结构上进行了分层;易于学习和操作。OSI参考模型各个层次的基本功能如下:1.物理层: 在设备之间传输比特流,规定了电平、速度和电缆针脚。2.数据链路层:将比特组合成字节,再将字节组合成帧,使用链路层地址(以太网使用MAC地址)来访问介质,并进行差错检测。3.网络层:提供逻辑地址,供路由器确定路径。4.传输层:提供面向连接或非面向连接的数据传递以及进行重传前的差错检测。5.会话层:负责建立、管理和终止表示层实体之间的通信会话。该层的通信由不同设备中的应用程序之间的服务请求和响应组成。6.表示层:提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。7.应用层:OSI参考模型中最靠近用户的一层,为应用程序提供网络服务。分层模型– TCP/IPTCP/IP模型同样采用了分层结构,层与层相对独立但是相互之间也具备非常密切的协作关系。TCP/IP模型将网络分为四层。TCP/IP模型不关注底层物理介质,主要关注终端之间的逻辑数据流转发。TCP/IP模型的核心是网络层和传输层:网络层解决网络之间的逻辑转发问题,传输层保证源端到目的端之间的可靠传输。最上层的应用层通过各种协议向终端用户提供业务应用。数据封装应用数据需要经过TCP/IP每一层处理之后才能通过网络传输到目的端,每一层上都使用该层的协议数据单元PDU(Protocol Data Unit)彼此交换信息。不同层的PDU中包含有不同的信息,因此PDU在不同层被赋予了不同的名称。如上层数据在传输层添加TCP报头后得到的PDU被称为Segment(数据段 )数据段被传递给网络层,网络层添加IP报头得到的PDU被称为Packet(数据包)数据包被传递到数据链路层,封装数据链路层报头得到的PDU被称为Frame(数据帧)最后,帧被转换为比特(物理层)通过网络介质传输。这种协议栈逐层向下传递数据,并添加报头和报尾的过程称为封装。终端之间的通信数据链路层控制数据帧在物理链路上传输。数据包在以太网物理介质上传播之前必须封装头部和尾部信息。封装后的数据包称为称为数据帧,数据帧中封装的信息决定了数据如何传输。以太网上传输的数据帧有两种格式,选择哪种格式由TCP/IP协议簇中的网络层决定。帧格式以太网上使用两种标准帧格式。第一种是上世纪80年代初提出的DIX v2格式,即Ethernet II帧格式。Ethernet II后来被IEEE 802标准接纳,并写进了IEEE 802.3x-1997的3.2.6节。第二种是1983年提出的IEEE 802.3格式。这两种格式的主要区别在于,Ethernet II格式中包含一个Type字段,标识以太帧处理完成之后将被发送到哪个上层协议进行处理。IEEE 802.3格式中,同样的位置是长度字段。不同的Type字段值可以用来区别这两种帧的类型当Type字段值小于等于1500(或者十六进制的0x05DC)时,帧使用的是IEEE 802.3格式。当Type字段值大于等于1536 (或者十六进制的0x0600)时,帧使用的是Ethernet II格式。以太网中大多数的数据帧使用的是Ethernet II格式。以太帧中还包括源和目的MAC地址,分别代表发送者的MAC和接收者的MAC,此外还有帧校验序列字段,用于检验传输过程中帧的完整性。Ethernet_II 帧格式Ethernet_II 帧类型值大于等于1536 (0x0600)以太网数据帧的长度在64-1518字节之间Ethernet_II的帧中各字段说明如下:DMAC(Destination MAC)是目的MAC地址。DMAC字段长度为6个字节,标识帧的接收者。SMAC(Source MAC)是源MAC地址。SMAC字段长度为6个字节,标识帧的发送者。类型字段(Type)用于标识数据字段中包含的高层协议,该字段长度为2个字节。类型字段取值为0x0800的帧代表IP协议帧;类型字段取值为0806的帧代表ARP协议帧。数据字段(Data)是网络层数据,最小长度必须为46字节以保证帧长至少为64字节,数据字段的最大长度为1500字节。循环冗余校验字段(FCS)提供了一种错误检测机制。该字段长度为4个字节。IEEE802.3 帧格式IEEE 802.3 帧长度字段值小于等于1500 (0x05DC)IEEE 802.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字段的取值又可分为以下几类:当DSAP和SSAP都取特定值0xff时,802.3帧就变成了Netware-ETHERNET帧,用来承载NetWare类型的数据。当DSAP和SSAP都取特定值0xaa时,802.3帧就变成了ETHERNET_SNAP帧。ETHERNET_SNAP帧可以用于传输多种协议。DSAP和SSAP其他的取值均为纯IEEE802.3帧。数据帧传输数据链路层基于MAC地址进行帧的传输以太网在二层链路上通过MAC地址来唯一标识网络设备,并且实现局域网上网络设备之间的通信。MAC地址也叫物理地址,大多数网卡厂商把MAC地址烧入了网卡的ROM中。发送端使用接收端的MAC地址作为目的地址。以太帧封装完成后会通过物理层转换成比特流在物理介质上传输。以太网的MAC地址MAC地址由两部分组成,分别是供应商代码和序列号。其中前24位代表该供应商代码,由IEEE管理和分配。剩下的24位序列号由厂商自己分配。如同每一个人都有一个名字一样,每一台网络设备都用物理地址来标识自己,这个地址就是MAC地址。网络设备的MAC地址是全球唯一的。MAC地址长度为48比特,通常用十六进制表示。MAC地址包含两部分:前24比特是组织唯一标识符(OUI,Organizationally Unique Identifier),由IEEE统一分配给设备制造商。例如,华为的网络产品的MAC地址前24比特是0x00e0fc。后24位序列号是厂商分配给每个产品的唯一数值,由各个厂商自行分配(这里所说的产品可以是网卡或者其他需要MAC地址的设备)。数据帧的发送和接收单播局域网上的帧可以通过三种方式发送。第一种是单播,指从单一的源端发送到单一的目的端。每个主机接口由一个MAC地址唯一标识,MAC地址的OUI中,第一字节第8个比特表示地址类型。对于主机MAC地址,这个比特固定为0,表示目的MAC地址为此MAC地址的帧都是发送到某个唯一的目的端。在冲突域中,所有主机都能收到源主机发送的单播帧,但是其他主机发现目的地址与本地MAC地址不一致后会丢弃收到的帧,只有真正的目的主机才会接收并处理收到的帧。广播第二种发送方式是广播,表示帧从单一的源发送到共享以太网上的所有主机。广播帧的目的MAC地址为十六进制的FF:FF:FF:FF:FF:FF,所有收到该广播帧的主机都要接收并处理这个帧。广播方式会产生大量流量,导致带宽利用率降低,进而影响整个网络的性能。当需要网络中的所有主机都能接收到相同的信息并进行处理的情况下,通常会使用广播方式。组播第三种发送方式为组播,组播比广播更加高效。组播转发可以理解为选择性的广播,主机侦听特定组播地址,接收并处理目的MAC地址为该组播MAC地址的帧。组播MAC地址和单播MAC地址是通过第一字节中的第8个比特区分的。组播MAC地址的第8个比特为1,而单播MAC地址的第8个比特为0。当需要网络上的一组主机(而不是全部主机)接收相同信息,并且其他主机不受影响的情况下,通常会使用组播方式。发送与接收当主机接收到的数据帧所包含的目的MAC地址是自己时,会把以太网封装剥掉后送往上层协议。帧从主机的物理接口发送出来后,通过传输介质传输到目的端。共享网络中,这个帧可能到达多个主机。主机检查帧头中的目的MAC地址,如果目的MAC地址不是本机MAC地址,也不是本机侦听的组播或广播MAC地址,则主机会丢弃收到的帧。如果目的MAC地址是本机MAC地址,则接收该帧,检查帧校验序列(FCS)字段,并与本机计算的值对比来确定帧在传输过程中是否保持了完整性。如果帧的FCS值与本机计算的值不同,主机会认为帧已被破坏,并会丢弃该帧。如果该帧通过了FCS校验,则主机会根据帧头部中的Type字段来确定将帧发送给上层哪个协议处理。实际数据包分析:ARP类型数据包其他类型数据包:原文链接;以太网帧结构详解_曌赟的博客-CSDN博客发布于 2020-10-12 11:16计算机网络网络通信数据通信赞同 531 条评论分享喜欢收藏申请转载文章被以下专栏收录网络协议详解网络协
以太网(Ethernet)的帧结构_以太网帧中源地址字段填入地址-CSDN博客
>以太网(Ethernet)的帧结构_以太网帧中源地址字段填入地址-CSDN博客
以太网(Ethernet)的帧结构
最新推荐文章于 2023-06-08 10:30:57 发布
liubin0580
最新推荐文章于 2023-06-08 10:30:57 发布
阅读量2.5k
收藏
7
点赞数
分类专栏:
杂(早期)
文章标签:
byte
网络
工作
service
access
扩展
杂(早期)
专栏收录该内容
3 篇文章
0 订阅
订阅专栏
常见以太网帧结构详解
常见以太网帧结构详解 1 以太网相关背景 以太网这个术语通常是指由DEC,Intel和Xerox公司在1982年联合公布的一个标准,它是当今TCP/IP采用的主要的局域网技术,它采用一种称作CSMA/CD的媒体接入方法。几年后,IEEE802委员会公布了一个稍有不同的标准集,其中802.3针对整个CSMA/CD网络,802.4针对令牌总线网络,802.5针对令牌环网络;此三种帧的通用部分由802.2标准来定义,也就是我们熟悉的802网络共有的逻辑链路控制(LLC)。由于目前CSMA/CD的媒体接入方式占主流,因此本文仅对以太网和IEEE 802.3的帧格式作详细的分析。 在TCP/IP世界中,以太网IP数据报文的封装在RFC 894中定义,IEEE802.3网络的IP数据报文封装在RFC 1042中定义。标准规定: 1)主机必须能发送和接收采用RFC 894(以太网)封装格式的分组; 2)主机应该能接收RFC 1042(IEEE 802.3)封装格式的分组; 3)主机可以发送采用RFC 1042(IEEE 802.3)封装格式的分组。如果主机能同时发送两种类型的分组数据,那么发送的分组必须是可以设置的,而且默认条件下必须是RFC 894(以太网)。 最常使用的封装格式是RFC 894定义的格式,俗称Ethernet II或者Ethernet DIX。下面,我们就以Ethernet II称呼RFC 894定义的以太帧,以IEEE802.3称呼RFC 1042定义的以太帧。 2 帧格式 Ethernet II和IEEE802.3的帧格式分别如下。 Ethernet II帧格式: ---------------------------------------------------------------------------------------------- | 前序 | 目的地址 | 源地址 | 类型 | 数据 | FCS | ---------------------------------------------------------------------------------------------- | 8 byte | 6 byte | 6 byte | 2 byte | 46~1500 byte | 4 byte| IEEE802.3一般帧格式 -------------------------------------------------------------------------------------------------------------- | 前序 | 帧起始定界符 | 目的地址 | 源地址 | 长度 | 数据 | FCS | ------------------------------------------------------------------------------------------------------------ | 7 byte | 1 byte | 2/6 byte | 2/6 byte | 2 byte | 46~1500 byte | 4 byte | Ethernet II和IEEE802.3的帧格式比较类似,主要的不同点在于前者定义的2字节的类型,而后者定义的是2字节的长度;所幸的是,后者定义的有效长度值与前者定义的有效类型值无一相同,这样就容易区分两种帧格式了。 一、 前序字段 前序字段由8个(Ethernet II)或7个(IEEE802.3)字节的交替出现的1和0组成,设置该字段的目的是指示帧的开始并便于网络中的所有接收器均能与到达帧同步,另外,该字段本身(在Ethernet II中)或与帧起始定界符一起(在IEEE802.3中)能保证各帧之间用于错误检测和恢复操作的时间间隔不小于9.6毫秒。 二、 帧起始定界符字段 该字段仅在IEEE802.3标准中有效,它可以被看作前序字段的延续。实际上,该字段的组成方式继续使用前序字段中的格式,这个一个字节的字段的前6个比特位置由交替出现的1和0构成。该字段的最后两个比特位置是11,这两位中断了同步模式并提醒接收后面跟随的是帧数据。 当控制器将接收帧送入其缓冲器时,前序字段和帧起始定界符字段均被去除。类似地当控制器发送帧时,它将这两个字段(如果传输的是IEEE802.3帧)或一个前序字段(如果传输的是真正的以太网帧)作为前缀加入帧中。 三、 目的地址字段 目的地址字段确定帧的接收者。两个字节的源地址和目的地址可用于IEEE802.3网络,而6个字节的源地址和目的地址字段既可用于Ethernet II网络又可用于IEEE802.3网络。用户可以选择两字节或六字节的目的地址字段,但对IEEE802.3设备来说,局域网中的所有工作站必须使用同样的地址结构。目前,几乎所有的802.3网络使用6字节寻址,帧结构中包含两字节字段选项主要是用于使用16比特地址字段的早期的局域网。 四、 源地址字段 源地址字段标识发送帧的工作站。和目前地址字段类似,源地址字段的长度可以是两个或六个字节。只有IEEE802.3标准支持两字节源地址并要求使用的目的地址。Ethernet II和IEEE802.3标准均支持六个字节的源地址字段。当使用六个字节的源地址字段时,前三个字节表示由IEEE分配给厂商的地址,将烧录在每一块网络接口卡的ROM中。而制造商通常为其每一网络接口卡分配后字节。 五、 类型字段 两字节的类型字段仅用于Ethernet II帧。该字段用于标识数据字段中包含的高层协议,也就是说,该字段告诉接收设备如何解释数据字段。在以太网中,多种协议可以在局域网中同时共存,例如:类型字段取值为十六进制0800的帧将被识别为IP协议帧,而类型字段取值为十六进制8137的帧将被识别为IPX和SPX传输协议帧。因此,在 Ethernet II的类型字段中设置相应的十六进制值提供了在局域网中支持多协议传输的机制。 在IEEE802.3标准中类型字段被替换为长度字段,因而Ethernet II帧和IEEE802.3帧之间不能兼容。 六、 长度字段 用于IEEE802.3的两字节长度字段定义了数据字段包含的字节数。不论是在Ethernet II还是IEEE 802.3标准中,从前序到FCS字段的帧长度最小必须是64字节。最小帧长度保证有足够的传输时间用于以太网网络接口卡精确地检测冲突,这一最小时间是根据网络的最大电缆长度和帧沿电缆长度传播所要求的时间确定的。基于最小帧长为64字节和使用六字节地址字段的要求,意味着每个数据字段的最小长度为46字节。唯一的例外是吉比特以太网。在1000Mbit/s的工作速率下,原来的802.3标准不可能提供足够的帧持续时间使电缆长度达到100米。这是因为在1000Mbit/s的数据率下,一个工作站在发现网段另一端出现的任何冲突之前已经处在帧传输过程中的可能性很高。为解决这一问题,设计了将以太网最小帧长扩展为512字节的负载扩展方法。 对除了吉比特以太网之外的所有以太网版本,如果传输数据少于46个字节,应将数据字段填充至46字节。不过,填充字符的个数不包括在长度字段值中。同时支持以太网和IEEE802.3帧格式的网络接口卡通过这一字段的值区分这两种帧。也就是说,因为数据字段的最大长度为1500字节,所以超过十六进制数 05DC的值说明它不是长度字段(IEEE802.3).而是类型字段(Ethernet II)。 七、 数据字段 如前所述,数据字段的最小长度必须为46字节以保证帧长至少为64字节,这意味着传输一字节信息也必须使用46字节的数据字段:如果填入该该字段的信息少于46字节,该字段的其余部分也必须进行填充。数据字段的最大长度为1500字节。 八、 校验序列字段 既可用于Ethernet II又可用于IEE802.3标准的帧校验序列字段提供了一种错误检测机制,每一个发送器均计算一个包括了地址字段、类型/长度字段和数据字段的循环冗余校验(CRC)码。发送器于是将计算出的CRC填入四字节的FCS字段。 虽然IEEE802.3标准必然要取代Ethernet II,但由于二者的相似以及Ethernet II作为IEEE802.3的基础这一事实,我们将这两者均看作以太网。 3 以太网帧结构的变种格式 以太网帧结构的变种,仅涉及到IEEE802.3帧。下图描述了IEEE802.3帧数据部分的结构,这个结构就是IEEE802.2定义的LLC(逻辑链路控制),LLC用来识别信息包中所承载的协议。LLC报头包含DSAP(destination service access point,目的服务访问点)、SSAP(source service access point,源服务访问点)和控制字段。 当DSAP和SSAP取特定值:0xff和0xaa时,会分别产生两个变种:Netware-以太网帧和以太网-SNAP帧;其他的取值均为纯802.3帧。 ----------------------------------------------------------------------------------------------- | 前序 | 帧起始定界符 | 目的地址 | 源地址 | 长度 | 数据 | FCS | ----------------------------------------------------------------------------------------------- | / | / | / | / | / -------------------------------------- / | DSAP | SSAP | 控制 | 信息 | --------------------------------------- 一、Netware-以太网帧 Netware-以太网帧对IEEE802.3的数据字段进行了专门分隔以便传输NetWare类型的数据。实际使用的帧类型是在系统设置时通过将 NetWare与特定类型的帧绑写而定义的。下图显示了Netware-以太网帧格式。图中的IPX=0xffff,也就是说,以太网帧中的 DSAP=SSAP=0xff时,802.3帧就变成了Netware-以太网帧,用来承载NetWare类型的数据。由于不再有LLC字段,所以这种帧通常称为简化802.3。 对那些使用或考虑使用NetWare的人,在涉及帧类型时应该小心:Novell使用术语以太网-802.3,因此如果将NetWare设置为以太网-802.2帧,网络实际上是符合以太网-802.3标准的,也就是说,有LLC结构的。 ----------------------------------------------------------------------------------------------- | 前序 | 帧起始定界符 | 目的地址 | 源地址 | 长度 | 数据 | FCS | ----------------------------------------------------------------------------------------------- | / | / | / | / | / ----------------------- | IPX头 | 信息 | ------------------------ 二、以太网-SNAP帧 以太网-SNAP帧与Netware-以太网帧不同,可以用于传输多种协议。因为在以太网-SNAP帧中包含以太网类型字段,故AppleTalk Phase II、NetWare及TCP/IP协议均能传输。因此,SNAP可以被看作一种扩展,它允许厂商创建自己的以太网传输协议。以太网-SNAP标准由 IEEE802.1委员会制定以保证IEEE802.3局域网和以太网之间的互操作性。 下图显示了以太网-SNAP帧格式。尽管这种帧格式是基于IEEE802.3帧格式的,但它并不使用DSAP和SSAP信箱机制和控制字段。相反,在这些字段中使用特定的值表示该帧是SNAP帧。 ------------------------------------------------------------------------------------- | 前序 |定界符 | 目的地址 | 源地址 | 长度 | 数据 | FCS | ------------------------------------------------------------------------------------- | / | / | / | / | / ------------------------------------------------ |DSAP|SSAP|控制|机构代码|类型|信息| ------------------------------------------------ 十六进制值AA被放置在DSAP和SSAP字段,而十六进制值03被放置在控制字段,这指明传输的是SNAP帧。将十六进制值03放置在控制字段表明使用无编码格式,这是SNAP帧支持的唯一一种格式。 机构代码字段指明在后续的以太网类型字段中放置的是由哪一个机构分配的值。在机构代码字段中的十六进制值00-00-00指明施乐公司分配了以太网类型字段的值。通过使用以太网-SNAP帧,可以按与原始的以太网帧类似的方式获得支持多协议的能力,原始以太网设置类型字段的目的与此相同。 4 帧判定 接收工作站可以通过判断以太帧的字段正确解释帧中承载的数据。为此,应首先检查跟在源地址之后的两个字节的值。如果该值大于1500,则必定是Ethernet II帧;否则该帧或者是纯IEEE802.3帧,或者是这种帧的变种。此时,必须检查更多的字节。 如果下面的两个字节取值十六进制FF:FF,则该帧是NetWare-以太网,这是因为在IPX头结构中前两个字节的校验和字段取值十六进制FF:FF;如果这两个字节取值为十六进制AA:AA,则表示是以太网-SANP帧;此外,这两个字节的任何其它取值均指示该帧纯802.3帧。 5 IPX的四种以太帧封装格式 介绍了上面的四种以太帧的格式,现在以IPX报文为例,介绍如何利用四种以太帧的格式进行封装。 一、Ethernet II封装格式 ------------------------------------------------------------------------------------- | 前序 | 目的地址 | 源地址 | 0x8137 | IPX 数据报 | FCS | ------------------------------------------------------------------------------------- 二、Netware-以太网帧 -------------------------------------------------------------------------------------------------------- | 前序 | 帧起始定界符 | 目的地址 | 源地址 | 长度 | IPX 数据报 | FCS | --------------------------------------------------------------------------------------------------------- 三、以太网-SNAP帧 --------------------------------------------------------------------------------------------------------------------------- |前序|定界符|目的地址|源地|长度|0xAA|0xAA |0x03|0x000000 |0x8137| IPX 报文 | FCS | --------------------------------------------------------------------------------------------------------------------------- 四、纯802.3帧 --------------------------------------------------------------------------------------------------------------------------- |前序|定界符|目的地址|源地|长度| 0xe0 | 0xe0 | 0x03 | IPX 报文 | FCS |
优惠劵
liubin0580
关注
关注
0
点赞
踩
7
收藏
觉得还不错?
一键收藏
知道了
1
评论
以太网(Ethernet)的帧结构
常见以太网帧结构详解常见以太网帧结构详解1 以太网相关背景以太网这个术语通常是指由DEC,Intel和Xerox公司在1982年联合公布的一个标准,它是当今TCP/IP采用的主要的局域网技术,它采用一种称作CSMA/CD的媒体接入方法。几年后,IEEE802委员会公布了一个稍有不同的标准集,其中802.3针对整个CSMA/CD网络,8
复制链接
扫一扫
专栏目录
【以太网硬件十】10Gbase-T怎么做到万兆传输速率的?
highman110的博客
10-06
3437
详述10G以太网电口的物理层编码原理
自动协商
weixin_34249678的博客
09-10
1378
自己在网上找的别人写的,基本知识最早的以太网都是10M半双工的,所以需要CSMA/CD等一系列机制保证系统的稳定性。随着技术的发展,出现了全双工,接着又出现了100M,以太网的性能大大改善。但是随之而来的问题是:如何保证原有以太网络和新以太网的兼容?于是,提出了自动协商技术来解决这种矛盾。自动协商的主要功能就是使物理链路两端的设备通过交互信息自动选择同样的工作参数。自动协商的...
1 条评论
您还未登录,请先
登录
后发表或查看评论
以太网网络协议Ethernet II 帧分析
热门推荐
yetugeng的专栏
09-03
2万+
目前主要有两种格式的以太网帧:Ethernet II(DIX 2.0)和IEEE 802.3。
IP、ARP、EAP和QICQ协议使用Ethernet II帧结构,而STP协议则使用IEEE 802.3帧结构。
Ethernet II是由Xerox与DEC、Intel(DIX)在1982年制定的以太网标准帧格式,后来被定义在RFC894中。
IEEE 802.3是IEEE 802委员会在19...
常见以太网帧结构详解
weixin_34320159的博客
03-14
941
常见以太网帧结构详解 1 以太网相关背景 以太网这个术语通常是指由DEC,Intel和Xerox公司在1982年联合公布的一个标准,它是当今TCP/IP采用的主要的局域网技术,它采用一种称作CSMA/CD的媒体接入方法。几年后,IEEE802委员会公布了一个稍有不同的标准集,其中802.3针对整个CSMA/CD网络,802.4针对令牌总线网络,802.5针对令...
华为数通HCIA学习笔记——以太网帧结构
dbqwcl的博客
11-12
728
以太网帧结构
分层模型-OSI
OSI七层模型:网络通信工作分为7层,不同层次负责不同功能。
应用层:为应用程序提供网络服务,比如HTTP(浏览网页)、DNS(域名解析)、FTP(传输文件)、TELNET(用于远程设备登陆管理设备)
表示层:负责数据格式内容,比如压缩,解压缩;加密、解密。
会话层:区分不同会话数据,建立、维护、管理会话连接,保证不同程序数据不会混乱。
传输层(快递公司):建立、维护、管理端到端的连接
TCP:可靠传输服务
UDP:不可靠传输服务,效率高
网络层(填写单号):IP编址,I
WinPcap基础知识(第一课:获得设备列表)
qsycn的专栏
08-18
3940
一个基本的WinPcap应用程序所需的第一件事情是获得合适的网络适配器。Libpcap/ Winpcap提供 pcap_findalldevs() 函数完成这个功能:这个函数返回一个相连的pcap_if结构的列表。列表的每一项包含关于适配器的复杂的信息。特别的,name和description域数据包含设备的名称和可读的描述。如下的代码提取设备列表,然后打印到屏幕上。如果没有发现适配器,则显示一个
常见以太网帧结构
weixin_30887919的博客
10-17
1369
常见的以太网帧结构由ETHERNET II 和 IEEE802.3。
ETHERNET II 数据链路层帧格式
IEEE802.3数据链路层帧格式
Ethernet II和IEEE802.3的帧格式比较类似,主要的不同点在于前者定义的2字节的类型,而后者定义的是2字节的长度;所幸的是,后者定义的有效长度值与前者定义的有效类型值无一相同,这样就容易区分两种帧格式了。
关于类型/...
STM32-USART(通用同步/异步串行接收/发送器)
qq_52217633的博客
05-14
3791
STM32-USART(通用同步/异步串行接收/发送器)
Ethernet帧结构解析程序
06-10
帧结构解析程序,可立即运行有详细的代码和使用说明书
实验03分析数据链路层帧结构.docx
11-25
实验03分析数据链路层帧结构 1. 掌握使用Wireshark分析俘获的踪迹文件的基本技能;...2. 深刻理解Ethernet帧结构。 3. 深刻理解IEEE 802.11帧结构。(可选) 4. 掌握帧结构中每一字段的值和它的含义。
以太网帧解析程序
01-04
控制台实现的以太网帧解析结构,完整源代码,可运行,注释详细
以太网帧结构
01-25
网络基础技术入门,了解以太网帧结构和基本的原理
以太网帧解析
11-27
这只是一次网络的课堂小作业。主要作用是解析太网帧的结构,并通过MFC的形式显示以太网帧的结构。
以太网基本知识小结
11-06
2076
一、概述
以太网是应用最为广泛的局域网,包括标准的以太网(10Mbit/s)、快速以太网(100Mbit/s)和10G(10Gbit/s)以太网,采用的是CSMA/CD访问控制法,它们都符合IEEE802.3。
常见的802.3应用为:
10M:10base-T(铜线UTP模式)
100M:100base-TX(铜线UTP模式):100BASE-TX是一种使用5类数据级无屏
以太网的帧结构
繁星流动天际
03-24
5371
以太网的帧结构分两种:
第一种是Ethernet_II的帧结构,如下图所示:
DMAC:指(destination mac)目的地址,即是接收信息设备的物理地址。
SMAC:指(source MAC)源地址,即是发送信息设备的物理地址。
Type:用来标识data字段中包含的高层协议,即是通告接收信息的设备如何解释该数据字段(数据的封装
都是从应用层到低层逐渐添加的,在数据链路层以上的数据都...
以太网基础知识
秋风扫落叶
01-06
1543
以太网基础知识以太网概述以太网的发展史以太网基础知识MAC地址常用的以太网帧格式
以太网概述
以太网的发展史
随着市场的推动,以太网得到了飞速发展,下面根据时间轴简单总结下以太网的发展事迹
70年代初期,以太网由Xerox公司Palo Alto研究中心推出;
1929年,DEC、Intel、Xerox成立联盟,推出DIX以太网规范;
1980年,IEEE成立了802.3工作组;
1983年,第一个IEEE802.3标准通过并正式发布;
通过80年代的应用,10Mb/s以太网基本发展成熟;
1990年,基于
以太网 Magic packet 帧唤醒
Amelio Ming
06-08
495
以太网 Magic packet 帧唤醒
以太网帧格式及例子[转]
狗狗天地
03-16
8906
很多人将局域网(Local Area Network,LAN)和以太网(Ethernet)混为一谈,这个误解大概是因为和其他局域网技术比较起来,以太网技术使用得是如此普遍、发展得是如此地迅速,以至于人们将"以太网"当作了"局域网"的代名词。 本节将讨论"局域网"和"以太网"二者之间的关系以及相关的一些基础知识。 1 以太网概述 1973年,施乐公司(Xerox)开发出了一
计算机网络_以太网帧中的前导码和帧间隙
weixin_43916755的博客
01-26
1万+
以太网帧中的前导码和帧间隙
以太网帧格式
以太网带宽计算
EtherNet/IP 协议结构
最新发布
06-11
EtherNet/IP 是一种基于以太网的工业自动化网络协议,它的协议结构如下: 1. 物理层:采用标准的以太网物理层,支持10/100/1000 Mbps速率和全双工/半双工通信方式。 2. 数据链路层:采用标准以太网的数据链路层,...
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
liubin0580
CSDN认证博客专家
CSDN认证企业博客
码龄15年
暂无认证
1
原创
128万+
周排名
63万+
总排名
8920
访问
等级
180
积分
14
粉丝
4
获赞
2
评论
14
收藏
私信
关注
热门文章
什么是DTE 、DCE?
6023
以太网(Ethernet)的帧结构
2508
JAVA知识点
385
分类专栏
SQL
杂(早期)
3篇
硬件
最新评论
什么是DTE 、DCE?
apple830:
这文章发的真早
以太网(Ethernet)的帧结构
xxxxxxxx1234rf:
[e03][e03][e03][e03]
大家在看
[JAVA]05.循环控制语句之for循环
94
鸿鹄工程项目管理系统em Spring Cloud+Spring Boot+前后端分离构建工程项目管理系统
77
【Java】-中文乱码浅析及解决方案
ubuntu安装指定版本PCL与CMakeLists.txt
新人打卡地点(css简介,思维导图)
19
最新文章
JAVA知识点
什么是DTE 、DCE?
2009年3篇
目录
目录
分类专栏
SQL
杂(早期)
3篇
硬件
目录
评论 1
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
添加红包
祝福语
请填写红包祝福语或标题
红包数量
个
红包个数最小为10个
红包总金额
元
红包金额最低5元
余额支付
当前余额3.43元
前往充值 >
需支付:10.00元
取消
确定
下一步
知道了
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝
规则
hope_wisdom 发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
0
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。
余额充值
【入门级】网络基础知识——以太网帧结构 - 知乎
【入门级】网络基础知识——以太网帧结构 - 知乎切换模式写文章登录/注册【入门级】网络基础知识——以太网帧结构长沙众元网络用心服务好每一位客户OSI RM ( Open System Interconnection Reference Model,开放系统互连参考模型)。OSI 参考模型很快成为了计算机网络通信的基础模型。关注我,为你开拓更多知识点! 私信留言“知识”在线答疑哦!OSI参考模型具有以下优点:简化了相关的网络操作;提供了不同厂商之间的兼容性;促进了标准化工作;结构上进行了分层;易于学习和操作。关注我,为你开拓更多知识点! 私信留言“知识”在线答疑哦!OSI参考模型各个层次的基本功能如下:物理层: 在设备之间传输比特流,规定了电平、速度和电缆针脚。数据链路层:将比特组合成字节,再将字节组合成帧,使用链路层地址(以太网使用MAC地址)来访问介质,并进行差错检测。网络层:提供逻辑地址,供路由器确定路径。传输层:提供面向连接或非面向连接的数据传递以及进行重传前的差错检测。会话层:负责建立、管理和终止表示层实体之间的通信会话。该层的通信由不同设备中的应用程序之间的服务请求和响应组成。表示层:提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。应用层:OSI参考模型中最靠近用户的一层,为应用程序提供网络服务。TCP/IP模型同样采用了分层结构,层与层相对独立但是相互之间也具备非常密切的协作关系。关注我,为你开拓更多知识点! 私信留言“知识”在线答疑哦!TCP/IP模型将网络分为四层。TCP/IP模型不关注底层物理介质,主要关注终端之间的逻辑数据流转发。TCP/IP模型的核心是网络层和传输层:网络层解决网络之间的逻辑转发问题,传输层保证源端到目的端之间的可靠传输。最上层的应用层通过各种协议向终端用户提供业务应用。数据的封装: 应用数据需要经过TCP/IP每一层处理之后才能通过网络传输到目的端,每一层上都使用该层的协议数据单元PDU(Protocol Data Unit)彼此交换信息。不同层的PDU中包含有不同的信息,因此PDU在不同层被赋予了不同的名称。如上层数据在传输层添加TCP报头后得到的PDU被称为Segment(数据段 );数据段被传递给网络层,网络层添加IP报头得到的PDU被称为Packet(数据包);数据包被传递到数据链路层,封装数据链路层报头得到的PDU被称为Frame(数据帧);最后,帧被转换为比特,通过网络介质传输。这种协议栈逐层向下传递数据,并添加报头和报尾的过程称为封装。关注我,为你开拓更多知识点! 私信留言“知识”在线答疑哦! 数据包在以太网物理介质上传播之前必须封装头部和尾部信息。封装后的数据包称为称为数据帧,数据帧中封装的信息决定了数据如何传输。以太网上传输的数据帧有两种格式,选择哪种格式由TCP/IP协议簇中的网络层决定。以太网上使用两种标准帧格式。第一种是上世纪80年代初提出的DIX v2格式,即Ethernet II帧格式。Ethernet II后来被IEEE 802标准接纳,并写进了IEEE 802.3x-1997的3.2.6节。第二种是1983年提出的IEEE 802.3格式。这两种格式的主要区别在于,Ethernet II格式中包含一个Type字段,标识以太帧处理完成之后将被发送到哪个上层协议进行处理。IEEE802.3格式中,同样的位置是长度字段。关注我,为你开拓更多知识点! 私信留言“知识”在线答疑哦!不同的Type字段值可以用来区别这两种帧的类型,当Type字段值小于等于1500(或者十六进制的0x05DC)时,帧使用的是IEEE 802.3格式。当Type字段值大于等于1536 (或者十六进制的0x0600)时,帧使用的是Ethernet II格式。以太网中大多数的数据帧使用的是Ethernet II格式。以太帧中还包括源和目的MAC地址,分别代表发送者的MAC和接收者的MAC,此外还有帧校验序列字段,用于检验传输过程中帧的完整性。 以太网在二层链路上通过MAC地址来唯一标识网络设备,并且实现局域网上网络设备之间的通信。MAC地址也叫物理地址,大多数网卡厂商把MAC地址烧入了网卡的ROM中。发送端使用接收端的MAC地址作为目的地址。以太帧封装完成后会通过物理层转换成比特流在物理介质上传输。以太网帧说明以太网帧大小必须在64~1518字节(不包含前导码和定界符),即包括目的地址(6B)、源地址(6B)、类型(2B)、数据、FCS(4B)在内,其中数据段大小在46~1500字节之间。以太网帧结构以太网由前导码(7B)、定界符(1B)、目的地址(6B)、源地址(6B)、类型(2B)、数据、FCS(4B)。关注我,为你开拓更多知识点! 私信留言“知识”在线答疑哦!字段字段长度(字节)说明前导码(preamble)70和1交替变换的码流帧开始符(SFD)1帧起始符目的地址(DA)6目的设备的MAC物理地址源地址(SA)6发送设备的MAC物理地址长度/类型(Length/Type)2帧数据字段长度/帧协议类型数据及填充(data and pad)46~1500帧数据字段帧校验序列(FCS)4数据校验字段前导码(preamble):交替的0和1,设备从静默状态变成有信号状态标志以太网帧的开始。IEEE802.3 由 7 个 8‘b10101010 (8’haa)构成,由于数据从低比特开始传送(LSB),代码中的前导码数值为 8’b01010101,即8‘h55。帧开始符(SFD, Start frame delimiter):值为8’b10101011(8’hab),最后两个1表示接收端适配器:“帧信息来了,准备接收”。数据从低比特开始传送(LSB),因此代码中的 SFD 值为8’hd5。目的地址(DA, Destination Address):包含一个 48bit 的值,LSB 优先。目标地址可以是单播地址、广播地址(48‘hffff_ffff_ffff)、组播地址。当网卡收到一个数据帧时,首先检查该帧的目的地址是否与当前适配器的物理地址相同,如果相同,则进一步处理,如果不同则直接丢弃。源地址(SA, Source Address):一个 48bit 的值,发送帧的网络适配器的物理地址,用于标识传输设备,LSB 格式。长度/类型(Length/Type):字段值小于或等于1500,则指示帧的有效数据长度。Length 标识有效载荷的数据长度,不包含填充的长度。16‘h0800 代表IP 报文;16‘h0806 标识 ARP 请求/应答报文;16’h8035 标识RARP请求/应答报文。数据及填充(data and pading):该段数据长度需在46~1500字节之间,填充数据不会改变Length 的值。帧校验序列(FCS):用于存储 CRC 结果的校验结果。以 preamble、SFD、DA、SA、Length/Type、DATA and Pading作为输入数据进行计算,从"目标MAC地址"字段到"数据"字段的数据进行校验。发布于 2021-01-19 14:03以太网(Ethernet)网络工程师知识赞同 277 条评论分享喜欢收藏申请
Ethernet帧格式 - quanzhan - 博客园
Ethernet帧格式 - quanzhan - 博客园
会员
周边
新闻
博问
AI培训
云市场
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式 ...
退出登录
注册
登录
Mentalflow
当不了跑得最快的,就当跑得最久的
博客园
首页
新随笔
联系
订阅
管理
Ethernet帧格式
一、Ethernet帧格式的发展
1980 DEC,Intel,Xerox制订了Ethernet I的标准
1982 DEC,Intel,Xerox又制订了Ehternet II的标准
1982 IEEE开始研究Ethernet的国际标准802.3
1983 迫不及待的Novell基于IEEE的802.3的原始版开发了专用的Ethernet帧格式 (因此802.3 Raw 先于 IEEE 802.3 出台)
1985 IEEE推出IEEE 802.3规范
后来为解决EthernetII与802.3帧格式的兼容问题推出折衷的Ethernet SNAP格式
(其中早期的Ethernet
I已经完全被其他帧格式取代了所以现在Ethernet只能见到后面几种Ethernet的帧格式
现在大部分的网络设备都支持这几种Ethernet的帧格式
如:cisco的路由器在设定Ethernet接口时可以指定不同的以太网的帧格式:arpa,sap,snap,novell-ether)
不同厂商对这几种帧格式通常有不同的叫法,比如:
Frame Type Novell公司 Cisco 公司
Ethernet Version 2 Ethernet_II arpa
802.3 Raw Ethernet_802.3 novell_ether
IEEE 802.3/802.2 Ethernet_802.2 sap
IEEE 802.3/802.2 SNAP ETHERNET_SNAP snap
二、各种不同的帧格式
1. Ethernet II
就是DIX以太网联盟推出的,它由6个字节的目的MAC地址,6个字节的源MAC地址,2个字节的类型域(用于标示封装在这个Frame、里面数据的类型)以上为Frame Header,接下来是46--1500 字节的数据,和4字节的帧校验)
2. Novell Ethernet
它的帧头与Ethernet有所不同其中EthernetII帧头中的类型域变成了长度域,后面接着的两个字节为0xFFFF
用于标示这个帧是Novell Ether类型的Frame 由于前面的0xFFFF站掉了两个字节所以数据域缩小为44-1498个字节,帧校验不变。
3. IEEE 802.3/802.2
802.3的Frame Header和Ethernet
II的帧头有所不同EthernetII类型域变成了长度域。其中又引入802.2协议(LLC)在802.3帧头后面添加了一个LLC首部,由DSAP(Destination
Service Access Point)
1 byte,SSAP(Source SAP),一个控制域--1 byte!
SAP用于标示帧的上层协议
4. Ethernet SNAP
SNAP Frame与802.3/802.2 Frame的最大区别是增加了一个5 Bytes的SNAP
ID其中前面3个byte通常与源mac地址的前三个bytes相同为厂商代码!有时也可设为0,后2 bytes 与Ethernet
II的类型域相同。。。
三、常用的帧格式
MAC帧主要有两种格式,一种是以太网V2标准,一种是IEEE 802.3,常用的是前者。
1. Ethernet II帧
DMAC(Destination MAC)是目的MAC地址。DMAC字段长度为6个字节,标识帧的接收者。 SMAC(Source MAC)是源MAC地址。SMAC字段长度为6个字节,标识帧的发送者。 Type(类型字段)用于标识数据字段中包含的高层协议,该字段长度为2个字节。类型字段值为 0x0800的帧代表IP协议帧;类型字段值为0806的帧代表ARP协议帧。 Data(数据字段)是网络层数据,最小长度必须为46字节以保证帧长至少为64字节,数据字段的最大长度为1500字节。 FCS(循环冗余校验字段)提供了一种错误检测机制。该字段长度为4个字节。
2. 802.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帧的长度也是64-1518字节之间
感觉网络层一些协议才用到802.3帧格式,是因为需要802.3帧携带一些控制信息
posted @
2019-02-13 16:33
quanzhan
阅读(4056)
评论(0)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面返回顶部
公告
Copyright © 2024 quanzhan
Powered by .NET 8.0 on Kubernetes
以太网帧结构 - 知乎
以太网帧结构 - 知乎切换模式写文章登录/注册以太网帧结构九月里的秋日拱一卒,行则将至。 网络中传输数据时需要定义并遵循一些标准,以太网是根据引EEE802.3标准来管理和控制数据帧的。了解EEE802.3标准是充分理解以太网中链路层通信的基础。 不同的协议栈用于定义和管理不同网络的数据转发规则: 网络通信中,“协议”和“标准”这两个词汇常常可以混用。同时,协议或标准本身又常常具有层次的特点。一般地,关注于逻辑数据关系的协议通常被称为上层协议,而关注于物理数据流的协议通常被称为低层协议。EEE802就是一套用来管理物理数据流在局域网中传输的标准,包括在局域网中传输物理数据的802.3以太网标准,还有一些用来管理物理数据流在使用串行介质的广域网中传输的标准,如帧中继FR(Frame Relay),高级数据链路控制HDLC(High-Level Data LinkControl),异步传输模式ATM(Asynchronous Transfer Mode)。分层模型-OSI 国际标准化组织ISO于1984年提出了OSI RM(Open SystemInterconnection Reference Model,开放系统互连参考模型)。OSl参考模型很快成为了计算机网络通信的基础模型。OS参考模型具有以下优点:简化了相关的网络操作;提供了不同厂商之间的兼容性;促进了标准化工作;结构上进行了分层;易于学习和操作。OS参考模型各个层次的基本功能如下:1、物理层:在设备之间传输比特流,规定了电平、速度和电缆针脚。2、数据链路层:将比特组合成字节,再将字节组合成帧,使用链路层地址(以太网使用MAC地址)来访问介质,并进行差错检测。3、网络层:提供逻辑地址,供路由器确定路径。4、传输层:提供面向连接或非面向连接的数据传递以及进行重传前的差错检测。5、会话层:负责建立、管理和终止表示层实体之间的通信会话。该层的通信由不同设备中的应用程序之间的服务请求和响应组成。6、表示层:提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。7、应用层:OS参考模型中最靠近用户的一层,为应用程序提供网络服务。分层模型-TCP/IP TCP/IP模型同样采用了分层结构,层与层相对独立但是相互之间也具备非常密切的协作关系。TCP/IP模型将网络分为四层。TCP/IP模型不关注底层物理介质,主要关注终端之间的逻辑数据流转发。TCP/IP模型的核心是网络层和传输层网络层解决网络之间的逻辑转发问题,传输层保证源端到目的端之间的可靠传输。最上层的应用层通过各种协议向终端用户提供业务应用。数据的封装 应用数据需要经过TCP/IP每一层处理之后才能通过网络传输到目的端,每一层上都使用该层的协议数据单元PDU(Protocol Data Unit)彼此交换信息。不同层的PDU中包含有不同的信息,因此PDU在不同层被赋予了不同的名称。如上层数据在传输层添加TCP报头后得到的PDU被称为Segment(数据段);数据段被传递给网络层,网络层添加lP报头得到的PDU被称为Packet(数据包);数据包被传递到数据链路层,封装数据链路层报头得到的PDU被称为Frame(数据帧);最后,帧被转换为比特,通过网络介质传输。这种协议栈逐层向下传递数据,并添加报头和报尾的过程称为封装。数据链路层控制数据帧在物理链路上传输 数据包在以大网物理介质上传播之前必须封装头部和尾部信息,封装后的数据包称为数据帧,数据帧中封装的信息决定了数据如何传输。以太网上传输的数据帧有两种格式,选择哪种格式由TCPP协议簇中的网络层决定。帧格式 以太网上使用两种标准帧格式。第一种是上世纪80年代初提出的DXV2格式,即Ethernet llr帧格式。Ethernet Il后来被IEEE802标准接纳,并写进了IEEE802.3x-1997的3.2.6节。第二种是1983年提出的1EEE802.3格式。这两种格式的主要区别在于Ethernet Il格式中包含一个Type字段标识以太帧处理完成之后将被发送到哪个上层协议进行处理,EEE802.3格式中,同样的位置是长度字段。不同的Type字段值可以用来区别这两种帧的类型,当Type字段值小于等于1500(或者十六进制的0x05DC)时,帧使用的是EEE802.3格式。当Type字段值大于等于1536(或者十六进制的0x0600)时,帧使用的是Ethernet Il格式。以太网中大多数的数据帧使用的是Ethernet Il格式。以太帧中还包括源和目的MAC地址,分别代表发送者的MAC和接收者的AC,此外还有帧校验序列字段,用于检验传输过程中帧的完整性。Ethernet_Ⅱ帧类型值大于等于1536(0x0600);以太网数据帧的长度在64-1518字节之间。 Ethernet ll的帧中各字段说明如下:1、DAC(Destination MAC)是目的MAC地址。DAC字段长度为6个字节,标识帧的接收者。2、SMAC(Source MAC)是源MAC地址。SMAC字段长度为6个字节,标识帧的发送者。3、类型字段(Type)用于标识数据字段中包含的高层协议,该字段长度为2个字节。类型字段取值为0x0800的帧代表P协议帧;类型字段取值为0x0806的帧代表ARP协议帧。4、数据字段(Data)是网络层数据,最小长度必须为46字节以保证帧长至少为64字节,数据字段的最大长度为1500字节。5、循环冗余校验字段(FCS)提供了一种错误检测机制。该字段长度为4个字节。IEEE802.3帧格式;1EEE802.3帧长度字段值小于等于1500(0x05DC)。 lEEE802.3帧格式类似于Ethernet_llr帧,只是Ethernet_ll帧的Type域被802.3帧的Length域取代,并且占用了Data字段的8个字节作为LLC和SNAP字段。1、Length字段定义了Data字段包含的字节数。2、逻辑链路控制LLC(Logical Link Control)由目的服务访问点DSAP(Destination Service Access Point)、源服务访问点SSAP(Source Service Access Point)和Control字段组成。3、SNAP(Sub-network Access Protocol))由机构代码(Org Code)和类型(Type)字段组成。Org Code三个字节都为0。Type字段的含义与Ethernet_ll帧中的Type字段相同。IEEE802.3帧根据DSAP和SSAP字段的取值又可分为以下几类:1)当DSAP和SSAP都取特定值Oxf时,802.3帧就变成了Netware-ETHERNET帧,用来承载NetWare类型的数据。2)当DSAP和SSAP都取特定值0xaa时,802.3帧就变成了ETHERNET SNAP帧。ETHERNET_SNAP帧可以用于传输多种协议。3)DSAP和SSAP其他的取值均为纯IEEE802.3帧。数据帧传输--数据链路层基于MAC地址进行帧的传输 以太网在二层链路上通过MAC地址来唯一标识网络设备,并且实现局域网上网络设备之间的通信。MAC地址也叫物理地址,大多数网卡厂商把AC地址烧入了网卡的ROM中。发送端使用接收端的AC地址作为目的地址。以太帧封装完成后会通过物理层转换成比特流在物理介质上传输。以太网的Mac地址 MAC地址由两部分组成,分别是供应商代码和序列号。其中前24位代表该供应商代码,由EEE管理和分配。剩下的24位序列号由厂商自己分配。如同每一个人都有一个名字一样,每一台网络设备都用物理地址来标识自己,这个地址就是MAC地址。网络设备的MAC地址是全球唯一的。MAC地址长度为48比特,通常用十六进制表示。MAC地址包含两部分:前24比 特 是 组 织 唯 一 标 识 符(OUI,OrganizationallyUniqueIdentifier),由IEEE统一分配给设备制造商。例如,华为的网络产品的MAC地址前24比特是0x00e0fc。后24位序列号是厂商分配给每个产品的唯一数值,由各个厂商自行分配(这里所说的产品可以是网卡或者其他需要MAC地址的设备)。单播 局域网上的帧可以通过三种方式发送。第一种是单播,指从单一的源端发送到单一的目的端。每个主机接口由一个AC地址唯一标识,MAC地址的OU中,第一字节第8个比特表示地址类型。对于主机AC地址这个比特固定为0,表示目的MAC地址为此MAC地址的帧都是发送到某个唯一的目的端。在冲突域中,所有主机都能收到源主机发送的单播帧,但是其他主机发现目的地址与本地MAC地址不一致后会丢弃收到的帧,只有真正的目的主机才会接收并处理收到的帧。广播 第二种发送方式是广播,表示帧从单一的源发送到共享以大网上的所有主机。广播帧的目的MAC地址为十六进制的FF:FF:FF:FF:FF:FF,所有收到该广播帧的主机都要接收并处理这个帧。广播方式会产生大量流量,导致带宽利用率降低,进而影响整个网络的性能。当需要网络中的所有主机都能接收到相同的信息并进行处理的情况下,通常会使用广播方式。组播 第三种发送方式为组播,组播比广播更加高效。组播转发可以理解为选择性的广播,主机侦听特定组播地址,接收并处理目的AC地址为该组播MAC地址的帧。组播AC地址和单播MAC地址是通过第一字节中的第8个比特区分的。组播MAC地址的第8个比特为1,而单播MAC地址的第8个比特为0。当需要网络上的一组主机(而不是全部主机)接收相同信息,并且其他主机不受影响的情况下通常会使用组播方式。数据帧的发送和接收 当主机接收到的数据帧所包含的目的MAC地址是自己时,会把以太网封装剥掉后送往上层协议。帧从主机的物理接口发送出来后,通过传输介质传输到目的端。共享网络中,这个帧可能到达多个主机。主机检查帧头中的目的AC地址,如果目的MAC地址不是本机AC地址,也不是本机侦听的组播或广播AC地址,则主机会丢弃收到的帧。如果目的MAC地址是本机MAC地址,则接收该帧,检查帧校验序列(FCS)字段,并与本机计算的值对比来确定帧在传输过程中是否保持了完整性。如果帧的FCS值与本机计算的值不同,主机会认为帧己被破坏,并会丢弃该帧。如果该帧通过了FCS校验,则主机会根据帧头部中的Type字段来确定将帧发送给上层哪个协议处理。本例中,Type字段的值为0x0800,表明该帧需要发送到P协议上处理。在发送给P协议之前,帧的头部和尾部会被剥掉。1、网络设备如何确定以太网数据帧的上层协议? 以太网帧中包含一个Type字段,表示帧中的数据应该发送到上层哪个协议处理。比如,IP协议对应的Type值为0x0800,ARP协议对应的Type值为0x0806。2、终端设备接收到数据帧时,会如何处理? 主机检查帧头中的目的MAC地址,如果目的MAC地址不是本机MAC地址,也不是本机侦听的组播或广播AC地址,则主机会丢弃收到的帧。如果目的AC地址是本机AC地址,则接收该帧,检查帧校验序列(FCS)字段,并与本机计算的值对比来确定帧在传输过程中是否保持了完整性。如果检查通过,就会剥离帧头和帧尾,然后根据帧头中的Type字段来决定把数据发送到哪个上层协议进行后续处理。编辑于 2022-08-17 16:08以太网帧格式华为 HCIA 路由交换认证指南(书籍)MAC地址赞同添加评论分享喜欢收藏申请
以太网帧结构 | 小菜学网络
以太网帧结构 | 小菜学网络
小菜学编程
小菜学网络
小菜学网络
小菜学Python
小菜学Go语言
自制计算机
Python源码剖析
随笔
经典好书
小菜笔记
概述
网络协议是什么
OSI参考模型
TCP/IP协议栈
Ethernet:以太网协议
物理层概述
数据链路层概述
以太网帧结构
MAC 地址
集线器
交换机与MAC地址学习
网络实验:观察集线器和交换机
MTU
以太网组建与冲突域
编程发送以太网帧
IP:互联网协议
网络层概述
IP包结构
路由原理
IP地址详解
子网掩码
网络实验:IP地址配置
TTL,IP包存活时间
网络规划与地址分配
网络实验:Linux静态路由器配置
观察双网卡主机如何选路
IP分片
ARP:地址解析协议
ARP 协议原理
网络实验:观察ARP协议通信过程
ARP攻击
ICMP:互联网控制报文协议
ICMP协议概述
ping命令原理
用C语言开发ping命令
traceroute命令原理
UDP:用户数据报协议
传输层概述
UDP数据报格式
网络实验:观察UDP协议通信过程
编程实战:开发UDP服务端
编程实战:开发UDP客户端
DNS:域名系统
域名系统概述
DNS服务器工作原理
网络实验:用dig命令模仿迭代解析
DNS报文格式
DNS记录类型
修改域名记录别忘了TTL
编程实战:如何在程序中解析域名
DNS劫持
TCP:传输控制协议
TCP 协议简介
TCP 报文段格式
三次握手,TCP连接的建立
四次挥手,TCP连接的关闭
滑动窗口,TCP的流量控制机制
拥塞窗口,TCP的拥塞控制机制
网络实验:观察TCP协议的通信过程
编程实战:开发TCP客户端
编程实战:开发TCP服务器
HTTP:超文本传输协议
Web应用概述
HTTP协议简介
深入理解URL
HTTP代理服务器
编程实战:自己动手发起HTTP请求
SMTP:简单邮件传输协议
Python发送邮件
WebSocket
WebSocket协议概述
网络安全
SQL注入攻击
密码加盐哈希
XSS漏洞
CSRF漏洞
密码学
概述
数据签名防伪
对称加密算法
非对称加密算法
数字证书
TLS:传输层安全性协议
概述
杂项:其他网络协议
VRRP虚IP漂移
网络服务
haproxy
nginx
tomcat
译文集
socat:Linux/Unix端口转发器
深入理解Linux TCP backlog
CAP定理与分布式数据库管理系统
Raft论文:寻找好理解的共识算法
网络工具箱
ab
curl
ifconfig
ip
iperf
man
nc
rinetd
socat
SSH端口转发
tcpdump
附录
字节序
交流方式
以太网帧结构
人无远虑,必有近忧。
—— 春秋·孔子·《论语·卫灵公》
上一小节,我们通过一个虚构的协议,初步认识了数据链路层的工作原理。数据链路层主要解决由若干主机组成的本地网络的通讯问题,寻址 和 复用分用 思想在其中发挥着关键作用。
数据链路层有一个非常重要的协议—— 以太网协议 。接下来,我们一起来揭开它的神秘面纱!
使用以太网协议进行通信的主机间,必须通过某种介质直接相连。通信介质可以是真实的物理设备,如网线、网卡等;也可以是通过虚拟化技术实现的虚拟设备。
以太网帧
在以太网中,数据通信的基本单位是 以太网帧 ( frame ),由 头部 ( header )、数据 ( data )以及 校验和 ( checksum )三部分构成:
请注意,这图中的单位为字节,而不是比特了。
头部
以太网帧头部包含 3 个字段,依次是:
目的地址 ,长度是 6 字节,用于标记数据由哪台机器接收;
源地址 ,长度也是 6 字节,用于标记数据由哪台机器发送;
类型 ,长度是 2 字节,用于标记数据该如何处理, 0x0800 表示该帧数据是一个 IP 包(后续章节介绍)。
除了字段长度有所拓展之外,以太网帧跟我们虚构出来的协议如出一辙。对了,我们注意到一点小差异——在以太网帧中, 目的地址 放在最前面。 这其中有什么特殊考虑吗?
确实是有的。接收方收到一个以太网帧后,最先处理 目的地址 字段。如果发现该帧不是发给自己的,后面的字段以及数据就不需要处理了。基础网络协议影响方方面面,设计时处理效率也是一个非常重要的考量。
数据
数据 可以是任何需要发送的信息,长度可变, 46 至 1500 字节均可。
上层协议报文,例如 IP 包,可以作为数据封装在以太网帧中,在数据链路层中传输。因此,数据还有另一个更形象的称谓,即 负荷 ( payload )。请自行脑补数据 搭载 在以太网帧这个交通工具上旅行的画面。
校验和
由于物理信号可能受到环境的干扰,网络设备传输的比特流可能会出错。一个以太网帧从一台主机传输到另一台主机的过程中,也可能因各种因素而出错。那么当主机收到以太网帧时,如何确定它是完好无损的呢?
答案是: 校验和 。我们可以用诸如 循环冗余校验 ( CRC )算法,为以太网帧计算校验和。如果以太网帧在传输的过程出错,校验和将发生改变。
注意到,以太网帧最后面有一个 4 字节字段,用于保存校验和。发送者负责为每个以太网帧计算校验和,并将计算结果填写在校验和字段中;接收者接到以太网帧后,重新计算校验和并与校验和字段进行对比;如果两个校验和不一致,说明该帧在传输时出错了。
【小菜学网络】系列文章首发于公众号【小菜学编程】,敬请关注:
【小菜学网络】系列文章首发于公众号【小菜学编程】,敬请关注:
fasionchan
2020-11-03
Ethernet:以太网协议
数据链路层概述
Ethernet:以太网协议
MAC 地址
本站总访问量次,
总访客数人
© fasionchan 2023 粤ICP备14040138号
以太网帧
头部
数据
校验和
首页
目录
公众号
语雀
以太网网络协议Ethernet II 帧分析-CSDN博客
>以太网网络协议Ethernet II 帧分析-CSDN博客
以太网网络协议Ethernet II 帧分析
最新推荐文章于 2023-03-28 00:21:37 发布
庚庚911
最新推荐文章于 2023-03-28 00:21:37 发布
阅读量2.7w
收藏
158
点赞数
32
分类专栏:
网络
文章标签:
Ethernet II 帧
原文链接:https://note.t4x.org/basic/network-ethernet-protocol-ii/
版权
网络
专栏收录该内容
9 篇文章
3 订阅
订阅专栏
目前主要有两种格式的以太网帧:Ethernet II(DIX 2.0)和IEEE 802.3。
IP、ARP、EAP和QICQ协议使用Ethernet II帧结构,而STP协议则使用IEEE 802.3帧结构。
Ethernet II是由Xerox与DEC、Intel(DIX)在1982年制定的以太网标准帧格式,后来被定义在RFC894中。
IEEE 802.3是IEEE 802委员会在1985年公布的以太网标准封装结构(可以看出二者时间相差不多,竞争激烈),RFC1042规定了该标准(但终究二者都写进了IAB管理的RFC文档中)。
下图分别给出了Ethernet II和IEEE 802.3的帧格式:
⑴ 前导码(Preamble):由0、1间隔代码组成,用来通知目标站作好接收准备。以太网帧则使用8个字节的0、1间隔代码作为起始符。IEEE 802.3帧的前导码占用前7个字节,第8个字节是两个连续的代码1,名称为帧首定界符(SOF),表示一帧实际开始。 ⑵ 目标地址和源地址(Destination Address & Source Address):表示发送和接收帧的工作站的地址,各占据6个字节。其中,目标地址可以是单址,也可以是多点传送或广播地址。 ⑶ 类型(Type)或长度(Length):这两个字节在Ethernet II帧中表示类型(Type),指定接收数据的高层协议类型。而在IEEE 802.3帧中表示长度(Length),说明后面数据段的长度。 ⑷ 数据(Data):在经过物理层和逻辑链路层的处理之后,包含在帧中的数据将被传递给在类型段中指定的高层协议。该数据段的长度最小应当不低于46个字节,最大应不超过1500字节。如果数据段长度过小,那么将会在数据段后自动填充(Trailer)字符。相反,如果数据段长度过大,那么将会把数据段分段后传输。在IEEE 802.3帧中该部分还包含802.2的头部信息。 ⑸ 帧校验序列(FSC):包含长度为4个字节的循环冗余校验值(CRC),由发送设备计算产生,在接收方被重新计算以确定帧在传送过程中是否被损坏。
分析:
1:红色目标地址帧 6 字节; 2:蓝色源地址帧 6 字节; 3:粉色类型 2 字节;
为什么没有“前导码”和“帧校验序列”,参见 https://blog.csdn.net/yetugeng/article/details/100514693 。
1:版本号 4 bit 2:头长度 4 bit 3:服务类型 8 bit 4:总长度 16 bit 5:标识 16 bit 6:标志 4 bit 7:片移量 12 bit 8:生存时间 8 bit 9:上层协议标识 8 bit 10:头部校验和 16 bit 11:源地址 bit 12:目标地址 32 bit 共计:20字节
优惠劵
庚庚911
关注
关注
32
点赞
踩
158
收藏
觉得还不错?
一键收藏
知道了
4
评论
以太网网络协议Ethernet II 帧分析
目前主要有两种格式的以太网帧:Ethernet II(DIX 2.0)和IEEE 802.3。IP、ARP、EAP和QICQ协议使用Ethernet II帧结构,而STP协议则使用IEEE 802.3帧结构。Ethernet II是由Xerox与DEC、Intel(DIX)在1982年制定的以太网标准帧格式,后来被定义在RFC894中。IEEE 802.3是IEEE 802委员会在19...
复制链接
扫一扫
专栏目录
Ethernet II以太网帧详细分析
01-06
通过抓包 的 Ethernet II以太网帧详细分析,非常精细
四种以太网数据包详解
xiao628945的专栏
09-21
5134
1 Ethernet II
1.1 Ethernet II协议简介
以太网是当今现有局域网采用的最通用的通信协议标准。该标准定义了在局域网中采用的电缆类型和信号处理方法。EthernetII由DEC,Intel和Xerox在1982年公布其标准,Etherent II主要更改了EthernetI的电气特性和物理接口,在帧格式上并无变化。Etherent II采用CSMA/CD的媒体接入
4 条评论
您还未登录,请先
登录
后发表或查看评论
网络协议学习之Ethernet II协议(二层)
weixin_43580872的博客
07-23
1万+
网络协议学习之Ethernet II协议简介一、协议1、协议结构2、二、抓包分析总结
简介
Ethernet II协议位于五层OSI模型中的第二层,属于链路层的协议。
一、协议
1、协议结构
前导包
目的mac地址(DMac)
源mac地址 (SMac)
类型(Type)
数据(Playload)
校验(CRC)
6 Byte 目的地址
6 Byte 源地址
2 Byte
46 ~ 1500 Byte
2、
二、抓包分析
总结
..
以太网的帧结构
繁星流动天际
03-24
5371
以太网的帧结构分两种:
第一种是Ethernet_II的帧结构,如下图所示:
DMAC:指(destination mac)目的地址,即是接收信息设备的物理地址。
SMAC:指(source MAC)源地址,即是发送信息设备的物理地址。
Type:用来标识data字段中包含的高层协议,即是通告接收信息的设备如何解释该数据字段(数据的封装
都是从应用层到低层逐渐添加的,在数据链路层以上的数据都...
【转】以太网的帧
圣菲尔丁
07-17
577
特别说明:本文内容整理自网络,参考资料见文尾。
一、Ethernet帧格式的发展
二、几种以太网帧简介
2.1 Ethernet I
2.2 Ethernet II(ARPA)
2.3 RAW 802.3
2.4 802.3/802.2 LLC
2.5 802.3/802.2 SNAP
三、以太网帧报头结构及解码
3.1 Ethernet II
3.1.1 Ethern
初识Ethernet II帧格式
m0_51381079的博客
09-27
5273
以太帧有很多种类型。不同类型的帧具有不同的格式和 MTU 值。但在同种物理媒体上都可同时存在。常见的有三种帧格式:Ethernet II 帧是最常见的帧类型,并通常直接被 IP 协议使用;非标准 IEEE 802.3 帧变种;IEEE 802.3帧(后跟逻辑链路控制(LLC) 帧)。本文仅谈对Ethernet II 帧的初步认知。
Ethernet II 类型以太网帧的最小长度为 64 字节(6+6+2+46+4),最大长度为 1518 字节(6+6+2+1500+4)。其...
Ethernet II
qq_45741246的博客
03-28
617
以太网两种标准帧格式之一一种是Ethernet II另一种是 IEEE802.3当Type字段大于等于1536或0x0600时为Ethernet II帧格式当Type字段小于等于1500或0x05DC时为IEEE802.3。
学习笔记之以太网帧结构
weixin_50281314的博客
11-12
1622
以太网两种帧结构简介
关于以太网(Ethernet II)这个网络的个人理解以及应用(2)
热门推荐
@角色扮演#
09-26
1万+
在stm32f107环境下实现如下功能:
- 以太网接口用作串口使用(区别于C/S模型);
- 以太网接口接收全部的网内数据;
- 对网内数据包过滤,仅接收本机相关数据包及广播包; 工具:anysend.exe:Anysend是基于Winpcap驱动开发的,实现以太网接口发送任意自组数据包的工具,各位请自行查找下载;
wireshark.exe:网络抓包工具
如果你是一个嵌入式开发人员,
以太网基础
weixin_34344677的博客
12-29
544
http://zh.wikipedia.org/wiki/IEEE_802
IEEE 802
指IEEE标准中关于局域网和城域网的一系列标准。更确切的说,IEEE 802标准仅限定在传输可变大小数据包的网络。
其中最广泛使用的有以太网、令牌环、无线局域网等。这一系列标准中的每一个子标准都由委员会中的一个专门工作组负责。
IEEE 802中定义的服务和协议限定在OSI模型[OSI网络参考模...
网络协议TCP/IP实验一 以太网链路层帧格式分析实验
01-09
湘潭大学网络协议TCP/IP实验一, 以太网链路层帧格式分析实验报告,仅供参考
以太网帧协议
10-11
以太网帧协议的解析程序,有利于读者对以太网帧的进行学习和解析
计算机网络实验 分析Ethernet II帧.rar
03-03
计算机网络实验 分析Ethernet II帧.rar
网络协议分析器,以太网帧分析
04-16
网络协议分析器,网络课程设计资料,MAC帧头、IP\TCP\ARP\UDP以及数据部分分析
android 以太网 添加设置Ethernet
11-27
android在设置中添加以太网ethernet方法, 在可以是学习框架的一种好方法。
Java核心算法+插入排序+冒泡排序+选择排序+快速排序
03-13
1直接插入排序
* 基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序
2冒泡排序
* 基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,
自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。
即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。
3简单选择排序
* 基本思想:在要排序的一组数中,选出最小的一个数与第一个位置的数交换;
然后在剩下的数当中再找最小的与第二个位置的数交换,
如此循环到倒数第二个数和最后一个数比较为止。
4快速排序
* 基本思想:选择一个基准元素,通常选择第一个元素或者最后一个元素,通过一趟扫描,将待排序列分成两部分,一部分比基准元素小,一部分大于等于基准元素,此时基准元素在其排好序后的正确位置,然后再用同样的方法递归地排序划分的两部分。
Redis常见面试题和答案(最新版).pdf
03-13
redis面试题 最新常见面试题和答案
STM32单片机FPGA毕设电路原理论文报告基于dsp及mcu的谷物含水率准动态检测技术探讨
最新发布
03-13
STM32单片机FPGA毕设电路原理论文报告基于dsp及mcu的谷物含水率准动态检测技术探讨本资源系百度网盘分享地址
网络工程师学习-模拟器(设备配置,拓扑搭建)
03-13
EVE-NG是一款功能强大的网络虚拟化平台,它能够帮助网络工程师和学习者创建、管理和测试复杂的网络拓扑。EVE-NG的全称是Emulated Virtual Environment - Next Generation,它是基于开源项目Unetlab的改进版本。
EVE-NG提供了一个基于Web的用户界面,使用户可以轻松地创建和配置虚拟网络设备,如路由器、交换机、防火墙等,以及运行虚拟机和容器。用户可以模拟各种网络环境,包括LAN、WAN、数据中心和云环境,从而进行网络架构设计、故障排除和性能优化等工作。
这个平台的最大优点之一是其支持多种网络设备的虚拟化,包括Cisco、Juniper、Huawei等品牌的设备,用户可以使用真实的网络设备镜像来模拟现实环境,进行真实场景下的测试和实验。此外,EVE-NG还支持Docker容器,使用户能够轻松地集成第三方应用程序和工具。
对于网络工程师和学习者而言,EVE-NG是一个非常有用的工具。它可以帮助他们进行各种网络配置、调试和优化工作,同时还能够提供一个安全的实验环境,使他们能够在不影响实际网络的情况下进行实验和学习。
计算机实验以太网桢分析,计算机网络实验2 分析 Ethernet帧.
05-30
好的,我会尽力回答你的问题。Ethernet帧是一种在以太网中传输数据的格式,由多个字段组成。下面是常见的字段:
1. 前导码:用于同步各个设备的时钟。
2. 目的MAC地址:指定数据包应该传输到哪个设备。
3. 源MAC地址:指定数据包是由哪个设备发送的。
4. 类型/长度字段:表示数据包的类型或长度。
5. 数据字段:包含实际的数据。
6. 校验和:用于检测数据包是否损坏。
在实验中,可以使用网络分析工具(如Wireshark)来捕获并分析Ethernet帧。通过分析目的MAC地址和源MAC地址,可以确定数据包的来源和目的地。可以通过查看类型/长度字段来确定数据包的类型,例如IP数据包或ARP数据包。此外,还可以检查校验和字段以检测数据包是否损坏。
希望这些信息能够对你有所帮助。如果你还有其他问题,请继续提问。
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
庚庚911
CSDN认证博客专家
CSDN认证企业博客
码龄14年
暂无认证
73
原创
3万+
周排名
122万+
总排名
68万+
访问
等级
6897
积分
163
粉丝
373
获赞
44
评论
2037
收藏
私信
关注
热门文章
正则表达式的替换技巧
42312
以太网网络协议Ethernet II 帧分析
27336
DHCP 协议详解
21066
证书关于 pem der cer crt csr pfx 的区别
19097
CentOS6下搭建Extmail邮箱服务
18653
分类专栏
k8s
1篇
iptables
15篇
Spring
2篇
VUE
1篇
wireshark
4篇
嵌入式
1篇
实用工具
1篇
计算机基础
1篇
HTML
IntelliJ IDEA
1篇
maven
1篇
JavaScript
1篇
研发管理
eclipse
2篇
Jenkins
杂文
vmware
2篇
nginx
2篇
网络
9篇
博客
1篇
python
30篇
linux
38篇
shell
8篇
C
17篇
mysql
10篇
java
20篇
硬件
6篇
站点
14篇
监控
11篇
Prometheus
1篇
anisible
3篇
glassfish
3篇
activemq
3篇
协议
20篇
技术分享
7篇
邮件
22篇
windows
12篇
运维
5篇
前端
1篇
工具手册
5篇
reids
2篇
文档资料
1篇
httpd
1篇
最新评论
read()函数的困惑
灰尘驾车:
我其实很好奇为什么6个数字会读到8个字符,我自己试验的时候,第一行有5个字符,我需要把cnt设置为8才能读到第二行的第一个字符,也就是说多读了两个字符才能把这行换掉
DHCP 协议详解
2301_77588844:
表-2:协议结构 (DHCP报文格式) ---这个错了
Windows wmic命令之process进程管理
victor_fj:
博主你好 我这边只要使用where 就报错什么情况?
以太网网络协议Ethernet II 帧分析
Adamant245:
博主您好,我想问一下Data是哪一部分呢?是下面的第二幅图在分析的内容吗?谢谢!
cwRsync-windows下的rsync工具
qq_45816643:
请问安装包可以分享吗
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
Docker与k8s的恩怨情仇 系列
iptables详解(14):iptables小结之常用套路
iptables详解(13):iptables动作总结之二
2021年18篇
2020年32篇
2019年124篇
2018年87篇
目录
目录
分类专栏
k8s
1篇
iptables
15篇
Spring
2篇
VUE
1篇
wireshark
4篇
嵌入式
1篇
实用工具
1篇
计算机基础
1篇
HTML
IntelliJ IDEA
1篇
maven
1篇
JavaScript
1篇
研发管理
eclipse
2篇
Jenkins
杂文
vmware
2篇
nginx
2篇
网络
9篇
博客
1篇
python
30篇
linux
38篇
shell
8篇
C
17篇
mysql
10篇
java
20篇
硬件
6篇
站点
14篇
监控
11篇
Prometheus
1篇
anisible
3篇
glassfish
3篇
activemq
3篇
协议
20篇
技术分享
7篇
邮件
22篇
windows
12篇
运维
5篇
前端
1篇
工具手册
5篇
reids
2篇
文档资料
1篇
httpd
1篇
目录
评论 4
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
添加红包
祝福语
请填写红包祝福语或标题
红包数量
个
红包个数最小为10个
红包总金额
元
红包金额最低5元
余额支付
当前余额3.43元
前往充值 >
需支付:10.00元
取消
确定
下一步
知道了
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝
规则
hope_wisdom 发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
0
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。
余额充值
以太网扫盲——帧结构(Ethernet Frame Structure)介绍-Felix-电子技术应用-AET-中国科技核心期刊-最丰富的电子设计资源平台
以太网扫盲——帧结构(Ethernet Frame Structure)介绍-Felix-电子技术应用-AET-中国科技核心期刊-最丰富的电子设计资源平台
AET网站
资源下载
技术应用
资讯
电路图
技术专栏
小组
大学堂
登录 | 注册
Felix
技术源于积累,成功始于执着!
个人邮箱:justlxy@mail.dhu.edu.cn QQ:1576109464
以太网扫盲——帧结构(Ethernet Frame Structure)介绍
0赞
发表于 2019/6/15 16:15:36
阅读(15747)
以太网信号帧结构(Ethernet Signal Frame Structure),有被称为以太网帧结构,一般可以分为两类——数据帧和管理帧。按照IEEE 802.3,ISO/IEC8803-3系列标准规范,数据帧还可以分为基本数据帧、虚拟局域网(VLAN,Virtual Local Area Network)采用的扩展帧、Gbit Ethernet中的扩充帧、突发帧(Burst Frame)以及帧标志类型放在客户数据区域中的IEEE 802.3帧等。管理帧可包括用于与PHY层器件之间交换状态信息,实现控制与配置的管理帧,和用于防止网络拥塞的暂停帧(Pause Frame)等。1.数据帧1.1 基本帧基本帧(Base Frame)的结构如下图所示,各区域说明如下:(1)、帧前序(Preamble):这个区域是:“1”、“0”交替的56bit数据;(2)、帧起始符SOF(Start of Frame Delimiter):固定值为10101011的8bit数据,用于表示一帧的开始;(3)、MAC目的地址与源地址(Destination & Source MAC Address):前三个字节是IEEE分配给各产商的地址,后三个字节是个产商自行决定的。源地址总是唯一的,而目的地址可以是单播(Unicast)地址、多播(Multicast)地址或者广播(Broadcast)地址;【注】关于MAC地址,请参考:http://blog.chinaaet.com/justlxy/p/5100064182(4)、帧长度/类型(L/T,Length/Type):这个区域占用两个字节,其功能是用于表示MAC帧内不包括任何填充的数据字段长度或MAC帧内数据字段的数据类型。若这个区域的取值小于等于1500字节,则这个区域表示的是MAC帧内数据字段长度(客户数据区域字节数)。若这个区域的取值大于1500字节,则表示客户数据要到达的上册协议类型(客户数据类型区域);注:当帧长度/类型(L/T)区域只作为帧长度标志区域使用时,称为IEEE802.3帧,则这个区域长度小于或等于1500字节;而此区域作为帧类型区域时,则称其为Ethernet-II帧或者DIX帧,此时L/T的值大于1500字节。(5)、MAC客户数据(MAC Client Data):即数据段区域,一般在46~1500字节之间;(6)、填充区(Pad):填充区占用的字节数根据需要而定。这个区域的功能是确保帧尺寸不少于64字节。当从MAC目的地址到帧校验区整个数据帧尺寸少于64字节时,利用该区域将帧尺寸填充到64字节。因为尺寸小于64字节的帧属于违法帧,在接收端会被自动丢弃。如果帧尺寸已经达到64字节,则该区域占用的字节数应为零;(7)、帧校验序列(FCS,Frame Check Sequence):这个区域占用4个字节,其功能是用于整个帧的差错校验。在帧的源端,从MAC的目的地址到填充区在全帧范围内进行循环冗余校验(CRC-32)计算,将计算结果放入源帧的此区域中,在帧的接收端,重新计算CRC-32的值,并进行对比。若一致则传输过程中无误码产生,否则帧中有误码产生。这里应明确,MAC客户数据区数据最低不能少于46个字节,而最高不能大于1500字节;网络MAC帧的尺寸最短不能少于64字节,而最长不能大于1518字节,这里不包括帧前序(Preamble)和帧起始符(SOF,Start of Frame Delimiter)两个区域,共占用18字节。1.2、虚拟网采用的一种扩展帧结构IEEE 802.3ac标准有规范了在以太网上运行的虚拟局域网(VLAN,Virtual Local Area Network)采用的一种扩展帧结构。VLAN协议允许将标识符或“TAG”插入以太网帧结构中,如下图所示:在上述VLAN以太网扩展帧结构中,增加的VLAN标记4字节分为两部分。前两个字节由“802.1Q标记类型”组成,被固定为0x8100,为预留长度/类型区域,主要是赋予VLAN标记。其后两字节分为以下三个功能区域:(1)、前3bit是用户优先权标志区,用于对该帧分配的优先级指示;(2)、最后1bit是格式符合规定的指示符(CFI,Canonical Format Indicator),在以太网帧结构中用于指示路由选择信息区域(RIF,Routing Information Field);(3)、剩余12bit是VLAN帧标识符,他是以太网VLAN帧的唯一标志。加入VLAN标记后,使得802.3ac标准帧的最大长度由1518字节扩大到1522字节。1.3、Gbit以太网的帧结构在1988年,又制定了针对于Gbit以太网的IEEE 802.3z标准规范,其帧结构图下图所示:Gbit以太网IEEE 802.3z标准规范的扩充帧结构是在原IEEE 802.3标准规范的以太网信号的基本帧结构基础后面增加一个扩充区域,其目的是使帧长最短不少于512字节(从目的地址到填充区),从而保证发生的碰撞(冲突)可以传播到网上的每个节点。扩充区bit并非是数据,其作用仅仅是扩大了占用载体最短要求时间。1.4、帧间间隙以太网设备必须允许在传输帧之间有一个最小空载周期时间,这就是所称的帧间间隙IFG(Inter-Frame Gap)或称为包间间隙IPG(Inter-Packet Gap)。其提供的这段间隙时间,使设备得到恢复,以便设备为接收下一帧做必要的准备。IEEE标准规范帧间的最小间隔为不少于96bit占用的时间,具体如下表所示:2.管理帧2.1、基本管理帧这是用于PHY(物理层器件)与STA(站管理实体)之间通信的管理帧(Management Frame),也称为基本管理帧(Base Management Frame)。ISO/IEC、IEEE标准规范的有线以太网管理数据流的帧结构,其帧长通常为8个字节,即64bit,如下图所示。管理帧前后都可以是空载状态(IDLE)。(1)、管理帧前序(Preamble):占用4个字节,为连续32个逻辑“1”,对应于管理数据的32个时钟周期。管理帧前序用于连续监视管理接口管理,并从而为管理接口给出接收管理数据做准备的时间;若帧前序出现则标志STA处理的开始。管理接口有抑制管理帧前序的能力,以便缩短管理帧的长度,从而使STA可以尽快访问管理寄存器。(2)、管理帧起始符(SOF):占用2bit,为固定值“01”;(3)、管理帧操作码(OP):占用2bit,10b表示读取管理寄存器,01b表示写管理寄存器,00b和11b无效;(4)、管理帧PHY地址(PHYAD):占用5bit;(5)、管理帧寄存器地址(REGAD):占用5bit;(6)、帧换向区TA(Turnaround Field):占用2bit;(7)、管理帧数据(Data):占用2个字节,即16bit。2.2、暂停帧在全双工通信工作模式下,以太网标准规范为了实现对数据流量的控制,规范了一种所谓的暂停帧。这是应用发送暂停帧(Pause Frame)的方法,通告所有发送数据的站点暂停发送帧信息,防止链路发生拥塞。暂停帧仅适用于全双工通信,并不适用于半双工通信。链路两端都可以向对端发送暂停帧,并且在对端暂停发送状态时,仍然可以向其发送暂停帧,以便延长对端停发MAC帧数据时间。在全双工通信模式下,链路两端也可以只有一方支持暂停帧,而另一方不支持。只是不支持的一方无法解释其收到的暂停帧。可以通过自动协商原理了解对方端是否具备支持暂停帧的能力。暂停帧的结构图如下图所示:(1)目的地址(DA):可以使单播地址,也可以使广播地址01-80-C2-00-00-01;(2)类型区(L/T):固定值88-08,表示此帧为MAC介质介入控制帧;(3)暂停标志(MAC操作码):固定值00-01,表示此帧为暂停帧;(4)MAC控制参数:设定延时时间,取值范围为00-00到FF-FF,时间单位为时隙(Slot Time);(5)备用区域:占用42bit,无意义。用于使暂停帧长度满足最小帧的要求。
« 上一篇:【转】ITU-R BT.656视频标准接口简介
» 下一篇:PCIe扫盲——ReTimer和ReDriver简介
作者
Felix
关注
文章:274 篇
阅读:3563559 次
标签
以太网
Ethernet
帧结构
相关文章
莱尔德科技推出Dual Slant 45系列天线
机器人光纤激光切割系统研究
GPRS 火灾监测设计
网络带宽还能满足需求多久?
浅谈基于WiFi与ZigBee技术的楼宇监测
虚拟现实VR火了 想搭顺风车的多了
相关资料
日立单片机模糊控制开发平台及其应用
OFDM系统非线性失真自适应补偿技术
逆向多播树构建算法在MPLS上的应用
一种基于VSM的中文网页分类方法
一种抗噪的大米边缘检测方法*
基于无线传感网的智能电网线路传感器
相关视频
短距离无线通信系统简介
【视频】向Femto和微蜂窝市场进军--基
【视频】2011电子技术应用最佳产品奖
【视频】研祥智能产品总监唐青文演讲
【视频】TI Simplelink无线连接解决方
【视频】什么是蓝牙?
关注微信公众号
网站相关
关于我们
联系我们
投稿须知
广告及服务
内容许可
广告服务
杂志订阅
会员与积分
积分商城
会员等级
会员积分
VIP会员
关注我们
Copyright © 2005-2020 《电子技术应用》版权所有 京ICP备10017138号
以太网数据帧格式(结构)图解
以太网数据帧格式(结构)图解
首页
C语言教程
C++教程
Python教程
Java教程
Linux入门
更多>>
首页 > 编程笔记
以太网数据帧格式(结构)图解
以太网链路传输的数据包称做以太帧,或者以太网数据帧。在以太网中,网络访问层的软件必须把数据转换成能够通过网络适配器硬件进行传输的格式。
以太帧的工作机制
当以太网软件从网络层接收到数据报之后,需要完成如下操作:
1) 根据需要把网际层的数据分解为较小的块,以符合以太网帧数据段的要求。
以太网帧的整体大小必须在 64~1518 字节之间(不包含前导码)。有些系统支持更大的帧,最大可以支持 9000 字节。有些系统支持更大的帧,最大可以支持 9000 字节。
2) 把数据块打包成帧。每一帧都包含数据及其他信息,这些信息是以太网网络适配器处理帧所需要的。
3) 把数据帧传递给对应于 OSI 模型物理层的底层组件,后者把帧转换为比特流,并且通过传输介质发送出去。
4) 以太网上的其他网络适配器接收到这个帧,检查其中的目的地址。如果目的地址与网络适配器的地址相匹配,适配器软件就会处理接收到的帧,把数据传递给协议栈中较高的层。
以太帧的结构
以太帧起始部分由前同步码和帧开始定界符组成,后面紧跟着一个以太网报头,以 MAC 地址说明目的地址和源地址。以太帧的中部是该帧负载的包含其他协议报头的数据包,如 IP 协议。
以太帧由一个 32 位冗余校验码结尾,用于检验数据传输是否出现损坏。以太帧结构如图所示。
上图中每个字段的含义如下表所示:
字段
含义
前同步码
用来使接收端的适配器在接收 MAC 帧时能够迅速调整时钟频率,使它和发送端的频率相同。前同步码为 7 个字节,1 和 0 交替。
帧开始定界符
帧的起始符,为 1 个字节。前 6 位 1 和 0 交替,最后的两个连续的 1 表示告诉接收端适配器:“帧信息要来了,准备接收”。
目的地址
接收帧的网络适配器的物理地址(MAC 地址),为 6 个字节(48 比特)。作用是当网卡接收到一个数据帧时,首先会检查该帧的目的地址,是否与当前适配器的物理地址相同,如果相同,就会进一步处理;如果不同,则直接丢弃。
源地址
发送帧的网络适配器的物理地址(MAC 地址),为 6 个字节(48 比特)。
类型
上层协议的类型。由于上层协议众多,所以在处理数据的时候必须设置该字段,标识数据交付哪个协议处理。例如,字段为 0x0800 时,表示将数据交付给 IP 协议。
数据
也称为效载荷,表示交付给上层的数据。以太网帧数据长度最小为 46 字节,最大为 1500 字节。如果不足 46 字节时,会填充到最小长度。最大值也叫最大传输单元(MTU)。
在 Linux 中,使用 ifconfig 命令可以查看该值,通常为 1500。
帧检验序列 FCS
检测该帧是否出现差错,占 4 个字节(32 比特)。发送方计算帧的循环冗余码校验(CRC)值,把这个值写到帧里。接收方计算机重新计算 CRC,与 FCS 字段的值进行比较。如果两个值不相同,则表示传输过程中发生了数据丢失或改变。这时,就需要重新传输这一帧。
构建以太帧
通过上面的学习了解了以太帧的结构。用户可以根据需要设置以太帧的字段值,从而构建以太帧。netwox 工具中编号为 32 的模块提供了以太帧构建功能。
【示例】构建以太网数据帧。
1) 查看以太网数据帧,执行命令如下:
root@daxueba:~# netwox 32
输出信息如下:
Ethernet________________________________________________________.
| 00:0C:29:CA:E4:66->00:08:09:0A:0B:0C type:0x0000 |
|____________________________________________________________ |
上述输出信息中的 00:0C:29:CA:E4:66 为源 MAC 地址,是当前主机的 MAC 地址;00:08:09:0A:0B:0C 为目标 MAC 地址,0x0000 为以太网类型。
2) 构建以太帧,设置源 MAC 地址为 00:0c:29:c4:8a:de,目标 MAC 地址为 01:02:03:04:05:06,执行命令如下:
root@daxueba:~# netwox 32 -a 00:0c:29:c4:8a:de -b 01:02:03:04:05:06
输出信息如下:
Ethernet________________________________________________________.
| 00:0C:29:C4:8A:DE->01:02:03:04:05:06 type:0x0000 |
|_____________________________________________________________ |
3) 为了验证构建的以太帧,通过 Wireshark 工具进行抓包。在链路层中可以看到伪造的源 MAC 地址和目标 MAC 地址,信息如下:
Ethernet II, Src: Vmware_c4:8a:de (00:0c:29:c4:8a:de), Dst: Woonsang_04:05:06(01:02:03:04:05:06)
4) 为了不被其他主机发现,在构造数据包时,可以指定假的源MAC地址。但是,每构造一次只能发送一个数据包。如果需要发送多个数据包,就需要构造多次。
为了方便,可以使用 macchanger 工具临时修改 MAC 地址,这样就不需要每次构造假的源 MAC 地址了。例如,将当前主机的 MAC 地址修改为 00:0c:29:aa:e0:28,执行命令如下:
Current MAC: 00:0c:29:ca:e4:66 (VMware, Inc.)
Permanent MAC: 00:0c:29:ca:e4:66 (VMware, Inc.)
New MAC: 00:0c:29:aa:e0:28 (VMware, Inc.)
以上输出信息表示当前主机原来的 MAC 地址为 00:0c:29:ca:e4:66,修改后的 MAC 地址为 00:0c:29:aa:e0:28。
5) 再次使用 netwox 工具进行发包,默认使用修改后的 MAC 地址作为源 MAC 地址,如下:
root@daxueba:~# netwox 32
输出信息如下:
Ethernet_________________________________________________
| 00:0C:29:AA:E0:28->00:08:09:0A:0B:0C type:0x0000 |
|_______________________________________________________ |
以太帧洪水攻击
交换机为了方便数据传输,通常会存储每个端口所对应的 MAC 地址,形成一张表。当交换机收到计算机发来的以太帧时,就会查看帧中的源 MAC 地址,并查找存储的表:
如果表中存在该 MAC 地址,就直接转发数据;
如果没有,则将该 MAC 地址存入该表中。
当其他计算机向这个 MAC 地址发送数据时,可以快速决定向哪个端口发送数据。由于该表不可能是无穷大的,所以当达到一定数量时,将不会储存其他新的 MAC 地址。再有新的主机发来数据帧时,部分交换机将不再查找对应的端口,而是以广播的形式转发给所有的端口。这样,就使其他主机可以接收到该数据帧了。
netwox 工具提供编号为 75 的模块,用来实现以太帧洪水攻击功能。它可以伪造大量的以太网数据包,填满交换机的存储表,使交换机失去正确的转发功能。
实施以太帧洪水攻击,执行命令如下:
root@daxueba:~# netwox 75
执行命令后没有任何输出信息,但是会发送大量的以太网数据包。
使用 Wireshark 工具进行抓包,如图所示。图中捕获的数据包为以太帧洪水攻击产生的数据包。
推荐阅读
快速排序算法,C语言快速排序算法详解
echo命令_Linux echo命令:显示文字并给文字添加颜色
Linux gunzip命令:解压缩文件或目录
V神是谁?他是以太坊创始人,是区块链界的真正大佬
Shell $*和$@之间的区别
Go语言文件锁操作
HTML
Python使用Redis
C# LastIndexOf():查找字符串最后一次出现的位置
《HTML5与CSS网页设计基础》PDF下载(高清完整版)
精美而实用的网站,分享优质编程教程,帮助有志青年。千锤百炼,只为大作;精益求精,处处斟酌;这种教程,看一眼就倾心。
关于网站 |
联系我们 |
网站地图
Copyright ©2012-2023 biancheng.net
↑