家电维修班,手机维修班,电脑维修班,电工班,焊工班,液晶电视维修班,电动工具维修班、电动车摩托车维修班、网络营销培训、网站设计培训、淘宝培训---全国招生 家电维修班,手机维修班,电脑维修班,电工班,焊工班,液晶电视维修班,电动工具维修班、电动车摩托车维修班、网络营销培训、网站设计培训、淘宝培训---全国招生
湖南阳光电子电脑技术学校_面向全国招生! 咨询电话:0731-85579057,0731-85569651. 全国免费电话:0731-85579057
当前位置:电脑硬件维修培训网文章资讯网络技术

TCP-传输控制协议

作者:佚名  来源:本站整理  发布时间:2012-01-18-23:26:01

传输把持协议(Transmission Control Protocol,TCP)是一种面向连接的、可靠的、基于字节流的运输层通信协议,通常由IETF的RFC 793阐明。在简化的电脑网络OSI模型中,它完成运输层所指定的功效。

在因特网协议族中,TCP层是位于IP层之上,利用层之下的中间层。不同主机的利用层之间经常需要可靠的、像管道一样的连接,但是IP层不供给这样的流机制,而是供给不可靠的包交换。

利用层向TCP层发送用于网间传输的、用8位字节表现的数据流,然后TCP把数据流分割成适当长度的报文段(通常受该电脑连接的网络的数据链路层的最大传送单元(MTU)的限制)。之后TCP把成果包传给IP层,由它来通过网络将包传送给吸收端实体的TCP层。TCP为了保证不产生丢包,就给每个字节一个序号,同时序号也保证了传送到吸收端实体的包的按序吸收。然后吸收端实体对已成功收到的字节发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丧失了)将会被重传。TCP用一个校验和函数来检验数据是否有弊病;在发送和吸收时都要计算校验和。

TCP通路的建立和终结
TCP连接包含三个状态:连接建立、数据传送和连接终止。TCP用三路握手过程建立一个连接,用四路握手过程建立来拆除一个连接。在连接建立过程中,很多参数要被初始化,例如序号被初始化以保证按序传输和连接的强健性。


连接建立(三路握手)
一对终端同时初始化一个它们之间的连接是可能的。但通常是由一端打开一个套接字(socket)然后监听来自另一方的连接,这就是通常所指的被动打开。被动打开的一端就是服务器端。而客户端通过向服务器端发送一个SYN来建立一个主动打开,作为三路握手的一部分。服务器端应当为一个合法的SYN回送一个SYN/ACK。最后,客户端再发送一个ACK。这样就完成了三路握手并进入了连接建立状态。


数据传输
在TCP的数据传送状态,很多重要的机制保证了TCP的可靠性和强健性。它们包含:利用序号对收到的TCP报文段进行排序以及检测重复的数据;利用校验和来检测报文段的弊病;利用确认和计时器来检测和纠正丢包或延时。

在TCP的连接建立状态,两个主机的TCP层间要交换初始序号 (ISN)。这些序号用于标识字节流中的数据,并且还是对利用层的数据字节进行记数的整数。通常在每个TCP报文段中都有一对序号和确认号。TCP报文发送者认为自己的字节编号为序号,而认为吸收者的字节编号为确认号。TCP报文的吸收者为了确保可靠性,在吸收到必定数量的持续字节流后才发送确认。这是对TCP的一种扩大,通常称为选择确认(SACK)。选择确认使得TCP吸收者可以对乱序达到的数据块进行确认。

通过利用序号和确认号,TCP层可以把收到的报文段中的字节按正确的次序交付给利用层。序号是32位的无符号数,在它增大到232-1时便会回绕到0。对于ISN的选择是TCP中要害的一个操作,它可以确保强健性和安全性。

TCP的16位的校验和的计算和检验过程如下:发送者将TCP报文段的头部和数据部分的反码和计算出来,再对其求反码,就得到了校验和,然后将成果装入报文中传输。(这里用反码和的原因是这种方法的循环进位使校验和可以在16位、32位、64位等情况下的计算成果在叠加后雷同)吸收者在收到报文后再按雷同的算法计算一次校验和。这里利用的反码使得吸收者不用再将校验和字段保存起来后清零,而可以直接将报文段连同校验和一起计算。如果计算成果是-0,那么就表现了报文的完整性和正确性。

注意:TCP校验和也包含了96位的伪头部,其中有源地址、目标地址、协议以及TCP的长度。这可以避免报文被弊病地路由。

按现在的标准,TCP的校验和是一个比较软弱的校验。具有高出错率的数据链路层需要额外的连接弊病纠正和探测能力。如果TCP是在今天被设计,它很可能有一个32位的CRC校验来纠错,而不是利用校验和。但是通过在第二层利用通常的CRC或更完整一点的校验可以部分地补充这种软弱的校验。第二层是在TCP层和IP层之下的,比如PPP或以太网,它们利用了这些校验。但是这也并不意味着TCP的16位校验和是冗余的,对于因特网传输的视察表明在受CRC掩护的各跳之间,软件和硬件的弊病通常也会在报文中引入弊病,而端到端的TCP校验能够捕捉到很多的这种弊病。这就是利用中的端到端原则。

数据发送者之间用对吸收数据的确认或不予确认来显式的表现TCP发送者和吸收者之间的网络状态。再加上计时器,TCP发送者和吸收者就可以转变数据的流动情况。这就是通常所指的流量把持,拥塞把持/或拥塞避免。TCP利用大批的机制来同时获得强健性和高可靠性。这些机制包含:滑动窗口、慢启动算法、拥塞避免算法、快速重启和快速恢复算法等等。对于TCP的可靠的丢包处理、弊病最小化、拥塞管理以及高速运行环境等机制的优化的研究和标准制定,正在进行之中。


连接终止
连接终止状态利用了四路握手过程,在这个过程中每个终端的连接都能独立地被终止。因此,一个范例的拆接过程需要每个终端都供给一对FIN和ACK。

TCP的端口
TCP利用了端口号的概念来标识发送方和吸收方的利用层。对每个TCP连接的一端都有一个相干的16位的无符号端口号分配给它们。端口被分为三类:众所周知的、注册的和动态/私有的。众所周知的端口号是由因特网赋号管理局(IANA)来分配的,并且通常被用于系统一级或根过程。众所周知的利用程序作为服务器程序来运行,并被动地侦听经常利用这些端口的连接。例如:FTP、TELNET、SMTP、HTTP等。注册的端口号通常被用来作为终端用户连接服务器时短暂地利用的源端口号,但它们也可以用来标识已被第三方注册了的、被命名的服务。动态/私有的端口号在任何特定的TCP连接外不具有任何意义。可能的、被正式承认的端口号有65535个。

TCP的发展过程
TCP是一个复杂的但同时又是在发展之中的协议。尽管许多重要的改良被提出和履行,发表于1981年的RFC793中阐明的TCP的许多基础操作还是未作多大修正。RFC1122:《因特网对主机的恳求》阐明了许多TCP协议的实现恳求。RFC2581:《TCP的拥塞把持》是一篇近年来关于TCP的很重要的RFC,描写了更新后的避免过度拥塞的算法。写于2001年的RFC3168描写了对明显拥塞的报告,这是一种拥塞避免的信号量机制。在21世纪早期,在所有因特网的数据包中,通常有大约95%的包利用了TCP协议。常见的利用TCP的利用层有HTTP/HTTPS(万维网协议),SMTP/POP3/IMAP(电子邮件协议)以及FTP(文件传输协议)。这些协议在今天被广泛地利用,这证明了它们的原作者的创造是精彩的。

最近,一个新协议已经被加州理工学院的科研人员开发出来,命名为FAST TCP(基于快速运动队列管理的规模可变的传输把持协议)。它利用排队延迟作为拥塞把持信号;但是因为端到端的延迟通常不仅仅包含排队延迟,所以FAST TCP (或更一般地,所有基于排队延迟的算法) 在实际互联网中的能否工作仍然是一个没有解决的问题。

对TCP的选用情况
TCP并不是对所有的利用都合适,一些新的带有一些内在的软弱性的运输层协议也被设计出来。比如,实时利用并不需要甚至无法忍耐TCP的可靠传输机制。在这种类型的利用中,通常容许一些丢包、出错或拥塞,而不是去校订它们。例如通常不利用TCP的利用有:实时流多媒体(如因特网广播)、实时多媒体播放器和游戏、IP电话(VoIP)等等。任何不是很需要可靠性或者是想将功效减到最少的利用可以避免利用TCP。在很多情况下,当只需要多路复用利用服务时,用户数据报协议(UDP)可以代替TCP为利用供给服务。

精品课程推荐

学生真情感言

关于本站 | 网站帮助 | 管理网站 | | 友情连接 | 百度收录
报名电话:0731-85579057,0731-85569651, 咨询QQ:361928696,873219118,250539810.
校址:湖南省长沙市雨花区车站南路红花坡路口(红花坡路176号)“智慧桥幼儿园”旁边 | 来校路线:长沙火车站售票处后坪乘135路至"鼓风站"下车,回走100米即到.
电工培训学校 电动车维修学校 摩托车维修学校 摩托车维修培训 手机维修培训 家电维修培训 电脑维修培训 电动工具维修培训 液晶电视维修培训 安防监控培训 空调维修培训 网络营销培训 网站设计培训 淘宝网店培训 电器维修培训 家电维修学校 电工培训 焊工培训 电工学校
点击这里给我发消息
点击这里给我发消息
点击这里给我发消息
阳光电子电脑学校