Um diese Webseite uneingeschränkt betrachen zu können, aktivieren Sie bitte Javascript

2019-01-01

Von: Niklas Gerken (gepr. O. Osmers)





TCP/UDP Ports


 

Was sind Ports?

Ein Port ist eine Schnittstelle zwischen zwei Endpunkten. Ähnlich wie bei einem Schiff, welches zwischen zwei Häfen hin und her fährt, um Container zu transportieren bzw. in diesem Fall werden Datenpakete transportiert. Dabei befindet sich die Portbezeichnung hinter dem Doppelpunkt der IP-Adresse, beispielsweise 127.0.0.1:80. Ports umfassen einen bestimmten Nummernbereich, welcher sich zwischen 0 und 65535 befindet.

 

Wofür werden Ports gebraucht?

Applikationen und Programme besitzen die Eigenschaft mehrere TCP Verbindungen gleichzeitig aufzubauen. Damit die Verbindungen voneinander unterschieden werden können gibt es sogenannte Ports. Manche Ports sind standardisiert und für bestimmte Übertragungen vorgesehen, beispielsweise der Port 80 für HTTP Verbindungen oder der Port 21 für FTP Verbindungen.

Bei einer TCP Verbindung von einem Client zu einem FTP Server erhält der Empfänger den Standard Port 21 und der Sender einen freien dynamischen Port zwischen 49152 und 65535. Wenn der Server Daten zu einem Client sendet werden die Portnummern vertauscht, um zu verhindern, dass Daten zu einer falschen Applikation gesendet werden.

 

Was ist der Unterscheid zwischen TCP und UDP?

Sowohl TCP (Transmission Control Protocol), als auch UDP (User Datagram Protocol) sind Protokolle, welche die Art und Weise der Übertragung von Daten festlegen. Beide Protokolle befinden sich auf der vierten Schicht im OSI-Schichtenmodell, der sogenannten Transportschicht.

TCP stellt eine Verbindung zwischen zwei Endpunkten in einem Netzwerk her. Bei der Übertragung von Datenpaketen über das TCP Protokoll findet ein sogenannter „Handschake“ statt. Dieser überprüft, ob alle Datenpakete beim Empfänger richtig angekommen sind. Sollte ein Datenpaket nicht beim Empfänger ankommen sein wird es einfach erneut gesendet.

Bei Echtzeit Übertragungen, wie beispielsweise der Telefonie wird das UDP Protokoll verwendet. Bei diesem Protokoll werden die gesendeten Daten nicht geprüft, ob diese beim Empfänger angekommen sind. Im Gegensatz zu TCP besitzt UDP keine Kontrollfunktion. Daher kommt es vor, dass bei der Übertragung von Daten, einzelne Pakete nicht beim Empfänger ankommen. Dadurch sinkt allerdings die Übertragungsqualität. Ein Weiterer Einsatz Bereich von UDP ist das Streaming von Video und Audiodateien. Hier lassen sich Paketverluste in Form von Pixelfehlern oder Audiofehlern wahrnehmen.

 

Welche Arten von Ports gibt es?

Die Ports mit den Nummern 0 bis 1023 werden als Standard Ports bezeichnet, da diese einem Dienst oder Anwendungsprotokoll fest zugewiesen sind. Beispielsweise den Port 80 für http Übertragungen.

Die Ports mit den Nummern 1024 bis 49151 können bei der IANA (Organisation für die Zuordnung von Namen und Nummern im Internet) registriert und für die eigene Anwendung verwendet werden.

Die Ports ab 49152 sind dynamisch und werden von Clients für ausgehende Verbindungen verwendet. Dynamische Ports können dadurch frei verwendet werden und sind keiner Anwendung fest zugewiesen. 

 

Was ist ein offener Port?

Bei einem offenen Port besteht die Möglichkeit über diesen zu kommunizieren. Somit kann über dem offenen Port eine Verbindung aufgebaut werden.

 

Was ist ein geschlossener Port?

Bei einem geschlossenen Port kann keine Verbindung zustande kommen, da entweder keine Anwendung diesen Port verwendet oder weil dieser durch eine Firewall geschützt ist. Sollte es zu einem Verbindungsversuch kommen wird dieser durch den geschlossenen Port abgelehnt.

 

Was ist ein geblockter Port?

Mithilfe einer Firewall ist es möglich bestimmte Ports zu blockieren. Dadurch wird die Anfrage weder bestätigt (Port ist geöffnet), noch abgelehnt (Port ist geschlossen). Im Allgemeinen werden in einer Firewall bestimmte Ports geöffnet und andere blockiert, um eine Kommunikation und böswillige Absichten zu verhindern.

 

Wie kann ich die Ports überprüfen?

Um die Ports des eigenen Computers zu überprüfen, muss zunächst die Kommandozeile geöffnet werden. Anschließend muss der Befehl netstat -ano eingegeben und mit der Enter Taste bestätigt werden. Dieser Befehl listet alle offenen TCP und UDP Ports auf. Zusätzlich zeigt dieser Befehl hergestellte Verbindungen an.

 

 

 

 

 

In der linken Spalte ist das eingesetzte Protokoll zu erkennen. Hier im Beispiel ist TCP im Einsatz. Rechts daneben befindet sich die lokale Adresse. Vor den Doppelpunkten befindet sich die IP-Adresse, hinter den Doppelpunkten steht der entsprechende Port. Der Port 80 wurde rot markiert und ist für die http Übertragung gedacht. Ganz rechts ist der Status der lokalen Adresse ersichtlich.

Die gelb markierten Verbindungen besitzen den Port 443. Dieser ist für die HTTPS Verbindung zuständig. Bei den gelb markierten Verbindungen im unteren Bereich handelt es sich um die Clients. Erkennbar an dem Status der Verbindung. Zusätzlich besetzen die Clients meist Ports im dynamischen Bereich zwischen 49152 bis 65535.