VPN is Virtual Private Network. It means having a number of computer
which are virtually on one network, while on the reality they are on
different networks in the internet.
Many ADSL and Cable
providers require their users to connect to them using a VPN.
In order to create a VPN, it is common to tunnel a whole network protocol
stack, down to and including the data link layer, as an application layer
(layer 7) connection.
Few common implementations of such VPN is PPTP (Point-to-Point
Tunneling Protocol), L2TP (Layer 2 Tunneling Protocol) and
PPPoE (PPP
over Ethernet).
Out of these, the Linux "back-end"
support for PPTP and PPPoE is good, while L2TP is still under
development.