【计算机网络】TCP传输控制协议——三次握手

文章目录

握手的流程

  1. 一开始,客户端和服务端都处于CLOSE状态,先是服务端监听某个端口,处于LISTEN状态。
  2. 然后客户端主动发起连接SYN,之后处于SYN-SEND状态。
  3. 服务端收到发起的连接,返回SYN,并且ACK客户端的SYN,之后处于SYN-RECV状态。
  4. 客户端收到服务端发送的SYN和ACK之后,发送ACK的ACK,之后处于ESTABLISHED状态,因为它一发一收成功了。
  5. 服务端收到ACK的ACK之后,处于ESTABLISHED状态,因为它也一发一收成功了。

常考考点

  • 为什么是三次握手而不是两次?

答:因为当接收到的包中不止有ack,那么需要回复一个ack,否则会产生超时重传,服务端需要接收到发送ACK的ACK才能建立连接。

  • 为什么是三次握手而不是四次?

答:因为服务端在发送ACK包的同时也可以发送SYN包,原因是这两个标志位在逻辑上不产生冲突。

相关推荐
仍然.3 分钟前
初识计算机网络
网络·计算机网络
小程同学>o<27 分钟前
Linux 应用层开发入门(二十五)| 网络编程
linux·网络·嵌入式软件·嵌入式应用层·应用层开发·linux应用层开发
忡黑梨41 分钟前
eNSP_DHCP配置
c语言·网络·c++·python·算法·网络安全·智能路由器
YaBingSec1 小时前
玄机网络安全靶场:Jackson-databind 反序列化漏洞(CVE-2017-7525)
linux·网络·笔记·安全·web安全
TechWayfarer1 小时前
网络安全溯源实战:78.1%网络攻击来自境外,如何精准定位攻击源
网络·安全·web安全
IpdataCloud1 小时前
远程办公网络安全中,IP查询工具如何保障数据安全?适用场景与落地指南
tcp/ip·web安全·php
ElevenS_it1881 小时前
日志在哪里找?分布式环境下日志采集断裂的5个排查路径
运维·网络·分布式
半壶清水1 小时前
ubuntu中部署开源交换机模拟器bmv2详细步骤
linux·运维·网络·网络协议·tcp/ip·ubuntu
爱吖吖吖a1 小时前
CSMA/CA(载波侦听多路访问/冲突避免)
网络·网络协议
minji...2 小时前
Linux 网络套接字编程(六)TCP的通信是全双工的,自定义协议的定制,序列化和反序列化
linux·运维·服务器·网络·c++