扫码关注公众号
为什么TCP链接需要三次握手,两次不可以么?
为了防止 已失效的链接请求报文突然又传送到了服务端,因而产生错误。 客户端发出的连接请求报文并未丢失,而是在某个网络节点长时间滞
三次握手是通过标识位和确认号进行的网络操作,下列哪个选项是不正确的?
正确答案是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握手结束
TCP断开连接的四次挥手中,第四次挥手发送的包会包含的标记,最正确的描述是?()
正确答案是C我们假设由client提出关闭,则:第一次:FIN(client发给server)第二次:ACK(server发给client)第三次:FIN(server发给client)第四次:ACK(client发给server)