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.