![]() ![]() To see what functions are offloaded to the LAN card use ethtool: ![]() #BANDWIDTH DELAY PRODUCT SOFTWARE#This can provide a performance improvement in that the segmentation is performed in hardware by the LAN card as opposed to in software by the OS. The operating system can offload TCP/IP functionality, in particular segmentation of packets, to the LAN card. Offloading TCP/IP Functionality to the LAN Card Read on for explanations of each step and the final results. the -w option, also changing the RTT (step 5) when needed. Repeat the iperf tests with different values of the receive buffer, i.e.Use iperf to measure the TCP throughput for varying BDP and receive buffer sizes, e.g.(Optionally) Use tcpdump to capture traffic so you can investigate the value of the window advertised by the receiver (in the example, IP 192.168.1.34 - change according to your receiver).$ sudo tc qdisc add dev eth0 root netem delay 5ms On both sender and receiver (select the interfaces, eth0, according to your computer): Turn off auto-tuning of the TCP receive buffer size.Understand how TCP flow control works, in particular the relationship between receive buffer size, Advertised Window, BDP and throughput.(Optionally) Set the TCP congestion control algorithm to Reno.Disable offloading so TCP/IP functionality is NOT shifted to the LAN card.This post is quite long describing the steps of setting up the experiment. But to see the performance trade-offs I need to set up my test-bed correctly, including turning off some advanced options so we can see the TCP throughput under basic conditions. The experiments are conducted between two Ubuntu Linux computers, both connected to a Fast Ethernet 100Mb/s switch. I want to run some experiments with iperf to show how the optimal througput can be achieved by changing the receive buffer size with respect to the BDP. My aim in this post is to demonstrate how the path Bandiwdth Delay Product (BDP) impacts on TCP throughput. These implementation details can have a significant impact on real TCP throughput. ![]() That is, although lectures cover the basic concepts of say TCP error, flow and congestion control, they don't cover the details of how TCP is implemented in different operating systems and how it interacts with other parts of the OS and LAN cards. The problem is that in real systems the functionality offered by TCP, the operating system and network interface cards is more than what is explained in introductory lectures on TCP and the Internet (especially in my courses). To understand how TCP works its often useful to run experiments to see what parameters in the network and protocols impact on TCP performance (in particular, throughput). Impact of Bandwidth Delay Product on TCP Throughput ![]()
3 Comments
|
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |