Hmm, as of late I've also been experiencing this problem. Especially with SMP servers, however it does affect classic as well.
I'll join an SMP server and for anywhere between 20 seconds to 5 minutes it will be fine, I'll be able to move around, talk, and pick up and destroy blocks. Then everyone will stop moving, anything I type won't appear in the chat and I can destroy blocks but they don't drop anything. I can still move around as normal. Then after a while of this it disconnects me and says that I 'timed out.' This also happens on Classic Zombie, the chat and players will just stop, then everything happens all at once and people will move superfast. I really need a solution to this as it is getting very difficult to play.