三次握手和四次挥手 面试无死角回答 TCP

  • 电脑网络维修
  • 2024-11-15
在了解三次握手四次挥手前必定先了解什么是tcp。

TCP是面向衔接的,牢靠的,基于字节流的传输层协定。

衔接

所谓衔接其实是保障牢靠性和流量控制的形态信息的总和,包含sokict,滑动窗口和序列号。

牢靠性

tcp经过序列号,重传机制,滑动窗口等一系列控制机制保障数据的无重复,无失落,有序的被接受端处置。

字节流

tcp的数据是基于字节流,因此是无际界,数据是可以有限大的,tcp可以经过火片机制将数据有序发送到接纳端。

TCP的头部在无“选项”字段的状况下是20个字节。包含:

这里须要说明的是“选项”这个字段是用来辅佐处置牢靠性疑问的,正是由于这个字段的长度是不确定的,所以须要“首部长度”这个字段来示意TCP头部的长度。

TCP是基于衔接的,所以TCP在经常使用前必定先建设衔接,TCP建设衔接的环节是基于三次握手的。

至此,tcp衔接建设实现,留意第三次握手是可以传输数据的。在这之前不能传输数据。

普通大家都会以为三次握手是为了保障客户端和服务端双方都能确认自身和接纳端建设单向衔接和保障自身能够发送和接受成功数据。

这样答自身也没有错,然而太粗化了。

既然握手是为保障衔接的建设,那就要先知道什么是TCP衔接。

TCP衔接是保障牢靠性和流量控制的形态信息的总和,包含socket,序列号,滑动窗口。

在这里这个序列号至关关键,是保障信息无重复,无失落,有序的关键,因此这里其实就是为了保障序列号的同步。

客户端给服务端发送一个初始序列号,服务端回复syn+ack,就是通知客户端序列号曾经收到了并且把服务端的初始序列号发送给客户端,客户端收到后也要回复给服务端示意序列号曾经收到,这样就能保障双方都能确保序列号同步。

然而这还不是最关键的要素,最关键的要素是防止历史衔接初始化再次衔接。比如有这样一种状况,客户端发送syn包给服务端,然而网络阻塞了,服务端没有收到,所以服务端也不会回复,客户端收不到回复就会从新发送syn包,然而就在这时刻服务端接纳到了第一个syn包,并且回复客户端,这个时刻客户端会启动比对校验这是不是自己最新发送的syn回复包,假设不是的话就会给服务端发送rst包,示意要求服务端终止这个衔接。这也是三次握手的意义所在。

假设说没有第三次握手,那么在出现下面的这个状况后,服务端就会为每个syn恳求创立衔接,衔接是须要占用内存的,就会消耗很多的资源。形成资源糜费,所以三次握手很有必要。

那么四次握手能否可以呢?

四次握手的话也是可以的,四次握手其实就是客户端发送syn包给服务端,服务端回复ack包,服务端发送syn包给客户端,客户端回复ack包,三次握手中的第二次握手回复的是syn+ack包,一切相当于兼并了四次握手中的两边两次,所以三次握手最好。

TCP是双向衔接,所以两个方向上的衔接都要断开。

在网络传输的环球里,有两个值是用来示意数据包失效的:

所以普通状况下MSL会大于TTL减为0所消耗的期间。

这里为什么是2倍的MSL呢?

由于当客户端接纳到服务端的fin包后,会向服务端回复ack,然而客户端不知道这个ack能否发送成功了,所以客户端须要确认服务端接受成功后才干置为close形态,怎样确认呢,由于失败重传机制的存在,假设由于网络阻塞服务端没有收到ack,服务端会再次发送一次性fin,一次性ack包和再一次性fin包就是2倍的MSL。MSL的计时是从收到fin包并且发送ack包开局的。

除了下面说的保障客户端的ack发送到服务端,并被正确接纳,从而保障被封锁衔接的一方可以正确封锁。

还能保障那些阻塞在网络中旧的衔接,在端口又被复用的状况下,被接纳到,这样就会出现数据杂乱,而time_wait可以保障所有的网络中的衔接被摈弃。

MSL自动是30秒。须要留意的是time_wait 的形态多了会占用内存资源和端口资源,所以不宜太多。

为什么要启动四次挥手?

tcp是双向衔接,客户端发送fin包给服务端,服务端回复ack,只是客户端通知服务端不再向服务端发送数据。

还须要服务端通知客户端,服务端不再向客户端发送数据了,也就是服务端也要想客户端发送fin包,客户端也要给服务端回复ack包,这时刻服务端和客户端才干进入close形态。

服务端在收到客户端发送的fin包并回复ack包后,服务端并不能马上向发送端发送fin包,由于此时或者还有衔接在处置数据,必定等到数据处置完后才干向客户端发送fin包。

正由于这个要素,不能像三次握手那样把两边两次兼并。

  • 关注微信

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://duobeib.com/diannaowangluoweixiu/6459.html

猜你喜欢

热门标签

洗手盆如何疏浚梗塞 洗手盆为何梗塞 iPhone提价霸占4G市场等于原价8折 明码箱怎样设置明码锁 苏泊尔电饭锅保修多久 长城画龙G8253YN彩电输入指令画面变暗疑问检修 彩星彩电解除童锁方法大全 三星笔记本培修点上海 液晶显示器花屏培修视频 燃气热水器不热水要素 热水器不上班经常出现3种处置方法 无氟空调跟有氟空调有什么区别 norltz燃气热水器售后电话 大连站和大连北站哪个离周水子机场近 热水器显示屏亮显示温度不加热 铁猫牌保险箱高效开锁技巧 科技助力安保无忧 创维8R80 汽修 a1265和c3182是什么管 为什么电热水器不能即热 标致空调为什么不冷 神舟培修笔记本培修 dell1420内存更新 青岛自来水公司培修热线电话 包头美的洗衣机全国各市售后服务预定热线号码2024年修缮点降级 创维42k08rd更新 空调为什么运转异响 热水器为何会漏水 该如何处置 什么是可以自己处置的 重庆华帝售后电话 波轮洗衣机荡涤价格 鼎新热水器 留意了!不是水平疑问! 马桶产生了这5个现象 方便 极速 邢台空调移机电话上门服务 扬子空调缺点代码e4是什么疑问 宏基4736zG可以装置W11吗 奥克斯空调培修官方 为什么突然空调滴水很多 乐视s40air刷机包 未联络视的提高方向 官网培修 格力空调售后电话 皇明太阳能电话 看尚X55液晶电视进入工厂形式和软件更新方法 燃气热水器缺点代码

热门资讯

关注我们

微信公众号