1.软文推荐

2.软文推荐

3.软文推荐

建立TCP需要三次握手才能建立,而断开连接则需要四次握手,本篇将为大家详细的讲解一下TCP的三次握手与四次挥手

TCP报文段的首部格式

**序列号seq:**占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;给字节编上序号后,就给每一个报文段指派一个序号;序列号seq就是这个报文段中的第一个字节的数据编号。

**确认号ack:**占4个字节,期待收到对方下一个报文段的第一个数据字节的序号;序列号表示报文段携带数据的第一个字节的编号;而确认号指的是期望接收到下一个字节的编号;因此当前报文段最后一个字节的编号+1即为确认号。

**确认ACK:**占1位,仅当ACK=1时,确认号字段才有效。ACK=0时,确认号无效。TCP规定,在连接建立后所有传送的报文段都必须把ACK置为1。

**同步SYN:**连接建立时用于同步序号。当SYN=1,ACK=0时表示:这是一个连接请求报文段。若同意连接,则在响应报文段中使得SYN=1,ACK=1。因此,SYN=1表示这是一个连接请求,或连接接受报文。SYN这个标志位只有在TCP建产连接时才会被置1,握手完成后SYN标志位被置0。

**终止FIN:**用来释放一个连接。FIN=1表示:此报文段的发送方的数据已经发送完毕,并要求释放运输连接

**PS:**ACK、SYN和FIN这些大写的单词表示标志位,其值要么是1,要么是0;ack、seq小写的单词表示序号。

字段 含义
URG 紧急指针是否有效。为1,表示某一位需要被优先处理
ACK 确认号是否有效,一般置为1。
PSH 提示接收端应用程序立即从TCP缓冲区把数据读走。
RST 对方要求重新建立连接,复位。
SYN 请求建立连接,并在其序列号的字段进行序列号的初始值设定。建立连接,设置为1
FIN 希望断开连接。
TCP三次握手
TCP的三次握手与四次挥手TCP的三次握手与四次挥手

**第一次握手:**建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。

**第二次握手:**服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

**第三次握手:**客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手

TCP四次挥手
TCP的三次握手与四次挥手TCP的三次握手与四次挥手

1)客户端进程发出连接释放报文,并且停止发送数据。释放数据报文首部,FIN=1,其序列号为seq=u(等于前面已经传送过来的数据的最后一个字节的序号加1),此时,客户端进入FIN-WAIT-1(终止等待1)状态。 TCP规定,FIN报文段即使不携带数据,也要消耗一个序号。

2)服务器收到连接释放报文,发出确认报文,ACK=1,ack=u+1,并且带上自己的序列号seq=v,此时,服务端就进入了CLOSE-WAIT(关闭等待)状态。TCP服务器通知高层的应用进程,客户端向服务器的方向就释放了,这时候处于半关闭状态,即客户端已经没有数据要发送了,但是服务器若发送数据,客户端依然要接受。这个状态还要持续一段时间,也就是整个CLOSE-WAIT状态持续的时间。

3)客户端收到服务器的确认请求后,此时,客户端就进入FIN-WAIT-2(终止等待2)状态,等待服务器发送连接释放报文(在这之前还需要接受服务器发送的最后的数据)。

4)服务器将最后的数据发送完毕后,就向客户端发送连接释放报文,FIN=1,ack=u+1,由于在半关闭状态,服务器很可能又发送了一些数据,假定此时的序列号为seq=w,此时,服务器就进入了LAST-ACK(最后确认)状态,等待客户端的确认。

5)客户端收到服务器的连接释放报文后,必须发出确认,ACK=1,ack=w+1,而自己的序列号是seq=u+1,此时,客户端就进入了TIME-WAIT(时间等待)状态。注意此时TCP连接还没有释放,必须经过2∗∗MSL(最长报文段寿命)的时间后,当客户端撤销相应的TCB后,才进入CLOSED状态。

6)服务器只要收到了客户端发出的确认,立即进入CLOSED状态。同样,撤销TCB后,

本文来源:www.lxlinux.net/5103.html,若引用不当,请联系修改。

相关文章 8

1

VPSFun:安徽移动G口NAT机器,年付8折,月付9折,100Mbps套餐月付6.75元(中国移动vps) 1分钟前

vpsfun是一家成立不太久的国人主机商家,在两个月前本站分享过他家的产品,不过当他家用的是WC的面板,目前商家更换了面板,目前还是只...

2

Linux系统设置目录和文件权限 2分钟前

在Linux系统中目录和文件的权限作用是不一样的,使用使用带-l选项的ls命令就可以看到目录和文件的权限,下面良许教程网为大家分享一下...

3

LOCVPS全球云:香港大内存VPS七折低至66.5元/月,CN2+BGP线路,Windows/Linux 4分钟前

locvps全球云一年一度双十二再一次到来,locvps为您提供双十一返场充值送/STD业务优惠活动!活动时间:2022年11月29日-12月16日。双12#LOCVPS全球...

4

腾讯云最新100代金券/优惠券免费领取:适用于云产品新购与续费亲测可用(腾讯云100代金 7分钟前

腾讯云公众号推送了一个特惠限定的代金券,满199-100代金券,能够 用以云硬盘CBS、云服务器CVM、轻巧网站服务器购买与续订,云服务器网...

5

裸金属服务器与物理机、云服务器的区别在哪?(裸金属服务器配置) 9分钟前

在说裸金属服务器之前,小编带大家回忆一下最初的物理机模式。20年前小编想搭建一个网站,需要将网站托管到服务器端,我需要去采购一...

6

2021年618云服务器活动:阿里云/腾讯云/金山云/易探云优惠价格(2021云服务市场份额) 12分钟前

2021年618云服务器活动已经过去3天时间了! 想必很多人入手买到自己心仪的云服务器了吧?其实,云服务器网(www.yuntue.com)小编建议大家 正规...

7

阿里云·云速成美站什么意思?阿里云模板建站多少钱?(阿里云云速成美站续费) 14分钟前

阿里云·云速成美站什么意思? 还需要自己写程序吗?阿里云速成美站模版。阿里云自营建站,云·速成美站-自己动手建网站。 阿里云模板...

8

C#获取摄像头拍照显示图像 16分钟前

本篇文章重点为大家讲解一下C#获取摄像头拍照显示图像的具体方法, 有需要的小伙伴可以参考一下。 概述 之前有个需求,就是在web界面可...