TCP发送的报文段是交给IP层传送的,但IP层只能提供尽最大努力交付的服务,也就是说,TCP下面的网络所提供的是不可靠的传输。因此,TCP采用了一些适当的措施来提供可靠的传输,使得两个传输层直接的通信变得可靠。

----------工作原理--------------------------------------------------------------------------------------------------------------

一、可靠传输的要求

可靠的传输应该满足下面两个要求:

(1)传输的信道不产生差错;

(2)保证传输数据的正确性,无差错、不丢失、不重复、并且按序到达。

这里有两层意思,一是能够正确地传输数据,二是接收方能够及时处理发送方发送的数据。

二、可靠传输的工作原理

TCP为了提供可靠传输:

(1)首先,采用三次握手来建立TCP连接,四次握手来释放TCP连接,从而保证建立的传输信道是可靠的。

(2)其次,TCP采用了连续ARQ协议(回退N,Go-back-N;超时自动重传)来保证数据传输的正确性,使用滑动窗口协议来保证接方能够及时处理所接收到的数据,进行流量控制。

(3)最后,TCP使用慢开始拥塞避免快重传快恢复来进行拥塞控制,避免网络拥塞。

----------实现过程--------------------------------------------------------------------------------------------------------------

一、三次握手建立连接

详见:TCP三次握手建立连接 http://blog.csdn.net/guoweimelon/article/details/50878730

二、四次握手释放连接

详见:TCP四次握手释放连接 http://blog.csdn.net/guoweimelon/article/details/50879302

三、连续ARQ协议和滑动窗口协议

详见:TCP连续ARQ协议和滑动窗口协议 http://blog.csdn.net/guoweimelon/article/details/50879588

四、拥塞控制

详见:TCP的拥塞控制 http://blog.csdn.net/guoweimelon/article/details/50880109

参考资料:

1、TCP可靠传输&流量控制&拥塞控制 http://my.oschina.net/manmao/blog/601585

2、可靠传输的工作原理 https://xiaoxueying.gitbooks.io/computer-networks-5th-/content/ke_kao_chuan_shu_de_gong_zuo_yuan_li.html

3、计算机网络【六】:传输层-TCP概述 http://blog.chinaunix.net/uid-26275986-id-4109209.html

4、TCP/IP(三) —— 可靠传输工作原理 http://pmghong.blog.51cto.com/3221425/1242470

TCP提供可靠传输的工作原理和实现过程相关推荐

  1. TCP可靠传输的工作原理-停止等待连续的ARQ(一)

    在网络传输中,我们认为最理想的传输状态就是: 1.传输信道不产生差错. 2.不管发送方以多块的速度发送数据,接收方都能来得及接受以及处理这些数据. 当然,这种只是理想状态,在实际运用中,几乎是不可能的 ...

  2. TCP实现可靠传输的实现

    TCP实现可靠传输的实现 目录 TCP实现可靠传输的实现 ARQ协议 停止等待协议(古老) 连续ARQ协议 累计重传(回退N帧的ARQ协议) 缓存确认(选择重传ARQ协议) 超时重传的时间选择 TCP ...

  3. TCP的可靠传输机制

    TCP 的可靠传输机制是基于连续 ARQ 协议和滑动窗口协议的. 发送窗口的大小是变化的,它是由接收窗口剩余大小和网络中拥塞程度来决定的,TCP 就是通过控制发送窗口的长度来控制报文段的发送速率. 自 ...

  4. TLS/SSL 工作原理及握手过程详解

    目录 前言 TLS/SSL 基础概念 密钥协商过程中存在的问题及解决办法 TLS/SSL 握手过程 前言 本文是对 HTTPS 安全基础.TLS/SSL 工作原理及握手过程的总结.第一部分介绍为 HT ...

  5. 被问到TCP的可靠传输和提高网络利用率?

    前面讲到的TCP和UDP,在TCP的特性里面知道,他是有连接的,连接管理也是和可靠性是有一定关系的,那么他是如何建立连接,又是如何断开连接的呢? 1. 确认应答(ACK)机制 因为我TCP是面向字节流 ...

  6. TCP的可靠传输実现

    累积确认方式: 接收方一般采用累积确认的方式.即不必对收到的分组逐个发送确认,而是对按序到达的最后一个分组发送确认,这样就表示:到这个分组为止的所有分组都已正确收到了. 优点:容易实现,即使确认丢失也 ...

  7. TCP的可靠传输-停止等待协议

    TCP是可靠的传输协议,停止等待协议是保证TCP可靠传输的其中一种措施 正常传输 正常的TCP通信是这样的: 分析:在正常传输时,发送端发每发送一段数据,接受端就要确认一下并给出答复(就像你给喜欢的人 ...

  8. 套接字socket 的地址族和类型、工作原理、创建过程

    注:本分类下文章大多整理自<深入分析linux内核源代码>一书,另有参考其他一些资料如<linux内核完全剖析>.<linux c 编程一站式学习>等,只是为了更好 ...

  9. DNS工作原理及解析过程

    1.何为DNS? DNS( Domain Name System)是"域名系统"的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它所提供的服务 ...

最新文章

  1. MySql中管理百万级要注意些什么东西(转载)
  2. 五大常用算法之二:动态规划算法
  3. 皮一皮:浓浓的父爱...
  4. centos 的关机命令
  5. QT的QWhatsThis类的使用
  6. MySQL 之 information_schema
  7. 80-040-000-原理-MySQL的 ICP
  8. 流媒体协议地址获取 rtmp
  9. abcde依次进入一个队列_『并发包入坑指北』之阻塞队列
  10. 计算机视觉方向简介 | 多视角立体视觉MVS
  11. 0033【MySQL】Mysql备份导入异常:@@GLOBAL.GTID_PURGED can only be set when @@GLOBAL.GTID_EXECUTED is empty
  12. 爱看小说程序源码+4W条数据全站打包
  13. Oracle 繁简体转换(未解决)
  14. SpringBoot(七) 整合Mybatis
  15. 程序员是学历与能力,哪个重要呢?本文告诉你!
  16. Spring 官宣:换掉 JVM!
  17. 老男孩31期郜鹏飞决心书
  18. ccleaner-ccleaner下载
  19. PHP之道 - php各方面的知识汇总
  20. 考研:研究生考试(七天学完)之《概率与统计》研究生学霸重点知识点总结之目录(随机事件、条件概率与独立性、随机变量的函数及其分布(数字特征)、统计学、统计量与抽样分布、点估计、区间估计、假设检验

热门文章

  1. python利用特征进行可视化样本显示_利用Python进行机器学习之特征选择
  2. 研究表明:喝酒“上脸”是基因突变,不仅容易老年痴呆,还容易得胃癌
  3. 大变天!刚刚,山东突然宣布!关乎800万人...
  4. 人类史上20个“最强大脑”
  5. 还在集什么五福,史上最惨锦鲤再次来袭!奖品堪比5年高考3年模拟!
  6. 现在的便签本都这么社会了!?重复写万次还能云端保存
  7. 下班忘打卡了什么后果_工厂园区安装人脸识别门禁系统有什么好处?
  8. vgh电压高了有什么_智能变频电源的功能是什么?
  9. python pp模块_Python模块--Pexpect
  10. 10kv电压互感器型号_电压互感器型号大全