第四章 以太网数据链路层

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

肆 以太网数据链路层

P 目标:

了解数据链路层结构。

熟悉各以太网帧格式,CSMA/CD (载波监听多路访问/冲突检测)机制,

熟悉PAUSE 帧格式,和流量控制原理

了解半双工模式下以太网端口的工作方式。

根据IEEE 的定义,以太网的数据链路层又分为2个子层:逻辑链路控制子层(LLC )和媒体访问控制子层(MAC )。

划分2个子层的原因是:数据链路层实际是与物理层直接相关的,针对不同的物理层需要有与之相配合的数据链路层,例如针对以太网、令牌环需要不同的数据链路层,而这是不符合分层原则的;于是通过划分LLC 和MAC 2个子层,尽量提高链路层的独立性,方便技术实现。

其中MAC 子层与物理层直接相关,以太网的MAC 层和物理层都是在802.3 中定义的,LLC 子层则可以完全独立,在802.2中定义,可适用于以太网、令牌环、WLAN 等各种标准。

ͼ1 以太网数据链路层

MAC 子层处理CSMA/CD 算法、数据出错校验、成帧等;LLC 子层定义了一些字段使上次协议能共享数据链路层。 在实际使用中,LLC 子层并非必需的。

1 以太网的帧格式

有两种主要的以太网帧类型:由RFC894定义的传统以太网(EthernetII )和802.3定义的以太网; 最常使用的封装格式是RFC 894定义的格式。

下图显示了两种不同形式的封装格式。图中每个方框下面的数字是它们的字节长度。

EthernetII (RFC894)帧结构如下,该帧包含了5个域(前导码在此不作描应用层

传输层

网络层

链路层

物理层逻辑链路控制(LLC )子层MAC 子层

述),它们分别是:目的MAC地址、源MAC地址、类型、净荷(PAD)、FCS、

 EthernetII(RFC894)帧结构

1)目的MAC地址( D A )

包含6个字节。 D A标识了帧的目的地站点。 D A可以是单播地址(单个目的地)或组播地址(组目的地)。

2)源MAC地址( S A )

包含6个字节。S A标识了发送帧的站。 S A通常是单播地址(即,第1位是0 )。

3)类型域包含 2个字节。

类型域标识了在以太网上运行的客户端协议。使用类型域,单个以太网可以向上复用(upward multiplex)不同的高层协议( I P,I P X,A p p l e Ta l k,等等)。以太网控制器一般不去解释这个,但是使用它来确定所连接计算机上的目的进程。本来类型域的值由X e r o x公司定义,但在1 9 9 7年改由I E E E负责。例如08-00 表示 IP、81-37表示 NetWare。

5)数据域

包含 4 6 ~ 1 5 0 0字节。数据域封装了通过以太网传输的高层协议信息。由于C S M A / C D算法的限制,以太网帧必须不能小于某个最小长度(46字节)。高层协议要保证这个域至少包含4 6字节。如果实际数据不足 4 6个字节,则高层协议必须填充到46字节,填充数为PAD。数据域长度的上限是任意的,但已经被设置为 1 5 0 0字节(1 5 0 0字节最大长度的真正原因是 1 9 7 9年( 1 0 M b / s以太网正在设计之中)的内存成本以及低成本的 L A N控制器的缓冲区要求)。

6)帧效验序列( F C S )

包含4个字节。F C S是从D A开始到数据域结束这部分的校验和。校验和的算法是3 2位的循环冗余校验法( C R C )。生成多项式是:

G ( x ) = x3 1+ x2 6+ x2 3+ x2 2+ x1 6+ x1 2+ x11+ x1 0+ x8+ x7+ x5+ x4+ x2+ x1+ 1

F C S域的传送方法是:第 1位是x3 1项的系数,而最后 1位是x0项的系数。因此C R C的各个位传输了:x3 1,x3 0,. . .,x1,X0。

802.3 以太网帧(RFC1042)的结构与Ethernet II 的非常类似,如下图所

示。

ͼ1 802.3 以太网帧(RFC1042)结构

和RFC894相比,类型域被长度域取代。这 2 个字节在8 0 2 . 3 中被用来指示数据域中有效数据的字节数。

这两种格式也可以并存:如果该字段的值小于等于1500,则该帧为802.3帧,该字段表示帧长;如果大于1500,则该帧为EthernetII帧,该字段表示协议类型。

不同于EthernetII,802.3的以太网帧没有协议类型的定义,不能自动识别上层协议,必须通过对LLC头的定义来识别。

根据LLC的定义不同,802.3以太网帧又可以分为2种类型:802.2(SNAP)和802.2(SAP)。

在802.2 (SAP)中,引入了SAP(服务访问点)的概念,SAP可完成协议类型识别的功能,例如0Xe0表示NetWare :

从802.2(SAP)的帧结构中我们可以看出,用于表示协议类型的SAP只有1个字节,因此许多常用的协议在802.2(SAP)中没有定义。因此IEEE在802.2(SAP)的基础上定义了802.2(SNAP),在SNAP帧中,SAP始终为AA,而CTRL始终为03。通过OUI ID和类型域进行协议类型的识别,可以支持足够多的协议类型,例如0X080007809B表示AppleTalk。

实际上网络上的以太网应用大多数都采用EthernetII ,很多网络设备甚至不能识别802.3封装的以太网帧。从EthernetII帧结构中我们可以看出,其中仅仅包括一个MAC子层,而没有LLC子层。所以我们说LLC子层并非必需的。

1以太网的MAC地址

以太网通过MAC地址唯一标识一个网元,MAC地址是一个是 6字节( 4 8比特)长。在LAN上,MAC地址被装在以太网帧种发送(上一节以太网帧格式中有介绍),一

相关文档
最新文档