On the limited (Cisco) VPN systems that I've used, the VPN connectivity is broken when my computer is put to sleep and must be re-established on wakeup. Is this a necessary property of VPN?


I think Bob Somers hit the answer, but there's another possibility. You could be sleeping your computer through the rekey interval, which breaks the connection.

VPNs negotiate a session key for every connection. This key gets "stale" after a while, and may be vulnerable to attack if enough data has been passed with it. To maintain the security of the VPN channel, there is a rekey interval where both ends automatically renegotiate a fresh session key. This is usually transparent to both sides of the tunnel, assuming both sides are connected. When you put your computer to sleep, it's possible the rekey interval is up during that time, and the VPN host closes the connection because it can't renegotiate the session key.


Because VPN is a not a stateless communication system like HTTP, it needs to have continuous connection. And since the OS is sleeping, it'll no longer maintain the connection.

  • Is there a specific reason it can't maintain the session though a sleep cycle? Is it a question of sleep duration? – cdleary Apr 30 '09 at 8:52
  • Note that you can probably handle a quick sleep; it can be handled like any other network glitch. – Mikeage Apr 30 '09 at 8:52
  • I wonder if this is going to change somehow. Where I work, the power settings on all of the PCs are set to "never sleep" so users can VPN to their machines which isn't very "green." – Jim Anderson May 28 '10 at 17:35

I'm not exactly sure but my guess is because the network card (NIC) has been disconnected from the operating system stack. The fact that a VPN connection remains open is not so much hardware related but more by the software layers (think back to your 7 layer architecture).


Bingo. Most VPN software is implemented using the TCP/IP stack, which is not stateless. They have timeouts associated with the connections and when you put your computer to sleep there's no way to keep that connection alive.

Not the answer you're looking for? Browse other questions tagged or ask your own question.