3 数据链路层
数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。
物理层(实习生)可能犯错,数据链路层(秘书)就要想办法,使得可以把正确的数据交付给网络层(老板);
数据链路层传输的协议数据单元是帧。数据链路层的三个基本问题是:封装成帧,透明传输和差错检测
3.1 封装成帧 与 透明传输
数据链路层之所以要把 比特组合成 帧 为单位传输,是为了在出错时只需重发出错的帧,而不必重发全部数据;
组帧 要解决的问题:帧定界;帧同步;透明传输;
组帧 的方法:
- 字符计数法: 帧首部使用第一个字节来表明帧内字符数;【一错全错】
- 字符填充法(字节填充解决歧义**“ESC”**):使用 特定字符 来定界一帧的开始与结束(SOH 和 EOT);
- 零比特填充法:采用 连5添1 的方法避免歧义;
- 违规编码法:可以用“高-高”,“低-低”来定界帧的起始和终止【曼彻斯特编码是有高低电平跳动的】
透明传输:透明是看不见的意思;
透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西。
当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。
3.2 差错控制
传输中的 差错 一般都是由于 噪声 引起的;
差错类型:
- 位错:比特位出错;
- 帧错:帧丢失(重传)、帧重复和帧失序(帧序号);
检错编码:
奇偶校验码:只能检查出奇数个比特错误,检错能力为50%。
循环冗余码 CRC:
发送端:数据+FCS帧检验序列 接收端:余数为0,接收;否则,丢弃
计算冗余码:
(1)加0 假设生成多项式G(x)的阶为r,则加r个0。
(2)模2除法 数据加0后除以多项式,余数为冗余码/FCS/CRC检验码的比特序列。纠错编码:
- 海明码:海明码“纠错”d位,需要码距为2d+1的编码方案 “检错”d位,则只需码距为d+1。
(1)确定校验码个数[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IzOQ8VRf-1681990771618)(images/image-20230419160811652.png)]
(2)确定校验码的位置,一般位于 2的幂次方位置
(3)求校验位的值,校验位的值肯定是根据数据位生成的
3.3 流量控制 与 可靠传输机制
流量控制:较高的发送速度和较低的接收能力的不匹配,会造成传输出错,因此流量控制也是数据链路层的项重要工作。
数据链路层流量控制vs.传输层流量控制
数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的。
数据链路层流量控制手段:接收方收不下就不回复确认。
传输层流量控制手段:接收端给发送端一个窗口公告。
可靠传输:发送端发啥,接收端收啥。
流量控制:控制发送速率,使接收方有足够的缓冲空间来接收每一个帧。
滑动窗口解决:(1)流量控制(收不下就不给确认,想发也发不了)
(2)可靠传输(发送方自动重传)
流量控制方法
(1)停止-等待协议 (2)滑动窗口协议【后退N帧协议、选择重传协议】
(1)停止-等待协议
发送方每发一个帧就会停止发送,等待对方的确认信号,然后再发送下一个帧。
特点:
- 简单
- 信道利用率低
(2)后退N帧协议
发送方一次性发送N帧,接收方按序接收、累积确认,接收方发生超时,会重发出所有已发送但未被确认的帧。
1.累积确认(偶尔捎带确认)
2接收方只按顺序接收帧,不按序无情丢弃
3.确认序列号最大的、按序到达的帧
4.发送窗口最大为2^n-1。接收窗口大小为1
(3)选择重传协议
发送方一次发送N帧,可以不按序接收,重传没有确认的帧即可
3.4 介质访问控制 🔹
多路复用技术:把多个信号组合在一条物理信道上进行传输,使得多个计算机或终端设备共享信道资源,提高信道利用率。
频分复用的所有用户在同样的时间占用不同的带宽(频率带宽)资源。【并行】
时分复用将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙,所有用户轮流占用信道。【并发】
波分多路复用就是光的频分多路复用,在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,所以各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来。
码分复用可以实现多个用户同时使用同样频率进行通信,通过各用户的码序列进行区分
- 发送1时站点发送芯片序列,发送0时发送芯片序列反码。
- 多个站点同时发送数据的时候,要求各个站点芯片序列相互正交,规格化内积为0。
- 两个向量到了公共信道上,线性相加。
- 数据分离:合并的数据和源站规格化内积。
CSMA/CD协议
载波监听多点接入/碰撞检测CSMA/CD (carrier sense multiple access with collision detection)
CS:载波侦听/监听,每一个站在发送数据之前以及发送数据时都要检测一下总线上是否有其他计算机在发送数据。
MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。总线型网络
CD:碰撞检测(冲突检测),“边发送边监听”,适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。
发生碰撞后,什么时候重传?- 截断二进制指数规避算法
最小帧长:
CSMA监听:(1)1-坚持CSMA (2)非坚持CSMA (3)P-坚持CSMA【空闲P概率发送】
协议思想:发送帧之前,监听信道
先听再说,边听边说
CSMA/CD协议
(1)无法做到360°全面检测碰撞 (2)隐蔽站问题:当A和C都检测不到信号,认为信隐蔽站道空闲时,同时向终端B发送数据帧,就会导致冲突.
CSMA/CD与CSMA/CA
相同点:CSMA/CD与CSMA/CA机制都从属于CSMA的思路,其核心是先听再说。
换言之,两个在接入信道之前都须要进行监听。当发现信道空闲后,才能进行接入。
不同点:
1.传输介质不同:CSMA/CD用于总线式以太网【有线】,而CSMA/CA用于无线局域网【无线】。
⒉载波检测方式不同:因传输介质不同,CSMA/CD与CSMA/CA的检测方式也不同。
CSMA/CD通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化;
CSMA/CA采用能量检测(ED)、载波检测(CS)和能量载波混合检测三种检测信道空闲的方式。
3.CSMA/CD检测冲突,CSMA/CA避免冲突,二者出现冲突后都会进行有上限的重传。
3.5 局域网
局域网(Local Area Network):简称LAN,是指在某一区域内由多台计算机互联成的计算机组,使用广播信道。
特点1:覆盖的地理范围较小,只在一个相对独立的局部范围内联,如一座或集中的建筑群内。
特点2:使用专门铺设的传输介质(双绞线、同轴电缆)进行联网,数据传输速率高(10Mb/s~10Gb/s)。
特点3:通信延迟时间短,误码率低,可靠性较高。
特点4:各站为平等关系,共享传输信道。
特点5:多采用分布式控制和广播式通信,能进行广播和组播。
决定局域网的主要要素为:
(1)网络拓扑【星形、总线型、环形、树形】
(2)传输介质【有线局域网:双绞线、同轴电缆、光纤 无线局域网IEEE 802.11:电磁波】
(3)介质访问控制方法【CSMA/CD IEEE 802.3、令牌环】
虚拟局域网VLAN (Virtual Local Area Network)是一种将局域网内的设备划分成与物理位置无关的逻辑组的技术,这些逻辑组有某些共同的需求。每个VLAN是一个单独的广播域/不同的子网。
3.6 广域网
交换机只能单个网络内交换分组;
路由器可以多个网络之间交换分组;
局域网强调数据传输,广域网强调数据共享;
广域网(WAN,Wide Area Network),通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个城市或国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。
常用协议:PPP协议 面向字节的数据链路层协议【链路控制协议LCP(身份认证)+网络控制协议NCP】用户使用拨号电话接入因特网
HDLC协议高级链路控制协议:在同步网上传输数据、面向比特的数据链路层协议
1)信息帧(I)第1位为0,用来传输数据信息,或使用捎带技术对数据进行确认;
2)监督帧(S)10,用于流量控制和差错控制,执行对信息帧的确认、请求重发和请求暂停发送等功能
3)无编号帧(U)11,用于提供对链路的建立、拆除等多种控制功能。
广域网的通信子网主要使用分组交换技术。广域网的通信子网可以利用公用分组交换网、卫星通信网和无线分组交换网,它将分布在不同地区的局域网或计算机系统互连起来,达到资源共享的目的。如因特网(lnternet)是世界范围内最大的广域网。