linux中的ip地址、子网掩码、端口
ip地址:用來在網絡中標記一臺電腦的一串數字,比如192.168.1.1;在本地局域網上是惟一的。
每一個IP地址包括兩部分:網絡地址和主機地址
?
子網掩碼只有一個作用,就是將某個IP地址劃分成網絡地址和主機地址兩部分子網掩碼的設定必須遵循一定的規則。
與IP地址相同,子網掩碼的長度也是32位,
- 左邊是網絡位,用二進制數字“1”表示;
- 右邊是主機位,用二進制數字“0”表示。
假設IP地址為“192.168.1.1”子網掩碼為“255.255.255.0”。
其中,“1”有24個,代表與此相對應的IP地址左邊24位是網絡號;
“0”有8個,代表與此相對應的IP地址右邊8位是主機號。
這樣,子網掩碼就確定了一個IP地址的32位二進制數字中哪些是網絡號、哪些是主機號。
這對于采用TCP/IP協議的網絡來說非常重要,只有通過子網掩碼,才能表明一臺主機所在的子網與其他子網的關系,使網絡正常工作。
最常用的兩種子網掩碼
子網掩碼是“255.255.255.0”的網絡:
最后面一個數字可以在0~255范圍內任意變化,因此可以提供256個IP地址。
但是實際可用的IP地址數量是256-2,即254個,因為主機號不能全是“0”或全是“1”。
主機號全為0,表示網絡號
主機號全為1,表示網絡廣播
注意
如果將子網掩碼設置過大,也就是說子網范圍擴大,那么,根據子網尋徑規則,很可能發往和本地主機不在同一子網內的目標主機的數據,會因為錯誤的判斷而認為目標主機是在同一子網內,那么,數據包將在本子網內循環,直到超時并拋棄,使數據不能正確到達目標主機,導致網絡傳輸錯誤;如果將子網掩碼設置得過小,那么就會將本來屬于同一子網內的機器之間的通信當做是跨子網傳輸,數據包都交給缺省網關處理,這樣勢必增加缺省網關(文章下方有解釋)的負擔,造成網絡效率下降。因此,子網掩碼應該根據網絡的規模進行設置。如果一個網絡的規模不超過254臺電腦,采用“255.255.255.0”作為子網掩碼就可以了,現在大多數局域網都不會超過這個數字,因此“255.255.255.0”是最常用的IP地址子網掩碼;假如在一所大學具有1500多臺電腦,這種規模的局域網可以使用“255.255.0.0”。
?
端口就好一個房子的門,是出入這間房子的必經之路。
?
如果一個進程需要收發網絡數據,那么就需要有這樣的端口
在linux系統中,端口可以有65536(2的16次方)個之多!
既然有這么多,操作系統為了統一管理,所以進行了編號,這就是端口號
2. 端口號
端口是通過端口號來標記的,端口號只有整數,范圍是從0到65535
3. 端口是怎樣分配的
端口號不是隨意使用的,而是按照一定的規定進行分配。
端口的分類標準有好幾種,我們這里不做詳細講解,只介紹一下知名端口和動態端口
3.1 知名端口(Well Known Ports)
知名端口是眾所周知的端口號,范圍從0到1023
80端口分配給HTTP服務
21端口分配給FTP服務
可以理解為,一些常用的功能使用的號碼是估計的,好比 電話號碼110、10086、10010一樣
?
一般情況下,如果一個程序需要使用知名端口的需要有root權限
3.2 動態端口(Dynamic Ports)
動態端口的范圍是從1024到65535
之所以稱為動態端口,是因為它一般不固定分配某種服務,而是動態分配。
動態分配是指當一個系統進程或應用程序進程需要網絡通信時,它向主機申請一個端口,主機從可用的端口號中分配一個供它使用。
當這個進程關閉時,同時也就釋放了所占用的端口號。
3.3 怎樣查看端口 ?
用“netstat -an”查看端口狀態
4. 小總結
端口有什么用呢?我們知道,一臺擁有IP地址的主機可以提供許多服務,比如HTTP(萬維網服務)、FTP(文件傳輸)、SMTP(電子郵件)等,這些服務完全可以通過1個IP地址來實現。那么,主機是怎樣區分不同的網絡服務呢?顯然不能只靠IP地址,因為IP地址與網絡服務的關系是一對多的關系。實際上是通過“IP地址+端口號”來區分不同的服務的。需要注意的是,端口并不是一一對應的。比如你的電腦作為客戶機訪問一臺WWW服務器時,WWW服務器使用“80”端口與你的電腦通信,但你的電腦則可能使用“3457”這樣的端口。
?
總結
以上是生活随笔為你收集整理的linux中的ip地址、子网掩码、端口的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python进程的回收—wait
- 下一篇: Linux 文件基本属性以及操作技巧