首页 > 其他分享 >【计算机网络】TCP三次握手和四次挥手

【计算机网络】TCP三次握手和四次挥手

时间:2024-07-24 16:57:19浏览次数:16  
标签:发送 ACK 握手 TCP 计算机网络 四次 接收 服务端 客户端

  • 客户端–发送带有 SYN 标志的数据包–一次握手–服务端

  • 服务端–发送带有 SYN/ACK 标志的数据包–二次握手–客户端

  • 客户端–发送带有带有 ACK 标志的数据包–三次握手–服务端

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

在不可靠的网络中,可能会出现包传输延迟变化大,存在重传的报文段、存在保温重排序等现象,三次握手可以防止因为已经失效的请求报文突然又传到服务器引起错误。

三次握手的目的是建立可靠的通信信道,说到通讯,简单来说就是数据的发送与接收,而三次握手最主要的目的就是双方确认自己与对方的发送与接收是正常的

第一次握手:客户端什么都不能确认;服务端确认了对方发送正常,自己接收正常

第二次握手:客户端确认了:自己发送、接收正常,对方发送、接收正常;服务端确认了:对方发送正常,自己接收正常

第三次握手:客户端确认了:自己发送、接收正常,对方发送、接收正常;服务端确认了:自己发送、接收正常,对方发送、接收正常

所以三次握手就能确认双发收发功能都正常,缺一不可。

第2次握手传回了ACK,为什么还要传回SYN?

接收端传回发送端所发送的ACK是为了告诉客户端,我接收到的信息确实就是你所发送的信号了,这表明从客户端到服务端的通信是正常的。而回传SYN则是为了建立并确认从服务端到客户端的通信。

为什么要四次挥手?

客户端和服务端都可以发起关闭连接请求,此时需要四次挥手来进行连接关闭。这里以客户端主动发起连接关闭请求:

第一次挥手:他需要向服务端发起FIn包表示要关闭连接,自己进入终止等待1状态

第二次挥手:服务端收到FIN包发送一个ACK包,表示资金进入关闭等待状态,客户端进入终止等待2状态。服务端此时还可以发送未发送的数据,客户端还可以接受数据。

第三次挥手:待上述服务端发送完数据后,发送一个FIN包,进入最后确认状态

第四次挥手:客户端收到FIN包后,回复ACK包,进入超时等待状态,经过超时时间后关闭连接。而服务端收到ACK后,立即关闭连接。

为什么客户端需要等待超时时间?为了保证接收端已收到ACK包。假设客户端发出ACK包后就释放连接,万一ACK包在网络上丢失,服务端会停留在最后确认状态。而等待时间内,服务端没有接收到ACK包,会重发FIN包,客户端响应FIN包重发ACK包并刷新超时时间,保证在不可靠的网络中进行可靠的断开连接确认。

标签:发送,ACK,握手,TCP,计算机网络,四次,接收,服务端,客户端
From: https://blog.csdn.net/weixin_61144851/article/details/140663050

相关文章

  • 1.2.3_1 OSI参考模型&TCP/IP模型
    一、术语二、常见网络设备的功能层次    对于OSI模型,主机实现了第17层的全部,集线器实现了第1层,交换机实现了第12层,路由器实现了第1~3层。1、物理层    物理层的任务是实现相邻节点之间比特(0或1)的传输。需要定义电路接口的参数(如:形状、尺寸、引脚数等)。需要......
  • pod的端口拒绝连接:Liveness probe failed:dial tcp ,connect:connection refused
    昨天在生产环境上发版,发现pod一直起不来,一直到崩溃循环结束: 倒数第三行第四行。这个本质上是健康检查不通过导致的,意思其实是,pod启动起来,运行给定的镜像,但是在设定的超时时间过后,K8S去检查pod是否健康的时候,发现18015这个端口不通,拒绝连接。K8S判定pod存在问题。这里为啥是拒......
  • C# 开源类库SimpleTCP
     目录简介使用方法实现客户端实现服务端总结 简介#工作中经常遇到需要实现TCP客户端或服务端的时候,如果每次都自己写会很麻烦且无聊,使用SuperSocket库又太大了。这时候就可以使用SimpleTCP了,当然仅限于C#语言。SimpleTCP是一个简单且非常有用的.NET库,用于处......
  • 计算机网络重点知识
    TCP/IP五层模型OSI将计算机网络体系结构(architecture)划分为以下七层:物理层:在媒介上传输比特流;提供机械的和电气的规约数据链路层:将分组数据封装为帧;在数据链路上实现数据的点到点、或点到多点方式的直接通信;差错检测网络层:定义逻辑地址;实现数据从源到目的地的转......
  • [计算机网络]实验五——交换机与虚拟局域网
    一、实验目的了解QuidwayS系列交换机的基本功能。了解交换机的基本配置和VLAN的划分方法。二、实验环境QuidwayS3900交换机两台, PC机四台, Console线缆一条,网线若干。三、实验过程及结果VLAN介绍:在复杂的网络环境中,为了减少广播域,增加用户的安全性,可以创建VLAN,将多个......
  • [计算机网络]实验七——IPv6隧道实验
    一、实验目的学习安装与使用华为eNSP网络仿真软件理解IPv6overIPv4的原理掌握IPv6overIPv4手工隧道的配置方法掌握OSPF路由的配置方法掌握IPv6静态路由的配置方法二、实验环境 Windows系统、 eNSP网络仿真软件三、实验过程及结果建立三路由拓扑首先使用三个A......
  • 计算机网络基础:1.上网设备与流程、OSI七层模型、TCP/IP五层模型
            你正在经营一家繁忙的餐厅,顾客们点餐并期待着美味的食物。我们可以将网络的各个层次和设备比作餐厅的不同部分。一、上网设备网卡:就像是餐厅的点餐系统,顾客通过它来下单,而厨房通过它来接收订单。上网设备必须有网卡,通常内嵌在设备(餐厅的运营系统)中,分为有......
  • 介绍一下TCP/IP 模型和 OSI 模型的区别
    OSI模型是由国际标准化组织制定的一个用于计算机或通信系统间互联的标准体系,一共有七层,由上而下分别为应用层,表示层,会话层,传输层,网络层,数据链路层和物理层,虽然OSI模型理论上更加全面,但实际上使用更多的主要是TCP/IP模型,它一共有四层,将OSI模型的中的应用层表示层和会......
  • modbus TCP
    目录1.modbus 1.1分类1.2特点2.modbusTCP2.1组成2.2报文头3.寄存器4.功能码4.1功能码代码4.2寄存器操作5.练习练习一练习二1.modbus Modbus通信协议具有多个变种,其中有支持串口,以太网多个版本,其中最著名的是ModbusRTU、ModbusASCII和ModbusTC......
  • TCP协议之三次握手,四次挥手!
    VLSM:可变长子网掩码划分DOS攻击:拒绝服务攻击SYN:DDOS攻击(分布式拒绝服务攻击)私有IP严禁进行子网掩码划分TCP协议:三次握手:第一次握手:Client将标志位SYN置1,随机产生一个值seq=J,并将该数据包发给Server,Client进入SYN-SENT状态,等待Server确认。第二次握手:Server收到数据包......