精华内容
下载资源
问答
  • 数据链路层 : 选择重传协议 SR ( 分类 | “发送方“ 确认、超时事件 | “接受方“ 接收帧机制 ...
    千次阅读
    2020-08-18 14:22:03





    一、 选择重传协议 ( SR ) 引入



    后退 N N N 帧协议 ( GBN ) 弊端 : 累计确认 机制 , 导致的批量重传 , 这些重传的帧 , 可能已经传输成功 , 就是因为之前的帧出错 , 导致传输成功的帧被丢弃 ;


    上述弊端 解决方案 : 设置 单个帧确认机制 , 加大 接收窗口 , 设置接收缓存 , 可处理乱序到达的帧 ;





    二、 选择重传协议 ( SR ) 帧分类



    发送方 帧 分类 :

    ① 发送窗口外 , 发送完毕 , 被确认的帧 ; 滑动窗口已经划过的位置 ;

    ② 发送窗口内 , 发送完毕 , 被确认的帧 ;

    ③ 发送窗口内 , 发送完毕 , 等待确认的帧 ; 此时该数据帧需要被缓存 ;

    ④ 发送窗口内 , 还能发送的帧 ;

    ⑤ 发送窗口外 , 还不能发送的帧 ; 滑动窗口还没有滑到的位置 ;



    接收方 帧 分类 :

    ① 接收窗口外 , 已经成功接收的帧 ;

    ② 接收窗口内 , 希望收到 , 但是未收到的帧 ;

    ③ 接收窗口内 , 希望收到 , 刚收到的帧 ;

    ④ 接收窗口内 , 不希望收到 , 却提前收到的帧 , 已经缓存下来 ;

    ⑤ 接收窗口内 , 等待接收的帧 ;





    三、 发送方 事件 ( 确认帧、超时事件 )



    上层调用事件 : 上层发送数据时 , 先检查 发送窗口 ;

    ① 如果 发送窗口 未满 : 则 生成 数据帧 , 发送数据 ;

    ② 如果 发送窗口 已满 : 发送方将该信息通知上层 , 让 上层 延迟发送 ;



    A C K ACK ACK 确认帧 事件 : 逐一确认 ;

    ① 接收确认帧 : 接收方收到 ACK 确认帧 ;

    ② 标记已接收 : 发送窗口 将该 帧序号 对应的帧 标记为 已接收 ;

    ③ 移动发送窗口 : 如果 该 帧序号 是 发送窗口 的下界 ( 最左侧窗口 ) , 将 发送窗口 移动到 最小序号的 没有确认 的帧位置 ; 可能移动 一个位置 , 也可能移动多个位置 ;

    ④ 发送未发送帧 : 发送窗口 移动完毕后 , 如果发现 该 发送窗口 中有没有发送的帧 , 就将这些帧发送出去 ;



    超时事件 : 每个帧 都有 自己的定时器 , 如果 某个 帧出现了定时器超时事件 , 重传该单个帧 ;





    四、 接收方 事件 ( 接收帧 )



    接收方 事件 :

    ① 接收正确帧 : 接收方 接收 正确的帧 , 不管其帧的顺序 ;

    ② 失序处理 : 失序的帧 , 将会被缓存起来 , 并向 发送方 发送该 失序帧 的 ACK 确认帧 ;

    ③ 移动接收窗口 : 如果 接收到的 帧序号 是 接收窗口 的下界 ( 最左侧窗口 ) , 将成功接收到的连续数据交付给上层 , 将 接收窗口 移动到 最小序号的 没有接收到 的帧位置 ; 可能移动 一个位置 , 也可能移动多个位置 ;





    五、 滑动窗口长度



    发送窗口 与 接收窗口 大小相等 , 便于流量控制 ;


    使用 n n n 比特 对 帧进行编号 , 发送窗口的尺寸 W T W_T WT 和 接收窗口尺寸 W R W_R WR满足如下公式要求 :

    W T = W R = 2 n − 1 W_T = W_R = 2^{n - 1} WT=WR=2n1





    五、 选择重传协议 SR 重点



    选择重传协议 SR 重点 :

    ① 数据帧 逐一确认 , 接收方收到一个帧 , 就会单独发送该帧的确认帧 ;

    ② 重传 出错 的 单个帧 ;

    ③ 接收方 有缓存 ;

    ④ 滑动窗口大小 : W T = W R = 2 n − 1 W_T = W_R = 2^{n - 1} WT=WR=2n1 ;





    六、 选择重传协议 SR 计算示例



    数据链路层 使用 选择重传协议 SR , 发送方发送了 0 , 1 , 2 , 3 0 , 1, 2,3 0,1,2,3 帧 , 当前时刻 , 收到了 1 1 1 号确认帧 , 0 , 2 0, 2 0,2 号帧出现超时 , 则需要重发哪些帧 ? ? ?


    SR 协议是收到一帧 , 确认一帧 ;

    1 1 1 号帧 已经确认 , 不用重发 ;

    0 , 2 0 , 2 0,2 帧 超时 , 必须重发 ;

    3 3 3 号帧 等待确认 , 当前时刻不用管 , 如果超时 , 就需要重发 , 当前没有超时 , 等待即可 ;

    因此最终只需要重发 0 , 2 0 , 2 0,2 数据帧 ;

    更多相关内容
  • 计算机网络学习笔记:数据链路层之功能概述功能概述为网络层提供服务链路管理定界、同步与透明传输流量控制差错控制例题参考文献 功能概述 数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的...

    功能概述

    数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。其主要作用加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路
    在这里插入图片描述

    为网络层提供服务

    对网络层而言,数据链路层的基本任务将源机器中来自网络层的数据传输到目标机器的网络层。数据链路层通常可为网络层提供如下服务:

    • 1)无确认的无连接服务。源机器发送数据帧时不需先建立链路连接,目的机器收到数据帧
      不需发回确认。对丢失的帧,数据链路层不负责重发而交给上层处理。适用于实时通信误码率较低的通信信道,如以太网
    • 2〉有确认的无连接服务。源机器发送数据帧时不需先建立链路连接,但目的机器收到数据
      帧时必须发回确认
      。源机器在所规定的时间内未收到确定信号时,就重传丢失的帧,以提高传输的可靠性。该服务适用于误码率较高的通信信道,如无线通信。
    • 3)有确认的面向连接服务。帧传输过程分为三个阶段建立数据链路传输帧释放数据
      链路
      。目的机器对收到的每一帧都要给出确认,源机器收到确认后才能发送下一帧,因而该服务的可靠性最高。该服务适用于通信要求(可靠性、实时性)较高的场合

    注意:有连接就一定要有确认,即不存在无确认的面向连接的服务。

    链路管理

    数据链路层连接的建立、维持和释放过程称为链路管理,它主要用于面向连接的服务链路两端的结点要进行通信,必须首先确认对方已处于就绪状态,并交换一些必要的信息以对帧序号初始化,然后才能建立连接,在传输过程中则要能维持连接,而在传输完毕后要释放该连接。在多个站点共享同一物理信道的情况下(如在局域网中)如何在要求通信的站点间分配和管理信道也属于数据链路层管理的范畴

    帧定界、帧同步与透明传输

    两台主机之间传输信息时,必须将网络层的分组封装成帧,以帧的格式进行传送。将一段数据的前后分别添加首部和尾部,就构成了帧。

    因此,帧长等于数据部分的长度加上首部和尾部的长度首部尾部中含有很多控制信息,它们的一个重要作用是确定帧的界限,即帧定界。而帧同步指的是接收方应能从接收到的二进制比特流中区分出帧的起始与终止

    如在 HDLC协议中,用标识位F(01111110)来标识帧的开始和结束。通信过程中,检测到帧标识位F即认为是帧的开始,然后一旦检测到帧标识位F即表示帧的结束。HDILC 标准帧格式如图所示。
    在这里插入图片描述
    为了提高帧的传输效率,应当使帧的数据部分的长度尽可能地大于首部和尾部的长度,但每种数据链路层协议都规定了帧的数据部分的长度上限——最大传送单元(MTU).
    在这里插入图片描述
    如果在数据中恰好出现与帧定界符相同的比特组合会误认为“传输结束”而丢弃后面的数据),那么就要采取有效的措施解决这个问题,即透明传输。更确切地说,透明传输就是不管所传数据是什么样的比特组合,都应当能在链路上传送。

    流量控制

    由于收发双方各自的工作速率缓存空间的差异,可能出现发送方的发送能力大于接收方的接收能力的现象,如若此时不适当限制发送方的发送速率(即链路上的信息流量),前面来不及接收的帧将会被后面不断发送来的帧“淹没”,造成帧的丢失而出错。

    因此,流量控制实际上就是限制发送方的数据流量,使其发送速率不超过接收方的接收能力

    这个过程需要通过某种反馈机制使发送方能够知道接收方是否能跟上自己,即需要有一些规则使得发送方知道在什么情况下可以接着发送下一帧,而在什么情况下必须暂停发送,以等待收到某种反馈信息后继续发送。

    流量控制并不是数据链路层特有的功能许多高层协议中也提供此功能,只不过控制的对象不同而已。对于数据链路层来说,控制的是相邻两结点之间数据链路上的流量,而对于运输层来说,控制的则是从源端到目的端之间的流量

    差错控制

    由于信道噪声各种原因帧在传输过程中可能会出现错误用以使发送方确定接收方是否正确收到由其发送的数据的方法称为差错控制。通常,这些错误可分为位错帧错

    位错帧中某些位出现了差错。通常采用循环冗余校验(CRC)方式发现位错,通过自动重传请求(Automatic Repeat reQuest,ARQ)方式重传出错的帧

    • 具体做法是:让发送方将要发送的数据帧附加一定的CRC冗余检错码一并发送,接收方根据检错码对数据帧进行错误检测,若发现错误则丢弃,发送方超时重传该数据帧。这种差错控制方法称为ARQ法。ARQ法只需返回很少的控制信息可有效地确认所发数据帧是否被正确接收

    帧错帧的丢失、重复或失序等错误。在数据链路层引入定时器编号机制能保证每一帧最终都能有且仅有一次正确地交付给目的结点

    例题

    1.下列不属于数据链路层功能的是().
    A.帧定界功能
    B.电路管理功能
    C.差错控制功能
    D.流量控制功能

    2.数据链路层协议的功能不包括( ).
    A.定义数据格式
    B.提供结点之间的可靠传输
    C.控制对物理传输介质的访问
    D.为终端结点隐蔽物理传输的细节
    解析:数据链路层的主要功能包括组帧,组帧即定义数据格式,A正确。数据链路层在物理层提供的不可靠的物理连接上实现结点到结点的可靠性传输,B正确。控制对物理传输介质的访问由数据链路层的介质访问控制(MAC)子层完成,C正确。数据链路层不必考虑物理层如何实现比特传输的细节,因此D错误。

    3.为了避免传输过程中帧的丢失,数据链路层采用的方法是( ).
    A.帧编号机制
    B.循环冗余校验码
    C.汉明码
    D.计时器超时重发
    解析:为防止在传输过程中帧丢失,在可靠的数据链路层协议中,发送方对发送的每个数据帧设计一个定时器,当计时器到期而该帧的确认帧仍未到达时,发送方将重发该帧。为保证接收方不会接收到重复帧,需要对每个发送的帧进行编号;汉明码和循环冗余校验码都用于差错控制

    4.数据链路层为网络层提供的服务不包括().
    A.无确认的无连接服务
    B.有确认的无连接服务
    C.无确认的面向连接服务
    D.有确认的面向连接服务

    5.对于信道比较可靠且对实时性要求高的网络,数据链路层采用()比较合适。
    A.无确认的无连接服务
    B.有确认的无连接服务
    C.无确认的面向连接服务
    D.有确认的面向连接服务
    解析:无确认的无连接服务是指源机器向目标机器发送独立的帧,目标机器并不对这些帧进行确认。事先并不建立逻辑连接,事后也不用释放逻辑连接。若由于线路上有噪声而造成某–帧丢失,则数据链路层并不会检测这样的丢帧现象,也不会回复。当错误率很低时,这一类服务非常合适,这时恢复任务可以留给上面的各层来完成。这类服务对于实时通信也是非常合适的,因为实时通信中数据的迟到比数据损坏更不好。

    6.流量控制实际上是对()的控制。
    A.发送方的数据流量
    B.接收方的数据流量
    C.发送、接收方的数据流量
    D.链路上任意两结点间的数据流量

    7.下述协议中,()不是数据链路层的标准。
    A.ICMP
    B.HDLC
    C.PPP
    D.SLIP
    解析:网际控制报文协议(ICMP)是网络层协议,PPP是在SLIP基础上发展而来的,都是数据链路层协议。

    8.假设物理信道的传输成功率是95%,而平均一个网络层分组需要10个数据链路层帧来发送。若数据链路层采用无确认的无连接服务,则发送网络层分组的成功率是().
    A.40%
    B.60%
    C.80%
    D.95%
    解析:要成功发送一个网络层分组,需要成功发送10个数据链路层帧。成功发送10个数据链路层帧的概率是 ( 0.95 ) 10 ≈ 0.598 (0.95)^{10}\approx0.598 (0.95)100.598,即大约只有60%的成功率。这个结论说明了在不可靠的信道上无确认的服务效率很低。为了提高可靠性,应该引入有确认的服务。

    组帧(封装成帧)

    数据链路层之所以要把比特组合成帧为单位传输,是为了在出错时只重发出错的帧,而不必重发全部数据,从而提高效率。为了使接收方能正确地接收并检查所传输的帧,发送方必须依据一定的规则把网络层递交的分组封装成帧(称为组帧)。组帧主要解决帧定界、帧同步、透明传输等问题。通常有以下4种方法实现组帧。

    ★ \bigstar 注意:组帧时既要加首部,又要加尾部。原因是,在网络中信息是以帧为最小单位进行传输的,所以接收端要正确地接收帧,必须要清楚该帧在一串比特流中从哪里开始到哪里结束(因为接收端收到的是一串比特流,没有首部和尾部是不能正确区分帧的)。而分组(即IP数据报)仅是包含在帧中的数据部分,所以不需要加尾部来定界

    字符计数法

    字符计数法是指在帧头部使用一个计数字段来标明帧内字符数。目的结点的数据链路层收到字节计数值时,就知道后面跟随的字节数,从而可以确定帧结束的位置(计数字段提供的字节数包含自身所占用的一个字节)。
    在这里插入图片描述
    缺点:如果计数字段出错,即失去了帧边界划分的依据,那么接收方就无法判断所传输帧的结束位和下一帧的开始位,收发双方将失去同步,从而造成灾难性后果。

    字符填充的首尾定界符法

    在这里插入图片描述
    字符填充法使用特定字符来定界一帧的开始与结束控制字符SOH放在帧的最前面,表示帧的首部开始控制字符EOT表示帧的结束。为了使信息位中出现的特殊字符不被误判为帧的首尾定界符,可在特殊字符前面填充一个转义字符(ESC)来加以区分(注意,转义字符是ASCII 码中的控制字符,是一个字符,而非“E”"S”“C”三个字符的组合),以实现数据的透明传输。接收方收到转义字符后,就知道其后面紧跟的是数据信息,而不是控制信息。
    在这里插入图片描述
    如图所示的字符帧,帧的数据段中出现EOT或SOH字符,发送方在每个EOT或SOH字符前再插入一个ESC字符,接收方收到数据后会自己删除这个插入的ESC字符,结果仍得到原来的数据。这也正是字符填充法名称的由来。如果转义字符ESC也出现在数据中,那么解决方法仍是在转义字符前插入一个转义字符。

    零比特填充的首尾标志法

    零比特填充法允许数据帧包含任意个数的比特,也允许每个字符的编码包含任意个数的比特。它使用一个特定的比特模式,即01111110来标志一帧的开始和结束。为了不使信息位中出现的比特流01111110被误判为帧的首尾标志,发送方的数据链路层在信息位中遇到5个连续的“1”时,将自动在其后插入一个“0";而接收方做该过程的逆操作,即每收到5个连续的“1”时,自动删除后面紧跟的“0”,以恢复原信息
    在这里插入图片描述
    零比特填充法很容易由硬件来实现,性能优于字符填充法。

    违规编码法

    物理层进行比特编码时,通常采用违规编码法。例如,曼彻斯特编码方法将数据比特“1”编码成“高-低”电平对将数据比特“0”编码成“低-高”电平对,而==“高-高”电平对和“低-低”电平对在数据比特中是违规的==(即没有采用)。可以借用这些违规编码序列来定界帧的起始和终止局域网IEEE802标准就采用了这种方法。
    在这里插入图片描述

    违规编码法不需要采用任何填充技术,便能实现数据传输的透明性,但它只适用于采用冗余编码的特殊编码环境

    由于字节计数法中计数字段的脆弱性和字符填充法实现上的复杂性与不兼容性,目前较常用的组帧方法是比特填充法违规编码法

    例题

    1.在一个数据链路协议中使用下列字符编码:
    A:01000111
    B:11100011
    ESC:11100000;
    FLAG:01111110
    在使用下列成帧方法的情况下,说明为传送4个字符A、B、ESC、FLAG所组织的帧而实际发送的二进制位序列(使用FLAG作为首尾标志,ESC作为转义字符).
    1)字符计数法。
    2)使用字符填充的首尾定界法。
    3)使用比特填充的首尾标志法。
    解析:
    1)第一字节为所传输的字符计数5,转换为二进制为00000101,后面依次为A、B、ESC、FLAG的二进制编码(5个字节,40个bit):
    00000101 01000111 11100011 11100000 01111110
    2)首尾标志位FLAG(01111110),在所传输的数据中,若出现控制字符,则在该字符前插入转义字符ESC(11100000):
    01111110 01000111 11100011 11100000 11100000 11100000 01111110 01111110
    3)首尾标志位FLAG(01111110),在所传输的数据中,若连续出现5个“1”,则在其后插入“0”:
    01111110 01000111 110100011 111000000 011111010 01111110

    差错控制

    检错编码

    检错编码都采用冗余编码技术,其核心思想是在有效数据(信息位)被发送前,先按某种关系附加一定的冗余位,构成一个符合某一规则的码字后再发送。当要发送的有效数据变化时,相应的冗余位也随之变化,使得码字遵从不变的规则。接收端根据收到的码字是否仍符合原规则来判断是否出错。

    常见的检错编码有奇偶校验码循环冗余码

    奇偶校验码

    在这里插入图片描述

    循环冗余码( Cyclic Redundancy Code,CRC)

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    纠错编码

    在数据通信的过程中,解决差错问题的一种方法是在每个要发送的数据块上附加足够的冗余信息,使接收方能够推导出发送方实际送出的应该是什么样的比特串。

    最常见的纠错编码是海明码,其实现原理是在有效信息位中加入几个校验位形成海明码,并把海明码的每个二进制位分配到几个奇偶校验组中

    当某一位出错后,就会引起有关的几个校验位的值发生变化,这不但可以发现错位,而且能指出错位的位置,为自动纠错提供依据。

    海明码

    在这里插入图片描述

    海明距离

    在这里插入图片描述

    确定校验码位数r

    在这里插入图片描述

    确定校验码和数据的位置

    在这里插入图片描述
    注: 2 0 = 1 , 2 1 = 2 , 2 2 = 4 2^0=1,2^1=2,2^2=4 20=1,21=2,22=4

    求出校验码的值

    在这里插入图片描述

    检错并纠错

    在这里插入图片描述在这里插入图片描述
    ★ \bigstar 注:
    令 x 4 ⊕ 0 ⊕ 1 ⊕ 1 ⊕ 1 = 0 , 可 解 得 x 4 = 1 令x_4\oplus0\oplus1\oplus1\oplus1=0,可解得x_4=1 x40111=0x4=1
    令 x 2 ⊕ 0 ⊕ 0 ⊕ 1 ⊕ 1 = 0 , 可 解 得 x 2 = 0 令x_2\oplus0\oplus0\oplus1\oplus1=0,可解得x_2=0 x20011=0x2=0
    令 x 1 ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 1 = 0 , 可 解 得 x 1 = 1 令x_1\oplus1\oplus0\oplus1\oplus1=0,可解得x_1=1 x11011=0x1=1
    101 ( 二 进 制 ) = 5 ( 十 进 制 ) 101(二进制)=5(十进制) 101()=5()

    例题

    选择题

    1.通过提高信噪比可以减弱其影响的差错是().
    A.随机差错 B.突发差错 C.数据丢失差错 D.干扰差错
    解析:一般来说,数据的传输差错是由噪声引起的。通信信道的噪声可以分为两类:热噪声和冲击噪声。热噪声一般是信道固有的,引起的差错是随机差错,可以通过提高信噪比来降低它对数据传输的影响。冲击噪声-一般是由外界电磁干扰引起的,引起的差错是突发差错,它是引起传输差错的主要原因,无法通过提高信噪比来避免。

    2下列有关数据链路层差错控制的叙述中,错误的是().
    A、数据链路层只能提供差错检测,而不提供对差错的纠正
    B.奇偶校验码只能检测出错误而无法对其进行修正,也无法检测出双位错误
    C.CRC校验码可以检测出所有的单比特错误
    D.海明码可以纠正一位差错
    解析:链路层的差错控制有两种基本策略:检错编码和纠错编码。常见的纠错码有海明码,它可以纠正一位差错。

    3.下列属于奇偶校验码特征的是().
    A.只能检查出奇数个比特错误
    B.能查出长度任意一个比特的错误
    C.比CRC检验可靠
    D.可以检查偶数个比特的错误
    解析:奇偶校验的原理是通过增加冗余位来使得码字中“1”的个数保持为奇数或偶数的编码方法,它只能发现奇数个比特的错误。

    4.字符S的ASCII编码从低到高依次为1100101,采用奇校验,在下述收到的传输后字符中,错误()不能检测。
    A.11000011
    B.11001010
    C.11001100
    D.11010011
    解析:既然采用奇校验,那么传输的数据中1的个数若是偶数个则可检测出错误,若1的个数是奇数个,则检测不出错误,因此选D。

    5.为了纠正2比特的错误,编码的海明距应该为().
    A.2
    B.3
    C.4
    D.5
    解析: ⋆ \star 海明码“纠错”d位,需要码距为2d+1的编码方案;“检错”d位,则只需码距为d+1.

    6.对于10位要传输的数据,如果采用汉明校验码,那么需要增加的冗余信息位数是()
    A.3
    B.4
    C.5
    D.6
    解析:在k比特信息位上附加r比特冗余信息,构成k+r比特的码字必须满足 2 r ≥ k + r + 1 2^r≥k+r+1 2rk+r+1。如果k的取值小于等于11且大于4,那么r=4。

    7.下列关于循环冗余校验的说法中,()是错误的。
    A.带r个校验位的多项式编码可以检测到所有长度小于等于r的突发性错误
    B.通信双方可以无须商定就直接使用多项式编码
    C.CRC校验可以使用硬件来完成
    D.有一些特殊的多项式,因为其有很好的特性,而成了国际标准
    解析:在使用多项式编码时,发送端和接收端必须预先商定–个生成多项式。发送端按照模2除法(异或),得到校验码,在发送数据时把该校验码加在数据后面。接收端收到数据后,也需要根据该生成多项式来验证数据的正确性。

    8,要发送的数据是1101 0110 11,采用CRC校验,生成多项式是10011,那么最终发送的数据应是().
    A.1101 0110 1110 10
    B.1101 0110 1101 10
    C.1101 0110 1111 10
    D.1111 0011 0111 00
    解析:假设一个帧有m位,其对应的多项式为G(x),则计算冗余码的步骤如下:

    • 加0。假设G(x)的阶为r,在帧的低位端加上r个0。
    • 模2除。利用模2除法,用G(x)对应的数据串去除①中计算出的数据串,得到的余数即为冗余码(共r位,前面的0不可省略)。

    多项式以2为模运算。按照模⒉运算规则,加法不进位,减法不借位,它刚好是异或操作。乘除法类似于二进制运算,只是在做加减法时按模⒉规则进行。根据以上算法计算可得答案选C。

    应用题

    1.在数据传输过程中,若接收方收到的二进制比特序列为10110011010,接收双方采用的生成多项式 G ( x ) = x 4 + x 3 + 1 G(x)=x^4+x^3+1 G(x)=x4+x3+1,则该二进制比特序列在传输中是否出错?如果未出现差错,那么发送数据的比特序列和CRC检验码的比特序列分别是什么?
    解析:
    根据题意,生成多项式Gx)对应的二进制比特序列为11001。进行如下的二进制模2除法,被除数为10110011010,除数为11001:
    在这里插入图片描述
    所得余数为0,因此该二进制比特序列在传输过程中未出现差错。发送数据的比特序列是1011001,CRC检验码的比特序列是1010。
    注意:CRC检验码的位数等于生成多项式G(x)的最高次数

    参考文献

    [1] 谢希仁. 计算机网络. 7版. 北京:电子工业出版社,2017
    [2] 王道论坛. 2022计算机网络考研复习指导. 北京:电子工业出版社,2021

    展开全文
  • 二、 后退 N 协议 滑动窗口、 三、 后退 N 协议 运行过程、 四、 后退 N 协议 发送方数据分类、 五、 后退 N 协议 发送方 需要 响应的事件、 六、 后退 N 协议 接收方 需要 响应的事件、 七、 后退 N...





    一、 滑动窗口协议引入



    "停止-等待" 协议 弊端 : 信道利用率低 , 发送完一帧后等待 , 这个时候信道完全是空闲的 ;


    为了提高信道利用率 , 发送端 发送完一帧后 , 不用等待 接收端的 ACK 确认帧 , 立刻发送 第二帧 , 第三帧 , 这样信道的利用率就提高了 ;


    相应协议也要做一些更改 :

    ① 增加 发送方 的 帧 序号范围 ;

    ② 发送方 缓存 多个 帧分组 ; 连续发送 N N N 帧 , 其中某一帧 可能需要重传 , 但不知道哪一帧需要重传 , 这里 需要将这 N N N 帧全部缓存下来 ;


    这里有引出了两个在 “停止-等待” 协议基础上 , 改进的两个协议 :

    • 后退 N N N 帧协议 ( GBN )
    • 选择重传协议 ( SR )




    二、 后退 N 帧协议 ( GBN ) 滑动窗口



    后退 N 帧协议 滑动窗口 :

    ① 发送窗口 : 发送方 维持的 一组 连续的 允许发送的 帧序号 ; ( 本质是 序号 ) , 可以有多个 ;

    ② 接收窗口 : 接收方 维持的 一组连续的 允许接受的 帧序号 ; ( 本质是 序号 ) , 只有 1 1 1 个 ;





    三、 后退 N 帧协议 ( GBN ) 运行过程



    后退 N 帧协议 运行过程 :

    ① 初始发送方滑动窗口 : { 0 , 1 , 2 , 3 , 4 , 5 } \{ 0 , 1 , 2 , 3 , 4, 5 \} {0,1,2,3,4,5}

    ② 发送备份 0 0 0 帧 : 发送方 发送 0 0 0 号帧 , 同时 建立 0 0 0 帧副本 , 为后面可能需要重传做准备 ;

    ③ 发送备份 1 1 1 帧 : 发送方 紧接着 发送 1 1 1 号帧 , 建立 1 1 1 帧 副本 ;

    ④ 接收方 滑动窗口 : { 0 } \{ 0 \} {0}

    ⑤ 接收确认 0 0 0 帧 : 接收方 接收到了 0 0 0 号帧 , 回复 ACK 0 0 0 给发送方 , 表示收到 0 0 0 帧 ;

    ⑥ 接收窗口滑动 : 接收方 将 接收窗口 向前滑动一格 ;

    ⑦ 接收方 滑动窗口 : { 1 } \{ 1 \} {1}

    ⑧ 发送窗口 滑动 : 发送方 收到 ACK 0 0 0 , 此时 0 0 0 号帧已经发送完毕 , 将滑动窗口向前移动一格 ;

    ⑨ 发送方滑动窗口 : { 1 , 2 , 3 , 4 , 5 , 6 } \{ 1 , 2 , 3 , 4, 5 , 6 \} {1,2,3,4,5,6}





    四、 后退 N 帧协议 ( GBN ) 发送方数据分类



    发送方 根据 滑动窗口 状态 , 将数据分为以下 四类 :

    ① 发送完确认的帧 : 数据发送完毕 , 已经收到了接收端确认信息 ;

    ② 发送完等待确认的帧 : 数据发送完毕 , 还没有收到确认信息 ;

    ③ 还能发送的帧 : 滑动窗口中 , 还没有发送的帧 ;

    ④ 还不能发送的帧 : 滑动窗口 后面的帧 ;





    五、 后退 N 帧协议 ( GBN ) 发送方 需要 响应的事件 ( 累计确认 、超时发送机制)



    上层调用事件 : 上层发送数据时 , 先检查 发送窗口 ;

    ① 如果 发送窗口 未满 : 则 生成 数据帧 , 发送数据 ;

    ② 如果 发送窗口 已满 : 发送方将该信息通知上层 , 让 上层 延迟发送 ;



    A C K ACK ACK 确认帧 事件 :

    ① 累计确认 : GBN 协议中 , 采用 累计确认 方式 , 如果收到一个确认帧 , 默认已经收到了 该帧 , 及之前的全部帧 ;

    ② 不逐一确认 : 接收方 不用 对每个 数据帧 逐一返回确认帧 , 可以每隔一段时间返回一个确认帧 ;



    超时事件 : “后退 N 帧协议” 顾名思义 , 如果出现 帧丢失 , 帧延迟 等错误 , 就会回退到 上一个 确认的帧 后面的第一帧位置 , 重传 N N N 帧 ;

    ① 重发 1 1 1 帧 : 停止-等待协议 只会 重发 没有确认的 一帧 数据 ;

    ② 重发 N N N 帧 : 后退 N N N 帧协议 , 会重发 没有收到确认的 N N N 帧数据 ;





    六、 后退 N 帧协议 ( GBN ) 接收方 需要 响应的事件 ( 按序接收 、确认帧发送机制 )



    后退 N 帧协议 接收方 需要 响应的事件 :

    ① 收到正确帧 : 收到的帧 正确 , 并且顺序正确 ; 为接收的 N N N 帧发送 ACK 确认信息 , 将该帧的数据交给上层 ;

    ② 没有收到正确帧 : 收到错误帧 , 或 顺序错误 ; 接收方 为 最近的 正确的帧 发送 ACK , 丢弃错误帧 ;


    示例 :

    ① 出错场景 : 接收端 成功接收了 1 , 2 , 3 1,2,3 1,2,3 号帧 , 等待接收 4 4 4 号帧 , 但是直接接收到了 5 , 6 5,6 5,6 号帧 , 此时 4 4 4 号帧丢失 ;

    ② 处理方案 : 5 , 6 5,6 5,6 号帧 丢弃 , 重新发送 最近 正确的帧序号 , 将 A C K 3 ACK 3 ACK3 会送给发送端 , 通知发送端从 4 4 4 号帧开始发送 ;





    七、 后退 N 帧协议 ( GBN ) 运行细节



    后退 N 帧协议 运行细节 :

    ① 发送端连续发送 :

    • 发送窗口 大小为 4 4 4 , 可以一次性发送 4 4 4 帧数据 , { 0 , 1 , 2 , 3 } \{ 0, 1, 2, 3 \} {0,1,2,3} ;

    • 发送端 发送 0 0 0 帧 , 接收方 接收到 0 0 0 帧 , 返回 ACK 0 0 0 ;

    • 发送端 发送 1 1 1 帧 , 接收方 接收到 1 1 1 帧 , 返回 ACK 1 1 1 ;


    ② 丢失 2 2 2 帧 : 发送端 发送 2 2 2 帧 , 2 2 2 号帧 半路丢失 , 接收方 没有收到 2 2 2 帧 ;


    ③ 期待 2 2 2 帧 :收方 的 期待帧是 第 2 2 2 帧 ;


    ④ 接收方 获知 丢帧 : 发送方 发送 3 3 3 帧 , 接收方 接收到 3 3 3 帧 , 此时发现 2 2 2 帧丢失 , 直接丢弃 3 3 3 帧 , 并向接收方 发送 上一个成功接收的帧的确认信息 ACK 1 1 1 , 让发送方从 第 2 2 2 帧开始发送 ;


    ⑤ 发送方 收到 ACK 确认帧 :

    • 发送方 收到 ACK 0 0 0 之后 , 发送窗口 向后 滑动一位 , 变成 { 1 , 2 , 3 , 4 } \{ 1, 2, 3 , 4 \} {1,2,3,4} ;

    • 发送方 收到 ACK 1 1 1 之后 , 发送窗口 向后 滑动一位 , 变成 { 2 , 3 , 4 , 5 } \{ 2, 3 , 4 , 5\} {2,3,4,5} ;


    ⑥ 发送超时处理 : 如果 发送方 一直 没有收到 ACK 2 2 2 , 等待时间超时 , 就会 后退 N N N 帧 , 重发 2 , 3 , 4 , 5 2 , 3, 4, 5 2,3,4,5 帧 ;





    八、 后退 N 帧协议 ( GBN ) 发送窗口长度



    后退 N 帧协议 滑动窗口长度 :

    使用 n n n 比特 对 帧进行编号 , 发送窗口的尺寸 W T W_T WT 满足如下公式要求 :

    1 ≤ W T ≤ 2 n − 1 1 \leq W_T \leq 2^{n} - 1 1WT2n1


    如果不满足上述公式 , 就会因为 发送窗口 过大 , 接收方 无法识别 新帧 和 旧帧 ;


    滑动窗口示例 :

    如使用 2 2 2 比特 进行帧编号 , 那么滑动窗口大小是 1 ≤ W T ≤ 3 1 \leq W_T \leq 3 1WT3 ;

    如果滑动窗口有 4 4 4 比特 , 那么发送 0 , 1 , 2 , 3 0 , 1, 2, 3 0,1,2,3 四帧数据 给 接收端 , 四个帧全部丢失 , 此时就会将 四个帧 再次重传 , 4 4 4 帧数据 , 是重发的旧的帧 还是下一个滑动窗口 新的帧 , 无法确定 ;





    九、 后退 N 帧协议 ( GBN ) 重点



    发送方 累计确认 机制 : 收到 ACK N N N , 就表示 N N N 号帧及之前的帧 , 全部正确 ;


    接收方 按序接收 : 接收方 只能 按照顺序接收 , 人如果中间有帧丢失 , 那么后续帧全部丢弃 ;


    接收方 确认帧 : 接收方 如果 收到错误帧 , 失序帧 , 那么查找最近成功接收的正确的帧的最大的 , 按序到达的帧 序号是多少 , 发送该帧对应的 ACK 确认帧 ;


    发送窗口 : n n n 是帧序号编码长度 , 发送窗口大小 最大是 2 n − 1 2^n - 1 2n1 , 最小 1 1 1 ;





    十、 后退 N 帧协议 ( GBN ) 计算示例



    数据链路层 采用 后退 N N N 帧协议 , 发送方 发送了 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 0,1,2,3,4,5,6,7 0,1,2,3,4,5,6,7 编号的数据帧 , 当计时器超时时 , 只接收到了 0 , 2 , 3 0 , 2, 3 0,2,3 帧的确认帧 , 发送方需要重发的帧数时 4 , 5 , 6 , 7 4,5,6,7 4,5,6,7 帧 ;


    计时器超时 , 发送方 发送 已发送 , 但是没有被 确认 的帧 ;

    确认机制 是 累计确认 的 , 发送方 接收到了 3 3 3 确认帧 , 说明 3 3 3 之前的帧已经成功接收了 , 虽然没有收到 1 1 1 确认帧 , 但是该帧已经默认接收成功 ;

    重发 没有被确认的帧 , 即 4 , 5 , 6 , 7 4,5,6,7 4,5,6,7 帧 ;





    十一、 后退 N 帧协议 ( GBN ) 协议性能



    后退 N 帧协议 ( GBN ) 协议性能 :

    ① 优点 : 发送端可以先 连续 发送 滑动窗口中的 N N N 帧 数据帧 , 提高了信道利用率 ;

    ② 缺点 : 选择重传时 , 将某些正确发送的数据帧进行了重传 , 降低了传输效率 ;


    为了解决上述弊端 , 引入了 选择重传协议 ;

    展开全文
  • 802.11的最大长度2346个字节,基本结构如下图:Frame Control所有的开头均是长度两个元组的Frame Control 控制位* Protocol 协议版本:协议版本值为0,因为这是目前唯一的版本,未来可能会给出其他新的版本。...

    802.11帧的最大长度2346个字节,基本结构如下图:

    Frame Control

    所有帧的开头均是长度两个元组的Frame Control 帧控制位

    * Protocol 协议版本:协议版本值为0,因为这是目前唯一的版本,未来可能会给出其他新的版本。

    * Type 类型:用以区分帧类型

    * Subtype 子类型:此位代表发送帧的子类型,例如请求发送帧RTS的Type=01,Subtype=1011

    * To DS与From DS:分别表示无线链路向无线工作站发送的帧和无线工作站向无线链路发送的帧

    * More Fragments 更多片段:用于说明长帧被分段的情况,是否还有其他帧。若较长层的封包经过MAC分段处理,最后一个片段除外,其他片段均会将此设定为1.

    * Retry 重试:有时候可能需要重传帧。任何重传的帧会将此bit设定为1,以协助接收端剔除重复的帧。

    * Power Management 电源管理:表示完成当前帧交换过程后,发送端的电源管理状态。1表示STA处于Power_save模式,0表示STA处于active模式

    * More Data 尚有数据:用于管理数据帧,在控制帧中此bit必然为0.

    * Protected Frame 受保护帧:为1表示帧体部分包含加密处理过的数据,为0则表示没有进行加密处理。

    * Order 次序:帧与帧片段可依序传送,不过发送端与接收端的MAC必须付出额外代价,对帧片段进行严格编号。一旦进行性严格依序传送,此bit被设定为1.

    Duration/ID

    Duration持续时间:用来记载网络分配矢量NAV的值。访问介质的时间限制是由NAV所指定。

    当第15个bit被设定为0时,Duration/ID位就会被用来设定NAV

    此数值代表目前所进行的传输预计使用介质多少微秒。工作站必须监视所收到的任何帧头,并据以更新NAV。任何超出预计使用介质时间的数值均会更新NAV,同时阻止其他工作站访问介质。

    Address

    地址字段包含不同类型的MAC地址,地址的类型取决于发送帧的类型。

    Address 1 代表帧接收端的地址。在某些情况下,接收端即为目的地

    * 目的地是指负责处理帧中网络层封包的工作站,而接收端则是负责将无线电解码为802.11帧的工作站

    * 如果Address1被设为广播或组播地址,则必须同时检查BSSID。工作站只会应答来自同一个BSS的广播或组播地址,至于来自其他不同BSS的则忽略

    Address 2 发送端地址,用来发送应答信息。某些情况下,发送端即为源地址,但不全如此。

    源地址是指产生帧中网络层协议封包的工作站,而发送端则是负责将帧发送至无线链路

    Address 3 是供基站与传输系统过滤之用,不过该位的用法,取决于所使用的网络类型

    Address 4 一般不使用,只有在WDS无线传输系统中才会使用

    顺序控制位

    此位长度16bit,用来重组帧片段以及丢弃重复帧。它由4个bit的fragment number(片段编号)位以及12bit的sequence number(顺序编号)组成。

    顺序编号:相当于已传帧的计数器取4096的摸。此计数器由0起算,MAC每处理一个上层封包就会累加1.如果发生重传,则顺序编号不变,便于进行帧处理,丢弃重复帧。主要是将我们发送的帧进行编号,对重新传输的帧进行刷选,保证帧的正确性。

    片段编号:在上层封包被切割处理时使用,第一个片段编号为0,其后每个片段依序累加1,方便帧进行重都组。所有帧片段都会具有相同的顺序编号,如果是重传帧,则顺序编号不会有任何改变。

    帧主体

    Frame Body帧主体位,亦称为数据位,负责在工作站间传送上层数据,802.11帧最多可传送2312个bit组的上层数据。

    帧检验序列

    Frame Check sequence简称FCS,FCS让工作站得以检查所收到的帧的完整性。

    当帧送至无线界面时,会先计算FCS,然后再由RF或IR链路传送出去。接收端随后会为所收到的帧计算FCS,然后与记录在帧中的FCS做比较。802.11网络中,通过完整性检验的帧还需接收端送出应答,例如:接收无误的数据帧必须得到正面应答,否则就必须重传。对于未能通过FCS的帧,802.11并未提供负面应答机制;在重传之前,工作站就必须等候应答超时。

    802.11帧类型

    Type类型与Sub Type子类型用来指示所使用的帧类型。

    Type用以区分帧类型:

    管理帧的Type值为:00

    控制帧的Type值为:01

    数据帧的Type值为:10

    帧类型11保留,尚未使用

    Sub Type指各帧类型中详细使用帧类型。

    数据帧

    数据帧会将上层协议的数据置于帧主体加以传递,会用到哪些位,取决于该数据帧所属的类型。

    * Frame Control帧控制:每个帧控制bit都可能影响到MAC标头其他位的解读方式。值得注意的是地址位,它们的意义将因ToDS及FromDSbit的值而异。

    DS Distribution system分布式系统是接入点间转发帧的骨干网络,因此通常称为骨干网络,一般可理解为以太网

    SA源地址,DA目的地址,RA接收端,TA发送端

    以下4中情况分别对应上表中情况

    上图中,源端和发送端都是终端,目的端和接收端都是AP,信号从终端发出,希望关联AP,BSSID用以过滤非此BSS的STA连接

    上图中源端和发送端都是终端,接收端是AP,信号是从无线链路向AP发送,所以To Ds为1,发送的目的端为与AP相连的交换机

    上图源端是与AP相连的交换机,发送端是AP,信号从AP向无线链路发送,所以From DS 为1,目的端和接收端为STA

    上图为WDS模型,上表中第4列只在这种模型中会有,即四个地址位都被使用,WDS模型既有无线链路向AP发送信号,又有AP向无线链路发送信号,故ToDS和From DS均为1

    控制帧

    控制帧均使用相同的Frame Control位

    Type:控制帧的类型标识码为01,所有控制帧均使用此标识码

    To Ds和From DS:控制帧负责处理无线介质的访问,因此只能够由无线工作站产生,传输系统并不会接收控制帧,因此这两个必然为0.

    More Fragments:控制帧不可分割,必然为0

    Retry:必然为0

    More Data:此位只用于管理数据帧,在控制帧中必然为0

    Protected Frame:控制帧不会经过加密,故此bit必然为0

    Order:控制帧是基本帧交换程序的组成要件,因此必须依序发送那个,所以必然为0

    控制帧-PS-Poll

    当客户端从省电模式中苏醒,便会发送一个PS-Poll帧给AP,以取得任何暂存帧。PS-Poll帧的格式如下

    Frame Control:帧的sub type设定为1010,代表PS-Poll帧

    AID连接识别码:PS-Poll帧将会以MAC标头的第三与第四bit来代表连接识别码association ID。连接识别码是基站所指定的一个数值,用以区别各个连接。将此识别码置入帧,可以让AP找出为其客户端所暂存的帧

    BSSID:包含发送端目前所在BSS的BSSID

    Transmitter Address发送端地址:此为PS-Poll帧之发送端的地址。

    控制帧-RTS

    当AP向某个客户端发送数据的时候,AP会向客户端发送一个RTS报文,这样在AP覆盖范围内的所有设备在收到RTS后都会在指定的时间内不发送数据。RTS帧可用来取得介质的控制权,以便传输帧。RTS帧格式如下:

    Frame Control:帧的subtype设定为1011,代表RTS帧

    Duration持续时间:RTS会试图预定介质使用权,供帧交换程序使用,因此RTS帧发送者必须计算RTS帧结束后还需要多少时间。传输所需要的微秒数经过计算后会置于Duration位。假如计算的结果不是整数,就会被修正为下一个整数微秒。

    Receiver Address:接收端地址,接收RTS帧的工作站地址

    Transmitter Address:发送端地址,RTS帧的发送端地址。

    例如:

    控制帧-CTS

    CTS允许发送,目的客户端收到RTS后,发送一个CTS报文,这样在该客户端覆盖范围内的所有设备都会在指定的时间内不发送数据。CTS会令附近的工作站保持沉默,从而获取介质的控制权。其格式如下:

    Frame Control:帧的subtype设定为1100,代表CTS帧

    Duration持续时间:用来应答RTS时,CTS帧的发送端会以RTS帧的duration值作为持续时间的计算基准。RTS会为整个RTS-CTS-Frame-ACK交换过程预留介质使用时间。

    Receiver Address:接收端地址,CTS帧的接收端即为RTS帧的发送端

    控制帧-ACK

    应答ACK:每个发送的单播报文,接收者在成功接收到报文后,都要发送一个应答ACK进行确认。

    Frame Control:帧的subtype设定为1101,代表ACK帧

    Duration持续时间:依照ACK信号在整个帧交换过程中位居何处,在完整的数据帧及一连串帧片段的最后一个片段中,duration会被设定为0

    Receiver Address:由所要应答的发送端帧复制而来

    管理帧

    管理帧目的是通过帧的使用,为网络提供相对简单的服务

    * Beacon帧(信标帧)

    Beacon帧主要来声明网络的存在。定期传送的信标可以让移动式工作站得知该网络的存在,从而调整加入该网络所必须的参数。

    基础结构网络中,接入点负责传送Beacon帧

    * Probe Request、Probe Response帧

    工作站通过Probe Request帧来扫描所在区域内的802.11网络

    若Probe Request帧探查的网络与之兼容,该网络就回复Probe Response帧给予响应

    * Authentication帧、Deauthentication

    工作站通过共享密钥以及Authentication帧进行身份验证

    Deauthentication解除身份验证帧则用来终结认证关系

    * Association Request帧

    一旦工作站找到兼容网络并且通过身份验证,便会发送Association Request关联请求帧试图加入网络

    * Disassociation帧

    取消关联帧用关联来终结一段关联关系

    * Reassociation Request帧

    位于相同ESS中,当在不同的BSS之间移动的工作站若要再次使用分布式系统DS,必须与网络重新关联,区别于关联请求帧的是:它包含工作站当前所关联的接入点地址

    * Association Response帧与Ressociation Response帧

    当工作站试图连接接入点时,接入点会回复一个Association response帧或Reassociation response帧,响应过程中,接入点会指定一个Association ID(关联标识符)

    展开全文
  • 文章目录流量控制与可靠传输机制流量控制、可靠传输与滑动窗口机制停止-等待流量控制基本原理滑动窗口流量控制基本原理可靠传输机制滑动窗口与停止-等待协议多滑动窗口与后退N协议(GBN)为何GBN协议最大窗口...
  • 80211格式--管理、数据、控制 因为无线数据链路所带来的挑战,MAC被迫采用了许多特殊的功能,其中包括使用四个地址位。并非每个都会用到所有的地址位,这些地址位的值,也会因为MAC种类的不同而有所...
  • 文章目录0....1️⃣ 无差错2️⃣ 有差错情况① 数据丢失或检测到出错② ACK确认丢失② ACK确认迟到超时(4)停止等待协议性能分析5.多滑动窗口与后退N协议(GBN)(1)后退N协议(GB...
  • 802.11 格式和分类详解

    千次阅读 2021-01-18 11:22:37
    一、类型 802.11主要有三种类型: 管理 它的主要作用是维护接入点和无线客户端之间的通信,管理框架拥有以下子类型: Authentication De-authentication Association Request Association Response...
  • 三、 "停止-等待协议" 有差错情况 ( 丢失、出错 )、 四、 "停止-等待协议" 有差错情况 ( ACK 确认丢失)、 五、 "停止-等待协议" 性能分析、 六、 信道利用率 公式、 七、 信道利用率 计算、
  • 一、HDLC 协议、 二、HDLC 站、 三、HDLC 格式、 四、HDLC 类型、 五、PPP 协议 与 HDLC 协议 对比、
  • 参考解密:腾讯如何打造一款实时对战手游从《王者荣耀》来聊聊游戏的同步《王者荣耀》技术总监复盘回炉历程:没跨过这三座大山,就是另一款MOBA霸占市场了 纵观AppStore畅销榜前十的游戏,过半都支持玩家实时的...
  • title: 音视频系列四:ffmpeg之获取音视频数据 categories:[ffmpeg] tags:[音视频编程] date: 2021/11/29 作者:hackett 微信公众号:加班猿 一、AVFrame解码视频 1.先贴一个ffmpeg解析flv文件20数据后的截图,...
  • 然后在对SN连续帧编号之后的数据放入接收缓冲区 接收的数据第一个字节的高四位为3,则表示接收的数据帧为流控帧。低四位的FS表示所发送端所需要进行的动作,BS为能够发送连续帧的数据,STmin为每两帧的时间间隔。...
  • Beacon简介 信标,由AP以一定的时间间隔周期性发出,以此来告诉外界自己无线网络的存在。 Beacon组成 下图为Beacon的组成 下图为抓包所得(AP为2.4g 11n模式),Packet Info为抓包软件自己添加的字段,可以...
  • 计算机网络学习:封装成、差错检测和可靠传输

    千次阅读 多人点赞 2021-04-05 16:33:20
    数据链路层的封装成、差错检测和可靠传输,可靠传输原理中很奇妙地发现,在不可靠的信道上加上合适的可靠协议(SW、GBN或者SR),就可以向上提供可靠的服务。在数据链路层要实现可靠的传输为上层提供服务。
  • 以太网数据详细解析 逐字节分析

    千次阅读 2020-08-25 21:18:49
    以太网数据详细解析 详细解析以太网通信数据 测试环境 机器名 mac ip port tcp_server 00:0c:29:8b:37:da 10.1.2.7 9502 tcp_client 00:50:56:c0:00:08 10.1.2.1 12345 抓包 客户端向服务端发送 '...
  • 3.1.4.2 后退N协议(GBN) 停止等待协议的弊端:信道利用率太低,太闲了 采用流水线技术对停止-等待协议(一个数据跟着数据发送)进行改进 使用流水线技术后: 1.必须增加数据序号的范围 2.发送方需要...
  • 802.11 MAC结构/格式

    千次阅读 2020-11-16 01:41:29
    802.11格式 上图是802.11的通用格式,具体不同类型的会有不同的变体,802.11一共有三种类型: 控制:用于竞争期间的握手通信和正向确认、结束非竞争期等; 管理:主要用于STA与AP之间协商、关系的控制...
  • 后退N协议GBN GBN发送方必须响应的三件事 GBN接收方要做的事情 GBN运行过程 较高的发送速度和较低的接收能力不匹配,会造成传输出错 数据链路层的流量控制和传输层的流量控制比较 数据链路层的流量控制...
  • tcp协议分析

    2017-03-19 15:27:53
    tcp协议
  • 为什么PPP不使用编号?PPP适用于什么情况? 答:主要特点: (1) 点对点协议,既支持异步链路,也支持同步链路。 (2) PPP是面向字节的。 PPP不采用序号和确认机制是出于以下的考虑: 第一, 若使用...
  • 数据链路层——以太网结构

    千次阅读 2020-05-16 22:28:13
    目录前言格式Ethernet_II格式IEEE802.3格式数据传输以太网的MAC地址 前言        数据包在以太网物理介质上传播之前必须封装头部和尾部信息,封装后的数据包称为数据...
  • Android 显示刷新机制、VSYNC和三重缓存机制 为了理解 APP 是如何进行渲染的,我们就必须了解手机硬件是如何工作的,也必须理解什么是 VSYNC。 首先,我们需要了解2个相关概念: 刷新率(Refresh Rate):代表了...
  • IEEE 802.1CB复制和消除技术简介
  • 后退N协议(GBN)一、后退N协议中的滑动窗口二、GBN发送方必须响应的三件事三、GBN接收方要做的事四、滑动窗口长度 一、后退N协议中的滑动窗口 发送窗口:发送方维持一组连续的允许发送的的序号。 接收窗口...
  • HDLC PPP FR(中继)

    2021-07-24 07:55:03
    编号帧(U):具有各种链路的控制功能。 控制字段使用前1位或前2位用来区别不同格式的,基本控制字段长度是8位。扩展控制字段是16位。 信息字段:有效信息或者数据 I和一部分的U含有控制字段。这个字段...
  • 请想象一下这样的情景:你可以任意伪造很多个...无线热点(通常就是无线路由器)会周期性地向外发送Beacon,中文名为信标。信标一个最重要的作用就是宣示无线网络的存在(但不仅仅这个作用)。信标里面包含了该...
  • 以下为《王者荣耀》技术总监复盘回炉历程演讲全文 ...同步有点像在看电影,它传统的同步需要有buffer,每个玩家输入会转发给所有客户端,互相会有编号,按顺序输入。 比如我现在已经收到第N,只有当我收到第N+1...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,204
精华内容 7,281
关键字:

帧编号机制