三次握手,四次挥手简单介绍
一、三次握手
建立连接的过程:
(1)调用 socket,创建文件描述符,调用 connect,向服务器发起连接请求,connect 会发出 SYN 段并阻塞等待服务器应答
(2)服务器收到客户端的 SYN,会应答一个 SYN+ACK 段表示同意建立连接
(3)客户端收到 SYN+ACK 后会从 connect() 返回,同时应答一个ACK段
这个建立连接的过程,通常称为三次握手
二、四次挥手
(1)客户端没有更多请求, 调用 close() 关闭连接,向服务器发送 FIN 段
(2)服务器收到 FIN 后, 会回应一个 ACK,同时 read 会返回 0 连接
(3)read 返回之后,服务器知道客户端关闭连接,调用 close() 关闭连接,向客户端发送一个 FIN
(4)客户端收到 FIN,再返回一个 ACK 给服务器
这个断开连接的过程,通常称为四次挥手