"三次握手,四次挥手"作为当代文明青年怎么能不会【计网 ...

      最后更新:2022-01-06 03:23:41 手机定位技术交流文章

      Miraitow, Java Goose-Screen, 瓜斯 - 斯克林。 瓜斯 - 斯克林: 米拉托, Java Goose - Screen, Java Goose - Screen, Java Goose - Screen, Java, Java Goose
      传送日期:2022年1月4日?
      导言:由于最近关于计算机网络学习课程的结果,信息不时被修改。
      ?参考资料:王道考研计算机网络 度娘
      ? 引用 URL:? TCP 条目的第一个格式
      让我们保持短短,尝试新茶 用新鲜的火,诗歌和葡萄酒。
      你想用什么来教育我? 用问题轰炸我?
      不客气 真的不客气 信息还是收藏?

      在这里插入图片描述

      ?我是目录?

      • TCP报告的第一种格式
      • TCP的三次握手
        • 举两个栗子?
      • TCP的四次挥手

      TCP的三次握手和四次挥手,可以说是老生常谈的经典问题了,通常也作为各大公司常见的面试考题,我觉得想要清楚理解,还是要从TCP报告的第一种格式说起

      TCP的介绍

      TCP(《转让控制议定书》)是一项转让议定书,特别为在不稳定的互联网网络上提供可靠的端对端流而制定。

      TCP报告的第一种格式

      在这里插入图片描述

      第一固定部分的实地含义如下:

      1 来源港口和目的地港口:每个港口取两个字节,并写出来源港口和目的地港口。

      2 序号: 4 字节。 序列号范围是 [ 02- 32-1],共有232个序号( 即 429 497 296 个序号) 。 在通过 TCP 连接传送的字节流中,每个字节顺序编号。 此参数指定了在此报告字段中传送的数据的第一个字节 。
      例如,报纸的序号是201收到的字节总数为100。这表明本报告的第一个数据字节是201个。最后的字节载有序列号300。显然,下一段(如果有的话)应从301中的数据开始。也就是说,以下条目编号的字段值应为401。字段号也称为“报告段落号”。

      3 确认号:4个字节是预期在另一方下次提交材料中将收到的初始数据字节数。
      例如,B要求A的报告副本是对的。序列号字段的值为 501 。数据为200字节长(序列号501-700)。这意味着B收到A传送的数据,最高序号为700。因此,B预计在不久的将来会收到A的下一个数据 编号为701。编号701的识别号码随后列入B向A发出的确认信。注意,确认号码已不再是501。也不是700,而是701。
      简而言之:如果确认的数字等于N,则意味着所有N-1序列号以下的数据都已成功收到。

      4个数据抵消:4个地点,它跟踪了TCP提交材料自开始提交以来,TCP提交材料中的数据进展程度。这个领域代表了TCP提交的初步部长级文件。由于第一部分的选择字段长度不清楚,因此,数据必须不同于实地数据。但应注意,“数据偏移”单位为32个字(即4字节)。因为可以说明四位数二进制数字,所以最大小数数为15。最大的四位数二进制是11因此,最大数据偏差值为60字节,这也是TCP起始数中最大的字节(即,由于有一个20字节的固定头,该选项不能大于40字节)。

      5 URG:当URG=1表示紧急指针字段有效时,它通知系统,报告中有紧急数据应在可行的情况下尽快提供(相当于高度优先数据),而不是按原来的排队顺序提供。
      例如,我们及时送来文件意外地,接收者告诉我,我不能接受这些文件。快停止,如果发件人收到消息 很快就会终止命令必须响应发件人停止的号召发送 。进入TCP缓存是个坏主意当我们的 URL 设为单数时,就需要尽快发送,我不知道我会做什么, 但我知道,我不会做它。不用去排队

      当URG置为1时,中继应用程序通知发送者TCP有重要数据需要发送。发送者TCP随后将紧急数据放在本报告数据前面。紧急数据背后的数据仍然是一般数据。这应与第一部分的紧急指针(紧急指针)字段结合使用。

      确认ACK(知情) :ACK = 1号码一经确认,就合法了。ACK = 0,确认号无效。

      7 PSH(PuSH):当两个方案同时运行时。交互式的通信当一端的申请程序希望在输入命令后迅速从另一端获得答复时,可使用TCP。推送(push在这一点上,发送者TCP将PSH设为1, 并立即准备发送邮件。 接收者TCP收到一份PSH=1的提交书,并在可行的情况下尽快启动接收申请程序( 即不必等到全部缓存填好后才能交付)。

      8 反转 RST (ReSeT): 当 RST = 1 时, 手表 TCP 连接出现重大问题 。无论是由于主机故障还是其他原因RST还可用于拒绝未经授权的入口或拒绝启动连接。

      SYN(SYNron化):用于在连接建立时同步序列号。如果SYN=1和ACK=0,则使用SYN=1和ACK=0。这表明请求涉及连接段落。如果另一方同意,建立联系是可行的。在答复中使用SYN=1和ACK=1。因此,将SYN改为1表示接收电文是连接请求或连接。(当你三回握手的时候 你会注意到的)

      10 FIN (FINIS): 终止 FIN (FINIS): 用于释放连接。 当 FIN = 1 时, 发出信号, 显示在本报告期内发送的数据已经发送, 运输连接必须释放。 我不确定您在说什么 。如果你挥手四次,你会注意到的)

      窗口 窗口: 需要两个字节。 窗口值在 [ 0, 216-1] 之间是一个整数。 窗口指的是发送本报告中信件的当事人的接受窗口 。这不是你个人发件人的窗口。)。窗口的数值相互告知,根据本报告第一节中的确认号,接收方现在可以相互传输数据(以字节计)。造成这种限制的原因是必须这样做。因为接收方的数据缓存空间受到限制总之,窗口值作为接收器的基础,使发送者能够建立发件人的窗口。

      例如,发送了一个报文段,其确认号是701,“701到701,”他们提到窗口字段。我还可以从我的接收缓存(即电文发件方)中接收1,00字节的数据(701-1700字节)。你在给我发数据时,这件事必须考虑一下 我不知道我该怎么办

      简而言之:窗口字段清楚地显示当前允许另一方发送的数据数量。 窗口值正在不断变化 。

      测试和: 2 字节。首部+数据12B添加到假头 获得第四字段,即6。

      紧急指针: 2 字节。 紧急指针只是..URG=1,即本报告所载的紧急数据字节数。当紧急数据被删除后,该数据返回正常状态。我不知道你们在说什么。AA 因此,紧急指示直接指向 报告所述期间结束时紧急数据的位置。当所有紧急数据处理完毕时, TCP 指示程序恢复正常运行。即使时间是0小时,也可以发送紧急数据。

      选项( 变长长度) :最大 MMS 、 窗口扩大时间戳和确认选择;

      在这里插入图片描述

      TCP连接管理

      三步骤TCP连接转让

      在这里插入图片描述
      使用TCP连接创建。客户-服务器模式 (c/s),即自动启动的连接形成申请程序,即客户在被动等待建立联系的同时,申请程序称为:服务器

      TCP的三次握手

      TCP的三次握手

      在这里插入图片描述
      启动客户端和客户端都以 CLOSED 模式运行,而服务器正在积极收听端口并使用 ListEN 模式。

      ROUND 1:ISN(c) 是一个由客户随机生成的序列号。与上图的后数相等=x同时,SYN信号设为1,信号SYN信息,然后将第一个SYN信息发送到服务器,表明服务器开始连接,客户端在SYN_发送状态显示时间,SYN信号设为1,信号SYN信息,然后将第一个SYN信息发送到服务器,表明服务器启动连接,客户端处于SYN_发送状态。

      注意:它不包括任何应用级别的数据,目前ACK设为0。由于客户尚未收到服务器发来的信息,确认号码毫无价值,因为客户不知道要预测什么。前面我们也说过了,如果请求获得批准和确认,只有SYN为1。

      ROUND 2:当服务器从客户端收到SYN信息时,它会用自己的SYN报告作出回应,并指定自己的初始序列号ISN。与上图的以下值相对应=y,同时将客户端 ISN+1 带来x+1 = x+1 = x+1 = x+1 = x+1 = x+1 = x+1 = x+1当服务器表示它已收到客户端 SYN 时,它处于SYN_REVD状态,如日志值所示。

      注意:报告缺乏关于适用程度的资料。自从我们讨论SYN 在两种情况下。分别是连接请求 和连接请求的确认因此,我们现在将SYN的要求与一个要求联系起来。从第二次握手中,它被连接了起来。已经建立好了,就不需要SYN了,与 SYN 的以下连接为零。 连接建立时, ACK 是 1 。杰克 我们的确认号码是正确的我不确定 我不确定 我不确定 我不确定在发送者之前,下一个我们预期会接收的字段是 X+1 。

      ROUND 3:客户收到 SYN 信息后, 即发送 ACK 信息, 服务器的 ISN+1 用作 ACK 值, 表示此时收到服务 SYN 信息 。在稳定的条件下,客户
      一旦服务器收到 ACK 信息, 服务器也将就位 。分类地位双方已在此点建立了联系。

      Ps:
      (1)SYN=1指定报告不传输数据,而是消耗序列号后序号=x,其中后序号=x是客户端初始序列号,因为 tcp 是位元流。
      (2) SYN=1表示,报告没有包括数据,但用了序列号后序号,后序号是服务器初始序号。ACK=1是一个确认号
      ack=x+1另一个组织者(_A)x+1。然后服务器进入到SYN-RCVD等待的状态
      (3) ACK=1是一个识别号码,后数=x+1是服务器最新的序列号回复,ack=y+1假定客户下次收到序列号时,会是y+1。

      虽然获得ACK答复的前提是另一方有能力接收和传输数据,但 tcp 通信必须保证双方都有能力进行通信,因此双方必须发送SYN,以确认另一方有能力进行通信。第一次握手发送SYN的客户、接收的服务以及来自客户发送和接收能力的服务都是正常的。第二次握手服务器发送SYN+ACK,客户收到客户接收,客户从客户收到,客户收到,但服务器目前无法验证客户的能力。第三次握手客户发送ACK,服务器得到它,服务器可以从客户处推断正常接收能力,服务器也可以自己发送。
      在这里插入图片描述

      TCP有三个握手。

      举两个栗子?

      村里有个叫阿熙的穷人 已经单身很久了 他的兄弟王今天来介绍他 但他还在睡觉

      在这里插入图片描述在这里插入图片描述
      在这里插入图片描述在这里插入图片描述

      ?老王哦,你能听到我说话吗,我是国王
      ?‍?老许古代君主的呼声是响亮的警钟,“我是石明,能听见你,能听见我吗?”
      ?老王听着,哦,这是阿熙的声音 我能听见你说话,我要告诉你一件事

      "你在找妻子吗?"
      他如此忙于准备 以至于他变得兴奋 和匆匆走出家门。

      这是一个简单的三手握的连接和数据传输,难道不好笑吗?

      再来个栗子?:
      我们都写好了?我们怎么知道对方的反应会经历这些?

      他们两人都写道:用明作为客户,用红作为服务器,他们都写道:
      第一次握手:
      小明写信给红帽说:"我对你的感觉已经很久了, 你能和我呆在一起吗?"
      第二次握手:
      红色在收到信后回应明明: 我知道, 但我也佩服你。
      瑞德不确定明明现在是否收到供状因为那些送来我们供状信的人 拦截了它 当你去上学时,你遇到了它,哈哈),然后就等待
      第三次握手:
      Ming急切地打开了他的信,回答道:“我知道,那我们在一起吧。”

      只有这样,才能真正建立关系。
      男人和女人就是这样互动的,你无聊了,所以不要想太多!

      我不确定这间屋子里有没有疑点 但如果我们不看这个

      为什么有三次握手?一次、两次或四次?

      我们可以说,在我们完成后, 因为三个握手 保证双方的能力 接收和发送。

      主要原因:其目的是防止服务器接收无效的连接请求电文,从而导致错误。
      NB. 无效的连接请求: 如果客户端向服务发送连接请求, 它会等待一个答案, 然后再次发送连接请求, 如果先前的连接请求是“ 失败 ” 。
      a.客户只要用两次握手来建立连接,就不会改变很多。 客户必须等待服务方的回应,然后才能建立连接,服务提供方在收到连接请求后成立。
      此时如果网络拥塞,服务器推迟了客户的连接请求。这是已加班的客户首次要求重新提出这项请求。如果服务提供商收到并确认答复正确,双方便开始通信,当对话完成后,连接将被终止 。此时,如果服务收到未成功连接请求,由于只有两次握手,如果您收到请求,您的身份将改变为成立。等待数据的发送或自由发送。不过,客户目前已经关闭。服务供应商将耐心等待这种情况的发生。这是对服务终端连接的使用效率低下。

      使用“三握手”战略可能避免发生上述情况,例如,如果客户不向服务器提供确认书,服务器理解客户没有寻求连接,因为它没有得到确认。

      握手两三次,你能传送数据吗?

      第一次和第二次握手不允许传输数据。数据可以通过第三次握手传递如果您第一次能够传输数据,如果服务器被恶意攻击在每一种情况下,SYN报纸都向它提供了大量信息,该报纸尚处于早期阶段。2011年叙利亚抗议活动特别报导,目前,服务器将消耗大量内存空间来缓冲这些信息。服务器更容易受到攻击。

      TCP的四次挥手

      让我们先举个例子 免得我们发现四个波浪

      举个栗子

      或者明和红 在那里,他们现在恋爱了。

      在这里插入图片描述
      明和洪在恋爱后经常在电话上聊天 他还把明当作他的妻子客户端,小红当作服务器端。小明跟小红说话,
      第一次挥手:
      他说:“现在我说什么都还不算太早,我该退休了。”
      第二次挥手:
      瑞德不想上床睡觉 醒来后说: "好吧,我知道,我还没完"
      让我们开始派对吧 红帽 在爱情演讲之后
      第三次挥手:
      瑞德对明说 "我受够了"
      第四次挥手:
      明明得到消息并通知洪康:我知道,但明明别无选择,只能挂断电话。明明在2MSL后挂断电话。
      如果红队在目前完成,等待2MSL,而明军保持沉默,那我就完了。明军只有在收到他最后的回复后才挂断电话。

      因此,我们回到TCP的浪潮。
      在这里插入图片描述

      在这里插入图片描述
      ROUND 1:
      客户希望终止连接, 并发送 TCP 初始 FIN 标记, 设定为 1, 然后客户进入 FIN_ WAIT_ 1 状态 。
      ROUND 2:
      当服务器收到信息时客户收到了ACK的回复然后服务器将其状态改为 CLOSE_WAIT 。因此,客户与服务器在这方面的联系导致半封闭状态的释放。服务器不需要在此情况下作出反应 。都结束了 因为宿主已经走了只需要等到,服务器向他自己发誓,他也会结束它。
      ROUND 3:
      当数据被发送到服务器, TCP 连接自动结束时, 连接发布部分会被传输。 因为客户端没有提供数据, 第二和第三个日志是相同的, Jack 期待的下一则消息将保持不变 。
      ROUND 4:
      在等待定时器设定 2MSL (最长报告期) 后,客户发送确认信息,连接完全结束。

      我不确定这里是否有疑问 但如果我们不解决这些问题

      为什么我们最初的连接被切断, 但我们可以发送回一张纸?

      问题是我在研究期间在屏幕上指的是什么, 我有点困惑, 因为断开只是没有提供数据, 服务器必须处理, 并且直到它处于CLOSED状态, 它才真正关闭。

      为什么委托人不寄回ACK 然后在关闭前等一会儿?

      对于面试来说,这是一个常见的考试点。这其中的原因就是,为了确认服务器接收到我们的ACK信息如果没有收到的话,FIN 消息会受到服务器对客户端的怨恨 。在客户第二次收到ACK报告后我知道ACK报告是错的那就再发一次ACK信息至于至少有一次来回报告通常确定一个时钟,如果这次之后再没有收到FIN的电文,代表对方的成功就是正在发送的ACK电文。CLOSED 状态

      在这里插入图片描述

      在这里插入图片描述

      ------不客气 真的不客气 信息还是收藏?-----
      <-----希望大家假期?快?????----->
      <------------?2022新年快乐?----------->
      <----------✨2022大家一起加油✨---------->

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/15693.html

          热门文章

          文章分类