FB18 - Das Forum für Informatik

fb18.de / Off-Topic / Allgemeines

Port

Port 2005-01-16 23:36
Anonymer User
Hey Leute,

wer kann mir ausführlich erklären, was ein Port ist.

Re: Port 2005-01-16 23:51
Wolf
Lies http://de.wikipedia.org/wiki/Port als Überblick. Wenn Du dann noch Fragen hast, meld Dich ;)
Edit: url= wollte nicht..

Re: Port 2005-01-18 00:09
Anonymer User
Danke Wolf aber kann man einen Port mit einer IP-Adresse vergleichen? im Grunde genommen spielen sie fast eine ähnliche Rolle. Eine IP-Adresse dient zur weltweiten Identifizierung eines Computers im Netzwerk und Port zur Zuordnung der Datenpakete den richtigen Diensten, die jeder eine Portnummer besitzt, sonst wäre die Zuordnung unmöglich.

Re: Port 2005-01-18 00:22
Tweety
Naja, ich würde schon den Unterschied von Port und IP-Adresse klar machen. Die Ip Adresse wird häufig mit der Stadt und Straße verglichen während der Port die Hausnummer ist (was natürlich von dem idialisierten Weltbild ausgeht, dass ein Bäcker immer die Hausnummer 1 hat, die 2 z.B. immer der Kiosk ist etc. - Und Hausnummern über 1024 sind halt irgendwelche Wohnungen in denen wilde Partys veranstaltet werden. Und keiner weiß welche genau. Man kann halt nur "raten").

Re: Port 2005-01-18 01:49
Anarch
IP-Adressen sind feste Adressen auf einem Rechner. Ein Rechner kann mehrere IP-Adressen haben. Auf dem IP-Protokoll aufbauend gibt es andere Protokolle. Einige davon definieren einen Port. Normalerweise meint man damit dann TCP oder UDP.

Bei TCP identifizieren die Ports - jeweils einer an beiden Enden der Verbindung - zusammen eine spezielle Verbindung. D.h. jede Verbindung blockiert lokal einen Port.

Server-Dienste warten an einem speziellen Port auf eine Verbindung - so ist HTTP der Port 80 zugeordnet, SMTP 25, SSH 22, etc.pp. (siehe /etc/services). Ein Programm verbindet sich explizit mit diesem Port um mit diesem Server zu kommunizieren.

Re: Port 2005-01-19 16:08
M
Eine andere Analogie wäre, dass die IP-Adressen wie Telefonnummern die Enden einer Verbindung addressieren und die Ports die verschiedenen Dienste, die über diese Verbindung gleichzeitig genutzt werden können (natürlich gibt es außerhalb vom IP noch mehr).

Re: Port 2005-01-19 17:55
Wolf
IP-Adressen beziehen sich auf physikalische Adressen, Ports auf virtuelle Schnittstellen innerhalb dieser physikalischen Adressen.
Dementsprechend ist in der Programmierung ein Socket aufgebaut: Er besteht aus IP-Adresse und Port. Eine Verbindung über einen Socket wird also initiiert, wenn die angesprochene IP-Adresse am betreffenden Port eine Verbindung zulässt.

Stark vereinfacht: Die IP-Adresse beschreibt einen Rechner und die Ports sind den Programmen im Rechner zugeordnet.

Das strukturiert den Datenverkehr erheblich und vermeidet falsche Zuordnung von übermittelten Daten, und soweit ich weiss, ist das auch der Sinn von Ports.

Re: Port 2005-01-19 18:48
Anarch
IP-Adressen beziehen sich auf physikalische Adressen

Es gibt nichts "physikalisches" an einer IP (jedenfalls nicht mehr als an einem Port).

Re: Port 2005-01-19 19:06
Faleiro
Es gibt nichts "physikalisches" an einer IP (jedenfalls nicht mehr als an einem Port).
Im Sinne der Didaktik kann man das schon so ausdruecken. Eine IP pro Rechner. Natuerlich kann man auch mehrere Netzwerkkarten mit jeweils mehreren IPs im Rechner haben, aber fuer die vereinfachten Modell aus den Vorlesungen ist das schon eine gute Abstraktion.

Stark vereinfacht: Die IP-Adresse beschreibt einen Rechner und die Ports sind den Programmen im Rechner zugeordnet.
Gut ausgedrueckt.

Ein Programm, das per TCP/IP auf einen Dienst auf einem anderen Rechner zugreifen moechte, muss also die IP des Zielrechners sowie den Port des Dienstes auf diesem Zielrechner kennen. Fuer wohlbekannte Dienste (Mail, HTTP(Web), FTP, SSH) sind die Portnummern festgelegt, daher hat man mit Portnummern gemeinhin wenig zu tun.

Re: Port 2005-01-19 19:19
TriPhoenix
Es gibt nichts "physikalisches" an einer IP (jedenfalls nicht mehr als an einem Port).
Im Sinne der Didaktik kann man das schon so ausdruecken. Eine IP pro Rechner. Natuerlich kann man auch mehrere Netzwerkkarten mit jeweils mehreren IPs im Rechner haben, aber fuer die vereinfachten Modell aus den Vorlesungen ist das schon eine gute Abstraktion.
Sogar viele IPs an einer Netzwerkkarte, also nichtmal da ist die Zuordnung eindeutig. Klar, für ein vereinfachtes Modell reicht es einen Rechner als eine IP zu betrachten, man sollte aber dann im Hinterkopf behalten dass das ein EINFACHES Modell ist. Mit NAT kann man dann auch problemlos mehrere Rechner hinter einer IP haben.

Re: Port 2005-01-19 19:24
Faleiro
mehrere Netzwerkkarten mit jeweils mehreren IPs
Sogar viele IPs an einer Netzwerkkarte, also nichtmal da ist die Zuordnung eindeutig.
Daher das Woertchen "jeweils" :-)

Mit NAT kann man dann auch problemlos mehrere Rechner hinter einer IP haben.
NAT arbeitet transparent, da wird nur uebersetzt, zu allen Zeiten wird den IP-Regeln gehorcht und es sind IP-Adressen und Portnummern im Spiel. Daher aendert das im Grunde nix…

Re: Port 2005-01-19 19:32
TriPhoenix
Okay, das jeweils war mir entgangen, Rückzug auf der Seite [img]http://www.fb18.de/gfx/23.gif[/img]

Mit NAT kann man dann auch problemlos mehrere Rechner hinter einer IP haben.
NAT arbeitet transparent, da wird nur uebersetzt, zu allen Zeiten wird den IP-Regeln gehorcht und es sind IP-Adressen und Portnummern im Spiel. Daher aendert das im Grunde nix…

Naja, von außen sind das mehrere Rechner hinter einer IP, insbesondere mit Portforwards. Die Pakete werden vom NAT-Rechner ja sogar so wenig verändert, dass die Sequenznummern teilweise erkennen lassen, wieviele Rechner hinter einer IP stecken. (Auch wenn davon abgesehen NAT eine hässlichkeit ansich ist dadurch dass diese Sicht überhaupt möglich ist)

Re: Port 2005-01-19 19:47
Anarch
Es gibt nichts "physikalisches" an einer IP (jedenfalls nicht mehr als an einem Port).
Im Sinne der Didaktik kann man das schon so ausdruecken.

Ich bin kein großer Freund von versteckter Komplexität. Wenn man wegen einer vereinfachten Erklärung etwas vereinfacht, sollte man das auch dazusagen…

Re: Port 2005-01-19 19:57
Faleiro
Im Sinne der Didaktik kann man das schon so ausdruecken.

Ich bin kein großer Freund von versteckter Komplexität. Wenn man wegen einer vereinfachten Erklärung etwas vereinfacht, sollte man das auch dazusagen…
Das macht die Sache nur leider recht kompliziert. Abstraktion an der rechten Stelle ist notwendig, um nicht weiter zu verwirren. Dass ein Lehrwerk immer vereinfacht und es haufenweise Techniken (wie NAT) und Sonderfaelle gibt, die darauf aufbauen, ist jedem Lernenden hoffentlich bekannt. (Und falls nicht – wen interessierts, die Pruefung basiert auf der Skript-Abstraktion.)

Sonst kann man auch gleich das Skript hier reinschreiben. Oder noch besser, den Tanenbaum, das Skript ist ja auch vereinfacht. Und dem Frager ist dann leider ueberhaupt nicht geholfen.

Re: Port 2005-01-19 20:47
Wolf
Sonst kann man auch gleich das Skript hier reinschreiben. Oder noch besser, den Tanenbaum, das Skript ist ja auch vereinfacht. Und dem Frager ist dann leider ueberhaupt nicht geholfen.
Naja, eigentlich müsste in diesem Sinne die URL zum entsprechenden RFC hier stehen.
Stimmt schon, IP-Adressen müssen nicht auf physikalische Adressen zeigen, aber an Hand dieser Abstraktion wird das Konzept deutlich, vor allem der Bezug IP-Adresse <-> Port.
Für exakte Informationen in dieser Hinsicht muss man sich in letzter Konsequenz Implementationen dieses Konzepts anschauen. RTFS [img]http://www.fb18.de/gfx/7.gif[/img]

Re: Port 2005-01-19 21:31
Anarch
Das macht die Sache nur leider recht kompliziert. Abstraktion an der rechten Stelle ist notwendig, um nicht weiter zu verwirren.

Ich habe nichts gegen Abstraktion oder Vereinfachung - aber dazu gehört immer die Warnung, "so einfach ist es nicht"…

Re: Port 2005-01-20 00:18
Wolf
Na, das ist doch offensichtlich [img]http://www.fb18.de/gfx/25.gif[/img]
Es ist wirklich komplexer, als ich es dargestellt habe. So, nun ist es gesagt [img]http://www.fb18.de/gfx/23.gif[/img]

Re: Port 2005-01-20 18:46
M
Nun streitet mal nicht über die IP-Adressen, hier ging es doch nur um die Ports. Das liesse sich auch erklären, ohne auf Details der IP-Adressen eingehen zu müssen.
Letztlich sind Ports doch nur eine Möglichkeit, mehrere Dienste gleichzeitig in einem übergeordneten Protokoll zu verwenden. Das muss nicht mal auf IP beschränkt sein, z.B. gibt es auch I/O-Ports (mit der Speicheradressierung als übergeordnetem Protokoll).

Wenn man Details nennen will, finde ich es hilfreicher zu erwähnen, dass die Kombination einer IP-Adresse und eines Ports genau den "Socket" ergibt, den man dann in der Netzwerkprogrammierung verwenden muss.

Re: Port 2005-01-21 16:01
Wolf
Wenn man Details nennen will, finde ich es hilfreicher zu erwähnen, dass die Kombination einer IP-Adresse und eines Ports genau den "Socket" ergibt, den man dann in der Netzwerkprogrammierung verwenden muss.
Deswegen hab ich das ja auch erwähnt. SCNR :)