Traffic shaping
Encyclopedia
Traffic shaping is the control of computer network
Computer network
A computer network, often simply referred to as a network, is a collection of hardware components and computers interconnected by communication channels that allow sharing of resources and information....

 traffic in order to optimize or guarantee performance, improve latency
Latency (engineering)
Latency is a measure of time delay experienced in a system, the precise definition of which depends on the system and the time being measured. Latencies may have different meaning in different contexts.-Packet-switched networks:...

, and/or increase usable bandwidth
Bandwidth (computing)
In computer networking and computer science, bandwidth, network bandwidth, data bandwidth, or digital bandwidth is a measure of available or consumed data communication resources expressed in bits/second or multiples of it .Note that in textbooks on wireless communications, modem data transmission,...

 for some kinds of packets by delaying other kinds of packets that meet certain criteria. If a link becomes saturated to the point where there is a significant level of contention
Contention (telecommunications)
In packet mode communication networks, contention is a media access method that is used to share a broadcast medium.-Collision detection and recovery:...

 (either upstream or downstream) latency can rise substantially. As a result, traffic shaping can be used to prevent this from occurring and keep latency in check. Traffic shaping provides a means to control the volume of traffic being sent into a network
Computer network
A computer network, often simply referred to as a network, is a collection of hardware components and computers interconnected by communication channels that allow sharing of resources and information....

 in a specified period (bandwidth throttling
Bandwidth throttling
Bandwidth throttling is a reactive measure employed in communication networks to regulate network traffic and minimize bandwidth congestion. Bandwidth throttling can occur at different locations on the network. On a local area network , a sysadmin may employ bandwidth throttling to help limit...

), or the maximum rate at which the traffic is sent (rate limiting
Rate limiting
In computer networks, rate limiting is used to control the rate of traffic sent or received on a network interface. Traffic that is less than or equal to the specified rate is sent, whereas traffic that exceeds the rate is dropped or delayed...

), or more complex criteria such as GCRA
Generic cell rate algorithm
The Generic Cell Rate Algorithm is an algorithm that is used in Asynchronous Transfer Mode networks to measure the timing of cells on Virtual Channels and or Virtual Paths against bandwidth and jitter limits contained in a traffic contract for the VC or VP to which the cells belong...

. This control can be accomplished in many ways and for many reasons; however traffic shaping is always achieved by delaying packets. Traffic shaping is commonly applied at the network edges to control traffic entering the network, but can also be applied by the traffic source (for example, computer or network card
Network card
A network interface controller is a computer hardware component that connects a computer to a computer network....

) or by an element in the network. Traffic policing
Traffic policing
Traffic policing is the process of monitoring network traffic for compliance with a traffic contract and taking steps to enforce that contract. Traffic sources which are aware of a traffic contract may apply traffic shaping to ensure their output stays within the contract and is thus not discarded...

 is the distinct but related practice of packet dropping and packet marking.

Uses

Traffic shaping is sometimes applied by traffic sources to ensure the traffic they send complies with a contract which may be enforced in the network by a policer
Traffic policing
Traffic policing is the process of monitoring network traffic for compliance with a traffic contract and taking steps to enforce that contract. Traffic sources which are aware of a traffic contract may apply traffic shaping to ensure their output stays within the contract and is thus not discarded...

.

It is widely used for network traffic engineering
Teletraffic engineering
Telecommunications traffic engineering, teletraffic engineering, or traffic engineering is the application of traffic engineering theory to telecommunications...

, and appears in domestic ISPs' networks.

Nodes in an IP network which buffer packets before sending on a link which is at capacity result in a traffic shaping effect. This can appear at for example a low bandwidth link (such as dial-up), a particularly expensive WAN link or satellite hop.

Traffic shaping is often used in combination with:
  • Differentiated services
    Differentiated services
    Differentiated Services or DiffServ is a computer networking architecture that specifies a simple, scalable and coarse-grained mechanism for classifying and managing network traffic and providing Quality of Service on modern IP networks...

    , Integrated services
    Integrated services
    In computer networking, IntServ or integrated services is an architecture that specifies the elements to guarantee quality of service on networks...

     — including traffic classification and prioritization.
  • Weighted round robin
    Weighted round robin
    Weighted round robin is a scheduling discipline. Each packet flow or connection has its own packet queue in a network interface card. It is the simplest approximation of generalized processor sharing...

     (WRR)
  • Random early detection
    Random early detection
    Random early detection , also known as random early discard or random early drop is an active queue management algorithm. It is also a congestion avoidance algorithm....

     (RED), Weighted RED (WRED) and RED In/Out (RIO) — Lessens the possibility of port queue buffer
    Computer port (hardware)
    In computer hardware, a port serves as an interface between the computer and other computers or peripheral devices. Physically, a port is a specialized outlet on a piece of equipment to which a plug or cable connects...

     tail drop
    Tail drop
    Tail Drop, or Drop Tail, is a simple queue management algorithm used by Internet routers to decide when to drop packets. In contrast to the more complex algorithms like RED and WRED, in Tail Drop all the traffic is not differentiated. Each packet is treated identically...

    s and this lowers the likelihood of TCP global synchronization
    TCP global synchronization
    TCP global synchronization in Computer networks can happen toTCP/IP flows during periodsof congestion because each sender will reduce their transmission rate at the sametime when packet loss occurs....

    .
  • A number of port queue buffers.
  • VLAN tagging IEEE 802.1q

Implementation

A traffic shaper works by delaying metered traffic such that each packet complies with the relevant traffic contract
Traffic contract
If a service wishes to use a broadband network to transport a particular kind of traffic, it must first inform the network about what kind of traffic is to be transported, and the performance requirements of that traffic...

. Metering may be implemented with for example the leaky bucket
Leaky bucket
The leaky bucket is an algorithm used in packet switched computer networks and telecommunications networks to check that data transmissions conform to defined limits on bandwidth and burstiness . The leaky bucket algorithm is also used in leaky bucket counters, e.g...

 or token bucket
Token bucket
The token bucket is an algorithm used in packet switched computer networks and telecommunications networks to check that data transmissions conform to defined limits on bandwidth and burstiness ....

 algorithms (the former typically in ATM
Asynchronous Transfer Mode
Asynchronous Transfer Mode is a standard switching technique designed to unify telecommunication and computer networks. It uses asynchronous time-division multiplexing, and it encodes data into small, fixed-sized cells. This differs from approaches such as the Internet Protocol or Ethernet that...

 and the latter in IP networks
Internet Protocol
The Internet Protocol is the principal communications protocol used for relaying datagrams across an internetwork using the Internet Protocol Suite...

). Metered packets or cells are then stored in a FIFO
FIFO
FIFO is an acronym for First In, First Out, an abstraction related to ways of organizing and manipulation of data relative to time and prioritization...

 buffer for each separately shaped class, until they can be transmitted in compliance with the prevailing traffic contract. This may occur immediately (if the traffic arriving at the shaper is already compliant), after some delay (waiting in the buffer until its scheduled release time) or never (in case of buffer overflow
Buffer overflow
In computer security and programming, a buffer overflow, or buffer overrun, is an anomaly where a program, while writing data to a buffer, overruns the buffer's boundary and overwrites adjacent memory. This is a special case of violation of memory safety....

).

Overflow Condition

All traffic shaper implementations have a finite buffer, and must cope with the case where the buffer is full. A simple and common approach is to drop traffic arriving while the buffer is full (tail drop), thus resulting in traffic policing as well as shaping. A more sophisticated implementation could apply a dropping algorithm such as Random Early Discard
Random early detection
Random early detection , also known as random early discard or random early drop is an active queue management algorithm. It is also a congestion avoidance algorithm....

; a crude alternative would be to allow overflowing traffic through unshaped.

Traffic Classification

Simple traffic shaping schemes shape all traffic uniformly by rate. More sophisticated shapers first classify traffic. Traffic classification categorises traffic (for example, based on port number or protocol). Each resulting traffic class can be treated differently to differentiate the service implied for the user (data generator/ consumer). For example, each traffic class could be subject to a different rate limit, shaped separately and/or prioritized relative to other traffic classes. This differentiation can be used by a network operator to treat different types of application traffic differently (for example, prioritize voice over file sharing for the responsiveness perceived by end users), and to offer premium services at a higher price point than basic ones.

Classification is achieved by various means. Matching bit patterns of data to those of known protocols is a simple, yet widely-used technique. An example to match the BitTorrent protocol handshaking
Handshaking
In information technology, telecommunications, and related fields, handshaking is an automated process of negotiation that dynamically sets parameters of a communications channel established between two entities before normal communication over the channel begins...

 phase would be a check to see if a packet began with character 19 which was then followed by the 19-byte string 'BitTorrent protocol'. More advanced traffic classification techniques rely on statistical analysis of attributes such as byte frequencies, packet sizes and packet inter-arrival times. Upon classifying a traffic flow using a particular protocol, a predetermined policy can be applied to it and other flows to either guarantee a certain quality (as with VoIP
Voice over IP
Voice over Internet Protocol is a family of technologies, methodologies, communication protocols, and transmission techniques for the delivery of voice communications and multimedia sessions over Internet Protocol networks, such as the Internet...

 or media streaming service) or to provide best-effort delivery. This may be applied at the ingress point (the point at which traffic enters the network) with a granularity that allows the traffic-shaping control mechanism to separate traffic into individual flows and shape them differently.

Self-Limiting Sources

A self-limiting source produces traffic which never exceeds some upper bound, for example media sources which cannot transmit faster than their encoded rate allows. Self-limiting sources shape the traffic they generate to a greater or lesser degree. Congestion control mechanisms can also affect traffic shaping of sorts - for example TCP's
Transmission Control Protocol
The Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol , and therefore the entire suite is commonly referred to as TCP/IP...

 window mechanism implements a variable rate constraint related to bandwidth-delay product
Bandwidth-delay product
In data communications, bandwidth-delay product refers to the product of a data link's capacity and its end-to-end delay . The result, an amount of data measured in bits , is equivalent to the maximum amount of data on the network circuit at any given time, i.e. data that has been transmitted but...

.

TCP Nice, a modified version of TCP developed by researchers at the University of Texas at Austin, allows applications to request that certain TCP connections be managed by the operating system as near zero-cost background transfers, or "nice" flows. Such flows interfere only minimally with foreground (non-nice) flows, while reaping a large fraction of spare network bandwidth.

Relationship to Traffic Management

Traffic shaping is a specific technique and one of several which combined comprise Traffic Management. Current common usage, particularly in discussion of domestic Internet service provision, frequently confuses traffic shaping with traffic management and traffic policing, with classification policies and in general with any measure deliberately taken by an ISP which is detrimental to the user's IP traffic performance.

ISPs and Traffic Management

See bandwidth management
Bandwidth management
Bandwidth management is the process of measuring and controlling the communications on a network link, to avoid filling the link to capacity or overfilling the link, which would result in network congestion and poor performance of the network.- Management :Bandwidth management mechanisms may be...

, and also Teletraffic engineering in broadband networks
Teletraffic engineering in broadband networks
Teletraffic engineering is a well-understood discipline in the traditional telephone network, where traffic patterns are established, growth rates can be predicted, and vast amounts of detailed historical data are available for analysis. However, for modern broadband networks, the teletraffic...


Traffic shaping is of interest especially to Internet Service Providers
Internet service provider
An Internet service provider is a company that provides access to the Internet. Access ISPs directly connect customers to the Internet using copper wires, wireless or fiber-optic connections. Hosting ISPs lease server space for smaller businesses and host other people servers...

 (ISPs). Their high-cost, high-traffic networks are their major assets, and as such, are the focus of all their attentions. They often use traffic shaping as a method to optimize the use of their network, sometimes by intelligently shaping traffic according to importance, other times by discouraging uses of applications by harsh means. There are those who believe it is not the ISPs place to decide what is "important"; in such cases per-client traffic shaping is more effective without creating potential controversies about what traffic is being controlled. For these reasons ISP cannot provide a perfect solution when traffic shaping.

Benefits

To ISPs, mere protocol identification (classification) gives the intangible yet significant benefit of seeing what internet traffic is flowing through the network. From this they can see which subscribers are doing what on their network and can target services to the subscriber base they have attracted. However as time progresses, more and more protocols are using tunneling and encryption to defeat these methods. Also, many protocols are very difficult or impossible to detect. In such cases, per-client shaping is more effective. By establishing policies based on the IP or IP grouping of a client, end users cannot defeat shaping by disguising protocols or encrypting their traffic.

In addition, intelligent shaping schemes can guarantee a particular Quality of Service (often measured in jitter
Packet delay variation
In computer networking, packet delay variation is the difference in end-to-end delay between selected packets in a flow with any lost packets being ignored...

, packet loss
Packet loss
Packet loss occurs when one or more packets of data travelling across a computer network fail to reach their destination. Packet loss is distinguished as one of the three main error types encountered in digital communications; the other two being bit error and spurious packets caused due to noise.-...

, and latency
Latency (engineering)
Latency is a measure of time delay experienced in a system, the precise definition of which depends on the system and the time being measured. Latencies may have different meaning in different contexts.-Packet-switched networks:...

) for an application or a user while still allowing other traffic to use all remaining bandwidth. This allows ISPs to offer Differentiated services
Differentiated services
Differentiated Services or DiffServ is a computer networking architecture that specifies a simple, scalable and coarse-grained mechanism for classifying and managing network traffic and providing Quality of Service on modern IP networks...

 and to upsell existing services to subscribers (such as offering minimum-latency computer gaming for an additional fee on top of basic internet).

More importantly, shaping allows ISPs to tier their services using software, reducing their costs and increasing the menu of products they can offer.

For Wireless ISP's, particularly those who use Wifi based protocols, Congestive collapse is a serious problem. Due to the unfortunate nature of Wifi when several stations are all trying to access a single access point at once, once the load is past roughly 95% channel load, the throughput starts to drop dramatically. Whilst the channel stays at the same usage (roughly 99%), the throughput just gets slower and slower due to the number of retries. TCP performance may be greatly impacted by the long delay over the wireless link caused by the congestion at the access point. A long delay can cause expiration of the TCP RTO timer at the sender's side and then force TCP into slow-start
Slow-start
Slow-start is part of the congestion control strategy used by TCP, the data transmission protocol used by many Internet applications. Slow-start is used in conjunction with other algorithms to avoid sending more data than the network is capable of transmitting, that is, to avoid causing network...

. On the other hand, if the long delay is experienced on the ACK path, it could cause the so-called "ACK compression", which will disturb the synchronization between the TCP sender and the TCP receiver. Multiple compressed ACKs if passing through the wireless access point all together can clock-out the same amount of large packets from the TCP sender and all of them may arrive at the wireless bottleneck in a short time and further worsen the congestion there. Therefore traffic shaping should be seriously considered on a WISP in order to avoid these possible performance impacts.

Traffic Classification

For the debate about ISPs degrading performance of some kinds of Internet traffic, see network neutrality
Network neutrality
Network neutrality is a principle that advocates no restrictions by Internet service providers or governments on consumers' access to networks that participate in the Internet...

.

Networks operators often distinguish between different types of traffic. Each type of traffic is called a class, and the process of determining which class a packet falls into is classification.

Operators often distinguish three broad types of network traffic: Sensitive, Best-Effort, and Undesired.

Sensitive Traffic

Sensitive traffic is traffic the operator has an expectation to deliver on time. This includes VoIP, online gaming, video conferencing, and web browsing. Shaping schemes are generally tailored in such a way that the quality of service
Quality of service
The quality of service refers to several related aspects of telephony and computer networks that allow the transport of traffic with special requirements...

 of these selected uses is guaranteed, or at least prioritized over other classes of traffic. This can be accomplished by the absence of shaping for this traffic class, or by prioritizing sensitive traffic above other classes.

Best-Effort Traffic

Best effort traffic is all other kinds of non-detrimental traffic. This is traffic that the ISP deems isn't sensitive to Quality of Service metrics (jitter, packet loss, latency). A typical example would be peer-to-peer
Peer-to-peer
Peer-to-peer computing or networking is a distributed application architecture that partitions tasks or workloads among peers. Peers are equally privileged, equipotent participants in the application...

 and email
Email
Electronic mail, commonly known as email or e-mail, is a method of exchanging digital messages from an author to one or more recipients. Modern email operates across the Internet or other computer networks. Some early email systems required that the author and the recipient both be online at the...

 applications. Traffic management schemes are generally tailored so best-effort traffic gets what is left after sensitive traffic.

Undesired Traffic

This category is generally limited to the delivery of spam and traffic created by worms, botnets, and other malicious attacks. In some networks, this definition can include such traffic as non-local VoIP (for example, Skype
Skype
Skype is a software application that allows users to make voice and video calls and chat over the Internet. Calls to other users within the Skype service are free, while calls to both traditional landline telephones and mobile phones can be made for a fee using a debit-based user account system...

) or video streaming services to protect the market for the 'in-house' services of the same type. In these cases, traffic management schemes identify and block this traffic entirely, or severely hamper its operation.

File Sharing

Peer-to-peer File Sharing
File sharing
File sharing is the practice of distributing or providing access to digitally stored information, such as computer programs, multimedia , documents, or electronic books. It may be implemented through a variety of ways...

 applications are often designed to use any and all available bandwidth which impacts QoS
Quality of service
The quality of service refers to several related aspects of telephony and computer networks that allow the transport of traffic with special requirements...

-sensitive applications (like online gaming
Online game
An online game is a game played over some form of computer network. This almost always means the Internet or equivalent technology, but games have always used whatever technology was current: modems before the Internet, and hard wired terminals before modems...

) that use comparatively small amounts of bandwidth. P2P programs can also suffer from download strategy inefficiencies, namely downloading files from any available peer, regardless of link cost. However, the biggest problem with P2P is not the downloads themselves; it is typically the discovery process. The applications use ICMP and regular HTTP traffic to discover servers and download directories of available files.

In 2002, Sandvine Incorporated
Sandvine
Sandvine Incorporated , in Waterloo, Ontario, Canada.Sandvine network policy control products are designed to implement broad network policies, ranging from service creation, billing, congestion management, and security...

 determined, through traffic analysis, that P2P traffic accounted for up to 60% of traffic on most networks. This shows, in contrast to previous studies and forecasts, that P2P has become mainstream.

P2P protocols can and are often designed so that the resulting packets are harder to identify, and with enough robustness that they do not depend on specific QoS
Quality of service
The quality of service refers to several related aspects of telephony and computer networks that allow the transport of traffic with special requirements...

 properties in the network (in-order packet delivery, jitter, etc. - typically this is achieved through increased buffering and reliable transport, with the user experiencing increased download time as a result). The encrypted BitTorrent
BitTorrent protocol encryption
Protocol encryption , message stream encryption , or protocol header encrypt are related features of some peer-to-peer file-sharing clients, including BitTorrent clients. They attempt to enhance privacy and confidentiality...

 protocol does for example rely on obfuscation and randomized packet sizes in order to avoid identification. File sharing traffic can be appropriately classified as Best-Effort traffic. At peak times when sensitive traffic is at its height, download speeds will decrease. However, since P2P downloads are often background activities, it affects the subscriber experience little, so long as the download speeds increase to their full potential when all other subscribers hang up their VoIP phones. Exceptions are real-time P2P VoIP and P2P video streaming services who need permanent QoS
Quality of service
The quality of service refers to several related aspects of telephony and computer networks that allow the transport of traffic with special requirements...

 and use excessive overhead and parity traffic to enforce this as far as possible.

Some P2P applications can be configured to act as self-limiting sources, serving as a traffic shaper configured to the user's (as opposed to the network operator's) traffic specification.

Some vendors advocate managing clients rather than specific protocols, particularly for ISPs. By managing per-client (that is, per customer), if the client chooses to use their fair share of the bandwidth running P2P applications, they can do so, but if their application is abusive, they only clog their own bandwidth and cannot affect the bandwidth used by other customers.

Enterprises

Traffic Shaping and Prioritization is becoming more and more common in the corporate market. Most companies with remote offices are now connected via a WAN
Wide area network
A wide area network is a telecommunication network that covers a broad area . Business and government entities utilize WANs to relay data among employees, clients, buyers, and suppliers from various geographical locations...

 (Wide Area Network). Applications tend to become centrally hosted at the head office and remote offices are expected to pull data from central databases and server farms. As applications become more hungry in terms of bandwidth and prices of dedicated circuits being relatively high in most areas of the world, instead of increasing the size of their WAN circuits, companies feel the need to properly manage their circuits to make sure business-oriented traffic gets priority over best-effort traffic. Traffic shaping is thus a good means for companies to avoid purchasing additional bandwidth while properly managing these resources.

Other upcoming technologies to this regards are Application Acceleration and WAN Optimization and Compression which are fundamentally different from Traffic Shaping. Traffic Shaping defines bandwidth rules (or partitions as some vendors call them) whereas Application Acceleration using multiple techniques like TCP Performance Enhancing Proxy
Performance Enhancing Proxy
Performance Enhancing Proxies are network agents designed to improve the end-to-end performance of some communications protocol. Performance Enhancing Proxies standards are defined in RFC 3135 and .-Classification:Available PEP implementations...

. WAN Optimization and Compression (WOC) on the other hand would use compression and differential algorithms and techniques to compress data streams or send only differences in file updates. The latter is quite effective for chatty protocols like CIFS.

See also

  • Teletraffic engineering in broadband networks
    Teletraffic engineering in broadband networks
    Teletraffic engineering is a well-understood discipline in the traditional telephone network, where traffic patterns are established, growth rates can be predicted, and vast amounts of detailed historical data are available for analysis. However, for modern broadband networks, the teletraffic...

  • Network congestion avoidance
  • Quality of service
    Quality of service
    The quality of service refers to several related aspects of telephony and computer networks that allow the transport of traffic with special requirements...

  • Bandwidth throttling
    Bandwidth throttling
    Bandwidth throttling is a reactive measure employed in communication networks to regulate network traffic and minimize bandwidth congestion. Bandwidth throttling can occur at different locations on the network. On a local area network , a sysadmin may employ bandwidth throttling to help limit...

  • Multilayer switch
    Multilayer switch
    A multilayer switch is a computer networking device that switches on OSI layer 2 like an ordinary network switch and provides extra functions on higher OSI layers.- Layer 3 Switching :...

  • Rate limiting
    Rate limiting
    In computer networks, rate limiting is used to control the rate of traffic sent or received on a network interface. Traffic that is less than or equal to the specified rate is sent, whereas traffic that exceeds the rate is dropped or delayed...

  • Token bucket
    Token bucket
    The token bucket is an algorithm used in packet switched computer networks and telecommunications networks to check that data transmissions conform to defined limits on bandwidth and burstiness ....

  • Leaky bucket
    Leaky bucket
    The leaky bucket is an algorithm used in packet switched computer networks and telecommunications networks to check that data transmissions conform to defined limits on bandwidth and burstiness . The leaky bucket algorithm is also used in leaky bucket counters, e.g...

  • Broadband Networks
    Broadband Networks
    The ideal telecommunication network has the following characteristics: broadband, multi-media, multi-point, multi-rate and economical implementation for a diversity of services [1][2]. The Broadband Integrated Services Digital Network provides these characteristics in today's networks...

  • Bandwidth management
    Bandwidth management
    Bandwidth management is the process of measuring and controlling the communications on a network link, to avoid filling the link to capacity or overfilling the link, which would result in network congestion and poor performance of the network.- Management :Bandwidth management mechanisms may be...

  • Network neutrality
    Network neutrality
    Network neutrality is a principle that advocates no restrictions by Internet service providers or governments on consumers' access to networks that participate in the Internet...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK