Welche Netzwerktechnik ist die bessere?

Seppel

Bekanntes Mitglied
Hi,

bisher habe ich mittels TCP zwischen Client und Server komuniziert.
Jetzt wurde mir erzählt das dies Problematisch wäre wenn ein Proxy dazwischen wäre und empfahl mir http Protokolle zunutzen.

Was ist dran, welche Methode ist sicherer, einfacher und gibt es vieleicht noch bessere?

mfg
 

Flown

Administrator
Mitarbeiter
Ich würde dir dringendst raten dich einmal einzulesen da HTTP ein Application Layer Protokoll ist und TCP eines des Transport Layers.

Würde ich dich verwirren, wenn ich sage, dass HTTP TCP verwendet?
 

Seppel

Bekanntes Mitglied
Der werte Prof meinte ja das wir ein TCP Programm in Python schreiben sollen das ja auf der Anwendungsschicht liegen soll.

Da habe ich woll entweder was falsch verstanden, oder der Herr hat sich versprochen. Da ich es einfach mal geglaubt habe ist mir kein Fehler aufgefallen.

Und mit dem Proxy-TCP Problem scheint also wahr zu sein?
 

Evil-Devil

Top Contributor
Wenn ein Proxy irgendwo zwischen geschaltet ist, dann muss der die Pakete für den jeweils genutzten Port weiterleiten. Das ist bei einem freien Proxy sehr selten der Fall. HTTP (80, 8080) wird in 99% der Fälle weitergeleitet. Vermutlich meinte dein Prof jene Sache.
 
N

nillehammer

Gast
Proxy(-Server) ist ein Konstrukt, das es bei verschiedenen Protokollen gibt (z.B. HTTP, FTP...), die oberhalb von TCP liegen. Auf TCP-Ebene von Proxies zu reden ist imho schlicht falsch. (Lasse mich aber gerne eines Besseren belehren.)

Wenn Deine bestehende Client-Server-Anwendung Protokolle benutzt, die keine Proxies kennen, hast Du auch kein Problem damit.

Das Thema Router/Firewall, erlaubte Ports, Portweiterleitung etc. hat man bei jeder Art von Netzwerkprogrammierung. Da ist es oft so, dass das meiste gesperrt ist (wahrscheinlich auch der Port, über den Deine Anwendung z. Zt. kommuniziert). Port 80/HTTP ist aber häuftig offen, weswegen die Benutzung von HTTP meist möglich ist, ohne eine extra Freigabe bei einer Firewall zu machen. Ich glaube, das ist, was Dein Prof. meinte.
 

Seppel

Bekanntes Mitglied
Der Prof sagte das das Python TCP Programm auf der Anwendungsschicht liegt

das bei TCP Probleme mit dem Proxy entstehen wurde mir von jemand anderen gesagt

Wenn aber der port 1234567 von mir und beim Ziel offen ist sollte es also gehen problemlos Nachrichten auszutauschen (Vorausgesetzt Server und Client sind offen)
 
N

nillehammer

Gast
Seppel hat gesagt.:
Wenn aber der port 1234567 von mir und beim Ziel offen ist sollte es also gehen problemlos Nachrichten auszutauschen (Vorausgesetzt Server und Client sind offen)
"1234567" sone hohe Portnummer gibt es nicht :D

Ansonsten etwas verkürzt formuliert, aber sicher richtig. Wenn Du als Client aktiv eine Verbindung zum Ziel auf Port 12345 aufmachen willst, muss deine Firewall dich über diesen Port "rauslassen" und die Firewall des Ziels Dich über diesen Port "reinlassen". Ggf. bei einsatz von NAT muss die Ziel-FW noch den Port auf einen internen Rechner des Zielnetzes forwarden.
 

Evil-Devil

Top Contributor
Wenn aber der port 1234567 von mir und beim Ziel offen ist sollte es also gehen problemlos Nachrichten auszutauschen (Vorausgesetzt Server und Client sind offen)
Wenn du dann aber einen Proxy dazwischen schaltest bei dem Port 1234567 nicht offen ist - was sehr wahrscheinlich der Fall sein wird - dann können keine Nachrichten ausgetauscht werden.

Sofern es nicht dein eigener Proxy ist, hast du keine Kontrolle über selbigen. Du kannst höchstens einen Port nutzen der beim Proxy offen ist. Zb. der HTTP Port 80 bzw. 8080.

[edit]zu langsam ... :([/edit]
 
N

nillehammer

Gast
Äahem, ich hab hier irgendwie den Eindruck, als würden die Begriffe Proxy und Firewall vermengt. Das ist nicht richtig.
 

Seppel

Bekanntes Mitglied
Wenn Deine bestehende Client-Server-Anwendung Protokolle benutzt, die keine Proxies kennen, hast Du auch kein Problem damit.

was ist den nu richtig probleme, oder keine?

Intersant finde ich jetzt hauptsächlich die Frage ob ich von meinem Rechner mit einen beliebigen anderen komunizieren kann, oder ob es Hinternisse gibt, egal ob Proxy oder was anderes.
 
Zuletzt bearbeitet:
N

nillehammer

Gast
Intersant finde ich jetzt hauptsächlich die Frage ob ich von meinem Rechner mit einen beliebigen anderen komunizieren kann, oder ob es Hinternisse gibt, egal ob Proxy oder was anderes.
Also nochmal, wenn Du ein Protokoll verwendest, das sowas wie einen Proxy kennt, dann kann die richtige Konfiguration eines solchen ein Problem sein. Du hast zum von Dir verwendeten Protokoll bisher nichts geschrieben. Auf Basis dieser Information gehe ich bis dato davon aus, dass es kein Protokoll ist, wo Proxies eine Rolle spielen.

Ansonsten zu allgemeinen Konfigurationsproblemen siehe mein Post von 12:40.
 

Ähnliche Java Themen


Oben