7免费网站建站,坪地网站建设价位,百度统计搜索词为什么有与网站不相关的词,营销型建设网站实训总结**
一、流量控制
**
1.1 什么是流量控制 Sender won’t overflow receiver’s buffer by transmitting too much, too fast. #xff08;防止发送方发的太快#xff0c;耗尽接收方的资源#xff0c;从而使接收方来不及处理#xff09; 1.2 流量控制的一些知识点 #x…**
一、流量控制
**
1.1 什么是流量控制 Sender won’t overflow receiver’s buffer by transmitting too much, too fast. 防止发送方发的太快耗尽接收方的资源从而使接收方来不及处理 1.2 流量控制的一些知识点 1接收端抑制发送端的依据接收端缓冲区的大小 2流量控制的目标是接收端是怕接收端来不及处理 3流量控制的机制是丢包 1.3 怎么样实现流量控制 使用滑动窗口 1.4 滑动窗口
滑动窗口是什么
滑动窗口是类似于一个窗口一样的东西是用来告诉发送端可以发送数据的大小或者说是窗口标记了接收端缓冲区的大小这样就可以实现批量发送数据
为什么会出现滑动窗口
在确认应答策略中对每一个发送的数据段都要给一个ACK确认应答收到ACK后再发送下一个数据段这样做有一个比较大的缺点就是性能比较差尤其是数据往返的时间长的时候
使用滑动窗口就可以一次发送多条数据从而就提高了性能
滑动窗口原理
TCP中采用滑动窗口来进行流量控制滑动窗口的大小意味着接收方还有多大的缓冲区可以用于接收数据。发送方可以通过滑动窗口的大小来确定应该发送多少字节的数据。当滑动窗口为0时发送方一般不能再发送数据报。
滑动窗口协议的基本原理就是在任意时刻发送方都维持了一个连续的允许发送的帧的序号称为发送窗口同时接收方也维持了一个连续的允许接收的帧的序号称为接收窗口。发送窗口和接收窗口的序号的上下界不一定要一样甚至大小也可以不同。不同的滑动窗口协议窗口大小一般不同。发送方窗口内的序列号代表了那些已经被发送但是还没有被确认的帧或者是那些可以被发送的帧。 1接收端将自己可以接收的缓冲区大小放入TCP首部中的“窗口大小”字段通过ACK来通知发送端 2窗口大小字段越大说明网络的吞吐率越高 3窗口大小指的是无需等待确认应答而可以继续发送数据的最大值即就是说不需要接收端的应答可以一次连续的发送数据 4操作系统内核为了维护滑动窗口需要开辟发送缓冲区来记录当前还有那些数据没有应答只有确认应答过的数据才能从缓冲区删掉 ps发送缓冲区如果太大就会有空间开销 5接收端一旦发现自己的缓冲区快满了就会将窗口大小设置成一个更小的值通知给发送端发送端收到这个值后就会减慢自己的发送速度 6如果接收端发现自己的缓冲区满了就会将窗口的大小设置为0此时发送端将不再发送数据但是需要定期发送一个窗口探测数据段使接收端把窗口大小告诉发送端 ps在TCP的首部中有一个16为窗口字段此字段就是用来存放窗口大小信息的 滑动窗口的优点 可以高效可靠的发送大量的数据 1.1 超时重传
TCP服务必须能够重传超时时间内未收到确认报文段的TCP报文段。TCP为每个TCP模块都维护了一个重传定时器定时器在第一次发送TCP报文段时启动如果超时时间内未收到接收方的确认号报文段TCP模块将重传TCP报文段并重置定时器。 至于下次重传的超时时间如何选择以及最多重传几次这是TCP的重传策略。 与TCP超时重连的策略相似。
流量控制的处理过程
TCP连接阶段双方协商窗口尺寸同时接收方预留数据缓存区
发送方根据协商的结果发送符合窗口尺寸的数据字节流并等待对方的确认
发送方根据确认信息改变窗口的尺寸增加或者减少发送未得到确认的字节流中的字节数。调整过程包括如果出现发送拥塞发送窗口缩小为原来的一半同时将超时重传的时间间隔扩大一倍。
**
2、拥塞控制
**
2.1 什么是拥塞控制 too many sources sending too much data too fast for network to handle 防止发送方发的太快使得网络来不及处理从而导致网络拥塞 流量控制虽然可以高效可靠的传送大量的数据但是如果在刚开始阶段就发送大量的数据可能会导致网络拥堵因为网络上的计算机太多了。 TCP模块为了防止过多的数据注入网络使网络中的路由器或链路不致于过载。以此提高网络利用率降低丢包率并抱证网络资源对每条数据流的公平性而采取的控制手段。
2.2 拥塞控制的实现
拥塞控制包含四部分内容慢启动、拥塞避免、快速重传、快速恢复。 慢启动 网络传输刚开始时并不知道网络的实际情况所以采取一种试探的方式控制数据的发送速率。慢启动阶段数据的发送速率以指数方式增长即就是拥塞窗口的增长每次都是收到确认报文段数量的2倍。可以看出慢启动并不慢拥塞窗口增长的速度很快。所以为其设置了一个慢启动门限当达到门限时就进入到拥塞避免阶段。 拥塞避免 当拥塞窗口的大小采用慢启动方式增长到慢启动门限时就进入拥塞避免阶段拥塞避免阶段不再以指数形式增长拥塞窗口而是每经过一个往返时间RTT就将发送方的拥塞窗口1 使其增长速度减缓。按照线性方式增长。如果发生网络拥塞比如丢包时就将慢启动门限设为原来的一半然后将拥塞窗口设置为1开始执行慢启动算法。较低的起点指数级增长。 快速重传 假设发送方发送的报文段分别为 M1,M2,M3,M4,M5,M6 , 当接收方收到M1和M2后M3报文段丢失接着收到的M4M5M6都不做处理而是没接收到一个报文段就对M2重复确认发送方接收到重复的三次确认报文段就对其后的报文段进行重新发送而不需要等待超时时间到达。当快速重传后立即进入到快速恢复阶段。 快速恢复将慢启动门限设置为原来的一半然后将拥塞窗口设置为现在的慢启动门限值不再执行慢启动算法而是直接进入拥塞避免阶段。使发送窗口成线性方式增大。 **
3、流量控制拥塞控制的联系与区别
**
3.1 相同点 1现象都是丢包 2实现机制都是让发送方发的慢一点发的少一点 3.2 不同点 1丢包位置不同 流量控制丢包位置是在接收端上 拥塞控制丢包位置是在路由器上 2作用的对象不同 流量控制的对象是接收方怕发送方发的太快使得接收方来不及处理 拥塞控制的对象是网络怕发送方发的太快造成网络拥塞使得网络来不及处理 3.3 联系 拥塞控制 拥塞控制通常表示的是一个全局性的过程它会涉及到网络中所有的主机、 所有的路由器和降低网络传输性能的所有因素 流量控制 流量控制发生在发送端和接收端之间只是点到点之间的控制