Empirically Characterizing the Buffer Behaviour of Real Devices Luis Sequeira Julián Fernández-Navajas Jose Saldana Luis Casadesus Communication Technologies Group (GTC) Aragón Institute of Engineering Research (I3A) University of Zaragoza, Spain
Index Introduction and Related Works Test Methodology Test Procedure Methodology Experimental Results Wired Scenario Wireless Scenario Conclusions
Index Introduction and Related Works Test Methodology Test Procedure Methodology Experimental Results Wired Scenario Wireless Scenario Conclusions
Introduction and Related Works Packet size varies for different Internet services and applications: VoIP, web, FTP, video streaming, online games, etc. Traffic behaviour has to be taken into account for the design of network devices: Constant bit rate traffic Bursty traffic Different number of frames into each burst
Introduction and Related Works In access network capabilities are lower than the ones available in the backbone; this implies that some network points become critical bottlenecks Bottlenecks may also appear at critical points of high-performance networks.
Introduction and Related Works Mid and low-end routers normally do not implement advanced traffic management techniques. They always use buffers as a traffic regulation mechanism. Buffer size becomes an important design parameter Buffer can be measured in different ways: Maximum number of packets it can store Amount of bytes Queuing time limit (ms)
Introduction and Related Works Most Internet routers use FIFO, but there exist other techniques to manage drop-tail buffers, e.g. Random Early Detection (RED). These techniques, in conjunction with buffer size, mainly define the buffer behaviour and how traffic is affected by it.
Introduction and Related Works Relationship between router buffer size and link utilization: Excessive amount of memory latency increase Small amount of memory packet loss increase Characterization of buffer behaviour is interesting when trying to improve link utilization.
Index Introduction and Related Works Test Methodology Test Procedure Methodology Experimental Results Wired Scenario Wireless Scenario Conclusions
It may be a device or a network Test Procedure It may be a device or a network
Test Procedure UDP Packets of different size are used to determine if buffer size is in bytes or in packets to produce a buffer overflow in the SUT All packets have a unique ID
Traffic is captured here Test Procedure Traffic is captured here
Input rate > output rate Test Procedure Input rate Buffer of the “System Under Test” Input rate > output rate Output rate
Input rate > output rate Test Procedure Input rate Buffer of the “System Under Test” Input rate > output rate Buffer fills Output rate
Test Procedure Filling the buffer Input rate i 2 1 Output rate
Test Procedure Input rate Output rate Time to fill the buffer First loss i 2 1 Packet i leaves the buffer Output rate Error Time to fill and to emtpy the buffer
Traffic may be captured here Methodology Physical Access: Counting the number of packets in the queue in the moment that a packet arrives to the buffer. Traffic may be captured here packet delay packet loss interarrival packet time input and output buffer rate filling buffer rate BUFFER SIZE captures script
Traffic may be captured here Methodology Remote Access: If the delay of a packet in the buffer can be determined, then the variations of this delay can give us useful information for estimating buffer size. Traffic may be captured here packet delay packet loss interarrival packet time input and output buffer rate filling buffer rate BUFFER SIZE captures script
Time when the packet i arrived to the buffer Methodology Input rate Method 1: Physical Access Time when the packet i arrived to the buffer i 2 1 Buffer size is determined for each packet as follows: for all packets in out-capture, a shell script looks for the incoming time in in-capture and counts in out-capture the number of packets between incoming time and the time stamp registered in out- capture, finally the buffer size is estimated as the average of all these values. Output rate
Methodology Method 1: Physical Access Input rate Method 1: Physical Access Buffer gets empty Buffer size is determined for each packet as follows: for all packets in out-capture, a shell script looks for the incoming time in in-capture and counts in out-capture the number of packets between incoming time and the time stamp registered in out- capture, finally the buffer size is estimated as the average of all these values. i Output rate
Time when the packet i leaves the buffer Methodology Input rate Method 1: Physical Access Time when the packet i leaves the buffer Buffer size is determined for each packet as follows: for all packets in out-capture, a shell script looks for the incoming time in in-capture and counts in out-capture the number of packets between incoming time and the time stamp registered in out- capture, finally the buffer size is estimated as the average of all these values. i Output rate
Methodology Method 1: Physical Access Queue Queue Input rate Method 1: Physical Access Count packets Queue Queue Buffer size is determined for each packet as follows: for all packets in out-capture, a shell script looks for the incoming time in in-capture and counts in out-capture the number of packets between incoming time and the time stamp registered in out- capture, finally the buffer size is estimated as the average of all these values. i Output rate
It will completly fill the buffer Methodology Input rate Method 2: Remote Access It will completly fill the buffer i 2 1 Output rate Dropped packets
It will completly fill the buffer Methodology Input rate Method 2: Remote Access It will completly fill the buffer i 2 𝑅 𝑓𝑖𝑙𝑙 1 Output rate Time to fill the buffer
Methodology Method 2: Remote Access Input rate Time to fill and empty the buffer 𝑅 𝑜𝑢𝑡 𝑅 𝑓𝑖𝑙𝑙 i Output rate It appears in the receiver
Time to fill and to empty the buffer Methodology Estimation of the size: Time to fill the buffer Time to fill and to empty the buffer
Index Introduction and Related Works Test Methodology Test Procedure Methodology Experimental Results Wired Scenario Wireless Scenario Conclusions
Wired Scenario In this case we want to test the accuracy of our method when there is no possibility of physical access to the SUT. We obtained the buffer size using method 1 with physical access. Next, the estimations obtained using method 2 are compared with previous results, and the relative error is obtained.
Groups of dropped packets Wired Scenario A Particular buffer behaviour: Groups of dropped packets Linksys WAP54G 3COM 4500
Wired Scenario A Particular buffer behaviour: It has been observed in the wired and wireless tested: when the buffer is completely full, no more packets are accepted, it will be called upper limit. The buffer does not accept new packets until a certain amount of memory is available, it will be called lower limit. In this moment the filling process begins again. Although this behaviour has some similarities with Random Early Detection (RED) but it is not the same: There is not probability for dropping an incoming packet.
Wired Scenario Three different amounts of bandwidth have been used in order to flood the buffer. We see that the accuracy of the buffer size estimation using the method 2 is high. In addition, the error diminishes as input rate grows. The results are less accurate but they are still acceptable. The results using smaller packets are less accurate so we have not presented them. (packet size = 1500 bytes)
Wireless Scenario Variations of the output rate in wireless network generate error growth. While filling rate is relatively constant, the emptying rate shows variations for the highest bandwidths. The WiFi access point switches from higher to lower speeds depending on the status of the radio channel
Wireless Scenario We have compared the two methods when there is physical access to the SUT. The presented results are the ones obtained using packets of 1500 bytes, since they are the most accurate. Method 1 is the most accurate estimation so it has been used to compare with method 2.
Index Introduction and Related Works Test Methodology Test Procedure Methodology Experimental Results Wired Scenario Wireless Scenario Conclusions
Conclusions Two methods have been presented in order to analyze the technical and functional characteristics of commercial buffers of different devices, or even networks. This characterization is important, taking into account that the buffer may modify traffic characteristics, and may also drop packets. The methodology can be used if there is physical access to the “System Under Test”, but it is also useful, with certain limitations, for measuring a remote system. Tests using commercial devices have been deployed in two different scenarios, using wired and wireless networks.
Conclusions A particular buffer behaviour has been observed for a device: once the buffer is full, it does not accept new packets until a certain space is again available. The results show that accurate results of the buffer size can be obtained when there is physical access to the “System Under Test”. In case of having no direct access to the system, an acceptable estimation can also be obtained if the input rate is more than three times the output rate. In this case, big packets have to be used for the tests. As future work the method has to be improved in order to minimize the error, especially when measuring wireless devices.
Thanks you for your atention
Extra slides
Introduction and Related Works Small buffers present better characteristics in order to maintain delay and jitter in adequate levels, at the cost of increasing packet loss. Buffers which size is measured in packets may also increase packets loss for real-time services. Router’s buffer policies cause different behaviour in packet loss, as well as R-factor.
Time to fill and to empty the buffer Wired Scenario A Particular buffer behaviour: Time to fill the buffer Time to fill and to empty the buffer It is known ?
Wired Scenario A Particular buffer behaviour: τ is the same in transmiter and receiver Transmitted and received packets Dropped packets
Time to fill and to empty the buffer Methodology Method 2: Remote Access Time to fill the buffer Time to fill and to empty the buffer 𝑇 𝑟 ? ?
Methodology Method 2: Remote Access 𝑅 𝑖𝑛 = 𝑟𝑒𝑐𝑒𝑖𝑣𝑒𝑑 𝑝𝑎𝑐𝑘𝑒𝑡𝑠 + 𝑑𝑟𝑜𝑝𝑝𝑒𝑑 𝑝𝑎𝑐𝑘𝑒𝑡𝑠 𝑡𝑖𝑚𝑒 𝑟𝑒𝑐𝑒𝑖𝑣𝑒𝑑 × 𝑝𝑎𝑐𝑘𝑒𝑡 𝑠𝑖𝑧𝑒 𝑅 𝑜𝑢𝑡 = 𝑟𝑒𝑐𝑒𝑖𝑣𝑒𝑑 𝑝𝑎𝑐𝑘𝑒𝑡𝑠 𝑡𝑖𝑚𝑒 𝑟𝑒𝑐𝑒𝑖𝑣𝑒𝑑 × 𝑝𝑎𝑐𝑘𝑒𝑡 𝑠𝑖𝑧𝑒