TCP协议三次握手的个人理解
TCP协议的核心是可靠的数据传输,而保证传输是可靠的那就要求客户端和服务端双方都具备正常的收发功能。
基于此,第一次握手的时候,当服务端接收到这个SYN请求时,表明客户端要进行TCP连接,同步序列号seq=x,那么从服务端的角度来看:
1、客户端的发送能力是正常的;
服务端接收到请求后,那么也要告诉客户端,自己的收发功能也是正常的,同时也想知道客户端的接收能力是否是正常的,于是有了第二次握手:同步序列号seq=y,同步确认ack=x+1。
当客户端接收到这个请求的时候,从客户端的角度来说:
2、接收到了seq=y,证明服务端的发送能力是正常的;
3、接收到了ack=x+1,证明服务端确确实实可靠地拿到了自己发送的请求seq=x,并且在这个基础上处理后返回给自己,服务端的接收能力是正常的;
第三次握手自然就是客户端拿到了服务端给的seq=y,并加工成ack=y+1返回给服务端,从服务端的角度来说:
4、接收到了ack=y+1,证明客户端的接收能力是正常的。
根据以上4点,才可以确认双方具备可靠数据传输的能力。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!