关于TCP三次握手和四次挥手

TCP连接的建立需要经过三次握手,包括客户端的SYN请求、服务端的SYN与ACK回复以及客户端的ACK确认。断开连接则通过四次挥手完成,涉及客户端的FIN请求、服务端的ACK回复、服务端的FIN请求和客户端的最终ACK确认。TIME_WAIT状态的存在是为了确保网络中旧的报文段消失,避免影响新连接。若握手过程中出现异常,双方会重新发送报文以确保连接的可靠性。
摘要由CSDN通过智能技术生成

正常情况下,TCP建立连接需要进行三次握手,断开连接需要四次挥手:

1. 三次握手建立连接:

建立连接请求都是由客户端主动向服务端发起

连接前准备:

服务端(在客户端之前启动):

  1. 创建套接字(Socket结构体 sip(地址) sport(端口信息))

  2. 为套接字绑定地址信息

  3. 开始监听(LISTEN状态)

客户端:

  1. 创建套接字(Socket结构体 sip(地址) sport(端口信息))

  2. 为套接字绑定地址信息

  3. 先服务端发送连接请求

建立连接过程(三次握手):

  1. 客户端向服务端发送SYN请求(连接请求,同步报文段)

    这一动作完成之后客户端处于SYN_SEND状态,等待服务端发送SYN和ACK

  2. 服务端收到SYN请求后,创建新的套接字专门用来处理这一个连接(将该连接放入内核等待队列中),再向客户端发送SYN请求和ACK(确认报文)回复

    这一动作完成之后服务端处于SYN_RCVD状态,等待客户端下一次回复的ACK

  3. 客户端收到服务端回复的ACK之后,确认对方具有收发数据能力,再次向服务端回复ACK

    这一动作完成之后客户端处于ESTABLISHED(就绪状态),此时客户端已准备

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值