网络课笔记整理——链路层

一、数据链路层简介

二、成帧:同步、透明传送

三、差错控制技术:检错及纠错

四、基本的数据链路层协议



一、数据链路层简介

1、基本概念:
  • 结点:主机或者路由器
  • 链路:连接相邻结点的通信信道,分为有线链路和无线链路
  • 帧:在数据链路上数据传输的基本单位,用来承载数据
  • 数据链路层:负责一个结点与其相邻结点通过一条链路进行数据传输

2、数据链路层的模型:
仅从数据链路层观察帧的流动,那么传输的基本单位是帧,虽然实质上是要向下经过物理层再从物理层向上传输,比特流从物理层看就是0.1序列,而从链路层看虽然内容是相同 的,但是其有了具体的意义,有帧头、帧尾和数据,链路层需要对数据进行封装,并且需要识别出帧当中的数据包,以便将数据更方便传向上层网络层(因为同一个结点,有时候 其可能是发端,另一些时候又是收端,作为发端时需要将数据封装成帧,作为收端的时候需要从帧中提取出数据)。
3、链路层在哪里实现 在每个主机中,由适配器也就是网卡(NIC)实现物理层和链路层,适配器与主机的系统总线相连,是硬件、软件和固件的结合。
4、(网卡)适配器的作用
实现串/并转化,进行缓存,实现数据链路层的协议(由设备驱动程序提供)
具体实现的结构: CPU及存储器(IP地址)——生成要发送的数据或者处理接收的数据——网卡/适配器(硬件地址)——把帧发到局域网或者从局域网上接收帧——到局域网进行适配器之间的通信。

适配器之间如果通信:
收端:接收网络层给的数据进行封装成帧,加上校验和目的地址,实施流量控制等,然后将帧传给物理层——帧通过物理信道传到收端 ——收端的物理层将数据传给链路层——检查错误并检验接收地址,从帧中提取出数据——将数据交给网络层处理

二、成帧:同步、透明传送

1、同步:异步传输和同步传输
同步:计算机之间的通信需要收发双方协调动作,也就是同步,同步分成了同步传输和异步传输
同步传输:发送和接受双方的每一个比特都是同步的。接收方从接收的信号中提取出时钟信息来和发端同步
异步传输:收发双方按照字符进行传输,字符之间的时间间隔是可变的,但是每个字符中的每个位之间则是以固定的速率传输
异步传输和同步传输实比较
传输方式具体内容特点
异步传输以字符传输,也就是说一个帧就是一个字符,帧中有起停位、校验位、数据位;字符之间的时间间隔不固定,发收双方时钟存在偏差,所以一次 发送的数据不能太长,并且传输的距离也不能太长 简单、廉价、每个帧只有一个字符
同步传输以数据块为传输单位,要求时钟同步(向收端提供时钟线或者使收端自己提取时钟信息),其数据块包括帧头帧尾、数据的控制信息、数据、校验适合长距离传输,效率高

同步传输的实例:以太帧 首先网络层将数据向下传输到MAC层,MAC层在该数据前加上6字节的MAC目的地址,6字节的MAC原地址和2字节的类型(指明网络层用的是什么协议)以及4字节的FCS,得到MAC 帧再到链路层,然后在物理层在MAC帧的首部加上帧同步码,8个字节,前7个字节的所有位都是1010,最后一个字节的最后两位为11,标志一个帧的开始。之所以将帧同步码 这样设计是因为认为数据中出现这样的数据情况的概率很小,是小概率事件,基本不会遇到。

2、成帧的方法: a、帧的作用:帧是链路层的数据传输的基本单位,用于承载链路层的数据,实现流量控制等
b、帧的界定,怎样是被一个帧的开始:
  • 同步传输:帧同步码
  • 异步传输:起始停止位
  • c、成帧的几种方法:
    • 字节计数:利用头部的一个字段来标识该帧的字节数,注意是该帧的字节数,所以应该包括首部的这个指明帧大小的字节
      问题:若头部出错,那么之后就会一直错
      改进:如果使用特殊的字符标志帧的首部和尾部,那么一个出错之后其余的会自定纠正
      实际中的应用:理论上效率很高,但是在实际中并不使用
    • 固定帧长度:RS232,有起始停止位,为异步传输
    • 标志位:以太帧:使用帧同步码:8个字节,前7个字节都是10循环,最后一个字节的最后两个为为11,表示帧的开始

    3、封装成帧: 封装成帧就是在一段数据的前后加上首部和尾部,构成一个帧,首部和尾部的作用是帧界定。
    帧头(帧的开始)——数据(<=MTU)——帧尾(帧的结束),数据链路层的帧的大小为数据加上帧头和帧尾的大小
    4、帧界定以及透明传输
    帧界定:在帧的数据的首部和尾部加上特殊的字符作为帧界定
    透明传输:如果帧再数据部分出现了帧界定符怎么办?
    实现透明传输的方法
    帧界定符透明传输方法具体实现
    使用特殊的字符,在数据的首部加上SOH(0x01)尾部加上EOT(0X04)作为帧界定符使用字符填充实现透明传输如果数据中出现了SOH或者EOT或者ESC(0x1B),那么发端就在这三个字符的前面加上ESC,注意 正真的帧SOH和EOT是不加的,这是可以做到的,因为发端收到的就是数据,其对其进行封装,那么封装之前扫一遍数据就可以了。 收端在把帧向更高层传输的时候,首先根据前面没有ESC的SOH和EOT识别出帧,然后取出数据段,向上层传输的时候先将插入的ESC删除( 也就是遇到ESC就删除,如果是连续的两个,那么就值删除一个)
    HDLC:帧界定符为F(01111110),在数据的首部和尾部都加上F字符填充大致的方法与字符填充差不多,发端:在数据字段只要出现5个连续的1就在后面加入一个0;收端:识别出帧首尾的F之后,在数据字段只要遇到5个连续 的1,就先把其后的0删除然后再向上层传输

    三、差错控制技术:纠错和检错

    1、差错:数字通信系统中接收位于发送位不一致
    信道误码列率=误码位数/发送的总位数
    若误码率为p,帧长为L,那么一个帧没有差错的概率为:(1-p)^L
    2、差错检测
    差错检测的方法:在信息为中加上冗余位——编码
    信息位:要传输的数据
    冗余位:按照某种关系对信息为进行运算得到的数据
    发送的过程:码字(可以理解为帧)=信息为+冗余位,发送的是码字
    接受的过程:检查信息位和冗余位之间的关系,来发现传输的过程中是否出错。
    差错码分类:
    • 检错码:能自动发现差错的编码,如奇偶校验、循环冗余码(CRC)
    • 纠错码:不仅能够发现错误还能定位错位的位置,例如汉明码和卷积码

    汉明距离(码距):两个码字中不同的位的个数
    突发长度:在码字中第一位错和最后一位错之间的间隔
    从码距的角度看差错检验的过程:差错检验的编码就是增加码距的过程(例如奇偶校验等要加上冗余码),解码的过程就是找出距离最近的码字
    码距、检错能力和编码距离:
    抓住关键,也就是检错实际上是编码和解码的过程,编码就是增加码距,解码就是找出距离最近的码字( 注意码距指的是码字之间不同的位的个数 ,而码字=信息位+冗余位,之前一直在比较信息位和编码后的码字,脑子瓦特掉了
    那么这样的话,就是说如果出错,不能让其变成两一个码字,否则就会认为是正确的,那么是不是要规定哪些码是合法的呢?其实也不用明显写出哪些码字是合法的 ,根据具体的差错检测的方法就可以判断出哪些是合法的码字。例如奇偶校验,首先两个不同的码字肯定是信息位先不同,然后既然信息位不同,根据检错的规则,那么它们的 奇偶校验为肯定也不同,那么它们的码距就是2,所以任意的一个码字出现1位错都不可以变成另一个码字,所以奇偶校验可以检1位错。

    如果要检测d位错,那么需要码距为d+1。因为发生了d位错,如果码距为d的话,那么这个错的码字就会变成另一个码字从而无法检测出错误。

    如果要纠正d位错的码字,纠正也就是说不仅知道错了,而且还知道距离其最近的是哪个码字,那么需要码距为2d+1,因为这样的话即使发生d位错,距离 正确的码字最近的还是其本身。
    码率=一个码字中的信息位/码字总的位数,那么可以看出纠错码的码率要比检错码的码率低
    差错检测的方法 方法 具体实现 检错的能力 是否可以纠错 奇偶校验 在信息位的基础上增加冗余位,是的码字中的1的个数为奇数(偶数)称为奇校验(偶校验)
    • 一维奇偶校验:码距为2,可以检1位错
    • 二维奇偶校验:码距为3(因为信息为的1比特的不同会导致2个冗余位的不同),可以纠一位错
    一维不可以,二维可以纠一位错 汉明码 码字=信息位+冗余位,其中信息位为(m2,m5,m6,m7,m9……),校验位为(p1,p2,p4,p8……)也就是位于2^n,一般称为(m,n)汉明码,表示的是信息位有m位 ,冗余码有n位 其中第K位的信息位 的校验信息来自2的幂次之和的冗余位进行偶校验,注意哪边才是最高位 可以纠一位错,如果某位的结果是对的,那么就将结果记为0,否则记为1,最后的结果就是出错的那个比特的位置;而判断如果信息位出错会导致哪些 冗余码会错可以通过集合图来进行判断 纠一位错 交织与校验和 当码字中出现突发错,也就是连续错几个,如果直接用单纯的奇偶校验,那么就可能检验不到错误,那么就采用交织的方法将突发错转化为随机错。具体的做法是将数据变成n列k行,对每一类求校验和 ,在发端计算一次,收端计算一次,例如IP头部采用的就是这种方法 多于1bit的突发错误 不可以纠错 循环冗余检错(CRC) 首先数据为D,然后选取一个r+1为的生成式G(一般会用生成多项式表示),然后使用D和G生成一个r位的冗余位,码字=信息位+冗余位,然后收端收到码字之后检测用码字 异或除G,如果余数为0那么没有出错,否则出错。生成冗余位的过程为:先在信息位后添加r个0,然后异或除G,得到的r位余数就是冗余码。(异或除的方式: 不看值的大小,只看位数,位数够就上1,不够就上0,相减的过程变成异或计算) 可以检出小于等于r为错 没有纠错的能力

    练习题:详见PPT

    补充循环冗余检验的除法计算方法:首先看被除数的首位,如果被除数的首尾位1商就为1,用异或除的方式用被除数除除数得到余数,否则上0,并且余数等于被除数,然后将余数左移一位,也就是去掉最高位的数,作为下一轮的被除数。 3、差错检测的具体实例:
    a、向前纠错(FEC):使用纠错码,发端对数据进行纠错编码,然后传输到信道传输,收端对得到的编码进行译码得到数据,如果数据出错,那么就自己纠正
    b、自动请求重传(ARQ):使用检错码,如果发生错误,就要向发端请求重发数据,发端在发送数据的时候同时进行缓存,接受收端的判决,如果接受到的是ACK, 那么就表示接受正确,否则为NACK,那么就要进行重传。ARQ有三种方式:停等、返回重发、选择重发。
    FEC与ARQ之间的比较
    FEC(向前纠错编码)ARQ(自动请求重传)
    使用编码的方式纠错码检错码
    是否需要双向信道不需要需要
    发送方是否需要缓存数据不需要需要
    其他冗余位多,设备复杂

    FEC:不需要重传,实时性好,一般用于无线网络
    ARQ:一般用于计算机网络
    HARQ:若发现差错,如果差错是在纠错的范围内就自行纠错,否则请求重传。

    四、数据链路层协议

    1、基本的数据链路层协议:
    • 检错及纠错:在帧头增加控制信息,在帧尾加上帧校验
    • 定义一系列的函数,例如等待函数wait(&event)
    • 发端:发送帧给另一个主机
    • 收端:收到数据之后计算帧校验,设置event,若有错则设置为chksum_err,否则为frame_arrival

    question:如果发端的速度比收端快很多怎么办?
    进行流量控制——通过收端的速度来控制发端的速度
    如果发端一直收不到确认怎么办:
    设置计时器
    2、停等协议
    a、协议的基本内容: 发端想收端发送数据,收端如果收到数据则返回确认给发端,并设置定时器,发端根据定时器时间内的情况决定要不要重传,可能遇到的情况为:
    • 无差错的情况:收端对发端进行确认,实施流量控制(那么从这里可以看出,流量控制是通过收端对发端的信息确认来进行的)
    • 发送的过程中出现帧丢失,那么在定时的时间内,发端收不到确认就会重发帧
    • 确认帧在发往收端的过程中丢失,那么在定时的时间内,收端任然收不到确认就会重发,为了防止收端重复接受帧,给帧编上序号( 通过直接比较的方式看是不是重复传帧这个方法不太可靠,原因一是需要看数据才知道,违反了透明传输,其二是有时候传输的就是重复的数据
    • 确认帧延迟到达,也就是并不是丢失,是晚了到达,那么给确认帧也表上序号,这样的话就不会造成干扰了

    b、停等协议的要点:
    • 发送端在发送数据的时候同时要进行缓存,因为后面可能还要重传数据
    • 发端只有接受到ACK的时候才继续发送新的数据帧
    • 收端收到数据帧之后就会发送确认,如果是新的数据(根据帧的序号),那么就接受,如果是重复帧,就丢弃
    • 因为发端会自动重传失败的帧,所以又称为自动请求重传ARQ

    c、停等协议的信道利用率=tf/(tf+RTT+ta),其中tf是发端的帧发送的时间,ta是确认帧发送的时间RTT是往返的时间,数据帧与确认帧的传播时间,因为 传播时间只和物理距离和介质中的速度有关。 因为发端只有在接收到收端的ACK才继续发送数据,所以即使是双工信道,在收端发送ACK的时间里,发端都没有发送数据,信道都是空闲的。
    d、停等协议的特点:优点是简单,但是在长时延的信道上,信道利用率很低.
    e、计算重传时间及信道利用率
    延迟带宽积:数据率*RTT
    重传的时间:数据帧 发送之后若经过重传时间还没有收到确认帧,就重传数据(注意是发送了之后才开始计时)。 那么重传时间t=RTT+ACK的发送时间+数据帧在收端的处理时间+确认帧在发端的处理时间,由于相较RTT而言,其余的时间都很短,所以重传的时间为RTT, 那么信道利用率=tf/(tf+RTT),记单向传播时间为tp,那么利用率=tf/(tf+2*tp),记α=tp/tf,那么信道利用率=1/(1+2a)。
    f、如何提高信道利用率 根据信道利用率的关系,如果要提高信道利用率,那么就要减小a的值,也就是要减小传输的时间而增大发送的时间,那么可以通过将帧的大小增大的方法,但是 若信道有误码率,仅增加帧长是无法有效提高链路的传输效率的。 g、停等协议的优缺点:
    • 优点:简单
    • 缺点:信道利用率很低,信道远远没有被数据充满,特别是在长时延的时候,信道利用率更低,通过增加帧的大小来提高利用率不太现实,效果不理想
    h、如何克服缺点
    • 连续ARQ
    • 选择ARQ
    • 多通道(或者多进程)的停等协议(在LTE系统中采用)
    3、停等协议改良后的协议
    a、连续ARQ

    这里有个严重的问题,如果是ACK出现问题会怎么处理??看下连续ARQ的代码

    信道利用率分析连续ARQ协议ARQ工作原理
    连续ARQ也就是发送方连续发送多个分组,不必每次发送一个收到确认之后再发送下一个,因为信道上有很多的帧在发送,所以信道的 利用率得到了提升,现在分析信道的利用率:在一个帧发送出去之后,在其传播到收端的时间内发端可以发送的帧的数量是tp/tf(传播时间除发送时间) ,若收端收到了帧并且返回了ACK,那么在ACK到达收端的时间内有可以发送tp/tf个帧,那么在这个期间就可以发送1+2*tp/tf个帧,其中的1是必须的, 因为只有发送了这个帧,才可能有ACK的返回,那么假设可以连续发送w个帧,那么信道的利用率为w/(1+2a)(a=tp/tf)。
    • 发送方:只允许发送在发送窗口中的帧,每发送一个帧,启动一个计时器,等待确认
    • 接收方:仅接收序号连续的帧,如果接受帧0,那么就返回ACK1,表示的是希望下一个接受到的是帧1
    • 发端:收到ACKi(说明希望遇到的下一个帧序号为i)则取消定时器,将窗口变为[i,i+w-1];如果第j个帧的时钟到了, 说明第j个数据帧没有收到确认,那么就把窗口调为[j,j+w-1]。
    • 发送端:连续发送多个帧,如果收到了确认帧,那么就接着连续再发。
    • 接收端:按照顺序接受帧
    • 发送端:每发送一个帧就要启动一个超时计时器.
    • 收到ACKn的时候, 则取消第n-1个帧的计时器。 当第n个帧的定时器超时的时候,自ACKn开始重传数据帧。
    • 连续ARQ又称为go-back-n ARQ

    b、滑动窗口的概念:
    • 发送端和接收端设置发送窗口和接收窗口
    • 发送窗口用来对发送端进行流量控制,表示发送端最多可以发送的数据帧数量
    • 接收端值接收在发送序号在接收端口的数据帧
    • 注意的是只有在接收端得到确认帧之后,才会将窗口滑动,接收到ACKn,那么就将窗口滑动到[n,n+w-1]

    c、有关滑动窗口协议
    • 在连续ARQ中,接收窗口为1
    • 收发两端的窗口不断向前滑动,协议又称为滑动窗口协议
    • 在停等协议中,发送窗口为1
    • 滑动窗口协议对窗口的大小有一定的要求:当帧序号用n个比特表示的时候,若接受窗口为1,则发送窗口 的大小<=2^n-1。也就是窗口的大小不能与帧的不同序号的数目相同

    c、选择重传ARQ
  • 增大接收窗口,接收序号不连续但是仍在接收窗口中的数据帧。等到收到所缺序号的数据帧后再交送主机
  • 选择重传ARQ避免了重传那些正确到达接收端的帧,但是代价是要在接收端设置一定的缓存
  • 对于选择重传的ARQ,如果用n比特给帧编号的话,接收窗口的大小应当是<=2^n/2
d、捎带确认与累计确认
在传输数据的时候,数据帧是有效的数据传输,但是发送确认帧尾协议开销,怎样降低开销呢?—— 使用累计确认和捎带确认
  • 累计确认:收端并不是接收一个帧就返回一个ACK,而是累计,若返回的确认的序号为i,那么表示(i-1)都收到了,现在期望收到的是第i个帧
  • 捎带确认:当接收端想发送端响应确认信息的时候,如果同时存在需要发送的数据,那么可以将确认信息和数据合在一起在一个帧中发送

e、高级数据链路控制(HDLC)
  • 帧结构:8比特F位(帧界定)——8比特地址字段(A)——8比特的控制字段(C)——可变的信息字段——8比特的FCS( 注意区分FCS和CRC的区别,FCS是某个检错方法的冗余位,而CRC是某一个具体的检错方法即循环冗余检错) ——8比特分F位(帧界定)
  • 采用F成帧,特殊字符
  • 采用比特填充实现透明传输
  • 使用S帧的RNR实现流量控制
  • HDCL协议支持三种帧: 无编号U帧:C字段的第一位为1,第二位为1,其他的链路控制,RSET:重置位,resetR(S)和R(N)
    信息I帧,C字段的第一位为0,其包括N(S)(待发送的帧的序号),N(R)(希望收到的下一个帧的需要,也就是在其之间的帧都得到了确认),P/F位,P代表的是 发送端要让接收端对其进行响应,收端收到的时候就返回F位,表示结束数据发送或者确认结束的意思。
    监控S帧,C字段的第一位为1,第二位为0,单独确认的机制。RR:准备接收I帧,RNR:尚未准备好接收,REJ:回退N,SACL:选择重传;P/F,N(R)
  • 采用捎带累计确认

HDLC工作过程:双工,采用累计和捎带确认,N(S)和N(R)的确认通过收端和发端的角色互换,因为一个结点不可能一直是收端或者一直是 发端,角色是变化的。并且收端也是可以给发端发送数据的,也就是发送I帧,这时候就交换两个的角色,当然收端也可以仅仅只是单纯的发确认,就是是s帧。
具体的图见PPT

首先先建立链路连接,通过U帧建立,数据传输结束之后需要断开链路连接
正常的数据传输:
  • 双工数据交换:首先A发送(I,0,0)表示其发送数据第0帧,并且希望收到的是发端的第0帧(注意确认也就是N(R)是以对方的帧序号为准 而要发送的也就是N(S)是以自身的帧序号为准
  • 此时B返回确认(I,0,1),表示收端正确收到了A端的第0个帧,下一个希望收到A端的第一个帧,而自己现在发送的是自己的第0个帧
  • 接着A连续发送(I,1,1)和(I,2,1),也就是A收到了B的第0帧,所以期待下一次收的第一个帧,而自己连续发出了自己的第一个帧和第二个帧
  • 此时B端使用捎带确认向A发送(I,1,3)表示我收到了A段的1,2帧,希望下一次接收的是第三个帧,并且我现在发送的是对于我自己而言的第二个帧
  • 接受A端继续发送数据(I,3,2)
  • B端返回确认(I,2,4)和(I,3,4)

当接收忙的时候( 通过监控帧来实现流量控制,注意RR,RNR等都是对对方的要求:收端就会发送RNR+N(R)命令发送端停止发送,这时候需要接收端对发送端的要求进行 响应,如果需要重新开始发送就使永S帧的RR,具体的例子为:
  • B端发送(I,3,0),B端发送了3个了都没有收到一个,说明A收端可能busy
  • A发送RNR,4,表示自己busy,让B端停止发数据,并且自己希望下一次接收到的是第4个帧
  • B端发送(RR,0,P)也就是说自己停止发送数据,让A端可以发送数据,并且自己希望收到的是A端的第0个帧并要求A端进行响应
  • A端继续让B停止发送(RNR,4,F)
  • B端进行响应(RR,0,P)
  • 等到A端不busy的时候就发送(RR,4,F)
  • B端可以发送数据了
  • 注意P是要求对方对自己进行响应,F是表示自己收到对方的要求进行的相应结束,S帧的命令都是对接收端的要求

HDCL丢帧的情况处理:丢失的意思是时钟还没有到,但是收端收到了序号不正确的帧,这个时候收端发送S帧的REJ+N(R)来让发端回退。
HDCL超时的时候:超时也就是在发端的定时时间内,发端没有收到确认,那么发端就发送RR,N(R)(希望收到的确认帧的序号),P让收端响应,如果时钟超时是因为数据帧丢失 的话,那么收端就会响应RR,N(R),F,收端就会重发N(R)帧;如果是因为确认信息没有在定时时间内收到导致超时,那么收端会发送RR,N(R),P,收端就会响应RR,N(R),F,那么 应该会自己发现自己发过然后继续下一个吧???
f、因特网的点对点协议PPP
因特网点对点协议PPP
组成部分帧结构特点
将IP数据报封装到串行链路的方法
链路控制协议LCP
网络控制协议NCP
与HDCL的帧类似,多了一个2字节的协议段,用来标识是什么帧,1字节的F帧界定,8比特的地址A,8比特的控制C,2字节的协议,信息,16比特 的FCS(冗余码),8比特的F帧界定 PPP协议不采用可靠的链路传输和协议,也就是序号和确认(也就是说链路的可靠传输根据帧序号和确认);传输的帧是以字节 为单位,所以采用的是字符填充实现透明传输


PPP协议状态转移:
设备之间的无链接的链路——物理链路——LCP链路——已经鉴别的LCP链路——已经鉴别的LCP和NCP链路,具体的过程为:
当用户拨号接入ISP时,就建立了一条从用户到ISP的物理链接。这是PC机向ISP发送一些列的LCP分组(以PPP帧的形式,只不过在协议段指明了是LCP协议),以便建立LCP连接, 这些分组以及响应选择了将要使用的一些PPP参数。 之后进行NCP的连接,ISP为用户分配一个临时IP地址,这样用户就成为了因特网上的一个有IP地址的主机了。当用户的传输结束之后,就先释放NCP连接,也就是将IP地址归还,然后 释放NCP连接,也就是链路连接,最后是物理连接。

练习题

一、名词解释:
捎带确认:捎带确认是在链路层数据传输的时候减少协议开销的一种方法,也就是收端不用一接收到帧就返回确认,收端可以将确认信息与自己要发送的数据一起发送给发端。 在数据传输的时候,只有传输数据帧为有效的数据,确认帧等都是协议开销,使用捎带确认就可以减少这种开销。
滑动窗口协议:滑动窗口协议是链路层数据传输的一种协议具体为:发端和收端分别设置发送窗口和接收窗口,发送窗口值能发送落在发送窗口内的帧,通过设置发送窗口的大小 可以实现流量控制;同样接收端只接受落在接收窗口的帧。如果帧的序号编码有n位,那么发送窗口的大小<=2^n-1,接收窗口的大小<=2^n/2。滑动如果设置发送窗口的大小为1,那么就是 停等协议,如果接收窗口为1则为连续ARQ。使用滑动窗口其信道利用率为1/(1+2*a)(其中a为一个帧的传播时间/发送时间)

在计算的时候一定要看清楚单位,是B还是b

信道利用率的计算就是以第一个帧的确认返回的时间作为参考,注意确认的方法不同那么对于确认帧的时间要不要计算也是不同的。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值