【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’表示帧的实际开始。前导字段与起始符由物理设备自动加上用以同步两台通讯的设备,所以对端接收到的数据并不包含这两个字段,故帧长计算与帧校验也不包含这两个字段。

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字段(LLC具体怎么作用还不明晰,这里暂时不表)。在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-08 19:35:03

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

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’表示帧的实际开始.前导字段与起始符由物理设备自

交换机工作原理-路由交换原理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路由基础-路由交换原理9-【HCNA笔记】

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

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消息中这个字段包含标识符和序号.

STP原理-路由交换原理11-【HCNA笔记】

1.BPDU报文格式 交换机之间使用BPDU(网桥协议数据单元)来交换STP(生成树协议)信息,BPDU报文分为配置BPDU和TCN BPDU两类分别对应STP的两种应用场景(STP工作在数据链路层). BPDU帧 帧头 Data(BPDU报文) FCS 配置BPDU(Configuration BPDU)报文:用来进行生成树计算和维护生成树拓扑. 配置BPDU报文1 Protocol ID Protocol Version ID BPDU Type Flags Root ID Root Pat

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

HCNA——IP路由原理、静态路由基本配置

HCNA--IP路由原理.静态路由基本配置 在互联网中进行路由选择所使用的设备,或者说,实现路由的设备,我们称之为路由器. 路由器关键功能 检查数据包的目的地 确定信息源 发现可能的路由 选择最佳路由 验证和维护路由信息 什么是路由? 路由是指导IP报文发送的路径信息 路由表 路由器工作时依赖于路由表进行数据的转发.路由表犹如一张地图,它包含着去往各个目的的路径信息(路由条目).每条信息至少应该包括下面3个内容: 目的网络--表明路由器可以到达的网络的地址,可理解为去哪里. 下一跳--通常情况下

VLSM和CIDR-路由交换原理3-【HCNA笔记】

1.子网划分 IP地址分为网络ID和主机ID两部分,子网划分就是将主机ID中的某几位充当子网地址从而将原网络划分为若干子网.通过下表的方法我们将一个网段划分成了4个小的网段,同时使用子网掩码来区分子网的网络ID和主机ID.所以在IP后面我们一般加上其子网掩码如192.168.0.1/255.255.255.192,或是其子网掩码中1的个数如192.168.0.1/26.这样我们通过增加子网掩码中1的个数就能有效的增加网络中的网络ID,不过相应的就会减少每个子网中的主机ID. 子网划分 网络ID/