Lately, I have had problems connecting to the internet. The connection would last for 2, 3 or 5 hours before it would fail again.
After trying many methods, I found out that the problem was the TCP/IP protocol itself.
There is a way to repair a damaged TCP/IP protocol, which is a core component of Windows.
Under DOS, with administrator rights, type in the following commands :
netsh winsock reset catalog
netsh int ip reset reset.log hit
The first command will reset WINSOCK entries to installation defaults.
The second command will reset TCP/IP stack to installation defaults.
More info here :
http://support.microsoft.com/kb/299357