电商运营建站推广,联系我!

第四章 数据链路层

计算机网络 3年前 (2019-07-16) 995次浏览 已收录 0个评论 扫描二维码

数据链路层的目的是为了提供功能上和规程上的方法,以便建立、维护和释放网络实体间的数据链路。主要解决的问题是如何在有差错的物理线路上,进行无差错的传输。数据链路层协议定义了一条链路的两个结点间交换的数据单元格式,以及结点发送和接收数据单元的动作。它是为了克服物理层的物理传输质量不足而存在的,目的是实现两个相邻节点间的无差错传输。从分层的角度,数据链路层利用了物理层提供的原始比特流传输服务,向网络层提供可靠的数据传输服务。

1.物理链路指通信路径上连接相邻结点的通信信道,也称为(物理)链路。2.数据链路/逻辑链路指将一些必要的通信协议作用在一条链路上就构成了一条数据链路,即:通信规程+物理链路=数据链路3.相邻节点是指由同一物理链路直接连接的所有节点
4.数据链路层传送的数据单位是帧
图 4.1.1-2 数据链路层传送数据数据链路层像个数字管道,常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧
5.数据链路层的作用尽管物理层采取了一些必要的措施来减少信号传输过程中的噪声,但是数据在物理传输过程中仍然可能损坏或丢失。由于物理层只关心原始比特流的传送,不考虑也不可能考虑所传输信号的意义和信息的结构,从而物理层不可能识别或判断数据在传输过程中是否出现了损坏或丢失,从而也谈不上采取什么方法进行补救。也就是说,只有物理层的功能是不够的
6.数据链路层向网络层提供的服务是将源结点的网络层数据可靠地传输到相邻的目的结点的网络层。 可以将数据链路层设计成提供各种服务,实际的服务因系统的不同而不同。通常有三种基本的服务:(1)无确认的无连接服务(2)有确认的无连接服务(3)面向连接服务其中:无确认的无连接服务:无须建立链路连接,也不存在释放;每个帧带有目的地址;各帧相互是独立的;目的节点对收到的帧不做应答确认;源机器向目标机器发送独立的数据帧,而目的机器不对收到的帧作确认;丢失的帧,由高层处理,数据链路层不做处理。由于线路上的噪声而造成的帧丢失,数据链路层不作努力去恢复,而将该工作留给上层(通常为传输层)。适用于误码率较低的信道,如大多数的局域网中。大多数局域网在数据链路层都使用无确认的无连接服务。有确认的无连接服务:在无确认的无连接服务的基础上加上确认功能,目的节点对每一帧都要向发送端发确认信号,发送端利用超时机制处理确认信号,若某个确定的时间间隔内未能收到确认帧(超时),则发送方自动重发,若逾期未收到肯定确认信号,则重发帧。这类服务适用于可靠性不高的信道,无线通信系统之类。面向连接服务:其通信过程需要经历三个阶段,第一价段,在传送数据前,先建立一条连接(即建立数据链路);第二阶段,进行数据帧传输。所有帧都有各自的编号,传输过程中对每一帧都要确认,发送方收到确认后才能发送下一帧。保证每一帧都收到,且每一帧只被正确接收一次,并保证所有的帧按正确顺序被接收。真正为网络层提供了可靠的无差错传输服务;第三阶段,断开连接(释放数据链路)。适用于误码率较高的不可靠信道,如某些广域网链路。7.数据链路层要解决的问题数据链路层要解决的问题是如何识别不同的相邻节点或确定一个接收目标,即进行物理编址与寻址;如何提供一种机制使得接收方能识别数据流的开始与结束,即成帧;如何实现可靠的数据传输,即如何提供差错检测与控制机制使得有差错的物理链路对网络层表现为一条无差错的数据链路;如何提供流量控制机制以保证源和目标之间不会因发送和接收速率不匹配而引起数据丢失。8.帧(Frame)为了实现诸如差错控制、物理寻址和流量控制等功能,数据链路层首先要使自己所看到的数据是有意义的:除了要传送的用户数据外,还要提供关于寻址、差错控制和流量控制等所必需的控制信息,而不再是物理层的原始比特流。为此,数据链路层采用了被称为帧(frame)的协议数据单元作为该层的数据传送逻辑单元。不同的数据链路层协议的核心任务就是根据所要实现的数据链路层功能来规定帧的格式,即语法和语义

帧中的语法成分被称为域或字段(field);上图只是帧的一般组成,不同的数据链路层协议所规定的帧格式可能会与其存在微小的区别。数据链路层的主要功能是链路管理、帧定界、流量控制、差错控制、透明传输和寻址。其中:帧定界:就是标识帧的开始与结束,常用的帧定界方法有字符计数法、带字符填充的首尾界符法和带位填充的首尾标志法;首尾标记法:每一帧使用一个特殊的位模式“01111110”作为开始和结束标记,该位模式又称为“flag”。位模式允许数据帧包含任意个数的比特,也允许每个字符采用任意比特的编码。在首尾标记法中,由于数据中可能会出现与标记相同的位串,从而干扰帧的正常定界。位填充法可用于解决上述问题,即发送端在数据中若遇到 5 个连续的“1”时,则在其后自动插入一个“0”,该技术简称“逢五 1 插 0”(或称为 0 比特插入技术);接收端则忽略 5 个连续的“1”后面的“0”,简称“逢五 1 删 0”。
帧的地址:帧中的地址属于物理或硬件地址,如网卡地址,用于设备或机器的物理寻址;透明传输:把控制信息和数据信息分开,使得数据中不出现控制信息,并且对数据没有影响;差错控制:包括 CRC 循环冗余校验、奇偶 (水平、垂直、方阵)校验和海明校验流量控制:由于系统性能的不同,如硬件能力(包括 CPU,存储器等)和软件功能的差异,会导致发送方与接收方处理数据的能力有所不同。流量控制的作用是使发送方所发出的数据流量,使其发送速率不要超过接收方所能接收的速率。流量控制的关键是需要有一种信息反馈机制,使发送方能了解接收方是否能接收到。存在各种不同的流量控制机制。如简单的停等协议,而滑动窗口协议则将关于帧的确认与流量控制巧妙地结合在了一起。匹配收发两端的速率。寻址:解决节点辨识成帧与拆帧:引入帧后,在发送方,数据链路层从网络层获得分组(Packet)后,要加上必要的帧头与帧尾后传送给物理层,并通过物理层传送到接收方的数据链路层。这种加上帧头与帧尾的过程就称为成帧(Framing)。在接收方,数据链路层则必须去掉发送端数据链路层所加的帧头和帧尾部分,从中分离出网络层所需的分组,将帧重新拆装成分组的过程称为拆帧。
数据链路层的设备与组件是指那些同时具有物理层和数据链路层功能的设备或组件。数据链路层的主要设施包括网卡、网桥和交换机。
1. 网卡局域网中提供各种网络设备与网络通信介质相连的接口,全名是网络接口卡(NIC,Network Interface Card),也叫网络适配器 。网卡作为一种 I/O 接口卡插在主机板的扩展槽上,其基本结构包括接口控制电路、数据缓冲器、数据链路控制器、编码解码电路、内收发器、介质接口装置等六大部分。主要实现数据的发送与接收、帧的封装与拆封、编码与解码、介质访问控制和数据缓存等功能。其性能和质量直接影响网络运行性能
网卡的主要功能是数据的发送与接收,数据缓冲区越大越好,一般为 2-64KB;编码与解码,采用曼彻斯特或差分曼彻斯特编码;帧的封装与拆卸,如以太网帧或 FDDI 帧;介质访问控制,可以是 CSMA/CD,也可以是令牌环
2.网卡地址:有许多别名:物理地址/硬件地址/MAC 地址;每一网卡在出厂时都被分配了一个全球唯一的地址标识,该标识被称为网卡地址或 MAC 地址;网卡地址被固化在网卡上,并被局域网的数据链路层用于识别不同的物理节点即寻址,所以又被称为物理地址或硬件地址。以太网的网卡地址由 48bit 长度的二进制数组成。其中,前 24bit 表示生产厂商,后 24bit 为生产厂商所分配的产品序列号。若采用 12 位的十六进制数表示,则前 6 个十六进制数表示厂商,后 6 个十六进制数表示该厂商网卡产品的序列号。每一块网卡在出厂时均获得一个唯一的地址,称为网卡地址。网络类型有许多种类,例如:Ethernet, Token Ring, or FDDI,网卡的传输速率根据服务器或工作站的带宽需求并结合物理传输介质所能提供的最大传输速率来选择。 网卡的品牌包括:INTEL、3COM、D-LINK。
3.网桥:Bridge,也叫桥接器。工作在数据链路层的一种网络互连设备,其可以实现两个或多个 LAN 的互联;主要功能包括:物理上扩展网络、基于第二层地址的数据过滤功能、逻辑划分网络的功能、数据推进功能和帧格式转换功能
理方式可分为智能型和非智能型;按配置形式分为独立型和堆叠式。集线器的选购主要考虑三个因素:接口类型、接口速率、是否可堆叠或自适应。接口类型包括:主机接口通常为 RJ-45 接口;上连(uplink)端口有 RJ-45 接口、AUI 粗缆接口、BNC 细缆接
5.网桥/交换机:数据链路层上的网络互连设备,交换机又称多端口网桥;依据第二层地址进行网络流量过滤,忽略关于本地网络的所有流量,转发目标地址不在本地的数据流量。具有物理上扩展网络,逻辑上划分网络的功能
6.交换机:Switch ,也是工作在数据链路层的一种网络互连设备。由网桥发展而来,是一种多端口的网桥,其通过在其内部配备大容量的交换式背板实现了高速数据交换。根据涉及的第二层技术,分为以太网交换机、FDDI 交换机、帧中继交换机、ATM 交换机和令牌环交换机等
交换机的背板带宽:交换机接口处理器或接口卡和数据总线间所能吞吐的最大数据量,也叫背板吞吐量。一台交换机的背板带宽越高,所能处理数据的能力就越强。 端口速率一般有 10Mbps、100Mbps、1000Mbps、10Gbps 和自适应。端口数目要满足组网规模要求。交换机的网管是指网络管理员通过网络管理程序对网络资源进行集中化管理的操作,包括配置、性能和记帐管理等,反映了设备的可管理性及可操作性。带网管功能的交换机相应的则价格要贵。
7.交换机与集线器的比较相同点:多端口集中器,物理上扩展网络。不同点:集线器为物理层设备,只关注原始比特流的传送,不具备流量过滤功能和网络逻辑划分功能;交换机为数据链路层设备,基于 MAC 地址在不同网段间进行流量过滤,从而具有逻辑分段功能;集线器只能实现半双工传送,而交换机可支持全双工传送;集线器提供共享带宽,交换机提供专用带宽。例如:24 口/100M 集线器,每个端口带宽 100/24M;
8.交换机与网桥的比较相同性:均为 OSI 第二层的网络互连设备。交换机作为多端口网桥,具备了网桥所拥有的全部功能,如物理上扩展网络、逻辑上划分网络等。不同点:交换机作为对网桥的改进设备,可以提供高密度的连接端口;采用的基于交换背板的虚电路连接方式,可为每个交换机端口提供更高的专用带宽;数据转发基于硬件实现,较网桥采用软件实现数据的存储转发具有更高的交换性能。交换机作为多端口网桥的交换机可以取代多个网桥的作用,且具有更高的带宽。
1. 完全理想化的停止-等待协议数据传输的两个假定:     (1)链路是理想的传输信道,所传送的任何数据既不会出差错也不会丢失。     (2)不管发方以多快的速率发送数据,收方总是来得及收下,并及时上交主机。停止-等待协议工作在理想情况的几个前提:  (1)单工传输  (2)发送方无休止工作(要发送的信息无限多)  (3)接收方无休止工作(缓冲区无限大)  (4)通信线路(信道)不损坏或丢失信息帧停止-等待协议的工作过程如下:(1) 发送程序:   取数据,构成帧,发送帧;(2) 接收程序:等待,接收帧,送数据给高层
2.具有最简单流量控制的停止-等待协议增加约束条件:在完全理想化的假设前提下,增加接收方不能无休止接收,只能一帧一帧接收的约束。解决办法是接收方每收到一个帧后,给发送方回送一个响应。即假定链路是理想的传输信道,发送方每发送一帧就暂时停下来,直到接收到接收方发来的确认信息后再发送下一帧
)从主机取一个数据帧;(2)将数据帧送到数据链路层的发送缓存;
(4)等待;(5)若收到由接收结点发过来的信息,则从主机取一个新的数据帧,然后转到(2)。在接收结点:(1)等待;(2)若收到由发送结点发过来的数据帧,则将其放入数据链路层的接收缓存;(3)将接收缓存中的数据帧上交主机;(4)向发送结点发一信息,表示数据帧已经上交给主机;(5)转到(1)。3.实用的停止等待协议增加的约束条件是在接收方一帧一帧接收的前提下,再增加信道(线路)有差错,信息帧可能损坏或丢失的约束。解决的办法是出错重传。即发方在发下一个帧之前等待一个肯定确认的协议叫做 ARQ(Automatic Repeat reQuest)。存在几种出错的可能
(1)数据帧出错:差错检验(2)数据帧丢失:超时机制(3)确认帧丢失:超时机制(会产生重复帧)(4)重复帧=帧编号
其中,发送方: (1) 发送一个帧;启动定时器;等待应答;转(2)或(2‘)  (2) 若定时器未到:收到应答:若肯定应答,转(1),发下一帧;若否定应答,转(3),重传该帧。  或(2‘)若定时器已到:未收到应答,转(3),重传该帧  (3) 若重传次数<设定值,重传该帧,否则,信道故障,通讯终止。接收方:    (1) 收到数据帧;    (2) 帧正确性判断:若不正确,发 NAK;若正确,转(3);    (3) 重复帧判断:若重复,丢弃,发 ACK 应答;若不重复,接受,发 ACK 应答。 停止等待协议的优点是比较简单;缺点是通信信道的利用率不高,信道还远远没有被数据比特填满
为了克服这一缺点,就产生了另外两种协议,即连续 ARQ 和选择重传 ARQ。
1.连续 ARQ 协议的工作原理:发送方发完一帧后,不必停下来等待对方的应答;可以连续发送若干帧;若在发送过程中收到对方的肯定应答,可以继续发送;若收到对其中某一帧的否认,则重发否认帧开始的所有后续帧
连续 ARQ 协议的优点是连续发送提高了信道利用率;缺点是回走重传(Go-back-N),导致某些已正确接收的帧的重传,故降低了发送效率。适用于误码率较低的环境,只有在这种环境中连续 ARQ 协议优于停等协议;反之则不一定。连续 ARQ 协议的差错控制同停等协议;2.连续 ARQ 协议的流控方法是连续发送,但不能无限发送,必须对可以连续发出的最多帧数(已发出但未确认的帧)作限制,发送端一次发送的帧数受限;解决出错处理问题,需要缓存帧;未被确认的帧需要缓存,出错要求重传许多帧,会增大开销,对大量帧编号,会增大开销,循环重复使用有限的帧序号。采用滑动窗口协议。3.滑动窗口协议的流量控制    (1)发送窗口 WT,其大小 WT 表示在收到对方确认的信息之前,可以连续发出的最多数据帧数(只有序号在窗口内的帧才可以发送);    (2)接收窗口 WR,其大小 WR 可以连续接收的最多数据帧数(只有序号在窗口内的帧才可以接收,否则丢弃)。接收窗口驱动发送窗口的转动。发送窗口的最大值是 WT + WR <= 2n  (n 为序号的位数),其中 WT < =2n – 1。

.发送窗口的规则:发送窗口内的帧是允许发送的帧,而不考虑有没有收到确认。发送窗口外的所有的帧都是不允许发送的帧;每发送完一个帧,允许发送的帧数就减 1,但发送窗口的位置不变;如果所允许发送的帧都发送完了,但还没有收到任何确认,那么就不能再发送任何帧了,这时,发送端就进入等待状态;每收到对一个帧的确认,发送窗口就向前(即向右方)滑动一个帧的位置,于是,发送端又可以继续发送 1 个帧。5.接收窗口的规则:在接收端只有当收到的数据帧的发送序号落入接收窗口内才允许将该数据帧收下;只有当收到的帧的序号与接收窗口一致时才能接收该帧。否则,就丢弃它;每收到一个序号正确的帧,接收窗口就向前(即向右方)滑动一个帧的位置。同时向发送端发送对该帧的确认。在滑动窗口协议中,每一个要发送的帧都有包含一个序列号,其范围从 0 到某一个值。若帧中用以表达序列号的字段长度为 n,则序列号的最大值为 2n-1;任何时候发送方保持着一组序列号,对应于允许发送的帧,并且这些帧被认为在发送窗口内;任何时候接收方也保持着一组序列号,对应于允许接收的帧,并且这些帧被认为在接收窗口内,接收窗口的大小等于发送方未收到接收方的确认之前所能发送的最多帧;发送窗口与接收窗口可以不具有相同的窗口上限与下限,也可以具有不相同的窗口大小。在某些协议中,窗口大小在传输过程中还可动态调整。
6.选择重传 ARQ 协议:接收窗口大于 1,先暂存出错帧的后继帧;只重传坏帧;接收方对最高序号的帧进行确认;接收窗口较大时,需较大缓冲区。
 一、面向字符的链路层协议?ISO 的 IS1745,基本型传输控制规程及其扩充(BM 和 XBM)?IBM 的二进制同步通信规程(BSC)?DEC 的数字数据通信报文协议(DDCMP)?SLIP、PPP
二、面向比特的链路层协议?IBM 的 SNA 使用的数据链路协议 SDLC    (Synchronous Data Link Control protocol);?ANSI 修改 SDLC,提出 ADCCP    (Advanced Data Communication Control Procedure);?ISO 修改 SDLC,提出 HDLC(High-level Data Link Control);?CCITT 修改 HDLC,提出 LAP(Link Access Procedure)作为 X.25 网络接口标准的一部分,后来改为 LAPB。1.HDLC概述 1976 年,ISO 提出 HDLC(High-level Data Link Control)。适用于:计算机 —— 计算机、 计算机 —— 终端以及终端——终端。2.HDLC 协议的数据站简称站 station,由计算机和终端组成,负责发送和接收。分为 3 大类:–主站(primary station):发送命令(包括数据)、接收响应以及负责整个链路的控制(系统初始化、流控、差错恢复等)–次站(secondary station):接收命令、发送响应以及配合主站完成链路的控制;–组合站(combined station):同时具有主、次站功能,既发送又接收命令和响应,并负责整个链路的控制。3.HDLC 协议的两种配置模式(1) 非平衡配置(主从站):   点-点工作、 多点工作(2) 平衡配置  (复合站):    点-点工作
4.HDLC 协议的三种响应方式(1)正常响应方式 NRM:  数据传输由主站发起,从站只能响应主站的轮询;(2)异步响应方式 ARM : 从站可以主动发送响应帧;(3)异步平衡方式 ABM : 任一复合站都可以发起数据传输

其中:标志 F:为“01111110”,标记帧的首尾边界,用于进行帧同步,采用零比特填充技术进行透明传输;地址字段 A:采用非平衡方式时,填入从站地址,采用平衡方式时,填入响应站地址;帧检验序列 FCS:采用 CRC-CCITT16, G(x) = x16 + x12 + x5  + 1;控制字段 C:标记帧类型,并附加控制信息。分为信息帧 I,数据可以双向传输; 监控帧 S,主要进行流控;无编号帧 U,完成各种控制,如链路的建立,链路的拆除。
1.点对点协议(Point-to-Point Protocol)简称 PPP,工作于数据链路层的广域网协议,由 IETF(Internet Engineering Task Force)开发,目前已被广泛使用并成为国际标准。它为路由器到路由器、主机到网络之间使用串行接口进行点到点的连接提供了 OSI 第二层的服务;在物理上可使用各种不同的传输介质,包括双绞线、光纤及无线传输介质;在数据链路层提供了一套解决链路建立、维护、拆除和上层协议协商、认证等问题的方案;在帧的封装格式上,PPP 采用的是一种 HDLC 的变化形式;对网络层协议的支持则包括了多种不同的主流协议,如 IP 和 IPX 等)
2.PPP 的连接一般要经历链路建立、链路质量协商、网络层协议选择和链路拆除四个阶段。链路建立阶段–通过发送 LCP 的帧来对链路进行相关的配置,包括数据最大传输单元、是否采用 PPP 的压缩、PPP 的认证方式等;链路质量协商阶段(可选)–用于对链路质量进行测试,以确定其能否为上层所选定的网络协议提供足够的支持,另外若连接的双方已经要求采用安全认证,在该阶段还要按所选定的认证方式进行相应的身份认证;网络层协议选择阶段–通过发送 NCP 包来选择网络层协议并进行相应的配置,不同的网络层协议要分别进行配置;该阶段完成后,一条完整的 PPP 链路就建立起来了并可在上面进行数据传输。任何时候只要用户请求断开连接或者由于链路故障,PPP 的连接都会被终止即进入链路拆除阶段。PPP 协议应满足的需求:简单——这是首要的要求,封装成帧,透明性,多种网络层协议,多种类型链路,差错检测,检测连接状态,最大传送单元,网络层地址协商和数据压缩协商;PPP 协议不需要的功能:纠错,流量控制,序号,多点线路和半双工或单工链路。
3.PPP 帧与 IP 数据报的关系在数据链路层出现差错的概率不大时,使用比较简单的 PPP 协议较为合理。在因特网环境下,PPP 的信息字段放入的数据是 IP 数据报。数据链路层的可靠传输并不能够保证网络层的传输也是可靠的。帧检验序列 FCS 字段可保证无差错接受。将 IP 数据封装到串行链路,PPP 既支持异步链路(无奇偶校验的 8 比特数据(字符)),也支持面向比特的同步链路。IP 数据报在 PPP 帧中就是其信息部分,最大长度受最大接收单元 MRU 的限制,MRU 默认值 1500 字节。
1.数据链路层主要解决的问题是如何在有差错的物理线路上,进行无差错的传输。目的是实现两个相邻节点间的无差错传输。2.“链路”和“数据链路”是两个不同的概念。3.数据链路层传送的数据单位是帧。4.数据链路层的常用设施包括网卡、网桥、交换机。5.数据链路层的协议包括停止-等待协议、ARQ 协议和 HDLC 协议,因特网使用 PPP 协议。


个人博客 , 版权所有丨如未注明 , 均为原创丨本网站采用wordpress 相关隐私与版权
转载请注明原文链接:第四章 数据链路层
喜欢 (0)
[18669058523]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址