Congestion Control in Computer Networks - ATM and TCP

7,057 views
6,735 views

Published on

Published in: Technology, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,057
On SlideShare
0
From Embeds
0
Number of Embeds
145
Actions
Shares
0
Downloads
301
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Congestion Control in Computer Networks - ATM and TCP

  1. 1. Congestion Control in Networks ATM and TCP Balazs Attila-Mihaly
  2. 2. Outline <ul><li>What is congestion?
  3. 3. Myths about congestion
  4. 4. Congestion control possibilities
  5. 5. ATM – Vocabulary
  6. 6. ATM – Congestion Control </li></ul><ul><li>ATM – CC evaluation
  7. 7. TCP
  8. 8. TCP – Congestion Control
  9. 9. TCP – CC evaluation
  10. 10. Bibliography </li></ul>
  11. 11. What is congestion? <ul><li>”network congestion occurs when a link or node is carrying so much data that its quality of service deteriorates” - Wikipedia
  12. 12. QoS </li><ul><li>Packet loss
  13. 13. Queuing delay
  14. 14. Jitter
  15. 15. Low troughput </li></ul></ul>
  16. 16. Congestion control possibilities <ul><li>Admission control
  17. 17. Traffic access control
  18. 18. Packet scheduling (prioritization)
  19. 19. Buffer management
  20. 20. Flow control (speed matching)
  21. 21. QoS routing </li></ul>
  22. 22. Congestion control possibilities <ul><li>Admission control
  23. 23. Traffic access control
  24. 24. Packet scheduling (prioritization)
  25. 25. Buffer management
  26. 26. Flow control (speed matching)
  27. 27. QoS routing </li></ul>Congestion <ul><li>prevention
  28. 28. avoidance
  29. 29. recovery </li></ul>
  30. 30. CC Objectives <ul><li>Scalability
  31. 31. Fairness </li><ul><li>Max-Min
  32. 32. Min + Equal share
  33. 33. Maximum of the previous too
  34. 34. Allocation proportional with Min
  35. 35. Weighted allocation </li></ul><li>Robustness
  36. 36. Implementability </li></ul>
  37. 37. ATM <ul><li>Protocol implemented over different media
  38. 38. Fixed sized cells (53 bytes – 48 byte of data)
  39. 39. Vocabulary: </li><ul><li>VCI – Virtual Circuit Identifier
  40. 40. PCR – Peak Cell Rate
  41. 41. SCR – Sustained Cell Rate
  42. 42. MBR – Maximum Burst Size
  43. 43. MCR – Minimum Cell Rate </li></ul></ul>
  44. 44. ATM <ul><li>Vocabulary </li><ul><li>CTD – Cell Transfer Delay (maximum / mean)
  45. 45. CDV – Cell Delay Variation (peak-to-peak / instant.)
  46. 46. CLR – Cell Loss Ratio </li></ul><li>Service categories </li><ul><li>CBR – Constant Bit Rate
  47. 47. rt-VBR – Real-Time Variable Bit Rate
  48. 48. nrt-VBR – Non-Real-Time Variable Bit Rate
  49. 49. UBR – Unspecified Bit Rate
  50. 50. ABR – Available Bit Rate </li></ul></ul>
  51. 51. ATM – Congestion Control <ul><li>Admission control – CAC (Call Access Control) </li><ul><li>Hard or soft (statistical) limits </li></ul><li>Traffic access control – GCRA (Generic Cell Rate Algorith) </li><ul><li>TAT – Theoretical Arrival Time
  52. 52. I – Increment
  53. 53. L - Limit </li></ul></ul>Cell arrival at t t <= TAT TAT = t t+L < TAT Conforming cell TAT = TAT + I Non-conforming cell
  54. 54. ATM – Congestion Recovery <ul><li>Mainly for ABR traffic
  55. 55. Closed loop, Rate based, Binary & Explicit feedback and Queue growth rate based CC
  56. 56. Resource Management (RM) Cells </li><ul><li>DIR – Direction (forward / backward)
  57. 57. BN – Backward Notification
  58. 58. CI – Congestion Indication
  59. 59. NI – No Increase
  60. 60. ER – Explicit Rate </li></ul><li>CLP – Cell Loss Priority bit </li></ul>
  61. 61. ATM – Congestion Recovery <ul><li>RM Cells sent every N cells (for example 32)
  62. 62. Considered out of band cells
  63. 63. Can be sent by the intermediate switches
  64. 64. Tagged packets (CLP) can be dropped at intermediate switches if a treshold is hit </li></ul>
  65. 65. ATM – CC evaluation <ul><li>Explicit rather than implicit
  66. 66. Each switch can control the flow
  67. 67. Can provide guarantess (QoS) </li></ul><ul><li>Complex system with many parameters
  68. 68. Needs ”smart-network” </li></ul>
  69. 69. TCP <ul><li>Possibly the most well-known communication protocol
  70. 70. Three-way handshake
  71. 71. Flow multiplexing with source/destination ports
  72. 72. Positive acknowledgement
  73. 73. Windowing </li></ul>
  74. 74. TCP – Congestion Control <ul><li>Not well known, but fascinating
  75. 75. Not part of the original spec
  76. 76. As a result in 1986 NSFnet capacity dropped more than 800 (!!!) times
  77. 77. Only reactive – needs to respect the ”smart endpoints – dumb network” principle
  78. 78. There are alternatives (SACK, RVSP, etc) </li></ul>
  79. 79. TCP – Congestion Control <ul><li>Additive increase (+1) / multiplicative decrease (*0.5)
  80. 80. Slow start
  81. 81. Fast retransmit and recovery </li></ul>
  82. 82. TCP – CC evaluation <ul><li>Simple (no parameters to tweak)
  83. 83. Doesn't need cooperation from intermediate routers </li></ul><ul><li>No guarantees by itself
  84. 84. It's reactive
  85. 85. It actually relies on congestion happening to detect the link speed (for slow start)
  86. 86. It assumes that all packed loss is due to congestion </li></ul>
  87. 87. Bibliography <ul><li>William Stallings – Data and Computer Communications – Fifth edition
  88. 88. Jagannathan Sarangapani – Wireless, Ad Hoc and Senso Networks – Protocol, Performance and Control
  89. 89. Steve Sjoquist, Andrew Tucker – Comparison of ATM and TCP Congestion Control
  90. 90. http://www.cis.ohio-state.edu/~jain/cis788-95/atm_cong/index.html </li></ul>
  91. 91. Thank you

×