计算机网络概述 传输层 TCP拥塞控制

TCP拥塞控制

计算机网络中的带宽、交换结点中的缓存和处理机等,都是网络的资源。在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就会变坏。这种情况就叫做拥塞。

拥塞控制就是防止过多的数据注入网络中,这样可以使网络中的路由器或链路不致过载。拥塞控制是一个全局性的过程,和流量控制不同,流量控制指点对点通信量的控制。

拥塞控制 和 流量控制 的区别?
1. 拥塞控制:拥塞控制是作用于网络的,它是防止过多的数据注入到网络中,避免出现网络负载过大的情况;
2. 流量控制:流量控制是作用于接收者的,它是控制发送者的发送速度从而使接收者来得及接收。
PS:拥塞控制是针对于网络而言的,它是防止往网络中写入太多分组,从而导致网络拥塞的情况;而流量控制是针对接收者的,它是通过控制发送者的发送速度保证接收者能够来得及接收。

拥塞控制的目的?
1. 缓解网络压力
2. 保证分组按时到达

慢开始算法 和 拥塞避免算法

发送方维护一个发送窗口,发送窗口的大小取决于网络的拥塞情况和接收窗口的大小,发送窗口是动态变化的。
发送方还维护一个慢开始门限
发送窗口 < 慢开始门限:使用慢开始算法
发送窗口 > 慢开始门限:使用拥塞避免算法
发送窗口 = 慢开始门限:使用慢开始算法或拥塞避免算法
算法的具体过程:
通信开始时,发送方的发送窗口设为1,并发送第一个分组M1;
接收方收到M1后,返回确认应答,此时发送方发送窗口扩大两倍,并发送M2、M3;(即,发送方每次收到确认应答后,都将发送窗口设为当前值的两倍)
若发送窗口>慢开始门限,则使用拥塞避免算法,每次收到确认应答后都将发送窗口+1;
若发送方出现了超时重传,则表明网络出现拥塞,此时:
a)慢开始门限设为当前发送窗口的一半;
b)发送窗口设为1;
c)启用拥塞避免算法;
PS:发送超时重传时,发送窗口有可能已经超过了慢开始门限,也有可能还没超过;此时不管何种情况,都一律启用拥塞避免算法,并执行上述三步操作!
慢开始算法的作用:慢开始算法将发送窗口从小扩大,而且按指数级扩大,从而避免一开始就往网络中注入过多的分组从而导致拥塞;它将窗口慢慢扩大的过程其实也在探测网络拥塞情况的过程,当发现出现拥塞时,及时降低发送速度,从而减缓网络拥塞。
拥塞避免算法的作用:拥塞避免算法使发送窗口以线性方式增长,而非指数级增长,从而使网络更加不容易发生拥塞。
AIMD算法(加法增大乘法减小算法)
慢开始算法 和 拥塞避免算法 还有个名称叫做『加法增大乘法减小算法』。
加法增加:指的是拥塞避免算法,使得发送窗口以线性的方式增长;
乘法减小:指的是不管当前正使用慢开始算法还是拥塞避免算法,只要发生拥塞时,慢开始门限将会变成当前窗口的一半。
快重传算法 和 快恢复算法

上述慢开始算法和拥塞避免算法能保证网络出现拥塞时进行相应的处理,而快重传和快恢复是一种拥塞预防的方式,此时网络可能尚未出现拥塞,但已经有拥塞的征兆,因此得作出一些预防措施。
快重传原理:因为TCP具有累计确认的能力,因此接收者收到一个分组的时候不会立即发出应答,可能需要等待收到多个分组之后再同一发出累计确认。但快重传算法就要求,接收者如果接收到一个乱序的分组的话,就必须立即发出前一个正确分组的确认应答,这样能让发送者尽早地知道有一个分组可能丢失。
快恢复原理:当发送者收到同一个分组的三个确认应答后,就基本可以判断这个分组已经丢失了;这时候无需等待超时,直接执行『乘法减小加法增大』:
将慢开始门限减半;
将发送窗口减半(不设为1);
使用拥塞避免算法;
---------------------
作者:凌澜星空
来源:CSDN
原文:https://blog.csdn.net/u010425776/article/details/55006347
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/lizhouwei/p/9865988.html

时间: 2024-10-07 13:45:14

计算机网络概述 传输层 TCP拥塞控制的相关文章

【计算机网络】-传输层-Internet传输协议-TCP

[计算机网络]-传输层-Internet传输协议-TCP TCP介绍 在不可靠的互联网上提供一个可靠的端到端字节流 面向连接的.可靠的.端到端的.基于字节流的传输协议 TCP位置 TCP服务模型 应用程序访问TCP服务 通过在收发双方创建套接字来实现的 套接字的地址 用(IP地址,端口号)来表示的 知名端口 1024以下的端口号,如FTP:21,TELNET:23,SMTP:23 每条连接用(套接字1,套接字2)来表示,是点到点的全双工通道 TCP不支持 多播(multicast)和广播(bro

传输层 TCP UDP

传输层 TCP UDP TCP:ip提供点到点的连接,通过ip可以找到目标主机,TCP 传输控制协议 提供可靠的面向连接的端到端的协议(确认端口.提供服务类型)(传输效率低) DUP:用户数据报协议,不可靠的 非面向连接的协议.(传输效率高) TCP封装格式 4.TCP的三次握手=建立连接. 四次断开 =结束通信发送完成之后断开连接=四次断开TCP计时器: 重传计时器--为了控制丢失的数据段 坚持计时器--为了防止零窗口死锁(信息不对成,双方都在等待) 保活计时器--防止两个TCP连接长时间的空

计算机网络【六】:传输层-TCP概述 【转】

转自:http://blog.chinaunix.net/uid-26275986-id-4109209.html 根据TCP/IP协议的分层结构,网络层之上是传输层,从层次结构上来看,传输层位于网络的最高层和应用的最底层.传输层的主要作用有两个:一个是居于网络层与应用层之间提供复用和分用的服务:另一个则是需要的时候为应用层提供可靠的传输服务.复用和分用指的是传输层负责实现端到端的传输,即计算机进程之间的通信:而网络层则负责点到点的传输,最重要的功能是路由寻址.     网络通信的"用户&quo

计算机网络7:传输层TCP和UDP以及TCP的工作方式

UDP:无连接:不保证可靠:面向报文的: TCP:面向连接:提供可靠交付:面向字节流(把应用层的数据分包,每个包装一些字节:不关心应用层给的包多大,而是根据网络状况,窗口大小决定) TCP报文: 序号:原数据中的第几个字节 确认号(ack):到第几个字节都收到 窗口:我的窗口(接受窗口)有多大 ACK:1用于一般的数据包,0用于握手确认 选项:MSS(最大数据报文)+ 首部=数据包,MSS可以尽量大,但是在IP层不被分片 滑动窗口——以字节为单位 超时重传时间的选择 TCP流量控制 零窗口探测报

TCP/IP(三):传输层TCP与UDP

TCP协议 概述 TCP协议和UDP协议处于同一层:传输层,但是两者之间有很大的区别,TCP协议具有以下特点: TCP提供可靠的数据传输服务,TCP是面向连接的,即数据在通信之间要先建立连接,结束通信时要释放连接,这也是后面所说的3次握手,4次挥手: TCP是点对点的连接方式,即一条TCP连接两端只能是两个端点: TCP提供可靠的,无差错的,不丢失,不重复,按顺序的服务: TCP提供全双工通信,允许通信双方任何时候都能发送数据,TCP在连接的两端都设置有发送缓存和接收缓存: TCP是面向字节流的

计算机网络的传输层的简单介绍:

在应用层下为传输层,如TCP与UDP: 传输层与网络层之间的不同: 传输层负责信息在主机进程与服务器进程之间的传递: 网络层负责信息在主机与服务器之间的传递:     差了一个进程啊: 传输层的信息用:segment 表示:它是这样得到的:把应用层的message 分成一块块,然后再加上传输层的文件头: 另外,TCP的信息也会用segment表示,UDP的信息用datagram(数据报)表示:网络层上的message也用datagram表示: UDP:user datagram protocol

计算机网络之传输层 上

1. 理解传输层的基本理论和基本机制 1. 多路复用 / 分用(如果某层的一个协议对应直接上层的多个协议或者实体) 分用怎么工作:主机接收到IP数据包,每个数据包携带源IP地址,目的IP地址,携带一个传输层的段(Segment),每个源携带源端口号和目的端口号. 主机收到Segment,传输层协议提取IP地址和端口号信息,将Segment导向相应的Socket. 无连接的分用(UDP): 面向连接的分用(TCP):一对一,一个客户机进程对应一个服务机进程(一个进程可以有多个线程) 2. 可靠的数

传输层TCP/UDP协议

可靠的TCP协议(传输层) 1)  TCP封包结构如下图: 各字段的含义为: 封包序号:记录每个封包的序号,当TCP封包大于IP封包的长度时,TCP封包就需要拆分成更小的包,来下发给网络层,通过该字段可以让接收端重新将TCP数据组合起来. 回应序号:回传给客户端的响应码,当客户端收到这个确认码时,就能够确定之前传递的封包已经被正确的收下了. 资料补偿:由于Options字段是任意的,为了确认整个封包的大小,就用这个字段来说明整个封包区段的起始位置. 保留:保留字段,还未被使用. 控制标志码:用来

OSI模型第四层传输层--TCP协议

1.传输层2个协议tcp和udp 2.tcp的可靠性(挂号信). 面向链接的:类似寄挂号信,对方收到了并且能够确认.所以也是可靠的传输. 最大报文传输:两端可以协商传输报文大小.(协商一个报文的大小) 传输确认机制:传输收到报文会有确认.(每一个数据报文都有确认) 首部和数据检验和:确认数据报文中途不被修改. 流量控制:确定发送速度(协商一次发送多少报文) 3.tcp数据报文头部 4.tcp的建立和结束(3次握手和四次挥手)