读《TCP/IP详解》:TCP

TCP(Transmission Control Protocol,传输控制协议),位于传输层,提供一种面向连接、可靠的字节流服务。

字节流服务(Byte Stream Service)是指,为了方便传输,将大 块数据分割成以报文段(segment)为单位的数据包进行管理。

可靠的传输服务是指,能够把数据准确可靠地传给对方。

面向连接

两个使用TCP的应用(C/S ),彼此交换数据之前必须建立一个TCP连接。

1、建立TCP连接(三次握手)

(1)请求端(C)发送一个SYN段表明准备连接服务器(S)端口,以及初始序号(ISN,图中的100,本人随意取得值),即报文段1。

(2)服务器发回包含服务器的初始序号的SYN段(报文段2)作为应答。同时,将确认序号设置为请求端的ISN加1,以对请求端的SYN段进行确认。一个SYN占用一个序号。

(3)请求端将确认序号设置为服务器的ISN加1,以对服务器的SYN段进行确认(报文段3)。连接建立。

 

2、终止TCP连接(四次挥手)

(1)客户端主动发起终止连接请求(FIN),即报文段4,用来关闭客户端到服务端的数据传送。

(2)服务端收到这个FIN,发回一个ACK,确认序号为收到的序号加1,即报文段5。同时,TCP服务器向应用程序发送一个文件结束符(EOF)。

(3)服务器关闭连接,发送一个FIN给客户端,即报文6。

(4)客户端收到服务端发送的FIN,需要发送一个确认,将确认序号设置为收到的序号加1,即报文7。到这里,两个方向的连接都已关闭。

 

 

 

原文地址:https://www.cnblogs.com/mustard22/p/11555408.html