端口号的理解
端口:一般我們所說的端口都會與網絡有關,將其分為物理端口和邏輯端口兩種。
物理端口:指的就是我們的電腦上的物理接口,比如說連接路由器的接口,集線器接口(如果有的話)等等。
邏輯端口:是指電腦中用于區分網絡服務的接口,比如用于瀏覽網頁服務的80端口,用于FTP服務的21端口等。由于端口眾多,我們就對相應的端口進行了編號,端口號的范圍從0-65535。如果一個軟件擁有多于一個的端口號,說明該軟件的網絡功能不止一個。
為了使得網絡功能更好更快捷,更有針對性的實現,我們將端口號進行了一些劃分:
0-1023:公認端口號,即已經公認定義或為將要公認定義為軟件保留的,例如80端口用于網頁的瀏覽,20和21用于FTP請求等。
1024-65535:是沒有公共定義的端口號,用戶可以自己定義這些端口的作用。
下面舉例說明:
1、當一臺電腦啟動微信(或者QQ),那么它就要開啟至少一個端口號來讓外界訪問,要不然我們就無法同其他人聯系。我們可以把沒有開啟端口號的電腦看作是一個密封的房間,密封的房間當然不可能接受外界的訪問,所以當系統開啟了微信程序后它自然需要在房間上開一個窗口來接受來自外界的訪問,這個窗口就是端口。
2、為什么要用端口編號來區分它們呢,既然一個程序開了一個端口,那么是不是外部信息都可以通過這個開啟的端口來訪問了嗎?答案是不可以。為什么呢?因為數據是用端口號來通知傳輸層協議送給哪個軟件來處理的,數據是沒有智慧的,如果很多軟件共用一個端口來接受數據的話,那么當外界的一個數據包送來后傳輸層就不知道該把數據返回給誰處理,這樣勢必將導致混亂。 這就好比去政府部門辦事情,你提交了材料之后,去相應的部門等待結果,不要在政府大門等結果是一個道理,因為你的處理結果會被放在指定的地方(端口)。
總結
- 上一篇: 如何将本地代码使用Git上传至Githu
- 下一篇: URL(统一资源定位符)