Ich schaute mich um, konnte aber nichts finden, was dies vollständig beantworten würde.
Was sind die Unterschiede?
Mit Proxy meine ich entweder HTTP oder SOCKS.
Ein Proxy ist ein Dienst oder ein System, das ein "Mann in der Mitte" ist - er nimmt Anforderungen an, die für etwas anderes als für sich selbst bestimmt sind, und liefert entsprechend.
Typischerweise ändert sich das Protokoll für einen Proxy nicht, der Proxy-Server empfängt den Verkehr eines bestimmten Protokolls und leitet das gleiche Protokoll an das Ziel weiter.
HTTP-Proxys tun dies für das HTTP-Protokoll. SOCKS macht dies auf TCP-Ebene.
Beim Tunneln wird der Verkehr eines Protokolls in einem anderen Protokoll gesendet. An beiden Enden des Tunnels benötigen Sie eine Software, die die zu sendenden Daten in das gewünschte Protokoll einwickeln und sie dann auf der empfangenden Seite auspacken kann.
Wenn das "äußere" Protokoll Verschlüsselung unterstützt, bietet das Tunneln einen Sicherheitsvorteil. SSH ist ein Protokoll, das Tunneln unterstützt. Sie können HTTP durch es tunneln, und jemand, der nur die SSH-Verbindung sehen kann, kann Ihren Datenverkehr nicht anzeigen.
Jod ist ein Beispiel für eine Software, mit der Sie HTTP durch DNS-Anforderungen tunneln können.
Ein echtes, reales VPN basiert auf dem Tunneling-Konzept. Die Software auf dem sendenden oder "Client" -Ende fügt ein virtueller Netzwerkadapter Sie benötigen häufig Betriebssystemunterstützung oder einen Treiber, der installiert werden muss. Dieser virtuelle Netzwerkadapter packt ausgehenden Datenverkehr in einem verschlüsselten Protokoll ein, bevor er über Ihre physische Netzwerkkarte an einen VPN-Server weitergeleitet wird. (Verschiedene Protokolle umfassen PPTP, L2TP und OpenVPN).
Da dies auf Ihrem System wie jede andere NIC aussieht, können Anwendungen und das Betriebssystem diese wie jede andere NIC verwenden, ohne dass dies bekannt sein muss.
Auf dem empfang oder Server So entpackt die dortige Software den empfangenen Datenverkehr und kann ihn anschließend an Hosts in einem geschützten internen Netzwerk oder im gesamten Internet weiterleiten.