三次握手和四次挥手

简介:

  三次握手(Three-Way Handshake):

(1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。

  (2)确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1。

  (3)ACK:确认序号有效。

  (4)SYN:发起一个新连接。

  (5)FIN:释放一个连接。

注意:

  (1)不要将确认序号Ack与标志位中的ACK搞混了。

  (2)确认方Ack=发起方Seq+1,两端配对。 

建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立。

wKioL1mBNinxc2EHAAByTR2Kx88033.png-wh_50



(1)第一次握手:客户端发送一个SYN段指明客户打算连接的服务器端口,将标志位SYN置为1,随机产生一个值seq=x,并将该数据包发送给服务器

(2)第二次握手:服务器收到数据包后由标志位SYN=1知道客户端请求建立连接,服务器将确认序列号设置为客户端的Seq加1以对客户的SYN报文段进行确认,并随机产生一个值seq=y,并将该数据包发送给客户端以确认连接请求

(3)第三次握手:客户端收到后,必须将确认序列号设置为服务器的Seq加1以对服务器的SYN报文段进行确认,客户端和服务器进入ESTABLISHED状态,完成三次握手,随后Client与Server之间可以开始传输数据了。


          四次挥手(Four-Way Wavehand)

指断开一个TCP连接时,需要客户端和服务端总共发送4个包以确认连接的断开。

wKioL1mBNmyw4r7yAAIjTmOgTzA435.png-wh_50

(1)第一次挥手:首先主动方发送第一个FIN执行主动关闭,用来关闭客户端到服务器的数据传送。

(2)第二次挥手:被动方收到主动方主动关闭的数据后,发送一个ACK给主动方,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号)。

(3)第三次挥手:服务器发送一个FIN,用来关闭服务器到客户端的数据传送。

(4)第四次挥手:客户端收到FIN后,接着发送一个ACK给S服务器,确认序号为收到序号+1,到此,四次挥手完成。

spacer.gifwKioL1mBNnjwwEHEAAAyslf8DnU669.png-wh_50



本文转自 towardly 51CTO博客,原文链接:http://blog.51cto.com/brighttime/1952909

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
2月前
|
前端开发 网络协议 JavaScript
|
3月前
|
移动开发 网络协议 API
三次握手与四次挥手在具体函数上的体现
三次握手与四次挥手在具体函数上的体现
25 0
|
3月前
|
网络协议
理解三次握手与四次挥手
理解三次握手与四次挥手
20 0
|
3月前
|
缓存 网络协议 数据处理
TCP中的三次握手和四次挥手
我们知道TCP是运输层的面向连接的可靠的传输协议。**面向连接的**,指的就是在两个进程发送数据之前,必须先相互“握手”,确保两进程可以进行连接。并且这个传输是点对点的,即一个TCP连接中只有一个发送方和接收方;**可靠的**,指的是在任何网络情况下,在TCP传输中数据都将完整的发送到接收方。
51 0
TCP中的三次握手和四次挥手
|
4月前
|
网络协议 算法
TCP 三次握手和四次挥手
TCP 三次握手和四次挥手
31 0
TCP 三次握手和四次挥手
|
网络协议
tcp三次握手与四次挥手
tcp三次握手与四次挥手
75 0
|
网络协议
TCP三次握手与四次挥手
TCP三次握手与四次挥手
128 0
|
网络协议 网络安全
对TCP三次握手四次挥手的理解
对TCP三次握手四次挥手的理解
96 0
对TCP三次握手四次挥手的理解
|
网络协议
TCP的三次握手与四次挥手
TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,在发送数据前,通信双方必须在彼此间建立一条连接。所谓的“连接”,其实是客户端和服务端保存的一份关于对方的信息,如ip地址、端口号等。TCP可以看成是一种字节流,它会处理IP层或以下的层的丢包、重复以及错误问题。在连接的建立过程中,双方需要交换一些连接的参数。这些参数可以放在TCP头部。一个TCP连接由一个4元组构成,分别是两个IP地址和两个端口号。一个TCP连接通常分为三个阶段:连接、数据传输、退出(关闭)。通过三次握手建立一个链接,通过四次挥手来关闭一个连接。当一个连接被建立或被终止时,交换的报文段只包含TCP头部,而没有数据。

热门文章

最新文章