腾讯域名怎么做网站,网站站点连接不安全,建设网站能赚钱吗,wordpress门户主体一、三次握手
1.简要描述TCP三次握手的过程
第一次握手#xff0c;客户端发送SYN包到服务器#xff1b;
第二次握手#xff0c;服务器收到SYN包#xff0c;回复一个SYNACK包#xff1b;
第三次握手#xff0c;客户端收到服务器的SYNACK包后#xff0c;回复一个ACK包…一、三次握手
1.简要描述TCP三次握手的过程
第一次握手客户端发送SYN包到服务器
第二次握手服务器收到SYN包回复一个SYNACK包
第三次握手客户端收到服务器的SYNACK包后回复一个ACK包完成三次握手。
2.为什么TCP连接需要三次握手2次不行吗
三次握手可以确保双方都能够发送和接收数据防止因网络延迟导致的问题。两次握手可能会导致服务器资源被浪费。
3.在TCP三次握手中客户端和服务器分别扮演什么角色
客户端发送连接请求服务器接收并回复确认。
4.在TCP连接过程中客户端发送SYN包丢失了会发生什么情况
服务器会超时等待然后重新发送SYNACK包进行连接。
5.三次握手的各个状态
一开始建立连接之前服务器和客户端的状态都为CLOSED
服务器创建socket后开始监听变为LISTEN状态
客户端请求建立连接向服务器发送SYN报文客户端的状态变味SYN_SENT
服务器收到客户端的报文后向客户端发送ACK和SYN报文此时服务器的状态变为SYN_RCVD
然后客户端收到ACK、SYN就向服务器发送ACK客户端状态变为ESTABLISHED
服务器端收到客户端的ACK后变为ESTABLISHED。此时3次握手完成连接建立
二、四次挥手
1.简要描述四次挥手的过程
第一次挥手客户端发送FIN包到服务器
第二次挥手服务器收到FIN包回复一个ACK包
第三次挥手服务器发送FIN包到客户端
第四次挥手客户端收到FIN包回复一个ACK包完成四次挥手。
2.为什么TCP连接需要四次挥手不能三次挥手吗
四次挥手是为了确保双方都能够完全关闭连接防止因网络延迟导致的数据丢失或重发问题。
3.如果TCP连接过程中服务器收到客户端FIN包立即回复ACK包会发生什么
客户端可能还有数据需要发送服务器需要等待客户端发送完数据后再发送FIN包进行关闭连接
4.为什么创建连接是三次握手断开连接是四次挥手
在TCP/IP协议中四次挥手是终止TCP连接的标准过程它确保了双方都能正确地关闭连接并释放资源。如果在内网传输中试图减少这一过程到三次挥手可能会导致连接状态不一致或其他未定义的行为从而影响数据传输的可靠性和稳定性。TCP在建立连接时要进行三次握手在断开连接时要进行四次挥手这是由于TCP的半关闭造成的。因为TCP 连接是全双工的即数据可在两个方向上同时传递所以在进行关闭时对每个方向都要单独进行关闭这种单方向的关闭叫作半关闭。在一方完成它的数据发送任务时就发送一个FIN来向另一方通告将要终止这个方向的连接。
5.四次挥手的各个状态
客户端先向服务器发送FIN报文请求断开连接其状态变为FIN_WAIT1
服务器收到FIN后向客户端发送ACK服务器的状态变为CLOSE_WAIT
客户端收到ACK后就进入FIN_WAIT2状态此时连接已经断开了一半了。如果服务器还有数据要发送给客户端就会继续发送
直到发完数据就会发送FIN报文此时服务器进入LAST_ACK状态
客户端收到服务器的FIN后马上发送ACK给服务器此时客户端进入TIME_WAIT状态
再过了2MSL长的时间后进入CLOSED状态。服务器收到客户端的ACK就进入CLOSED状态。
至此还有一个状态没有出来CLOSING状态。
CLOSING状态表示 客户端发送了FIN但是没有收到服务器的ACK却收到了服务器的FIN这种情况发生在服务器发送的ACK丢包的时候因为网络传输有时会有意外。