TCP、UDP的区别以及三次握手四次挥手的过程

      最后更新:2022-04-05 13:16:21 手机定位技术交流文章

      文章目录

        • I. 万维网TCP/IP模式
        • 二、TCP
          • 1、TCP报文格式
          • 2. TCP连接需要三次握手。
            • 次要问题:为什么你需要握手三次?
          • 3. TCP数据传输是通过互联网发送数据的过程。
            • 拥塞控制和流量控制
          • 4. 四波TCP断开
            • 为什么你需要四波而不是三波?
        • 三、UDP
        • 四、tCP和UDP之间的关键差异

      I. 万维网TCP/IP模式

      若要实现计算机与网络设备之间的沟通, 就必须遵循同样的规范, 例如中文、英文、中文等,

      TCP/IP协议实际上是属于TCP/IP协议的一系列协议,如TCP、UDP、HTTP、IP、FTP等。

      OSI七层模型包括物理层、数据连接层、网络层、传输层、届会层、表达层和应用层。

      TCP/IP协议有四层:链层、网络层、传输层和应用层。
      在这里插入图片描述
      特别是以下各表:
      在这里插入图片描述
      这篇文章是我们2011年埃及大选特别报道的一部分。 不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,

      端口号是0-65535, 我们通常选择一个大于1023的端口, 使用低于1023的端口。
      一些协议的端口号:
      在这里插入图片描述

      二、TCP

      TCP代表《传输控制议定书》,它是一种基于字节的传输层议定书,连接并且可靠。

      1、TCP报文格式

      TCP的头条标题是20字节长。

      检查序列号( Ack) 是否与控制位置的 ACK 不同, Ack 通常是另一侧先前传输的序列号加上

      控制位置对区分每个TCP状态至关重要,包括3节握手和4节波,主要用于SYN、ACK和FIN。
      在这里插入图片描述

      2. TCP连接需要三次握手。

      在使用任何基于 TCP 的程序之前, 它需要通过“ 三握手” 连接 。
      在这里插入图片描述
      SYN可被解释为连接请求,在申请时为1个,ACK回答时为1个;在答复时为1个;SYN在有1个时不允许传输数据,但使用序列号。

      机要证明,序号是所收到报告最后一段的确认,并按顺序报告提交。

      1. 客户启动(第一次握手):客户向服务器发送一个SYN软件包,用于请求连接,将SYN设置为1,并且由于这是第一次传输,后续是随机的,锁定为零。

      2. 服务响应(第二次握手):服务器用SYN-ACK包对客户端响应。它用于确认和接受连接请求。将SYN置为1,ACK置为1,序列也是随机的:b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-b-Ack现在已成为一个+1。这是所收到的第一个+1数据。通常,彼此的序列号+1(在连接阶段),因此,Ack=a+1;

      3. 客户回应(第三次握手):客户向服务器发送了一个ACK软件包,以验证服务器的回复信息,该信息将ACK设为1,即最后的Ack,或随后发送到服务器的Ack=a+1。

      最后一步是注意到客户已检查了该条目第三次能够携带数据,但如果不是,则序列号没有用完;也就是说,如果数据不在这里传输,当客户发送下一条信息时序列号(seq)也是+1。
      在这里插入图片描述
      在这里插入图片描述

      这张地图来自https://ww.unep.org. org. 对不起, Bilibili. 你怎么了? Spm_id_ from=33.337. 对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起。

      TCP与发送和接收缓存指示器的TCP链接、重新传送队列的指针、当前发送和接收的序列号等等都存放在转让控制区。

      大致解释一下:
      1、最初,双方的TCP程序已经完成。服务器首先生成一个传输控制块 。该系统用于跟踪有关TCP连接进程的关键信息。然后,他们准备接受与TCP客户程序建立联系的请求。TCP 服务器程序目前正在监听 ListEN 。服务器是被动开放连接,等待TCP客户程序提出连接请求。

      2. 在计划连接时,客户程序也是首先建立一个传输控制区块,然后将连接信息请求发送到服务器(第一次握手)并同步传输状态(SYN-SENT);客户积极创建连接。

      3. 如果在服务器接受连接请求后就连接达成协议,则向客户提供连接请求确认部分(第二次握手),并同时向接收国(SYN-RCVD)提供连接请求确认部分(第二次握手)。

      4 - 当客户收到连接请求确认书时,标准确认电文(第三次握手)也将送交服务器。当服务器收到确认信件时,它还会插入已建立的连接(ESTABLISHED),这是首次建立连接。双方都已准备发送数据。

      次要问题:为什么你需要握手三次?

      我们必须首先理解握手三次的意义。第一个客户端被发送到服务器,服务器收到之后,服务器意识到其接收功能正常运行。向客户提供了第二个服务器。当客户收到信息时,客户将意识到其传输功能正常运行。接受职能也是可以接受的。不过此时,服务器无法确定其传输功能是否正常 。这需要第三次握手,以证明双方有正常的接收和派遣能力。

      3. TCP数据传输是通过互联网发送数据的过程。

      为确保可靠和有条不紊地提供数据,TCP采用序列号(seq)和确认序列号(Ack)字段。
      在这里插入图片描述
      服务器终端序列号为b+1,因为服务器发送信件时没有数据,因此没有消耗序列号,导致服务器发送信件,文本和文本均为b+1。

      服务器确认的序列号(Ack)是确认报告的最后一段,该段是连续收到和收到的,通常是客户先前的序列号+有效载荷。

      拥塞控制和流量控制

      流动控制:当一方发送过多的数据而另一方没有及时收到数据时,信息就会丢失。

      使用滑动窗口方法来管理流量,收件人将自己的接收窗口的大小加到返回的电文上,以控制发送者的数据发送。

      更具体地说,https://ww.unep.org.

      一致性控制:一致性控制的目的是防止将多余的数据注入网络,以免路由器或网络连接负担过重。

      4. 四波TCP断开

      在使用“四波”方法完成数据传输时,TCP必须切断连接和免费系统资源。
      在这里插入图片描述
      1. (第一波):客户最初向服务器发送FIN软件包,即要求断开,使用FIN签字位置1;此时,客户进入终止等待状态1(FIN-WAIT-1)。

      2 (第二波): 当服务器收到客户端请求终止连接时, 它会发送 ACK 确认信息 。ACK符号是 1, 表示服务器可能仍然有数据可以中继 。因此,不会立即断线;相反,服务器将进入即将关闭的等待状态(CLOSE-WAIT)。

      2.5. 客户在收到服务器的确认信息后,将进入等待结束状态2(FIN-WAIT-2)。

      3 (第三波):当服务器传送数据时,将发送一个FIN软件包给客户端,表示连接可以断开,FIN符号为1;服务器目前处于最后确认状态(LAST-ACK)。

      4-4(第四波):客户在获得FIN软件包后能够有所作为。服务器将获得 ACK 确认信息 。ACK标志位为1。目前,客户处于等待时间状态(TIME-WAIT),还必须等待2*MSL关闭(关闭)。

      4.5. 一旦收到确认文件,服务器将立即关闭(关闭)。

      小问题:为什么客户在发送最后确认信息后不立即关闭?
      答复:如果发出最后一个确认员额,客户将获准使用该员额。如果你直接进入停机门同时,如果所签发的确认书丢失,我们将能够确定正在发生的情况。此外,服务器不会收到客户的确认文本。FIN 软件包将始终由服务器重新发送 。到那时,客户被解除了作用无法接收请求,服务器将保持最终确认模式 。无法关闭,浪费资源。

      应当指出,FIN=1物品即使不包含任何数据,也消耗序列号。

      MSL(最大安全寿命):RFC 793建议最多报告期寿命为2分钟。 2倍于MSL = 4分钟

      四次挥手图解:
      在这里插入图片描述
      上面的小问题图解:
      在这里插入图片描述

      为什么你需要四波而不是三波?

      分两种情况:
      首先,服务器的端端将第二和第三波混为一波。
      此时,如果客户要求关闭连接,此外,如果服务器尚未完成数据传输,在向客户端提供 FIN 包之前, 服务器必须先发送自己的数据 。客户也许可以重新分配FIN的软件包,时间过长,因为他认为FIN的软件包丢失了。会导致资源浪费。

      第二,客户最后一次不会挥手。
      如果服务器上的 FIN 软件包此时丢失, 客户将不会处于关闭状态, 如果没有收到, 客户将继续浪费资源 。

      小知识:保活计时器
      在这里插入图片描述

      三、UDP

      UDP (用户数据表协议) 是一个用户数据协议, 断开且不可信 。

      联合民主党发送的数据不会被对立方截获。

      联合民主党的头条标题只有8字节长,大大低于TCP。
      在这里插入图片描述

      四、tCP和UDP之间的关键差异

      1. TCP是相互联系的,但UDP不是;
      2. TCP是可靠的,受到流动和拥堵控制,但UDP并不可靠,因此不可靠。
      3. TCP是一对一的联系,但UDP可以一对一、一对一和多对一进行联系。
      4. TCP用于字节流,而UDP用于不报告。
      5. TCP报告的标题更大,至少20字节,但联合民主党只报告8字节。
      6. TCP用于需要可靠传输的申请,如邮件传输、文件传输等,而UDP则用于实时传输,如电视会议、现场广播等。

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

          热门文章

          文章分类