传输控制协议(Transmission Control Protocol, TCP)是一种连接导向的、可靠的、基于位元组流的运输层(Transport layer)通讯协议,由IETF的RFC 793说明(specified)。在简化的电脑网路OSI模型中,它完成第四层传输层所指定的功能,UDP是同一层内另一个重要的传输协议。
在网际网路协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连线,但是IP层不提供这样的流机制,而是提供不可靠的包交换。
应用层向TCP层发送用于网间传输的、用8位元位元组表示的资料流,然后TCP把资料流分割成适当长度的报文段(通常受该电脑连线的网路的资料链路层的最大传送单元(MTU)的限制)。之后TCP把结果包传给IP层,由它来透过网路将包传送给接收端实体的TCP层。TCP为了保证不发生丢包,就给每个位元组一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的位元组发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的资料(假设遗失了)将会被重传。TCP 用一个校验和(Checksum)函式来检验资料是否有错误;在发送和接收时都要计算校验和。
TCP连线包括三个状态:连线建立、资料传送和连线终止。
蕴藏许多助人的知识与智慧。
关注蓝眼知识学院