Have you done some port forwarding for your own server or such?
That may block the ability for you to join other servers for some reason, try to remove the port forwarding if that is the case.
If you are recieving this message
Internal Client error: session.minecraft.net
Then the problem is not with your Minecraft client, nor the minecraft server. It's your DNS server.
Try doing this:
Start from your root directory (usually drive C)
then go to windows -> System32 -> drivers -> etc
open the "hosts" file using notepad read the paragraph to help you understand the file then enter this on one line by its self:
184.73.223.40 session.minecraft.net
save and close.
That should work.
If you're afraid of editing any files in your system32 folder then don't do it. It's up to you.
if you want someone to confirm this fix, go to this post.
http://www.minecraft...0#entry16268374