第四章 以太网数据链路层
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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地址被装在以太网帧种发送(上一节以太网帧格式中有介绍),一