python html5 bootstrap 视频教程

德云社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6174|回复: 0

TCP - Transmission Control Protocol 有连接端到端可靠 传输控制协议

[复制链接]

185

主题

204

帖子

1175

积分

工程师

Rank: 5Rank: 5

金钱
759
金币
15
威望
0
贡献
0
发表于 2018-6-23 10:17:00 | 显示全部楼层 |阅读模式
AI人工智能 语音助理 人工翻译 教程
TCP - Transmission Control Protocol 有连接端到端可靠 传输控制协议

TCP 是 Transmission Control Protocol 的缩写,中文译为传输控制协议。


TCP 是为在不可靠互联网上提供可靠端到端字节流,而专门设计的传输层通信协议。而 UDP 为不用先建立连接的不可靠多目标端口、多应用程序的用户数据报传输协议。


TCP 旨在适应支持多网络应用的,分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机中的成对进程之间,依靠 TCP 提供可靠通信服务。


智能编辑重构 批处理式 "数字 Python IDE" 集成开发环境 (集成高效 Cython PyInstaller 批处理小程序)

http://dt.digitser.cn/zh-CN/ide/idepy/index.html


发展历程

TCP 由 1981 年 9 月的 IETF RFC 793 定义。


之后的 RFC793plus 澄清了说明,RFC1122 修复了 bug、RFC1323 做了高性能扩展,RFC2018 定义了选择性确认,RFC2581 说明了拥塞控制、RFC2873 定义了为服务质量而重用的头字段,RFC2988 改进了重传计时器,RFC3168 定义了显式拥塞通知。


完整协议集合很大,因而专门发布了针对许多 RFC 的指南,它就是作为另一个 RFC 文档公布的 RFC4614。


可靠端到端字节流

互联网与单个网络有很大不同,因为互联网的不同部分可能有截然不同的拓扑结构、带宽、延迟、数据包大小和其它参数。TCP 的设计目标是能够动态地适应互联网的这些特性,且具备面对各种故障时的健壮性。


TCP 假设它可以从较低级别的协议获得简单,可能不可靠的数据报服务。 原则上,TCP 应该能够操作从硬线连接到分组交换  (或电路交换) 网络的各种通信系统。


不同主机的应用层之间经常需要可靠、像管道一样的连接,但 IP 层不提供这种流机制,而是提供不可靠的包交换。


IP 层并不保证数据报一定会被正确地递交给接收方,也不指示数据报的发送速度有多快。TCP 负责既要足够快地发送数据报,使用网络容量,但又不可以引起网络拥塞。


当 TCP 超时后,要重传未递交成功的数据报。即使被正确递交的数据报,也可能存在错序问题,这也是 TCP 的责任,它必须把接收到的数据报重新装配成正确次序。


总之,TCP 必须提供性能可靠、良好的网络传输,这是大多数用户所期望的而 IP 未提供的功能。


工作原理

应用层向 TCP 层发送用于网间传输、用 8 位字节表示的数据流,然后 TCP 把数据流分成适当长度的报文段,该计算机连接的网络数据链路层的 MTU (最大传输单元) 通常是有限制的。


TCP 把结果包传给 IP 层,由它通过网络将包传送给接收端实体 TCP 层。TCP 为保证不发生丢包,会给每个包赋值一个序号,同时序号也保证了传送到接收端实体的包的按序接收。


接收端实体对已成功收到的包发回相应确认 ACK (Acknowlegement);若发送端实体在合理的往返时延 RTT (Round Trip Time) 内未收到确认,那么将假定对应数据包已丢失且会进行重传。


TCP 用校验和函数检验数据是否有误,且在发送和接收时都会计算校验和。


TCP 传输实体

支持 TCP 的每台机器都有 TCP 传输实体。


TCP 传输实体可以是库例程、用户进程、或内核程序,TCP 传输实体用于管理 TCP 流、和与 IP 层之间的接口。


TCP 传输实体接受本地进程的用户数据流,将它们分割成不超过 64KB (实际去掉 IP 和 TCP 头,通常不超过 1460 数据字节) 的段,每段以单独 IP 数据报形式发送。


当包含 TCP 数据的数据报到达一台机器时,它们会被递交给 TCP 传输实体,TCP 传输实体再重构出原始字节流。为简化起见,有时仅仅用 TCP 来代表 TCP 传输实体 (一段软件) 或 TCP 协议 (一组规则)。


根据上下文语义应该能很消楚地推断出其实际含义。例如,在 "用户将数据交给 TCP" 这句话中,很显然这里指的是 TCP 传输实体。


扫一扫关注 德云社区 微信公众号

版权声明:
本文为独家原创稿件,版权归 德云社区,未经许可不得转载。
AI人工智能 语音助理 人工翻译 教程
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|Sitemap|小黑屋|德云社区 |网站地图  

GMT+8, 2024-11-26 20:52 , Processed in 0.028804 second(s), 27 queries .

工业和信息化部: 粤ICP备14079481号-2

技术支持 乐数软件     版权所有 © 2014-2021 德云社区    

快速回复 返回顶部 返回列表