802.3和以太网帧结构-路由交换原理1-【HCNA笔记】

1、RAW 802.3帧格式

前导字段 帧起始符 DMAC SMAC Length Data FCS
7字节 1字节 6字节 6字节 2字节 46-1500字节 4字节

前导字段:每个帧以7个字节的前导字段开头,以0、1间隔代码组成,用以通知目标端作好接收准备(10101010 10101010 10101010 10101010 10101010 10101010 10101010)。

帧起始符:紧跟前导字段,值为10101011,最后两位‘11’表示帧的实际开始。前导字段与起始符由物理设备自动加上用以同步两台通讯的设备,所以对端接收到的数据并不包含这两个字段,故帧长计算与帧校验也不包含这两个字段。

DMAC:目标MAC地址。

SMAC:源MAC地址。

Length:数据字段的长度,记录其后一字段Data的实际长度。

Data:数据字段,存放帧数据。在802.3中规定了一个帧的最小长度为64字节,帧长计算方法如下:

帧长= DMAC + SMAC + Length + Data + FCS

其中DMAC、SMAC、Length、FCS的和为18字节,所以Data字段的最小长度为64-18=46字节。

若帧长确实小于64字节,则发送端会自动在Data字段中填充0直到帧长等于64字节为止。

FCS:帧校验序列,接收端用以判断传输过程中是否有误,若发现错误则丢弃此帧。

2、EthernetII帧格式

前导字段 DMAC SMAC Type Data FCS
8字节 6字节 6字节 2字节 46-1500字节 4字节

EthernetII与802.3帧格式相近,区别在于EthernetII没有帧起始符,而前导字段占据了8个字节,作用与802.3中前导字段+帧起始符功能一致,都是实现两台设备的通讯同步。

另一个区别在于802.3的Length字段由Type字段代替,用以表明该帧的协议类型。这是因为EthernetII帧支持多种协议类型,而RAW 802.3帧仅支持一种。

3、802.3与EthernetII的异同

为方便802.3与EthernetII两种帧格式可以同时在网络中使用,人们规定802.3和EthernetII中Data字段的最大长度必须小于1500字节,也就是说802.3中Length字段的值必定是小于1500的。同时又规定了EthernetII中协议类型从数字1536(0x0600)开始分配,这样只要Type或Length字段的值小于1536那就说明这是一个802.3帧,值大于1536则证明其是一个EthernetII帧。

在使用中EthernetII较802.3更适合传输大量的数据,而802.3的优势在于其具备严格的传输控制。所以大多数应用的以太网数据包使用EthernetII的帧格式(如HTTP、FTP、SMTP、POP3等),而交换机之间的BPDU数据包、思科的发现协议则是使用802.3的帧格式

4、以太网帧格式的发展

Ethernet V1(1980):这是最原始的一种格式,是由Xerox提出的3Mbps以太网标准的封装格式,后来在1980年由DEC、Intel和Xerox标准化形成Ethernet V1标准。

Ethernet V2(1982):也就是我们说的EthernetII,由DEC、Intel和Xerox在1982年公布的标准,主要更改了V1的电气特性和物理接口,帧格式并无变化。V2出现后取代V1成为沿用至今的以太网帧标准格式。

EthernetII帧格式
前导字段 DMAC SMAC Type Data FCS
8字节 6字节 6字节 2字节 46-1500字节 4字节

RAW 802.3(Novell, 1983):1983年Novell发布其Netware/86网络套件时使用了此以太网帧格式,该格式借鉴了还未发布的IEEE802.3标准将Ethernet V2中的Type字段改为Length字段,因当时使用的RAW 802.3帧只需要支持IPX/SPX这一类协议。而两年后正式发布的IEEE802.3加入了LLC头,导致Novell使用的标准与IEEE正式标准互不兼容。为了与新推出的IEEE标准兼容,规定了RAW 802.3的Data字段前两个字节为RAW字段且值为0xFFFF用以区分RAW和后面发布的LLC标准。

802.3 RAW帧格式
前导字段 帧起始符 DMAC SMAC Length Data(46-1500) FCS
7字节 1字节 6字节 6字节 2字节 RAW(0xFFFF) data 4字节

IEEE802.3 LLC(1985):这是IEEE正式的802.3标准,由Ethernet V2发展而来,它将Ethernet V2的Type字段替换为Length字段,同时将Data字段中的前3个字节命名为LLC头用以标识上层协议类型。LLC中包含了DSAP、SSAP、Control三个字段,每个字段的长度都为1字节。DSAP是目标端的协议类型,SSAP是源端协议类型。

802.3 LLC帧格式
前导字段 帧起始符 DMAC SMAC Length Data(46-1500) FCS
7字节 1字节 6字节 6字节 2字节 LLC(DSAP/SSAP/Control) data 4字节

IEEE802.3 SNAP(1985):为了使802.3支持除LLC之外更多的上层协议类型并更好地支持IP协议而发布的标准,在加入了LLC头的基础上,将Data字段中LLC头之后的5个字节划分为SNAP头,其中包含了一个3字节的OUI字段用于代表不同的组织(通常等于MAC地址中网络适配器厂商的代码)和一个2字节的Type字段用以支持更多的上层协议类型。为了与LLC帧相区别,SNAP将LLC头的值固化,DSAP、SSAP的值固定为0xAA,Control的值固定为0x03(即Data字段前3个字节值为0xAAAA03则说明其是一个SNAP帧)。

802.3 SNAP帧格式
前导字段 帧起始符 DMAC SMAC Length Data(46-1500) FCS
7字节 1字节 6字节 6字节 2字节 LLC(0xAAAA03) SNAP(OUI/Type) data 4字节

5、不同帧格式的区分

EthernetII与802.3:如果帧中Length或Type字段的值小于1536说明这是一个EthernetII帧,反之则是一个802.3的帧。

RAW、LLC、SNAP:如果Data字段前两个字节为0xFFFF则说明这是一个802.3(RAW)帧;如果Data字段中前三个字节为0xAAAA03则说明这是一个802.3(SNAP)帧;剩余的则是802.3(LLC)帧。

【上层协议类型的标识】802.3多达3种标准的原因就是他们使用了不同的上层协议类型标识方法,那么什么是上层协议类型的标识呢。

IEEE将网络划分为OSI 7层模型,其中第一层为物理层,第二层为数据链路层,第三层为网络层,数据链路层又被细分为LLC层和MAC层。我们知道MAC层是用于物理寻址的,在数据帧上体现为DMAC和SMAC两个字段,分别记录了目标MAC地址和源MAC地址,网卡凭借这两个字段就能知道数据包是从那台设备来的目的地是那台设备。帧到达后应交由谁处理呢?在设备中不同的协议是交由不同进程处理的,LLC层的作用就是指明了该进程的协议类型,也就是EthernetII的Type字段(在IP报文中将进一步指定具体协议,定位数据的接收进程)。在RAW 802.3中只需要支持IPX/SPX这一类协议所以没有Type字段,802.3 LLC中使用LLC头中的DSAP和SSAP标识目标端的协议类型和源端协议类型,802.3 SNAP使用SNAP头中的Type字段标识协议类型与EthernetII类似。

【帧校验】数据帧在网络中传输时难免会出现数据丢失或位错误等情况,网卡在接收到帧后是如何判断这个数据帧在传输的过程中没有发生意外呢。

这里不讲真实的校验方法(太复杂),只讲一个简单的例子。例如一组二进制数0111 1101 1001 0011从一个设备传输到另一个设备,接收设备并不能预防传输过程中错误的发生,只能对这组数据进行验证,如果不符合某种规则就判定为错误则将这个帧丢掉。校验规则由协议规定,不同的帧协议可能使用不同的校验规则,而FCS字段中则保存着这个规则执行的结果。比如发送端可以将二进制数每8位进行两两相加:0111 1101 + 1001 0011 = 0001 0001 0000;取其中后八位0001 0000,并将后八位存入FCS字段中。接收端收到帧后重复发送端的校验规则,并将计算结果与FCS字段中保存的结果进行比对,如果一致则表明传输过程无误,反之表明此帧无法使用。

【802.3名称由来】我们可以理解EthernetII是以太网协议的V2版本,可为啥802.3要叫802.3呢。

以太网出现后,先是由DEC、Intel和Xerox对该网络进行了标准化制定了Ethernet V1协议,其中规定了实现以太网的物理层连线、电信号和介质等等内容,帧格式的定义只是其中的一部分。而后很快又推出了Ethernet V2,也就是现在最常用的EthernetII协议。两年后,由于以太网的发展成熟,IEEE协会在EthernetII的基础上对以太网进行了更加详细的规定,也就是IEEE802.3协议。IEEE协会由多个不同专业的协会和委员会组成,如IEEE航空和电子系统协会、IEEE通讯协会、IEEE生物测定学委员会等等,其中制定802.3协议的委员会叫做IEEE局域网/城域网标准委员会,成立的时间是1980年2月所以又称802委员会,该协会发布的这一系列标准名称均是以IEEE 802开头的,802后的.3则表明这是一系列标准的第三号。下面感受一下这个系列的标准中的一部分名称:

IEEE 802.1 :局域网体系结构、寻址、网络互联和网络

IEEE 802.1A:概述和系统结构

IEEE 802.1B:网络管理和网络互连

IEEE 802.2 :逻辑链路控制子层(LLC)的定义。

IEEE 802.3 : 以太网介质访问控制协议 ( CSMA/CD)及物理层技术规范。

IEEE 802.4 :令牌总线网(Token-Bus)的介质访问控制协议及物理层技术规范。

IEEE 802.5 : 令牌环网(Token-Ring)的介质访问控制协议及物理层技术规范。

【以太网名称由来】在早些年的时候,科学家认为这个世界是由一种看不见摸不着的介质“以太”所充斥的,而后以太的存在被证伪了,那么以太网跟以太是否有什么关联呢。

有网上的段子说当年以太网之父Metcalfe在自己的博士论文中就是研究APRA网的,可他的论文答辩没过,被认为是缺乏理论支持,但是他的技术得到了很多厂商的看好,后来Metcalfe想到自己当年的论文没过就很不爽,于是就把自己设计的局域网技术称为以太网,调侃这是一种看不见,摸不着的技术。以上段子说明以太网就是局域网,是发明者自己瞎取的,没啥特别含义。

时间: 2024-10-22 23:40:43

802.3和以太网帧结构-路由交换原理1-【HCNA笔记】的相关文章

【HCNA笔记】路由交换原理-1 802.3和以太网帧结构

1.RAW 802.3帧格式 前导字段 帧起始符 DMAC SMAC Length Data FCS 7字节 1字节 6字节 6字节 2字节 46-1500字节 4字节 前导字段:每个帧以7个字节的前导字段开头,以0.1间隔代码组成,用以通知目标端作好接收准备(10101010 10101010 10101010 10101010 10101010 10101010 10101010). 帧起始符:紧跟前导字段,值为10101011,最后两位'11'表示帧的实际开始.前导字段与起始符由物理设备自

以太网帧结构解析

由于需要做一个分析网卡接收的数据包的Project,需要了解以太网帧结构并解析,发现有很多内容从一般网络方面的知识是不够的,因此查阅了相关资料再此做一个记录以备忘. 以太网是目前最流行的有线的局域网技术,特别是上世纪九十年后发展的交换式局域网增加了有效数据速率,同时集线器和交换机等普通且便宜的硬件更助长了其普及程度.以太网的数据帧格式如下图所示: 数据字段:在交换式以太网中,一台主机向局域网中的另一台主机发送一个IP数据报,这个数据报封装在以太网帧结构中作为其有效载荷,以太网的最大传输单元(MT

3.HCNA-HNTD——以太网帧结构

网络中传输数据时需要定义并遵循一些标准,以太网是根据IEEE 802.3标准来管理和控制数据帧的.了解IEEE802.3标准时充分理解以太网中链路层通信的基础. 学习目标: 理解分层模型的作用 掌握以太网中数据帧的结构 掌握MAC地址的作用 掌握以太网中数据帧转发的过程 20世纪60年代以来,计算机网络得到了飞速发展.各大厂商和标准组织为了在数据通信网络领域占据主导地位,纷纷推出了各自的网络架构体系和标准,如IBM公司的SNA协议,Novell公司的IPX/SPX协议,以及广泛流行的OSI参考模

以太网帧结构

网络通信协议 一般地,关注于逻辑数据关系的协议通常被称为上层协议,而关注于物理数据流的协议通常被称为低层协议. IEEE802就是一套用来管理物理数据流在局域网中传输的标准,包括在局域网中传输物理数据的802.3以太网标准.还有一些用来管理物理数据流在使用串行介质的广域网中传输的标准,如帧中继FR(FrameRelay),高级数据链路控制HDLC(High-LevelDataLinkControl),异步传输模式ATM(AsynchronousTransferMode). 分层模型0OSI 国际

交换机工作原理-路由交换原理7-【HCNA笔记】

1.交换原理 我们知道交换机有若干个物理端口,端口可以接入主机.路由或其他交换机.同时接入交换机的设备都有一个MAC地址,交换机内部存储着一张缓存表,表上记录着各个端口对应设备的MAC地址.这样当一台主机需要向另一台设备发送数据时,在数据帧中注明目的设备的MAC地址,交换机读取该MAC地址,查询缓存表找到对应的端口号,将帧直接发往该端口对应的设备即可.缓存表示意如下. 端口 MAC地址 0 00-50-BA-CE-07-0C 1 00-50-BA-CE-07-0D 2 00-50-BA-CE-0

IP编址-路由交换原理2-【HCNA笔记】

1.IP报文组成 IP报文由IP报头和Data部分组成,报头由6个数据块组成,其中前5个数据块每块大小是固定的4字节(32位),后一个数据块长度可变,但规定了IP报头最大不能超过60字节,所以IP报头的大小范围在20到60字节. IP报头 Data 数据块1 数据块2 数据块3 数据块4 数据块5 数据块6 4字节 4字节 4字节 4字节 4字节 0-40字节 20-60字节 2.IP报头详解 数据块1(32位=4字节) Version Header Length Type of Service

ICMP协议-路由交换原理4-【HCNA笔记】

1.ICMP数据包格式 ICMP协议属于网络层,是TCP/IP协议族的一个子协议,ICMP数据包被封装在IP报文中.网络中传递的ICMP包示意如下,: ICMP数据包格式 帧头 IP报头 Data(ICMP包) FCS Type Code Checksum data 8位 8位 16位 按需要 Type:消息类型. Code:消息类型的具体参数. Checksum:校验字段,用于检查消息是否完整:在ICMP重定向消息中用于指定网关IP地址:在Echo Reply消息中这个字段包含标识符和序号.

IP路由基础-路由交换原理9-【HCNA笔记】

1.路由原理 数据在网络上传输时,要先查询本机的路由表而后根据路由表的指示,决定是将该包发往交换机进行帧交换还是直接发往路由器进行IP寻址.首先不同的数据在传输层根据不同的协议打包成各种传输报文,报头中记录的内容可以控制传输的过程,如TCP报文.UDP报文等.而后根据目的地不同在网络层被加上了IP报头,其中指明了目的设备的IP地址.将报文递交给网卡之前,设备先查询自己的路由表,如下图所示,这个表中记录着本机的路由策略,即不同类型的IP地址在接下来应当如何被传递.(说明:本机IP是192.168.

ARP协议-路由交换原理5-【HCNA笔记】

1.ARP报文格式 ARP协议工作在数据链路层,网络中传输的ARP包示意如下(由于字段较多,这里对连续字段进行换行处理): 帧头 Data(ARP包) FCS ARP包: Hardware Type Protocol Type Hardware Length Protocol Length Operation Code 16位 16位 8位 8位 16位 Source Hardware Address Source Protocol Address 48位 32位 Destination Har