When you open/launch minecraft, it connects to mojang's user login server. That server verifies your user/pass, and creates a session id based on your ip.
Then you attempt to connect to a server. That server checks with mojang to verify the ip connecting with the user is correct, and that the session id is correct. If so, you can login and play. If the session is incorrect (like you opened another client and logged in), it'll say "bad login".
However, we're all getting timeouts or 'took too long to respond' errors. This is because right now, the server side check servers at mojang are.... not working right. They are occasionally processing, but for the most part it's either too slow or just not working/responding at all.
I don't know if Mojang knows this yet :/Right after I posted this, I stopped having issues logging in. Figures lol
last night I was having trouble logging into my server..I kept getting the timed out message or it would just freeze up when I tried to connect to my server. It would load single player just fine. We keep getting kicked randomly and there have been quite a few graphics glitches from more than one person. Any word if things are gonna start working right soon?