今天小编要和大家分享的是传输控制协议所支持的服务类型 传输控制协议所提供服务的主要特点,接下来我将从传输控制协议所支持的服务类型 ,传输控制协议所提供服务的主要特点,传输控制协议的服务流程,传输控制协议的工作原理,这几个方面来介绍。
传输控制协议—TransmissiON Control Protocol,简称TCP,是一种面向连接的、可靠的、基于字节流的运输层通信协议。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能。TCP层是位于IP层之上,应用层之下的中间层。
传输控制协议所支持的服务类型
不管怎样,TCp/Ip是一个协议集。为应用提供一些\"低级\"功能,这些包括Ip、TCp、UDp。其它是执行特定任务的应用协议,如计算机间传送文件、发送电子邮件、或找出谁注册到另外一台计算机。因此,最重要的\"商业\"TCp/Ip服务有:
*FTp文件传送(FileTransfer)
文件传送协议FTp(FileTransferprotocol)允许用户从一台计算机到另一台取得文件,或发送文件到另外一台计算机。从安全性方面考虑,需要用户指定一个使用其它计算机的用户名和口令。它不同于NFS(NetworkFileSystem)和Netbios协议。一旦你要访问另一台系统中的文件,任何时刻都要运行FTp。而且你只能拷贝文件到自己的机器中去来使用它。RFC959中有关于FTp的详尽说明。
*RLogin远程登录(Remotelogin)
网络终端协议TELNET允许用户登录到网络上任一计算机上。你可启动一个远程进程连接到指定的计算机,直到进程结束,期间你所键入的内容被送到所指定的计算机。值得注意的是,这时你实际上是与你的计算机进行对话。TELENET程序使得你的计算机在整个过程中不见了,所敲的每一个字符直接送到所登录的计算机系统。一般的说,这种远程连接是通过类式拨号连接的,也就是,拨通后,远程系统提示你输入注册名和口令,退出远程系统,TELNET程序也就退出,你又与自己的计算机对话了。微电脑中的TELNET工具一般含有一个终端仿真程序。
*SMTppOp3电子邮件(Mail)
允许你发送消息给其它计算机的用户。通常,人们趋向于使用指定的一台或两台计算机。计算机邮件系统只需你简单地往另一用户的邮件文件中添加信息,但随之产生问题,使用的微电脑的环境不同,还有重要的是宏(MACRO)不适合于接受计算机邮件。为了发送电子邮件,邮件软件希望连接到目的计算机,如果是微电脑,也许它已关机,或者正在运行另一个应用程序呢?出于这种原因,通常由一个较大的系统来处理这些邮件,也就是一个一直运行着的邮件服务器。邮件软件成为用户从邮件服务器取回邮件的一个界面。
任何一个的TCp/Ip工具提供上述这些服务。这些传统的应用功能在基于TCp/Ip的网络中一直扮演非常重要的角色。目前情况有点变化,这些功能使用也发生变化,如老系统的改造,计算机的发展等,出现了各种安装版本,如:微电脑、工作站、小型机、和巨型机等。这些计算机好像在一起完成指定的任务,尽管有时看来像是只用到某个指定的计算机,但它是通过网络得到其它计算机系统的服务。服务器Server是为网络上其它提供指定服务的系统,客户Client是得到这种服务的另外计算机系统。(值得注意的是,服务/客户机不一定是不同的计算机,有可能是同一计算机中的不同运行程序)。以下是几种目前计算机上典型的一些服务,这些服务可在TCp/Ip网络上调用。
*NFS网络文件系统(NetworkFileSystem)
这种访问另一计算机的文件的方法非常接近于流行的FTp。网络文件系统提供磁盘或设备服务,而无需特定的网络实用程序来访问另一系统的文件。可以简单地认为它是一个外加的磁盘驱动器。这种额外\"虚拟\"磁盘驱动器就是其它计算机系统的磁盘。这非常有用。你只需加大几台计算机的磁盘容量,就可使网络上其他用户访问它,且不说所带来的经济效益,它还能够让几台工作的计算机共享相同的文件。它也使得系统维护和备份易如反掌,因为再不必为大量的不同机器上的文件的升级和备份而担心。
*远程打印(Remoteprinting)
允许你使用其它计算机上的打印机,好像这些打印机直接连到你的计算机上。
*远程执行(RemoteExecution)
允许你请求运行在不同计算机上的特殊程序。当你在一个很小的计算机上运行一个需要大机系统资源的程序时,这时候远程执行非常有用。
*名字服务器(NameServers)
在一个大的系统安装过程中,需要用到大量的各种名字,包括用户名、口令,姓名、网络地址、帐号等,管理这些是非常令人乏味的。因此将这些数据形成数据库,放到一个小系统中去,其它系统通过网络来访问这些数据。
*终端服务器(TerminalServers)
很多的终端连接安装不再直接将终端连到计算机,取而代之的是,将他们连接到终端服务器上。终端服务器是一个小的计算机,它只需知道怎样运行TELNET(或其它一些完成远程登录的协议)。如果你的终端想连上去,只用键入要连的计算机名就可。通常有可能同时有几个这种连接,这时终端服务器采用快速开关技术来切换。
上述所描述的一些协议是由Berkeley,Sun,或其它组织定义的。因此,它们不是互联网协议集(InternetprotocolSuite)的一部分,只是使用到TCp/Ip的工具,如同一般的TCp/Ip应用协议。因为协议的定义不一致,并且商业支持的TCp/Ip工具广泛应用,也许会把这些协议作为互联协议集中的一部分。上述列出的只是基于TCp/Ip部分服务的一些简单例子,但包含了一些主要的应用。
传输控制协议所提供服务的主要特点
(1)面向连接的传输;
(2)端到端的通信;
(3)高可靠性,确保传输数据的正确性,不出现丢失或乱序;
(4)全双工方式传输;
(5)采用字节流方式,即以字节为单位传输字节序列;
(6)紧急数据传送功能。
传输控制协议的服务流程
TCp协议提供的是可靠的、面向连接的传输控制协议,即在传输数据前要先建立逻辑连接,然后再传输数据,最后释放连接3个过程。TCp提供端到端、全双工通信;采用字节流方式,如果字节流太长,将其分段;提供紧急数据传送功能。
尽管TCp和UDp都使用相同的网络层(Ip),TCp却向应用层提供与UDp完全不同的服务。
TCp提供一种面向连接的、可靠的字节流服务。
面向连接意味着两个使用TCp的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCp连接。这一过程与打电话很相似,先拨号振铃,等待对方摘机说“喂”,然后才说明是谁。
在一个TCp连接中,仅有两方进行彼此通信。广播和多播不能用于TCp。
TCp通过下列方式来提供可靠性:
o应用数据被分割成TCp认为最适合发送的数据块。这和UDp完全不同,应用程序产生的数据报长度将保持不变。由TCp传递给Ip的信息单位称为报文段或段(segment)TCp如何确定报文段的长度。
o当TCp发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段。o当TCp收到发自TCp连接另一端的数据,它将发送一个确认。这个确认不是立即发送,通常将推迟几分之一秒
oTCp将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCp将丢弃这个报文段和不确认收到此报文段(希望发端超时并重发)。
o既然TCp报文段作为Ip数据报来传输,而Ip数据报的到达可能会失序,因此TCp报文段的到达也可能会失序。如果必要,TCp将对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层。
o既然Ip数据报会发生重复,TCp的接收端必须丢弃重复的数据。
oTCp还能提供流量控制。TCp连接的每一方都有固定大小的缓冲空间。TCp的接收端只允许另一端发送接收端缓冲区所能接纳的数据。这将防止较快主机致使较慢主机的缓冲区溢出。
两个应用程序通过TCp连接交换8bit字节构成的字节流。TCp不在字节流中插入记录标识符。我们将这称为字节流服务(bytestreamservice)。如果一方的应用程序先传10字节,又传20字节,再传50字节,连接的另一方将无法了解发方每次发送了多少字节。收方可以分4次接收这80个字节,每次接收20字节。一端将字节流放到TCp连接上,同样的字节流将出现在TCp连接的另一端。
另外,TCp对字节流的内容不作任何解释。TCp不知道传输的数据字节流是二进制数据,还是ASCII字符、EBCDIC字符或者其他类型数据。对字节流的解释由TCp连接双方的应用层解释。
这种对字节流的处理方式与Unix操作系统对文件的处理方式很相似。Unix的内核对一个应用读或写的内容不作任何解释,而是交给应用程序处理。对Unix的内核来说,它无法区分一个二进制文件与一个文本文件。
TCp是因特网中的传输层协议,使用三次握手协议建立连接。当主动方发出SYN连接请求后,等待对方回答SYN,ACK。这种建立连接的方法可以防止产生错误的连接,TCp使用的流量控制协议是可变大小的滑动窗口协议。第一次握手:建立连接时,客户端发送SYN包(SEQ=x)到服务器,并进入SYN_SEND状态,等待服务器确认。第二次握手:服务器收到SYN包,必须确认客户的SYN(ACK=x+1),同时自己也送一个SYN包(SEQ=y),即SYN+ACK包,此时服务器进入SYN_RECV状态。第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ACK=y+1),此包发送完毕,客户端和服务器时入Established状态,完成三次握手。
传输控制协议的工作原理
应用层向TCp层发送用于网间传输的、用8位字节表示的数据流,然后TCp把数据流分割成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传送单元(MTU)的限制)。之后TCp把结果包传给Ip层,由它来通过网络将包传送给接收端实体的TCp层。
TCp为了保证不发生丢包,就给每个字节一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丢失了)将会被重传。TCp用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。
关于传输控制协议,电子元器件资料就介绍完了,您有什么想法可以联系小编。