美文网首页
TCP那些事下

TCP那些事下

作者: Crazy2015 | 来源:发表于2019-06-09 16:17 被阅读0次

TCP要解决一个很大的事,那就是要在一个网络根据不同的情况来动态调整自己的发包的速度,小则让自己的连接更稳定,大则让整个网络更稳定。

TCP的RTT算法

从前面的TCP重传机制我们知道Timeout的设置对于重传非常重要。

  • 设长了,重发就慢,丢了老半天才重发,没有效率,性能差;
  • 设短了,会导致可能并没有丢就重发。于是重发的就快,会增加网络拥塞,导致更多的超时,更多的超时导致更多的重发。

而且,这个超时时间在不同的网络的情况下,根本没有办法设置一个死的值。只能动态地设置。 为了动态地设置,TCP引入了RTT——Round Trip Time,也就是一个数据包从发出去到回来的时间。这样发送端就大约知道需要多少的时间,从而可以方便地设置Timeout——RTO(Retransmission TimeOut),以让我们的重传机制更高效。 听起来似乎很简单,好像就是在发送端发包时记下t0,然后接收端再把这个ack回来时再记一个t1,于是RTT = t1 – t0。没那么简单,这只是一个采样,不能代表普遍情况。

TCP滑动窗口

需要说明一下,如果你不了解TCP的滑动窗口这个事,你等于不了解TCP协议。我们都知道,TCP必需要解决的可靠传输以及包乱序(reordering)的问题,所以,TCP必需要知道网络实际的数据处理带宽或是数据处理速度,这样才不会引起网络拥塞,导致丢包。

所以,TCP引入了一些技术和设计来做网络流控,Sliding Window是其中一个技术。 前面我们说过,

**TCP头里有一个字段叫Window,又叫Advertised-Window,这个字段是接收端告诉发送端自己还有多少缓冲区可以接收数据。于是发送端就可以根据这个接收端的处理能力来发送数据,而不会导致接收端处理不过来。 **

TCP的拥塞处理 – Congestion Handling

拥塞控制主要是四个算法:

  • 1)慢启动,
  • 2)拥塞避免,
  • 3)拥塞发生,
  • 4)快速恢复。

相关文章

  • TCP那些事下

    TCP要解决一个很大的事,那就是要在一个网络根据不同的情况来动态调整自己的发包的速度,小则让自己的连接更稳定,大则...

  • TCP 那些事上

    TCP头格式 你需要注意这么几点: TCP的包是没有IP地址的,那是IP层上的事。但是有源端口和目标端口。 一个T...

  • 计算机网络

    TCP 的那些事儿(上) TCP 的那些事儿(下) 计算机网络之面试常考 Carson_Ho总结

  • 技术收集

    网络协议 基于 HTTP 长连接的“服务器推”技术 TCP 的那些事儿(上) TCP 的那些事儿(下) 操作系统 ...

  • TCP 的那些事儿(下)

    这篇文章是下篇,所以如果你对TCP不熟悉的话,还请你先看看上篇《TCP的那些事儿(上)》 上篇中,我们介绍了TCP...

  • TCP 的那些事儿(下)

    这篇文章是下篇,所以如果你对TCP不熟悉的话,还请你先看看上篇《TCP的那些事儿(上)》 上篇中,我们介绍了TCP...

  • TCP协议

    注意:本文摘抄自陈皓的:TCP那些事 关于TCP/IP协议层次划分 我们需要知道TCP在网络OSI的七层模型中的第...

  • TCP

    聊聊iOS中网络编程长连接的那些事 网络编程基础知识: 简述传输层协议TCP和UDP的区别总结:TCP协议在传送数...

  • 【tcp】tcp那些事儿

    share_ppt/tcp_protocol.pdf https://raw.githubusercontent....

  • TCP(下)

    1 简介 TCP协议中,客户端发送的包,服务端都应该有回复。如果某个包服务端超过一定时间没有回复,则客户端需要重新...

网友评论

      本文标题:TCP那些事下

      本文链接:https://www.haomeiwen.com/subject/vzrnxctx.html