简述TCP协议三次握手的过程

190 阅读1分钟

第一次握手:主机A向主机B发送一个SYN包,并进入SYN_SEND状态,表示主机A申请发出一次连接,并等待B的确认

第二次握手:主机B接收到SYN包后要回应主机A一个确认信息 —— ACK包,表示同意建立此连接,同时主机B还要向主机A发出一个SYN包,表示主机B也有建立连接的请求。此时主机B进入SYN_RECV状态。

第三次握手:主机A接收到主机B发送过来的SYN包和ACK包后还要向主机B发一个ACK包。A和B进入ESTABLISHED状态,包发送完毕后,三次握手完成。

三次握手保证了两个流程:

(1)主机A向主机B发出建立连接请求 SYN,并得到了主机B的回应 ACK;

(2)主机B向主机A发出建立连接请求SYN, 并得到了主机A的回应ACK。这样,A、B双方连接的建立是确切可靠的,保证了主机A和主机B都知道对方要建立这个连接,并都予以了对方回应。