读《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