读书频道 > 网络 > 深入理解计算机网络
5.1.2 数据链路层结构
2013-01-15 14:23:41     我来说两句 
收藏    我要投稿   

本文所属图书 > 深入理解计算机网络

本书是计算机网络领域的扛鼎之作,由有20余年从业经验的优秀网络技术工程师兼全国网管技能水平考试认证专家王达老师撰写,51CTO技术社区鼎力推荐,权威性毋庸置疑。内容方面,本书结合最新计算机网络技术,全面、...  立即去当当网订购

在正式介绍“数据链路层”主要功能和实现原理前,我们先要明白,各种计算机网络体系结构中,数据链路层的结构是不完全一样的。在OSI/RM和TCP/IP体系结构中,数据链路层就一层,而在局域网体系结构中是可细分为两个子层的,那就是逻辑链路控制(Logical Link Control,LLC)子层和介质访问控制(Medium Access Control,MAC)子层,如图5-3所示。


 

经验之谈 设置MAC子层的目的主要是解决多路通信的介质争用和寻址,所以其主要适用于广播型链路和点对多点链路。对于点对点链路来说,没什么太大意义,因为点对点链路不存在介质争用,是一路通信所独占的。具体将在下章介绍。

从图5-3可以看出,在数据链路层中,与它的下一层—物理层相邻的是MAC子层,与它的上一层—网络层相邻的是LLC子层。所以MAC子层接受物理层的服务,为LLC子层服务,而LLC子层则是接受MAC子层服务,为网络层服务。而各层(其他层也一样)之间接受服务或者提供服务的地方就是SAP(Service Access Point,服务访问点)。下面先来了解什么是SAP。

1.各层的SAP

从SAP的中文名称“服务访问点”可以看出,它就是上层访问相邻下层所提供服务的点。我们知道,在计算机体系结构中,下层是为相邻的上层提供服务的,而下层对它的所有上层都是透明的。也就是上层不会具体管它的下面各层是如何工作的,只需要它的相邻下层提供必要的服务即可。

SAP是邻层实体(“实体”也就是对应层的逻辑功能)间实现相互通信的逻辑接口,位于两层边界处。从物理层开始,每一层都向上层提供服务访问点(应用层除外),每一层都有SAP,但不同层的SAP内容和表示形式都是不一样的。各层SAP的表示形式是对应层第一个单词的第一个字母加上“SAP”,如物理层SAP表示为PSAP(Physical layer Service Access Point),对应的就是网络通信中设备的具体物理接口;数据链路层SAP表示为DLSAP(Data Link Control layer Service Access Point),对应的就是各个物理接口的MAC地址;网络层SAP表示为NSAP(Networklayer Service Access Point),对应的就是各物理接口上配置的网络地址(如IP地址,但在OSI/RM中网络地址不一定是IP地址,要视具体的网络层协议而定,如还可以是IPX地址);传输层SAP表示为TSAP(Transportlayer Service Access Point),对应的就是具体网络应用通信所用的传输层端口;会话层SAP表示为SLSAP(Session layer Service Access Point),对应的就是具体网络应用会话进程;表示层SAP表示为PLSAP(Presentation layer Service Access Point),对应的就是具体网络应用进程中的用户标识。

从以上介绍可以得知,其实SAP每层所对应的“地址”,但是针对一个具体的网络通信(注意,这里特别说明一下不是数据通信)来说,不同层中的SAP数是不一样的。如物理层的PSAP只有一个(就是对应的物理接口),数据链路层的DLSAP也只有一个(就是对应物理接口的MAC地址),在网络层中虽然每个物理接口可以有多个IP地址,但是对于一个具体的数据通信来说,它也只有一个,所以NSAP也只有一个,传输层及以上各层的SAP就可以有多个了,因为每一个网络通信中可以同时进行多路网络应用(当前有多少个网络应用进程,就需要多少个SAP),实现多路数据通信。正因如此,针对一个具体的网络通信中各层的SAP可以描述为图5-4所示的形式。


 

2.MAC子层

从“MAC”的中文名称“介质访问控制”可以看出,MAC子层的最基本功能就是如何控制不同用户数据传输中对物理层传输介质的访问,其中包括介质访问时的寻址(这里是通过MAC地址进行的),以及解决可能发生的介质访问冲突(也就是我们通常听到的“仲裁介质的使用权”,即规定站点何时可以使用通信介质)。如IEEE802.3以太网标准MAC子层规范了如何在总线型网络结构下使用传输介质;IEEE802.4令牌总线(Token-Bus)标准MAC子层规范了如何在总线的网络结构下利用令牌(token)控制传输介质的使用;IEEE802.5令牌环(Token-Ring)标准MAC子层规范了如何在环状网络结构下利用令牌来控制传输介质的使用;IEEE802.11标准的无线局域网标准MAC子层规范了如何在无线局域网络的结构下控制传输介质的使用。

具体而言,数据链路层中与各种传输介质访问有关的问题都放在“MAC子层”来解决。其主要功能包括:数据帧的封装/卸装,帧的寻址和识别,帧的接收与发送,帧的差错控制、介质访问冲突控制等。有关MAC子层的具体功能和技术介绍将在下章进行。

3.LLC子层

从“LLC”的中文名称“逻辑链路控制”可以看出,LLC子层的最基本功能就是负责数据链路层中逻辑链路(逻辑链路就是物理层信道中的物理链路在通过LLC子层协议作用后形成的虚拟链路)的控制,其中包括逻辑链路的建立和释放,控制信号交换、数据流量控制,解释上层通信协议传来的命令并且产生响应,以及克服数据在传送的过程当中所可能发生的种种问题,如数据发生错误、重复收到相同的数据、接收数据的顺序与传送的顺序不一致等。在LLC子层方面,IEEE802系列标准中只制定了一种标准——IEEE802.2,各种不同局域网都使用相同的LLC子层通信标准。

由于网络层上可能有许多种通信协议同时存在,而且每一种通信协议又可能同时与多个对象沟通,因此当LLC子层从MAC子层收到一个数据包时必须能够判断要送给网络层的是哪一个通信协议。为了达到这种功能,在LLC子层中提供了“数据链路层”的SAP,作为与“网络层”通信交互的接口(每路通信需要一个SAP接口,如图5-5所示)。为了能够辨认出LLC子层上传送的数据从哪里来,要到哪里去,在LLC子层上传输的每个LLC数据单元(LLC Protocol Data Unit,LPDU)上都会有“目的服务访问点”(Destination Service Access Point,DSAP)和“源服务访问点”(Source Service Access Point,SSAP)这两个地址。具体的LPDU帧格式将在本章后面介绍。

在计算机网络中进行的数据传输,虽然实际上是从发送端的高层一路经过数据链路层、物理层,然后再从接收端的物理层、数据链路层一直传输到对应的高层(如图5-5中实线箭头所示),而从逻辑意义看,数据是从发送端数据链路层到接收端数据链路层间的一段段逻辑链路上进行传输的(如图5-5中虚线箭头所示),因为在物理层中传输的比特流最终还是要转换成数据帧在数据链路层中传输。


 

具体而言,数据链路层中与传输介质访问无关的问题都集中在LLC子层来解决,为网络层提供服务。其主要功能包括逻辑链路的建立和释放、提供与网络层的接口(也就是前面说到的SAP)、数据传输差错控制、给数据帧加上传输序列号等。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:5.1.1 划分数据链路层的必要性
下一篇:5.2.1 数据链路管理
相关文章
图文推荐
1.2.2 包与帧
1.2.1 网络协议栈
云数据中心网络技术
3.4.6 文本约定
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站