This thesis presents practical studies of the TCP performance  problems caused by the asymmetric nature of ADSL connections.  Previously, it has been shown on other types of asymmetric links that  TCP throughput may be reduced due to a variable and imperfect ACK  feedback.  The upstream capacity of ADSL products in general does not  disturb the ACK feedback mechanism, but we analyze and document that  TCP traffic across ADSL in fact is affected by the asymmetric nature  of ADSL, when utilizing the upstream capacity.  For a single user  ADSL installation it is manageable to avoid upstream congestion, but  for larger networks, connected to the Internet by ADSL, the rise of  peer-to-peer file sharing applications may result in a permanently  congested upstream link. 
The thesis provides evidence that the achievable downstream  throughput is reduced significantly in case of a saturated upstream  link.  Saturation of the upstream link introduces a high queueing  delay that effectively renders the connection useless for interactive  and other delay-sensitive applications (like VoIP). 
Previous work within the field of asymmetry has primarily been  concerned with optimizing downstream throughput.  Our solution  incorporates latency as an important design parameter in order to  support different types of network applications at the same time.   The thesis also provides a practical solution to mitigate these  problems.  We demonstrate how it is possible to achieve full  downstream and upstream utilization, while at the same time supporting  different delay-sensitive applications, using the packet scheduler of  a Linux based middlebox between the network and the ADSL connection. 
On ADSL the available bandwidth for IP traffic varies significantly,  which is caused by protocol overhead and packet/cell aligning at the  ATM/AAL5 link layer.  Depending on packet sizes the available  bandwidth can be reduced up to 62 percentage.  Therefore, a packet  scheduler needs to account for the varying available bandwidth by  accounting for the link layer overhead.  As part of implementing a  practical solution, based on Linux, the Linux Traffic Control system  have been modified to perform accurate packet scheduling through  modeling the ATM link layer overhead of ADSL.
