面试总结:TCP三次握手、四次挥手
2023-09-14 09:07:08 时间
TCP三次握手、四次挥手
参考:
1、百度百科
2、http://www.jellythink.com/archives/705
1、三次握手
三次握手的过程如下:
- 客户端A 发送SYN(seq = x)报文给服务器B,然后进入SYN_SENT状态;
- B收到SYN报文,回应一个SYN(seq = y) ACK (ACK = x + 1)报文,进入SYN_RCVD状态;
- A收到SYN报文后,回应一个ACK(ACK = y + 1),进入ESTABLISHED状态;B收到ACK报文后,进入ESTABLISHED状态
三次握手后,A和B成功地建立了连接,可以开始传输数据了~
2、四次挥手
四次挥手的过程如下:
- 客户端A上的某个进程,主动关闭连接,发送FIN(seq = u)报文给B,然后进入FIN_WAIT_1状态;
- B收到FIN报文,回应一个ACK (ACK = u + 1)报文,进入CLOSED_WAIT状态;A收到FIN报文,进入FIN_WAIT_2状态;
- B向A发送FIN(seq = v)报文,进入LAST_ACK状态;
- A收到FIN报文后,向B发送ACK(ACK = v + 1)报文,进入TIME_WAIT状态
四次挥手后,A和B成功地断开了连接~
相关文章
- 面试突击68:为什么 TCP 需要 3 次握手?
- 一个工业级、跨平台、轻量级的 tcp 网络服务框架:gevent
- AWS re:Invent:SRD协议将取代TCP?
- TCP 和 UDP 有什么区别?
- TCP 技术白皮书
- TCP和UDP协议
- 30张图说清楚 TCP 协议
- 【计算机网络】传输层 : 传输层概述 ( 设备层级 | 传输层功能 | TCP 协议 | UDP 协议 | 复用与分用 | 端口号 | 套接字 )
- MySQL Error number: MY-010264; Symbol: ER_CONN_TCP_RESOLVE_INFO; SQLSTATE: HY000 报错 故障修复 远程处理
- Swoole学习(二)Swoole之TCP服务器的创建详解程序员
- TCP/IP滑动窗口详解编程语言
- Linux环境下建立TCP连接的指南(linux建立tcp链接)
- 探索Linux下TCP编程的无限可能(linux的tcp编程)
- 调整Linux中TCP超时参数
- Linux 下 TCP/IP 转发功能实现(tcp转发linux)
- MySQL远程连接的TCP协议研究(mysql协议tcp)
- linux下使用TCP命令掌握网络礼仪(linux命令tcp)
- /ipLinux TCP/IP网络编程:掌握网络基础知识(linux网络编程tcp)
- 此应用程序可显示和控制通过USB(或通过TCP / IP)连接的Android设备
- TCP/IP 教程
- 深入理解Linux下的TCP协议栈(linux tcp协议栈)
- C语言实现TCP连接MySQL的方法(c tcp连接mysql)
- 深入探讨Oracle中的TCP协议的特点(oracle tcp格式)