Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Chapter 12 TCP Traffic Control. Chapter 12: TCP Traffic Control 2 Introduction 1. Performance implications of TCP Flow and Error Control 2. Performance.

Similar presentations


Presentation on theme: "1 Chapter 12 TCP Traffic Control. Chapter 12: TCP Traffic Control 2 Introduction 1. Performance implications of TCP Flow and Error Control 2. Performance."— Presentation transcript:

1 1 Chapter 12 TCP Traffic Control

2 Chapter 12: TCP Traffic Control 2 Introduction 1. Performance implications of TCP Flow and Error Control 2. Performance implications of TCP Congestion Control 3. Performance of TCP/IP over ATM

3 Chapter 12: TCP Traffic Control 3 TCP Flow and Error Control Uses a form of sliding window (~GBN) Uses a form of sliding window (~GBN) Differs from mechanism used in LLC, HDLC, X.25, and others: Differs from mechanism used in LLC, HDLC, X.25, and others: Decouples acknowledgement of received data units from granting permission to send more Decouples acknowledgement of received data units from granting permission to send more TCP’s flow control is known as a credit allocation scheme: TCP’s flow control is known as a credit allocation scheme: Each transmitted octet is considered to have a sequence number Each transmitted octet is considered to have a sequence number Each acknowledgement can grant permission to send a specific amount of additional data Each acknowledgement can grant permission to send a specific amount of additional data TCP Window Size <= Min (CongWin, RcvWin) TCP Window Size <= Min (CongWin, RcvWin)

4 Chapter 12: TCP Traffic Control 4 TCP Header Fields for Flow Control Sequence number (SN) of first octet in data segment Sequence number (SN) of first octet in data segment Acknowledgement number (AN) of next expected octet Acknowledgement number (AN) of next expected octet Window size (W) in octets Window size (W) in octets Acknowledgement contains AN = i, W = j: Acknowledgement contains AN = i, W = j: Octets through SN = i - 1 acknowledged Octets through SN = i - 1 acknowledged Permission is granted to send W = j more octets, Permission is granted to send W = j more octets, i.e., octets i through i + j - 1 i.e., octets i through i + j - 1

5 Chapter 12: TCP Traffic Control 5 TCP Credit Allocation Mechanism Note: trailing edge advances each time A sends data, leading edge advances only when B grants additional credit.

6 Chapter 12: TCP Traffic Control 6 Credit Allocation is Flexible Suppose last message B issued was AN = i, W = j … To increase credit to k (k > j) when no new data, B issues AN = i, W = k To increase credit to k (k > j) when no new data, B issues AN = i, W = k To acknowledge segment containing m octets (m < j) without granting additional credit, B issues AN = i + m, W = j - m To acknowledge segment containing m octets (m < j) without granting additional credit, B issues AN = i + m, W = j - m

7 Chapter 12: TCP Traffic Control 7 Flow Control Perspectives

8 Chapter 12: TCP Traffic Control 8 Credit Policy Receiver needs a policy for how much credit to give sender Receiver needs a policy for how much credit to give sender Conservative approach: grant credit up to limit of available buffer space Conservative approach: grant credit up to limit of available buffer space May limit throughput in long-delay situations May limit throughput in long-delay situations Optimistic approach: grant credit based on expectation of freeing space before data arrives Optimistic approach: grant credit based on expectation of freeing space before data arrives

9 Chapter 12: TCP Traffic Control 9 Effect of TCP Window Size on Performance W = TCP window size (octets) R = Data rate (bps) at TCP source D = Propagation delay (seconds) between source and destination between source and destination After TCP source begins transmitting, it takes D seconds for first bits to arrive, and D seconds for acknowledgement to return (RTT) After TCP source begins transmitting, it takes D seconds for first bits to arrive, and D seconds for acknowledgement to return (RTT) TCP source could transmit at most 2RD bits, or RD/4 octets TCP source could transmit at most 2RD bits, or RD/4 octets

10 Chapter 12: TCP Traffic Control 10 Maximum Normalized Throughput S 1 W  RD / 4 1 W  RD / 4 4W W  RD / 4 4W W  RD / 4 RD RD S = Where: W = window size (octets) R = data rate (bps) at TCP source D = d prop (seconds) between TCP source and destination, 2D = RTT Note: RD (bits) known as “rate-delay product”

11 Chapter 12: TCP Traffic Control 11 Window Scale Parameter (Optional header item) W = 2 16 - 1 W = 2 20 - 1 RD W = RD/4

12 Chapter 12: TCP Traffic Control 12 Complicating Factors Multiple TCP connections are multiplexed over same network interface, reducing data rate, R, per connection (  S  ) Multiple TCP connections are multiplexed over same network interface, reducing data rate, R, per connection (  S  ) For multi-hop connections, D is the sum of delays across each network plus delays at each router, increasing D (  S  ) For multi-hop connections, D is the sum of delays across each network plus delays at each router, increasing D (  S  ) If source data rate R at source exceeds data rate on one of the hops, that hop will be a bottleneck (  S  ) If source data rate R at source exceeds data rate on one of the hops, that hop will be a bottleneck (  S  ) Lost segments are retransmitted, reducing throughput. Impact depends on retransmission policy (  S  ) Lost segments are retransmitted, reducing throughput. Impact depends on retransmission policy (  S  )

13 Chapter 12: TCP Traffic Control 13 Retransmission Strategy TCP relies exclusively on positive acknowledgements and retransmission on acknowledgement timeout TCP relies exclusively on positive acknowledgements and retransmission on acknowledgement timeout There is no explicit negative acknowledgement (NAK-less) There is no explicit negative acknowledgement (NAK-less) Retransmission required when: Retransmission required when: 1. Segment arrives damaged, as indicated by checksum error, causing receiver to discard segment 2. Segment fails to arrive (implicit detection scheme)

14 Chapter 12: TCP Traffic Control 14 TCP Timers A timer is associated with each segment as it is sent A timer is associated with each segment as it is sent If a timer expires before the segment is acknowledged, sender must retransmit If a timer expires before the segment is acknowledged, sender must retransmit Key Design Issue: Key Design Issue: value of retransmission timer… Too small: many unnecessary retransmissions, wasting network bandwidth Too small: many unnecessary retransmissions, wasting network bandwidth Too large: delay in handling lost segment Too large: delay in handling lost segment

15 Chapter 12: TCP Traffic Control 15 Two Strategies Timer should be longer than round- trip delay (send segment, receive ack) Timer should be longer than round- trip delay (send segment, receive ack) Round Trip Delay is variable Round Trip Delay is variableStrategies: 1. Fixed timer 2. Adaptive

16 Chapter 12: TCP Traffic Control 16 Problems with Adaptive Scheme Peer TCP entity may accumulate acknowledgements and not acknowledge immediately Peer TCP entity may accumulate acknowledgements and not acknowledge immediately For retransmitted segments, sender can’t tell whether acknowledgement is response to original transmission or retransmission For retransmitted segments, sender can’t tell whether acknowledgement is response to original transmission or retransmission Network conditions may change suddenly Network conditions may change suddenly These tend to introduce artificialities in timer measurements at the TCP source (more later)

17 Chapter 12: TCP Traffic Control 17 Adaptive Retransmission Timer Average Round-Trip Time (ARTT) Average Round-Trip Time (ARTT) K + 1 K + 1 ARTT(K + 1) = 1 ∑ RTT(i) K + 1 i = 1 K + 1 i = 1 = K × ARTT(K) + RTT(K + 1) = K × ARTT(K) + RTT(K + 1) K + 1 K + 1 K + 1 K + 1

18 Chapter 12: TCP Traffic Control 18 RFC 793 Exponential Averaging Smoothed Round-Trip Time (SRTT) SRTT(K + 1) = α × SRTT(K) + (1 – α) × RTT(K + 1) + (1 – α) × RTT(K + 1) The older the observation, the less it is counted in the average.

19 Chapter 12: TCP Traffic Control 19 Exponential Smoothing Coefficients  = 0.5  = 0.875

20 Chapter 12: TCP Traffic Control 20 Exponential Averaging Increasing function Decreasing function

21 Chapter 12: TCP Traffic Control 21 RFC 793 Retransmission Timeout RTO(K + 1) = Min(UB, Max(LB, β × SRTT(K + 1))) Min(UB, Max(LB, β × SRTT(K + 1))) UB, LB: prechosen fixed upper and lower bounds Example values for α, β: 0.8 < α < 0.9 1.3 < β < 2.0 0.8 < α < 0.9 1.3 < β < 2.0

22 Chapter 12: TCP Traffic Control 22 TCP Implementation Policy Options (per RFC 793/1122) Send: free to transmit when convenient Send: free to transmit when convenient Deliver: free to deliver to application when convenient Deliver: free to deliver to application when convenient Accept: how data are accepted Accept: how data are accepted In-order (out of order data is discarded) In-order (out of order data is discarded) In-window (accept and buffer any data in window) In-window (accept and buffer any data in window) Retransmit: how to handle queued, but not yet acknowledged, data Retransmit: how to handle queued, but not yet acknowledged, data First-only (timer per queue, retransmit segment FIFO) First-only (timer per queue, retransmit segment FIFO) Batch (timer per queue, retransmit whole queue) Batch (timer per queue, retransmit whole queue) Individual (timer per segment, retransmit by segment) Individual (timer per segment, retransmit by segment) Acknowledge: Acknowledge: immediate (send immediate ack for each good segment) immediate (send immediate ack for each good segment) cumulative (timed wait, and piggyback cumulative ack) cumulative (timed wait, and piggyback cumulative ack) Performance implications?

23 Chapter 12: TCP Traffic Control 23 TCP Congestion Control Dynamic routing can alleviate congestion by spreading load more evenly Dynamic routing can alleviate congestion by spreading load more evenly But, only effective for unbalanced loads and brief surges in traffic But, only effective for unbalanced loads and brief surges in traffic Congestion can only be effectively controlled by limiting total amount of data entering the network Congestion can only be effectively controlled by limiting total amount of data entering the network ICMP Source Quench message is crude and not effective ICMP Source Quench message is crude and not effective RSVP may help, but not widely implemented RSVP may help, but not widely implemented

24 Chapter 12: TCP Traffic Control 24 TCP Congestion Control is Difficult IP is connectionless and stateless, with no provision for detecting or controlling congestion IP is connectionless and stateless, with no provision for detecting or controlling congestion –RFC 3168 adds ECN to IP, but not widely deployed yet RFC 3168RFC 3168 TCP only provides end-to-end flow control TCP only provides end-to-end flow control No cooperative, distributed algorithm to bind together various TCP entities No cooperative, distributed algorithm to bind together various TCP entities

25 Chapter 12: TCP Traffic Control 25 TCP Flow and Congestion Control The rate at which a TCP entity can transmit is determined by rate of incoming ACKs to previous segments with new credit (“TCP self-clocking”) The rate at which a TCP entity can transmit is determined by rate of incoming ACKs to previous segments with new credit (“TCP self-clocking”) Rate of ACK arrival is determined by the round-trip path between source and destination Rate of ACK arrival is determined by the round-trip path between source and destination Bottleneck may be destination or internet Bottleneck may be destination or internet Sender cannot tell which Sender cannot tell which Only the internet bottleneck can be due to congestion Only the internet bottleneck can be due to congestion

26 Chapter 12: TCP Traffic Control 26 TCP Segment Pacing: Self-Clocking Congestion Control (bottleneck in the network) Flow Control ( bottleneck at the receiver)

27 Chapter 12: TCP Traffic Control 27 TCP Flow and Congestion Control – Potential Bottlenecks Physical bottlenecks: physical capacity constraints Logical bottlenecks: queuing effects due to load

28 Chapter 12: TCP Traffic Control 28 TCP Congestion Control Measures Note: TCP Tahoe and TCP Reno from Berkeley Unix TCP implementations

29 Chapter 12: TCP Traffic Control 29 Retransmission Timer Management Three Techniques to calculate retransmission time out (RTO) value: 1. RTT Variance Estimation 2. Exponential RTO Backoff 3. Karn’s Algorithm

30 Chapter 12: TCP Traffic Control 30 RTT Variance Estimation (Jacobson’s Algorithm) 3 sources of high variance in RTT If data rate is relatively low, then transmission delay will be relatively large, with larger variance due to variance in packet size If data rate is relatively low, then transmission delay will be relatively large, with larger variance due to variance in packet size Load may change abruptly due to other sources Load may change abruptly due to other sources Peer may not acknowledge segments immediately Peer may not acknowledge segments immediately

31 Chapter 12: TCP Traffic Control 31 Jacobson’s Algorithm SRTT(K + 1) = (1 – g) × SRTT(K) + g × RTT(K + 1) SERR(K + 1) = RTT(K + 1) – SRTT(K) SDEV(K + 1) = (1 – h) × SDEV(K) + h × |SERR(K + 1)| RTO(K + 1) = SRTT(K + 1) + f × SDEV(K + 1) – g = 0.125 (  ) – h = 0.25 (  ) – f = 2 or f = 4 – (most current implementations use f = 4)

32 Chapter 12: TCP Traffic Control 32 Jacobson’s RTO Calculations Increasing function Decreasing function

33 Chapter 12: TCP Traffic Control 33 Two Other Factors Jacobson’s algorithm can significantly improve TCP performance, but: What RTO should we use for retransmitted segments? What RTO should we use for retransmitted segments? ANSWER: exponential RTO backoff algorithm ANSWER: exponential RTO backoff algorithm Which round-trip samples should we use as input to Jacobson’s algorithm? Which round-trip samples should we use as input to Jacobson’s algorithm? ANSWER: Karn’s algorithm

34 Chapter 12: TCP Traffic Control 34 Exponential RTO Backoff Increase RTO each time the same segment is retransmitted – backoff process Increase RTO each time the same segment is retransmitted – backoff process Multiply RTO by constant: Multiply RTO by constant: RTO = q × RTO q = 2 is called binary exponential backoff (like Ethernet CSMA/CD) q = 2 is called binary exponential backoff (like Ethernet CSMA/CD)

35 Chapter 12: TCP Traffic Control 35 Which Round-trip Samples? If an ack is received for a retransmitted segment, there are 2 possibilities: If an ack is received for a retransmitted segment, there are 2 possibilities: 1. Ack is for first transmission 2. Ack is for second transmission TCP source cannot distinguish between these two cases TCP source cannot distinguish between these two cases No valid way to calculate RTT: No valid way to calculate RTT: –From first transmission to ack, or –From second transmission to ack?

36 Chapter 12: TCP Traffic Control 36 Karn’s Algorithm Do not use measured RTT for retransmitted segments to update SRTT and SDEV Do not use measured RTT for retransmitted segments to update SRTT and SDEV Calculate exponential backoff RTO when a retransmission occurs Calculate exponential backoff RTO when a retransmission occurs Use backoff RTO for segments until an ack arrives for a segment that has not been retransmitted Use backoff RTO for segments until an ack arrives for a segment that has not been retransmitted Then use Jacobson’s algorithm to calculate RTO Then use Jacobson’s algorithm to calculate RTO

37 Chapter 12: TCP Traffic Control 37 Window Management Slow start Slow start Dynamic window sizing on congestion Dynamic window sizing on congestion Fast retransmit Fast retransmit Fast recovery Fast recovery ECN ECN Other Mechanisms Other Mechanisms

38 Chapter 12: TCP Traffic Control 38 Slow Start awnd = MIN[ credit, cwnd] where awnd = allowed window in segments cwnd = congestion window in segments (assumes MSS bytes per segment) credit = amount of unused credit granted in most recent ack (rcvwindow) cwnd = 1 for a new connection and increased by 1 (except during slow start) for each ack received, up to a maximum

39 Chapter 12: TCP Traffic Control 39 Effect of TCP Slow Start

40 Chapter 12: TCP Traffic Control 40 Dynamic Window Sizing on Congestion A lost segment indicates congestion A lost segment indicates congestion Prudent (conservative) to reset cwnd to 1 and begin slow start process Prudent (conservative) to reset cwnd to 1 and begin slow start process May not be conservative enough: “easy to drive a network into saturation but hard for the net to recover” (Jacobson) May not be conservative enough: “easy to drive a network into saturation but hard for the net to recover” (Jacobson) Instead, use slow start with linear growth in cwnd after reaching a threshold value Instead, use slow start with linear growth in cwnd after reaching a threshold value

41 Chapter 12: TCP Traffic Control 41 Slow Start and Congestion Avoidance

42 Chapter 12: TCP Traffic Control 42 Illustration of Slow Start and Congestion Avoidance

43 Chapter 12: TCP Traffic Control 43 Fast Retransmit (TCP Tahoe) RTO is generally noticeably longer than actual RTT RTO is generally noticeably longer than actual RTT If a segment is lost, TCP may be slow to retransmit If a segment is lost, TCP may be slow to retransmit TCP rule: if a segment is received out of order, an ack must be issued immediately for the last in-order segment TCP rule: if a segment is received out of order, an ack must be issued immediately for the last in-order segment Tahoe/Reno Fast Retransmit rule: if 4 acks received for same segment (I.e. 3 duplicate acks), highly likely it was lost, so retransmit immediately, rather than waiting for timeout Tahoe/Reno Fast Retransmit rule: if 4 acks received for same segment (I.e. 3 duplicate acks), highly likely it was lost, so retransmit immediately, rather than waiting for timeout

44 Chapter 12: TCP Traffic Control 44 Fast Retransmit Triple duplicate ACK

45 Chapter 12: TCP Traffic Control 45 Fast Recovery (TCP Reno) When TCP retransmits a segment using Fast Retransmit, a segment was assumed lost When TCP retransmits a segment using Fast Retransmit, a segment was assumed lost Congestion avoidance measures are appropriate at this point Congestion avoidance measures are appropriate at this point E.g., slow-start/congestion avoidance procedure E.g., slow-start/congestion avoidance procedure This may be unnecessarily conservative since multiple ACKs indicate segments are actually getting through This may be unnecessarily conservative since multiple ACKs indicate segments are actually getting through Fast Recovery: retransmit lost segment, cut threshold in half, set congestion window to threshold +3, proceed with linear increase of cwnd Fast Recovery: retransmit lost segment, cut threshold in half, set congestion window to threshold +3, proceed with linear increase of cwnd This avoids initial slow-start This avoids initial slow-start

46 Chapter 12: TCP Traffic Control 46 Fast Recovery Example Reno Fast Recovery (simplified) Tahoe Slow Start

47 Chapter 12: TCP Traffic Control 47 Explicit Congestion Notification in TCP/IP – RFC 3168 ECN capable router sets congestion bits in the IP header of packets to indicate congestion ECN capable router sets congestion bits in the IP header of packets to indicate congestion TCP receiver sets bits in TCP ACK header to return congestion indication to peer (sender) TCP receiver sets bits in TCP ACK header to return congestion indication to peer (sender) TCP senders respond to congestion indication as if a packet loss had occurred TCP senders respond to congestion indication as if a packet loss had occurred DSCP 0 1 2 3 4 5 6 7 ECN IPv4 TOS field, IPv6 Traffic Class field 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 UAPRSFRCSSYIGKHTNNUAPRSFRCSSYIGKHTNN CEWCRECEWCRE HLEN RSVD TCP Header flag field

48 Chapter 12: TCP Traffic Control 48 Explicit Congestion Notification in TCP/IP – RFC 3168 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 UAPRSFRCSSYIGKHTNNUAPRSFRCSSYIGKHTNN CEWCRECEWCRE HLEN RSVD DSCP 0 1 2 3 4 5 6 7 ECN 0 0Not ECN Capable Transport 0 1ECT (1) 1 0ECT (0) 1 1Congestion Experienced 0 0Set-up: not ECN Capable response 0 1Receiver ECN-Echo: CE packet received 1 0Sender Congestion Window Reduced acknowledgement 1 1Set-up: with SYN to indicate ECN capability

49 Chapter 12: TCP Traffic Control 49 TCP/IP ECN Protocol Hosts negotiate ECN capability during TCP connection setup TCP Sender TCP Receiver SYN + ECE + CWR SYN ACK + ECE Receiver TCP Acks packets with ECN- Echo set if CE bits set in IP header. Sender IP marks data packets as ECN Capable Transport Routers mark ECN-capable IP packets if Congestion Experienced. Sender TCP reduces window size and marks next packet with CWR Routers mark ECN-capable IP packets if Congestion Experienced.

50 Chapter 12: TCP Traffic Control 50 TCP/IP ECN – Some Other Considerations Sender sets CWR only on first data packet after ECE Sender sets CWR only on first data packet after ECE CWR also set for window reduction for any other reason CWR also set for window reduction for any other reason ECT must not be set in retransmitted packets ECT must not be set in retransmitted packets Receiver continues to send ECE in all ACKs until CWR received Receiver continues to send ECE in all ACKs until CWR received –Delayed ACKs: if any data packet has CE set, send ECE –Fragmentation: if any fragment has CE set, send ECE

51 Chapter 12: TCP Traffic Control 51 Some Other Mechanisms for TCP Congestion Control Limited Transmit – for small congestion windows; triggers fast retransmit for < 3 dup ACKs Limited Transmit – for small congestion windows; triggers fast retransmit for < 3 dup ACKs Appropriate Byte Counting (ABC) – congestion window modified based number of bytes acknowledged by each ACK, rather than by the number of ACKs that arrive Appropriate Byte Counting (ABC) – congestion window modified based number of bytes acknowledged by each ACK, rather than by the number of ACKs that arrive Selective Acknowledgement – defines use of TCP selective acknowledgement option Selective Acknowledgement – defines use of TCP selective acknowledgement option

52 Chapter 12: TCP Traffic Control 52 Performance of TCP over ATM How best to manage TCP’s segment size, window management and congestion control mechanisms… How best to manage TCP’s segment size, window management and congestion control mechanisms… …at the same time as ATM’s quality of service and traffic control policies …at the same time as ATM’s quality of service and traffic control policies TCP may operate end-to-end over one ATM network, or there may be multiple ATM LANs or WANs with non-ATM networks TCP may operate end-to-end over one ATM network, or there may be multiple ATM LANs or WANs with non-ATM networks

53 Chapter 12: TCP Traffic Control 53 TCP/IP over AAL5/ATM TCP IP AAL5 ATM Convergence S/L SAR S/L CPCS Trailer: CPCS-UU Indication Common Part Indicator PDU Payload Length Payload CRC

54 Chapter 12: TCP Traffic Control 54 Performance of TCP over UBR Buffer capacity at ATM switches is a critical parameter in assessing TCP throughput performance (why?) Buffer capacity at ATM switches is a critical parameter in assessing TCP throughput performance (why?) Insufficient buffer capacity results in lost TCP segments and retransmissions Insufficient buffer capacity results in lost TCP segments and retransmissions No segments lost if each ATM switch has buffer capacity equal to or greater than the sum of the rcvwindows for all TCP connections through the switch (practical?) No segments lost if each ATM switch has buffer capacity equal to or greater than the sum of the rcvwindows for all TCP connections through the switch (practical?)

55 Chapter 12: TCP Traffic Control 55 Effect of Switch Buffer Size (example - Romanow & Floyd) Data rate of 141 Mbps Data rate of 141 Mbps End-to-end propagation delay of 6 μs End-to-end propagation delay of 6 μs IP packet sizes of 512 – 9180 octets IP packet sizes of 512 – 9180 octets TCP window sizes from 8 Kbytes to 64 Kbytes TCP window sizes from 8 Kbytes to 64 Kbytes ATM switch buffer size per port from 256 – 8000 cells ATM switch buffer size per port from 256 – 8000 cells One-to-one mapping of TCP connections to ATM virtual circuits One-to-one mapping of TCP connections to ATM virtual circuits TCP sources have infinite supply of data ready TCP sources have infinite supply of data ready

56 Chapter 12: TCP Traffic Control 56 Performance of TCP over UBR (UBR)

57 Chapter 12: TCP Traffic Control 57 Observations If a single cell is dropped, other cells in the same IP datagram are unusable, yet ATM network forwards these useless cells to destination If a single cell is dropped, other cells in the same IP datagram are unusable, yet ATM network forwards these useless cells to destination Smaller buffer increases probability of dropped cells Smaller buffer increases probability of dropped cells Larger segment size increases number of useless cells transmitted if a single cell dropped Larger segment size increases number of useless cells transmitted if a single cell dropped

58 Chapter 12: TCP Traffic Control 58 Partial Packet and Early Packet Discard Reduce the transmission of useless cells Reduce the transmission of useless cells Work on a per-virtual-channel basis Work on a per-virtual-channel basis Partial Packet Discard –If a cell is dropped, then drop all subsequent cells in that segment (i.e., up to and including the first cell with SDU type bit set to one) Early Packet Discard –When a switch buffer reaches a threshold level, preemptively discard all cells in a segment

59 Chapter 12: TCP Traffic Control 59 Performance of TCP over UBR (UBR)

60 Chapter 12: TCP Traffic Control 60 ATM Switch Buffer Layout – Selective Drop and Fair Buffer Allocation

61 Chapter 12: TCP Traffic Control 61 EPD Fairness - Selective Drop Ideally, N/V cells buffered for each of the V virtual channels Ideally, N/V cells buffered for each of the V virtual channels Weight ratio, W(i) = N(i) = N(i) × V Weight ratio, W(i) = N(i) = N(i) × V N/V N N/V N Selective Drop: If N > R and W(i) > Z If N > R and W(i) > Z then drop next new packet on VC(i) then drop next new packet on VC(i) Z is a parameter to be chosen (studies show optimal Z slightly < 1) Z is a parameter to be chosen (studies show optimal Z slightly < 1)

62 Chapter 12: TCP Traffic Control 62 Fair Buffer Allocation More aggressive dropping of packets as congestion increases More aggressive dropping of packets as congestion increases Drop new packet when: Drop new packet when: N > R and W(i) > Z × B – R N > R and W(i) > Z × B – R N - R N - R Note that the larger the portion of the “safety zone” (B-R) that is occupied, the smaller the number with which W(i) is compared. R

63 Chapter 12: TCP Traffic Control 63 TCP over ABR Good performance of TCP over UBR can be achieved with minor adjustments to switch mechanisms (i.e., PPD/EPD) Good performance of TCP over UBR can be achieved with minor adjustments to switch mechanisms (i.e., PPD/EPD) This reduces the incentive to use the more complex and more expensive ABR service This reduces the incentive to use the more complex and more expensive ABR service Performance and fairness of ABR is quite sensitive to some ABR parameter settings Performance and fairness of ABR is quite sensitive to some ABR parameter settings Overall, ABR does not provide significant performance over simpler and less expensive UBR-EPD or UBR-EPD-FBA Overall, ABR does not provide significant performance over simpler and less expensive UBR-EPD or UBR-EPD-FBA


Download ppt "1 Chapter 12 TCP Traffic Control. Chapter 12: TCP Traffic Control 2 Introduction 1. Performance implications of TCP Flow and Error Control 2. Performance."

Similar presentations


Ads by Google