zoukankan      html  css  js  c++  java
  • Approaches to congestion control.

    http://douc54.cs.edinboro.edu/~bennett/class/csci475/spring2007/notes/ch20/seven.html

    Approaches to congestion control.

    • End to End control
      • Stallings appears to call this Implicit Congestion Signaling
      • For systems like TCP where there is no underlying congestion control.
      • Congestion must be detected in terms of observed network behavior
        • packet loss
        • Delay
      • TCP Decreases the window size when it detects delay
    • Network Assisted congestion control
      • Some form of explicit feedback is available from the underlying network.
      • ICMP source quench for example.
      • Also back pressure
        • As upstream nodes become overfilled, they tell down stream nodes to slow down.
        • Apparently, most networks don't support this.
        • And this is not a transport level issue.

    TCP Congestion Control

    • The sender responds to perceived congestion.
      • When perceived congestion is low, the sending rate increases.
      • When perceived congestion is high, the sending rate decreases.
    • To do this each side of a connection keeps track of a congestion control window or CongWin.
    • The formula LastByteSent-LastByteAcked ≤ min{CongWin, RcvWin}
    • TCP defines a loss event as
      • a timeout
      • The receipt of three duplicate ACKs
    • When a loss even occurs, TCP declares the network to be congested.
    • When no loss is occurring, TCP uses a round trip time (RTT) estimate to adjust CongWin.
      • The RTT is the time between when a segment is handed to TCP and when the ACK is received.
      • A sample RTT is measured periodically for one packet at a time.
      • But only for segments transmitted once.
      • The average RTT is computed by means of a weighted average.
      • EstimatedRTT = (1-α)EstimatedRTT + &alpah;SampleRTT
      • It is suggested α=0.125
      • This average puts more weight on recent samples than older ones.
      • This allows response to changing network conditions.
      • In statistics this is called an Exponential weighted Moving Average.
      • This is because the weight of old values decay exponentially fast.
      • A deviation in RTT can be found in the same manner.
      • DevRTT = (1-Β)DevRTT + Β |Sample RTT- Estimated RTT|
      • Kurose mentions that TimeoutInterval = EstimatedRTT + 4 DevRTT
      • Stallings has a nice picture of this on page 685
    • TCP uses the RTT to adjust the window.
      • If ACK rate is slow, (RTT high) the window is made slightly bigger.
      • If ACK rate is fast (RTT low) the window is made much bigger.
      • Thus TCP is called self clocking
    • The TCP Congestion Control Algorithm consists of three parts.
      • Additive increase, multiplicative decrease
      • slow start
      • reaction to timeout events.
    • Additive Increase, Multiplicative Decrease
      • When a decrease needs to occur, the packet that tells us to decrease has probably been delayed.
      • In the case of a loss event, the window is cut in half.
      • When a new ACK (not a dup) arrives the window size is increased
      • Kurose suggests that the window size be increased by MSS(MSS/CongWin) each time this occurs.
      • This is known as congestion avoidance
      • And tends to produce a saw-toothed pattern in TCP connection.
    • Slow Start
      • At the beginning of a connection, TCP sets CongWin to be 1
      • Since this will require a long time to ramp up, it will double the size
      • Consider the sequence:
        • Packet 1 is sent, CongWin = 1 (Iteration 1)
        • Packet 1 is ACKed, CongWin = 2
        • Packets 2 and 3 are sent, CongWin = 2 (Iteration 2)
        • Packet 2 is ACKed, CongWin = 3
        • Packet 3 is ACKed, CongWin = 4
      • Reaction to Timeout Events
        • After a triple duplicate ACK the window size is cut in half
        • After a timeout,
          • the window size is set to 1
          • It is allowed to grow as in slow start until the window size reaches 1/2 of the level where the timeout occurs.
          • Then it grows normally.
  • 相关阅读:
    Windows server 2008 R2远程桌面授权破解方法
    微软 windows server 2019 中文版 原版iso镜像下载地址及密钥
    Everything——支持快速搜索文件夹
    相对路径(根目录、当前目录、上级目录)
    LinkShellExtension (软连接、硬连接、符号连接)工具教程
    oracle 获取表信息
    python3.6 安装 pycrypto
    项目问题记录
    Django得缓存
    Django得信号
  • 原文地址:https://www.cnblogs.com/ztguang/p/15795791.html
Copyright © 2011-2022 走看看