Can't keep an established connection to Minecraft Servers?

After connecting to any Minecraft server all I see are players standing still with particles effects at their feet as if they should be moving. I can't type commands in chat, see any typing in chat except from the greeting that happens every time you log in, and load any chunks outside of the initial spawn area. I eventually get disconnected an error, which is either:

Internal Exception: java.io.IOException: An established connection was aborted by the software in your host machine

or

io.netty.handler.timeout.readtimeoutexc…

I have tried: Creating a rule to allow java through my firewall and launching minecraft as admin. Neither have worked and I restarted my router both times. To clarify, this happens on all servers. Is there any fix for this?

Added (1). I know it's most likely my machine, what I'm looking for is solutions.

If it happens on all minecraft servers you join, then it has to be your machine… Obviously, check your version, and any profile you have edited. Use "Latest" in the profile in the launcher.