一个网站3个相似域名,重庆梁平网站建设哪家好,吉林省吉林市区号,佛山官网建设TCP 是面向连接的#xff0c;面向连接就是数据通讯的时候需要进行三次握手#xff0c;断开通讯的时候需要进行四次挥手。 1.seq(sequence number)#xff0c;序列号#xff0c;随机生成的 2.ack(acknowledgement number)#xff0c;确认号#xff0c;ackseq1 3.ACK(ackno…TCP 是面向连接的面向连接就是数据通讯的时候需要进行三次握手断开通讯的时候需要进行四次挥手。 1.seq(sequence number)序列号随机生成的 2.ack(acknowledgement number)确认号ackseq1 3.ACK(acknowledgement)确定序列号有效 4.SYN(synchronous)发起新连接 5.FIN(FINISH)完成 TCP 的三次握手
TCP三次握手示意图
Client Server| || SYNSEQ_A ||-----------------|| || SYNSEQ_B || ACKSEQ_A1 ||-----------------|| || ACKSEQ_B1 || SEQSEQ_A1 ||-----------------|| |在这些示意图中箭头表示数据流的方向。三次握手中Client向Server发送一个带有SYN标志的报文段Server收到后回复一个带有SYN和ACK标志的报文段然后Client再回复一个带有ACK标志的报文段完成三次握手。 TCPTransmission Control Protocol是一种常用的传输层协议用于在网络上建立可靠的连接。TCP的三次握手是在建立连接时进行的一系列步骤以确保通信双方都愿意开始数据传输。下面是TCP三次握手的详细讲解 第一次握手SYN - 发送同步序列号 在建立连接之前客户端首先向服务器发送一个带有SYN标志的TCP报文段。 这个报文段的序列号Seq被设置为一个随机值假设为A作为初始序列号。 客户端还将设置连接标志SYN以及窗口大小等信息并在选项字段中放入一些控制信息。这个报文段的目的是告诉服务器客户端想要建立连接并指定初始序列号A。 第二次握手SYN ACK - 发送同步序列号和确认序列号 服务器接收到客户端的SYN报文段后会对其进行确认。 服务器向客户端发送一个带有SYN和ACK标志的TCP报文段其中确认号Ack被设置为客户端发送的初始序列号A加1即A1而服务器的初始序列号被设置为另一个随机值假设为B。 服务器也会设置自己的连接标志SYN并在选项字段中放入一些控制信息。这个报文段的目的是告诉客户端服务器愿意建立连接并确认客户端的初始序列号A。 第三次握手ACK - 发送确认序列号 客户端收到服务器的SYN ACK报文段后会向服务器发送一个带有ACK标志的TCP报文段确认服务器的初始序列号B。 客户端的确认号被设置为服务器发送的初始序列号B加1即B1而连接标志SYN被置为0。此时连接已建立双方可以开始进行数据传输。服务器收到这个确认报文段后也确认了连接的建立。 这里的 0 是 wireshark 为了直观调整了的原始报文中不是 0 通过这三次握手双方确认了彼此的能力和意愿建立了一个可靠的连接可以进行数据传输。这种三次握手机制可以确保通信双方都同意建立连接减少了误操作或不必要的连接。在数据传输完成后连接可以通过四次握手来正常关闭。
TCP 的四次挥手
TCP四次挥手示意图
Client Server| || FINSEQ_X ||-----------------|| || ACKSEQ_X1 ||-----------------|| || FINSEQ_Y || ACKSEQ_X1 ||-----------------|| || ACKSEQ_Y1 | | SEQSEQ_X1 ||-----------------|| |四次挥手中Client首先发送一个带有FIN标志的报文段然后Server回复一个带有ACK标志的报文段接着Server发送一个带有FIN标志的报文段最后Client回复一个带有ACK标志的报文段完成四次挥手。 TCPTransmission Control Protocol的四次挥手是用于关闭一个已建立的连接的过程。与建立连接的三次握手类似关闭连接需要双方都达成一致。下面是TCP四次挥手的详细讲解 第一次挥手FIN - 发送结束标志 当一方通常是客户端决定关闭连接时它会向另一方通常是服务器发送一个带有FIN标志的TCP报文段。这个报文段表示发起方没有更多数据要发送但是仍然愿意接收来自对方的数据。 发起方将序列号Seq设置为当前已发送数据的最后一个字节的序号加1。这个报文段的目的是告诉另一方发起方希望关闭连接。 第二次挥手ACK - 发送确认 收到第一次挥手的FIN报文段后另一方通常是服务器会向发起方发送一个带有ACK标志的TCP报文段表示它已经收到了发起方的关闭请求。 确认号Ack会被设置为发起方的序列号加1表示另一方已经收到了发起方的所有数据。此时连接进入半关闭状态发起方仍然可以发送数据但另一方不能。 第三次挥手FIN - 发送结束标志 当另一方通常是服务器也准备好关闭连接时它会发送一个带有FIN标志的TCP报文段给发起方。 这个报文段的序列号Seq被设置为当前已发送数据的最后一个字节的序号加1。此时另一方表示它已经没有更多数据要发送并准备好关闭连接。 第四次挥手ACK - 发送确认 收到第三次挥手的FIN报文段后发起方会向另一方发送一个带有ACK标志的TCP报文段表示它已经收到了另一方的关闭请求。 确认号Ack被设置为另一方的序列号加1表示发起方已经确认了另一方的关闭请求。此时连接正式关闭双方都不能再发送数据。 通过这四次挥手双方完成了连接的关闭确保彼此都知道对方已经停止发送数据从而避免了数据丢失。这个过程保证了连接的可靠关闭以及释放相关的资源。