計算機端口(英文port)是計算機與外界通訊交流的出口。本文所指的端口不是硬件端口,是指網絡中的面向連接服務和無連接服務的通信協議端口。
面向連接服務就像打電話,如果要通電話,必須先建立連接即撥號,等待應答後才能相互傳遞信息,最後還要釋放連接即掛電話。
面向無連接服務就像寫信。地址姓名填好以後直接往郵筒一扔,收信人就能收到。
互聯網中計算機之間的通訊基於TCP/IP協議,每台互聯網上的計算機都有一個IP地址,有了IP地址,應用程序(調入內存運行後一般稱為進程)即可向其他計算機發送數據。但是接收數據的計算機如何確定哪個程序處理發過來的數據?基於這個問題就有了端口號。互聯網上的每一個數據包的傳輸都需要知道接收者的IP地址和接收數據的服務的端口號。
網絡中可以被命名和尋址的通信端口是操作系統的一種可分配資源。類似於文件描述符,每個端口都擁有一個叫端口號的整數描述符,用來區別不同的端口。端口號有兩種基本分配方式:第一種叫全局分配,這是一種集中分配方式,由一個公認權威的中央機構根據用戶需要進行統一分配,並將結果公佈於眾。第二種是本地分配,又稱動態連接,即進程向本地操作系統提出申請,操作系統返回本地唯一的端口號,進程再通過合適的系統調用,將自己和該端口連接起來。每一個標準服務器都擁有一個全局公認的端口叫周知口,即使在不同的機器上,其端口號也相同。剩餘的為自由端口,以本地方式進行分配。小於256的端口才能作為保留端口。
按端口號可分為3大類:
(1)公認端口(Well Known Ports):從0到1023,它們緊密綁定(binding)於一些服務。通常這些端口的通訊明確表明了某種服務的協議。例如:80端口實際上總是HTTP通訊。
(2)註冊端口(Registered Ports):從1024到49151。它們鬆散地綁定於一些服務。也就是說有許多服務綁定於這些端口,這些端口同樣用於許多其他目的。例如:許多系統處理動態端口從1024左右開始。
(3)動態和/或私有端口(Dynamic and/or Private Ports):從49152到65535。理論上,不應為服務分配這些端口。實際上,機器通常從1024起分配動態端口。
系統管理員可以「重定向」端口,一個端口可被重定向到另一個地址。例如默認的HTTP端口是80,不少人將它重定向到另一個端口,如8080。鏈接可這樣給出:http://www.aaa.net:8080/bbb/ccc.htm
實現重定向是為了隱藏公認的默認端口,降低被攻擊率,因為要對一個公認的默認端口進行攻擊則必須先進行端口掃瞄。同樣POP的端口原來是110,也常被重定向到1100。◇
-------------------
局勢持續演變
與您見證世界格局重塑
-------------------
🔔下載大紀元App 接收即時新聞通知:
🍎iOS:https://bit.ly/epochhkios
🤖Android:https://bit.ly/epochhkand
📰周末版實體報銷售點👇🏻
http://epochtimeshk.org/stores