Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >TCP的三次握手和四次挥手

TCP的三次握手和四次挥手

作者头像
前端老道
发布于 2022-03-28 06:38:42
发布于 2022-03-28 06:38:42
7240
举报
文章被收录于专栏:Vue开发社区Vue开发社区

TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:

位码即tcp标志位,有几种标示:

  • SYN(synchronous建立联机)
  • ACK(acknowledgement 确认)
  • PSH(push传送)
  • FIN(finish结束) RST(reset重置)
  • URG(urgent紧急)
  • Sequence number(顺序号码)
  • Acknowledge number(确认号码)

在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。

  • 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
  • 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
  • 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。完成三次握手,客户端与服务器开始传送数据.

四次挥手:

  • 第一次挥手:客户端A发送一个FIN.用来关闭客户A到服务器B的数据传送
  • 第二次挥手:服务器B收到这个FIN. 它发回一个ACK,确认序号为收到的序号+1。和SYN一样,一个FIN将占用一个序号
  • 第三次挥手:服务器B关闭与客户端A的连接,发送一个FIN给客户端A
  • 第四次挥手:客户端A发回ACK报文确认,并将确认序号设置为序号加1
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端开发社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
TCP三次握手/四次挥手
TCP 连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号并交换 TCP 窗口大小信息。以下步骤概述了通常情况下客户端计算机联系服务器计算机的过程:
阳光岛主
2019/02/19
4840
三次握手和四次挥手
OSI参考模型中的网络层,在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。(TCP在运输层,IP在网络层)
Krry
2018/09/10
5150
三次握手和四次挥手
TCP之三次握手四次挥手
TCP报头中的源端口号和目的端口号同IP数据报中的源IP与目的IP唯一确定一条TCP连接。
程序猿DD
2018/07/31
5170
TCP之三次握手四次挥手
TCP、UDP 的区别,三次握手、四次挥手
|TCP 面向连接(如打电话要先拨号建立连接)|UDP 是无连接的,即发送数据之前不需要建立连接|
Krry
2018/10/19
3.3K0
TCP、UDP 的区别,三次握手、四次挥手
TCP 三次握手和四次挥手是怎么回事
如下图所示,下面的两个机器人通过3次握手,确定了对方能正确接收和发送消息(来源:《图解HTTP》)。
happyJared
2019/06/24
7710
三次握手 && 四次挥手
TCP是一个面向连接的协议。无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。
看、未来
2021/10/09
8520
三次握手 && 四次挥手
TCP/IP三次握手四次挥手
背景 和女朋友异地恋一年多,为了保持感情我提议每天晚上视频聊天一次。 从好上开始,到现在,一年多也算坚持下来了。 问题 有时候聊天的过程中,我的网络或者她的网络可能会不好,视频就会卡住,听不到对方的声音,过一会儿之后才会恢复。 中间双方可能就要不断的确认网络是否恢复,但是有时候会: 她:“你可以听到了吗?” 我:“可以了,你呢?”、 她:“喂喂,你可以听到了吗?” 我:“可以了,我可以听到了,你呢?” 她:“你可以听到了吗?” ..... 这种情况很蛋疼,那么怎样
运维小白
2018/02/06
1K0
TCP/IP三次握手四次挥手
TCP三次握手四次挥手(三国版)
TCP的三次握手和四次挥手不管是我们自己使用还是面试都是需要掌握的,本文先将原理,然后以三国为例讲个小栗子帮助理解。先来一张图:
玖柒的小窝
2021/11/28
4090
TCP三次握手四次挥手(三国版)
tcp协议的三次握手和四次挥手_tcp为什么是四次挥手
在数据传输过程中,ACK和确认序号是非常重要的,应用程序交给TCP协议发送的数据会暂存在TCP层的发送缓冲区中,发出数据包给对方之后,只有收到对方应答的ACK段才知道该数据包确实发到了对方,可以从发送缓冲区中释放掉了,如果因为网络故障丢失了数据包或者丢失了对方发回的ACK段,经过等待超时后TCP协议自动将发送缓冲区中的数据包重发。
全栈程序员站长
2022/11/10
5150
tcp协议的三次握手和四次挥手_tcp为什么是四次挥手
网络通信——TCP “三次握手“、“四次挥手“ 详解
第一次握手: 客户端发送syn包(seq=x)到服务器,并进入SYN_SEND状态,等待服务器确认;
SmallRoll小卷
2023/03/03
5370
网络通信——TCP “三次握手“、“四次挥手“ 详解
TCP三次握手和四次挥手
(1)序号(sequence number):Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。
云计算小黑
2022/12/28
5190
TCP三次握手和四次挥手
TCP 三次握手 和 四次挥手
在聊到网络协议的时候,总是会说到TCP的三次握手和四次挥手,这里也整理记录下学习的整个过程。
艳龙
2021/12/16
5050
TCP 三次握手 和 四次挥手
拜托,不要再问我三次握手和四次挥手了!
三次握手和四次挥手是各个公司常见的考点,也具有一定的水平区分度,也被一些面试官作为热身题。很多小伙伴说这个问题刚开始回答的挺好,但是后面越回答越冒冷汗,最后就歇菜了。
Bug开发工程师
2019/10/11
1.1K0
拜托,不要再问我三次握手和四次挥手了!
TCP 三次握手和四次挥手
所谓三次握手,是指建立一个 TCP 连接时,需要客户端和服务器总共发送 3 个包。
希希里之海
2019/05/15
7870
TCP 三次握手和四次挥手
TCP 三次握手 和 四次挥手
概述 我们都知道 TCP 是 可靠的数据传输协议,UDP是不可靠传输,那么TCP它是怎么保证可靠传输的呢?那我们就不得不提 TCP 的三次握手和四次挥手。 三次握手 下图为三次握手的流程图 下面通过我
java404
2018/06/04
1K0
TCP三次握手和四次挥手
TCP三次握手 所谓三次握手(Three-Way Handshake)即建立TCP连接,就是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立。整个流程如下图所示: 第一次握手:
武培轩
2018/04/18
8850
TCP三次握手和四次挥手
三次握手四次挥手例题(tcp三次握手原理)
在面试中,三次握手和四次挥手可以说是问的最频繁的一个知识点了,我相信大家也都看过很多关于三次握手与四次挥手的文章,今天的这篇文章,重点是围绕着面试,我们应该掌握哪些比较重要的点,哪些是比较被面试官给问到的,我觉得如果你能把我下面列举的一些点都记住、理解,我想就差不多了。
全栈程序员站长
2022/07/25
3240
三次握手四次挥手例题(tcp三次握手原理)
TCP协议—三次握手四次挥手的原理<转> 三次握手四次挥手的原理
TCP是面向连接的,无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。在TCP/IP协议中,TCP 协议提供可靠的连接服务,连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号 并交换 TCP窗口大小信息。
飞天小子
2018/08/31
5120
TCP协议—三次握手四次挥手的原理<转>
		三次握手四次挥手的原理
TCP三次握手&四次挥手
TCP提供一个面向连接的,可靠的字节流服务 面向连接意味着两个使用TCP的应用(通常是一个客户端和服务器)在彼此交换数据之前必须先建立 一个TCP连接。 在一个TCP连接中,仅有两方进行彼此通信
切图仔
2022/09/14
5420
TCP三次握手&四次挥手
三次握手和四次挥手详细介绍
相对于SOCKET开发者,TCP创建过程和链接折除过程是由TCP/IP协议栈自动创建的.因此开发者并不需要控制这个过程.但是对于理解TCP底层运作机制,相当有帮助.
用户7657330
2020/08/14
2.3K0
三次握手和四次挥手详细介绍
相关推荐
TCP三次握手/四次挥手
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档