Last lecture -- TCP enhancement - Fast retransmit and fast recovery Today -- Open-loop Rate-based flow control (emerging paradigm in the Internet) -------------------------------------------------------------------- Classification of flow control schemes: a) closed-loop vs. open-loop: - In closed-loop scheme, a source dynamically adapts its flow to match its current share of network resources. As this share increases and decreases, a source should send faster or slower. - In open-loop scheme, a source describes its traffic to the network with a few parameters. During connection establishment, the network reserves resources (e.g. bandwidth and buffers) corresponding to these parameters. During transmission, if the source shapes its traffic to match its traffic's description, network congestion is avoided. b) explicit feedback vs. implicit feedback in closed-loop scheme: - explicit feedback: the network explicitly informs the source what the network congestion status is and how much its service rate has changed. - implicit feedback: the source infers a change in its service rate by measuring it current performance. Recall that TCP is a window-based closed-loop flow control algorithm with implicit feedback. This is suitable because data is bursty and does not have a good traffic characterization to enable effective open-loop flow control. Steps involved in Open-loop flow control 1) During connection establishment, a source describes its behavior with a set of paramters called its traffic descriptor and negotiates bandwidth and buffer reservation with network elements along the path to its destination. 2) Usually the network operator prescribes the descriptor's parameters, and each source decides parameter values that best describe its traffic. 3) During connection establishment, each network node examines this description and decides whether it can support the call. If it can, it forwards the setup request to the next element along the path. Otherwise, it blocks the call or negotiates the parameters down to an acceptable value. 4) In the transmission phase, the source shapes its traffic to match its descriptor, and each network node schedules traffic from admitted calls to meet the bandwidth, delay and loss guarantees it makes to them. Challenges in open-loop control: a) How do we choose a right set of parameters to describe a source adequately? Application dependent. b) How do we implement a scheduling mechanism at intermediate network nodes? c) How do we admit connections so that their performance objectives are met (call admission control)? A traffic descriptor typically represents a behavior envelope, i.e., the worst possible behavior of a source, rather than its exact behavior. Introducing the leaky-bucket/token bucket algorithm for traffic shaping at the source.