考点介绍:
三次握手四次挥手问题是校招面试中的必考题。三次握手即TCP连接的建立。这个连接必须是一方主动打开,另一方被动打开的。四次挥手即TCP连接的释放(解除)。连接的释放必须是一方主动释放,另一方被动释放。
本期分享的java专业课之三次握手四次挥手,分为试题、文章以及视频三部分。
答案详情解析和文章内容可扫下方二维码或链接即可查看!
一、考点题目
1.为什么TCP链接需要三次握手,两次不可以么?
解答:为了防止 已失效的链接请求报文突然又传送到了服务端,因而产生错误。客户端发出的连接请求报文并未丢失,而是在某个网络节点……
2.三次握手是通过标识位和确认号进行的网络操作,下列哪个选项是不正确的?
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)
正确答案:C,三次握手面试时不能笼统的说第一次、第二次、第三次,而是要从编程的角度也就是TCP协议说明实现的方法,要理解标识位和状态位的变化。第一次握手(……
3.TCP断开连接的四次挥手中,第四次挥手发送的包会包含的标记,最正确的描述是?()
A.FIN
B.FIN,PSH
C.ACK
D.FIN,ACK
正确答案:C,我们假设由client提出关闭,则:第一次:FIN(client发给server)第二次:ACK(server发给client)第三次:FIN(server发给client )第四次:ACK(client发给server)……
4.为什么TCP连接的时候是3次,关闭的时候却是4次?
解答:因为只有在客户端和服务端都没有数据要发送的时候才能断开TCP。而客户端发出FIN报文时只能保证客户端没有数据发了,服务端还有没有数据发……
5.为什么客户端发出第四次挥手的确认报文后要等2MSL的时间才能释放TCP连接?
解答:这里同样是要考虑丢包的问题,如果第四次挥手的报文丢失,服务端没收到确认ack报文就会重发第三次挥手的报文,这样报文一去一回最长时间就是2MSL,所以需要等这么长时间来确认服务端确实……
(答案点击下方链接或者扫海报二维码查看哦)
二、考点文章
1.我终于搞懂了TCP的三次握手和四次挥手
TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的通信协议,数据在传输前要建立连接,传输完毕后还要断开连接。客户端在收发数据前要使用 connect() 函数和服务器建立连接。建立连接的目的是保证IP地址……
2.简明理解三次握手和四次挥手
注:三次握手和四次挥手本身并不复杂,但却可以从很多角度理解这两个过程,本文仅取一个视点解读,如有其它看法欢迎留言交流。三次握手与四次挥手分别对应TCP连接建立过程与断开过程,先上TCP报文……
3.TCP协议中的三次握手和四次挥手(图解)
建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示……
(扫下方海报二维码查看完整版)
三、考点视频
1.TCP建立和结束连接的过程
本题是开发类一线校招专业课必考题之一,需要在理解TCP协议的基础上,记忆过程中的状态码、字段和标志位,最好是能够在理解的前提下,背下状态图,属于面试5星必备考点……
现在互联网各个职位的壁垒已经有了,再也不是稍微会点就能入行的年代了,现在的职位一脚开始拒绝培训班出来的人了,除非你有自己的作品或者有工作经验才行。
比之前听的课更好懂