If you experience TCP timeouts, loss of connections mid stream or even the inability to connect to a number of internet hosts this maybe related to default configurations in Ubuntu (and a number of other flavours).
To resolve this open a terminal/console session and run the following.
sudo echo net.ipv4.tcp_timestamps=0 >> /etc/sysctl.conf
sudo sysctl -p
Others recommend the following however this was not required in my situation.
sudo echo net.ipv4.tcp_window_scaling=0 >> /etc/sysctl.conf
sudo sysctl -p
These lines may exists in sysctl.conf all ready and simply changing the =1 to a =0 and running 'sysctl -p' will do the trick.
I read somewhere that this may have to do with some internet attached equipment not being correctly IETF RFC compliant.