這次說說「端口」和「端口號」。
平時經常會聽人說「打開了80號端口」,為了安全「不要打開多余的端口」等等。那么,這里的端口或者端口號是什么呢?
首先,「端口」是TCP或者UDP上使用的概念,經常被比喻成「窗口」。而且,端口號也被比喻成窗口編號。
舉個例子,比如去郵局匯款時,并不是每個窗口都可以匯款的,只有特定的窗口才能辦理匯款業務。所以,每個窗口都會編號。
端口號和上面的情況類似,比如,Web服務器通過HTTP接受通信的時候,是通過Web服務器的80號端口來通信的。
同樣,SMPT使用25號端口來通信,SSH使用22號端口來通信。所以把端口當成「通信的窗口」來考慮也不錯。
此外,客戶端也是用端口來通信的。但是,服務端的端口號基本都是固定的,客戶端的端口基本上每次通信時都會變。
雖然說服務端的端口號都是固定的,實際上只要去配置的話,也可以用其他的端口號來通信。但是,「有的服務器用25號端口來接受HTTP請求,有的服務器用80號端口來接受HTTP請求」的話,
那么每個服務器使用的端口號會顯得很零亂,沒有規律,自然就會帶來混亂。因此,服務器上的端口號做了一定程度的規定。這些被規定的端口號被稱為「Well known ports」。
幾乎所有的服務器都是使用「Well known ports」來進行通信的。前面提到的「SSH服務用的22號端口,HTTP服務用的80號端口」都是Well known ports。
Well known ports 0-1023Registered ports 1024-49151Dynamic and/or PRivate ports 49152-65535
Well known ports是由「Internet Assigned Numbers Authority (IANA)」這個組織管理的。IANA這個組織除了管理Well known ports之外,還專注于ip地址和域名等的標準化。
新聞熱點
疑難解答