數據鍊路和IP中的地址,分别指的是MAC地址和P地址。前者用來識别同一鍊路中不同的計算機,後者用來識别TCP/IP網絡中互連的主機和路由器。在傳輸層中也有這種類似于地址的概念,那就是端口号。端口号用來識别同一台計算機中進行通信的不同應用程序。因此,它也被稱為程序地址。
根據端口号識别應用
一台計算機上同時可以運行多個程序。例如,接受WWW服務的Web 浏覽器、電郵客戶端、遠程登錄用的 ssh 客戶端等程序都可同時運行。傳輸層協議正是利用這些端口号識别本機中正在進行通信的應用程序,并準确地将數據傳輸。
通過IP地址、端口号、協議号進行通信識别
如下圖所示,①和②的通信是在兩台計算機上進行的。它們的目标端口号相同,都是80。例如打開兩個Web浏覽器,同時訪問兩個服務器上不同的頁面,就會在這個浏覽器跟服務器之間産生類似前面的兩個通信。在這種情況下可以根據源端口号加以區分。①跟③的目标端口号和源端口号完全相同,但是它們各自的源IP地址不同,可以通過源地址進行區分。
此外,還有一種情況,IP地址和端口全都一樣,隻是協議号(表示上層是TCP或UDP的一種編号)不同。這種情況下,也會認為是兩個不同的通信。
因此,TCP/P或UDP/IP通信中通常采用5個信息來識别一個通信。它們是“源P地址”、“目标P地址”、“協議号”、“源端口号”、“目标端口号”。隻要其中某一項不同,則被認為是其他通信。
如何确定端口号
在實際進行通信時,要事先确定端口号。确定端口号的方法分為兩種:
端口号與協議的關系
端口号由其使用的傳輸層協議決定。因此,不同的傳輸協議可以使用相同的端口号。例如,TCP與UDP使用同一個端口号,但使用目的各不相同。這是因為端口号上的處理是根據每個傳輸協議的不同而進行的。
數據到達IP層後,會先檢查IP首部中的協議号,再傳給相應協議的模塊。如果是TCP則傳給TCP模塊、如果是UDP則傳給UDP模塊去做端口号的處理。即使是同一個端口号,由于傳輸協議是各自獨立地進行處理,因此相互之間不會受到影響。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!