想进大厂?这些TCP协议知识你应该知道

      最后更新:2022-05-23 15:07:13 手机定位技术交流文章

      概念

      《转让控制议定书》是以字节为基础的传输层通信议定书,是相互联系和可靠的。

      职责

      • 为了在各进程之间进行沟通,
      • 确保程序间通信的可靠性(第17段)并非安全保障)

      什么是可靠

      1. TCP将尽最大的努力相互发送数据。
      2. 如果它真的无法发送, TCP 会通知发送者。 数据发送器没有成功 。
      3. 您必须确信您没有收到错误的信息 。
      4. TCP保证所收到数据(按发送的顺序)被订购。
      5. TCP根据彼此的接受能力和网络线路的承载能力管理交通。

      TCP 安全技术

      确认应答机制

      TCP编号每个字节的顺序,即序号,和每个背心及其相应的确认序列号,通知发件人我收到了数据,你应该从下次哪里开始发送数据。

      超时重传机制

      如果主机A在这些通信期间没有得到主机B的回复,会怎么样?主机A有可能在送货途中把物品放错位置,或者主机B把软件包放错位置去给主机A。

      • 在向主机B传输数据时,主机A掉了数据。

      • TCCP是可靠的,因此丢包了他不会不管,主机A将等待主机B的答复(估计数据到达B的时间加上B答复的时间)。如果过了这段时间,东道国B的答复尚未到来。因此,东道主A相信他把行李箱放错地方了。我要重新发送信息再等一段时间,如果收到应答了,继续通信,如果你们不等待答复,继续发送一次,发送好几次之后,如果还没收到应答,网络要么过于拥挤,要么B侧有问题。主机A关闭连接

      TCP将进行序号加权。

      加班费在不断增加,通常是最初发送的第一个整数。

      还有一个汇款时限,即TCP在超过限额后关闭连接,告知过程中的异常点(通过排除异常点),并最终发送重置信息。

      连接管理机制

      三次握手

      连接建立后,客户将SYN软件包(syn=x)传送到服务器,并进入SYN_SENT状态,等待服务器确认。

      当服务器进入 SYN_RECV 状态时, 它会获得同步软件包, 并且必须验证客户端的 SYN (ack=x+1) 并发送 SYN 软件包( syn=y) 或 SYN+ACK 软件包 。

      第三手握: 收到服务器的 SYN+ACK 包后, 客户端发送确认包 ACK (ack=y+1) 完整, 客户端和服务器进入已建立( TCP 成功连接) 状态, 完成三次握手 。

      SYN:同步序列号

      四次挥手

      1. 第一次挥手:A->B,A 请求 B 断开连接 。FIN(终止者)=1Seq(序号)=u;发送 A 后A的TCP客户端进入FIN-WAIT-1(终止等待1)。A仍然可以在现阶段获得数据。
      2. 第二次挥手:B->A:B在收到A的连接释放请求后,收到确认信。其中ACK=1,seq=v,返回( 承认) = u+1; 发送 B 后,B 的服务器终端进入 CLOSE_WAIT (关闭等候) 状态 。当A收到这一确认时,其地位改为FIN-WAIT-2(等待结束2)。正在等待 B 发送连接请求释放 。B目前仍然能够传输数据。
      3. (如果 B 立即运行, A 总是处于此状态 。) TCP 协议并不处理此条件, 但 Linux 可能, 并且可以更改此选项 tcp_ fin_ 超时并设定超时 。
      4. 第三次挥手:B->A:当B已经没有要发送的数据时,B就会给A发送一个释放连接报文,其中FIN=1,ACK=1,seq=w,ack=u+1,在B发送完之后,B进入LAST-ACK(最后确认)状态。
      5. 第四次挥手:A->B;当A收到B的释放连接请求时,必须对此发出确认,其中ACK=1,序列=u+1, 确认=w+1; 发送后 A,输入时间-时间等待状态(等待时间) 。A 向B提供确认。该状态已改为封闭式封闭式封闭式封闭式封闭式封闭式封闭式封闭式封闭式封闭式封闭式封闭式封闭式封闭式系统。在等待定时器预设期限后只是A会标记为关闭。

      注:客户端必须在发送最后一次确认后等待 2MSL, 原因有两个。 首先是允许 B 按照标准程序进入 CCLED 状态, 第二项是避免已撤销请求与下一个连接连接 。

      TCP图图

      流量控制

      接收终端处理数据速度缓慢。如果传送得太快因此,接收端的缓冲区已经填满。如果这次寄件人坚持了下去就会造成丢包,之后是连锁反应,如袋子的再传送。因此,TCP支持基于接收端能力的程序。确定发件人的发货速度这种方法称为交通管制。与此相反,可使用滑动窗口技术来确定接收终端处理能力。

      滑动窗口

      窗口的概念

      发送器发送缓存中的数据分为四类: 1. 发送, 收到ACK2. 发送, 但没有收到ACK3 。 未发送, 但允许发送 4. 未发送, 但不允许发送 。

      类型2和类型3都属于发件人窗口。

      接收器的缓存数据分为三类:1.2.2.尚未收到,但正在接收中。

      类型 2 指定给接收窗口 。

      窗口大小指定了设备在发送到应用程序层之前从端到端一次处理的数据数量。 缓存发送到应用程序层的数据无法按照窗口机制的保证进行无序组织。 实际上, 应用程序层可能无法立即从缓存中获取数据 。

      滑动机制

      1. 只有当发件窗口中的字节验证了 ACK 时, 发件窗口的左边框才会被移动 。
      2. 接收窗口只有在前面所有段落都得到核实时才移动左边框。当前方没有收到但后方字节收到一个字节时,窗口没有移动,随后的字节也没有被确认。这保证了数据被重新传送到结尾处。
      3. 遵守快速传送规则、累积确认规则、筛选确认规则等
      4. 发送者传输窗口大小为8192字节,接收者发送最多为8192字节,而接收者发送最多为8192字节,这是接收缓存快递的发送者通常的大小,传递窗口大小为8192字节,而接收者发送最多为8192字节,这是接收缓存的发送者通常的大小。

      拥塞控制

      由于TCP有一个宽敞的滑雪窗口,它能够有效而安全地传输大量数据。 但是,如果在操作开始时发送了大量数据,它仍然可能引起问题。

      慢启动机制

      • 在选择传送数据的速度之前,将发送少量数据,以评估目前的网络堵塞状况。
      • 在这里展示一个被压缩的窗口的概念。
      • 发送开始时,将压缩窗口的大小设为 1;
      • 当收到 ACK 回答时, 梳理窗口会增加一个 。
      • 压缩窗口的大小与接收器每次传输数据包时的接收器输入主机进行比较,如果实际发送的窗口使用较小的数字,则使用较小的数字。

      然而,由于拥挤窗口的增长指数是指数水平,后来的增长往往是线性增长。

      • 压缩的窗口不能简单地翻倍来减缓其增长。
      • 在此设定一个慢启动阈值 。
      • 当压缩窗口通过这个门槛时,它会直线增长,而不是指数增长。

      • 当 TCP 启动时, 慢启动阈值等于最大窗口值 。
      • 缓慢的起始阈值每次重复时减少一半,而压缩窗口则保留。

      少数几袋丢弃的袋子只是造成加班重发;大量丢弃的行李造成网络堵塞。

      随着TCP通信的开始,互联网通过地点的出现;随着网络的拥挤,它会立即下降。 归根结底,收缩控制是TCP协议的目的,即尽可能快地相互传输数据,同时避免一个会给网络带来太大压力的折衷方案。

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

          热门文章

          文章分类