TCP概述

TCP连接过程包括三次握手:客户端发送SYN报文,服务端回应ACK+SYN,客户端再发送ACK确认。三次握手确保双方的发送和接收能力正常。连接建立后,半连接队列和全连接队列管理连接状态。SYN攻击通过伪造IP导致服务器资源耗尽。防御措施包括SYN Cache、SYN Cookie和SYN Proxy。断开连接时,需要四次挥手:客户端发送FIN,服务端ACK并发送FIN,客户端ACK服务端的FIN,最后客户端等待一段时间后关闭连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


TCP是一种面向连接的、基于字节流的传输层通信协议。TCP协议采用三次握手建立一个连接,采用四次挥手断开连接。TCP特点:保证可靠性,同时尽可能提高性能

建立连接的过程

三次握手

在这里插入图片描述

第一次

客户端给服务端发一个 SYN 报文,并指明自己的初始化序列号 seq = x。此时客户端处于 SYN_SENT(同步已发送) 状态。TCP规定,SYN报文段(SYN=1的报文段)不能携带数据,但需要消耗掉一个序列号。

第二次

服务器收到客户端的 SYN 报文之后,如果同意连接,则发出确认 ACK 报文。确认序列号是 ack = x+1 ,并且也要指明自己的初始化序列号 seq = y 。表示自己已经收到了客户端的 SYN,此时服务器处于 SYN_RCVD(同步收到) 的状态。这个报文也不能携带数据,但是同样要消耗一个序列号。

第三次:

客户端收到服务端的确认后,还会向服务器发出确认 ACK 报文。确认序列号为第二次握手服务器的序列号 y+1 ,同时自己的序列号是 x+1 。发送完成后,客户端进入**ESTABLISHED(已建立连接)状态。当服务器收到客户端的确认后也进入ESTABLISHED(已建立连接)**状态,双方就可以开始通信了。

为什么需要三次

  • 第一次可以知道客户端的发送能力、服务端的接收能力是正常的。
  • 第二次可以知道服务端的接收、发送能力,客户端的接收、发送能力是正常的。不过此时服务器并不能确认客户端的接收能力是
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值