zoukankan      html  css  js  c++  java
  • 【计算机网络】第三章 传输层(4)

    七.拥塞控制原理

    1. 拥塞

    1)非正式定义:太多主机发送了太多数据或发送速度太快,以至于网络无法处理

    2)表现:分组丢失,分组延迟过大

    3)拥塞的成因和代价

      ·场景1:两个发送方,两个接收方,一个路由器,无限缓存,没有重传

     

        - 拥塞时分组延迟太大,达到最大吞吐量

     

      ·场景2:一个路由器,有限缓存,发送方重传分组

     

        a. 发送方通过某种机制获知路由器缓存信息,有空闲才发送:λin = λout

        b. 丢失后才重发:λ’in > λout

        c. 分组丢失和定时器超时后都重发:λ’in更大

     

        - 拥塞的代价:对给定的好的输入(a),要做更多的重传工作,造成资源浪费

      ·场景3:四个发送方,多跳,超时重传

     

        - 拥塞的代价:当分组被丢弃时,任何用于该分组上游的传输能力被浪费

    2. 拥塞控制的方法

    (1)端到端拥塞控制:TCP采用

      ·网络层不需要显式地提供支持

      ·端系统通过观察丢失和延迟等行为判断是否发生拥塞

    (2)网络辅助的拥塞控制

      ·路由器向发送方显式地反馈网络拥塞信息

      ·简单的拥塞指示(1bit):SNADECbitTCP/IP ECNATM

      ·指示发送方应该采取何种速率

    3. 案例:ATM ABR拥塞控制

    (1)ABR(可用比特率):弹性服务

      ·发送方路径欠载:使用可用带宽

      ·发送方路径拥塞:将发送速率降到最低保障速率

    (2)RM(资源管理单元):发送方发送

     

      ·交换机设置RM cell位(网络辅助),由接收方返回给发送方

        - NI bit:发送方比特率不许增长

        - CI bit:拥塞指示

      ·在RM cell中有显式的速率(ER)字段,共两个字节,拥塞的交换机可将其设为更低的值,令发送方获知路径所能支持的最小速率

      ·数据cellEFCI位(拥塞置1):若RM cell前的data cellEFCI位置1,则发送方在返回的RM cell中置CI

     

    八.TCP拥塞控制

    1. 基本原理

    1)发送方限制发送速率

      ·LastByteSent - LastByteAcked <= CongWin

      ·rate ≈ CongWin / RTT (Bps)

    2CongWin

      ·动态调整以改变发送速率:加性增-乘性减(拥塞避免)机制AIMD,慢启动机制SS

      ·反映所感知到的网络拥塞:超时或3个重复ACK称为loss事件,发生loss后,发送方降低速率

    (3)AIMD

      ·逐渐增加发送速率,谨慎探测可用带宽,直到loss

      ·发生loss后将CongWin减半

    (4)SS

      ·当连接开始时,令拥塞窗口指数性增长

      ·每个RTTCongWin翻倍,收到ACK进行操作

      ·初始速率很慢,但快速攀升

      ·当CongWin达到loss事件前值的1/2,即Threshold时,将指数增长换为线性增长

    (5)Loss事件的处理

      ·3个重复ACKCongWin切到一半后线性增长

      ·超时事件:CongWin设为1MSS,指数增长到threshold,线性增长

    (6)TCP拥塞控制算法

     

    (7)例题

     

    2. TCP性能分析

    (1)吞吐率:给定拥塞窗口大小和RTT,忽略慢启动

      ·假定发生超时时的CongWin大小为W,吞吐率为W / RTT

      ·超时后,CongWin大小为W / 2,吞吐率为W / 2RTT

      ·平均吞吐率为0.75W / RTT

    (2)未来的TCP

      ·举例:

     

      ·吞吐率与丢包率的关系

     

    (3)公平性

      ·KTCP Session共享相同的瓶颈带宽R,每个Session的平均速率为R / K

     

      ·公平性与UDP:多媒体应用通常不使用TCPUDP以恒定速率发送,能够容忍丢失,产生不公平

      ·公平性与并发TCP连接:某些应用会打开多个并发连接,产生公平性问题,如已有9个连接,新来的应用请求1TCP,速率为R/2,请求11TCP,速率为R/2

  • 相关阅读:
    奇妙的html 和 Css【关于html、Css 开发中重要的细节和一些小奇怪现象】
    JavaWeb项目img标签的图片无法加载的原因及解决方法
    批量建堆(二叉堆【完全二叉堆】)~~批量建堆
    为什么要面向对象(转)
    不从0开始序列的matlab卷积实验
    虚数、傅里叶变换中负频率的意义
    运动的6个自由度
    转载:关于Ω, f, w的前世今生
    利用matplotlib画用于机器学习的K线图练手任务
    信息工程学院——电子信息工程到底学什么?
  • 原文地址:https://www.cnblogs.com/zhangyushuqing/p/9795990.html
Copyright © 2011-2022 走看看