子网掩码
子網掩碼
from: http://baike.baidu.com/view/878.htm
子網掩碼(subnet mask) 又叫網絡掩碼、地址掩碼、子網絡遮罩,它是一種用來指明一個IP地址 的哪些位標識的是主機所在的子網以及哪些位標識的是主機的位掩碼。子網掩碼不能單獨存在,它必須結合IP 地址一起使用。子網掩碼只有一個作用,就是將某個IP 地址劃分成網絡地址和主機地址兩部分。
子網掩碼 (subnet mask) 是每個網管必須要掌握的基礎知識,只有掌握它,才能夠真正理解 TCP/IP協議 的設置。以下我們就來深入淺出地講解什么是子網掩碼。
IP 地址的結構
要想理解什么是子網掩碼,就不能不了解 IP 地址的構成。互聯網是由許多小型網絡構成的,每個網絡上都有許多主機,這樣便構成了一個有層次的結構。 IP 地址在設計時就考慮到地址分配的層次特點,將每個 IP 地址都分割成網絡號和主機號兩部分,以便于 IP 地址的尋址操作。
IP 地址的網絡號和主機號各是多少位呢?如果不指定,就不知道哪些位是網絡號、哪些是主機號,這就需要通過子網掩碼來實現。
子網掩碼的設定必須遵循一定的規則。與 IP 地址相同,子網掩碼由 1 和 0 組成,且 1 和 0 分別連續。子網掩碼的長度也是 32 位,左邊是 網絡 位, 用二進制數字 “1” 表示, 1 的數目等于網絡位的長度;右邊是主機位,用二進制數字 “0” 表示, 0 的數目等于主機位的長度。這樣做的目的是為了讓掩碼與 ip 地址做 AND 運算時用 0 遮住原主機數,而不改變原網絡段數字,而且很容易通過 0 的位數確定子網的主機數( 2 的主機位數次方 -2 ,因為主機號全為 1 時表示該 網絡廣播地址,全為 0 時表示該網絡的網絡號,這是兩個特殊地址)。只有通過子網掩碼,才能表明一臺主機所在的子網與其他子網的關系,使網絡正常工作。
子網掩碼的術語是擴展的 網絡前綴 碼不是一個地址,但是可以確定一個網絡層地址哪一部分是 網絡號 ,哪一部分是主機號, 1 的部分代表網絡號,掩碼為 0 的部分代表主機號。子網掩碼的作用就是獲取主機 IP 的網絡地址信息,用于區別主機通信不同情況,由此選擇不同路由。其中 A類地址 的默認子網掩碼為 255.0.0.0 ; B類地址 的默認子網掩碼為 255.255.0.0 ; C類地址 的默認子網掩碼為: 255.255.255.0 。
子網和子網掩碼的作用
子網的作用
使用子網是為了減少 IP 的浪費。因為隨著互聯網的發展,越來越多的網絡產生,有的網絡多則幾百臺,有的只有區區幾臺,這樣就浪費了很多 IP 地址,所以要劃分子網。
子網掩碼的作用
通過 IP 地址的二進制與子網掩碼的二進制進行與運算,確定某個設備的網絡地址和主機號,也就是說通過子網掩碼分辨一個網絡的網絡部分和主機部分。子網掩碼一旦設 置,網絡地址和主機地址就固定了。子網一個最顯著的特征就是具有子網掩碼。與 IP 地址相同,子網掩碼的長度也是 32 位,也可以使用十進制的形式。例如,為 二進制形式的子網掩碼: 1111 1111.1111 1111.1111 1111.0000 0000 ,采用十進制的形式為: 255.255.255.0 。
子網掩碼的概念
子網掩碼是一個 32 位地址,是與 IP 地址結合使用的一種技術。它的主要作用有兩個,一是用于屏蔽 IP 地址的一部分以區別網絡標識和主機標識,并說明該 IP 地址是在局域網上,還是在遠程網上。二是用于將一個大的 IP 網絡劃分為若干小的子網絡。
確定子網掩碼數
用于子網掩碼的位數決定于可能的子網數目和每個子網的主機數目。在定義子網掩碼前,必須弄清楚本來使用的子網數和主機數目。
定義子網掩碼的步驟為:
A 、確定哪些組地址歸我們使用。比如我們申請到的網絡號為 “210.73.a.b” ,該網絡地址為 C 類 IP 地址,網絡標識為 “210.73.a” ,主機標識為 “.b” 。
B 、根據我們現在所需的子網數以及將來可能擴充到的子網數,用宿主機的一些位來定義子網掩碼。 比如我們現在需要 12 個子網,將來可能需要 16 個。用第四個字節的前四位確定子網掩碼。前四位都置為 “1” (即把第四字節的最后四位作為主機位,其實在這 里有個簡單的規律,非網絡位的前幾位置 1 原網絡就被分為 2 的幾次方個網絡,這樣原來網絡就被分成了 2 的 4 次方 16 個子網),即第四個字節為 “11110000” ,這個數我們暫且稱作新的二進制子網掩碼。
C 、把對應初始網絡的各個位都置為 “1” ,即前三個字節都置為 “1” ,第四個字節低四位置為 “0” ,則子網掩碼的間斷二進制形式為: “11111111.11111111.11111111.11110000”
D 、把這個數轉化為間斷十進制形式為: “255.255.255.240”
這個數為該網絡的子網掩碼。
一、利用子網數來計算
在求子網掩碼之前必須先搞清楚要劃分的子網數目,以及每個子網內的所需主機數目。
1) 將子網數目轉化為二進制來表示
2) 取得該二進制的位數,為 N
3) 取得該 IP 地址的類子網掩碼,將其主機地址部分的的前 N 位置 1 即得出該 IP 地址劃分子網的子網掩碼。
如欲將 B 類 IP 地址 168.195.0.0 劃分成 27 個子網:
1)27=11011
2) 該二進制為五位數, N = 5
3) 將 B 類地址的子網掩碼 255.255.0.0 的主機地址前 5 位置 1 ,得到 255.255.248.0
即為劃分成 27 個子網的 B 類 IP 地址 168.195.0.0 的子網掩碼。
二、利用主機數來計算
1) 將主機數目轉化為二進制來表示
2) 如果主機數小于或等于 254 (注意去掉保留的兩個 IP 地址),則取得該主機的二進制位數,為 N ,這里肯定 N<8 。如果大于 254 ,則 N>8 ,這就是說主機地址將占據不止 8 位。
3) 使用 255.255.255.255 來將該類 IP 地址的主機地址位數全部置 1 ,然后從后向前的將 N 位全部置為 0 ,即為子網掩碼值。
如欲將 B 類 IP 地址 168.195.0.0 劃分成若干子網,每個子網內有主機 700 臺:
1) 700=1010111100
2) 該二進制為十位數, N = 10
3) 將該 B 類地址的子網掩碼 255.255.0.0 的主機地址全部置 1 ,得到 255.255.255.255
然后再從后向前將后 10 位置 0, 即為: 11111111.11111111.11111100.00000000
即 255.255.252.0 。這就是該欲劃分成主機為 700 臺的 B 類 IP 地址 168.195.0.0 的子網掩碼。
IP 掩碼的標注
A 、無子網的標注法
對無子網的 IP 地址,可寫成主機號為 0 的掩碼。如 IP 地址 210.73.140.5 ,掩碼為 255.255.255.0 ,也可以缺省掩碼,只寫 IP 地址。
B 、有子網的標注法
有子網時,一定要二者配對出現。以 C 類地址為例。
( 以下一段沒有指定掩碼為 27 位 , 在掩碼為 27 位的情況下才成立 ~~)
1.IP 地址中的前 3 個字節表示網絡號,后一個字節既表明子網號,又說明主機號,還說明兩個 IP 地址是否屬于同一個 網段 。 如果屬于同一網絡區間,這兩個地址間的信息交換就不通過路由器。如果不屬同一網絡區間,也就是子網號不同,兩個地址的信息交換就要通過路由器進行。例如: 對于 IP 地址為 210.73.140.5 的主機來說,其主機標識為 00000101 ,對于 IP 地址為 210.73.140.16 的主機來說它的主機標識為 00010000 ,以上兩個主機標識的前面三位全是 000 ,說明這兩個 IP 地址在同一個網絡區域中,這兩臺主機在交換信息時不需要通過路由器進行。 210.73.60.1 的主機標識為 00000001 , 210.73.60.252 的主機標識為 11111100 ,這兩個主機標識的前面三位 000 與 111 不同,說明二者在不同的網絡區域,要交換信息需要通過路由器。其子網上主機號各為 1 和 252 。
2. 掩碼的功用是說明有子網和有幾個子網,但子網數只能表示為一個范圍,不能確切講具體幾個子網,掩碼不說明具體子網號,有子網的掩碼格式 ( 對 C 類地址 ) 。
子網掩碼的表示方法
子網掩碼通常有以下 2 種格式的表示方法:
1. 通過與 IP 地址格式相同的點分十進制表示
如: 255.0.0.0 或 255.255.255.128
2. 在 IP 地址后加上 "/" 符號以及 1-32 的數字,其中 1-32 的數字表示子網掩碼中網絡標識位的長度
如: 192.168.1.1/24 的子網掩碼也可以表示為 255.255.255.0
子網掩碼和 ip 地址的關系
以下均為 C 類網
子網掩碼是用來判斷任意兩臺計算機的 IP 地址是否屬于同一子網絡的根據。
最為簡單的理解就是兩臺計算機各自的 IP 地址與子網掩碼進行 AND 運算后,如果得出的結果是相同的,則說明這兩臺計算機是處于同一個子網絡上的,可以進行直接的通訊。就這么簡單。
運算示例
運算演示之一: aa
I P 地址 192.168.0.1
子網掩碼 255.255.255.0
AND 運算 (AND 運算法則: 1 與 1 = 1 ,1 與 0 = 0 ,0 與 1 = 0 ,0 與 0 = 0 , 即當對應位均為 1 時結果為 1 ,其余為 0 。 )
轉化為二進制進行運算:
I P 地址 11000000.10101000.00000000.00000001
子網掩碼 11111111.11111111.11111111.00000000
AND 運算
11000000.10101000.00000000.00000000
轉化為十進制后為:
192.168.0.0
運算演示之二:
I P 地址 192.168.0.254
子網掩碼 255.255.255.0
AND 運算
轉化為二進制進行運算:
I P 地址 11000000.10101000.00000000.11111110
子網掩碼 11111111.11111111.11111111.00000000
AND 運算
11000000.10101000.00000000.00000000
轉化為十進制后為:
192.168.0.0
運算演示之三:
I P 地址 192.168.0.4
子網掩碼 255.255.255.0
AND 運算
轉化為二進制進行運算:
I P 地址 11000000.10101000.00000000.00000100
子網掩碼 11111111.11111111.11111111.00000000
AND 運算
11000000.10101000.00000000.00000000
轉化為十進制后為:
192.168.0.0
通過以上對三組計算機 IP 地址與子網掩碼的 AND 運算后,我們可以看到它運算結果是一樣的。均為 192.168.0.0
所以計算機就會把這三臺計算機視為是同一子網絡,然后進行通訊的。我現在單位使用的 代理服務器 ,內部網絡就是這樣規劃的。
也許你又要問,這樣的子網掩碼究竟有多少個 IP 地址可以用呢?你可以這樣算。
根據上面我們可以看出,局域網內部的 ip 地址是我們自己規定的(當然和其他的 ip 地址是一樣的),這個是由子網掩碼決定的通過對 255.255.255.0 的分析。可得出:
前三位 IP 碼由分配下來的數字就只能固定為 192.168.0 所以就只剩下了最后的一位了,那么顯而易見了, ip 地址只能有( 2 的 8 次方 -2 ),即 256-2=254 ,一般主機地址全為 0 或者 1 (二進制)有其特殊的作用。
那么你可能要問了 : 如果我的子網掩碼不是 255.255.255.0 呢?你也可以這樣做啊假設你的子網掩碼是 255.255.128.0
那么你的局域網內的 ip 地址的前兩位肯定是固定的了
這樣,你就可以按照下邊的計算來看看同一個子網內到底能有多少臺機器
1 、十進制 128 = 二進制 1000 0000
2 、 IP 碼要和子網掩碼進行 AND 運算
3 、
I P 地址 11000000.10101000.1*******.********
子網掩碼 11111111.11111111.10000000.00000000
AND 運算
11000000.10101000.10000000.00000000
轉化為十進制后為:
192 . 168. 128 . 0
4 、可知我們內部網可用的 IP 地址為:
11000000.10101000.10000000.00000000
到
11000000.10101000.11111111.11111111
( 也可以是: 11000000.10101000.00000000.00000000 到 11000000.10101000.01111111.11111111)
5 、轉化為十進制:
192 . 168.128.0 到 192 . 168.255.255 (或者 192.168.0.0 到 192.168.127.255 )
6 、 0 和 255 通常作為網絡的內部特殊用途。通常不使用。
7 、于是最后的結果如下:我們單位所有可用的 IP 地址為:
192.168.128.1-192.168.128.254
192.168.129.1-192.168.129.254
192.168.130.1-192.168.130.254
192.168.131.1-192.168.131.254
. . . . . . . . . . . . .
192.168.139.1-192.168.139.254
192.168.140.1-192.168.140.254
192.168.141.1-192.168.141.254
192.168.142.1-192.168.142.254
192.168.143.1-192.168.143.254
. . . . . . . . . . . . .
192.168.254.1-192.168.254.254
192.168.255.1-192.168.255.254
8 、總數為 (255-128+1)*(254-1+1) =128 * 254 = 32512
子網內包含的機器數目應該是 2^n-2 ,比如說上面的子網掩碼是 255.255.128.0 , 那么他的網絡號是 17 位,主機號是 15 位,只要主機號不全是 0 或者 1 就是可以的,所以 ip 地址是 192.168.192.0(11000000.10101000.11000000.00000000) 也允許,除掉全 0 全 1 ,結果為 2^15-2=32766, 上面的落了好多地址
9 、看看的結果是否正確
(1) 、設定 IP 地址為 192.168.128.1
Ping 192.168.129.233 通過測試
訪問 http://192.168.129.233 可以顯示出主頁
(2) 、設定 IP 地址為 192.168.255.254
Ping 192.168.255.254 通過測試
訪問 http://192.168.255.254 可以顯示出主頁
10 、結論
以上證明我們的結論是對的。
現在你就可以看你的子網中能有多少臺機器了
255.255.255.128
分解:
11111111.11111111.11111111.10000000
所以你的內部網絡的 ip 地址只能是
xxxxxxxx.xxxxxxxx.xxxxxxxx.0???????
到
xxxxxxxx.xxxxxxxx.xxxxxxxx.01111111
子網掩碼
網間網技術
子網 TCP/IP 網間網技術產生于大型主流機環境中,它能發展到今天的規模是當初的設計者們始料未及的。網間網規模的迅速擴展對 IP 地址模式的威脅并不 是它不能保證主機地址的唯一性,而是會帶來兩方面的負擔:第一,巨大的網絡地址管理開銷;第二,網關尋徑急劇膨脹。其中第二點尤為突出,尋徑表的膨脹不僅 會降低網關尋徑效率(甚至可能使尋徑表溢出,從而造成尋徑故障),更重要的是將增加內外部路徑刷新時的開銷,從而加重網絡負擔。
因此,迫切需要尋求新的技術,以應付網間網規模增長帶來的問題。仔細分析發現,網間網規模的增長在內部主要表現為網絡地址的增減,因此解決問題的思路集中在:如何減少網絡地址。于是 IP 網絡地址的多重復用技術應運而生。
通過復用技術,使若干物理網絡共享同一 IP 網絡地址,無疑將減少網絡地址數。
子網編址技術
子網編址( subnet addressing )技術,又叫子網尋徑( subnet routing ),英文簡稱 subnetting ,是最廣泛使用的 IP 網絡地址復用方式,目前已經標準化,并成為 IP 地址模式的一部分。一般的, 32 位的 IP 地址分為兩部分,即網絡號和主機號,我們分別把他們叫做 IP 地址的 “ 網間網部分 ” 和 “ 本地部分 ” 。子網編址技術將本地部分進一步劃分為 “ 物理網絡 ” 部 分和 “ 主機 ” 部分,如圖:網間網部分物理網絡主機
|← 網間網部分 →|←———— 本地部分 —————→|
|← 物理網絡 →|←— 主機部分 ——→|
其中 “ 物理網絡 ” 用于標識同一 IP 網絡地址下的不同物理網絡即是 “ 子網 ” 。
(2) 子網掩碼 IP 協議標準規定:每一個使用子網的網點都選擇一個 32 位的位模式,若位模式中的某位置 1 ,則對應 IP 地址中的某位為網絡地址(包括網間網部分和物理網絡號)中的一位;若位模式中的某位置 0 ,則對應 IP 地址中的某位為主機地址中的一位。例如位模式:
11111111 11111111 11111111 00000000 中,前三個字節全 1 ,代表對應 IP 地址中最高的三個字節為網絡地址;后一個字節全 0 ,代表對應 IP 地址中最后的一個字節為主機地址。這種 位模式叫做子網模( subnet mask )或 “ 子網掩碼 ” 。
為了使用的方便,常常使用 “ 點分整數表示法 ” 來表示一個 IP 地址和子網掩碼,例如 c 類地址子網 掩碼( 11111111 11111111 11111111 00000000 )為: 255.255.255.0 IP 協議關于子網掩碼的定義提供一種有趣的靈活性,允許子網掩碼中的 “0” 和 “1” 位不連續。但是,這樣的子網掩碼給分配主機地址和理解尋徑表都帶來一定 困難,并且,極少的路由器支持在子網中使用低序或無序的位,因此在實際應用中通常各網點采用連續方式的子網掩碼。像 255.255.255.64 和 255.255.255.160 等一類的子網掩碼不推薦使用。
(3) 子網掩碼與 IP 地址結合使用,可以區分出一個網絡地址的網絡號和主機號。
例如:有一個 C 類地址為: 192 . 9 . 200 . 13 其缺省的子網掩碼為: 255 . 255 . 255 . 0 則它的網絡號和主機號可按如下方法得到:
① 將 IP 地址 192 . 9 . 200 . 13 轉換為二進制 11000000 00001001 11001000 00001101
② 將子網掩碼 255 . 255 . 255 . 0 轉換為二進制 11111111 11111111 11111111 00000000
③ 將兩個二進制數邏輯與( AND )運算后得出的結果即為網絡部分
11000000 00001001 11001000 00001101 AND 11111111 11111111 11111111 00000000
11000000 00001001 11001000 00000000 結果為 192.9.200.0 ,即網絡號為 192.9.200.0 。
④ 將子網掩碼取反再與 IP 地址邏輯與( AND )后得到的結果即為主機部分 11000000 00001001 11001000 00001101 AND 00000000 00000000 00000000 11111111 結果為 00000000 00000000 00000000 00001101 轉化為十進制得到 0.0.0 .13 ,即主機號為 13 。
子網掩碼的分類
子網掩碼一共分為兩類。一類是缺省(自動生成)子網掩碼,一類是自定義子網掩碼。缺省子網掩碼即未劃分子網,對應的網絡號的位 [1] [2] 都置 1 ,主機號都置 0 。
A 類網絡缺省子網掩碼: 255.0.0.0
B 類網絡缺省子網掩碼: 255.255.0.0
C 類網絡缺省子網掩碼: 255.255.255.0
自定義子網掩碼是將一個網絡劃分為幾個子網,需要每一段使用不同的網絡號或子網號,實際上我們可以認為是將主機號分為兩個部分:子網號、子網主機號。 形式如下:
未做 子網劃分 的 ip 地址:網絡號+主機號
做子網劃分后的 ip 地址:網絡號+子網號+子網主機號
也就是說 ip 地址在化分子網后,以前的主機號位置的一部分給了子網號,余下的是子網主機號。子 網掩碼是 32 位二進制數,它的子網主機標識用部分為全 “0” 。利用子網掩碼可以判斷兩臺主機是否中同一子網中。若兩臺主機的 IP 地址分別與它們的子網掩碼 相 “ 與 ” 后的結果相同,則說明這兩臺主機在同一子網中。
可變長子網掩碼
可變長子網掩碼 (VLSM) 的作用 : 節約 IP 地址空間 ; 減少路由表大小 . 使用 VLSM 時 , 所采用的路由協議必須能夠支持它 , 這些路由協議包括 RIPv2,OSPF,EIGRP 和 BGP. 關于更多的 VLSM 知識 , 可以去 Google 進行搜索
子網掩碼的劃分捷徑
1. 你所選擇的子網掩碼將會產生多少個子網
2 的 x 次方 -2(x 代表掩碼位 , 即 2 進制為 1 的部分,現在的網絡中,已經不需要 -2 ,已經可以全部使用,不過需要加上相應的配置命令,例如 CISCO 路由器需要加上 ip subnet zero 命令就可以全部使用了。 )
2. 每個子網能有多少主機
2 的 y 次方 -2(y 代表主機位 , 即 2 進制為 0 的部分 )
3. 有效子網是
有效子網號 =256-10 進制的子網掩碼 ( 結果叫做 block size 或 base number)
4. 每個子網的廣播地址是
廣播地址 = 下個子網號 -1
5. 每個子網的有效主機分別是
忽略子網內全為 0 和全為 1 的地址剩下的就是有效主機地址 . 最后有效 1 個主機地址 = 下個子網號 -2( 即廣播地址 -1)
總結
- 上一篇: 10年奥迪A4L 运动型36万公里多少钱
- 下一篇: 上海欢乐谷vip免排队票怎么买