Bzzzzt wrong you ARE the weakest link

AH uses two protocols to send and receive your data over the net, UDP and TCP.
UDP is fire and forget, it sends the packet and doesn't bother to check if its received at your end. If you're chasing a guy and you getting updates to his position 1... 2... 3... 5... whoops 4 got dropped, AH interpolates between 3 and 5, and carries on like nothing happened.
TCP is number it, fire it, check it was received, if not send that number again. Same situation, your chasing that guy get updated to his positon, 1... 2... 3.... 5.... whoops dropped 4 resend it .... 4... 6... 7... get the picture? Thats why TCP warpers sorta do the two steps forward one step back dance every now and then.
AH tries to use UDP by default. Two reasons stop it, the first and most common: either a NAT'd device (router) connecting you to the internet or a firewall. The second, your internet connection sux, this is when you see the Switching to TCP message midgame - the MA has decided you've been to cheap to fork out for DSL because to many UDP packets are being lost and switches you to TCP mode.
If you use a router or firewall, you need to map port 1999-3000ish directly to the PC you play AH on.
Also worth noting, AH voice works exclusively on UDP and this is why only one PC behind a router can receive Voice.
Someone needs to keep Zeroping away from Apaches water.
Originally posted by Hortlund
If I remember correctly, the UDP switch was implemented by HTC to remove the invisible planes issue.