加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

一文搞定UDP和TCP高频面试题!

发布时间:2020-03-05 01:23:19 所属栏目:站长百科 来源:站长网
导读:副问题#e# 本文转载自微信公家号「herongwei」,转载本文请接洽herongwei公家号。 谋事变口试,常常会被问到 UDP 和 TCP,本日给各人总结个中的焦点高频口试题,再有口试官问你相干的常识点,看这篇就够了! PS:文章有点长,请耐性阅读。 目次: 1、UDP 和

第二次握手:处事端发包,客户端收到了。这样客户端就能得出结论:处事端的吸取、发送手段,客户端的吸取、发送手段是正常的。从客户端的视角来看,我接到了处事端发送过来的相应数据包,声名处事端吸取到了我在第一次握手时发送的收集包,而且乐成发送了相应数据包,这就声名,处事端的吸取、发送手段正常。而另一方面,我收到了处事端的相应数据包,声名我第一次发送的收集包乐成达随处事端,这样,我本身的发送和吸取手段也是正常的。

第三次握手:客户端发包,处事端收到了。这样处事端就能得出结论:客户端的吸取、发送手段,处事端的发送、吸取手段是正常的。第一、二次握手后,处事端并不知道客户端的吸取手段以及本身的发送手段是否正常。

而在第三次握手时,处事端收到了客户端对第二次握手作的回应。从处事端的角度,我在第二次握手时的相应数据发送出去了,客户端吸取到了。以是,我的发送手段是正常的。而客户端的吸取手段也是正常的。

经验了上面的三次握手进程,客户端和处事端都确认了本身的吸取、发送手段是正常的。之后就可以正常通讯了。

每次都是吸取到数据包的一方可以获得一些结论,发送的一方着实没有任何头绪。我固然有发包的举措,可是我怎么知道我有没有发出去,而对方有没有吸取到呢?

而从上面的进程可以看到,起码是必要三次握手进程的。两次达不到让两边都得出本身、对方的吸取、发送手段都正常的结论。

着实每次收到收集包的一方至少是可以获得:对方的发送、我方的吸取是正常的。而每一步都是有关联的,下一次的“相应”是因为第一次的“哀求”触发,因此每次握手着实是可以获得特另外结论的。

好比第三次握手时,处事端收到数据包,表白看处事端只能获得客户端的发送手段、处事端的吸取手段是正常的,可是团结第二次,声名处事端在第二次发送的相应包,客户端吸取到了,而且作出了相应,从而获得特另外结论:客户端的吸取、处事端的发送是正常的。

5、TCP 的四次挥手(为什么四次?)

四次挥手:

一文搞定UDP和TCP高频口试题!

客户端发送一个 FIN 段,并包括一个但愿吸取者看到的本身当前的序列号 K. 同时还包括一个 ACK 暗示确认对方最近一次发过来的数据。

处事端将 K 值加 1 作为 ACK 序号值,表白收到了上一个包。这时上层的应用措施会被奉告另一端提倡了封锁操纵,凡是这将引起应用措施提倡本身的封锁操纵。

处事端提倡本身的 FIN 段,ACK=K+1, Seq=L。

客户端确认。进入 TIME-WAIT 状态,守候 2 MSL(最大报文存活时刻)后开释毗连。ACK=L+1。

为什么成立毗连是三次握手,而封锁毗连却是四次挥手呢?

(1)TCP毗连是双向传输的对等的模式,就是说两边都可以同时向对方发送或吸取数据。当有一方要封锁毗连时,会发送指令奉告对方,我要封锁毗连了。

(2)这时对方会回一个ACK,此时一个偏向的毗连封锁。可是另一个偏向如故可以继承传输数据,也就是说,处事端收到客户端的 FIN 符号,知道客户端想要断开这次毗连了,可是,我处事端,我还想发数据呢?我比及发送完了全部的数据后,会发送一个 FIN 段来封锁此偏向上的毗连。吸取方发送 ACK确认封锁毗连。

留意,吸取到FIN报文的一方只能回覆一个ACK, 它是无法顿时返回对方一个FIN报文段的,由于竣事数据传输的“指令”是上层应用层给出的,我只是一个“搬运工”,我无法相识“上层的意志”。

(3)客户端发送了 FIN 毗连开释报文之后,处事器收到了这个报文,就进入了 CLOSE-WAIT 状态。这个状态是为了让处事器端发归还未传送完毕的数据,传送完毕之后,处事器会发送 FIN 毗连开释报文。

(4)由于处事端在 LISTEN 状态下,收到成立毗连哀求的 SYN 报文后,把 ACK 和 SYN 放在一个报文里发送给客户端。而封锁毗连时,当收到对方的 FIN 报文时,仅仅暗示对方不再发送数据了可是还能吸取数据,己方是否此刻封锁发送数据通道,必要上层应用来抉择,因此,己方 ACK 和 FIN 一样平常城市分隔发。

TIME_WAIT

客户端吸取随处事器端的 FIN 报文后进入此状态,此时并不是直接进入 CLOSED 状态,还必要守候一个时刻计时器配置的时刻 2MSL。这么做有两个来由:

确保最后一个确认报文可以或许达到。假如 B 充公到 A 发送来简直认报文,那么就会从头发送毗连开释哀求报文,A 守候一段时刻就是为了处理赏罚这种环境的产生。

守候一段时刻是为了让本毗连一连时刻内所发生的全部报文都从收集中消散,使得下一个新的毗连不会呈现旧的毗连哀求报文。

6、TCP 短毗连和长毗连的区别

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读