Abstract—The need for buffering is very important for packet switching networks. Buffers in routers absorb the transient bursts that occur naturally in such networks. It reduces the frequency of packet loss and even they can avoid under-utilization when TCP connections back off due to packet drops. After several years of research with packet switching networks, it is surprising that we still do not know how to dimension the buffer of a router interface. At the same time the issue of buffer sizing has become important in practice. Recently there have been many interesting debates regarding the sizing of router buffers. From all the previous work we can say that the buffer size on the routers depends on several network parameters such as number of flows, output/input capacity ratios, speed, window size etc i.e. it is difficult to arrive at a simple formula for sizing router buffer. This article describes the impact of these networks parameters on buffer sizing in routers.
Index Terms— Buffer sizing, Core routers, Internet routers, link utilization, TCP.
I. INTRODUCTION
Routers knit together the constituent networks of the global Internet, creating the illusion of a unified whole. While their primary role is to transfer packets from a set of input links to a set of output links, they must also deal with heterogeneous link technologies, provide scheduling support for differential service, and participate in complex distributed algorithms to generate globally coherent routing tables. These demands, along with an insatiable need for bandwidth in the Internet, complicate their design. Routers are found at every level in the Internet
All Internet routers contain buffers which are mainly indented for holding the packets during time of congestion. The buffer in router has several roles. It accommodates transient bursts in traffic, without having to drop packets. It keeps a reserve of packets, so that the link doesn’t go idle. It also introduces queuing delay and jitter. One of the main
Manuscript received May, 2012.
Neetha K.Nataraj, Final year M.E-CSE, Department of Computer Science Engineering,SNS College of Technology, Sathy Main Road, Coimbatore-641035,India,Telephone:+91-4842464349,Mobile:+91-94004 14349,
Dr.S.Karthik, Dean cum Professor and Head, Department of Computer Science Engineering(PG),SNS College of Technology, Sathy Main Road, Coimbatore-641035,India,Telephone:+91-422-2666264,Mobile:+91-9842 720118
reasons for uncertainty in internet is router buffers. Buffers when they overflow cause packet loss and they degrade the throughput when they underflow. So sizing of router buffers are very much important.
An earlier experimental study by Villamizar and Song recommended that the buffer size should be equal to the bandwidth delay product (BDP) of that link [9].But the BDP rule results in large buffer .The paper [1] shows that the BDP rule was outdated and the size of buffer can be made smaller i.e. the buffer requirement at the link decrease with the square root of the number of flows N as described in section II. Section III explains that the size of the buffers can further reduced, perhaps to 10-20 packets at the cost of small amount of bandwidth utilization. Traffic and hardware considerations while sizing router buffers are also discussed.
How control theory has been used to size the router buffer is mentioned in next section (IV). Then dependency of buffer size on window size is explained (V),which also opted for small buffer size .All the previous discussion were opting for small buffers, but the use of small buffers can lead to excessively high loss rates in congested access links that carry many flows(VI). Our analysis points out that core to access speed ratio is also a key parameter that determines the buffer size. This parameter along with buffer size determines the typical number of flows in the network, i.e. buffer size and number of flows are dependent quantities (VII).Last section(VIII) describes the impact of buffer size on TCP performance.
II. SIZING ROUTER BUFFER
Size of the buffer is determined by the dynamics of the TCP’s congestion algorithm .The goal is to make sure that when a link is congested ,it is busy 100% of the time: which is equivalent to making sure its buffer never goes empty. In the paper [1] they argue that the rule of thumb [9]which states that each link needs a buffer of size B=RTT×C (where RTT is the average round –trip time of the flows passing across the link and C is the data rate of the link)is now outdated and incorrect for backbone routers. The rule is found in architectural guidelines [2], too.
Using some theory, simulation an experiments on a network of real routers[1] ,they show that a link with N flows requires not more than B=(RTT×C)/Sqrt(N) for long lived TCP flows.ie flows requires only 10Mbits of buffering which can be implemented using fast, on chip SRAM. Actually the paper [1] is not the last word; the goal is to persuade one or
An Analysis on Buffer Sizing in Routers and
Investigating its Impact on Network Parameters
21 more network operators to try reduced router buffers in their
backbone network.
The consequences of over buffering are first, it will make the design of high speed router complicated by high power consumption and lower density. Second, over buffering increases end-to-end delay when there is congestion. While the paper [1] has evidence that the buffers can be made smaller, but haven’t tested the hypothesis in a real operational network. It will be a risk for the operator to remove 99% of their buffers. But that has to be the next step and will see the results pointing out in that paper as a first step for the operator to try it out.
Even if operator verifies that small buffers work fine, it is difficult for router manufacturers, because in a competitive market place, it is not obvious that a router vendor will build a router with 1% the buffers of its competitors. But it will be difficult to build line cards from commercial memory chips for building router using current rule of thumb. So as a conclusion we can say that necessity may force buffers to be smaller.
III. BUFFER SIZING IN CORE ROUTERS
The study of buffer size for core routers [10] says that the size of the buffers can be reduced to 10-20 packets (where earlier it was reduced from 1000000 packets to 10000 without loss in performance), at the cost of small amount of bandwidth utilization. Theory and simulations illustrate why buffers could be much smaller [4][8] without making changes to TCP. This will encourages network operator to experiment with small buffers. The main issues are raised in [10].
A. Hardware Considerations While Sizing Router Buffer. The first reason why we go for small buffer is that the memory in a router line card has to be as fast as the line rate-much faster than the speed of the memory in desktop computers. Second according to Moore’s Law switching speed doubles every 18 months ,memory access speed double only every 10 years. So memory requirements will increasingly become a limited aspect of router design. Third all optical routers can buffer 100 packets .If this is sufficient for getting good performance then all-optical packet switched core network is feasible.
B. Traffic Considerations While Sizing Router Buffer. The naïve view is that the larger the buffer, the higher the utilization. But the problem with this is that: First, utilization is not necessarily the right metric because it is a useful metric when capacity is expensive and the network operator wants to be sure that all the capacity is able to be used but today core routers are run significantly below 100% utilization and its need is not nearly strong. Other metrics like latency and jitter must be considered and it will definitely be improved with small buffers. Second, the paper argues that if TCP flows are synchronized then we need large buffer to get high utilization and if they are desynchronized then we can go for small buffer by statistical multiplexing.
With small buffers, bursty flows in slow–start will be unfairly penalized because their packets arrive back to back and are more likely to be dropped. Large buffers in turn increases RTT and queuing delay but reduces packet drop probability .But the statement they argued in [10] is that applications can protect themselves against packet drop by resending the packets but lost time can never be recaptured i.e. packet loss is better signal than delay.
IV. CONTROL THEORY FOR BUFFER SIZING
Here it is mentioned how control theory can be helpful in sizing the core router buffer. The stability of the network is predicted using control theory i.e. whether the TCP flows are desynchronized. If so small buffers are sufficient[1] i.e. small buffers promote desynchronization.
A network will generally be stable for certain buffer sizes and unstable for others. In the paper [8] it is explaining how to choose buffer sizes to make it stable. Active queue management parameters, round trip time, TCP congestion avoidance algorithm all these will affects stability. It is described how the entire network is made less prone to synchronization by changing TCP’s rules for increasing and decreasing window size.
The approach consist of writing down a system of differential equations and analyse to see whether the system is stable .Stable solution corresponds to desychronization so that we can go with small buffers as argued in [10]. Stability also depends on buffer size in two ways one is that the order of magnitude of buffer size determines which differential equation to be written down and other is, the actual value of the buffer size affects the stability of equation.
In small buffer regime, buffers larger than 50 packets for small window sizes will cause instability. In large buffer regime large buffer sizes are required for flows with large window sizes. So the recommendation is that buffer’s be no larger than 50 packets for best overall scalability. There would be no instability and network could have small buffers if the window increase and decrease rules were different. Scalable TCP [5] was designed along these lines.
V. ROUTERS HAVING VERY SMALL BUFFER SIZE
The size of the router buffer can make comparatively even smaller than all the previous discussions (.i.e. a little as a few dozen packets), if we are willing to sacrifice a small amount of link capacity. The buffer size they specifying is O(log Wmax) where W is the window size[4].This buffer size will be sufficient to produce high throughput provided the TCP sources are not over bursty.
Here they have completely removed the dependency of buffer size on band width delay product [8]. It appears from the simulation thought it have not prove that how much link capacity is lost. But it can be compensated by making the router running faster than the link rate.
VI. SOME OPEN ISSUE’S IN BUFFER SIZING OF ROUTERS
All the previous discussions suggest that the router buffer can be made very small, much less that link’s bandwidth delay product. But through simulations[3] it is shown that the use of such small buffer’s can lead to excessively high loss rates in congested link that carry many flows. Small buffers can lead to lower throughput even if the link is fully utilized for most large TCP flows .Through simulations[3] it is clear that the Stanford model mentioned in [1] lead to high loss rate up to 5%-15% in congested access links that carry many flows. The key issues in buffer sizing like whether the link is saturable or not ,the exact type of the traffic(whether persistent ,open loop ,closed loop) and the way to estimate the number of long TCP flows in a link are discussed .These issues are ignored in all the previous discussions.
Simulations were run for each of the above mentioned traffic models(persistent traffic, open loop traffic ,closed loop traffic)[3].The observation is that the loss rate is 12% for open loop,7-8% for persistent flows and closed loop traffic with small buffers. While with large buffers the loss rate drop to 1% for open loop traffic, about 2% for persistent flows and 4% for closed loop traffic. Thus small buffers result in lower throughput and higher loss rate for open traffic model. The tradeoffs between loss rate and queuing delay are still an open issue yet to consider and that is discussed in the coming section.
VII. IMPACT OF ARRIVAL AND DEPARTURES OF FILE ON
BUFFER SIZING IN CORE ROUTERS
All the previous discussion we were not considering the speed of the routers. But in paper [6] they consider the speed of router.ie in that they re-examines the buffer size of the routers when flow arrives and depart. The discussion in the paper will come to the conclusion that if the core-to-access –speed ratio is large then O(1) buffer size is required otherwise we have to go for large buffer. And one important think that they pointing out is that the depending upon the core-to-access –speed ratio, the buffer size itself may affect the number of flows in the system, so the two quantities i.e. buffer size and number of flows can’t be treated us independent quantities. This was not pointed out in any of the previous discussions.
All the above results were under the assumption that there are N long lived flow in the network. But in reality the number of flows can be varying .So the paper [6] focus on “Can the buffer size of the router be significantly reduced with varying number of flows”. The performance metric they are considering is AFCT (Average Flow completion Time).
In order to find the amount of buffering required they considering two types of network one access limited network and other network with unlimited access for simulation and
the results are as follows. In access limited network the core router speed is several orders of magnitude larger than access router speed. First they have derived the buffer size requirement for a network with fixed number of flows. Then using AFCT as metric they consider the departure and arrival of the files and show that the core router is not congested due to access speed limitations, i.e. the number of packet drops in core router is less than the number of packet loss in access router.
Theoretical analysis indicates that core router is chosen independently of its capacity .To verify this claim ,the performance of the system was studied at different core-routers speeds without changing the traffic parameters or the access-speed limitations .The external load was chosen to be 0.8.The core-router buffer size was varied from 20 to 1000 packets .The results of the simulations are presented in Fig.1 From the figure ,it is clear that core-router buffer size has no significant affect on AFCT of the flows (because the core router is not congested), thus small buffers(i.e. O(1) Buffering) are sufficient.
For unlimited access networks they study a scenario in which the access routers do not limit the transmission rate of the TCP but they change the access speed to 30 Mb/s. In this setting, access-speed limitations do not limit TCP throughput. Furthermore, due to the window flow control mechanism, any TCP connection cannot transmit more than 64 packets within a RTT. To avoid access routers imposing restrictions on TCP, the access-router buffer size was set to 64 packets. Similar to the previous one, the core-router buffer size was varied from 20 to 1000 packets. The load on the system was varied from 0.5 to 0.8.The simulation results and the theoretical predictions are presented in Fig.2
As seen from these results, small buffers in such networks degrade the performance significantly. For example, when the system load is 0.8, the AFCT can be decreased nearly 85% by increasing the buffer size from 20 to 1000 packets. Similarly, as seen in the simulations, the average throughput increases by about 400% with the increase in the buffer size. So in unlimited access networks it is found impossible to reduce the buffer size without degrading the performance. The analysis indicates that AFCT increases by nearly an order of magnitude when small buffers are used.
23 Fig. 2. Impact of core-router buffer size in networks with
fast access routers (top) simulations and (bottom) theory.
So the conclusion is that when core routers are severely congested it is not possible to use small buffers in fact we required O(C×RTT) buffers to maintain good performance. The paper [6] studies the impact of buffer size on short flows. The model for short flows is developed in two steps 1) Study the impact of buffer size on packet loss probability. 2) Study the impact of loss probability on AFCT.
All the flows less than 90Kb are considered as short flows and simulations prove that they required a small buffer size .For example even with flow size of 127 kb the core router requires no more than 2.4 MB of buffering to maintain a loss rate of 0.01%.And loss rate of 0.01% do not cause significant degradation in AFCT.
VIII. THE ROLE OF OUTPUT/INPUT CAPACITY RATIO IN SIZING ROUTER BUFFER FOR TCP TRAFFIC
Apart from all the above discussions which were focusing on only persistent flows [7] considers the non persistent flows and the impact on it on buffer sizing. The two main things discussed in the paper [7] are First, it considers non persistent flows with heavy tailed file distribution which was not considered in [6].Second, the main consideration is given to TCP performance and its impact on buffer sizing rather than focusing on link metrics. Through simulations done in [7] they came to the conclusion that buffer size depends on output/input capacity ratio.i.e. If the ratio greater than one the loss rate drops exponentially with the buffer size and if the ratio is less than one then significant buffering is needed.
The paper [7] also focus on structural characteristics of the link that was ignored in most of the papers except [4][6].The characteristics is the output/input capacities. Let Cout be the output capacity and Cin be the input capacity. Then it turns out that the ratio Γ=Cout/Cin largely determines the relation between loss probability and buffer size and consequently, the relation between TCP throughput and buffer size .If Γ<1 the loss rate can be approximated by a power law of the buffer size then we need a significant amount of buffering
especially if we want to increase the throughput of TCP.Otherwise if Γ>1 the loss rate drops with buffer size so the optimal buffer size is small (close to zero).
All these are proved through simulations. The difference between small and large flows are discussed and they identified two models for throughput of TCP flows depending on whether a flow lives in mostly in slow-stat(S-model) or in congestion avoidance (L-model).Using these two models along with loss rate and queuing delay they derived the optimal buffer size .For more realistic queuing models they conducted a simulation study [7] which examine the average queuing delay d(B) and loss probability p(B) as a function of buffer size B under heavy load conditions. Then they used the models for d (B) and p (B) to derive the optimal buffer size.
IX. CONCLUSION
Our study concludes by pointing out that it may not be possible to derive a single universal formula to dimension buffers at any router's interface in a network. Such a formula may not exist in practice. The optimal buffer size at the router depends on several parameters. The network administrator should take into account several factors such as flow size distribution, nature of TCP traffic, out- put/input capacity ratios, speed, window size etc for sizing router buffers.
REFERENCES
[1] G. Appenzeller, I. Keslassy, and N. McKeown, “Sizing router buffers,” in Proc. ACM SIGCOMM, 2004, pp. 281–292.
[2] R. Bush and D. Meyer. RFC 3439: Some internet architectural guidelines and philosophy, December 2003.
[3] A. Dhamdhere and C. Dovrolis,”Open issues in router buffer sizing” Comput.Commun.Rev, vol.36, no.1, pp.87-92, Jan 2006.
[4] M. Enachescu, Y. Ganjali, A. Geol, T. Roughgarden, and N. McKeown “Part III: Routers with very small buffers,” Comput.Commun.Rev,vol 35,no.3,pp.7-7,Jul.2005.
[5] T. Kelly.On engineering a stable and scalable TCP variant Technical
Report CUED/F-INFENG/TR.435.Cambridge University
Engineering Department.2002.
[6] A. lakshmikantha, C. Beck, and R. Srikanth, “Impact of File Arrivals and Departures on Buffer Sizing in Core Routers”. April 2011. [7] R .S .Prasad, C .Dovrolis and M. Thottan, “Router Buffer Sizing for
TCP Traffic and the Role of the Output/Input Capacity Ratio”. [8] G. Raina, D. Towsley, and D. Wischik,.”Part II: Control theory for
buffer sizing.” Comput.Commun. Rev, vol.35.no.3.pp.79-82, Jul 2005.
[9] C. Villamiazar and C. Song,”High Performance TCP in ANSNET,”Comput. Commun. Rev. Vol 24, no.5, pp 45 -60, 1994. [10] D.Wischik and N.mcKeown,”Part I: Buffer sizes for core routers”.
Comput.Commun. Rev.vol.35, no.3, pp.75-78, Jul 2005.
Neetha K.Nataraj is presently Pursuing ME