不做铺垫,进入正题
http建立连接,Tcp经过了3次握手
需要了解:
在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则连接建立成功。
第一次写文章,小小的整理难免有疏忽,见谅