这是我参与更文挑战的第 6 天,活动详情查看: 更文挑战
零、数据链路层的意义
物理层的线路有传输介质与通信设备组成,比特流在传输介质上传输时肯定会存在误差的。这样就引入了数据链路层在物理层之上,采用差错检测、差错控制和流量控制等方法,向网络层提供高质量的数据传输服务。
对于网络层,由于链路层的存在,而不需要关心物理层具体采用了那种传输介质和通信设备。
一、数据链路层的功能
- 链路控制。负责数据链路的建立、维持和释放。主要用于面向连接的服务。
- 帧同步。接收方确定收到的比特流中一帧开始位置和结束位置。
- 差错控制。使接收方确定接受的数据就是发送方发送的数据
- 透明传输。不管数据是什么样的组合,都应当能在链路上传送。
- 流量控制。在OSI体系中,数据链路层肯定有流量控制(考纲仍放在数据链路层)。而在TCP/IP体系结构中,数据链路层的流量控制被移到了传输层,没必要在数据链路层设置流量控制了。
二、组帧
意义:如果只传输比特流,万一传输的比特流出错,那么要重传全部的比特流。而组帧如果出错,只需发送出错的帧即可。
增加了帧同步、帧定界、透明传输问题。
四种组帧的方法
- 字符计数法
- 字节填充的首尾界符法
- 比特填充的首尾标识法(0比特填充法)
- 以0111 1110作为帧的开始和结束标志
- 所以但凡出现5个连续的“1”时,就在其后插入“0”
- 物理编码违例法
三、差错控制
检错编码:奇偶校验码、循环冗余码CRC
纠错编码:海明码
四、流量控制与可靠传输机制
流量控制和可靠传输机制其实是属于传输层的功能。
流量控制就是控制发送方发送数据的速率,使接收方来得及接受。一个基本的方法是由接收方控制发送方的数据流。
流量控制常见的两种方式:
- 停止-等待流量控制
- 滑动窗口流量控制
数据链路层仅仅使用循环冗余码检验差错检测技术,只能做到对帧的无差错接受。并没有要求数据链路层向网络层提供”可靠传输”的服务。可靠传输就是数据链路层发送端发送什么,接收端就接收什么。
传输差错分两大类:
- 比特差错(可通过CRC来检测)
- 传输差错:帧丢失;帧重复;帧失序
Q:互联网使用的IP是无连接的,因此其传输是不可靠的。容易使人感到互联网不可靠,为什么不把互联网的传输设计成可靠的?
- 传送数据的因特网有一些缺陷,如造成比特差错或分组丢失。
- 即使网络可以实现100%的无差错传输,端到端的数据传输仍然可能出现差错。
也就是说,花费很多的钱将通信网络做成非常可靠的,对传送计算机数据来说是得不偿失的。既然现在的终端设备有智能的,就应把网络设计的简单点,让具有智能的终端来完成使传输变得更可靠的任务。
计算机网络采用一种策略,在传输层使用面向连接的TCP,保证端到端的可靠传输。只要主机B的TCP发现数据传输有差错,就告诉主机A将出错的那部分数据重传,知道这部分数据正确传送的B为止。
如果说因特网提供的数据传输是不可靠的,那么这里的互联网指的是不包括主机在内的网络(仅有物理层、数据链路层和网络层)。
如果说因特网提供的数据传输是可靠的,就表明互联网的范围已经扩大到主机的传输层。
滑动窗口机制
只有在接收窗口向前滑动时(与此同时也发送了确认),发送窗口才有可能向前滑动。
可靠传输机制包括停止-等待协议、后退N帧协议、选择重传协议。从滑动窗口的层次上看,该3种协议只是在发送窗口和接收窗口大小上有差别。
- 停止-等待协议:发送窗口=1,接收窗口=1。
- 后退N帧协议:发送窗口>1,接收窗口=1。
- 选择重传协议:发送窗口>1,接收窗口>1。
当接收窗口的大小为1时,一定可保证帧按序接收。
停止-等待协议:
可靠传输就是说发送方发送什么,接收方就收到什么。由确认(发送确认帧)和超时重传两种机制共同完成。使用这两种机制实现可靠传输的策略又称为自动请求重发(ARQ)。
确认分为:
-
捎带确认:将确认帧捎带在一个回复帧中。
-
累积确认
协议 = 技术+考虑不利因素。所以停止-等待协议=停止-等待流量控制技术+不利因素。
后退N帧(GBN)协议
若采用n个比特对帧进行编号,其发送窗口尺寸W必须满足1<W<=2^n^-1,接收窗口为1。若发送窗口大于2^n^-1则会造成接收方无法分辨新、旧数据帧的问题。
如果某个帧出错了,接收方只能简单的丢弃该帧及其所有的后序帧。
支持累积确认。
选择重传(SR)协议
若采用n个比特对帧进行编号,为避免接收端向前移动窗口后,新接收窗口与旧接收窗口产生重叠,发送窗口的最大尺寸应该不超过序列号范围的一半:W<=2^n-1^
选择重传协议不支持累积确认。
五、介质控制访问
背景:在局域网中,如果共用信道的时候产生竞争,怎么能够更好地分配信道使用权。介质控制访问就是为了解决此问题。
介质控制访问分为以下3类:
- 信道划分介质访问控制。静态分配信道
- 随机访问介质访问控制。动态分配信道
- 轮询访问介质访问控制。动态分配信道
信道划分
- 频分多路复用
- 时分多路复用
- 波分多路复用
- 码分多路复用CDMA
随机访问
ALOHA 协议
纯ALOHA
时分ALOHA
CSMA 协议
CS载波侦听 MA多路访问
- 1-坚持CSMA:监听到空闲,立即发送数据
- p-坚持CSMA:监听到空闲,以概率p发送数据
- 非坚持CSMA:监听到空闲,立即发送数据,否则延迟一段随机事件再重新监听
CSMA/CD 协议
带冲突检测的载波侦听多路访问协议。
用于总线式以太网(有线)
先听后发,边听边发,冲突停发,随机重发。
争用期/冲突窗口/碰撞窗口:以太网端到端的往返时延2τ。只有经过这段争用期还没检测到冲突,才能肯定这次发送不会发生冲突。