Bandwidth management

From Wikipedia, the free encyclopedia

Bandwidth management is the process of measuring and controlling the communications (traffic, packets) on a network link, to avoid filling the link to capacity or overfilling the link,[1] which would result in network congestion and poor performance of the network. Bandwidth is described by bit rate and measured in units of bits per second (bit/s) or bytes per second (B/s).[2]

Bandwidth management mechanisms and techniques[]

Bandwidth management mechanisms may be used to further engineer performance and includes:

  • Traffic shaping[3] (rate limiting):[4]
    • Token bucket
    • Leaky bucket
    • TCP rate control - artificially adjusting TCP window size as well as controlling the rate of ACKs being returned to the sender[5][6]
  • Scheduling algorithms:
    • Weighted fair queuing (WFQ)[7]
    • Class based weighted fair queuing
    • Weighted round robin (WRR)
    • Deficit weighted round robin (DWRR)
    • Hierarchical Fair Service Curve (HFSC)
  • Congestion avoidance:[1]
    • RED, WRED - Lessens the possibility of port queue buffer tail-drops and this lowers the likelihood of TCP global synchronization
    • Policing (marking/dropping the packet in excess of the committed traffic rate and burst size)[8]
    • Explicit congestion notification
    • Buffer tuning - [9] allows you to modify the way a router allocates buffers from its available memory, and helps prevent packet drops during a temporary burst of traffic.
  • Bandwidth reservation protocols / algorithms
  • Traffic classification - categorising traffic according to some policy in order that the above techniques can be applied to each class of traffic differently

Link performance[]

Issues which may limit the performance of a given link include:

  • TCP determines the capacity of a connection by flooding it until packets start being dropped (Slow-start)
  • Queueing in routers results in higher latency and jitter as the network approaches (and occasionally exceeds) capacity
  • TCP global synchronization when the network reaches capacity results in waste of bandwidth
  • Burstiness of web traffic requires spare bandwidth to rapidly accommodate the bursty traffic
  • Lack of widespread support for explicit congestion notification and quality of service management on the Internet
  • Internet Service Providers typically retain control over queue management and quality of service at their end of the link
  • Window Shaping allows higher end products to reduce traffic flows, which reduce queue depth and allow more users to share more bandwidth fairly

Tools and techniques[]

  • Packet sniffer[11] is a program or a device that eavesdrops on the network traffic by grabbing information traveling over a network
  • Network traffic measurement

See also[]

References[]

  1. ^ a b https://www.internetsociety.org/wp-content/uploads/2017/08/BWroundtable_report-1.0.pdf Internet Society on Bandwidth Management
  2. ^ "Bits Per Second". www.edrm.net. Retrieved 2020-07-23.
  3. ^ IETF RFC 2475 "An Architecture for Differentiated Services" section 2.3.3.3 - Internet standard definition of "Shaper"
  4. ^ AppNeta. "Rate Limiting Detection: Bandwidth and Latency". Appneta. Retrieved 2020-07-23.
  5. ^ "TCP Rate Control" (PDF).
  6. ^ Handley, Mark; Padhye, Jitendra; Floyd, Sally; Widmer, Joerg. "TCP Friendly Rate Control (TFRC): Protocol Specification". tools.ietf.org. Retrieved 2020-07-23.
  7. ^ Stiliadis, D.; Varma, A. (1998). "Latency-rate servers: A general model for analysis of traffic scheduling algorithms" (PDF). IEEE/ACM Transactions on Networking. 6 (5): 611. doi:10.1109/90.731196. S2CID 206475858.
  8. ^ "Traffic Shaping and Policing" (PDF).[permanent dead link]
  9. ^ "Buffer Tuning" (PDF).
  10. ^ "Resource ReSerVation Protocol (RSVP)". S2CID 18245741. Cite journal requires |journal= (help)
  11. ^ "Sniffers Basics and Detection" (PDF).
  • "Deploying IP and MPLS QoS for Multiservice Networks: Theory and Practice" by John Evans, Clarence Filsfils (Morgan Kaufmann, 2007, ISBN 0-12-370549-5)

External links[]

Retrieved from ""