翻墙代理,Proxy、SSH 和VPN的区别

点击查看原图

首先介绍下TCP/IP 五层模型,咱们这里介绍下的OSI七层模型,五层模型把OSI七层中的应用层、表示层、回话层统称为应用层,也就是说TCP/IP协议中的应用层处理开放式系统(OSI:Open System Interconnection)互联模型中的第五层、第六层和第七层的功能。

点击查看原图

1、proxy:

代理服务器通常是在应用层(HTTP)或传输层(SOCK)完成的。

Proxy (代理),可以看作是一个快递员,负责将你的包裹送达收件人。


2、SSH

SSH (Secure Shell, 安全外壳协议)是一种加密渠道,本身并不能翻墙,需要结合代理服务器才能够翻墙。所以,我们通常所说的用来翻墙的 SSH,都是指 SSH 代理。也就是说,SSH 代理 = 代理 + SSH,可以看作是加密了的代理,就好比把包裹装在保险箱里面再交给快递员。在 TCP/IP 五层模型中,SSH 是被应用于应用层和传输层的安全协议。

ssh是一个remote shell 是基于SSL的一种应用,尽管很多人用ssh的转发功能 但是本质上,并没有使用shell, 只是利用了sshd这个软件的SSL proxy的功能。

点击查看原图

3、vpn:

   VPN技术实现方式目前运用的有主要三种形式:MPLS方式、IP SEC方式和SSL VPN方式。

    IP SEC方式工作在网络层即第三层

    MPLS方式是 结合了第二层的交换和第三层路由的特点,第三层的路由在网络的边缘实施,而在的网络核心则工作在第二层。

SSL VPN工作在应用层,支持多种认证算法,但会增加额外费用。
       总之大多数 VPN 都实现在二层或三层,即VPN一般是在网络层(IPSec)或数据链路层(PPTP或L2TP)完成的,同时很多拥有专用 client app 的 VPN 完全可以实现在第七层如 Ethernet-over-socket 

    使用 VPN(Virtual Private Network,虚拟私人网络),就好比不通过快递员,你亲自把包裹交给收件人所在公司的前台,再由前台转交给收件人。

    点击查看原图





从以上三个比喻可以看出:VPN 的安全性要高于 SSH、而 SSH 又高于 Proxy,因为相对来讲,包裹中途被拦截的几率要比目的地的高,特别是当大家都是在同一个服务器上搭建的时候,但是大多数情况下,这三类翻墙工具都是不在同一个服务器上的,所以安全性也是相对的。另外:

        a、Proxy 和 SSH 的作用是局部的,只适用于你指定的应用程序(例如浏览器),而 VPN 的作用是全局的,适用于你的整台设备,不管是浏览器、邮件客户端、iTunes 或者其他任何的连接到互联网的应用程序。还有,通过 Proxy 和 SSH 翻墙的时候,需要设置网络的代理地址,而 VPN 则不需要。

        b、VPN一般会分配一个虚拟ip、虚拟网卡,并修改本地路由表,已达到某些目标地址走虚拟网关的目的,代理服务器不需要。

      c、传输的数据上,VPN数据一定是封装的(但不一定是加密的)。比如你需要访问一个网站,浏览器发送的是HTTP协议,但vpn里传送的数据一定不是HTTP。他是一种封装数据,里面包括了你的虚拟IP、虚拟的mac地址,对端的IP、对端的mac地址、你发送的HTTP数据包等等。网页回来的时候,也不是HTTP协议的,也是一种封装数据。VPN的虚拟网卡会将数据解包,解成普通的HTTP协议发送给浏览器。这就是为啥VPN一定需要虚拟网卡。
因为VPN本身就需要将数据封装,所以一般的VPN会顺便将数据加密,因为再加密也不会很费劲儿。
代理服务器可能是未封装的,也可能是封装的。比如HTTP代理,就是把HTTP请求发给代理服务器,然后代理服务器将结果返回来。
      d、 VPN主要是解决内网穿透的问题,因此他背后可能不止一台机器。首先,你得连到一台公网服务器,然后这个公网服务器连接到一台内网网关,内网网关再讲数据发给你请求的目标地址。代理服务器则非常简单,就是一个中转站,一般就一个

版权所有:《太阳花工作室》 => 《翻墙代理,Proxy、SSH 和VPN的区别
本文地址:http://bg.artuion.com/杂七杂八/360.html
除非注明,文章均为 《太阳花工作室》 原创,欢迎转载!转载请注明本文地址,谢谢。