数据链路层的传输协议:停等协议、GBN、SR

停止等待协议(单窗口的滑动窗口协议)

滑动窗口协议:GBN、SR

GBN协议

GBN发送方需响应的三件事

1. 上层调用(网络层)

上层要发送数据时,发送方先检查发送窗口是否已满。

如果未满,则产生一个帧并将其发送;如果窗口已满,发送方只需将数据返回给上层,暗示窗口已满.

2. 收到一个ACK

G B N \rm GBNGBN协议中,对n nn号帧的确认采用累计确认,标明接收方已经收到n nn号帧和它之前的全部帧

3. 超时事件

若出现丢失和时延过长帧时,发送方将重传所有已发送但未收到确认的帧


GBN接收方

1. 若正确收到n号帧,并且按序,那么接收方为n帧返回一个ACK,并将该帧中的数据部分交给上层

2. 其余情况都丢弃帧,并为最近按序接收的帧重新发送ACK.接收方无需缓存任何失序帧,只需要维护一个信息:expectedseqnum(下一个按序接收的帧序号)

心里有数:一定要等到自己期待的的帧,后面的帧我都不管

一个GBN协议的工作图解

例题:

选:C

累计确认   导致   批量重传问题 

改进协议——> SR

选择重传协议(SR)

重传两个:0和2号帧

数据链路层传输协议(点到点):停等协议、GBN、SR协议的更多相关文章

  1. 哈工大 计算机网络 实验二 可靠数据传输协议(停等协议与GBN协议)

    计算机网络实验代码与文件可见github:计算机网络实验整理 实验名称 可靠数据传输协议(停等协议与GBN协议) 实验目的: 本次实验的主要目的. 理解可靠数据传输的基本原理:掌握停等协议的工作原理: ...

  2. WebRTC 传输安全机制第二话:深入显出 SRTP 协议

    通过 DTLS 协商后,RTC 通信的双方完成 MasterKey 和 MasterSalt 的协商.接下来,我们继续分析在 WebRTC 中,如何使用交换的密钥,来对 RTP 和 RTCP 进行加密 ...

  3. Samba 服务使用的端口和协议(是一组TCP UDP协议的组合,主要使用CIFS协议,有一个Java例子)

    Samba服务所使用的端口和协议: 1)Port 137 (UDP) - NetBIOS 名字服务 : nmbd 2)Port 138 (UDP) - NetBIOS 数据报服务 3)Port 139 ...

  4. TCP/IP协议(6): DHCP(Dynamic Host Configuration Protocol) 协议 —— 网络地址的分配方式

    TCP/IP协议(6): DHCP(Dynamic Host Configuration Protocol) 协议 -- 网络地址的分配方式 关于 DHCP(DHCP, Dynamic Host Co ...

  5. IMAP(Internet Mail Access Protocol,Internet邮件访问协议)以前称作交互邮件访问协议(Interactive Mail Access Protocol)。

    IMAP(Internet Mail Access Protocol,Internet邮件访问协议)以前称作交互邮件访问协议(Interactive Mail Access Protocol).IMA ...

  6. TR069协议向导——一个帮助你了解TR069协议的简明教程(一)

    您也能够到下面地址下载: http://download.csdn.net/source/993034 1.为什么须要TR069    随着VoIP.IPTV等越来越多IP终端设备的普及(尤其在家庭中 ...

  7. IP协议号 IP首部中有8位协议号,用于指明IP的上层协议.

    IP协议号   IP首部中有8位协议号,用于指明IP的上层协议. 0 HOPOPT IPv6 逐跳选项 1 ICMP Internet 控制消息 2 IGMP Internet 组管理 3 GGP 网 ...

  8. IPSec协议;IPv6为何增加对IPSec协议的支持

      IPSec由一系列的协议组成,除IP层的协议完全结构外,还包括了AH.ESP.ISAKMP.ISAKMP的因特网IP安全解释域.IKE.OAKLEY密钥协议确定等.ESP和AH定义协议.载荷头的格 ...

  9. centos 邮件服务 腾讯企业邮箱(免费) 使用iRedmail 需要有公网的centos主机 发邮件协议:smtp 端口25 收邮件协议:pop3 端口110 iredmail安装配置 使用邮箱系统 第三十一节课

    centos   邮件服务  腾讯企业邮箱(免费) 使用iRedmail 需要有公网的centos主机 发邮件协议:smtp 端口25  收邮件协议:pop3 端口110  iredmail安装配置 ...

  10. <再看TCP/IP第一卷>TCP/IP协议族中的最压轴戏----TCP协议及细节

    题外话:刚刚过去的半个月实在是忙得我喘不过来气,虽然手里还压着几个项目得在期末考试之前做完,但是想想还是更新一下随笔,稍微换个心情.另外小吐槽一下那些在博客园里原封不动抄书当随笔的人,唉真是....算 ...

随机推荐

  1. TornadoFx 页面之间的数据传递

    原文地址: TornadoFx 页面之间的数据传递 - Stars-One的杂货小窝 和Android开发一样,经常遇到两个页面之间需要进行数据的交互传输,本文讲解下TornadoFx框架中,页面之间 ...

  2. 关于Java已死,看看国外开发者怎么说的

    博主在浏览 medium 社区时,发现了一篇点赞量 1.5k 的文章,名称叫<Java is Dead - 5 Misconceptions of developers that still t ...

  3. VSCode设置第三方字体

    最近需要写C,所以下了一个VSCode IDE嘛 当然是美观最重要了(不是 个人比较喜欢JetBrains家的字体 在IDEA中主要使用的是 JetBrains Mono 想着把VSCode的字体也设 ...

  4. JavaScript进阶指南: DOM与BOM操作,从初学者到专家,一步也能登天一篇文章就足够了

    DOM与BOM操作 复习链接: http://c.biancheng.net/view/9360.html 事件对象: https://www.runoob.com/jsref/dom-obj-eve ...

  5. Maven配置UTF8,JDK版本

    <!-- 局部jdk配置,pom.xml中 --> <build> <plugins> <plugin> <groupId>org.apac ...

  6. 【环境搭建】docker+nginx部署PHP

    目的 使用docker容器完成nginx的安装以及部署PHP网页 步骤 一. 安装nginx 1. 拉取Nginx镜像 docker pull nginx //拉取镜像 docker images / ...

  7. 使用docker构建可动态启动的FreeSWITCH实例

    操作系统 :CentOS 7.6_x64 FreeSWITCH版本 :1.10.9 Docker版本:23.0.6   使用docker打包FreeSWITCH可以极大简化部署环节,但针对高可用场景的 ...

  8. iostream,iostream.h,stdio.h的纠葛

    include <iostream.h>非标准输入输出流 include 标准输入输出流 C++中为了避免名字定义冲突,特别引入了"名字空间的定义",即namespac ...

  9. Spring-配置文件(引入其他配置文件,分模块开发)

    引入其他配置文件 实际开发,Spring的配置文件内容非常多,这就导致了Spring配置很复杂且体积很大,所以可以将配置拆解到其他配置文件中,而在Spring主配置文件通过import标签进行加载 & ...

  10. javascript高级程序设计第三版FileApi 学习与实践1

    文件操纵 File API File API 在表单中的文件输入字段的基础上,又添加了一些直接访问文件信息的接口. H5 在 DOM 元素中为文件输入元素添加了一个 files 集合. 在通过文件输入 ...