大家在使用VPN的时候都会看到商家有提供PPTP VPN、L2TP  VPN、OpenVPN、SSH代理等多种协议选择,但是许多朋友却不知道它们之间有什么区别,也不知道该如何选择,今天整理了一些日常收集来的信息为大家解开这些困惑,要知道在不同的平台和环境下使用协议,其中每一种协议均有独特的功能和优势,在我们选择使用协议时,需要考虑自己的设备是支持什么协议,在安全性和速度之间权衡,以及考虑有没有协议被你的网络阻塞。以下是博主精心收集整理的信息,希望对大家有所帮助。

一、首先介绍下PPTP、L2TP、OpenVPN及SSH这四种协议的不同特点

1:PPTP VPN协议

PPTP协议它是点对点隧道协议,其将控制包与数据包分开,控制包采用TCP控制,用于严格的状态查询及信令信息;数据包部分先封装在PPP协议中,然封后装到GRE V2协议中。简单说,PPTP使用TCP协议,适合在没有防火墙限制的网络中使用。

2:L2TP VPN协议

L2TP它是国际标准隧道协议,它结合了PPTP协议以及第二层转发L2F协议的优点,能以隧道方式使PPP包通过各种网络协议,包括ATM、SONET和帧中继。但是L2TP没有任何加密措施,更多是和IPSec协议结合使用,提供隧道验证。简单说,L2TP使用UDP协议,大多可以穿透防火墙,适合在有防火墙限制及局域网用户,如有公司、网吧、学校等场合使用。PPTP和L2TP二个连接类型在性能上差别不大,如果使用PPTP不正常,那就更换为L2TP。

3:OpenVPN隧道协议

OpenVPN它是一个基于SSL加密的纯应用层的VPN协议,也是SSL VPN的一种,有支持UDP与TCP两种方式(说明:UDP和TCP是2种通讯协议,这里通常UDP的效率会比较高,速度也相对较快。所以尽量使用UDP连接方式,实在UDP没法使用的时候,再使用TCP连接方式)。

由于其运行在纯应用层,避免了PPTP和L2TP在某些NAT设备后面不被支持的情况,并且可以绕过一些网络的封锁(通俗点讲,基本上能上网的地方就能用OpenVPN)。

OpenVPN客户端软件能很方便地配合路由表,实现不同线路(如国内和国外)的路由选择,实现一部分IP走VPN,另一部分IP走原网络。

4:SSH隧道协议

SSH原本是用于UNIX类系统的远程登录和管理,由于SSH可以通过客户端软件在本地做一个SOCKS代理进行加密转发,因此它也被用于网络代理。一些喜欢用SSH的代理的人,会配合浏览器插件(如Firefox的AutoProxy,Chrome的Switchy)和自动列表,可实现对不同网址有选择性地代理。

二、然后介绍下PPTP、L2TP、OpenVPN这三种隧道协议的优缺点比较,暂ssh不列入比较。

1:首先针对PPTP 、L2TP 、 OpenVPN三种隧道协议的易用性进行比较,如下:

易用性:PPTP > L2TP > OpenVPN

2:再针对PPTP 、L2TP 、 OpenVPN三种隧道协议的安全性进行比较,如下:

安全性:OpenVPN > L2TP > PPTP

3:然后针对PPTP 、L2TP 、 OpenVPN三种隧道协议的速度进行比较,如下:

速度:PPTP > OpenVPN UDP > L2TP > OpenVPN TCP

4:针对PPTP 、L2TP 、 OpenVPN三种隧道协议的稳定性进行比较,如下:

稳定性:OpenVPN > L2TP > PPTP

5:最后针对PPTP 、L2TP 、 OpenVPN三种隧道协议的网络适应性进行比较,如下:

网络适用性:OpenVPN > PPTP > L2TP

三、最后说说该选择哪种VPN协议进行连接?

电脑上优先使用PPTP,无法使用可以尝试L2TP,如果你对安全性要求高的话就优先使用OpenVPN。手持设备推荐使用L2TP;

如果你对VPN隧道协议不了解,那么,请按照以下顺序进行尝试连接

1:PPTP——最常用,设置最简单,大多数设备都支持

2:L2TP——支持PPTP的设备基本都支持此种方式,设置略复杂,需要选择L2TP/IPSec PSK方式,且设置预共享密钥PSK

3:OpenVPN——最稳定,适用于各种网络环境,但需要安装第三方软件和配置文件,较复杂

特别提醒:

XP系统启用L2TP需要重启电脑,Vista,Win 7则无需重启。

PPTP与L2TP2个连接类型在性能上差别不大,如果使用PPTP不正常,那就更换为L2TP

个人使用经验

在使用VPN的时候应该首先尝试PPTP模式,若连接不了再用L2TP模式,一般来说都是可以连接成功的。另外,某些移动地区无法使用PPTP,必须得用L2TP。

VPN协议PPTP/L2TP/OpenVPN及SSH的区别与详解的更多相关文章

  1. SSH免密登录详解

    SSH免密登录详解 SSH(Security Shell)安全外壳协议,是较为可靠的,专为远程登录会话和其他网络服务提供安全保证的协议. ​ 对于传统的网络服务程序(例如,FTP,Telnet等)来说 ...

  2. [转帖]IP /TCP协议及握手过程和数据包格式中级详解

    IP /TCP协议及握手过程和数据包格式中级详解 https://www.toutiao.com/a6665292902458982926/ 写的挺好的 其实 一直没闹明白 网络好 广播地址 还有 网 ...

  3. Linux实现利用SSH远程登录服务器详解

    Linux实现利用SSH远程登录服务器详解 http://www.111cn.net/sys/linux/55152.htm

  4. SSH 概念及使用详解

    注意:转载请注明出处:http://www.programfish.com/blog/?p=124 SSH 基本概念 SSH 英文全称是secure shell,字面意思:安全的shell. SSH协 ...

  5. AWS 搭建 VPN 服务(PPTP & L2TP) 整理

    只为记录和整理在AWS上假设VPN服务器帮助过我的资料,环境使用AWS EC2 东京区域, OS为ubuntu, PPTP和L2TP各自建立一个, 从speed test上看, 下载有2mbps左右, ...

  6. windows 2008 VPN(PPTP/L2TP)搭建

    PPTP和L2TP只差一步配置,现在苹果已经不支持PPTP,所以只能使用L2TP连接.废话不多说,下面开始搭建: 1.PPTP VPN 配置 新安装好的OS,进入系统,首先添加角色 勾选添加网络策略和 ...

  7. ssh秘钥交换详解与实现 diffie-hellman-group-exchange-sha

    ssh的DH秘钥交换是一套复合几种算法的秘钥交换算法.在RFC4419中称为diffie-hellman-groupX-exchange-shaX 的算法(也有另一种单纯的 rsaX-shaX 交换算 ...

  8. ssh服务配置文件---sshd_config详解

     关于 SSH Server 的整体设定,包含使用的 port 啦,以及使用的密码演算方式 Port 22 # SSH 预设使用 22 这个 port,您也可以使用多的 port !  # 亦即重复使 ...

  9. (十四)UDP协议的两个主要方法sendto和recvfrom详解

    在网络编程中,UDP运用非常广泛.很多网络协议是基于UDP来实现的,如SNMP等.大家常常用到的局域网文件传输软件飞鸽传书也是基于UDP实现的. 本篇文章跟大家分享linux下UDP的使用和实现,主要 ...

随机推荐

  1. VS2012简单的使用感受+插件推荐

    VS2012简单的使用感受+插件推荐http://www.cnblogs.com/tangge/archive/2013/03/12/2955367.html

  2. ExtJs之Ext.form.field.TimePicker DatePicker组合框

    <!DOCTYPE html> <html> <head> <title>ExtJs</title> <meta http-equiv ...

  3. 传说中的WCF(10):消息拦截与篡改

    我们知道,在WCF中,客户端对服务操作方法的每一次调用,都可以被看作是一条消息,而且,可能我们还会有一个疑问:如何知道客户端与服务器通讯过 程中,期间发送和接收的SOAP是什么样子.当然,也有人是通过 ...

  4. return x>y?x:y ?:啥意思?

    ? :是一个三目运算符,先判断‘?’前面的,若为真,执行‘?’后面语句,else,执行‘:’后面语句! return (x>y?x:y) 即if(x>y) 执行xelse执行y

  5. iOS 开发--Objective-C 反射机制

    了解反射机制 Objective-C语言中的OC对象,都继承自NSObject类.这个类为我们提供了一些基础的方法和协议,我们可以直接调用从这个类继承过来方法.当然,本篇文章中讲到的反射方法,就在NS ...

  6. Java-马士兵设计模式学习笔记-命令模式

    一.概述 命令模式 二.代码 1.Client.java public class Client { public void request(Server server){ server.addCom ...

  7. Java-马士兵设计模式学习笔记-代理模式-动态代理 修改成可以任意修改代理逻辑

    一.概述 1.目标:动态代理的代理逻辑可以任意修改 2.思路: (1)要把代理逻辑抽离,站在jvm的角度思考,应独立出InvocationHandler接口,并接收被代理的对象及方法作为参数invok ...

  8. css属性

    文本: color 颜色 line-height 行高 direction 文本方向 letter-spacing 字符间距 text-align 对齐方式 text-decoration 文本修饰 ...

  9. 如何通过图片在 HTTPS 网站中获取 HTTP 接口数据

    <script> (function() { var Decode=function(b){var e;e=[];var a=b.width,c=b.height,d=document.c ...

  10. linux中/etc/init.d [转]

    一.关于/etc/init.d 如果你使用过linux系统,那么你一定听说过init.d目录.这个目录到底是干嘛的呢?它归根结底只做了一件事情,但这件事情非同小可,是为整个系统做的,因此它非常重要.i ...