您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關服務器的傳輸層中端口和進程之間有什么關系,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
進程間通信
傳輸層又稱為運輸層,它是比較特殊的一層。一方面,它屬于通信部分的最高層,另一方面,又是用戶功能中的最底層。傳輸層是為不同主機的進程之間進行通信,對于進行分組轉發(fā)的路由器來說,它只有下三層的功能,用不到傳輸層及以上層。
進程,即運行的程序。在linux中,當一個程序運行了,操作系統(tǒng)就會給該進程分配一個進程號??梢杂妹頿s aux來查看所有進程。
# 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 ……
端口
TCP/IP的運輸層用16位端口號來標志一個端口,所以一個主機可以有65535個端口。做過web開放的肯定知道一些常用的端口號,比如:web服務器的80、mysql服務的3306等端口。兩個主機之間的進程是通過各自的端口號來進行通信的,所以,進程還必須具有監(jiān)聽端口的功能。在linux中,查看監(jiān)聽的端口的命令是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 ……
端口還具有復用和分用的功能,復用的指主機的多個應用進程可以使用同一個端口號進行通信,而分用時指從IP層拿到的數(shù)據(jù)報又可以通過端口號交給不同的應用進程。
TCP和UDP
傳輸層只有兩個協(xié)議:傳輸控制協(xié)議TCP以及用戶數(shù)據(jù)報協(xié)議UDP。這兩個協(xié)議有各自的特點,和自己應用的一些場景。
TCP是面向連接的協(xié)議,在傳遞數(shù)據(jù)之前必須先建立連接,不需要進行數(shù)據(jù)傳輸?shù)脑捑托枰獢嚅_連接。TCP是一種比較復雜的協(xié)議,需要考慮許多因素。它可以提供端對端的可靠傳輸,但不支持一對多以及多對多的通信。常見的使用TCP協(xié)議的有HTTP協(xié)議、ftp協(xié)議、telnet協(xié)議等。
UDP是面對報文的,它比較簡單,是盡最大努力而不是可靠的傳輸。它可以進行一對一、一對多以及多對多的通信。常見的使用UDP協(xié)議的協(xié)議有DHCP、DNS、RIP協(xié)議。
有一個例子是用來說明它們的特點的:TCP像是打電話,通話前必須先建立連接。而UDP則像發(fā)短信,短信發(fā)出去前不需要知道對方的主機的狀態(tài),短信發(fā)沒發(fā)出去也是不知道的。
關于“服務器的傳輸層中端口和進程之間有什么關系”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。