计算机网络03之可靠传输
1. 停止等待协议
1.概述
发送方每次只能发送一个数据包,确认方每次只能发送一个确认。发送方收到重复的确认会丢弃(接收方已经接收),接收方收到重复的数据,会把数据丢弃,但是会发送确认(防止上一个确认消息丢失)
2. 信道利用率
信道利用率很低
2. TCP中可靠传输机制
1. 发送端与接收端行为
超时重传与快速重传,正常传送是针对发送方来说的,确认单个,确认一批(窗口)选择确认与重复确认是针对接收方来说的
- 发送端
发送端超时重传与快速重传机制同时存在。当某个数据包超出计时器时间还没有收到确认,就重传该数据包,(超时重传)当某个数据包未超过计时器时间,但是已经连续收到三个确认,则重传(快速重传)。 - 接收端
- 接收端当前收到的数据包序号与之前收到的数据包序号相连(不丢包),则发送该数据包的序号。
- 如果当前数据包与之前收到的数据包序号有间隔(丢包),则发送ack(丢包)
- 为了指明哪些数据包已经接收,SACK字段指明哪些数据包已经被接受了,格式为【SACK左,SACK右),重传【ack,sack左)选择性确认
- 在接收窗口读取了若干连续的数据包,则ack(当前数据包)
- 当接收方已经接收到了数据,再次接收到同样的数据,SACK字段表示重复接收的数据 【SACK左,SACK右)
2. 各种机制解决的问题
- 超时重传
单纯的超时重传解决数据包传输丢失与确认丢失问题,这是可靠传输的底线,即使其余机制出现问题,超时重传机制也能保证数据的可靠传输。 - 快速重传机制
解决超时重传数据包等待时间过长的问题,提高传输速率(原先要等到到达重传时间再重传,现在由于接收端的通知,可以提前重传,数据传输速率增加) - 选择确认
解决快速重传时应该重传哪些数据包 - 重复确认
解决了接收端重复接收数据包问题- ack丢包
- 网络延迟
3. 常见的网络故障
- 数据丢失
数据包传输过程丢失 - 数据延迟
数据包传输过程中延迟 - 确认丢失
确认数据包返回时丢失 - 确认延迟
确认数据包返回时延迟
计算机网络03之可靠传输相关推荐
- 计算机网络(9)-----TCP可靠传输的实现
TCP可靠传输的实现 以字节为单位的滑动窗口 滑动窗口的滑动是以字节为单位的,发送方A和接收方B在TCP三次握手的前两次握手时协商好了发送窗口和接受窗口的大小,发送方A根据B发送来的确认连接报文中标明 ...
- 2021-04-05 计算机网络——什么是可靠传输
可靠:通信的双方能保证发送的数据一定能够按正确的大小,正确的顺序原样的到达另一方,如果数据不能到达或者有其他的问题,发送方一定可以及时的得到通知 连接:通讯双方存在虚电路连接 可靠:指发送方的上层协议 ...
- 【计算机网络】数据链路层 : 总结 ( 封装成帧 | 流量控制与可靠传输 | 差错控制 | 介质访问控制 | 局域网 | 广域网 | 数据链路层设备 ) ★★★
文章目录 一.数据链路层 功能 二.封装成帧 ★ 三.流量控制 和 可靠传输 ★★ 1.停止等待协议 ★ 2.后退 N 帧 ( GBN ) 协议 ★ 3.选择重传 ( SR ) 协议 ★ 四.差错控制 ...
- 5.3.1计算机网络传输层之TCP可靠传输
文章目录 0.前言 1.TCP可靠传输简介 2.序号 3.确认 4.重传 0.前言 再看此篇文章之前,得熟悉一下TCP首部报文等知识 计算机网络传输层之TCP协议(tcp协议特点.tcp报文段首部格式 ...
- 无连接可靠传输_计算机网络-网络层和传输层
计算机网络-网络层和传输层 网络层概述 面向连接的服务,即虚电路(virtual circuit) TCP/IP采用数据报服务,无连接的服务,因为网络层是整个互联网的核心,因此应当让网络层尽可能简单. ...
- 【计算机网络笔记】数据链路层(封装成帧,差错检测,可靠传输)
链路:从一个结点到相邻结点的一段物理线路,中间没有任何其他的交换结点. 数据链路:把实现通信协议的硬件和软件加到链路上 数据链路层以帧为单位传输和处理数据. 三个过程:封装成帧,差错检测,可靠传输 封 ...
- 【计算机网络】可靠传输
[计算机网络]可靠传输 1.基本概念 2.三种可靠传输的实现机制 2.1停止-等待协议SW 2.1.1 错误状况 2.1.1.1确认与否认 2.1.1.2 超时重传 2.1.1.3 确认丢失 2.1. ...
- 计算机网络之流量控制与可靠传输机制
计算机网络之流量控制与可靠传输机制 数据链路层的流量控制 较高的发送速度和较低的接收能力的不匹配,会造成传输出错,因此流量控制也是数据链路层的一项重要工作. 数据链路层的流量控制是点对点的,而传输层的 ...
- 【亡羊补牢】计算机网络灵魂之问 第10期 tcp是怎么去保证可靠传输的?
这是博主面向腾讯学习的面试题大整理系列,可以在如下github仓库Issues中通过 Labels 标签分类查看相关内容,同时欢迎大家指正可能的错误并且提出自己的解答,希望大家学的鱼块,春秋招顺利! ...
最新文章
- 两个无序单链表,排序后合并成一个有序链表
- About darwin OS
- php和python性能-Node.js与PHP、Python的字符处理性能对比
- 学习总结:CSS(一)定义方式、选择器、选择器权重
- Java生鲜电商平台-SpringCloud微服务架构中网络请求性能优化与源码解析
- java 抽象类_什么是final?Java抽象类又是什么?抽象类能使用 final 修饰吗?
- python制作的游戏如何转化为swf_从纯Python中的Flash文件(.swf)获取维度
- 计算机组成原理第二版知识大纲
- 谷粒学院-第二天笔记
- ubantu下谷歌浏览器安装包
- java 链式调用_Java链式调用-Builder模式
- 你知道数据中台,但你肯定没听过报表中台,我靠它征服百万数据人
- 1585 Amount of Degrees
- 开源数值计算软件OCTAVE 、SCILAB、R、Matlab简介
- 数字人民币来了!它与支付宝、微信有什么区别吗?
- GOIP网关所有型号以及分辨方法 对接场景
- Tableau :蝴蝶图
- “羊毛党”们最喜欢用的手机号码分析
- 波波:App Store改版深入测评,生态改变,行业大洗牌
- 2021上半年程序员新书大盘点