计算机网络-5-9-TCP拥塞控制】的更多相关文章

TCP拥塞控制 计算机网络中的带宽.交换结点中的缓存和处理机等,都是网络的资源.在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就会变坏.这种情况就叫做拥塞. 拥塞控制就是防止过多的数据注入网络中,这样可以使网络中的路由器或链路不致过载.拥塞控制是一个全局性的过程,和流量控制不同,流量控制对接收者的,它是通过控制发送者的发送速度保证接收者能够来得及接收. 慢开始算法 和 拥塞避免算法 发送方维持一个叫做拥塞窗口cwnd(congestion window)的状态变量…
动机 写这篇文章本质上的动机是因为前天发了一个朋友圈,见最后的写在最后,但实际上,我早就想总结总结TCP拥塞控制算法点点滴滴了,上周总结了一张图,这周接着那些,写点文字. 前些天,Linux中国微信公众号推了一篇文章,上班路上仔细阅读了一下,感受颇深,一方面由于此文说出了很多我想表达却苦于组织语言的观点,另一方面,此文表达了一些我没能认识到的事实,整个一天的时间,我都在思考此文的字词句,我想写一篇读后感是最合适不过的了. 附上那篇文章的链接: <netdev 第二天:从网络代码中移除“尽可能快”…
计算机网络基础之TCP/IP 协议栈 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.TCP/IP 协议栈概述 1>.什么是TCP/IP协议栈 Transmission Control Protocol/Internet Protocol 传输控制协议/因特网互联协议 TCP/IP是一个Protocol Stack,包括TCP.IP.UDP.ICMP.RIP.TELNET.FTP.SMTP.ARP等许多协议 最早发源于美国国防部(缩写为DoD)的因特网的前身ARPA网项目,…
1. 拥塞原因与代价 拥塞的代价 当分组的到达速率接近链路容量时,分组经历巨大的排队时延. 发送方必须执行重传以补偿因为缓存溢出而丢弃的分组. 发送方在遇到大时延时进行的不必要重传会引起路由器利用其链路带宽来转发不必要的分组副本. 当一个分组沿一条路径被丢弃时,每个上游路由器用于转发该分组到丢弃该分组而使用的传输容量最终被浪费掉了. 运输层向网络层中发送报文段(含有初始数据或重传数据)的速率用表示,它有时被称为网络的供给载荷. 2. 拥塞控制方法 端到端的拥塞控制:网络层没有为运输层提供显示帮助…
TCP必须使用端到端拥塞控制而不是使网络辅助的拥塞控制,因为IP层不向端系统提供显式的网络拥塞反馈.TCP采用的方法是让每一个发送方根据所感知到的网络拥塞程度来限制其能向连接发送流量的速率. 几个相关概念: 1.  MSL MSL 是Maximum Segment Lifetime英文的缩写,中文可以译为“报文最大生存时间”,他是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃. 2. TTL IP头中有一个TTL域,TTL 是 time to live的缩写,中文可以译为“生存时间”,…
上一篇博客阐述了TCP/IP五层网络结构模型以及一些关于TCP.UDP的基础知识,这篇博客会接着写一些关于TCP拥塞控制的算法以及对TCP中常有的疑问进行解答. TCP拥塞控制 首先了解几个概念,为下面的叙述做铺垫 拥塞窗口(cwnd):TCP拥塞控制中的主要参数,表示发送端下一次最多可以发送的数据分包的个数,是来自发送端的流量控制. 接收端窗口(rwnd):又称通知窗口(Advertise Window),接受端目前每次所能接收的数据分组的最大个数,是来自接收端的流量控制. 慢开始门限(sst…
最近利用NS2做TCP拥塞控制协议的仿真,发现很多变量的方法含义都是解释的不清楚,给核心模块修改带来很多麻烦,所以决定用最准确的语言解释成员变量.方法,术语等的含义.限于个人水平,若有错误请留言指正! 盲点一: int recover_;(tcp.h/tcp.cc) 这个变量的最准确的含义是发送端在收到3个重复的ACK或超时或者源抑制或者带有ECN-Echo的ACK时,发送端已经发送的最大序列号. 盲点二: 源抑制(source quench):当TCP/IP主机发送数据到另一主机时,如果速度达…
TCP 拥塞控制  虽然网络层也试图管理拥塞,但是,大多数繁重的任务是由TCP来完成的,因为针对拥塞的真正解决方案是减慢数据率  分组守恒:当有一个老的分组离开之后才允许新的分组注入网络  TCP希望通过动态维护窗口大小来实现这个目标 拥塞检测 (Congestion detection)  所有的互联网TCP算法都假定超时是由拥塞引起的,并且通过监视超时的情况来判断是否出现问题 拥塞控制 (Congestion prevention)  当一个连接建立的时候,双方选择一个合适的窗口大…
拥塞控制是TCP通信的每一方需要执行的一系列行为,这些行为有特定算法规定,用于防止网络因为大规模的通信负载而瘫痪.其基本方法是当有理由认为网络即将进入拥塞状态(或已由于拥塞而出现路由丢包情况)时减缓TCP传输.TCP拥塞控制的关键点自傲与怎样准确的判断何时需要减缓且如何减缓TCP传输,以及何时恢复其原有速度. 注意: M(_x) 表示M的下标是x ,m(^k) 表示m的K次方. 减缓TCP发送 第15章提到,根据接收方剩余缓存空间大小,在TCP头部设置通告窗口大小字段,该数值是TCP发送方调节发…
 研究TCP的拥塞机制,不仅仅是想了解TCP如何的精巧,更多的是领悟其设计思想,即在一般情况下,我们该怎样处理问题.   一.拥塞的发生与其不可避免    拥塞发生的主要原因:在于网络能够提供的资源不足以满足用户的需求,这些资源包括缓存空间.链路带宽容量和中间节点的处理能力.由于互联网的设计机制导致其缺乏“接纳控制”能力,因此在网络资源不足时不能限制用户数量,而只能靠降低服务质量来继续为用户服务,也就是“尽力而为”的服务. 拥塞其实是一个动态问题,我们没有办法用一个静态方案去解决,从这个意义上来…