📜  传统TCP

📅  最后修改于: 2021-09-27 14:53:49             🧑  作者: Mango

传输控制协议 (TCP) 是传输层协议,用作客户端和服务器之间的接口。 TCP/IP 协议用于在传输层和网络层之间传输数据包。传输协议主要是为固定端系统和固定有线网络设计的。简单来说,传统的 TCP 被定义为有线网络,而经典的 TCP 使用无线方式。 TCP 主要是为固定网络和固定有线网络设计的。

TCP的主要研究活动如下。

1.拥塞控制:
在从发送方到接收方的数据传输过程中,有时可能会丢失数据包。这不是因为硬件或软件问题。每当确认数据包丢失时,可能的原因可能是传输路径中某个点的临时过载。这种临时过载也称为拥塞。

即使网络设计得很完美,也经常会引起拥塞。接收方的传输速度可能不等于发送方的传输速度。如果发送方的容量大于输出链路的容量,则路由器的数据包缓冲区已满,路由器无法足够快地转发数据包。在这种情况下,路由器唯一能做的就是丢弃一些数据包。

接收方感知数据包丢失,但不向发送方发送有关数据包丢失的消息。相反,接收方开始为所有接收到的数据包发送确认,发送方很快识别出丢失的确认。发送方现在注意到数据包丢失并减慢了传输过程。由此,减少了拥塞。 TCP 的这一特性是其需求甚至在今天的原因之一。

2. 慢启动:
TCP在检测到拥塞后表现出的行为称为慢启动。发送方始终为接收方计算拥塞窗口。首先发送方发送一个数据包并等待确认。一旦确认返回,它会将数据包大小加倍并发送两个数据包。在收到两个确认后,每个数据包一个,发送方再次将数据包大小加倍,这个过程继续。这称为指数增长。

每次将拥塞窗口加倍是很危险的,因为步长可能会变得太大。指数增长在拥塞阈值处停止。当达到拥塞阈值时,传输速率的增加变为线性(即仅增加 1)。线性增加一直持续到发送方注意到确认之间的差距。在这种情况下,发送方将拥塞窗口的大小设置为其拥塞阈值的一半,然后该过程继续。

3. 快速重传:
在 TCP 中,有两件事会导致拥塞阈值的降低。其中之一是发送方接收对单个数据包的连续确认。通过这种方式,它可以传达两件事中的任何一件。一件事是接收器接收到所有数据包直到确认的数据包,另一件事是间隙是由于数据包丢失造成的。现在,在给定时间到期之前,发送方立即重新传输丢失的数据包。这称为快速重传。

例子:
假设很少有数据包从发送方传输到接收方,发送方的速度分别为 2 Mbps,接收方的速度分别为 1 Mbps。现在,从发送方发送方传输到接收方的数据包在网络内部造成了交通拥堵。因此,网络可能会丢弃一些数据包。当这些数据包丢失时,接收方向发送方发送确认,发送方识别出丢失的确认。这个过程称为拥塞控制。

现在,slowstart 机制开始执行计划。发送方减慢数据包传输速度,然后流量略有减少。一段时间后,它会请求快速重传,通过该请求可以尽快再次发送丢失的数据包。在所有这些机制之后,下一个数据包的过程就开始了。