Since having arrived in Italy I’ve enjoyed using UMTS and HSDPA networks to connect to the Internet for my day to day work for reasonable prices. It has also allowed me to run a number of network traces to get some more insight into the performance of the UMTS and HSDPA air interface. In the first part of this mini series, I’ve been looking at the data transfer rates and packet delay that I could get on some of the networks. While having been used to UMTS speeds for quite some time now I was even more positively surprised by HSDPA speeds of up to 1.5 MBit/s which I was able to reach in the network of Telecom Italia Mobile (TIM). For the details take a look here. Part two of the mini series focuses on how the network tracing tool Wireshark can be used to chase after some UMTS specific air interface phenomena.
Wireshark is a great tool to analyze any kind of network traffic over any kind of PC interface. The picture on the left (click to enlarge) shows a trace which was generated using Wireshark’s "TCP Round Trip Time Graph" statistics module and commented by me. In my opinion the name of this module is quite misleading as the graph does not show the TCP round tip time evolution during a transmission but rather the reception time delta between TCP packets over time. A better name for the analysis module would thus be TCP inter-packet spacing diagram. The y-axis of the diagram shows the time in seconds that has elapsed between two TCP packets while the x-axis represents the time. To generate the diagram I downloaded a large file from an FTP server.
The graph shows that at the beginning of the transfer the inter-packet time was around 0.1 seconds or 100 ms. The TCP packet size of the download was 1500 bytes. These two values can now be used to calculate the transmission speed. One packet every 0.1 seconds means that on average 10 packets are received per second. As each packet has a size of 1500 bytes, 10*1500 bytes = 15.000 bytes are received per second. As each byte has 8 bit the resulting transmission rate is 15.000 bytes/s * 8 bits = about 120 kbit/s. This corresponds quite nicely to the maximum transmission rate that can be reached with a 128 kbit/s radio bearer with a CDMA spreading factor of 16.
At about the middle of the diagram the inter-packet spacing suddenly becomes much smaller, about 35 milliseconds. Doing the same calculation again results to 1/0.035 = 28.5 packets/s. 28.5 packets/s * 1500 bytes = 42.857 bytes/s. 42.857 bytes/s * 8 bits = 342.857 bits/s. This is close to the maximum transmission rate of a 384 kbit/s radio bearer with a CDMA speading factor of 8. In practice this means that at this point there were fewer people using the UMTS cell which in turn reduced the load of the cell. The network then decided to upgrade my radio bearer from a spreading factor of 16 to 8. As can be seen in the diagram the fun didn’t last long as the bearer was reduced again to 128 kbit/s for a short time. Then, I was upgraded again to 384 kbit/s for the remainder of the trace.
The same behavior could also have been achieved by physically moving through the network during the download and thus change reception conditions. As I was not moving with the mobile during the test the effect was definitely caused by changing load and changing interference conditions in the cell. Whether the load was caused by other people doing data transfers or by voice calls can’t be told from the diagram. What can be told however is that the network at this time was highly loaded as the network always assigns the best possible radio bearer.
So much for now. In the next entry of this mini series I am going present the results of the same test performed in a 3.5G HSDPA network. I can already promise spectacular and thought provoking results! Watch this space!