TCP可靠数据传输】的更多相关文章

TCP可靠数据传输   在TCP在IP不可靠的尽力而为的服务之上,创建了一条可靠数据传输服务(reliable data transfer service).TCP提供的可靠数据传输的方法涉及到可靠数据传输原理中许多机制.   也涉及到了定时器.如果为每一个已发送但未被确认的报文段都设置一个定时器,那开销是相当巨大的.因此推荐的定时器管理过程[RFC 6298]仅适用单一的重传定时器.下面描述的TCP协议遵从了这种单一的定时器推荐.   TCP是使用超时和冗余确认技术来恢复报文段的丢失 TCP发…
由[RFC 768]定义的UDP只是做了运输协议能够做的最少工作.除了复用/分解功能极少量的差错检测外,它几乎没有对IP增加别的东西.如果应用程序开发人员选择UDP而不是TCP,则该应用程序差不多就是直接与IP打交道.UDP从应用程序进程得到数据,附加上用于多路复用/分解服务的源和目的端口号字段,以及两个其他小字段,然后形成的报文段交给网络层.网络层将运输层报文段封装到一个IP数据报中,然后尽力而为地尝试将此报文交付给接收主机.如果该报文段到达接收主机,UDP使用目的端口号将报文段中的数据交付给…
由于传输层所依赖的网络层是不可靠的,通过逐渐考虑实际情况不断引入新技术来实现可靠数据传输. 完全可信的信道 有比特差错的信道 新的协议功能: 1.    差错检测:检验和 2.    接收方反馈:序号,ACK分组 3.    重传 会产生丢包的信道 超时重传:冗余数据分组 流水线可靠数据传输 1.     增加序号范围 2.     发送方和接收方都需要缓存分组 3.     差错恢复:选择重传/回退N步 回退N步(GBN): 发送方: 发送发维护如图所示的结构,窗口长度的含义即为已发送未确认的…
TCP可靠传输的实现 1.概述      为方便描述可靠传输原理,假定数据传输只在一个方向上进行,即A发送数据,B给出确认 2.以字节为单位的滑动窗口      TCP的滑动窗口是以字节为单位的.为了便于说明,字节编号取得很小.先假定A收到B发来的确认报文字段,其中窗口是20字节,而确认号是31字节.(表明B期望接收到的下一个序号是31,序号30之前的数据已经收到了).如图所示. A的发送窗口: 发送窗口表示:在没有收到B的确认的情况下,可以连续把窗口内的数据发送出去.凡是已经发送过的数据,在未…
TCP提供了可靠的传输服务,这是通过下列方式提供的: 分块发送:应用数据被分割成TCP认为最适合发送的数据块.由TCP传递给IP的信息单位称为报文段或段(segment) 定时确认重传:当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段.如果不能及时收到一个确认,将重发这个报文段. 当TCP收到发自TCP连接另一端的数据,它将发送一个确认.这个确认不是立即发送,通常将推迟几分之一秒 数据校验:TCP将保持它首部和数据的检验和.这是一个端到端的检验和,目的是检测数据在传输过程中的…
目录 1. 以字节为单位的滑动窗口 2. 超时重传时间的选择 写在前面:本文章是针对<计算机网络第七版>的学习笔记 运输层1--运输层协议概述 运输层2--用户数据报协议UDP 运输层3--传输控制协议TCP概述 运输层4--TCP可靠运输的工作原理 运输层5--TCP报文段的首部格式 运输层6--TCP可靠传输的实现 运输层7--TCP的流量控制和拥塞控制 运输层8--TCP运输连接管理 首先为了方便解释,先假定数据传输只在一个方向上进行. 1. 以字节为单位的滑动窗口 假定A收到了B发来的…
TCP 可靠传输与流量控制的实现 一.TCP可靠传输的实现 现在所讲的可靠传输是根据之前所说的可靠传输原理的实现,是现实中应用的技术. 1.1.以字节为单位的滑动窗口 如图A端一份文件分为了多个字节,每个字节用带有字节号的方块表示.A需要把这份文件发个B,发送时文件先放入A的发送缓存中排队,准备发送.B中有一个接收缓存,用于存放接收到的由文件分成的多个字节数据. 通信时,B要与A建立会话(连接)(TCP是面向连接的),建立连接时B计算机要根据自己的接收缓存的大小设定合适的接收窗口,单位为字节,并…
计算机网络实验代码与文件可见github:计算机网络实验整理 实验名称 可靠数据传输协议(停等协议与GBN协议) 实验目的: 本次实验的主要目的. 理解可靠数据传输的基本原理:掌握停等协议的工作原理:掌握基于 UDP 设计并实现一个停等协议的过程与技术. 理解滑动窗口协议的基本原理:掌握 GBN 的工作原理:掌握基于UDP 设计并实现一个 GBN 协议的过程与技术. 实验内容: 概述本次实验的主要内容,包含的实验项等. 1)基于 UDP 设计一个简单的停等协议,实现单向可靠数据传输(服务器到客户…
TCP可靠传输的实现 以字节为单位的滑动窗口 滑动窗口的滑动是以字节为单位的,发送方A和接收方B在TCP三次握手的前两次握手时协商好了发送窗口和接受窗口的大小,发送方A根据B发送来的确认连接报文中标明的窗口的大小,来确定收到确认前的最大发送数据量,如果A接收到的B发来的确认报文中标明的窗口大小为0,则停止发送数据,直到收到不为0的确认报文,再继续发送.发送窗口表示在没有收到B的确认的情况下,A可以连续把窗口内的数据都发送出去,凡是已发送过的数据,在没有收到确认前都要暂时保留,以便超时重传时使用.…
一.为什么TCP是可靠传输? 1. 停止等待协议 通过确认与超时重传机制实现可靠传输 在发送完一个分组后,必须暂时保留已发送的分组的副本. 分组和确认分组都必须进行编号. 超时计时器的重传时间应当比数据在分组传输的平均往返时间更长一些. 出现差错或丢失的时候,发送方会将自己备份的副本再重传一次,直到收到接收的确认信息.当接收方收到重复的数据时,会直接丢弃,但是会给发送方请确认自己已经收到了. 2. 改进的停止等待协议——连续ARQ协议和滑动窗口协议 上面的停止等待协议每发送一组数据就必须等到接收…