Heim >Betrieb und Instandhaltung >Betrieb und Wartung von Linux >Überblick über die Transportschicht: die Beziehung zwischen Ports und Prozessen
Interprozesskommunikation
Die Transportschicht wird auch Transportschicht genannt und ist eine spezielle Schicht. Einerseits gehört es zur höchsten Ebene des Kommunikationsteils, andererseits ist es die unterste Ebene der Benutzerfunktionen. Die Transportschicht wird für die Kommunikation zwischen Prozessen auf verschiedenen Hosts verwendet. Bei Routern, die Pakete weiterleiten, hat sie nur die Funktionen der unteren drei Schichten und verwendet nicht die Transportschicht und höher.
Prozess, also ein laufendes Programm. Wenn unter Linux ein Programm ausgeführt wird, weist das Betriebssystem dem Prozess eine Prozessnummer zu. Mit dem Befehl ps aux können Sie alle Prozesse anzeigen.
# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 51744 2808 ? Ss Jul31 16:06 /usr/lib/systemd/systemd --switched-root --system --deserialize 22 ……
Port
Die Transportschicht von TCP/IP verwendet eine 16-Bit-Portnummer, um einen Port zu markieren, sodass ein Host 65535 Ports haben kann. Diejenigen, die Web-Öffnungen durchgeführt haben, müssen einige häufig verwendete Portnummern kennen, z. B. 80 des Webservers, 3306 des MySQL-Dienstes und andere Ports. Die Prozesse zwischen den beiden Hosts kommunizieren über ihre jeweiligen Portnummern, daher muss der Prozess auch die Funktion haben, den Port abzuhören. Unter Linux lautet der Befehl zum Anzeigen des überwachten Ports netstat -tlunp
# netstat -tulnp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2449/nginx: worker tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 1010/pure-ftpd (SER tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1819/sshd ……
Ports verfügen auch über die Funktionen Multiplexing und Demultiplexing. Multiplexing bedeutet, dass mehrere Anwendungsprozesse des Hosts beim Demultiplexen dieselbe Portnummer für die Kommunikation verwenden können Die von der IP-Schicht erhaltenen Datagramme können über Portnummern an verschiedene Anwendungsprozesse übermittelt werden.
TCP und UDP
Die Transportschicht verfügt nur über zwei Protokolle: Transmission Control Protocol TCP und User Datagram Protocol UDP. Diese beiden Protokolle haben ihre eigenen Eigenschaften und einige Anwendungsszenarien.
TCP ist ein verbindungsorientiertes Protokoll. Vor der Datenübertragung muss eine Verbindung hergestellt werden. TCP ist ein relativ komplexes Protokoll, bei dem viele Faktoren zu berücksichtigen sind. Es kann eine zuverlässige End-to-End-Übertragung ermöglichen, unterstützt jedoch keine Eins-zu-Viele- und Viele-zu-Viele-Kommunikation. Zu den häufig verwendeten TCP-Protokollen gehören das HTTP-Protokoll, das FTP-Protokoll, das Telnet-Protokoll usw.
UDP ist für Pakete gedacht. Es ist relativ einfach und nutzt eher die bestmögliche als die zuverlässige Übertragung. Es kann eine Eins-zu-Eins-, Eins-zu-Viele- und Viele-zu-Viele-Kommunikation durchführen. Zu den gängigen Protokollen, die das UDP-Protokoll verwenden, gehören DHCP-, DNS- und RIP-Protokolle.
Um ihre Eigenschaften zu veranschaulichen, gibt es ein Beispiel: TCP ist wie ein Telefonanruf, vor dem Anruf muss eine Verbindung hergestellt werden. UDP ist wie das Senden einer Textnachricht. Sie müssen den Status des Hosts der anderen Partei nicht kennen, bevor Sie die Textnachricht senden.
Das obige ist der detaillierte Inhalt vonÜberblick über die Transportschicht: die Beziehung zwischen Ports und Prozessen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!