Forum: Offtopic Internet Neuling


von Stored B. (Firma: drx) (umbrecht)


Lesenswert?

Hallo,

in einer Literatur zur C Programmierung wurde die Netzwerkprogrammierung 
etwas angeschnitten. Bevor ich mir nun ein Buch dazu Zulege habe ich 
eine Grundsätzliche Frage zum Netzwerk die ich im Internet nicht 
gefunden habe..

Es gibt verschiedene Kommunikationsprotokolle wie z.B. TCP und UDP die 
ihre Informationen immer über einen Port senden. Gibt es ein 
Kommunikationsprotokoll das auf Ports verzichtet? Ich frage daher weil 
theoretisch gesehen müsste man ja immer irgendwo einen Server haben um 
im eigenem Router keine Portweiterleitung zu erstellen? Quasi Programme 
wie TeamViewer funktionieren nur durch Server die irgendwo als 
Sender/Empfänger Zwischenstation fungieren, ansonsten müsste man bei 
Verbindungen direkt (ich denke Peer to Peer) immer eine Portfreigabe 
erstellen?

Stimmt mein Halbwissen so oder ist das völliger Schwachsinn?

Vielen dank.

mfg
Umbrecht

von Jan H. (j_hansen)


Lesenswert?

Stored B. schrieb:
> Gibt es ein
> Kommunikationsprotokoll das auf Ports verzichtet?

Ja gibt es.

> Ich frage daher weil
> theoretisch gesehen müsste man ja immer irgendwo einen Server haben um
> im eigenem Router keine Portweiterleitung zu erstellen? Quasi Programme
> wie TeamViewer funktionieren nur durch Server die irgendwo als
> Sender/Empfänger Zwischenstation fungieren, ansonsten müsste man bei
> Verbindungen direkt (ich denke Peer to Peer) immer eine Portfreigabe
> erstellen?

Eine Portweiterleitung brauchst du nur wegen NAT, die Ports selbst haben 
mit deiner Grundfrage erst einmal wenig zu tun. Auch bei einem Protokoll 
ohne Port müsste am Router gemappt werden, auf welchen Client die an die 
öffentliche IP geschickte Nachricht weitergeleitet werden soll.

Umgekehrt bei IPv6 ohne NAT brauchst du auch bei IP keine 
Portweiterleitung, weil der Client eine eindeutige Adresse hat.

Für Peer to Peer über NAT gib es ein paar Tricks. Entweder zentraler 
Server, oder "Hole Punching".

von Stored B. (Firma: drx) (umbrecht)


Lesenswert?

Vielen dank für Deine Antwort.

Jan H. schrieb:
> Ja gibt es.

Kennst du da Beispiele wie die sich nennen? Finde dazu nur UDP/TCP..

Jan H. schrieb:
> "Hole Punching".

Nicht schlecht, dass hätte ich nicht gedacht ^^ Das klärt eigentlich 
meine Frage, danke (:

Jan H. schrieb:
> Umgekehrt bei IPv6 ohne NAT brauchst du auch bei IP keine
> Portweiterleitung, weil der Client eine eindeutige Adresse hat.

Das Verstehe ich nicht ganz, hab Zuhause einen DS-Lite Anschluss mit 
ausschließlich IPV6, die IPV4 ist zwar vorhanden, wird aber für 
mehrere/andere Netze gleichzeitig verwendet. Habe einen Raspberry Pi 
Zuhause mit dem ich ohne Portweiterleitung so nicht kommunizieren kann 
von außen.
Die IPV6 Adresse ist Intern wie Extern gleich. Außer ich hab da nen 
schmarrn gemacht? Z.B. nutze ich SSH gerne von extern.

mfg
Umbrecht

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Stored B. schrieb:

>> Ja gibt es.
>
> Kennst du da Beispiele wie die sich nennen? Finde dazu nur UDP/TCP..

Das bekannteste dürfte ICMP sein.

Es gibt halt einen Grund, warum man bei "richtiger" Kommunikation diese 
Abstraktion mit den "Ports" eingeführt hat. Sie dienen dazu, die 
Endpunkte innerhalb einzelner IP-Adressen so zu markieren, dass man 
mehrere Kommunikationspfade parallel einrichten kann, auch zwischen zwei 
gleichen IP-Adressen.

>> Umgekehrt bei IPv6 ohne NAT brauchst du auch bei IP keine
>> Portweiterleitung, weil der Client eine eindeutige Adresse hat.
>
> Das Verstehe ich nicht ganz, hab Zuhause einen DS-Lite Anschluss mit
> ausschließlich IPV6, die IPV4 ist zwar vorhanden, wird aber für
> mehrere/andere Netze gleichzeitig verwendet. Habe einen Raspberry Pi
> Zuhause mit dem ich ohne Portweiterleitung so nicht kommunizieren kann
> von außen.

Dann blockiert irgendwo wer was. Vielleicht meinst du statt 
"Portweiterleitung" hier einfach nur "passende Firewall-Regel"?

Ja, wenn du (was sinnvoll ist) erstmal allen Traffic von außen in dein 
Netz am Firewall blockierst, dann musst du natürlich für erwünschten 
Traffic eine Regel einrichten, die diesen gestattet. Je nach UI deines 
Firewalls kann diese durchaus auch genauso aussehen wie eine 
"Portweiterleitung" bei IPv4.

von Stored B. (Firma: drx) (umbrecht)


Lesenswert?

Jörg W. schrieb:
> Das bekannteste dürfte ICMP sein.
>
> Es gibt halt einen Grund, warum man bei "richtiger" Kommunikation diese
> Abstraktion mit den "Ports" eingeführt hat. Sie dienen dazu, die
> Endpunkte innerhalb einzelner IP-Adressen so zu markieren, dass man
> mehrere Kommunikationspfade parallel einrichten kann, auch zwischen zwei
> gleichen IP-Adressen.

Vielen dank (:

Jörg W. schrieb:
> Dann blockiert irgendwo wer was. Vielleicht meinst du statt
> "Portweiterleitung" hier einfach nur "passende Firewall-Regel"?

Ich benutze eine Fritz Box, in dieser muss ich zumindest eine 
Portweiterleitung für das Gerät anlegen, erst dann funktioniert es. Es 
kann gut sein dass das dann eventuell nur als eine Firewall Regel gilt. 
Aber da kenne ich mich viel zu wenig aus.

mfg
Umbrecht

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Stored B. schrieb:
> Es kann gut sein dass das dann eventuell nur als eine Firewall Regel
> gilt.

Vermutlich wird das bei IPv6 einfach zu einer normalen Firewallregel 
degradieren. Vermutlich könntest du auch den gesamten IPv6-Traffic von 
draußen nach innen gestatten. Ist halt nur die Frage, ob du das willst. 
;-) (Andererseits ist IPv6 ziemlich immun gegenüber großflächigen Scans, 
da es einfach viel zu viele Adressen sind, als dass man diese "alle" 
scannen könnte.)

von Stored B. (Firma: drx) (umbrecht)


Lesenswert?

Im Endeffekt denke ich ist es mir egal wie ^^ Viel mehr stört es mich, 
mit IPV4 nicht mit IPV6 kommunizieren zu können ohne Umwege.. ^^

mfg
Umbrecht

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.