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

1. 首先,拥塞控制和流量控制是不一样的. 拥塞控制是防止过多的数据注入到网络中,可以使网络中的路由器或链路不致过载,是一个全局性的过程.  流量控制是点对点通信量的控制,是一个端到端的问题,主要就是抑制发送端发送数据的速率,以便接收端来得及接收. 2. 拥塞的标志:1.重传计时器超时 2.接收到三个重复确认 3. 发送方维持一个叫做拥塞窗口的状态变量.拥塞窗口的大小取决于网络的拥塞程度,且动态地在变化. 慢开始和拥塞避免: 1.慢开始算法的思路就是,不要一开始就发送大量的数据,先探测一下网络的…
TCP拥塞控制 计算机网络中的带宽.交换结点中的缓存和处理机等,都是网络的资源.在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就会变坏.这种情况就叫做拥塞. 拥塞控制就是防止过多的数据注入网络中,这样可以使网络中的路由器或链路不致过载.拥塞控制是一个全局性的过程,和流量控制不同,流量控制对接收者的,它是通过控制发送者的发送速度保证接收者能够来得及接收. 慢开始算法 和 拥塞避免算法 发送方维持一个叫做拥塞窗口cwnd(congestion window)的状态变量…
TCP/IP网络知识点总结 一.总述 1.定义:计算机网络是一些互相连接的.自治的计算机的集合.因特网是网络的网络. 2.分类: 根据作用范围分类: 广域网 WAN (Wide Area Network) 局域网 LAN (Local Area Network) 城域网 MAN (Metropolitan Area Network) 个人区域网 PAN (Personal Area Network) 根据使用者分类: 公用网 (public network) 专用网 (private netwo…
计算机网络在IT行业的重要性 IT即互联网技术,从事的工作和网络有很大的关系,前端要负责和后台(服务器)进行交互,其必然得经过网络,所以懂点网络知识有很大的帮助. 网络模型数据处理过程 传输层协议的作用 提供了一种端到端(end to end)的连接,一般为前端和后台服务器的连接 由于网络层只管传递数据,并不关心成功与否,TCP协议在数据丢失.损坏的情况下保证数据的可靠性 传输层协议的分类 传输控制协议TCP(Transimision Control Protocal): 可靠的.面向连接的协议…
前言:上学期实训课,由于要做一个网络通信的应用,期间遇到各种问题,让我深感计算机网络知识的薄弱.于是上网查找大量的资料,期间偶然发现了roc大神的博客,很喜欢他简明易懂的博文风格.本文受roc的<计算机网络协议包头赏析-TCP>的启发,希望根据自己所学以及IETF的相关文档,在原有基础上,进行相应知识的扩充,特别地将针对大部分字段的用途进行分析. (1)TCP报文格式图示: TCP报文段也分为首部和数据两部分,首部默认情况下一般是20字节长度,但在一些需求情况下,会使用“可选字段”,这时,首部…
动机 写这篇文章本质上的动机是因为前天发了一个朋友圈,见最后的写在最后,但实际上,我早就想总结总结TCP拥塞控制算法点点滴滴了,上周总结了一张图,这周接着那些,写点文字. 前些天,Linux中国微信公众号推了一篇文章,上班路上仔细阅读了一下,感受颇深,一方面由于此文说出了很多我想表达却苦于组织语言的观点,另一方面,此文表达了一些我没能认识到的事实,整个一天的时间,我都在思考此文的字词句,我想写一篇读后感是最合适不过的了. 附上那篇文章的链接: <netdev 第二天:从网络代码中移除“尽可能快”…
1. 拥塞原因与代价 拥塞的代价 当分组的到达速率接近链路容量时,分组经历巨大的排队时延. 发送方必须执行重传以补偿因为缓存溢出而丢弃的分组. 发送方在遇到大时延时进行的不必要重传会引起路由器利用其链路带宽来转发不必要的分组副本. 当一个分组沿一条路径被丢弃时,每个上游路由器用于转发该分组到丢弃该分组而使用的传输容量最终被浪费掉了. 运输层向网络层中发送报文段(含有初始数据或重传数据)的速率用表示,它有时被称为网络的供给载荷. 2. 拥塞控制方法 端到端的拥塞控制:网络层没有为运输层提供显示帮助…
TCP必须使用端到端拥塞控制而不是使网络辅助的拥塞控制,因为IP层不向端系统提供显式的网络拥塞反馈.TCP采用的方法是让每一个发送方根据所感知到的网络拥塞程度来限制其能向连接发送流量的速率. 几个相关概念: 1.  MSL MSL 是Maximum Segment Lifetime英文的缩写,中文可以译为“报文最大生存时间”,他是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃. 2. TTL IP头中有一个TTL域,TTL 是 time to live的缩写,中文可以译为“生存时间”,…
最近利用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如何的精巧,更多的是领悟其设计思想,即在一般情况下,我们该怎样处理问题.   一.拥塞的发生与其不可避免    拥塞发生的主要原因:在于网络能够提供的资源不足以满足用户的需求,这些资源包括缓存空间.链路带宽容量和中间节点的处理能力.由于互联网的设计机制导致其缺乏“接纳控制”能力,因此在网络资源不足时不能限制用户数量,而只能靠降低服务质量来继续为用户服务,也就是“尽力而为”的服务. 拥塞其实是一个动态问题,我们没有办法用一个静态方案去解决,从这个意义上来…
3.7 TCP拥塞控制 在3.5.5流量控制中有,接收方通过维护一个rwnd来控制流量,本节中考虑三个问题: 第一,  一个TCP发送方如何限制它向其他连接发送流量的速率. 第二,  一个TCP发送方如何感知从发送方到目的方产生了拥塞. 第三,  当发送方感知到拥塞,采取什么算法来改变发送速率. 第一个问题,一个TCP发送方如何限制它向其他连接发送流量的速率? TCP连接每一端都由一个发送缓存,接收缓存和几个变量组成(这些在TCP连接的时候分配的),在发送方TCP拥塞控制机制跟踪一个额外的变量,…
在阅读此篇之前,博主强烈建议先看看TCP可靠传输及流量控制. 一.TCP拥塞控制 在某段时间,若对网络中某资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏——产生拥塞(congestion).出现资源拥塞的条件:对资源需求的总和 > 可用资源:拥塞带来的问题:若网络中有许多资源同时产生拥塞,网络的性能就要明显变坏,整个网络的吞吐量将随输入负荷的增大而下降. 1. 拥塞的控制方法一(慢开始和拥塞避免) 发送方维持一个叫做拥塞窗口 cwnd (congestion window)的状态变…
不多说,直接上干货! 福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号:   大数据躺过的坑      Java从入门到架构师      人工智能躺过的坑         Java全栈大联盟        每天都有大量的学习视频资料和精彩技术文章推送... 人生不易,唯有努力.        百家号 :九月哥快讯               快手号:  jiuyuege               什么是拥塞? 当大量的分组进入通信子网,超出了网络的处理能力时,就会引起网络…
为了防止网络的拥塞现象,TCP提出了一系列的拥塞控制机制.最初由V. Jacobson在1988年的论文中提出的TCP的拥塞控制由“慢启动(Slow start)”和“拥塞避免(Congestion avoidance)”组成,后来TCP Reno版本中又针对性的加入了“快速重传(Fast retransmit)”.“快速恢复(Fast Recovery)”算法,再后来在TCP NewReno中又对“快速恢复”算法进行了改进,近些年又出现了选择性应答( selective acknowledge…
TCP 拥塞控制 相关名词 滑动窗口 tcp通过滑动窗口进行流量控制,所谓的窗口可以理解为接收端所能提供的缓冲区大小. TCP是一个滑动窗口协议,即一个TCP连接的发送端在某个时刻能发多少数据是由滑动窗口控制的 RTT(Round trip time) 表示从发送端到接收端的一去一回需要的时间. TCP在数据传输过程中会对RTT进行采样(即对发送的数据包及其ACK的时间差进行测量,并根据测量值更新RTT值) RTO (Retransmission TimeOut) 发送数据包,启动重传定时器,重…
计算机网络要点---TCP 浏览器在通过域名通过dns服务器找到你的服务器外网ip,将http请求发送到你的服务器,在tcp3次握手之后(http下面是tcp/ip),通过tcp协议开始传输数据,你的服务器得到请求后,开始提供服务,接收参数,之后返回你的应答给浏览器,浏览器再通过content-type来解析你返回的内容,呈现给用户.下面来说一下,TCP协议: 1.TCP协议 客户端与服务器之间数据的发送和返回的过程当中需要创建一个叫TCP connection的东西: 由于TCP不存在连接的概…
第六章 传输层-Transport Layer(下) 上一篇文章对传输层的寻址方式.功能.以及流量控制方法做了简短的介绍,这一部分将介绍传输层最重要的两个实例:TCP协议和UDP协议,看一看之前描述的传输层要素是如何应用于TCP.UDP协议之中,并实现他们各自特点的.这一章中,读者应该重点关注TCP与UDP的区别,以及TCP是如何实现滑动窗口.拥塞控制的. 6.4 Internet传输协议:UDP/User Datagram Protocol 6.4.1UDP特点 上图是UDP的头.UDP的头很…
文章转自:https://blog.csdn.net/weixin_43914604/article/details/105532044 学习课程:<2019王道考研计算机网络> 学习目的:利用最省时间的方法学习考研面试中的计算机网络. 1.什么是拥塞控制? 所谓拥塞控制,是指防止过多的数据注入网络,保证网络中的路由器或链路不致过载.出现拥塞时,端点并不了解到拥塞发生的细节,对通信连接的端点来说,拥塞往往表现为通信时延的增加.当然,拥塞控制和流量控制也有相似的地方,即它们都通过控制发送方发送数…
TCP的拥塞控制 拥塞(congestion) 在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏. 拥塞控制 拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载. 如图所示,横坐标是提供的负载(offered load),代表单位时间内输入给网络的分组数目.纵坐标是吞吐量(throughput),代表单位时间内从网络输出的分组数目. 理想状态:在吞吐量饱和之前,网络吞吐量应等于提供的负载,故吞吐量曲线是45度的斜线.但当提供的负载…
TCP的流量控制 1. 利用滑动窗口实现流量控制 如果发送方把数据发送得过快,接收方可能会来不及接收,这就会造成数据的丢失.所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收. 利用滑动窗口机制可以很方便地在TCP连接上实现对发送方的流量控制. 设A向B发送数据.在连接建立时,B告诉了A:“我的接收窗口是 rwnd = 400 ”(这里的 rwnd 表示 receiver window) .因此,发送方的发送窗口不能超过接收方给出的接收窗口的数值.请注意,TCP的窗口单位是字节,不…
按照功能不同,人们将互联网协议分为osi七层或tcp/ip五层或tcp/ip四层(我们只需要掌握tcp/ip五层协议即可) 每层运行常见物理设备: TCP/IP协议: Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议.Internet国际互联网络的基础. OSI五层协议各层的功能: 物理层:计算机之间要想一起玩,就必须接入internet,言外之意就是计算机…
传输控制协议(Transmission Control Protocol) 概念 一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC 793定义.在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内另一个重要的传输协议. 主要特点 (1)TCP是面向连接的运输层协议.这就是说,应用程序在使用TCP协议之前,必须先建立TCP协议.在传送数据完毕后,必须释放已经建立的TCP连接.类似于“打电话”,需要先拨号建立连接,通话完之后要挂机释…
Basic: TCP,传输控制协定,它是目前最广泛使用的网络传输协议.SMTP.SSH.FTP.HTTP等因特网底层协议均是TCP. TCP面向连接,提供端到端的数据可靠传输.连接时三次握手.断开是四次挥手.详细表现为: 1.       TCP对传输的数据做了序号标记,当中序号标记安装字节数增长. TCP对端在接收到数据后发出一个ACK给对端(ACK中就包括序列号).TCP使用确认和超时重传机制保障了数据的可靠性传输. 2.       因为发送和接收端的数据处理能力不同,为了避免数据发送过快…
运输层向它上面应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最底层. 两个主机进行通信实际上就是两个主机中的应用进程互相通信.应用进程之间的通信又称为端到端的通信. 应用层不同进程的报文通过不同的端口向下交到运输层,再往下就共用网络层提供的服务. 运输层为应用进程之间提供端到端的逻辑通信(但网络层是为主机之间提供逻辑通信).运输层还要对收到的报文进行差错检测. 运输层需要有两种不同的运输协议: (1)用户数据报协议 UDP (User Datagram Protocol)…
一般原理:发生拥塞控制的原因:资源(带宽.交换节点的缓存.处理机)的需求>可用资源. 作用:拥塞控制就是为了防止过多的数据注入到网络中,这样可以使网络中的路由器或者链路不至于过载.拥塞控制要做的都有一个前提:就是网络能够承受现有的网络负荷. 对比流量控制:拥塞控制是一个全局的过程,涉及到所有的主机.路由器.以及降低网络相关的所有因素.流量控制往往指点对点通信量的控制.是端对端的问题. 拥塞窗口 发送方为一个动态变化的窗口叫做拥塞窗口,拥塞窗口的大小取决于网络的拥塞程度.发送方让自己的发送窗口=拥…
TCP 的流量控制与拥塞控制可以说是一体的.流量控制是通过滑动窗口实现的,拥塞避免主要包含以下2个内容: (1)慢开始,拥塞避免 (2)快重传,快恢复   1.流量控制——滑动窗口 TCP采用大小可变的滑动窗口进行流量控制,窗口大小的单位是字节. 发送窗口在连接建立时由双方商定.但在通信的过程中,接收端可根据自己的资源情况,随时动态地调整对方的发送窗口上限值(可增大或减小). 为什么要设置窗口? 我们可以把窗口理解为缓冲区(但是有些窗口和缓冲区又不太一样). 如果没有这些“窗口”,那么TCP没发…
转自:http://blog.csdn.net/yusiguyuan/article/details/22847787 注:本文绝大部分是来自转载的博客,还补充了少量内容. 一.TCP的拥塞控制 拥塞:即对资源的需求超过了可用的资源.若网络中许多资源同时供应不足,网络的性能就要明显变坏,整个网络的吞吐量随之负荷的增大而下降. 拥塞控制:防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载.拥塞控制所要做的都有一个前提:网络能够承受现有的网络负荷.拥塞控制是一个全局性的过程,涉及到所…
1. TCP概念相关 [!NOTE] TCP(Transmission Control Protocol),又叫传输控制协议. TCP协议是面向连接的,可靠的,基于字节流的传输协议.在基于 TCP 进行通信时,通信双方需要先建立一个 TCP 连接,建立连接需要经过三次握手,断开连接的时候需要经过四次挥手. 1.1 TCP头部 对于 TCP 头部来说,以下几个字段是很重要的: 序列号 (Sequence number),这个序号保证了 TCP 传输的报文都是有序的,对端可以通过序号顺序的拼接报文…