TCP可靠传输的实现 TCP的可靠性表现在:它向应用层提供的数据是 无差错的.有序的.无丢失的,简单的说就是:TCP最终递交给应用层的数据和发送者发送的数据是一模一样的. TCP采用了流量控制.拥塞控制.连续ARQ等技术来保证它的可靠性. PS:网络层传输的数据单元为『数据报』,传输层的数据单元为『报文段』,但为了方便起见,可以统称为『分组』. 停止等待协议(ARQ协议) TCP保证其可靠性采用的是更为复杂的滑动窗口协议,但停止等待协议是它的简化版,为了方便理解,这里先介绍停止等待协议. ARQ…
[前言]上一篇文章介绍了关于TCP的基础知识,以及建立(释放)连接和滑动窗口的概念. 本篇文章将延续上一篇的思路,继续介绍TCP实现可靠传输的机制. 超时重传 上一篇文章里介绍过TCP采用停止等待协议,即在收到接收方的确认信息后才继续发送下面的数据. 那么如果(在一段时间内)发送方没有收到确认信息,我们便可以认为数据在传输的过程中出了差错,没有顺利传送到接收方.这种情况下,就需要一个"超时重传"的机制了. TCP 每发送一个报文段,就对这个报文段设置一次计时器.只要计时器设置的重传时间…
文章转自:https://blog.csdn.net/weixin_43914604/article/details/105524592 学习课程:<2019王道考研计算机网络> 学习目的:利用最省时间的方法学习考研面试中的计算机网络. 1.TCP可靠传输简介 2.序号 3.确认 4.重传…
转自:http://blog.chinaunix.net/uid-26275986-id-4109209.html 根据TCP/IP协议的分层结构,网络层之上是传输层,从层次结构上来看,传输层位于网络的最高层和应用的最底层.传输层的主要作用有两个:一个是居于网络层与应用层之间提供复用和分用的服务:另一个则是需要的时候为应用层提供可靠的传输服务.复用和分用指的是传输层负责实现端到端的传输,即计算机进程之间的通信:而网络层则负责点到点的传输,最重要的功能是路由寻址.     网络通信的“用户”准确地…
TCP可靠传输的实现 以字节为单位的滑动窗口 滑动窗口的滑动是以字节为单位的,发送方A和接收方B在TCP三次握手的前两次握手时协商好了发送窗口和接受窗口的大小,发送方A根据B发送来的确认连接报文中标明的窗口的大小,来确定收到确认前的最大发送数据量,如果A接收到的B发来的确认报文中标明的窗口大小为0,则停止发送数据,直到收到不为0的确认报文,再继续发送.发送窗口表示在没有收到B的确认的情况下,A可以连续把窗口内的数据都发送出去,凡是已发送过的数据,在没有收到确认前都要暂时保留,以便超时重传时使用.…
UDP协议提供了端到端之间的通讯,应用程序只需要在系统中监听一个端口,便可以进行网络通讯.随着计算机网络的发展,计算机网络所承载的业务越来越多,有些业务数据的传输需要具备可靠性,譬如我们在进行在线聊天的时候,我们发送的一条消息,我们必须明确地知道对方是否收到.如果对方对我们发送地消息不给予确认,我们就不知道对方是否已经收到. 显然,UDP协议并没有提供可靠交付的能力,因此我们可能需要在应用层之上,基于UDP构建一套可靠的数据传输协议,有些公司就是这样做的.幸运的是,传输层已经为我们实现了一套可靠…
目录 1. 以字节为单位的滑动窗口 2. 超时重传时间的选择 写在前面:本文章是针对<计算机网络第七版>的学习笔记 运输层1--运输层协议概述 运输层2--用户数据报协议UDP 运输层3--传输控制协议TCP概述 运输层4--TCP可靠运输的工作原理 运输层5--TCP报文段的首部格式 运输层6--TCP可靠传输的实现 运输层7--TCP的流量控制和拥塞控制 运输层8--TCP运输连接管理 首先为了方便解释,先假定数据传输只在一个方向上进行. 1. 以字节为单位的滑动窗口 假定A收到了B发来的…
目录 首部格式数据单位特定注意自动重传请求ARQ具体实现发送缓存接收缓存滑动窗口确认丢失和确认迟到超时重传时间选择报文段的发送时机运输连接发送TCP请求客户端拥塞处理相关概念避免拥塞具体实现TCP 的有限状态机 首部格式 图释: 各个段位说明: 源端口和目的端口: 各占 2 字节.端口是传输层与应用层的服务接口.传输层的复用和分用功能都要通过端口才能实现 序号: 占 4 字节.TCP 连接中传送的数据流中的每一个字节都编上一个序号.序号字段的值则指的是本报文段所发送的数据的第一个字节的序号 确认…
1.概述      为方便描述可靠传输原理,假定数据传输只在一个方向上进行,即A发送数据,B给出确认 2.以字节为单位的滑动窗口      TCP的滑动窗口是以字节为单位的.为了便于说明,字节编号取得很小.先假定A收到B发来的确认报文字段,其中窗口是20字节,而确认号是31字节.(表明B期望接收到的下一个序号是31,序号30之前的数据已经收到了).如图所示. A的发送窗口: 发送窗口表示:在没有收到B的确认的情况下,可以连续把窗口内的数据发送出去.凡是已经发送过的数据,在未收到确认之前都必须暂时…
TCP可靠传输的实现 1.概述      为方便描述可靠传输原理,假定数据传输只在一个方向上进行,即A发送数据,B给出确认 2.以字节为单位的滑动窗口      TCP的滑动窗口是以字节为单位的.为了便于说明,字节编号取得很小.先假定A收到B发来的确认报文字段,其中窗口是20字节,而确认号是31字节.(表明B期望接收到的下一个序号是31,序号30之前的数据已经收到了).如图所示. A的发送窗口: 发送窗口表示:在没有收到B的确认的情况下,可以连续把窗口内的数据发送出去.凡是已经发送过的数据,在未…