TCP三次握手和四次挥手的过程
TCP三次握手过程
C->SYN->S
S->SYN/ACK->C
C->ACK->S
三次握手的原因:三次握手可以防止失效的连接请求报文突然又传输到服务器导致服务器资源的浪费。
TCP四次挥手过程
C->FIN->S
S->ACK->C
S->FIN->C
C->ACK->S
四次挥手的原因:由于连接的关闭控制权在应用层,所以被动关闭的乙方在接受到FIN包是,TCP协议栈会直接发送一个ACK确认包,优先关闭一端的通信。然后通知应用层,由应用层决定什么时候发送FIN包。应用层可以使用系统调用read=0来判断对端是否关闭连接。