# Welche Netzwerktechnik ist die bessere?



## Seppel (31. Aug 2012)

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 (31. Aug 2012)

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 (31. Aug 2012)

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 (31. Aug 2012)

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.


----------



## nillehammer (31. Aug 2012)

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 (31. Aug 2012)

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)


----------



## nillehammer (31. Aug 2012)

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 

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 (31. Aug 2012)

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)


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]


----------



## nillehammer (31. Aug 2012)

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


----------



## Seppel (31. Aug 2012)

nillehammer hat gesagt.:


> 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.


----------



## nillehammer (31. Aug 2012)

> 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.


----------

