TCP的三次握手与四次挥手过程,各个状态名称与含义,TIMEWAIT的作用。

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

注意:握手的过程中传送的包里不包含数据,三次握手完毕后,客户端和服务器才正式开始传送数据,理想状态下,TCP一旦建立连接,在通信双方中的任何一方主动关闭连接之前,TCP连接都将一直保持下去。断开连接是服务器和客户端均可以主动的发起断开TCP连接的请求,断开过程需要经过四次握手。

三次握手示意图。

四次挥手示意图

原文发布于微信公众号 - 数据库SQL(SQLdba)

原文发表时间:2018-01-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏积累沉淀

TCP连接的建立(三次握手)和释放(四次挥手)

所谓三次握手(Three-way Handshake),是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。  三次握手的目的是连接服务器指定端口,建...

20010
来自专栏武军超python专栏

2018年8月16日TCP中三次握手和四次挥手详解

 上图中有几个字段需要重点介绍下:         (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。...

472
来自专栏琦小虾的Binary

TCP 协议详解

TCP 协议详解 在笔者以前的工程中,用过 socket 套接字实现过多进程通信的程序,也用过 Node.js + socket.io + express 构建...

2385
来自专栏Golang语言社区

go实现西瓜视频花椒直播等平台智能答题

本文源码 https://github.com/Chain-Zhang/answer_ai 介绍 最近出了很多答题平分奖金的直播,只要能够连续答对12道题,就能...

35011
来自专栏linjinhe的专栏

TCP 为什么是三次握手四次挥手?

我们都知道 TCP 有建立连接时的三次握手和断开连接时的四次挥手,如上图所示。这个过程具体怎么样就不多说了。 今天主要想讨论一下,为什么 TCP 是三次握手,...

2274
来自专栏java 成神之路

TCP 三次握手 和 四次挥手

1335
来自专栏小鸟矿池

KKOS刻录指南

KKOS是一个基于Linux系统的挖矿深度定制系统。由于系统相对于windows来说,体积非常的小巧,因此可以直接刻录于U盘,省下了一块硬盘的钱。并且系统占用资...

740
来自专栏运维小白

TCP/IP三次握手四次挥手

背景 和女朋友异地恋一年多,为了保持感情我提议每天晚上视频聊天一次。 从好上开始,到现在,一年多也算坚持下来了。 问题 有时候聊天的过程中,我的网络或者她的网...

2005
来自专栏云计算与大数据

Hyperledger: 向现有的 Fabric 区块链网络添加一个组织

Hyperledger Fabric first-network 示例(也被称为“Build Your First Network”示例和“e2e_cli”示例...

1124
来自专栏玉树芝兰

macOS上修复感染autorun病毒优盘

作为老师,我经常需要带着优盘到教室。可是最近一段时间,只要一往教室电脑上拷贝幻灯,优盘立即中毒。

903

扫码关注云+社区