What are the advantages and disadvantages of a TCP-IP connection over VPN opposed to a regular TCP-IP connection?
I am interested mainly in speed and security!
The main advantage of VPN's are security and accessing remote systems as though local.
A VPN provides security by encrypting the payload(your data) of a TCP/IP packet in such a way as it should be unreadable by a man in the middle. There are a number of methods of encryption, which provide different security strengths and speeds.
All of these basically involve the client and server negotiating an encryption type and sharing some kind of keys or certificates. Traffic is then routed from your device to the server in an encrypted form, decrypted by the server and forwarded onto the target.
This can be very useful if you are on an insecure or shared network, such as a free wireless hotspot at an airport to ensure your traffic is not being sniffed by other people on the network.
The current gold standard in terms of security are SSL VPNs, this uses the same technique of encryption as is found in SSL connections used by https websites.
If security is your main goal I would avoid pptp connections based on MSCHAP as this is now fairly trivial to break.
Both types will mask the IP address you are originating from, so you can appear to be situated where the server you are connecting to is located, either inside a corporate network, or in a different location or country.
This is because all of your traffic is routed to the vpn server where it is decrypted and forwarded on, returning packets are forwarded to the server and encrypted before being passed back to your client.
Please bare in mind though the vpn server you are connecting to may be logging all of the data going through them, and linking this to a user ID, so this is not a good way of masking your identity. Some services claim to never log data, but do your research well if anonymity is important to you, and consider services like TOR that do this much better with onion routing.
This allows you to access the resources on a private network from a public network.
The disadvantage of these systems comes from a overhead in terms of processing which is trivial enough it can be ignored on most modern PC's, there will be a slight decrease in network speed due to a slightly larger packet being created by the additional headers needed, and more frequent fragmentations, but again this will be quite small in the modern world.
The final thing to bear in mind is there are two types of connection, split tunnel and non split tunnel. With split tunnel you can access local resources on the same network as you are connected to locally, such as printers and servers on your subnet, however traffic to these local devices in insecure. Non split tunneled, ensures all your traffic is encrypted at the expense of being able to connect to devices on your subnet.