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 条评论
登录 后参与评论

相关文章

来自专栏Jerry的SAP技术分享

使用ABAP(ADBC)和Java(JDBC)连接SAP HANA数据库

在表DBCON里维护一条记录,指向HANA数据库。con_ENV里填入HANA数据库的主机名和端口号。如vmXXXX:30015

3593
来自专栏大大的微笑

Kafka集群安装

①.kafka需要依赖zk管理,在搭建kafka集群之前需要先搭建zk集群: https://my.oschina.net/u/2486137/blog/153...

1865
来自专栏我的博客

TCP/IP三次握手

在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN...

3117
来自专栏杨建荣的学习笔记

关于创建视图的问题(48天)

今天开发碰到一个问题,说创建视图的时候老是提示没有权限。 SQL> create view test_view as select *from customer...

2737
来自专栏iOS 开发杂谈

iOS多线程之一:基本概念

进程:就是一个正在执行的程序。 线程:是执行程序最基本的单元,它有自己栈和寄存器。

431
来自专栏IT技术精选文摘

数据库SQL性能优化(一)

substr(hbs_bh,1,4)=’5400’,优化处理:hbs_bh like ‘5400%’ trunc(sk_rq)=trunc(sysdate), ...

1846
来自专栏转载gongluck的CSDN博客

UNPv13:#第5章#TCP客户/服务器程序示例

Code github //server.c #include <unistd.h> #include <stdio.h> #include <stdlib....

3245
来自专栏解Bug之路

从linux源码看socket的close

笔者一直觉得如果能知道从应用到框架再到操作系统的每一处代码,是一件Exciting的事情。上篇博客讲了socket的阻塞和非阻塞,这篇就开始谈一谈socket的...

1427
来自专栏乐沙弥的世界

MySQL 自动故障转移工具--mysqlfailover

676
来自专栏乐沙弥的世界

进程、会话、连接之间的差异

--======================== -- 进程、会话、连接之间的差异 --========================     在使用...

702

扫描关注云+社区