Скачать презентацию Internet Congestion Control with Active Queue Management AQM Скачать презентацию Internet Congestion Control with Active Queue Management AQM

a5c4df262afebfd3082b9bec50570315.ppt

  • Количество слайдов: 69

Internet Congestion Control with Active Queue Management (AQM) September 4, 2001 Seungwan Ryu (sryu@eng. Internet Congestion Control with Active Queue Management (AQM) September 4, 2001 Seungwan Ryu (sryu@eng. buffalo. edu) Ph. D Student of IE Department University at Buffalo

Contents n n Internet Congestion Control Mathematical Modeling and Analysis Adaptive AQM and User Contents n n Internet Congestion Control Mathematical Modeling and Analysis Adaptive AQM and User Response Further studies 2

I. Internet Congestion Control n n n n Internet Traffic Engineering What is Congestion I. Internet Congestion Control n n n n Internet Traffic Engineering What is Congestion ? Congestion Control and Avoidance Implicit vs. Explicit feedback TCP Congestion Control Active Queue management (AQM) Explicit Congestion Notification (ECN) 3

Internet Traffic Engineering n n n Measurement: for reality check Experiment: for Implementation Issues Internet Traffic Engineering n n n Measurement: for reality check Experiment: for Implementation Issues Analysis: u u n Bring fundamental understanding of systems May loose important facts because of simplification Simulation: 1. 2. Complementary to analysis: Correctness, exploring complicate model May share similar model to analysis 4

What is congestion ? n What is congestion ? u n The aggregate demand What is congestion ? n What is congestion ? u n The aggregate demand for bandwidth exceeds the available capacity of a link. What will be occur ? u Performance Degradation • • Multiple packet losses Low link utilization (low Throughput) High queueing delay Congestion collapse 5

What is congestion ? - 2 Congestion Control Open-loop control Mainly used in circuit What is congestion ? - 2 Congestion Control Open-loop control Mainly used in circuit switched network (GMPLS) Implicit feedback control End-to-end congestion control Examples: TCP Tahoe, TCP Reno, TCP Vegas, etc. Closed-loop control Mainly used in packet switched network Use feedback information: global & local Explicit feedback control Network-assisted congestion control Examples: IBM SNA, DECbit, ATM ABR, ICMP source quench, RED, ECN 6

Congestion Control and Avoidance n Two approaches of handling Congestion u Congestion Control (Reactive) Congestion Control and Avoidance n Two approaches of handling Congestion u Congestion Control (Reactive) • Play after the network is overloaded u Congestion Avoidance (Proactive) • Play before the network becomes overloaded 7

Implicit vs. Explicit feedback n Implicit feedback Congestion Control u u Network drops packets Implicit vs. Explicit feedback n Implicit feedback Congestion Control u u Network drops packets when congestion occur Source infers congestion implicitly • time-out, duplicated ACKs, etc. u u Example: end-to-end TCP congestion Control Simple to implement but inaccurate • implemented only at transport layer (e. g. , TCP) 8

Implicit vs. Explicit feedback - 2 n Explicit feedback Congestion Control u Network component Implicit vs. Explicit feedback - 2 n Explicit feedback Congestion Control u Network component (e. g. , router) provides congestion indication explicitly to sources • use packet marking, or RM cells (in ATM ABR control) u u u Examples: DECbit, ECN, ATM ABR CC, etc. Provide more accurate information to sources But is more complicate to implement • Need to change both source and network algorithm • Need cooperation between sources and network component 9

TCP Congestion Control n Uses end-to-end congestion control u uses implicit feedback • e. TCP Congestion Control n Uses end-to-end congestion control u uses implicit feedback • e. g. , time-out, triple duplicated ACKs, etc. u uses window based flow control • cwnd = min (pipe size, rwnd) • self-clocking • slow-start and congestion avoidance u Examples: • TCP Tahoe, TCP Reno, TCP Vegas, etc. 10

TCP Congestion Control - 2 n cwnd Slow-start and Congestion Avoidance Slow Start W* TCP Congestion Control - 2 n cwnd Slow-start and Congestion Avoidance Slow Start W* Congestion Avoidance W 4 W+1 W*/2 2 1 RTT Time 11

TCP Congestion Control - 3 n TCP Tahoe u u Use slow start/congestion avoidance TCP Congestion Control - 3 n TCP Tahoe u u Use slow start/congestion avoidance Fast retransmit: an enhancement l l n detect packet (segments) drop by three duplicate ACKs W = W/2, and enter congestion avoidance TCP Reno (fast recovery) u Upon receiving three duplicate ACKs l l u u ssthresh = W/2, and retransmit missing packets W = ssthresh +3 Upon receiving next ACK: W = ssthresh Allow the window size grow fast to keep the pipeline full 12

TCP Congestion Control - 3 n TCP SACK (Selected Acknowledgement) u u TCP (Thaoe) TCP Congestion Control - 3 n TCP SACK (Selected Acknowledgement) u u TCP (Thaoe) sender can only know about a single lost per RTT SACK option provides better recovery from multiple losses l l u The sender can transmit all lost packets But those packets may have already been received Operation l l l Add SACK option into TCP header The receiver sends back SACK to sender to inform the reception of the packet Then, the sender can retransmit only the missing packet 13

Active Queue Management (AQM) - 1 n Performance Degradation in current TCP Congestion Control Active Queue Management (AQM) - 1 n Performance Degradation in current TCP Congestion Control u u u n Multiple packet loss Low link utilization Congestion collapse The role of the router becomes important u u Control congestion effectively in networks Allocate bandwidth fairly 14

AQM - 2 n Problems with current router algorithm u u Use FIFO based AQM - 2 n Problems with current router algorithm u u Use FIFO based tail-drop (TD) queue management Two drawbacks with TD: lock-out, full-queue l l n Lock-out: a small number of flows monopolize usage of buffer capacity Full-queue: The buffer is always full (high queueing delay) Possible solution: AQM u Definition: A group of FIFO based queue management mechanisms to support end-to-end congestion control in the Internet 15

AQM - 3 n Goals of AQM u Reducing the average queue length: l AQM - 3 n Goals of AQM u Reducing the average queue length: l u Reducing packet losses: l n More efficient resource allocation Methods: u u n Decreasing end-to-end delay Drop packets before buffer becomes full Use (exponentially weighted) average queue length as an congestion indicator Examples: RED, BLUE, ARED, SRED, FRED, …. 16

AQM - 4 n Random Early Detection (RED) u u use network algorithm to AQM - 4 n Random Early Detection (RED) u u use network algorithm to detect incipient congestion Design goals: • • u minimize packet loss and queueing delay avoid global synchronization maintain high link utilization removing bias against bursty source Achieve goals by • randomized packet drop • queue length averaging 17

RED P 1 maxp minth maxth K 18 RED P 1 maxp minth maxth K 18

AQM - 5 : BLUE n Algorithm n Concept u n n To avoid AQM - 5 : BLUE n Algorithm n Concept u n n To avoid drawbacks of RED u Upon packet loss n if (now - last_update >freeze_t) n Pm = pm + d 1 n last_update = now upon link idle n if (now - last_update >freeze_t) n Pm = pm - d 2 n last_update = now u u n Parameter tuning problem Actual queue length fluctuation Decouple congestion control from queue length Use only loss and idle event as an indicator Maintains a single drop prob. , pm Drawback u Can not avoid some degree of multiple packet loss and/or low utilization 19

AQM - 6 : SRED n Algorithm u u u n ith arriving packet AQM - 6 : SRED n Algorithm u u u n ith arriving packet is compared with a randomly selected one from Zombie list Hit = 1, if they are from same flow = 0, if NOT n p(i)=hit frequency=(1 - )p(i-1)+ Hit p(i)-1: estimator of # of active flows Packet drop probability Concept u u u stabilize queue occupancy use actual queue length Penalize misbehaving flows Drawbacks u u u P(i)-1 is not a good estimator for heterogeneous traffic Parameter tuning problem: Psred, Pzap, etc. Stabilize queue occupancy when traffic load is high. (When load is low ? ) 20

AQM - 7 : ARED n Adapt aggresiveness of RED according to the traffic AQM - 7 : ARED n Adapt aggresiveness of RED according to the traffic load change n n adapt maxp based on queue behavior Operation n Increase maxp when avg. Q crosses above maxth Decrease maxp when avg. Q crosses below minth freeze maxp after changing to prevent oscillation 21

AQM - 8 n Problems with existing AQM Proposals u u u n Mismatch AQM - 8 n Problems with existing AQM Proposals u u u n Mismatch between macroscopic and microscopic behavior of queue length Insensitivity to the change of input traffic load Configuration (parameter setting) problem Reasons: 1. 2. 3. Queue length averaging use inappropriate congestion indicator Use inappropriate control function 22

Explicit Congestion Notification (ECN) n Current congestion indication u u n Use packet drop Explicit Congestion Notification (ECN) n Current congestion indication u u n Use packet drop to indicate congestion source infer congestion implicitly ECN u u to give less packet drop and better performance use packet marking rather than drop need cooperation between sources and network need two bits in IP header: ECT-bit, CE-bit 23

ECN - 2 ECT IP Header TCP Header CE 1 ECT 0 CE 1 ECN - 2 ECT IP Header TCP Header CE 1 ECT 0 CE 1 1 1 0 0 CWR 2 1 ECN-Echo TCP Header 3 1 CWR Source ACK TCP Header 4 Router Destination 24

Contents n n Internet Congestion Control Mathematical Modeling and Analysis Adaptive AQM and User Contents n n Internet Congestion Control Mathematical Modeling and Analysis Adaptive AQM and User Response Further Studies 25

II. Mathematical Modeling and Analysis n An Overview n Mathematical Modeling of AQM u II. Mathematical Modeling and Analysis n An Overview n Mathematical Modeling of AQM u u n Window based packet switching and the Internet Mathematical modeling and analysis of AQM Problems with existing AQMs u u Problems with existing AQMs Adaptive congestion indicator and control function 26

Overview - 1 n Goal of mathematical modeling u u u n See steady Overview - 1 n Goal of mathematical modeling u u u n See steady state system dynamics Capture main factors influence to performance Provide recommendations for design and operation Two approaches for TCP Congestion Control u Modeling steady state TCP behaviors • the square root law*, PFTK [Padhye et al. , 1998] • assume TD queue management at the router u *: Mathematical modeling and analysis of AQM (RED) , T: Throughput, p: constant drop rate 27

Overview - 2 n AQM modeling and analysis u u u n Analytic modeling Overview - 2 n AQM modeling and analysis u u u n Analytic modeling and analysis Control Theoretic Analysis Window based modeling and Analysis Assumptions u u u Poisson assumption for input traffic Fixed number of persistent TCP traffics Steady state window size saturation 28

Mathematical Modeling of AQM - 1 n Window based packet switching Model (Yang 99) Mathematical Modeling of AQM - 1 n Window based packet switching Model (Yang 99) u Determine the steady state window size, Ws, of each flow s S If link j is not congested u If link j is congested u 29

n Window equation for an individual flow Mathematical Modeling of AQM - 2 Since n Window equation for an individual flow Mathematical Modeling of AQM - 2 Since u n Limitation of this model u Assume infinite buffer size • No buffer overflow • No packet drop • No queue management algorithm at routers 30

Mathematical Modeling of AQM - 3 A simple AQM model Sources s 1 1 Mathematical Modeling of AQM - 3 A simple AQM model Sources s 1 1 S 2 AQM Router 2 Bottleneck Link Destination C S K Min_th SS 31

Mathematical Modeling of AQM - 4 n Extend Yang’s Model to AQM model u Mathematical Modeling of AQM - 4 n Extend Yang’s Model to AQM model u u u Finite buffer capacity K The router use AQM to control congestion When congested • Yang’s Model: • Our Model: 32

Mathematical Modeling of AQM - 5 n Case 1: Tail drop u Packet drop Mathematical Modeling of AQM - 5 n Case 1: Tail drop u Packet drop probability Pd: 33

Mathematical Modeling of AQM - 6 n Case 2: AQM u Let Then since Mathematical Modeling of AQM - 6 n Case 2: AQM u Let Then since u Packet drop prob. Pd: u 34

Mathematical Modeling of AQM - 7 n Congestion Indicator 1. 2. Input traffic load Mathematical Modeling of AQM - 7 n Congestion Indicator 1. 2. Input traffic load should be the congestion Indicator Current AQMs 1. Use queue length Q as an alternative 2. Assume that the input traffic load is fixed in equilibrium 3. Reason 1. can not measure(or estimate) exactly for on line implementation of packet drop function 35

Mathematical Modeling of AQM - 8 n Packet drop function u Reason • The Mathematical Modeling of AQM - 8 n Packet drop function u Reason • The traffic load fluctuate, NOT stay in equilibrium • queue length is a function of input traffic u Alternatively: 36

Problems with existing AQMs n Mismatch between macroscopic and microscopic behavior of queue length Problems with existing AQMs n Mismatch between macroscopic and microscopic behavior of queue length n Insensitivity to the input traffic load variation n parameter configuration problem 37

Problems with existing AQMs - 2 n Mismatch problem 38 Problems with existing AQMs - 2 n Mismatch problem 38

Problems with existing AQMs - 3 n Mismatch between macroscopic and microscopic behavior of Problems with existing AQMs - 3 n Mismatch between macroscopic and microscopic behavior of queue length 2. 0 1. 5 1. 0 0. 5 0 39

Problems with existing AQMs - 4 n Insensitivity to the input traffic load variation Problems with existing AQMs - 4 n Insensitivity to the input traffic load variation : u=0. 7 : u=0. 45 : u=0. 25 : RED : GRED : Scheme III 0. 3 v 0. 5 0. 7 0. 9 1. 1 1. 3 Schemes: I: RED, II: GRED, III: 40

Problems with existing AQMs - 5 n Parameter configuration problem u u Has been Problems with existing AQMs - 5 n Parameter configuration problem u u Has been a main design issue since 1993 Many modified AQMs has been proposed • Verified with simple simulation or simple experiment • good for particular traffic conditions • Real traffic is totally different. u Need adaptive congestion indicator and control function • Adaptive to input traffic load variation • Avoid congestion NOT based on current state (i, e, . Q) 41

Contents n n Internet Congestion Control Mathematical Modeling and Analysis Adaptive AQM and User Contents n n Internet Congestion Control Mathematical Modeling and Analysis Adaptive AQM and User Response Further Studies 42

III. Adaptive AQM and User Response n n Input traffic load Prediction Adaptive AQM III. Adaptive AQM and User Response n n Input traffic load Prediction Adaptive AQM algorithms Adaptive parameter configuration Adaptive User response algorithm 43

Input traffic load Prediction n Consider time-slotted model u u u Time is divided Input traffic load Prediction n Consider time-slotted model u u u Time is divided into unit time slots, t, t=0, 1, … calculate parameters at the end of each slot estimate Qt+1 to detect congestion proactively • Predict from measured input traffic t-1, t of past two time slots • Then, predict of next time slot t 44

Adaptive AQM algorithms n Algorithm I: E-RED and E-GRED u Enhanced-RED u E-GRED: similar Adaptive AQM algorithms n Algorithm I: E-RED and E-GRED u Enhanced-RED u E-GRED: similar to E-RED 45

Adaptive AQM algorithms - 2 n Algorithm II: u Use both predicted traffic intensity Adaptive AQM algorithms - 2 n Algorithm II: u Use both predicted traffic intensity buffer utilization t=Qt/K u u u and current represents imminent traffic changes in near future t represents current status of traffic Possible algorithms: 46

Adaptive AQM algorithms - 3 1. Example: 1. maintain Qindex to impose appropriate drop Adaptive AQM algorithms - 3 1. Example: 1. maintain Qindex to impose appropriate drop rate adaptively to traffic load change 1. Then, 2. If t is low and is high: more penalty to incoming packets 3. If t is high and is low: more penalty on existing packets 4. Only High penalty for both packets when t and are high 47

Adaptive AQM algorithms - 4 n Algorithm III: E-BLUE u BLUE Algorithm • uses Adaptive AQM algorithms - 4 n Algorithm III: E-BLUE u BLUE Algorithm • uses packet drops and link idle for adjusting packet drop probability • Can not avoid some degree of performance degradation u Enhancement • Use Virtual lower/upper bound (VL, VU) • Combine predicted queue length with BLUE 48

Adaptive parameter configuration n Adaptive queue length sampling interval t u Previous recommendations • Adaptive parameter configuration n Adaptive queue length sampling interval t u Previous recommendations • In [Firoiu et al. ], minimum RTT was recommended • In [Hollot et al. ], static and link speed independent value was recommended • However, above recommendations were obtained from assumptions of persistent and fixed N TCP traffics u Our recommendation • The amount of incoming traffic fluctuate with time • Adjust t according to the varying traffic situation (i. e. , adjust t according to the amount of input traffic) 49

Adaptive parameter configuration - 2 Q (i-1) i (i+1) (i+2) Time 50 Adaptive parameter configuration - 2 Q (i-1) i (i+1) (i+2) Time 50

Adaptive parameter configuration - 3 n Adaptive filtering weight wq u u In RED, Adaptive parameter configuration - 3 n Adaptive filtering weight wq u u In RED, wq was recommended with 0. 002 for long-term (macroscopic) performance goal Fixed small value of wq shows problems • Parameter setting problem • Insensitivity of control function to the change of traffic • Fairness problem: impose penalty to innocent packets u u Need to have adaptive wq to the change of traffic load One possible method: • Set wq as a function of current queue utilization, e. g. , wq = Qt/C , 0 < < 1 51

Adaptive User response algorithm n n AQM need work with intelligent source response for Adaptive User response algorithm n n AQM need work with intelligent source response for better performance Enhanced-ECN 1. If receive ECN feedback in (t-1) 1. If No ECN feedback in t n n 2. If received ACK > 0 , W= W+M/W + M Else , W= W+M/W 2. Else, Continue usual response to ECN feedback Else, Continue TCP Congestion Avoidance 52

Contents n n Internet Congestion Control Mathematical Modeling and Analysis Adaptive AQM and User Contents n n Internet Congestion Control Mathematical Modeling and Analysis Adaptive AQM and User Response Further Studies 53

IV. Further Studies n Mathematical Modeling and Analysis u u u n Simulation studies IV. Further Studies n Mathematical Modeling and Analysis u u u n Simulation studies u u n n Stability and Control Dynamics Alternative Modeling Control Theoretic Consideration Traffics Performance Metrics Other approaches of congestion control More about AQM 54

Mathematical Modeling and Analysis n Since p=f( , q) , n Then find equilibrium Mathematical Modeling and Analysis n Since p=f( , q) , n Then find equilibrium point ( *, p*) p =g(p) P=f( ) ( *, p*) 55

Mathematical Modeling and Analysis - 2 n Alternative Modeling: u State dependent service M/M/1/K Mathematical Modeling and Analysis - 2 n Alternative Modeling: u State dependent service M/M/1/K queueing model 0 1 C n L-1 C L C L-1 ( C+p 1 ) K-1 ( C+p. K’-1 ) K C+ L=minth, K’=K-minth 56

Mathematical Modeling and Analysis - 3 n Service rates n Steady state probabilities 57 Mathematical Modeling and Analysis - 3 n Service rates n Steady state probabilities 57

Mathematical Modeling and Analysis - 3 n Control Theoretic Consideration Control Function S t Mathematical Modeling and Analysis - 3 n Control Theoretic Consideration Control Function S t Queue dynamics Router Buffer t(1 -p) D ACK (or NACK) 58

Simulation study n Goal of simulation study u u n See dynamics and performance Simulation study n Goal of simulation study u u n See dynamics and performance of our AQM Compare results with other AQM such as RED Use realistic traffic u u previous studies has been done with simple and unreal traffic (fixed number of persistent TCPs) Generate realistic Internet traffic • Long-lived (FTP) and short-lived (web-like) TCP traffic • UDP traffic: CBR and/or ON/OFF 59

Performance Metrics n TCP traffics u Network-centric: for aggregate traffic • Throughput (or goodput) Performance Metrics n TCP traffics u Network-centric: for aggregate traffic • Throughput (or goodput) • Packet dropping (marking) probability • Link utilization (or queueing delay) u User-centric: for Individual traffic • goodput (or throughput) • mean response time (RTT) n UDP traffic • individual packet drop probability and its distribution 60

Other approaches of CC - 1: Pricing n Smart-market [Mackie-Mason 1995] n n A Other approaches of CC - 1: Pricing n Smart-market [Mackie-Mason 1995] n n A price is set for each packet depends on the level of demand for mandwidth Admit packets with bid prices that exceed the cut-off value The cut-off is determined by the marginal cost Paris metro pricing (PMP) [Odlyzko] n n n To provide differentiated services The network is partitioned into several logical separate channels with different prices With less traffic in channel with high price, better Qo. S would be provided. 61

Other approaches - 2: Optimization n Concept n Network resource allocation problem: n n Other approaches - 2: Optimization n Concept n Network resource allocation problem: n n n User problems Network problems User problem sends n bandwidth request with pricie Network problem allocate bandwidth to each users by solving NLP User problem n n Users can be distinguished by a utility function A user wants to maximize its benefit (utility - cost) Network problem n n maximize aggregate utilities subject to the link capacity constraints Then, it can be formulated to a Non-linear programming (NLP) problem 62

Other approaches - 3: Fairness n Two fairness issues n n n Fair bandwidth Other approaches - 3: Fairness n Two fairness issues n n n Fair bandwidth sharing: network-centric Fair packet drop (mark): user-centric Fair bandwidth sharing n Max-min fair [Bertsekas, 1992]: n No rate can be increased without simultaneous decreasing other rate which is already small n n provides equal treatment to all flows Proportional fair [Kelly 1998] n n A feasible set of rates are non-negative and the aggregate rate is not greater than link capacity and the aggregate of proportional change is zero or negative provides different treatment of each flow according to their rates 63

More about AQM n Responsive (TCP) vs. unresponsive flows (UDP) u RED fail to More about AQM n Responsive (TCP) vs. unresponsive flows (UDP) u RED fail to regulate unresponsive flows l l u UDP do not adjust sending rate upon receiving congestion signal UDP flows consumes more bandwidth than fair share FRED [Lin & Morris, 1997] l Tracks the # of packets in the queue from each flow n l l Fair share for a flow is calculated dynamically unresponsive flows are identified and penalized n n maintain logical queues for each active flows in a FIFO queue Drop packets proportional to bandwidth usage See TCP-friendly website (http: //www. psc. edu/networking/tcp_friendly. html) 64

More about AQM - 2 n Providing Qo. S and Diff. Serv with AQM More about AQM - 2 n Providing Qo. S and Diff. Serv with AQM 1. 2. 3. 4. Try to support a multitude of transport protocol (TCP, UDP, etc. ) Classify several types of services rather than one best-effort service. Then, apply different AQM control to each services classes. Examples: 1. 2. RIO (RED In and Out) [Clark 98] CBT (Class based Thresholds) [Floyd 1995] 65

More about AQM - 3 n RIO (RED in and out) [Clark 1998] n More about AQM - 3 n RIO (RED in and out) [Clark 1998] n n Separate flows into two classes: IN and OUT service profile router maintains two different statistics for each service profiles. n n n Different parameters and average queue lengths Avgs: for IN packet: avg. IN, for OUT profile: avg. TOTAL When congested, apply different control to each classes p 1 Pmax_OUT Pmax_IN Minth_OUT Maxth_OUT = Minth_IN Maxth_IN avg 66

More about AQM - 4 n CBT [Floyd 1995] u u n packets are More about AQM - 4 n CBT [Floyd 1995] u u n packets are classified into several classes maintain a single queue but allocate fraction of capacity to each class Apply AQM (RED) based u control to each class Once a class occupies its capacity, discard all arriving packets Drawbacks u Fairness problem in case of changing traffic mix l u static threshold setting Total utilization can be fluctuated Dynamic-CBT [Chung 2000] u u Track the number of active flows of each class dynamically adjust threshold values of each class 67

More about AQM - 5 n Other Issues u u AQM vs. Tail Drop(TD) More about AQM - 5 n Other Issues u u AQM vs. Tail Drop(TD) Congestion Indicator: l u Parameter tuning problem: l u u wq, maxp, static or dynamic sampling Alternative ways: virtual queue approach u u Average queue length vs. Instantaneous queue length EX: [Gibbens 1998], [Kuniyur 2000] Performance with/without ECN mechanism Control objective” Router-centric vs. user-centric 68

References n n n S. Floyd et al. “Random early detection gateways for congestion References n n n S. Floyd et al. “Random early detection gateways for congestion avoidance control. ” IEEE/ACM TON, 1993. RED web page, http: //www. aciri. org/floyd/red. html RED for dummies, http: //www. magma. ca/~terrim/Red. Lit. htm S. Ryu et al. “Advances in Internet congestion control. ” submitted to IEEE comm. Survey & Tutorial, 2001 B. Braden et al. “Recommendations on queue management and congestion avoidance in the Internet. ” IETF RFC 2309, 1998. K. Ramakrishinan et al. “A proposal to add explicit congestion notification (ECN) to IP. ” IETF RFC 2481, 1999. 69