Evaluating CDG as a less than best effort CC in Linux

Tor Christian Tangenes · NORA - Norwegian Open Research Archives · 2016

The Transmission Control Protocol (TCP) together with the Internet Protocol (IP) are the most widespread protocols used in the Internet.TCP controls data transmission between end-hosts in a network.One of its main components the Congestion Control (CC) which regulates the rate an end-host can inject packets into the network.Most applications, if they require it, wish to utilize as much available bit rate as possible.Other applications may have specific demands to timeliness.Some applications however do not have such requirements, other than the guarantee that the data eventually will be sent and received reliably.The Less-than-best-effort (LBE) service class is meant to cater for these types of applications, by preventing them from becoming disruptive towards standard best effort flows.Recently CAIA delay gradients (CDG), a candidate for providing a CC-based LBE service has been implemented in the Linux kernel.CDG has adjustable parameter that can control the degree of its aggressiveness.The aim of this thesis is to evaluate how tuning CDG parameters can provide a LBE service when running against the standard Linux congestion control CUBIC.To do this, we have set up a Linux based emulation test-bed where we run CDG and tune its parameters to see how it responds to CUBIC Best-effort flow.We have concluded that CDG is indeed able to provide such a service in a Linux environment, and that by setting its parameters to specific values, can guarantee that it will on average stay within a certain fraction of the available capacity. List of selected abbreviations BE service A network service, while not giving any guarantees, gives users what it can without discrimination.LBE service Less-than-best effort is a term used for services providing lower quality in terms of bit rate and delay to users, in order to have little impact on standard Best-effort services.TCP Transmission Control Protocol.One of the most important protocols in the Internet.Facilities machine-to-machine communication using Internet as a medium. IPThe Internet Protocol which is the main protocol in the Internet responsible for making machines addressable and reachable through IP addresses.CC Congestion control is the main mechanism preventing hosts from overutilizing network resources, as-well as allocation of capacity among peers at a host-level.Classical CC algorithms react to packet loss as a sign of congestion ACK Short for acknowledgement.A packet confirming to a sender host the reception of a a packet with a certain sequence number. RTTShort for Round trip time.The time it takes from when a packet is sent from a sender host to the time it takes for the sender to receive an ACK from the receiver BRTT Base RTT, the RTT of a path in absence of any queuing delay (no traffic) OWD One-way delay, the time it takes for a packet from when it is sent from a sender host to when it arrives at the receiving host.Not the same as half and RTT because paths may be assymmetics FTP An application layer protocol using TCP to transfer files between hosts LEDBAT A delay-based CC algorithm, it tries to keep forward queuing delay below a threshold value CDG A type of congestion control algorithm using change in minimum and maximum RTT to infer congestion at a bottleneck.Its use of gradients distinguishes it from delay-threshold algorithms like TCP-Vegas and LEDBAT SYN A packet with its SYN flag set, used when TCP initiates a connection FIN A packet signaling the sender has terminated or wishes to terminate the connection RTO A timer used by TCP, which when expires triggers a retransmission of the last unacknowledged packet

Read the paper · More papers on PaperTik