TCP/IP三次握手总结;

简介:

一、TCP连接的状态:

LISTEN                  等待从任何远端TCP 和端口的连接请求。

SYN_SENT                发送完一个连接请求后等待一个匹配的连接请求。

SYN_RECEIVED            发送连接请求并且接收到匹配的连接请求以后等待连接

  请求确认。

ESTABLISHED             表示一个打开的连接,接收到的数据可以被投递给用户。连

  接的数据传输阶段的正常状态。

FIN_WAIT_1              等待远端TCP 的连接终止请求,或者等待之前发送的连接终

   止请求的确认。

FIN_WAIT_2              等待远端TCP 的连接终止请求

CLOSE_WAIT              等待本地用户的连接终止请求

CLOSING                 等待远端 TCP 的连接终止请求确认

LAST_ACK                等待先前发送给远端TCP 的连接终止请求的确认(包括它字节

  的连接终止请求的确认)

TIME_WAIT               等待足够的时间过去以确保远端TCP 接收到它的连接终止请求

  的确认

CLOSED                  不在连接状态(这是为方便描述假想的状态,实际不存在)

在命令行用netstat –an  命令可以看到其所处的连接状态


二、建立三次握手的过程

示意图

spacer.gif

1.首先客户端发送SYN包到服务端,为第一次握手,这时候客户端处于SYN_SENT等待状态

2.服务端收到了客户端发送的SYNC包,然后发送ACK(确认)及自身的SYN包进行回应(第二次握手),此时服务端处于SYN_RECEIVED(等待连接请求确认)状态

3.客户端收到了服务端的回应的ACK,然后将本身设置为ESTABLISHED状态,表示已经准备就绪,同时发出ACK应答(第三次握手)

4.服务端接收到了客户端发出的ACK应答,此处服务端也将自身设置为ESTABLISHED状态,从而实现双方收发数据


三、断开连接过程:

spacer.gif

(1)客户端将接收完数据后,将对服务端发送fin数据包,同时客户端将自身设置为FIN_WAIT_1(等待远端TCP 的连接终止请求,或者等待之前发送的连接终止请求的确认。

)状态

(2)服务端收到了来自客户端的关闭请求,将自身设置为CLOSE_WAIT(等待本地用户连接终止请求) 同时向客户端发送ACK确认通知客户端可以关闭连接,并且发送确认消息后,从原先的CLOSE_WAIT状态变为LAST_ACK(等待先前发送给远端TCP 的连接终止请求的确认)状态,从而等待客户端应答后由本地用户进行关闭操作

(3)客户端收到服务器的应答后,将自身设置为FIN_WITE_2状态,等待接收服务器的FIN关闭请求,当收到来自服务端的FIN时将自身设置为TIME_WITE_2状态,同时向服务端发送ACK确认关闭连接

此时,连接正常关闭



本文转自zuzhou 51CTO博客,原文链接:http://blog.51cto.com/yijiu/1227213

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
网络协议
TCP/IP协议的介绍
TCP/IP协议是众多协议的统称,通过分层结构来管理。可分为七层模型或四层结构
|
缓存 网络协议 安全
TCP通信机制:三次握手、四次挥手、滑动窗口
TCP通信机制:三次握手、四次挥手、滑动窗口
610 1
TCP通信机制:三次握手、四次挥手、滑动窗口
|
网络协议
TCP/UDP相关-三次握手四次挥手以及为什么三次握手-如何实现可靠UDP传输
TCP/UDP相关-三次握手四次挥手以及为什么三次握手-如何实现可靠UDP传输
110 0
|
网络协议 网络架构
六、TCP/IP模型 和 5层参考模型
六、TCP/IP模型 和 5层参考模型
六、TCP/IP模型 和 5层参考模型
|
域名解析 网络协议
IP协议, TCP协议 和DNS 服务分别是干什么的?
大家好,我是阿萨。昨天讲解了网络四层协议[TCP/IP协议族分为哪4层?]今天我们学习下IP 协议, TCP 协议和DNS 协议分别是干什么的。
213 0
IP协议, TCP协议 和DNS 服务分别是干什么的?
|
网络协议
TCP/IP协议族有哪些?
大家好,我是阿萨。昨天我们学习了[URI 和URL 的区别是什么?]了解了URI 和URL的区别。 学习HTTP, 绕不开TCP/IP,那么TCP/IP 协议族分为哪4层?
254 0
TCP/IP协议族有哪些?
|
缓存 网络协议 安全
TCP三次握手四次挥手及常见问题解决方案
TCP三次握手四次挥手及常见问题解决方案
TCP三次握手四次挥手及常见问题解决方案
|
网络协议 网络性能优化 网络安全
网络协议报文理解刨析篇二(再谈Http和Https), 加上TCP/UDP/IP协议分析(理解着学习), 面试官都惊讶你对网络的见解(2)
网络协议报文理解刨析篇二(再谈Http和Https), 加上TCP/UDP/IP协议分析(理解着学习), 面试官都惊讶你对网络的见解(2)
网络协议报文理解刨析篇二(再谈Http和Https), 加上TCP/UDP/IP协议分析(理解着学习), 面试官都惊讶你对网络的见解(2)
|
域名解析 网络协议 安全
网络协议报文理解刨析篇二(再谈Http和Https), 加上TCP/UDP/IP协议分析(理解着学习), 面试官都惊讶你对网络的见解(1)
网络协议报文理解刨析篇二(再谈Http和Https), 加上TCP/UDP/IP协议分析(理解着学习), 面试官都惊讶你对网络的见解(1)
网络协议报文理解刨析篇二(再谈Http和Https), 加上TCP/UDP/IP协议分析(理解着学习), 面试官都惊讶你对网络的见解(1)
|
网络协议 算法 网络性能优化
网络入门基础模型, 网络大体框架, TCP/IP协议栈, 各种局域网和广域网刨析 (以图解的方式推开网络大门)
网络入门基础模型, 网络大体框架, TCP/IP协议栈, 各种局域网和广域网刨析 (以图解的方式推开网络大门)
网络入门基础模型, 网络大体框架, TCP/IP协议栈, 各种局域网和广域网刨析 (以图解的方式推开网络大门)