我环顾四周,但找不到任何能完全回答这个问题的东西。
那么,有什么区别呢?
另外,通过代理,我的意思是HTTP或SOCKS。
代理是一种“中间人”的服务或系统-它将接收发往其自身以外的东西的请求,并相应地进行传递。
通常,对于代理,协议不会更改,代理服务器会接收给定协议的流量,并使用同一协议转发到目标。
HTTP代理针对HTTP协议执行此操作。SOCKS在TCP级别上执行此操作。
隧道发送的是一个协议封装在另一个协议中的流量。您需要在隧道的两端都可以使用所需协议打包要发送的数据,然后在接收端对其进行解包的软件。
如果“外部”协议支持加密,则隧道提供了安全优势。SSH是一种支持隧道的协议-您可以通过它隧道HTTP,而只能看到SSH连接的人将无法查看您的流量。
iodine是一个软件示例,可让您通过DNS请求建立HTTP隧道。
真实的,实际的VPN基于隧道概念。发送端或“客户端”端上的软件向您的系统添加了虚拟网络适配器,通常需要操作系统支持或安装驱动程序。该虚拟网络适配器将通过加密的协议包装传出的流量,然后再通过您的物理NIC转发到VPN服务器。(各种协议包括PPTP,L2TP和OpenVPN)。
由于这看起来像系统上的任何其他NIC,因此应用程序和操作系统可以像其他任何NIC一样使用它,而无需了解它。
在接收端或服务器端,那里的软件将解包接收到的流量,然后可以将流量转发到受保护的内部网络上的主机,或者转发到整个Internet。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句