【计算机网络-4】 【第三章】数据链路层笔记1——组帧、差错控制、流量控制

转载 2016年08月17日 08:51:54
数据链路层的功能
  • 组帧
  • 差错控制
  • 流量控制与可靠传输机制

一、基本概念

链路——从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换结点。

数据链路——点到点
——按一种链路协议的技术要求连接两个或多个数据站的电信设施,称为数据链路,简称数据链。
——在一条物理线路之上,通过一些规程或协议来控制这些数据的传输,以保证被传输数据的正确性
实现这些规程或协议的硬件和软件加到物理线路,这样就构成了数据链路。从数据发送点到数据接收点(点到点 point to point)所经过的传输途径。

——————————————————————————————————————
二、数据链路层的功能
数据链路层的功能——向网络层提供服务。主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路
具体功能:
1.为网络层提供服务
(1)无确认的无连接服务
(2)有确认的无连接服务
(3)有确认的面向连接服务。

2.链路管理
数据链路层连接的建立、维持和释放过程就称作链路管理。
在多个站点共享同一物理信道的情况下(例如局域网中),如何在要求通信的站点间分配和管理信道也属于数据链路层管理的范围。

3.帧界定、帧同步、透明传输
(1)帧界定
——两个工作站之间传输信息时,必须将网络层的分组封装成帧,以帧的格式进行传送。
——将一段数据的前后分别添加首部和尾部,就构成了帧。
——首部和尾部中含有很多控制的信息,它们的一个重要作用是确定帧的界限,即帧界定
(2)帧同步
——指的是接收方应当能从接收到的二进制比特流中区分出帧的起始与终止

(3)透明传输
——如果数据中恰好出现与帧界定符相同的比特组合,就要采取有效措施解决这个问题,即透明传输。

4.流量控制
——限制发送方的数据流量,使其发送速率不致超过接收方的接收能力。

5. 差错控制——使发送方确认接收方是否正确收到了由它发送的数据的方法,即差错控制。
位错:帧中某些位出现了差错。通过循环冗余校验CRC发现错位。通过自动重传请求ARQ来重传错的帧。
帧错:帧的丢失、重复或失序。解决方法:定时器、编号机制。

——————————————————————————————————————
三、组帧
什么是组帧——发送方依据一定规则、把网络层递交的分组封装成帧
为什么要组帧?——让接收方正确地接收并检查所传输的帧,出错时只重发出错的帧,提高效率。
组帧要解决的问题——帧界定、帧同步、透明传输 

组帧实现方法:
1.字符计数法:
在帧头部使用一个计数字段来标明帧内字符数。(缺点:脆弱性,计数字段出错造成灾难性后果。)

2.字符填充的 首尾定界符 法:
使用特定的字符回来定界一帧的开始和结束。(缺点:复杂性 不兼容性)

3.比特填充的首尾标志法:
使用一个特定的比特模式,即01111110来标志一帧的开始和结束。为了做到透明传输,每出现5个连续的“1”时,自动在其后插入一个“0”。
接收方做该过程的逆操作恢复原信息。(优点:性能优于字符填充方法)

4.违规编码法:
(1)物理层比特编码时通常采用违规编码法。(比如曼切斯特编码方法)
将“1”编码成“高—低”电平对
将“0”编码成“”电平对
“高—高”、“低—低”即为违规编码,借用这些违规编码序列来定界帧的起始和终止。
优点:不采用任何填充技术就能实现透明传输,但只适用于冗余编码(原数据编码+后填充上的编码)的环境。(IEEE802标准就采用这种方法)

——————————————————————————————————————

四、差错控制
1.传输中的差错都由两类噪声引起
(1)信道固有的随机热噪声、(2)外界特定短暂的冲击噪声
前者可通过提高信噪比减少、排除干扰,后者不可避免是产生差错的重要原因。

2.差错控制技术分两类:
(1)自动重传请求(ARQ),能检错
(2)向前纠错(FEC),能检错也能纠错

3.检错编码(采用冗余编码技术)
(1)奇偶校验码
(2)循环冗余码CRC (CRC原理介绍http://blog.chinaunix.net/uid-30249924-id-5054776.html
4.纠错编码
(1)海明校验(能发现双比特错,但只能纠正单比特错)(海明码原理http://blog.chinaunix.net/uid-30249924-id-5055123.html)

——————————————————————————————————————


五、流量控制与可靠传输机制
1.停止-等待协议——最简单但也是最基础的数据链路层协议。发送方每发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组。

2.滑动窗口:
发送窗口(SWS,send window size)
——任意时刻发送方都维持一组连续的允许发送的帧的序号。
——发送窗口的大小Wt,代表还没收到对方确认信息的情况下发送方最多还可以发送多少个数据帧。

接收窗口(RWS,receive window size)
——接收方维持一组连续的允许接收帧的序号。
——设置接收窗口是为了控制可以接收哪些数据帧而不可以接收哪些数据帧。
——接收方收到的数据帧的序号落入接收窗口内才允许将该数据帧收下。

滑动窗口的特性——
(1)只有接收窗口向前滑动时,发送窗口才有可能向前滑动(取决于是否收到确认帧)。
(2)停止-等待协议、后退N帧协议、选择重传协议只在发送窗口大小和接收窗口大小上有所差别。
停止-等待协议:发送窗口大小=1,接收窗口大小=1;
后退N帧协议
:发送窗口大小>1,接收窗口大小=1;
选择重传协议:发送窗口大小>1,接收窗口大小>1;

(3)接收窗口的大小为1时,可保证帧的有序接收。

(4)数据链路层的滑动窗口协议中,窗口的大小在传输过程中是固定的。

3.可靠传输机制:确认 ②超时重传
确认——一种无数据的控制帧,它让发送方知道哪些内容被正确接收。
捎带确认——有些情况下,为了提高传输效率,将确认捎带在一个回复中。
超时重传——发送方在某发送一个数据帧以后,就开启一个计时器,在一定时间内如果没有得到发送的数据帧的确认帧,就重新发送该数据帧,直达发送成功。

ACK——确认字符
NAK——否定应答
自动重传请求(ARQ)——接受方→请求发送方,重传出错的数据帧→来恢复出错的数据。


三种自动重传请求:(后两种协议是滑动窗口技术与请求重发结束的结合,又称连续ARQ协议
(1)即停等式ARQ协议  (stop and wait);单帧滑动窗口
——发送方发送单个帧→必须等待确认→接收方的回答到达之前→发送方不能发送数据帧
——停止-等待协议的常见差错:
①数据帧丢失
②到站的帧可能已遭破坏(→接收方利用检错技术,丢弃该帧;发送方计时器超时,重传)
③数据帧正确,但确认帧被破坏(→也是重传)
——若连续出现相同发送序号的数据帧,表示发送端进行了超时重传
——连续出现相同序号的确认帧,表明接收端收到了重复帧
——为了超时重发、判定重复帧的需要,发送方接收方都必须设置帧缓冲区。

(2)后退N帧ARQ协议 (go back n);GBN 多帧滑动窗口
——发送方不需要在收到上一个帧ACK后才能开始发送下一帧,而是可以连续发送帧;
——接收方检测出失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧;(或发送方计时器超时,重发)
——接收方只允许按顺序接收帧
——接收端可以在连续收到好几个正确的数据帧后,发对最后一个数据帧发确认信息(或捎带确认),这同时表明 这帧之前的所有数据帧都正确收到。
——若采用n个比特对帧编号,发送窗口WT尺寸应满足:1≤ WT ≤ 2^n-1,否则会造成收发方无法分辨新帧和旧帧。 
——信道的传输质量很差到误码率较大时,退后N帧协议不一定优于停止-等待协议。


(3)
选择性重传ARQ协议 (selective repeat)SR;多帧滑动窗口
——只重传出现差错的数据帧(或计时器超时的)
——加大接收窗口,先收下发送序号不连续仍处接收窗口中的那些数据帧,到所缺序号的数据帧后再一并交送主机
——每一个发送缓冲区对应一个计时器,当计时器超时时,缓冲区的帧就会重传。
——另外,一旦接收方怀疑帧出错,就会发送一个NAK给发送方,要求发送方对NAK中指定的帧进行重传。
——接收端设置具有相当容量的缓冲区,来暂存那些未按序正确收到的帧,所需缓冲区数目等于窗口的大小,而不是序号数目。
——接收窗口为WR,发送窗口为WT;WR+WT ≤ 2^n;WR ≤ 2^(n-1);WTmax = WRmax = 2^(n-1)

TCP层与数据链路层流量控制的区别

数据链路层和TCP层都是面向连接的,都采用窗口协议来实现流量控制,然而两个窗口协议是不一样的。 在数据链路层,由于收发双方是点到点的连接,其流量控制策略相对较为简单,接收窗口和发送窗口即为固定大小的...
  • baidu_35534327
  • baidu_35534327
  • 2016年12月09日 17:18
  • 1988

数据链路层的成帧方法

之前说过,数据链路层一个很重要的功能就是成帧和拆帧,因为帧是数据链路层的一个单元,数据链路层是对于帧进行处理的。那么这里就具体讲一讲数据链路层是怎么成帧的。        首先我们应该想想成帧所涉及...
  • hanzhen7541
  • hanzhen7541
  • 2018年01月09日 13:15
  • 139

3.2 组帧

数据链路层之所以要把比特组合成帧为单位传输,是为了在出错时只重发出错的帧,而不必重发全部数据,从而提高了效率。为了使接收方能正确地接受并检查所传输的帧,发送方必须依据一定的规则吧网络层递交的分组封装成...
  • jxq0816
  • jxq0816
  • 2016年08月26日 23:39
  • 1570

数据链路层和运输层的流量控制及差错控制

这两天在复习《计算机网络》的期末考试,想明白了几个问题,做下笔记。1)停止等待、后退N帧和滑动窗口 【1】这三种协议是做什么的? 流量控制:接收方控制发送方,发送方的速率不要太快,让接收方来得...
  • u013657981
  • u013657981
  • 2015年06月13日 11:08
  • 3368

【计算机网络-4】 【第三章】数据链路层笔记1——组帧、差错控制、流量控制

数据链路层的功能 组帧差错控制流量控制与可靠传输机制 一、基本概念 链路——从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换结点。 数据链路 ——按一种链路协议的技术要求连接两个或...
  • qq_30866297
  • qq_30866297
  • 2016年08月17日 08:51
  • 1224

数据链路层

对于数据链路层,首先需要了解的是以下四点: 1)数据链路层的主要作用是为网络层提供可靠地数据传输服务; 2)其基本数据单元为帧(Frame); 3)该层的主要协议是以太网协议; 4)服务于数据...
  • hmxz2nn
  • hmxz2nn
  • 2017年03月10日 16:16
  • 370

计算机网络原理知识点(第三章:数据链路层)

**第三章: 数据链路层**1. 概要: 从这章开始, 内容会多了很多, 可能有一些难以理解, 这一章从局域网来理解比较到位和合适, 本章最主要的内容是PPP协议和CDMA协议, 以及什么是MAC地...
  • Francis_s
  • Francis_s
  • 2017年06月03日 20:28
  • 465

18考研-计算机网络复习笔记-数据链路层

数据链路层(2-6分) 1.功能: 2.组帧: 3.差错控制:检错编码;纠错编码 4.流量控制和可控传输机制(滑动窗口): 5.介质访问控制:信道划分 随机访问(CSMA CSMA/CD(宽带...
  • lmj_like_c
  • lmj_like_c
  • 2017年08月29日 21:22
  • 271

【数据链路层】三个协议治你的错---差错控制

差错控制是指在数据通信过程中能发现或纠正差错,把差错限制在尽可能小的允许范围内的技术和方法。...
  • WKX18330698534
  • WKX18330698534
  • 2017年03月16日 20:23
  • 635

链路层基本问题 : 封装成帧、差错检测、流量控制

一、封装成帧1、MAC帧类型字段 (2个字节): 用来标志上一层使用的是什么协议,以便把收到的MAC帧的数据上交给上一层的这个协议。数据字段 (46-1500): 正...
  • Sharp_UP
  • Sharp_UP
  • 2017年10月01日 20:22
  • 281
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【计算机网络-4】 【第三章】数据链路层笔记1——组帧、差错控制、流量控制
举报原因:
原因补充:

(最多只允许输入30个字)