1、直接从TCP的三次握手开始说起
三次握手就是客户与服务器建立连接的过程
- 客户向服务器发送SYN(SEQ=x)报文,然后就会进入SYN_SEND状态
- 服务器收到SYN报文之后,回应一个SYN(SEQ=y)ACK(ACK=x+1)报文,然后就会进入SYN_RECV状态
- 客户收到服务器的SYN报文,回应一个ACK(ACK=y+1)报文,然后就会进入Established状态
图片来自百度百科
举例时间到!我们把客户端比作男生,服务器比作女生
第一次握手就像是男生对女生的告白:我喜欢你我们在一起吧。(之后,男孩就要等待女孩的回复,因为要确定女孩听到他说的话)
第二次握手则是女生的回应:好呀好呀。(之后,女孩也要等待,因为要确定男孩听到她的答复)
第三次握手就是男生的回应:真好,我们去吃火锅吧~。(此时,两人都确定对方收到了消息,关系成功建立)
也就是客户端和服务器数据的传输
接下来,我们抓包分析一下三次握手建立的过程