当前位置:文档之家› TCP协议简述

TCP协议简述

TCP协议简述

TCP(传输控制协议)提供的了一种可靠的数据流服务,采用“带重传的确认”技术来实现传输的可靠性。

一、TCP协议中涉及了诸多规则来保障通信链路的可靠性,主要有以下几点:

1、面向连接。

2、将应用层的数据分割成最适合发送的数据块。

3、重传机制。规定时间内未收到确认包,重传数据。

4、对首部和数据进行校验。

5、对收到的数据进行排序,然后交给应用层,丢弃重复的数据。

6、还提供流量控制。

二、TCP包的首部

1、16bit源端口号和16bit目的端口号用于寻找发送端和接收端的进程,通过端口号和IP地址,可以唯一确定一个TCP连接。

2、序号是用来标识从TCP发端向TCP接收端发送的数据序号。

3、确认序号包含发送确认的一端所期望收到的下一个序号,因此,确认序号是上次已经成功收到数据序号加1.

4、首部长度指出了TCP首部的长度值,若不存在选项,则这个值为20字节。

5、标志位(flag)

标志位为1时,表示相对应的位有效。

URG: 紧急指针有效;ACK:确认序号有效;

PSH:接收方应尽快将这个报文段交给应用层;

RST:重建连接; SYN:同步序号用来发起一个连接;

FIN:发端完成发送任务(主动关闭);

三、连接的建立与释放

1、连接建立

建立一个TCP连接,必须经历三次握手过程,其中发送第一个SYN的一端将执行主动打开,接收这个SYN并发回下一个SYN的另一端执行被动打开。

2、连接终止

要释放一个TCP连接,需要通过四次握手过程,这是由TCP的半关闭特性造成的,因为TCP连接时全双工的,因此,需要TCP两端要单独执行关闭。值得注意的是,主动关闭的一端在发送FIN之后,依然还能正常接收对方的数据,只是通知对方它已经没有数据需要发送了。同理,被动关闭的一端在收到FIN之后,仍然可以发送数据,直到它自身同样发出FIN之后,才停止发送数据。

相关主题