TCP基础及TCP的连接状态

TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议,在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能。TCP(Transmission Control Protocol) 即传输控制协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。它是由ARPANET网的研究机构发展起来的。


一、TCP的连接状态

         TCP的连接状态分为12种:ESTABLISHED、SYS_SENT、SYN_RECV、FIN_WAIT1、FIN_WAIT2、TIME_WAIT、CLOSED、CLOSE_WAIT、LAST_ACK、LISTEN、CLOSEING、UNKNOWN。

  很多地方都没把第12种加上去,其实它也属于TCP的连接状态。



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

1.首先Client端会向Server发送一个带有syn标志的请求,然后等待Server的响应;

2.Server接到Client端的请求后立即回应Client端带有syn·ack标志的回应包(netfilter中的state已记录ESTABLSHED)。

3.Client收到回应后,再向Server发出一个带有 ack标志的包。此时建立完成,可进行正常通信。此时连接状态成为TCP的ESTABLSHED。



三、TCP终止连接

1.Client端先向Server发出带有fin标志的结束请求封包。

2.Server端接到请求后回应Client端带有ack的回应封包,紧接着再发出带有fin的结束请求封包。

3.Client端收到请求后也回应带有ack的回应封包。至此TCP连接中断。



你可能感兴趣的:(tcp)