拥塞: 拥塞发生的主要原因在于网络能够提供的资源不足以满足用户的需求,这些资源包括缓存空间.链路带宽容量和中间节点的处理能力.由于互联网的设计机制导致其缺乏"接纳控制"能力,因此在网络资源不足时不能限制用户数量,而只能靠降低服务质量来继续为用户服务,也就是"尽力而为"的服务. 拥塞其实是一个动态问题,我们没有办法用一个静态方案去解决,从这个意义上来说,拥塞是不可避免的. 重传机制: 重发定时器 (1) 每一次一个包含数据的包被发送(包括重发),如果该定时器没有运行则…
滑动窗口机制 滑动窗口协议的基本原理就是在任意时刻,发送方都维持了一个连续的允许发送的帧的序号,称为发送窗口:同时,接收方也维持了一个连续的允许接收的帧的序号,称为接收窗口.发送窗口和接收窗口的序号的上下界不一定要一样,甚至大小也可以不同.不同的滑动窗口协议窗口大小一般不同.发送方窗口内的序列号代表了那些已经被发送,但是还没有被确认的帧,或者是那些可以被发送的帧.下面举一个例子(假设发送窗口尺寸为2,接收窗口尺寸为1): 分析: ①初始态,发送方没有帧发出,发送窗口前后沿相重合.接收方0号窗口打…
TCP协议 本文内容如下:      1)TCP协议概念      2)TCP头部结构和字段介绍      3)TCP流量控制            滑动窗口      4)TCP拥塞控制           慢启动.拥塞避免.快重传.快恢复 有关TCP的三次握手四次挥手单独写了一篇博客:[TCP协议]---TCP三次握手和四次挥手 有关TCP粘包和黏包,也单独写一篇博客,下一篇博客就写有关粘包黏包问题. 一.TCP概念 TCP(Transmission Control Protocol 传输控…
一.ping ping可以说是ICMP的最著名的应用,是TCP/IP协议的一部分.利用"ping"命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障. 例如:当我们某一个网站上不去的时候.通常会ping一下这个网站.ping会回显出一些有用的信息.一般的信息如下: ping这个单词源自声纳定位,而这个程序的作用也确实如此,它利用ICMP协议包来侦测另一个主机是否可达.原理是用类型码为0的ICMP发请 求,受到请求的主机则用类型码为8的ICMP回应. ping程序来计算间隔时…
TCP协议作为一个可靠的面向流的传输协议,其可靠性和流量控制由滑动窗口协议保证,而拥塞控制则由控制窗口结合一系列的控制算法实现.一.滑动窗口协议 关于这部分自己不晓得怎么叙述才好,因为理解的部分更多,下面就用自己的理解来介绍下TCP的精髓:滑动窗口协议. 所谓滑动窗口协议,自己理解有两点:1. “窗口”对应的是一段可以被发送者发送的字节序列,其连续的范围称之为“窗口”:2. “滑动”则是指这段“允许发送的范围”是可以随着发送的过程而变化的,方式就是按顺序“滑动”.在引入一个例子来说这个协议之前,…
  1. 流量控制 - Flow Control 序言:数据的传送与接收过程当中很可能出现收方来不及接收的情况,这时就需要对发方进行控制以免数据丢失.利用滑动窗口机制可以很方便的在TCP连接上实现对发送方的流量控制.TCP的窗口单位是字节,不是报文段,发送方的发送窗口不能超过接收方给出的接收窗口的数值. 说明:使发送方暂停发送的状态将持续到主机B重新发出一个新的窗口值为止.B向A发送的三个报文段都设置了ACK=1.   考虑一种特殊的情况,接收方若没有缓存足够使用,就会发送零窗口大小的报文,此时…
TCP 的流量控制与拥塞控制可以说是一体的.流量控制是通过滑动窗口实现的,拥塞避免主要包含以下2个内容: (1)慢开始,拥塞避免 (2)快重传,快恢复 1.流量控制——滑动窗口 TCP采用大小可变的滑动窗口进行流量控制,窗口大小的单位是字节. 发送窗口在连接建立时由双方商定.但在通信的过程中,接收端可根据自己的资源情况,随时动态地调整对方的发送窗口上限值(可增大或减小). 为什么要设置窗口? 我们可以把窗口理解为缓冲区(但是有些窗口和缓冲区又不太一样). 如果没有这些“窗口”,那么TCP没发送一…
参考资料 http://blog.chinaunix.net/uid-26275986-id-4109679.html http://network.51cto.com/art/201501/464002_all.htm 一.滑动窗口协议 将TCP与UDP这样的简单传输协议区分开来的是它传输数据的质量.TCP对于发送数据进行跟踪,这种数据管理需要协议有以下两大关键功能: 可靠性:保证数据确实到达目的地.如果未到达,能够发现并重传. 数据流控:管理数据的发送速率,以使接收设备不致于过载. 要完成这…
TCP的滑动窗口协议是什么 滑动窗口协议,用于网络数据传输时的流量控制,以避免拥塞的发生.该协议允许发送方在停止并等待确认前发送多个数据分组.由于发送方不必每发一个分组就停下来等待确认,因此该协议可以加速数据的传输,提高网络吞吐量.它本质上是描述接收方的TCO数据报缓冲区大小的数据,发送方根据这个数据来计算自己最多能发送多长的数据.这个窗口大小为0时,发送方将停止发送数据.启动定时器,等待这个窗口变成非0.   滑动窗口协议必须保证数据包的按序传输,发送窗口中的序列号代表已发送但尚未收到确认的数…
首先,TCP/IP不是一个协议,而是一个协议族的统称. 里面包括了IP协议,IMCP协议,TCP协议,以及http.ftp.pop3协议等等. TCP/IP协议分层 提到协议分层,我们很容易联想到ISO-OSI的七层协议经典架构,但是TCP/IP协议族的结构则稍有不同.如图所示 OSI与TCP/IP的层次关系对照 TCP/IP协议族按照层次,由上到下,层层包装. 第一层就是应用层,这里面有http,ftp,等等我们熟悉的协议. 第二层是传输层,著名的TCP和UDP协议就在这个层次. 第三层是网络…