参考回答:
1)TCP连接(三次握手)过程:
客户端A:发送SYN连接报文,序列号为x,进入SYNC-SENT状态。
服务端B:发送SYN连接确认报文(SYN=1,ACK = 1),序列号为y(seq = y),确认报文x(ack = x + 1),进入SYNC-RCVD状态。
客户端A:发送ACK确认报文(ACK = 1),序列号为x+1(seq = x + 1),确认报文y+1(ack = y + 1),进入ESTABLISHED状态。
服务器B:收到后进入ESTABLISHED状态。
2)三次握手原因:
三次握手是为了防止,客户端的请求报文在网络滞留,客户端超时重传了请求报文,服务端建立连接,传输数据,释放连接之后,服务器又收到了客户端滞留的请求报文,建立连接一直等待客户端发送数据。
服务器对客户端的请求进行回应(第二次握手)后,就会理所当然的认为连接已建立,而如果客户端并没有收到服务器的回应呢?此时,客户端仍认为连接未建立,服务器会对已建立的连接保存必要的资源,如果大量的这种情况,服务器会崩溃。
3) TCP释放(四次分手)过程:
服务端A:发送FIN报文(FIN = 1),序列号为u(seq = u),进入FIN-WAIT 1状态。
客户端B:发送ACK确认报文(ACK = 1),序列号为v(seq = v),确认报文u(ack = u + 1),进入CLOSE-WAIT状态,继续传送数据。
服务端A:收到上述报文进入FIN-WAIT2状态,继续接受B传输的数据。
客户端B:数据传输完毕后,发送FIN报文(FIN = 1,ACK = 1),序列号为w(seq = w),确认报文u(ack = u + 1),进入LAST-ACK状态。
服务端A:发送ACK确认报文(ACK = 1),序列号为u+1(seq = u + 1),确认报文w(ack = w + 1),进入TIME-WAIT状态,等待2MSL(最长报文段寿命),进入CLOSED状态。
客户端B:收到后上述报文后进入CLOSED状态。
4)为什么TCP协议终止链接要四次?
1、当客户端确认发送完数据且知道服务器已经接收完了,想要关闭发送数据口(当然确认信号还是可以发),就会发FIN给服务器。
2、服务器收到客户端发送的FIN,表示收到了,就会发送ACK回复。
3、但这时候服务器可能还在发送数据,没有想要关闭数据口的意思,所以服务器的FIN与ACK不是同时发送的,而是等到服务器数据发送完了,才会发送FIN给客户端。
4、客户端收到服务器发来的FIN,知道服务器的数据也发送完了,回复ACK, 客户端等待2MSL以后,没有收到服务器传来的任何消息,知道服务器已经收到自己的ACK了,客户端就关闭链接,服务器也关闭链接了。
5)2MSL意义:
1、保证最后一次握手报文能到B,能进行超时重传。
2、2MSL后,这次连接的所有报文都会消失,不会影响下一次连接。
本文向大家介绍TCP 三次握手和四次挥手?相关面试题,主要包含被问及TCP 三次握手和四次挥手?时的应答技巧和注意事项,需要的朋友参考一下 为了准确无误地把数据送达目标处,TCP协议采用了三次握手策略。 2.1 TCP 三次握手漫画图解 如下图所示,下面的两个机器人通过3次握手确定了对方能正确接收和发送消息(图片来源:《图解HTTP》)。 简单示意图: 客户端–发送带有 SYN 标志的数据包–一次
本文向大家介绍请你说一说TCP的三次握手和四次挥手的过程及原因相关面试题,主要包含被问及请你说一说TCP的三次握手和四次挥手的过程及原因时的应答技巧和注意事项,需要的朋友参考一下 参考回答: TCP的三次握手过程如下: C-> SYN -> S S->SYN/ACK->C C->ACK->S 三次握手的原因:三次握手可以防止已经失效的连接请求报文突然又传输到服务器端导致的服务器资源浪费。例如,
本文向大家介绍说说TCP传输的三次握手四次挥手策略相关面试题,主要包含被问及说说TCP传输的三次握手四次挥手策略时的应答技巧和注意事项,需要的朋友参考一下 为了准确无误地把数据送达目标处,TCP协议采用了三次握手策略。用TCP协议把数据包送出去后,TCP不会对传送 后的情况置之不理,它一定会向对方确认是否成功送达。握手过程中使用了TCP的标志:SYN和ACK。 发送端首先发送一个带SYN标志的数据
更多面试题总结请看:【面试题】技术面试题汇总 TCP 标志位 TPC 标志位代表了当前请求的目的。一共有六种: SYN(synchronous): 发送/同步标志,用来建立连接,和 ACK 标志位搭配使用。A 请求与 B 建立连接时,SYN=1,ACK=0;B 确认与 A 建立连接时,SYN=1,ACK=1 ACK(acknowledgement):确认标志,表示确认收到请求 PSH(push)
本文向大家介绍什么是TCP 连接的三次握手 相关面试题,主要包含被问及什么是TCP 连接的三次握手 时的应答技巧和注意事项,需要的朋友参考一下 第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_
面试官:简单理解TCP三次握手四次挥手 TCP四次挥手 建立TCP连接需要三次握手,终止TCP连接需要四次挥手