试题
考点

专业课-网络-TCP/IP模型-三次握手、四次挥手

面5笔5

三次握手是通过标识位和确认号进行的网络操作,下列哪个选项是不正确的?

A.第一次握手([SYN], Seq = x)

B.第二次握手([SYN,ACK], Seq = y, ACK = x + 1)

C.第二次握手([SYN,ACK], Seq = y, ACK = y + 1)

D.第三次握手([ACK], ACK = y + 1)

前往“校招VIP”小程序,刷题更快
最新校招难题刷题,快来进刷题群吧
解答

正确答案是 C

三次握手面试时不能笼统的说第一次、第二次、第三次,而是要从编程的角度也就是TCP协议说明实现的方法,要理解标识位和状态位的变化。

第一次握手([SYN], Seq = x)
客户端发送一个SYN标记的包,Seq初始序列号x,发送完成后客户端进入SYN_SEND状态。

第二次握手([SYN,ACK], Seq = y, ACK = x + 1)
服务器返回确认包(ACK)应答,同时还要发送一个SYN包回去。ACK = x + 1,表示确认收到(客户端发来的Seq值 + 1),Seq = y, 表示让客户端确认是否能收到。发送完成后服务端进入SYN_RCVD状态。

第三次握手([ACK], ACK = y + 1)
客户端再次发送确认包(ACK),ACK = y + 1, 表示确认收到服务器的包(服务端发来的Seq值 + 1)。客户端发送完毕后,进入ESTABLISHED状态,服务端接收到这个包,也进入ESTABLISHED状态, TCP握手结束

文章链接

评论

加载更多