Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I need to estimate, how much transfer will be used by VPN connection maintanance itself on mobile phone (transfer overhead)? This will be additional cost for mobile application user.

The use case is web application, running on mobile device, that will access business data - so the need for security. Application will be used about 8 hours a day, by mobile worker, which will repair installations in terrain. Possible scenarios are frequent signal loss during drive (mountain environment) so the VPN would be propably reconnecting a few times an hour.

How much the overhead could be in such scenario? Should I count circa 1 MB a day? Or it won't exceed 100 kB?

share|improve this question
up vote 3 down vote accepted

It depends a lot on the VPN solution you chose and how you configure it (for instance if using OpenVPN do you have it configured to send test/keep-alive packets when idle and if so how often), so you are unlikely to get an accurate answer without just trying it and measuring the traffic in typical conditions. You should at very least add some information to your question about what VPN solution you are considering using.

You could perhaps setup a couple of virtual machines, using basic traffic shaping to simulate a slow connection (i.e. throughput of the order you expect the users to see when mobile), with the VPN solution you have chosen and watch the traffic between them to see the idle overhead in good conditions, then test reconnects by bringing the virtual interfaces down randomly.

As well as keep-alive or other session management traffic (key cycling, renegotiating after a connection drop, etc...) when the connection is otherwise idle, you will see overhead on top of any actual traffic. Again this will vary depending on solution and configuration you are using, and the type of traffic (lots of small packets are likely to incur more overhead than bulk traffic).

For instance, any VPN operating over UDP/IP will add at least 36 bytes (20 for the TCP header, 16 for the UDP header) to each packet including the small ACK response packets that acknowledge receipt and for larger packets it may break them into smaller blocks making this overhead more significant. For low bandwidth interactive traffic (such as a SSH session) this could almost double the amount of data transmitted during the session: sending a single keystroke to the server would be 42-ish byte IP packet (20 for the IP header, 20 for the TCP header, and one or a few for the key) which might get 40 bytes added by the VPN (36 for the headers of the UDP packet it is wrapped in and a few bytes for some form of sequence number used to check for transmission errors requiring resending or reordering of packets) bringing that 42 up to 82 even if there are no packet retransmissions needed. For a bulk transfer with standard(ish) 1500 byte packets getting split in two (as the MTU of the VPN will be no larger than the outer transport) 1500 bytes becomes about 1580, about 5.3% extra instead of up to 95% for very small packets.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .