传输控制协议
时间:2025-06-09
时间:2025-06-09
传输控制协议(TRANSMISSION CONTROL PROTOCOL)
DARPA INTERNET程序
协议规范
1.介绍
传输控制协议在包交换计算机通讯网络和这些网络的互联系统中作为一个高
可靠性的主机到主机协议使用。
本文档描述了传输控制协议执行的功能,实现的程序,和程序接口或者要求它
的服务的用户。
1.1 动机(Motivation)
计算机通信系统在军事、政府和民用环境中起着越来越重要的作用。本文档主
要将注意力集中在军用计算机通讯要求,尤其是在不可靠通信中的坚固和在拥
塞情况下的可用,但是很多这样的问题在民用和政府用途环境中也会碰到。
随着战略上和战术上的计算机通讯网络的发展和应用,提供一种方法来连接
这些网络,以及提供可用的支持大量应用程序的标准进程间通信协议是必要的。
预料到该标准的需要,国防研究和工程副部长宣告了这里描述的TCP协议,来
作为DoD范围的互联协议标准的基础。
TCP是一个基于连接的、端到端的可靠协议,该协议设计以用来适应一个支持
多个网络应用程序的层间协议结构。TCP提供了在属于不同的但是是互联的
计算机通信网络的宿主主机中的进程对间的可靠进程间通讯。在TCP层之下,
很少考虑到通信协议的可靠性。TCP假定它可以从底层协议获得一个简单的、
潜在的不可靠数据报。原理上,TCP必须能够在一个从有线连接到包交换或者
回路交换网络的比较大范围的通讯系统上工作。TCP基于Cerf和Kahn在[1]中
第一次描述的概念。TCP适用于一个层间协议架构,该架构在一个基本的Internet
协议之上,Internet协议为TCP提供了一种发送和接收封装在internet数据报中
的可变长度分片的方法。internet数据报提供了在不同网络中寻址源和目的
TCPs的方法。Internet协议也处理为在多个网络和互联网关上取得传输和
投递所进行的TCP分片的分片和重组。internet协议也携带优先级、安全分类
和TCP分片的分隔,因此这些信息可用通过多个网络进行端到端传输。
本文档大部分是在宿主计算机中位于高层协议下的TCP实现上下文中写的。
有些计算机网络会通过承载有TCP和ip层以及网络特定软件前端计算机连接
到网络。TCP规范描述了到高层协议的接口,这些接口即使对于前端情况也是
可实现的,同时一个适合的主机到前台(host-to-front)端协议也被实现。
Protocol
Layering
+---------------------+
| higher-level |
+---------------------+
| TCP |
+---------------------+
| int
ernet protocol |
+---------------------+
|communication network|
+---------------------+
Figure 1
1.2范围(Scope)
TCP用来在多网络环境下提供一个可靠的进程到进程通讯服务。TCP用来作为
在多网络条件下的通用的主机到主机协议。
1.3关于这个文档
本文档提出了任何TCP实现所要求的行为的规范,包括同高层协议的交互以及同
其它TCPs的交互。文档的其它部分提高了一个协议接口和操作的简要视图。第二
部分概要描述了TCP设计的理论基础,第三部分提供了不同事件发生情况下(新
分片到达,用户调用,错误等)的TCP要求的行为和TCP分片的详细描述。
1.4接口
TCP接口一端是用户或者应用程序,另一端是底层协议如IP协议。
应用程序和TCP间的接口将详细阐述。该接口包含一套调用,类似于操作系统提供
给应用程序操作文件的接口。比如,有打开和关闭连接以及在已经建立的连接上发送
数据报的接口。同时希望TCP可以异步地同几个应用程序通信。虽然TCP的实现者
有一定的自由设计适合于特定操作系统环境的接口,对任何一个合法的实现来说,都
需要实现一个TCP/用户接口的最小接口集合。
除了认为存在一个机制可以互相异步地传递信息,TCP和底层协议的接口没有特别指
定。通常希望底层协议来指定该接口。TCP设计来在一个非常通用的互联网络上工作。
本文档假定的底层协议是Internet协议[2]。
1.5操作
如上所述,TCP的一个主要目的是在进程间提供可靠的,安全的逻辑回路或者连接服务。
为了在一个比较不可靠的相互通信上提供这个服务,系统要求提供如下功能:
基本的数据传输(Basic Data Transfer)
可靠性(Reliability)
流控(Flow Control)
多路(Multiplexing)
连接(Connections)
优先级和安全性(Precedence and Security)
TCP在这些领域的基本操作在下面的段落中描述。
基本数据传输:
TCP通过将一定量的字节打包成在internet系统上传输的分片,能够在用户之间在两个
方向上传输连续的字节流。通常情况下,TCPs决定什么时候阻塞以及前推数据。
有时候用户需要确保他们所提交给TCP的所有数据都被传输。基于这个目的,定义了
push功能。为了确认提交给TCP的数据报确实 …… 此处隐藏:22246字,全部文档内容请下载后查看。喜欢就下载吧 ……
上一篇:专业技术人员创新能力培养与提高1
下一篇:现浇板施工图设计注意事项