RFC793中文翻译一(dlmu2001)

传输控制协议(TRANSMISSION CONTROL PROTOCOL

DARPA INTERNET程序

协议规范

1.介绍

传输控制协议在包交换计算机通讯网络和这些网络的互联系统中作为一个高

可靠性的主机到主机协议使用。

本文档描述了传输控制协议执行的功能,实现的程序,和程序接口或者要求它

的服务的用户。

1.1 动机(Motivation

计算机通信系统在军事、政府和民用环境中起着越来越重要的作用。本文档主

要将注意力集中在军用计算机通讯要求,尤其是在不可靠通信中的坚固和在拥

塞情况下的可用,但是很多这样的问题在民用和政府用途环境中也会碰到。

随着战略上和战术上的计算机通讯网络的发展和应用,提供一种方法来连接

这些网络,以及提供可用的支持大量应用程序的标准进程间通信协议是必要的。

预料到该标准的需要,国防研究和工程副部长宣告了这里描述的TCP协议,来

作为DoD范围的互联协议标准的基础。

TCP是一个基于连接的、端到端的可靠协议,该协议设计以用来适应一个支持

多个网络应用程序的层间协议结构。TCP提供了在属于不同的但是是互联的

计算机通信网络的宿主主机中的进程对间的可靠进程间通讯。在TCP层之下,

很少考虑到通信协议的可靠性。TCP假定它可以从底层协议获得一个简单的、

潜在的不可靠数据报。原理上,TCP必须能够在一个从有线连接到包交换或者

回路交换网络的比较大范围的通讯系统上工作。TCP基于CerfKahn[1]

第一次描述的概念。TCP适用于一个层间协议架构,该架构在一个基本的Internet

协议之上,Internet协议为TCP提供了一种发送和接收封装在internet数据报中

的可变长度分片的方法。internet数据报提供了在不同网络中寻址源和目的

TCPs的方法。Internet协议也处理为在多个网络和互联网关上取得传输和

投递所进行的TCP分片的分片和重组。internet协议也携带优先级、安全分类

TCP分片的分隔,因此这些信息可用通过多个网络进行端到端传输。

本文档大部分是在宿主计算机中位于高层协议下的TCP实现上下文中写的。

有些计算机网络会通过承载有TCPip层以及网络特定软件前端计算机连接

到网络。TCP规范描述了到高层协议的接口,这些接口即使对于前端情况也是

可实现的,同时一个适合的主机到前台(host-to-front)端协议也被实现。

                          Protocol Layering

                        +---------------------+
                        |     higher-level      |
                        +---------------------+
                        |        TCP             |
                        +---------------------+
                        |  internet 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的数据报确实被传送了,发送用户指示数据必须被推

给接收用户。Push导致了TCPs立即前推和投递数据给接收者。确切的push点对接收用户

可能不可见,且push功能不提供一个记录边界标识。

 

可靠性(Reliability

TCP必须从被internet通信系统破坏的,丢失的,复制的或者非正确顺序投递的数据中

恢复。这是通过给每个传输的字节流分片一个系列号实现的,且要求从接收TCP有肯定

的确认(ACK)。如果ACK在一个间隔内(timeout interval)没有收到,数据就重传。在

接收端,系列号用来正确对分片排序(分片可能次序颠倒)以及排除重复分片。通过给每

个传输分片增加一个校验和来处理损坏,在接收端进行检查,且丢弃损坏的分片。

 

流量控制(Flow Control

TCP为接收者提供一个办法让其控制发送者发送的数据的数量。这是通过在每个ACK

返回一个窗口(“window”)来指示超过最后成功接收的一个分片的可接受的系列号码的

范围。窗口指示了发送者在接收到进一步的允许前可以传输的字节的数量。

 

多路技术(Multiplexing

为了允许在一个单独的主机里多个进程同时使用TCP通信机制,TCP提供了一套地址和

端口。从internet通信层同网络和宿主地址连接,这形成了一个socket。一对socket标识

了一个连接。也就是说,一个socket可能同时被使用在多个连接中。

绑定端口到进程被每个主机单独处理。但是,将常用的进程(如“logger”或者时间服务)

隶属于众所皆知的socket被证明是有用的。这些服务就可以通过已知的地址获取到。

建立和学习其它进程的端口地址可能包括更加动态的机制。

 

连接(Connections

上面描述的可靠性和流量控制机制要求所有的TCPs为每个数据流发起和维护某些状态

信息。这些信息的结合体,包括sockets,系列号,和窗口大小,被称为一个连接。每个

连接被一套指定两端的sockets唯一指定。

当两个进程需要通信的时候,他们的TCPs必须首先建立一个连接(在每一端初始化状态

信息)。当通信完成的时候,连接终止或者关闭以释放资源用于其它用途。

由于连接必须在不可靠的主机和不可靠的internet通信系统上建立,一个带有基于时钟的

系列号的握手机制被用来避免连接的错误初始化。

 

优先级和安全(Precedence and Security

TCP用户可以指示通信的安全性和优先级。当这些特性不需要的时候,规定采用缺省值。

 
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: RFC1305是一项与互联网时间协议(NTP)相关的规范。该协议描述了一种用于同步计算机时钟的方法,以确保计算机在网络中具有准确的时间。这个协议的中文翻译是RFC1305同步网络时间协议。 RFC1305是由David Mills在1988年提出的,并且在之后的几个版本中进行了更新和改进。该协议的主要目的是确保计算机时钟与其他计算机和服务器之间的网络时间保持同步。它使用一组算法和机制来纠正计算机时钟的漂移,并校准到网络上的准确时间源。 RFC1305描述了一个分层的时间同步体系结构,其中有几个不同级别的时间服务器。最顶层的服务器使用具有高精度的原子钟来提供准确的时间。较低级别的服务器通过与更高级别的时间服务器同步,来提供较低精度但仍然准确的时间。而最底层的计算机则可以从更高级别的时间服务器中获取时间。 在RFC1305中,时间同步是通过将计算机时钟漂移与网络时间源进行比较,然后对时钟进行微调来实现的。这个微调过程基于时间校正包(time correction packet),它包含了从时间源到计算机时钟的延迟和漂移信息,以及其他必要的校准参数。 总之,RFC1305是一项关于网络时间同步的规范,旨在确保计算机具有准确的时间。它定义了一种算法和机制,通过与高精度时间服务器同步,来校正计算机时钟的漂移。这个协议对于需要精确时间的应用程序和系统非常重要,如金融交易、科学实验和通信网络。 ### 回答2: RFC 1305是一个名为“网络时间协议(NTP)的时间同步协议”的国际互联网标准。它描述了一种用于将计算机时钟同步的机制,使得计算机能够以准确的时间进行运行。 RFC 1305提供了有效的时间同步算法,其核心是使用分布式算法通过互联网向计算机提供精密的时间信息。这种算法允许计算机通过接收来自其他计算机的时间标准信息,并使用这些信息进行时间校准,从而保持时钟的准确性。 该协议的主要特点是高度灵活和可调节,并且在全球范围内具有广泛的应用。它能够在不同的计算机操作系统和硬件平台上运行,以满足各种需求。 RFC 1305不仅提供了时间同步机制,还定义了一种用于描述和传输时间的标准格式。该标准格式包括计算机的本地时间、与标准时间的偏差以及时间误差等信息。这种标准化的格式使得不同计算机之间可以方便地进行时间同步,并且能够识别和解决时间不一致的问题。 总之,RFC 1305是一项重要的国际标准,旨在通过使用NTP协议来实现计算机时钟的准确同步。它的使用范围广泛,可以应用于各种计算机系统和网络环境中,确保各种计算机都能够以准确的时间运行。 ### 回答3: RFC1305是一份由Internet Engineering Task Force(IETF)发布的文件,也称为Network Time Protocol(NTP)版本3。它是描述了实现网络时间同步的协议。 RFC1305将NTP的工作原理和实施细节进行了详细说明,并定义了一种分层的时间同步体系结构。它提出了一种层次化的时钟服务器系统,其中公共时钟源与普通计算机连接,通过网络和其他时钟服务器进行同步。 该协议使用了一种称为NTP时间戳的方法来同步时钟。时间戳是一个32位无符号整数,用来表示发送和接收数据包的时间戳。通过对时间戳的比较和计算延迟时间,可以校准时钟并同步设备之间的时间。 RFC1305还提供了一些关于时钟源和时钟维护的准则和建议。它描述了如何选择和配置好的时钟源,以及如何处理时钟源的故障和异常情况。 此外,RFC1305还介绍了一些安全问题,例如如何防止网络攻击者篡改时间信息。它建议使用加密和身份验证机制来确保时间同步的安全性和准确性。 总的来说,RFC1305是一个重要的文件,为网络时间同步提供了一个标准化的方法。它定义了NTP协议的基本原理和细节,并提供了一些关于实施和安全性的建议。通过实施RFC1305,网络中的设备和服务可以准确同步时间,并保持正确的时间状态。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值