Here's my guess (would welcome confirmation or a more accurate explanation, not least because I'm far from an expert on how TCP/IP works and know even less about Windows):
1) The router blocking outgoing connections coming from ports on that machine. That is, each time you make an outgoing connection, there's a port on your machine associated with that connection.
2) The ports associated with outgoing connections start at 1024. (Unix-specific? Traditionally only root could use ports lower than that.)
3) Each subsequent connection gets a higher port. Presumably they wrap around eventually.
4) So, after not too many outgoing connections, you've hit 1080, and you need to reboot to reset the count.
Traditionally only root could use ports lower than [1024]
As an aside, this is one of the more daft aspects of Unix. There's no reason whatsoever that http should need bits to run. The reasons cited for services such as ftp, smtp, imap, etc aren't very compelling, either. This restriction, ostensibly in the name of security, has in fact been a cause of a number of security problems.
In the silliness scale, it's up there with exposing numeric user IDs. (You can't do arithmetic with them for anything useful.)
Here's my guess (would welcome confirmation or a more accurate explanation, not least because I'm far from an expert on how TCP/IP works and know even less about Windows):
1) The router blocking outgoing connections coming from ports on that machine. That is, each time you make an outgoing connection, there's a port on your machine associated with that connection.
2) The ports associated with outgoing connections start at 1024. (Unix-specific? Traditionally only root could use ports lower than that.)
3) Each subsequent connection gets a higher port. Presumably they wrap around eventually.
4) So, after not too many outgoing connections, you've hit 1080, and you need to reboot to reset the count.