浅谈http中tcp握手原理(简单易懂)

不做铺垫,进入正题

http建立连接,Tcp经过了3次握手


浅谈http中tcp握手原理(简单易懂)_第1张图片

需要了解:

在TCP层,有个FLAGS字段,有以下几个标识:SYN, FIN, ACK, PSH, RST, URG.

本次握手主要用到 SYN,ACK两个标识

SYN表示建立连接,ACK表示响应,seq表示随机数

ACK是可以与SYN同时使用的,比如SYN和ACK可能同时为1,它表示的就是建立连接之后的响应,如果只是单个的一个SYN,它表示的只是建立连接。

结合图片:

第一次握手:1代表客户端发送服务端的数据包,包括随机数seq,请求建立连接syn标识(syn=1)

第二次握手:2代表服务端通过syn标识知道有人需要建立连接,所以发送数据包,数据包包括ack=1,ack numbe=客户端的随机数seq+1,syn=1,以及服务端自己随机产生的随机数seq,

第三次握手:3代表客户端接受到2中的数据包,检查ack numbe是否正确,即第一次发送的随机数seq+1,以及位码ack是否为1,若正确,客户端会再发送ack number=(服务端的seq+1),ack=1,服务端收到后确认seq值与ack=1则连接建立成功。

第一次写文章,小小的整理难免有疏忽,见谅

你可能感兴趣的:(浅谈http中tcp握手原理(简单易懂))