数据链路层

 

1.  链路层概述:(Data Link Layer)(单位:帧 frame)

在物理层提供比特流服务的基础上,建立相邻结点之间的数据链路,通过差错控制提供数据帧(Frame)在信道上无差错的传输,并进行各电路上的动作系列。数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。在这一层,数据的单位称为帧(frame)。

数据链路层协议的代表包括:HDLC、PPP、STP、帧中继等。

结点(node):运行链路层协议的任何设备

链路(link):沿通信路径连接相邻结点的通信信道

帧(链路层PDU) :协议数据单位。一个帧由一个数据字段和若干首部字段组成,其中网络层数据报就插在数据字段中。

  •  链路层信道:

          第一种类型是广播信道

    用于连接有线局域网(Wired LAN)卫星网和混合光纤同轴电缆(Hybird Fiber Coaxial cable,HFC)接入网的多台主机。需要所谓的媒体访问协议(或中心控制器)协调帧传输。

    第二种类型是点对点通信链路

    用于长距离链路连接的两台路由器,或用户办公室连接临近以太网交换机。

  • 链路层在何处实现

       

2.  链路层服务/功能

 a. 成帧:每个网络层数据报经链路层传送之前,几乎所有的链路层协议都要将其用链路层封装起来。一个帧由一个数据字段和若干首部字段组成,其中网络层数据报就插在数据字段中。

 b. 链路接入:介质访问控制(Medium Access Control,MAC)协议规定帧在链路上传输的规则。对于链路只有一个发送方和接收方的点对点链路,MAC简单(或不存在);当多个结点共享单个广播链路时,即所谓载波侦听多路访问CSMA/CDCSMA/CA,MAC协议协调多结点的帧传输。

 c. 可靠交付:类型运输层协议(如:TCP)提供的可靠交付服务。链路层的可靠交付服务通过确认和重传机制获取,用于易产生高差错的链路(无线链路)

 d. 差错控制(差错检测和纠正):由于信号衰减和电磁噪声等导致比特差错(损伤),链路层协议提供差错检测机制检测比特差错(损伤)。差错检测基于硬件,通过发送结点在帧中携带差错检测比特,接收方结点进行差错检测实现。差错纠正类似差错检测,区别在于接收方不仅能检测帧中出现的比特差错,而且能够准确定位并予以纠正。运输层和网络层也提供有限形式的差错检测,即因特网校验和。

具体来说:

1) 将网络数据包封装成帧

2) 帧同步:基于时间,字节计数(很少使用),含字节填充的分界符法,含位填充的分界符法,物理层编码违例法(最后两种常用)

3) 逻辑链路控制(LLC)子层

    • 流量控制

                      a. 停止等待(效率低)(停等ARQ

                      b. 滑动窗口(连续ARQ和选择重传ARQ数据链路层的滑动窗口协议控制数据帧的连续发送。在发送方保持一个连续的序号表,表示允许发送的数据帧的序号,称为发送窗口(Wt<= 2的n次方 - 1);在接收方也保持一个连续的序号表,对应于允许接收的帧的序号,称为接收窗口( Wr<=Wt,Wr<=2的n-1次方 )。

    • · 差错控制: 差错控制和流量控制是结合在一起的

a.  差错检测:帧损坏(原理:利用冗余信息检错)——>循环冗余校验(CRC),帧丢失(数据/确认帧)——>帧编码,确认帧,定时器

(单)奇偶校验位(parity bit,突发差错,50%),二维奇偶校验(two-dimensional parity),校验和(Internet checksum),加密散列函数,纠错码

说明:接收方检测和纠正的能力被称为前向纠错(Forward Error Correction,FEC),常用于音频CD等音频存储和回放设备中。网络环境,或与ARQ技术一起应用。

b. 差错纠正

      当检测到错误,不论帧损坏还是帧丢失,数据链路层通常不去修正错误,而是简单地重新传输对应的帧,这个过程称为自动重复请求(AutomaticRepeatRequest,ARQ)

       当CRC校验出错时,接收方可以发送一个否认帧NAK(Negative Acknowledge),告诉发送方重传出错的帧;也可以简单地将错误帧丢弃,不发送任何信息,这样发送方的定时器会超时,自然会重传对应的帧

      当数据帧丢失后,定时器会超时,发送方就会重传丢失的帧。但在确认帧丢失时,发送方会重传接收方已经收到的帧,那么在接收方要丢弃重复收到的数据帧,以保证数据的正确性。

      通常情况下,差错控制和流量控制是结合在一起的。因此停止等待常以停等ARQ来实,而滑动窗口常以连续ARQ和选择重传ARQ来实现

    • · ARQ技术:
  • ·反馈检测:数据传输时,接收方将接收到的数据重新发回发送方,由发送方检查是否与原始数据完全相符。若不相符,则发送方发送一个控制字符(如DEL)通知接收方删去出错的数据,并重新发送该数据;若相符,则发送下一个数据
  • ·空闲重发请求(Idle RQ)(也是流量控制的一种体现):也叫停等法(停等ARQ,比特编号0,1,0,1),发送方每次仅将当前信息帧作为待确认帧保留在缓冲存储器中。当发送方开始发送信息帧时,随即启动计时器。 当接收方检测到一个含有差错的信息帧时,便舍弃该帧(停等ARQ,帧出错)。当发送方发送数据帧丢失,且计时器超时,发送方就会重传丢失的帧(停等ARQ,帧丢失)。当接收方收到无差错的信息帧后,即向发送方返回一个确认帧。 若发送方在规定时间内未能收到确认帧 (即计时器超时),则发送方重传存于缓冲器中(接收方已收到的)未确认的信息帧(停等ARQ,确认帧丢失)。若发送方在规定时间内收到确认帧,即将计时器清零,继而开始下一帧的发送。优点是所需的缓冲存储空间很小。
  • · 连续ARQ(continus RQ)连续ARQ基于滑动窗口技术,对数据帧模n进行编号。发送方窗口大于1,所以在发送完一帧后,不是停下来等确认信息的到来,而是可以连续发送若干帧,整个通信的吞吐量和信道利用率都得到提高。这就需要一个较大的缓冲存储空间(称作重发表),用以存放若干待确认的信息帧。每当发送站收到对某信息帧的确认帧后,便从重发表中将该信息帧删除。所以,连续RQ方案的链路传输效率大大提高,但相应地需要更大的缓冲存储空间。连续ARQ中接收方窗口大小固定为1,因此接收方只按顺序接收数据帧。连续ARQ协议一方面利用滑动窗口连续发送数据帧而提高了效率;另一方面,又会重传那些已经正确送到过的帧(仅因这些帧之前的一个帧出了错),这种做法又降低了传送效率。但连续ARQ协议比较简单,实现起来比较容易。
  • · 选择重传ARQ:选择重传ARQ同样使用滑动窗口技术,它的做法类似于连续ARQ,但对其进行了改进。选择重传ARQ基本思想是只重传出错的帧或丢失的帧,而不去回退N帧重传。这就要求接收方要缓存那些正确的但不是按顺序到来的帧。所以在选择重传ARQ中,接收方的窗口要大于1,同时还要对到来的帧进行排序,排好序后再提交给商层。与连续ARQ相比选择重传ARQ效率高,但是集法复杂,同时接收方需要的缓冲要比连续ARQ大。

       4) 介质访问控制(MAC)子层

    • CSMA/CD CSMA/CA
    • MAC寻址
    • LAN交换(分组交换),MAC过滤,STP和最短路径桥接(SPB)
    • 存储转发交换或直接交换
    • QoS控制
    •  VLAN

3.  数据链路层协议

按异步,同步分类:

异步协议:

(以一个字符为一个传输单位,字符之间异步,字符内部比特同步)

同步分类:面向字符的协议——BSC(淘汰)

 面向比特的协议——高级数据链路控制协议(High-level Data Link Control,HDLC);点对点协议(Point-to-Point protocol,POP)

按网络链路类型 :

点对点链路——高级数据链路控制协议(High-level Data Link Control,HDLC);点对点协议(Point-to-Point protocol,POP)

广播链路:三种类型,信道划分协议,随机接入协议,轮流协议

(以太网,无线局域网)

广播链路的多路访问问题:

广播链路(broadcastlink),它能够让多个发送和接收结点都连接到相同的、单一的、共享的广播信道上。这里使用术语“广播”是因为当任何一个结点传输一个帧时,信道广播该数据帧,每个其他结点都收到一个副本。一个对链路层很重要的问题:如何协调多个发送和接收结点对一个共享广播信道的访问,这就是多路访问问题(multipleaccessproblem)。广播信道通常用于局域网中,局域网是一个地理上集中在一座建筑物中(或者在一个公司,或者在大学校园)的网络。

将任何多路访问协议划分为3种类型之一:信道划分协议(channel partitioning protocol),随机接入协议(random access protocol)和轮流协议(taking-turns protocol)。在理想情况下,对于速率为Rbps的广播信道,多路访问协议应该具有以下特性:

1)当仅有一个结点有数据发送时,该结点具有Rbps的吞吐盘;

2)当有M个结点要发送数据时,每个结点吞吐最为R/Mbps。这不必要求M结点中的每一个结点总是有R/M的瞬间速率,而是每个结点在一些适当定义的时间间隔内应该有R/M的平均传输速率。

3)协议是分散的;这就是说不会因某主结点故障而使整个系统崩溃。

4)协议是简单的,使实现不易费。

      信道划分协议:时分多路复用(TDMA)和频分多路复用(FDMA)是两种能够用于在所在共享信道结点之间划分广播信道带宽的技术。TDM和FDM分别为结点分配时隙和频率。码分多址(Code Division Multiple Access,CDMA)。CDMA为每个结点分配一种不同的编码。

      随机接入协议:ALOHA协议和载波侦听多路访问(Carrier Sense Multiple Access,CSMA

载波侦听多路访问/碰撞检测(CSMA/CD)主要思想:减少冲突,提高信道利用率;总结:先听后发,边发边听,冲突停止,稍后重发。

载波侦听多路访问/碰撞避免(CSMA/CA)

说明:以太网是一种流行并且广泛部署的CSMA协议

以太网使用载波侦听多路访问/冲突检测(CSMA/CD)协议来解决总线使用权问题

      轮流协议:轮询协议(polling protocol),令牌传递协议(token-passing protocol)

举例:

DOCSIS:用于电缆因特网接入的链路层协议

一个电缆接入网通常在电缆网头端将几千个住宅电缆调制解调器与一个电缆调制解调器端接系统(CableModemTerminationSystem,CMTS)连接。数据经电缆服务接口(Data-Over-CableServiceInterface,CMTS)规范(DOCSIS)[ DOCSIS 2012]定义了电缆数据网络体系结构及其协议。DOCSIS使用FDM将下行(CMTS到调制解调器)和上行(调制解调器到CMTS)网络段划分为多个频率信道。每条上行信道被划分为时间间隔(类似于TDM),每个时间间隔包含一序列微时隙,电缆调制解调器可在该微时隙中向CMTS传输。

   

4.  高级数据链路控制协议(High-level Data Link Control,HDLC)

HDLC(High-levelData-Link Control)协议是面向比特协议中最具代表性的一个协议,HDLC协议起源于1974年IBM公司推出的SDLC协议。1979年,ISO在SDLC协议的基础上提出高级数据链路控制协议-HDLC协议。后来基于HDLC协议,又提出一系列链路层协议、如LAP系列协议、PPP协议、帧中继协议等。局域网协议也是基于HDLC协议发展起来的,学习HDLC协议有利于理解其他的面向比特的协议。

HDLC具有透明性,数据和控制信息完全独立,不受任何位式样和字符宽度的限制;能适应多种应用、多种网络配置,可用于点到点链路,也可用于多点链路;可采用交换线路,也可采用非交换线路;控制信息所占比例小,传输效率高;可靠性高;吞吐率高等优点。因此,HDLC已成为广受欢迎的数据链路控制规程。

基本概念:

a.    三种类型的站:主站,从站,复合站

b.    链路结构:主-从;主-多从(点对多点,不平衡链路结构);多主-多从、复合-复合(2-2,1-1平衡链路)

c.     操作方式:正常相应方式(NRM),异步响应方式(ARM),异步平衡方式(ABM),扩充(S)—(NRM)(ARM)(ABM)

d.    帧格式:HDLC定义三种类型的帧:信息帧(I帧),监督帧(S帧),无编号帧(U帧)

5.  点对点协议(Point-to-Point protocol,POP)

       a. 简介

      点对合协议(Point-to-Point Protocol,PPP)[RFC1661] [RFC1662] [RFC2153]是一种在串行链路上传输IP数据报的数据链路层协议。从低速的拨号调制解调器到高速的光链路[RFC2615]。它被一些DSL服务供应商广泛部署,也可分配Intemet系统的参数。

      PPP协议广泛地用于通过电话线投号接人因特网的线路,同时在路由器与路由器连接的线路上也大量使用PPP协议。目前,宽带接人取代拨号成为接入因特网的主要方式,PPP也衍生出新的应用。典型的是在ADSL接入方式当中,PPP与其他的协议共同派生符合宽带接人要求的新的协议,如PPPOE( PPP over Ethernet ),PPPOA (PPP over ATM)

      PPP协议给出在单行链路上封装数据报的方法。PPP实际上是一个协议集合,而不是一个单一的协议。它支持建立链接的基本方法一称为链路控制协议(Link Control Protocol, LCP),以及一系列NCP协议。在LCP建立了基本链路之后,PPP用于为各种协议(包括IPv4、 IPv6和非IP协议)建立网络层链路。一些相关标准涉及对PPP的压缩和加密控制,以及在链接建立后的一些认证方法。

  1. 链路控制协议(Link Contral Rrotocol,LCP):LCP用来建立、配置和测试数据链路;
  2. 网络控制协议(NetworkControlProtocol,NCP)NCP不是一个协议,而是一组协议,包括IPCP,IP,IPX等。NCP用来建立两端网络层的连接,协商网络层的选项和传递网络层数据。PPP支持的每一种网络层协议都有相应的NCP。
  3. 点对合协议(Point-to-Point Protocol,PPP):处理错误检测,支持多种协议。PPP协议可以在连接建立过程中检查链路质量,协商所用的网络层协议。此外它还通过PAP(Password Authentication Protocol , 口令身份验证协议)和 CHAP(Challenge Handshake Authentication Protocol,挑战提手身份验证协议)支持身份验证。PPP已经被广泛应用于Internet中的数据链路层。

  b.    帧格式:

     

      TCP/IP详解 卷1:协议  原书第二版_PDF_110有详解

             (1)LCP协议完成数据链路的建立、配置、维护和终止。

(2)PAP和CHAP协议都可以用来完成用户的身份认证。

(3)IPCP协议用来协商网络层配置,为用户分配IP地址。

(4)IP协议用来发送和接收用户的数据。

(5)FCS是帧校验字段,PPP采用CRC校验。当CRC校验错误时,PPP就丢弃数据帧。

6.   链路控制协议(Link Contral Rrotocol,LCP)

物理链路建立后,通信双方需要建立数据链路,通信完毕后还需要拆除数据链路。数据链

路的建立、配置、维护和终止都是由链路控制协议(LinkControlProtocol,LCP)来完成的。

LCP包封装在PPP帧的数据字段中,如图:

    

 

7.  局域网之以太网以太网几乎占领着现有的有线局域网市场,较令牌环、FDDI、ATM更简单,(设备)更便宜。以太网对于局域网的重要性就像英特网对于全球联网所具有的地位那样

   a. 简介:

以太网(Ethernet)是一种计算机局域网技术。IEEE组织的IEEE 802.3标准制定了以太网的技术标准,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。以太网是目前应用最普遍的局域网技术,取代了其他局域网标准如令牌环FDDIATM

以太网的标准拓扑结构为总线型拓扑,但目前的快速以太网(100BASE-T1000BASE-T标准)为了减少冲突,将能提高的网络速度和使用效率最大化,使用交换机(Switch hub)来进行网络连接和组织。如此一来,以太网的拓扑结构就成了星型;但在逻辑上,以太网仍然使用总线型拓扑和CSMA/CD(Carrier Sense Multiple Access/Collision Detection,即载波多重访问/碰撞侦测)的总线技术。

 

随着100Mb/s (也称为“快速以太网”,最流行的版本是“100BASE-TX”)的发展,基于竟争的MAC协议已变得不流行。相反,局域网中每个站之间的线路通常不共享,而是提供了一个专用的星形拓扑结构。这可以通过以太网交换机来实现,如一个交换式以太网包含一个或多个站,每个站使用一条专用的线路连接到一个交换机端日。在大多数情况下,交换式以太网以全双工方式运行,并且不需要使用CSMA/CD算法。交换机可以通过交换机端口级联形成更大的以太网,该端日有时也称为“上行”端口。

目前,交换机为以太网中的每个站提供同时发送和接收数据的能力(称为“全双工以太网”)。虽然1000Mb/s以太网( 1000BASE-T)仍支持半双工(一次一个方向)操作,但相对于全双工以太网来说,它很少使用。

时分双工 <https://zh.wikipedia.org/wiki/%E9%9B%99%E5%B7%A5>

  b. 帧格式:

 8.  链路层寻址和ARP

IEEE 802封装

a.802.3针对整个CSMA/CD网络

b.802.4针对令牌总线网络

c.802.5针对令牌环网络

d.这三者共同特性由802.2标准来定义,那就是802网络共有的逻辑链路控制(LLC)

封装格式

    • 两种帧格式都采用48bit(6字节)的目的地址和源地址
    • ARP和RARP协议对32bit的IP地址和48bit的硬件地址进行映射
    • 802定义的有效长度值与以太网的有效类型值无一相同,这样,就可以对两种帧格式进行区分
    • 目的服务访问点和源服务访问点的值都设为0xaa.Ctrl的值设为3.随后的3个字节org code都置为0。再接下来的2个字节类型字段和以太网帧格式一样
    • 802.3规定数据部分必须至少为38字节,而对于以太网,则要求最少有46字节。为了保证这一点,必须在不足的空间插入填充(pad)字节

环回口

    • 传给环回口地址(一般是127.0.0.1)的任何数据均作为IP输入
    • 传给广播地址或组播地址的数据报复制一份传给环回接口,然后送到以太网上。这是因为广播传送和多播传送的定义包含主机本身
    • 任何传送给该主机IP地址的数据均送到环回接口。

MTU与路径MTU

    • 以太网和802.3对数据帧的长度都有一个限制,其最大值分别是1500和1492字节

链路层的这个特性称作MTU,最大传输单元

    • 如果IP层有一个数据报要传,而且数据的长度比链路层的MTU还大,那么IP层就需要进行分片(fragmentation),把数据报分成若干片,这样每一片都小于MTU,在路径上可能经历多次分片,但是只在目的地重组装
    • 点到点的链路层(SLIP和PPP)的MTU并非指的是网络媒体的物理特性。相反,是一个逻辑限制,目的是为交互使用提供足够快的响应时间
    • 两台通信主机路径中的最小MTU。它被称作路径MTU
    • 路径MTU在两个方向上不一定是一致的

MTU是计算出方向(同一条链路两个方向路径MTU可能不一致)

转载于:https://www.cnblogs.com/gunxiaoshi/p/10336282.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值