HTTP TCP 三次握手和四次挥手

🌙
手机阅读
本文目录结构

TCP 三次捂手和四次挥手;

TCP 连接的三次捂手

第一次握手:建立连接时,

客户端发送syn包(syn=j)到服务器,并进入到SYN_SEND状态;等待服务器确认;

第二次捂手:服务器收到 syn 包时;

必须确认客户的SYN包,必须确认客户的SYN(sck=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器 SYN+ACK 包;

向服务器发送确认ACK(ack=k+1),此包发送完毕,客服端和服务器进入ESTABLISHED状态,完成三次握手

TCP 的连接的拆除需要发送四个包,

因此称为四次挥手 (four-way handshake)。

客户端或服务器均可主动发起挥手动作,在 socket 编程中,任何一方执行 close() 操作即可产生挥手操作。

  • (1)客户端 A 发送一个 FIN,用来关闭客户 A 到服务器 B 的数据传送。
  • (2)服务器 B 收到这个 FIN,它发回一个 ACK,确认序号为收到的序号加 1。和 SYN 一样,一个 FIN 将占用一个序号。
  • (3)服务器 B 关闭与客户端 A 的连接,发送一个 FIN 给客户端 A。
  • (4)客户端 A 发回 ACK 报文确认,并将确认序号设置为收到序号加 1。

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了