TCP传输控制协议的连接管理和拥塞控制

网络 网络管理
下面我们将为大家仔细讲解一下TCP传输控制协议的连接管理和拥塞控制的相关内容。首先还是让我们从它的管理机制来入手吧。

对于TCP传输控制协议的基本知识和结构我们已经有所了解了。现在我们来讲述一下有关于它的连接管理和拥塞控制的相关问题。首先让我们来了解一下什么是TCP传输控制协议的连接管理:

1,客户机端向服务器端TCP发送一个特殊的TCP报文段,这个报文段不包含任何应用层数据。但是在报文段首部中的SYN比特被置为1(这个报文段叫SYN报文段).客户机会随机选择一个起始序号,并将这个编号放置入首部中的相应字段;

2,当包含TCPSYN报文段的IP数据报传到服务器主机,服务器会从该数据报中读出TCPSYN报文段,为该TCP连接分配TCP缓存和变量,并向客户机TCP发送允许连接的报文段(这个报文段也不包含应用层数据)。另外该报文段中填有对客户机端报文段的确认号,以及在报文段中填充上相应的自己希望的初始序号。

3,客户机端收到SYNACK报文段,也要给该TCP连接分配缓存和变量,客户机还会向服务器端发送一个报文段,设置SYN为0,同时填有相应的确认号。

4,客户机端和服务器端任意一端都可以提出终止连接。提出终止的一方,向另一方发送报文段,其中FIN字段设置为1,等待另一方ACK确认,之后,等待另一方发送的FIN报文段,确认之后,再等待一定时间,即可关闭连接。

TCP传输控制协议的拥塞控制:

1.考虑多个发送方,具有无限缓存的路由器;

2.考虑多个发送方,具有有限缓存的路由器;

3.考虑多个发送方,具有有限缓存的路由器,且在多跳路径的条件下。

第1种情况,在分组速率接近链路容量时,分组经理的巨大排队时延;

第2种情况,发送方在遇到大的时延情况下,还会因为不必要的重传,引起路由器利用其链路带宽来转发不必要的分组拷贝;第3种情况,导致一个分组沿一条路径被丢弃时,每个上游路由器用于转发该分组到丢弃该分组而使用的传输容量最终被浪费掉了。

拥塞控制的方法有两种,其1是端到端拥塞控制;其2是网络辅助的拥塞控制。第1种方案是端系统由于网络层没有为运输层拥塞控制提供显示的支持。即使在网络中存在拥塞,端系统也需要通过对网络行为的观察,才能予以确定。第2种方案是通过网络层显示的通知发送方。这个也是现在建议TCP协议采用的一种方案。目前用于的是ATMABR(可用比特率)拥塞控制方案。

端到端拥塞控制中,TCP发送方感知发生拥塞是通过有丢弃事件发生(丢弃事件是指,1.发送超时;2.连续收到3个ACK报文段)。

TCP传输控制协议拥塞控制算法主要包括以下三部分:

1)加性增,乘性减

2)慢启动

3)对超时事件作出反应

TCP通过维持一个阈值(Threshold)的变量来管理这些较复杂的动态过程,它是用来确定慢启动将结束,且避免拥塞将开始的窗口长度。

第1,加性增是指TCP发送方在如果没有检测到拥塞,则可能有可用的带宽可被TCP利用,因此在TCP发送方每再收到一个连续的ACK报文段后,使得拥塞窗口增加1,直至拥塞出现。乘性减是指在TCP发送方连续收到3个重复的ACK报文段后,认为有报文段丢失,传输路径可能发生了拥塞,这时迅速将拥塞窗口减半,如果还发生丢包,则继续减半。

第2,慢启动是指TCP发送方,在初始化阶段,以很慢的速率开始传输,但是以指数速率快速增加其发送速率。每当一个传输的报文段被确认,拥塞窗口值就增加一倍,直至增加到阈值,然后采用加性增,乘性减的策略。第3,对因超时而检测到的丢包事件和连续收到3个ACK报文段所作出的反应是不同的。对超时而检测到的丢包事件,则是采用慢启动的策略,连续收到3个ACK报文段则是采用乘性减的策略。因为此时,在丢包之后,但是仍然有报文段被接收端接受,这至少表明网络仍然有接付能力。因此在连续收到三个ACK报文段后,会取消慢启动阶段的行为被称为快速恢复。

当前大多数的TCP传输控制协议实现都是采用的Reno算法,及其变种。目前所提出的TCPVegas算法则是试图在维持较好的吞吐量时避免拥塞。

基本思想

1.在分组丢失前,检测在源端与目的地间的路由器中的拥塞情况。

2.当检测出快要发生丢失时,线性的降低发送速率。这个通过观察往返时延来预测。

责任编辑:佟健 来源: IT168
相关推荐

2010-06-13 15:32:57

TCP协议

2020-02-10 20:54:48

拥塞流量控制

2020-07-23 15:01:15

TCP流量拥塞

2010-06-13 15:37:24

TCP协议

2010-06-17 17:48:05

TCP传输控制协议

2014-09-12 18:18:02

tcpudtUDP

2019-04-16 11:02:10

TCPIPLinux

2010-06-17 23:21:16

TCP传输控制协议

2023-12-26 01:07:03

TCP拥塞控制

2021-10-11 14:27:06

TCP拥塞控制

2021-07-27 05:13:12

TCPUDP 拥塞

2019-11-26 08:24:13

TCP拥塞控制网络协议

2013-05-27 10:48:16

TCPUDP传输协议

2010-06-09 13:17:22

传输控制协议

2010-06-09 13:54:13

TCP传输协议

2010-06-09 16:28:50

TCP IP传输协议

2020-04-20 10:51:26

TCP拥塞控制网络协议

2010-06-09 13:21:30

TCP传输层协议

2021-08-03 10:10:16

HTTP连接管理

2021-08-03 09:33:55

HTTP网络协议TCP
点赞
收藏

51CTO技术栈公众号