首页 > 其他分享 >图文并茂! TCP的“三次握手”是如何进行的?

图文并茂! TCP的“三次握手”是如何进行的?

时间:2024-06-24 11:03:33浏览次数:3  
标签:图文并茂 握手 SYN TCP 序号 报文 服务端 客户端

对于TCP连接,相信大家都不陌生,这种连接确保了通信双方之间的可靠性和一致性。

无论是在学习计算机网络,还是在面试过程中,TCP都是一个比较常考的知识点,然而这个知识点却很容易被遗忘。为了帮助大家更容易理解和记住该知识点,本文通过图文并茂的形式向大家解释了TCP三次握手的过程。


TCP三次握手的整体过程如下图所示: 

 

1.  一开始,客户端和服务端都处于 CLOSE 状态。先是服务端主动监听某个端口,处于 LISTEN 状态

2.  接着,客户端会随机初始化序号(client_isn),将此序号置于 TCP 首部的「序号」字段中,同时把 SYN 标志位置为 1,表示 SYN 报文。接着把第一个 SYN 报文发送给服务端,表示向服务端发起连接,该报文不包含应用层数据,之后客户端处于 SYN-SENT 状态。 

3.  服务端收到客户端的 SYN 报文后,首先服务端也随机初始化自己的序号(server_isn),将此序号填入 TCP 首部的「序号」字段中,其次把 TCP 首部的「确认应答号」字段填入 client_isn + 1, 接着把 SYN 和 ACK 标志位置为 1。最后把该报文发给客户端,该报文也不包含应用层数据,之后服务端处于 SYN-RCVD 状态。  

4.  客户端收到服务端报文后,还要向服务端回应最后一个应答报文,首先该应答报文 TCP 首部 ACK 标志位置为 1 ,其次「确认应答号」字段填入 server_isn + 1 ,最后把报文发送给服务端,这次报文可以携带客户到服务端的数据,之后客户端处于 ESTABLISHED 状态。 

5.  服务端收到客户端的应答报文后,也进入 ESTABLISHED 状态。


一旦完成三次握手,双方都处于 ESTABLISHED 状态,此时TCP连接就已建立完成,客户端和服务端就可以相互发送数据了。

标签:图文并茂,握手,SYN,TCP,序号,报文,服务端,客户端
From: https://blog.csdn.net/m0_63352294/article/details/139916660

相关文章

  • 在Linux中,如何实时抓取并显示当前系统中tcp 80 端口的网络数据信息?
    在Linux中,实时抓取并显示当前系统中TCP80端口的网络数据信息,可以使用tcpdump这个强大的命令行工具。以下是详细的步骤和命令:打开终端:首先,打开一个具有足够权限的终端窗口。通常,需要使用sudo或以root身份执行tcpdump,因为它需要访问底层网络接口。确定网络接口:使用ifconfig(在......
  • 在Linux中,如何使用 tcpdump 监听主机为 192.168.1.1,tcp 端⼝为 80 的数据,并将将输出结
    在Linux中,要使用tcpdump监听目标为主机IP为192.168.1.1,且TCP端口为80的数据包,并将输出结果保存到名为tcpdump.log的文件中,可以按照以下步骤操作:打开终端:首先,你需要在具有足够权限的用户账户下打开一个终端窗口。通常,root权限是必要的,因为普通用户可能无法监听网络接口的所有流......
  • 58-DOS与DDOS分析(正常TCP会话与SYN Flood攻击、ICMP Flood 攻击、SNMP放大攻击等)
    目录正常TCP会话与SYNFlood攻击1、正常的三次握手过程:2、SYNFlood攻击一、攻击windows系统:二、攻击web网站:拒绝服务攻击工具-Hping3-SynFlood攻击拒绝服务攻击工具--Hping3--ICMPFlood攻击 sockstress攻击Sockstress防范 DNS放大攻击产生大流量的攻......
  • TCP与UDP_三次握手_四次挥手
    TCPvsUDPTCP数据具体可以通过CiscoPacketTracer工具查看:UDP数据三次握手、四次挥手为什么是3/4次?这牵扯到单工、双工通信的问题TCP建立连接:表白TCP释放连接:分手TCP—建立连接—三次握手解释:首先,启动服务器,让服务器进入监听状态(监听客户端的连接请......
  • docker拉取镜像失败error pulling image configuration: download failed after attem
    最近很多朋友遇到docker拉取镜像失败的问题因为一些网络问题,无法访问docker官方镜像仓库,我们可以通过设置阿里云镜像加速器的方式解决该问题。解决方法:1.访问阿里云官网,并登录https://www.aliyun.com/2.搜索容器镜像服务3.点击立即开通4.根据提示免费开通个人版,开通......
  • ascp: Failed to open TCP connection for SSH, exiting. Session Stop (Error: Fail
     01、[liujiaxin01@PC1test2]$ascp-i~/.aspera/connect/etc/asperaweb_id_dsa.openssh-l100M-T-P33001fasp-g1k@fasp.1000genomes.ebi.ac.uk:vol1/ftp/release/20100804/ALL.2of4interp.20100804.genotypes.vcf.gz.ascp:FailedtoopenTCPconnectionforSSH,......
  • 【Linux】TCP协议
    目录TCP协议TCP协议段格式确认应答机制序号与确认序号超时重传六个标记位连接管理机制三次握手四次挥手窗口大小流量控制滑动窗口拥塞控制延迟应答捎带应答面向字节流粘包TCP异常情况TCP小结基于TCP应用层协议TCP与UDP的对比用UDP实现可靠传输理解listen的第二个参数......
  • 计算机网络:TCP 的拥塞控制的一般原理
    ✨✨欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨......
  • 面试题(TCP/IP协议)详解三次握手
    TCP/IP协议中的三次握手我们首先来了解一下TCPTCP(TransmissionControlProtocol,传输控制协议)是一个面向连接的、可靠的、基于字节流的传输层通信协议。以下是TCP的一些主要特点:面向连接:在数据传输之前,TCP必须先建立连接(三次握手),在数据传输结束后,还要终止这个连接(......
  • Tcp粘包半包问题(现实场景举例帮助理解)
    理解粘包问题时,我们可以将这个过程想象得更加生活化一些。想象你正在经营一家水果拼装店,你的任务是接收来自不同客户的水果订单,并将这些水果按照订单要求重新组装起来。每份订单中的水果都事先被切成了便于快递的“水果片”,并通过同一条传送带送过来。现在,你收到了两份订单,一......