Obwohl diese Frage bereits als beantwortet markiert wurde, wollte ich einige der zusätzlichen Fragen beantworten, die im OP gestellt wurden.
Sind diese Ports physische Objekte?
Keine Ports sind keine physischen Objekte.
Eine Portnummer ist eine 16-Bit-Ganzzahl ohne Vorzeichen. Dies bedeutet, dass der Bereich der zur Verwendung verfügbaren Ports zwischen 1 und 65535 liegt (Portnummer 0 ist reserviert und kann nicht verwendet werden). Ein Prozess verknüpft seine Eingabe- oder Ausgabekanäle über Internet-Sockets, eine Art Dateideskriptor, mit einem Transportprotokoll, einer Portnummer und einer IP-Adresse. Dieser Vorgang wird als Bindung bezeichnet und ermöglicht das Senden und Empfangen von Daten über das Netzwerk.
Sind sie in einen Teil meines Computers eingebaut? Sind sie überhaupt etwas Körperliches? Oder in Code geschrieben? Wo ist dieser Code? Das Betriebssystem? Was ist wirklich ein Hafen?
Die Netzwerksoftware des Betriebssystems hat die Aufgabe, ausgehende Daten von allen Anwendungsports in das Netzwerk zu übertragen und ankommende Netzwerkpakete an einen Prozess weiterzuleiten, indem die IP-Adresse und die Portnummer des Pakets abgeglichen werden.
Nur ein Prozess darf mit demselben Transportprotokoll an eine bestimmte Kombination aus IP-Adresse und Port gebunden werden. Häufige Anwendungsfehler, manchmal auch als Portkonflikte bezeichnet, treten auf, wenn mehrere Programme versuchen, mit demselben Protokoll an dieselben Portnummern an derselben IP-Adresse zu binden.
Der obige Absatz ist der Schlüssel zum Verständnis, warum Ports / Protokolle im Netzwerk verwendet werden. Wenn wir nicht die Möglichkeit hätten, das Protokoll anzugeben, das Daten über eine vereinbarte Apon-Portnummer überträgt, könnten Sie nicht mehr als eine Sache gleichzeitig ausführen (überprüfen Sie Ihre E-Mails und nutzen Sie das Internet), da dies auf Ihrem Computer der Fall wäre Es gibt keine Möglichkeit, zwischen Daten für Ihren E-Mail-Client und Daten für die Website, die Sie durchsuchen, zu unterscheiden.
Wie viele Ports gibt es?
Portnummern werden auf verschiedene Arten vergeben, basierend auf drei Bereichen:
Bekannte / System-Ports (0-1023) - Diese Reihe von Ports wird von Systemprozessen verwendet, die weit verbreitete Arten von Netzwerkdiensten bereitstellen (HTTP / 80, HTTPS / 443, Telnet / 21, SSH / 22).
Registrierte / Benutzer-Ports (1024-49151) - Der Bereich der Portnummern von 1024 bis 49151 sind die registrierten Ports. Sie werden von IANA auf Antrag einer anfordernden Stelle für einen bestimmten Dienst zugewiesen. (Webmin / 10000, HTTP-Proxy / 8080, Remotedesktopprotokoll / 3389 usw.)
Vergängliche / dynamische / private Ports (49152-65535) - Der Bereich 49152–65535 enthält dynamische oder private Ports, die nicht bei IANA registriert werden können. Dieser Bereich wird für benutzerdefinierte oder temporäre Zwecke und für die automatische Zuweisung von kurzlebigen Ports verwendet.
Kann ich die Anzahl der Ports erhöhen oder verringern?
Um die Anzahl der verfügbaren Ports zu erhöhen, können Sie aufgrund der Mathematik, mit der das Netzwerk funktioniert (binär), keinen Port über 65535 zuweisen. Die Antwort auf diese Frage lautet also "Nein". Sie können die Gesamtzahl der verfügbaren Ports nicht erhöhen Ports über 65535.
Was sind Protokolle?
In der Informatik ist ein Kommunikationsprotokoll ein System digitaler Regeln für den Nachrichtenaustausch innerhalb oder zwischen Computern. Wenn Nachrichten über ein Computernetzwerk ausgetauscht werden, wird das Regelsystem als Netzwerkprotokoll bezeichnet. Ein Protokoll ist im Grunde ein vereinbarter Satz von Anweisungen / Befehlen / Aufrufen, über die zwei vernetzte Geräte kommunizieren können. Denken Sie, wenn wir uns nicht auf Protokolle geeinigt hätten und Webserver nur zufällig Daten an Webbrowser gesendet hätten, mit denen der Browser nicht umgehen konnte? Glücklicherweise haben wir HTTP, das jeder erstellte Webbrowser in die Software integriert hat, damit er mit jedem Webserver kommunizieren kann, der auch dieselbe Sprache spricht (HTTP).
Ich würde mir vorstellen, dass es sich um eine Art Code handelt. Können Sie Ihr eigenes Protokoll erstellen? In welcher Sprache erstellen Sie ein Protokoll?
Ja, Sie können Ihre eigenen Protokolle erstellen. Protokolle werden in einer Vielzahl von Sprachen geschrieben. Ich bin kein Softwareentwickler, aber ich bin mir ziemlich sicher, dass Sie, solange die von Ihnen verwendete Sprache über Bibliotheken verfügt, Software schreiben können, die über TCP / IP kommunizieren kann (es gibt andere Protokollsuiten, aber TCP / IP ist die meiste weit verbreitet) können Sie diese Sprache verwenden, um ein Protokoll zu schreiben. Die Programmiersprache 'C' scheint am häufigsten zum Schreiben von Protokollen verwendet zu werden. Dies liegt an der Tatsache, dass viele der ersten Netzwerkprotokolle in den 1970er Jahren unter UNIX entwickelt wurden und C zufällig die Sprache ist, in der UNIX selbst geschrieben ist.
Wie kann ein bestimmter Port ein bestimmtes Protokoll ausführen?
Dies unterscheidet sich erheblich zwischen den Betriebssystemen. Um beispielsweise die Portnummer zu ändern, auf der das Remotedesktopprotokoll unter Windows ausgeführt wird, müssen Sie die Registrierung bearbeiten. Unter Linux können viele der Netzwerkdienste direkt aus einer .conf-Datei für einen bestimmten Netzwerkdienst konfiguriert werden.
Wie definieren oder erfinden Sie ein neues Protokoll?
Unter https://journal.paul.querna.org/articles/2012/02/22/designing-network-protocols/ finden Sie einen Blogbeitrag von jemandem, der kürzlich ein neues Netzwerkprotokoll entwickelt hat und welche Art von Dingen er tun musste nach dem Weg.