我是靠谱客的博主 贪玩红酒,最近开发中收集的这篇文章主要介绍计算机网络:数据链路层功能概述功能详解介质访问控制局域网广域网链路层设备及比较,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 功能概述
  • 功能详解
    • 组帧
    • 差错控制
    • 流量控制
      • 停止等待协议
      • 滑动窗口协议
        • GBN
        • SR
        • 两种滑窗协议的比较
  • 介质访问控制
    • 两种链路
    • 静态划分信道
    • 动态分配信道
      • 随机访问下的介质访问控制协议
      • 轮询访问下的介质访问控制协议
    • 比较
  • 局域网
  • 广域网
    • PPP协议
    • HDLC协议
  • 链路层设备及比较

功能概述

结点:指主机和路由器等。

链路:网络中两个结点的物理通道,分为有线链路和无线链路两种。

数据链路:网络中两个结点的逻辑通道,是链路与可实现控制数据传输协议的软硬件的结合。

帧:链路层的协议数据单元。

数据链路层的功能总述:在物理层所提供服务的基础上向网络层提供服务,主要是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造为逻辑上无差错的数据链路,将源自网络层的数据可靠地传输到相邻结点的目的主机的网络层。

数据链路层的功能概述:

  • 为网络层提供无确认无连接服务、有确认无连接服务、有确认面向连接服务。
  • 链路管理:若采用面向连接的服务,则由数据链路层负责连接的建立、维持和释放。
  • 组帧:将网络层的分组封装成帧。
  • 流量控制:限制发送方的发送速率。
  • 差错控制:处理位错和帧错。

功能详解

组帧

在网络层的分组前后分别添加首部和尾部,既添加了控制信息,又可以确定帧的界限。接收端收到后,可以根据首尾部的标记识别帧的开始和结束,即帧同步。

在这里插入图片描述
透明传输:如果数据中恰好出现与帧定界符相同的比特组合,则可能会被误判为帧定界符而出错,所以应该保证无论什么样的数据都能在链路上传输,即透明传输。

为了实现透明传输,有如下几种组帧方法:

  • 字符计数法:每个帧首部都使用一个计数字段来标明帧大小。此种方法若计数字段出错则后面全错。
  • 字符填充法:设计一个转义字符,如果数据中出现了与帧定界符或转义字符相同的比特组合,则在此比特组合前插入一个转义字符,接收方收到后删除这些转义字符得到数据。
  • 零比特填充法:此方式的帧定界符为比特组合01111110,为了实现透明传输,在数据中若有连续的5个1,则在其后填充1个0(即所谓“5110”操作),由接收方做逆操作。
  • 违规编码法:利用编码中不会用到的离散状态(如曼彻斯特编码法中,高-高电平对和低-低电平对是违规的)来作为帧定界符。

差错控制

差错来源:线路本身电气特性产生的随机噪声、外界原因产生的短暂的冲击噪声。

差错分为位错和帧错,位错是指比特位反转,帧错有帧丢失、帧重复、帧失序三种。

在链路层上要解决的主要是比特错,帧错由传输层负责解决。

用于检错的链路层编码方式有:奇偶校验码、循环冗余校验码CRC。

用于纠错的链路层编码方式有:海明码。

流量控制

与传输层流量控制的区别:

  • 数据链路层的流量控制是发生在相邻结点之间的,而传输层的流量控制发生在通信的两个主机端口之间。
  • 数据链路层的控制手段较简单,即接收方若来不及接收,就不回复确认,而传输层的接收端要通知发送方自己的缓冲区大小。
  • 若采用滑动窗口协议,数据链路层中,窗口大小是固定的,而传输层中窗口大小可变。

流量控制的方法:主要有停止-等待协议和滑动窗口协议,其中滑动窗口协议又分为后退N帧协议和选择重传协议。

停止等待协议

每发送一个帧,收到对方的确认后再发送下一个帧。

实际上,停等协议可视作发送窗口和接收窗口均为1的滑动窗口协议。

以下是数据传输的四种情况。

  1. 无差错情况:
    在这里插入图片描述

  2. 数据帧丢失或出错的情况:
    在这里插入图片描述

  3. 确认帧丢失:
    在这里插入图片描述

  4. 确认帧延迟:
    在这里插入图片描述

信道利用率与信道吞吐率的计算:
在这里插入图片描述

停等协议信道利用率较低:
在这里插入图片描述

滑动窗口协议

窗口:任意时刻发送方都维持着一组连续的允许发送的帧序号,接收方也维持着一组连续的允许接收的帧序号,这两组帧序号分别被称为发送窗口和接收窗口。

在这里插入图片描述
意义:发送窗口的大小代表着在未收到对方回复的确认时最多还可再发多少个帧;接收方收到帧时,只有帧序号位于接收窗口内才予以接收和回复,其余则丢弃。

窗口的滑动:

  • 发送端在发送窗口中按序发送帧,当发送窗口内没有可发送的帧时停止发送,当接收到对窗口内第一个帧序号的确认时,往后滑动一帧。
  • 接收端若收到位于接收窗口内的帧序号,则接收窗口后移一帧,并回复一个对此帧的确认。
    请添加图片描述

滑窗协议主要包括后退N帧(GBN)和选择重传(SR)两种。

GBN

后退N帧协议:发送方无需在收到上一个帧的ACK后再发下一帧,而是采用累积确认的方式(当接收方对某一数据帧的确认意味着此帧及之前所有帧均被接收),连续发送数个帧。

后退N帧协议重点:

  • 累积确认。
  • 捎带确认:当接收方有数据要发的时候顺便可以发一个确认帧给发送方。
  • 后退N帧:接收方只接收期望的一个帧(如3),如果接收到失序帧(如4、5),则将其丢弃,并再一次发送上一次的确认帧给发送方(如2),发送方收到后重发所有已确认帧之后的帧(3、4、5)。

GBN协议滑动窗口的长度:
设采用n个比特对帧编号
接收窗口大小为1,发送窗口最大可取2^n - 1,否则会出现如下情况:
假设n = 2,发送窗口取4,A发送0 1 2 3共4个帧,B收到后滑窗至0位置,回复4个确认,但全部丢失,A没收到确认则超时重传0 1 2 3,此时B无法区分是新帧还是旧帧。

SR

选择重传协议的滑动窗口:
在这里插入图片描述

选择重传协议的重点:

  • 来者不拒:加大了接收窗口,若到达帧正序,则接收并确认,若到达帧失序则将其缓存并确认,直到比第一个失序帧小的所有帧都收到,再将一批帧按序交付给上层,滑窗。
  • 只重传出错帧,出错的判定依据是超时未收到确认。
  • 接收方有缓存区,大小与接收窗口相等。

SR协议滑动窗口的长度:
在这里插入图片描述
考虑上图所示的情况,A使用2b进行编号,序号范围0到3,A的发送窗口和B的接收窗口大小为3。

A连续发送3个帧,序号为0 1 2,B收到后窗口滑动3,回复3个ACK,但全部丢失,A超时未收到确认,则对 0 1 2进行重传,此时B不能区分收到的0 1号帧是旧帧还是新帧。

最大取 发送窗口 = 接收窗口 = 2 ^ (n-1)时可以保证避免上述情况。

两种滑窗协议的比较

若采用 n 个比特对帧进行编号,要注意滑动窗口的大小不能太长,否则会使接收方无法区分新帧与旧帧。

名称发送窗口大小接收窗口大小优点缺点
后退N帧协议1 <= W <= 2^n - 1=1相比停等协议,其可以连续发送数据帧,提高了信道利用率由于接收窗口为1,导致一些本来已经到达的失序帧被丢弃,需要一并重传,浪费了资源
选择重传协议W <= 2 ^ (n-1)与发送窗口大小相同只重传出错的帧,节省了资源需要缓冲区存储失序帧

介质访问控制

主要任务:考虑多个结点同时对传输介质提出使用请求的情况,介质访问控制要做的就是协调各结点,并使得到介质使用权的结点能不受其他结点的干扰而传输数据。

两种链路

点对点链路:两个相邻结点通过一个链路相连,没有第三者,如PPP协议,此种链路常用于广域网。

广播式链路:一定范围内的所有结点共享通信介质,常用于局域网。

静态划分信道

通过分时、分频、分码等方法把一条广播信道在逻辑上分为数条互不干扰的子信道,实际上就是把广播信道变为点对点信道。

有如下五种划分方式:

  • 频分多路复用FDM
  • 时分多路复用TDM
  • 统计时分复用STDM
  • 波分多路复用WDM
  • 码分多路复用CDM

动态分配信道

在用户需要通信时按照一定原则将一条信道分配给某用户独占使用。

需要考虑的情况又分为:所有用户均可随机发送信息的随机访问情况,以及只有特定用户可发送信息的轮询访问情况。

随机访问下的介质访问控制协议

当有数个用户同时发送信息时会产生帧冲突,导致所有冲突用户的发送失败,因此每个用户需要遵循协议,对数据帧进行重传,直到该帧无碰撞地通过。

核心思想:通过争用及判优,胜利者获得信道的使用权。

冲突检测:如果发生冲突,接收方会检查到数据帧出错,然后不发送确认,发送方超时未收到确认则认为发生冲突。

协议描述冲突检测冲突处理
ALOHA不监听信道,想发就发若冲突,则接收方不发送确认,发送方超时未收到确认则认为发生冲突。等待一段随机时间后重发
时隙ALOHA把时间分成时间片,每个用户只能在一个时间片开始时发送数据同上同上
CSMA发送数据前对信道进行检查,若信道空闲,则发送数据,若有其他结点正在发,则推迟发送。根据监听到信道忙之后的处理方式,又分为三种:1-坚持(一直监听直到可以发送为止)、非坚持(隔一段时间检查一下,如果能发就发)、p-坚持(一直监听直到信道空闲,但是空闲了也会有1-p的概率推迟到下一个时隙再发)同上同上
CSMA/CD先听后发,边听边发。
最小帧长:考虑极端情况,即第一个比特用时 τ 传播到接收端时刚好发生碰撞,此碰撞消息用时 τ 传到发送端,一个争用期内,A发送的数据大小是 传输速率 * 2τ,如果一个帧长小于此数据量,就会造成:如果第一个帧发生了碰撞,还没等到此碰撞消息传回去,A就发送了第二个帧,等到碰撞消息到达,A无法区分是哪一帧发生了碰撞,因此在一个帧全部被传上信道前就需要知道此帧是否发生了碰撞。即最小帧长 = 一个争用期内发送的比特数
适用于半双工或总线型网络
发送时也监听信道,发送方在发送帧之后,至多经过2倍单程传播时延τ(即争用期)就能知道是否发生冲突二进制指数退避算法:规定基本退避时间为2τ,定义一个参数k = min{重传的次数, 10},以第五次重传为例,参数k = 5,则从离散的整数集[0,1…2^k - 1]中随机取出一个数r,计算得退避时间为 r * 2τ。当重传16次仍不能成功时,则丢弃此帧并向高层报告出错。
CSMA/CA先听后发,不能检测碰撞,但是能尽量避免碰撞
要点:预约信道、ACK帧、RTS/CTS帧
适用于无线局域网
-二进制指数退避算法

轮询访问下的介质访问控制协议

令牌传递协议:设置一组特殊的比特,组合为帧,只有持有令牌的站点可进行数据发送,将数据加到令牌上,由其他各站点进行转发,目的地址接收数据在令牌尾部修改响应位,然后继续转发,直到其回到始发站,由始发站撤销数据。

要点:每个结点都不能无限地持有令牌。

优点:既不产生冲突,又可独占带宽。

比较

名称描述重负载情况轻负载情况
信道划分MAC协议基于多路技术划分资源共享信道效率高且公平信道带宽不能充分利用
随机访问MAC协议各站点随机发送信息,发送时独占带宽冲突开销大效率和带宽利用率都高
轮询访问MAC协议各站点按一定规则轮流发送数据,一旦发送则可独占信道公平、无冲突可独占带宽

局域网

特点:
在这里插入图片描述IEEE标准
802.3 - 以太网介质访问控制协议
802.5 - 令牌环网介质访问控制协议
802.8 - 光纤技术咨询组
802.11 - 无线局域网的介质访问控制协议

802.11的MAC帧头格式
在这里插入图片描述设有接入了AP1的A要给接入了AP2的B发送数据,则其帧头中目的地址是B的MAC地址,源地址是A的MAC地址,发送端地址为AP1的MAC地址,接收端地址为AP2的MAC地址

广域网

广域网是因特网的核心组成部分,由一些结点交换机(只能在单个网络内转发)进行分组的存储转发,使用的协议主要在网络层。

PPP协议

特点:

  • 以字节为单位
  • 简单
  • 封装成帧
  • “0比特填充”或“字节填充”实现透明传输
  • 支持多种网络层协议
  • 支持多种类型链路
  • 差错检测
  • 检查链路状态
  • 最大传送单元
  • 通信双方网络层地址协商
  • 只支持全双工链路
  • 不可靠传输
  • 不采用编号及确认机制

HDLC协议

特点:

  • 以比特为单位
  • 使用“0比特填充法”实现透明传输
  • 只支持全双工链路
  • 可靠传输
  • 采用编号及确认机制

链路层设备及比较

在这里插入图片描述

层次设备是否能隔离冲突域是否能隔离广播域
物理层中继器、集线器
链路层网桥、交换机
网络层路由器

直通式交换机:在输入端口检测到一个数据帧时,检查帧的目的地址(6B),然后转发出去,此过程会带来转发时延。

最后

以上就是贪玩红酒为你收集整理的计算机网络:数据链路层功能概述功能详解介质访问控制局域网广域网链路层设备及比较的全部内容,希望文章能够帮你解决计算机网络:数据链路层功能概述功能详解介质访问控制局域网广域网链路层设备及比较所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部