一、传输控制协议(TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议。
1 面向连接意味着两个使用TCP的应用(通常是一个客户端和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。
2 TCP通过下列方式来提供可靠性:
1)应用数据被分割程TCP认为合适的数据块。TCP传递给IP的信息单位称为报文段。
2)当TCP发出一个段后,它启动一个计时器,等待目的端确认这个报文段。如果不能及时收到确认,将重新发送这个报文段。
3)当TCP收到发自一个TCP连接另一端的数据,它将发送一个确认。这个确认将推迟几分之一秒。
4)TCP将保持它首部以及数据的检验和。如果检验和接收端将丢弃这个报文段而且不确认收到此报文段。
5)TCP提供流量控制。
3 TCP对字节流内容不作任何解释,对字节流的解释交由应用层。
二、TCP首部
一个TCP首部的长度为20字节。
一个TCP连接由一个包含源ip,源端口,目的ip,目的端口的四元组唯一表示。序号用来标示从发送端到接收端的数据字节流,它表示在一个报文段的首字节。确认序号为上次成功接收的数据字节序号加一。接收窗口表示用来完成TCP的流量控制,表明接收端还能接收的字节。检验和覆盖了整个TCP报文段:包括首部和数据,由发端计算和存储,由收端进行验证。