计算机网络(9)-----TCP可靠传输的实现
TCP可靠传输的实现
以字节为单位的滑动窗口
滑动窗口的滑动是以字节为单位的,发送方A和接收方B在TCP三次握手的前两次握手时协商好了发送窗口和接受窗口的大小,发送方A根据B发送来的确认连接报文中标明的窗口的大小,来确定收到确认前的最大发送数据量,如果A接收到的B发来的确认报文中标明的窗口大小为0,则停止发送数据,直到收到不为0的确认报文,再继续发送。发送窗口表示在没有收到B的确认的情况下,A可以连续把窗口内的数据都发送出去,凡是已发送过的数据,在没有收到确认前都要暂时保留,以便超时重传时使用。
需要注意的一点是:使用TCP滑动窗口协议时,接收方不必确认每一个收到的分组,在TCP中,ACK确认是累积的,可以在接收到几个序号连续的报文段后只发送一个ACK确认报文,但累积等待的时间最长不能超过0.5秒,以防止发送端超时重传。
另外,要注意滑动窗口的三种变化:
1、窗口合拢。窗口左边沿向右边沿靠近,这种情况发生在数据被发送后收到确认时;
2、窗口张开。窗口右边沿向右移动,说明允许发送更多的数据,这种情况发生在另一端的接收进程从TCP接收缓存中读取了已经确认的数据时;
3、窗口收缩。窗口右边沿向左移动,一般很少发生,RFC也强烈不建议这么做,因为很可能会产生一些错误,比如一些数据已经发送出去了,又要收缩窗口,不让发送这些数据。
另外,窗口的左边沿是肯定不可能左移的,如果接收到一个指示窗口左边沿向左移动的ACK,则它被认为是一个重复ACK,并被丢弃。
总结以下几点:
1、发送方不必发送一个全窗口大小的数据,一次发送一部分即可。
2、窗口的大小可以减小,但是窗口的右边沿却不能向左移动。
3、接收方在发送一个ACK前不必等待窗口被填满。
4、窗口的大小是相对于确认序号的,收到确认后的窗口的左边沿从确认序号开始。
转载于:https://www.cnblogs.com/a294098789/p/5656241.html
计算机网络(9)-----TCP可靠传输的实现相关推荐
- 5.3.1计算机网络传输层之TCP可靠传输
文章目录 0.前言 1.TCP可靠传输简介 2.序号 3.确认 4.重传 0.前言 再看此篇文章之前,得熟悉一下TCP首部报文等知识 计算机网络传输层之TCP协议(tcp协议特点.tcp报文段首部格式 ...
- 【计算机网络】传输层 : TCP 可靠传输 ( 可靠传输机制 | 快速重传机制 )
文章目录 一.TCP 可靠传输 二.TCP 可靠传输机制 三.TCP 快速重传 机制 一.TCP 可靠传输 可靠性 : 保证 接收方进程 从 TCP 缓冲区 中读取的数据 与 发送方进程 发送的数据 ...
- 计算机网络之传输层:5、TCP可靠传输
传输层:5.TCP可靠传输 TCP可靠传输: 伪首部校验: 实现可靠传输的过程: 实现可靠传输的工作原理: 实现流量控制的工作原理: TCP可靠传输: 伪首部校验: 与UDP校验一样,增加伪首部进行校 ...
- TCP 可靠传输机制详解
目录 TCP协议的特点 TCP 报文段 TCP "三次握手" TCP "四次挥手" 客户端和服务器端所经历的状态 TCP 可靠传输 TCP流量控制 TCP拥塞控 ...
- 5.3.3 TCP可靠传输
5.3.3 TCP可靠传输
- 滑动窗口——TCP可靠传输的实现[转]
滑动窗口--TCP可靠传输的实现[转] 转自: http://hi.baidu.com/bellgrade/blog/item/935a432393b949ae4723e828.html (1).窗 ...
- 计算机网络实验传输文件,湖大计算机网络实验-tcp文件传输实验
实验二 tcp文件传输 信息安全2班莫胜吕 20100830215 一,实验目的 掌握实现网络文件传输的方法,并了解TCP连接是字符流的二,实验内容 1,单线程的文件传输 2,多线程的文件传输 3,加 ...
- 网络协议从入门到底层原理(5)传输层(UDP、TCP - 可靠传输、流量控制、拥塞控制、建立连接、释放连接)
传输层( Transport) 传输层( Transport) UDP 协议(数据格式.检验和) 端口(Port) TCP TCP - 数据偏移.保留 TCP - 检验和( CheckSum) TCP ...
- tcp可靠传输的机制有哪些(面试必看
一.综述 1.确认和重传:接收方收到报文就会确认,发送方发送一段时间后没有收到确认就重传. 2.数据校验 3.数据合理分片和排序: UDP:IP数据报大于1500字节,大于MTU.这个时候发送方IP层 ...
最新文章
- 波士顿大学数学与计算机科学,2021战报 | 美国波士顿大学金融数学硕士录取
- uniapp开发微信小程序时,报错:Now you can provide attr `wx:key` for a `wx:for` to improve performance
- android+read_logs这权限有什么用,READ_LOGS是正常或危险的Android权限吗?
- Sqoop导入数据--split by 和 --m(大于1)配合使用
- 动态内存分配(malloc函数)
- NPOI导出 The maximum column width for an individual cell is 255 characters
- 在计算机设备中 麦克风属于( ),计算机一级考试基础及MSOffice应用单选真题
- 看不懂简明python教程_简明python教程
- Overlay网络和VXLAN
- python中的chardet模块
- E430 加装固态硬盘(SSD)参考
- php 设置允许跨域请求
- 在视图列中显示文档所有读者和作者
- 由英雄无敌Online开源 想到的
- hr面试性格测试30题_面试性格测试题60道
- PAT乙级 1052 卖个萌 (0/20 分) Java 未实现
- 计算机和计算机之间如何传送文件,两台电脑实现互传文件:多种方法可选择
- opencv计算机视觉_opencv是计算机视觉的至尊工具
- 高效办公——Excel表格-02篇(if函数常见用法 + 条件格式的使用)
- 360误删mysql_回收站里的文件被清空如何还原?360安全卫士快速恢复误删文件方法...
热门文章
- 新手找客户,牢记20句话
- ASP.NET 2.0中的Session状态丢失的解决办法
- @开发者,第二届“马栏山”杯国际音视频算法大赛高分攻略请查收,心动大奖等你来战!...
- 上达最高精度,下到最快速度,Scaled-YOLOv4:模型缩放显神威
- 谷歌大脑推出机器人强化学习平台,硬件代码全开源,花最少的钱,训超6的机器人...
- 重磅快讯:CCF发布最新版推荐中文科技期刊目录
- 万万没想到,EfficientNet居然这么火!
- 【人工智能】深度学习专项课程精炼图笔记!必备收藏
- PyTorch 1.8版本!正式支持AMD GPU
- 带你自学Python系列(十四):Python函数的用法(四)