TCP三次握手
SYN --- 同步序列号请求 fin断开连接
sequence number --- 序列号 序列号是随机的
ctl --- 控制位
ACK --- 确认 ack=seq+1
第一次握手 ,是客户端向服务器端发送seq序列号请求建立连接,然后服务器端接收到客户端的SYN同步序列号请求;
第二次握手,是服务端向客户端通知,我已经知道了你建立关系的请求,并且确定建立关系,向客户端发送ack(确认);
第三次握手,是客户端向服务器发送的确认建立连接,发送ack报文以及ack number,即建立连接,处于连接状态;
要验证是否建立了连接关系可以用ack=seq+1,来确认ack是否对应的上
四次挥手
第一次挥手:是客户端向服务器发送FIN,主动请求断开连接,配上序列号以及确认号(及seq number ,ack number),这时客户端任然可以接收到服务器端的数据报文
第二次挥手 是服务器端收到客户端的断开连接的请求之后,向客户端发送ack报文,表示服务器端告知客户端‘我知道了你的断开连接的请求’。
第三次挥手,是服务器端向客户端发送完所有的数据包文之后,向客户端发送FIN,告知客户端,我准许你断开连接,保证了数据传输的完整性和准确性;
第四次挥手,是客户端即使发送ack确认断开连接的确认,这时服务器端就可以直接断开,进入可用状态
可靠机制详解
tcp保障可靠的机制:确认 重传 排序 流控
tcp相比于udp而言更加可靠,原因在于tcp保障可靠的机制中多了 确认和重传两部分
确认机制:当TCP收到来自TCP连接另一端的数据后,将给对端发送一个确认信息,这个确认信息并不是立即发送的,通常情况下会延迟几分之一秒。
重传机制:当TCP发出一个报文段后,会对该报文段启动一个定时器,等待目标端确认收到这个报文段。若在计时内收不到确认信息,就会重新发送这个报文段。



