计算机网络原原理学习资料分享笔记---第三章/第三节(为有梦想的自己加油!)

本文主要是介绍计算机网络原原理学习资料分享笔记---第三章/第三节(为有梦想的自己加油!),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第三节 停-等协议与

  1. 滑动窗口协议
    在这里插入图片描述
    第三节 停-等协议与滑动窗口协议
    知识点 1 可靠数据传输基本原理
    1 、internet传输层的两个协议:TCP 、UDP。
    TCP:可靠数据传输服务。将报文段交给IP传送,而IP只能提供“尽
    力”服务,也就是不可靠的服务。必须采取措施才能使其在基于不
    可靠的网络层上实现可靠传输。

第三节 停-等协议与滑动窗口协议
知识点 1 可靠数据传输基本原理
2 、不可靠传输信道的不可靠性主要表现在以下几方面:
1 )比特差错: 1100 —— 0110
2 )乱序(先发的数据包后到达,后发的数据包先到达):
发送: 1 、 2 、 3 、 4 、 5
接收: 2 、 1 、 5 、 4 、 3
3 )数据丢失(中途丢失,不能达到目的地):
发送: 1 、 2 、 3 、 4 、 5
接收: 1 、 3 、 4 、 5

第三节 停-等协议与滑动窗口协议
知识点 1 可靠数据传输基本原理
3 、基于不可靠信道实现可靠数据传输采取的措施( 5 种):
1 )差错检测:利用差错编码实现数据包传输过程中的比特差错检测
(甚至纠正)。(第五章详细介绍)
2 )确认:接收方向发送方反馈接收状态。
ACK(肯定确认);NAK(否定确认)
肯定确认:Positive Acknowledgement,正确接收数据。
否定确认:Negative Acknowledgement,没有正确接收数据。

第三节 停-等协议与滑动窗口协议
知识点 1 可靠数据传输基本原理
3 )重传:发送方重新发送接收方没有正确接收的数据。
发送方接收到NAK,表示接收方没有正确接收数据,则将出错的数据重
新向接收方发送。
4 )序号:确保数据按序提交。
对数据包进行编号。可以避免由于重传引起的重复数据被提交的问题。
5 )计时器:解决数据丢失问题。
发送方发送数据后启动计时器,如超时还未收到接收方的确认。主动重
发数据包,从而纠正数据丢失问题。

第三节 停-等协议与滑动窗口协议
知识点 1 可靠数据传输基本原理
4 、有效、合理地综合应用上述措施,可以设计实现可靠数据传输的协议:
例如:停-等协议与滑动窗口协议。

第三节 停-等协议与滑动窗口协议
讲解归纳与举例
例:【简答题】 1 、不可靠传输信道的不可靠性主要表现在以下几方面?

【参考答案】
1 )比特差错
2 )乱序
3 )数据丢失
【答案解析】:P 98 可靠数据传输基本原理

第三节 停-等协议与滑动窗口协议
讲解归纳与举例
例:【选择题】
2 、在实现可靠数据传输的措施中,能解决数据丢失问题的是( )
A.序号
B.确认
C.重传
D.计时器

【正确答案:D】
【答案解析】:P 98 实现可靠数据传输的措施
在这里插入图片描述
第三节 停-等协议与滑动窗口协议
知识点 2 停-等协议
2 、停-等协议的特点:
每发送一个报文段后就停下来等待接收方的确认。

第三节 停-等协议与滑动窗口协议
知识点 2 停-等协议
3 、停-等协议的工作过程:
1 )发送方发送经过差错编码和编号的报文段,等待接收方的确认。
2 )接收方如果差错检测无误且序号正确,则接收报文段,并向发送方
发送ACK,否则丢弃报文段,并向发送方发送NAK。
3 )发送方如果收到ACK,则继续发送后续报文段,否则重发刚刚发送
的报文段。

第三节 停-等协议与滑动窗口协议
知识点 2 停-等协议
4 、几点细节讨论
1 )差错控制:
报文段、ACK、NAK数据包均需要进程差错编码以便进行差错控制。
2 )序列号:
只需要 1 位就够了(区分是新发的报文还是重传的报文)。
3 )ACK和NAK:
利用重复ACK代替NAK。(对上一个正确接收的报文段再次进行确认)
4 )ACK和NAK差错:有错推断。

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

标题第三节 停-等协议与滑动窗口协议

讲解归纳与举例
例:【简答题】 1 、简述停一等协议的基本工作过程。

【参考答案】
1 )发送方发送经过差错编码和编号的报文段,等待接收方的确认。
2 )接收方如果差错检测无误且序号正确,则接收报文段,并向发送方
发送ACK,否则丢弃报文段,并向发送方发送NAK。
3 )发送方如果收到ACK,则继续发送后续报文段,否则重发刚刚发送
的报文段。
【答案解析】:P 99 停-等协议

第三节 停-等协议与滑动窗口协议
讲解归纳与举例
例:【选择题】 2 、最简单的自动重传请求协议是( )
A.UDP协议
B.SR协议
C.GBN协议
D.停-等协议

【正确答案:D】
【答案解析】:P 99 停-等协议
在这里插入图片描述
在这里插入图片描述
第三节 停-等协议与滑动窗口协议
知识点 3 滑动窗口协议
2 、流水线协议实现可靠数据传输,做如下改进:
1 )增加分组序号(多位)。
2 )发送方和接收方可以缓存多个分组。

第三节 停-等协议与滑动窗口协议
知识点 3 滑动窗口协议
3 、滑动窗口协议的工作特点:
发送方依序按流水线方式发送分组,接收方接收分组,按序向上
提交。
发送方对于已发送未收到确认的分组,必须缓存,必要时重发。
发送方可以连续发送多个未收到确认的分组(取决于缓存能力)。
接收方对未按序到达的分组,必须缓存或者丢弃并确认(取决于
缓存能力)。

第三节 停-等协议与滑动窗口协议
知识点 3 滑动窗口协议
4 、滑动窗口协议的窗口:
发送窗口(Ws):发送方可以发送未被确认分组的最大数量;
接收窗口(Wr):接收方可以缓存的正确到达的分组的最大数量;
在这里插入图片描述
第三节 停-等协议与滑动窗口协议
知识点 3 滑动窗口协议
6 、滑动窗口协议,根据窗口的大小,两种代表性的滑动窗口协议:
1 )回退N步协议:GBN协议(Go-Back-N)
2 )选择重传协议:SR协议(Selective Repeat)

第三节 停-等协议与滑动窗口协议
知识点 3 滑动窗口协议
1 )GBN协议
发送窗口WS≥ 1 ,接收窗口Wr= 1 。
发送端缓存能力高,可以在没有得到确认前发送多个分组。
接收端缓存能力很低,只能接收 1 个按序到达的分组,不能缓存未
按序到达的分组。

第三节 停-等协议与滑动窗口协议
知识点 3 滑动窗口协议
GBN发送方响应的 3 类事件:
1 、上层调:窗口未满,用“下一个可以序号”编号并发送分组,否则
拒绝发送新的数据。
2 、收到 1 个ACKn。GBN采用累积确认方式,即发送方收到ACKn时,表明
接收方正确接收序号n以及序号小于n的所有分组。
3 、计时器超时。发送方只使用一个计时器,对“基序号”指向的分组
计时。如超时,重发当前发送窗口中所有已发送但未确认的分组,即
“回退N步”,因为接收方Wr= 1 ,无缓存能力。

第三节 停-等协议与滑动窗口协议
知识点 3 滑动窗口协议
GBN的接收方操作:
Wr= 1 ,只能接收“基序号”所指向的分组。如接收方正确接收到
序号为基序号,则发送一个ACKn,接收窗口滑动到序号n+ 1 的位置。接
收到的序号不是n或者分组差错等,则发送ACKn- 1 。
在这里插入图片描述
第三节 停-等协议与滑动窗口协议
知识点 3 滑动窗口协议
GBN协议总结:
在差错较低的情况下,信道利用率会得到很大提高。如果信道误
码率或者丢包率较高,导致大量重发,信道传输能力降低。
GBN适合低误码率、低丢包率、带宽高时延积信道,且对接收方缓
存能力要求低。

第三节 停-等协议与滑动窗口协议
知识点 3 滑动窗口协议
2 )SR协议
选择重传(SR)通过让发送方仅重传那些未被接收确认(出错或
者丢失)的分组,避免了不必要的重传。
发送窗口WS> 1 ,接收窗口Wr> 1 。很多SR协议WS 、Wr大小相等。
发送端缓存能力高。
接收端缓存能力高。在这里插入图片描述
第三节 停-等协议与滑动窗口协议
知识点 3 滑动窗口协议
SR发送方响应事件:
1 、上层调用,请求发送数据:检查“下一个可用序号”,位于发送窗
口内则发送,否则缓存或者返回给上层。
2 、计时器超时。发送方对每个分组进行计时,超时则重发该分组。
3 、收到ACKn。SR协议对n进行判断。如n在当前窗口内,则标记已接收
(刚好是基序号,窗口向右滑动到最小未被确认序号处);其他情形
不做响应。

第三节 停-等协议与滑动窗口协议
知识点 3 滑动窗口协议
SR接收方主要操作:
1 、正确接收到序号在接收窗口范围内的分组PTKn,发送ACKn,窗口滑动。
2 、正确接收到序号在接收窗口左侧的分组PTKn,这些分组在之前已经正确
接收并提交,丢弃PTKn,并发送ACKn,窗口不滑动。
3 、其他情况,直接丢弃分组,不做任何响应。

第三节 停-等协议与滑动窗口协议
讲解归纳与举例
例:【选择题】
1 、从滑动窗口的观点来看SR协议,其窗口尺寸的大小为( )
A.发送窗口> 1 ,接收窗口> 1
B.发送窗口> 1 ,接收窗口= 1
C.发送窗口= 1 ,接收窗口> 1
D.发送窗口= 1 ,接收窗口= 1

【正确答案:A】
【答案解析】:P 107 SR协议

第三节 停-等协议与滑动窗口协议
讲解归纳与举例
例:【填空题】
2 、两种最具有代表性的滑动窗口协议是____和____。

【正确答案:GBN SR】
【答案解析】:P 105 两个典型的滑动窗口协议

第三节 停-等协议与滑动窗口协议
讲解归纳与举例
例:【填空题】 3 、最典型的流水线可靠传输协议是____。

【正确答案:滑动窗口协议】
【答案解析】:P 105 两个典型的滑动窗口协议

第三节 停-等协议与滑动窗口协议
讲解归纳与举例
例:【简答题】 4 、简述从滑动窗口的观点看,停等、G 0 —back—N及选择
重传三个协议的区别。

【参考答案】
停等:发送窗口= 1 ,接收窗口= 1 ;( 1 分)
Go-back-N:发送窗口WS≥ 1 ,接收窗口Wr= 1 :( 2 分)
选择重传:发送窗口WS> 1 ,接收窗口Wr> 1 ;( 3 分)
【答案解析】:综合理解三种协议在这里插入图片描述

这篇关于计算机网络原原理学习资料分享笔记---第三章/第三节(为有梦想的自己加油!)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/988678

相关文章

Python中你不知道的gzip高级用法分享

《Python中你不知道的gzip高级用法分享》在当今大数据时代,数据存储和传输成本已成为每个开发者必须考虑的问题,Python内置的gzip模块提供了一种简单高效的解决方案,下面小编就来和大家详细讲... 目录前言:为什么数据压缩如此重要1. gzip 模块基础介绍2. 基本压缩与解压缩操作2.1 压缩文

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

MySQL中的表连接原理分析

《MySQL中的表连接原理分析》:本文主要介绍MySQL中的表连接原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、表连接原理【1】驱动表和被驱动表【2】内连接【3】外连接【4编程】嵌套循环连接【5】join buffer4、总结1、背景

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实

Java Stream的distinct去重原理分析

《JavaStream的distinct去重原理分析》Javastream中的distinct方法用于去除流中的重复元素,它返回一个包含过滤后唯一元素的新流,该方法会根据元素的hashcode和eq... 目录一、distinct 的基础用法与核心特性二、distinct 的底层实现原理1. 顺序流中的去重

Go语言代码格式化的技巧分享

《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)

Spring @Scheduled注解及工作原理

《Spring@Scheduled注解及工作原理》Spring的@Scheduled注解用于标记定时任务,无需额外库,需配置@EnableScheduling,设置fixedRate、fixedDe... 目录1.@Scheduled注解定义2.配置 @Scheduled2.1 开启定时任务支持2.2 创建

Spring Boot 实现 IP 限流的原理、实践与利弊解析

《SpringBoot实现IP限流的原理、实践与利弊解析》在SpringBoot中实现IP限流是一种简单而有效的方式来保障系统的稳定性和可用性,本文给大家介绍SpringBoot实现IP限... 目录一、引言二、IP 限流原理2.1 令牌桶算法2.2 漏桶算法三、使用场景3.1 防止恶意攻击3.2 控制资源

Python虚拟环境与Conda使用指南分享

《Python虚拟环境与Conda使用指南分享》:本文主要介绍Python虚拟环境与Conda使用指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python 虚拟环境概述1.1 什么是虚拟环境1.2 为什么需要虚拟环境二、Python 内置的虚拟环境工具

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可