我环顾四周,但找不到任何可以完全回答这个问题的东西。
那么,有什么区别呢?
另外,我所说的代理是指 HTTP 或 SOCKS。
答案1
代理人
代理是一种“中间人”服务或系统 - 它会接收发往自身以外的其他对象的请求并进行相应的传送。
通常对于代理来说,协议不会改变,代理服务器接收给定协议的流量并使用相同的协议转发到目的地。
HTTP 代理为 HTTP 协议执行此操作。SOCKS 在 TCP 级别执行此操作。
隧道施工
隧道技术是指将一种协议的流量封装在另一种协议中,然后发送。隧道两端都需要有软件,可以将要发送的数据封装在所需的协议中,然后在接收端将其解包。
如果“外部”协议支持加密,则隧道技术将带来安全优势。SSH 是一种支持隧道技术的协议 - 您可以通过它隧道传输 HTTP,而只能看到 SSH 连接的人将无法查看您的流量。
碘是一个可以让你通过 DNS 请求隧道传输 HTTP 的软件示例。
VPN
真正的 VPN 是基于隧道概念的。发送端或“客户端”端的软件添加了一个虚拟网络适配器到您的系统,通常需要操作系统支持或安装驱动程序。此虚拟网络适配器将使用加密协议包装传出流量,然后通过您的物理 NIC 转发到 VPN 服务器。(各种协议包括 PPTP、L2TP 和 OpenVPN)。
由于它看起来像系统上的任何其他 NIC,因此应用程序和操作系统可以像任何其他 NIC 一样使用它,而无需意识到它。
在接收或服务器最后,那里的软件将解开接收到的流量,然后可以将流量转发到受保护的内部网络上的主机,或者转发到整个互联网上。