(三)计算机网络之数据链路层-计网

基本概念

  • 结点:主机、路由器
  • 链路:两结点之间的物理通道
  • 数据链路:两节点的逻辑通道
  • 帧:链路层的协议数据单元,封装网络层数据报

一、 链路层的功能

链路层的主要作用是 加强物理层传输原始比特流,将物理层提供的可能出错的物理连接改造成逻辑上无差错的数据链路

功能:

  • 1.向网络层提供服务(将源机器中来自网络层的数据传输到目的机器的网络层)
  • 无确认的无连接服务:发送数据帧时不需先建立链路连接,收到时不需发回确认。对丢失的帧不重发,交给上层处理。用于实时通信/误码率低的通信信道,如以太网
  • 有确认的无连接服务:源机器在规定时间内未收到确认信号,则重传丢失的帧,以提高传输的可靠性。适用于误码率高的信道,如无线通信。
  • 有确认的面向连接服务: 建立数据链路 – 传输帧 – 释放数据链路。目的机器对收到的帧都要给出确认,源机器才发送下一帧。可靠性最高
  • 2.链路管理,即连接的建立、维持、释放。用于面向连接的服务
  • 3.组帧(封装成帧)
  • 4.流量控制(限制发送方)
  • 5.差错控制(帧错/位错)

功能一:封装成帧

在一段数据的前后部分添加首部和尾部,构成一个帧。首部尾部的控制信息的作用:确定帧的界限(帧定界)

组帧的要求:实现数据透明传输

透明传输: 让数据链路层不知道数据内容
数据中出现与控制信息相同时,应采取措施让接收方不会误认,保证透明传输

4种组帧方法
组帧方法介绍特点
1. 字符计数法在这里插入图片描述一个错个个错
2. 字符填充法在这里插入图片描述若帧内数据出现控制信息,在其前添加转义字符(1Byte)
3. 零比特填充法使用01111110标志帧的开始与结束,为了不让数据中的01111110被误判在这里插入图片描述传输数据内任意比特组合都不会引起边界判断错误
4. 违规编码法在这里插入图片描述曼彻斯特编码为“高-低”1,“低-高”0。
“高-高”/"低-低"电平对在数据比特中是违规的

常用比特填充和违规编码法


功能二:差错控制(检错/纠错 编码)

差错大都由于噪声引起

噪声类型产生原因解决方法
全局性线路本身的电气特性产生随机热噪声(固有的)提高信噪比来减少干扰(从传感器下手)
局部性外界特定的短暂原因造成冲击噪声(产生差错的主要原因)利用编码技术解决

可靠传输”: 发送端发什么,接收端就收到什么

差错类型有帧错与位错。

位错/比特错的控制
差错控制解释
奇偶校验码在信息前添加一位校验码,使1的个数为奇数/偶数在这里插入图片描述
CRC循环冗余码数据后加0,异或除以多项式,余数添加到数据后
海明码(检错&纠错) 2 r ≥ k + r + 1 2^r \geq k+r+1 2rk+r+1
在2的幂数位添加校验码,使校验码与其要校验的数据位异或=0,算出校验码
纠错:异或后算出1,从高到低排列的数大小即出错的数据位

功能三:流量控制

防止较高的发送速度与较低的接受能力不匹配造成传输出错(丢包)

数据链路层传输层
点对点(每两个相邻节点之间)端到端(两个主机之间)
接收方收不下就不回复接收端给发送端一个窗口公告
流量控制方法
控制协议解释规定窗口大小
停止等待协议1.每发送一个帧就停止,等对方确认收到后再发下一帧
2.超时未收到ACK则重传
3.对收到的重复ACK/数据帧,丢弃在这里插入图片描述
发送窗口=1,接收窗口=1
后退N帧协议(GBN)累计确认,批量重传在这里插入图片描述发送窗口>1,接收窗口=1(发送窗口每收到一个确认前进一格)
选择重传协议(SR)单个确认在这里插入图片描述发送窗口=接收窗口= 2 n − 1 2^{n-1} 2n1(n为 l o g 2 帧 数 log_2帧数 log2

二、链路层的两种信道

传输数据使用的两种链路:

  • 点对点链路:两个相邻结点通过一个链路相连。应用:PPP协议、广域网
  • 广播式链路:所有主机共享通信介质。应用:局域网

介质访问控制(采取一定的措施,使每个节点与其他节点的信号隔离,不会互相干扰)

  • 静态划分信道 - 信道划分介质访问控制 MAC协议
    • 频分多路复用 FDM
    • 时分多路复用 TDM - (统计时分复用 STDM)
    • 波分多路复用 WDM
    • 码分多路复用 CDM
  • 动态分配信道
    • 轮询访问介质控制 令牌传递协议
    • 随机访问介质控制
      • ALOHA协议
      • CSMA协议
      • CSMA/CD协议
      • CSMA/CA协议

2.1 静态划分信道

信道划分介质访问控制:将每个设备与该信道上的其他设备的通信隔离开,把时域和频域合理分配给网络上的设备

在这里插入图片描述

多路复用技术:把多个信号组合在一条物理信道上传输,使多个设备共享信道资源,提高信道利用率

静态划分信道的方法工作特点
频分多路复用所有用户的同一时间占用不同带宽(频率)的资源(”并行“)在这里插入图片描述充分利用传输介质的带宽,系统效率高。由于技术成熟,实现较为容易
时分多路复用每一用户在TDM帧中占用固定序号的时隙,轮流占用信道(”并发“)在这里插入图片描述改进的时分复用 - 统计时分复用 STDM:不固定分配时隙,而按需动态分配
波分多路复用在光纤中传输多种不同波长(频率)的光信号在这里插入图片描述光的频分多路复用
码分多路复用 CDM
CDMA是码分复用的一种方式
1. 每一站点被指定唯一的m位芯片序列(表示1),取反码表示0
2. 多个站点的芯片序列相互正交(规格化内积=0)
3. 合并:各路数据在信道中线性相加
4. 分离:合并的数据与源站规格化内积
既共享信道的频率又共享时间。频谱利用率高、抗干扰强、保密强。用于无线通信系统,尤其是移动通信系统

例1(正交):A站码片序列10011110,则B站可选用码片序列为01010111
A的序列表示为+1-1-1+1+1+1+1-1,当B为-1+1-1+1-1+1+1+1时,对应位乘积和➗位数 为0,是正交的


例2(分离):若C收到序列2,0,2,0,0,-2,0,-2,0,2,0,2,而A的码片序列为1,1,1,1,则A发送的数据是101
对应位乘积和 ➗ 位数


2.2 动态划分信道

动态媒体介入控制/多点控制:信道并非在用户通信时固定分配

2.2.1 随机访问介质 访问控制
  • 1.ALOHA协议
    在这里插入图片描述

纯ALOHA协议:所有用户可随机发送信息,发送时占全部带宽。由于没有冲突监听,若发生冲突,接收方不予确认,发送方未收到确认则判定冲突。超时重传

时隙ALOHA协议:将时间分成若干相同的时间片,所有用户在时间片开始时才能发送,若冲突,则等下一时间片

纯ALOHA协议比时隙ALOHA吞吐量更低,效率更低

  • 2.CSMA协议:发送帧之前,先监听信道
CSMA协议信道空闲时信道忙时优点缺点
1-坚持CSMA直接传输一直监听,直到空闲则传输只要空闲就发送,避免了媒体利用率的损失若多个站点要发数据,则冲突不可避免
非坚持CSMA直接传输放弃监听,等一个随机时间后再监听采用随机的重发延迟时间,减少发生冲突的可能性可能存在大家都在延迟等待过程,使媒体处于空闲,使用率低
p-坚持CSMA以p概率直接传输,以1-p概率等到下一时间槽再传输放弃监听,等一个随机时间后再进行监听减少冲突,又减少媒体空闲时间发生冲突后依然坚持发送数据帧,造成浪费

CSMA/CD协议:发前监听,发送时也监听信道
最多经过 2 τ 2\tau 2τ时间(两倍的总线端到端传播时延) 还没检测到碰撞,就肯定未碰撞
确定重传时机:截断二进制指数规避算法

2.2.2 轮询访问访问MAC协议

在这里插入图片描述

主节点轮流 询问 从属节点是否发送数据。
缺点:产生轮询开销,存在等待延迟,主节点的单点故障

令牌传递协议
在这里插入图片描述

令牌:一个特殊格式的MAC控制帧,控制信道的使用
缺点:产生令牌开销,存在等待延迟
应用于令牌环网(物理星形拓扑、逻辑唤醒拓扑),负载较重,通信量大的网络中。


三、局域网LAN、广域网

局域网(Local Area Network) 在某一区域内由多台计算机联成的计算机组,使用广播信道
决定局域网的主要要素:

  • 1.网络拓扑结构
    星型拓扑、环形拓扑、树形拓扑、总线型拓扑(常用)
  • 2.传输介质
    • 有线局域网 : 双绞线、同轴电缆、光纤
    • 无线局域网 : 电磁波
  • 3.介质访问控制方法
    • CSMA/CD

局域网分类

按介质访问方法
以太网
令牌环网/
FDDI网光纤
ATM网
无线局域网 WLAN采用IEEE 802.11标准

- 星型拓扑


四、链路层的设备

4.1 物理层扩展以太网
光纤、主干集线器

4.2 链路层扩展以太网

网桥根据MAC帧的目的地址进行转发和过滤
  • 透明网桥
以太网的站点不知道所发送的帧会经过哪些网桥
  • 源路由网桥
发送帧时将详细的最佳路由信息(路由最少/时间最短)放在帧首部

以太网交换机 - 多接口网桥

  • 直通式交换机:查完地址就立刻转发
  • 存储转发式交换机:将帧放入高速缓存,并检查是否正确,正确转发,错误丢弃
  • 冲突域:同一时间只有一台设备发送信息的范围
    广播域:若站点发送一个广播信号,所有内接受到信号的设备的范围



    补充说明:

    • 1.CRC循环冗余码
      计算冗余码步骤1.加0 2.模2除法 3.D加余数
      FCS的生成及接收端CRC的检验都由硬件实现
      (凡是接收端数据链路层接收的帧均无差错)
      能实现无比特差错的传输,但并不是可靠传输(发什么就收什么)

    发送的数据D为1101011011,采用CRC校验,生成多项式G为10011,则最终发送的数据是?

    1. 加0:10011表示成多项式为 x 4 + x 1 + x 0 x^4+x^1+x^0 x4+x1+x0,阶r为4。(在发送数据后加四个0)
    2. 模2除法:加0后的数据除以多项式(除法中的减用异或运算),余数为冗余码/FCS/CRC检验码的比特序列
    3. 最终发送: 源数据D* 2 r 2^r 2r+②中的FCS
    • 接收端检错过程:将收到的每一帧除以同样的除数,若余数为0则无差错,否则有错

    • 2.海明码(纠错编码)
      发现双比特错,纠正单比特错
    • 第一步:确定校验码位数r
      海明不等式 2 r ≥ k + r + 1 2^r \geq k + r+ 1 2rk+r+1(k为信息位数)
    • 第二步:确定校验码和数据的位置(校验码放在2的几次方的位置)
    • 第三步:求出校验码的值(校验位与其要校验的数据位 异或=0)
      在这里插入图片描述
    • 第四步:检错并纠错
      令所有要校验的位异或运算,得到的二进制序列就是出错位置

    例:D=101101

    1. 2 r > = 6 + r + 1 2^r>=6+r+1 2r>=6+r+1 可求r为4
    2. P 1 ( 1 ) , P 2 ( 2 ) , P 3 ( 4 ) , P 4 ( 8 ) P_1(1), P_2(2), P_3(4), P_4(8) P1(1),P2(2),P3(4),P4(8)
    3. P 1 D 1 D 2 D 4 D 5 = 0 可 得 P 1 = 0 P_1 D_1 D_2 D_4 D_5 = 0可得P_1 = 0 P1D1D2D4D5=0P1=0

    • 3.停止-等待协议

    丢包:物理线路故障、设备故障、病毒攻击、路由信息错误等原因导致数据包的丢失

    发送窗口大小=接收窗口大小=1

    • 1.无差错
    • 2.有差错情况
      • 1.数据帧丢失或检测到帧出错
      • 2.ACK(确认帧)丢失:丢弃重复的1帧,重传确认帧
        在这里插入图片描述
      • 3.ACK迟到:丢弃
        在这里插入图片描述

    信 道 利 用 率 = L / C T 信道利用率=\frac{L/C}{T} =TL/C:发送方在一个发送周期内有效发送数据所占时间占{发送第一帧到收到第一个确认帧的时间}的比率

    例:一个信道的数据传输率为4kb/s,单向传播时延为30ms,要使停止-等待协议的信道利用率达到80%,则要求数据帧长度至少为?
    L / 4 L / 4 + 2 ∗ 30 = 80 % \frac{L/4}{L/4+2*30} = 80\% L/4+230L/4=80%(忽略 T A T_A TA)

    信道吞吐率 = 信道利用率 * 发送速率
    在这里插入图片描述
    改善停等协议:需要增加序号范围,发送方需要缓存多个分组

    GBN协议(后退N帧协议)

    滑动窗口的长度过大会使接收方无法区分新帧与旧帧 ,应满足 1 ≤ W t ≤ 2 n − 1 1 \leq W_t \leq 2^n -1 1Wt2n1
    在这里插入图片描述
    累积确认:收到n号帧的确认,表明接收方已收到n号及之前全部帧
    超时批量重传:出现超时,则重传所有已发送但未确认的帧

    SR选择重传协议

    GBN中,接收方丢弃一些帧,而导致接收方批量重传这些帧,而SR只重传出错的帧。加大接收窗口,单个确认

    最好使 发送窗口=接收窗口(大了会溢出,小了没意义) W T m a x = W R m a x = 2 ( n − 1 ) W_Tmax = W_Rmax=2^{(n-1)} WTmax=WRmax=2(n1)

    在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
计算机网络中,数据链层是TCP/IP参考模型中的第二层,位于物理层之上。它的主要作用是在物理介质上传输数据包,并提供可靠的数据传输服务。数据链层负责将数据包划分为帧,并通过物理介质将帧从发送方传输到接收方。同时,数据链层还提供了一些错误检测和纠正的功能,以确保数据的可靠性。 在数据链层中,我们需要了解以下内容: 1. 数据链层的功能:数据链层的主要功能包括帧的封装和解封装、差错检测和纠正、流量控制和传输管理等。 2. 数据链层的协议:常见的数据链层协议有以太网(Ethernet)、无线局域网(Wi-Fi)、点对点协议(PPP)等。 3. 数据链层的设备:数据链层使用的设备包括交换机、网桥等。交换机用于连接多个设备,并根据MAC地址来转发数据帧。 此外,在复习计算机网络数据链层时,还应该注意以下内容: - 数据链层的数据传输可靠性指标:误码率是衡量数据传输可靠性的重要指标之一。误码率是指传输中发生错误的比例。较低的误码率表示传输的数据可靠性较高。 - 数据链层的性能指标:性能指标包括带宽、时延等。带宽指的是单位时间内传输的数据量大小。时延包括发送时延、传播时延、处理时延和排队时延等。 综上所述,计算机网络数据链层在TCP/IP参考模型中起着重要的作用,它负责将数据包划分为帧,并通过物理介质进行可靠的数据传输。在复习数据链层时,需要了解其功能、协议、设备以及性能指标等内容。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值