子網掩碼,也稱為網絡掩碼、地址掩碼和子網掩碼,是一種位掩碼,用于指示IP地址的哪些位標識主機所在的子網,哪些位標識主機。子網掩碼不能單獨存在,必須與IP地址一起使用。子網掩碼只有一個功能,就是把一個IP地址分成兩部分:網絡地址和主機地址。
我們可以在cmd中輸入“ipconfig”來查看我們的IP地址和其他信息
假設你的IP地址是:192.168.42.217
子網掩碼是:25.255.255.0
IP地址由網絡地址和主機地址組成。子網掩碼中由“.”分隔的第四個單元圖中是0,這意味著IP地址的最后一個字節表示為主機地址。
IP地址網絡位和主機位的不同組合有不同的分類。對于A類地址,默認子網掩碼為255 . 0 . 0 . 0;B類地址的默認子網掩碼是255 . 255 . 0 . 0;C類地址的默認子網掩碼是255.255.255.0。
子網掩碼是每個使用互聯網的人都必須掌握的基礎知識。只有掌握了,才能真正理解TCP/IP協議的設置。
子網掩碼——“全1”位模式,用于屏蔽IP地址的網絡部分。對于A類地址,默認子網掩碼為255 . 0 . 0 . 0;B類地址的默認子網掩碼是255 . 255 . 0 . 0;C類地址的默認子網掩碼是255.255.255.0。
使用子網掩碼,大型網絡可以劃分為子網,即VLSM(可變長度子網掩碼),小型網絡可以合并為大型網絡,即超網。
想要了解什么是子網掩碼,就要了解IP地址的構成?;ヂ摼W是由許多小網絡組成的,每個網絡都有許多主機,從而形成一個層次結構。在設計IP地址時,考慮到地址分配的分層特點,將每個IP地址分為網絡號和主機號兩部分,以方便IP地址的尋址操作。
IP地址的網絡號和主機號是多少位?如果不指定,就不知道哪些位是網絡號,哪些位是主機號,需要通過子網掩碼來實現。
子網掩碼的設置必須遵循一定的規則。與二進制IP地址一樣,子網掩碼由1和0組成,1和0分別是連續的。子網掩碼的長度也是32位,左邊是網絡位,用二進制數‘1’表示,1的個數等于網絡位的長度;右邊是主機位,用二進制數‘0’表示,零的個數等于主機位的長度。這樣做的目的是在掩碼和ip地址之間進行按位AND運算時,在不改變原網段號的情況下,用0來覆蓋原主機號,很容易通過0的位數來確定子網的主機號(主機號2的冪被提升到-2,因為當所有主機號都為1時,表示網絡廣播地址,當所有主機號都為0時,表示網絡的網絡號,這是兩個特殊的地址)。只有通過子網掩碼,才能顯示出一臺主機所在的子網與其他子網的關系,使網絡能夠正常工作。
子網掩碼的位數取決于可能的子網數量和每個子網的主機數量。在定義子網掩碼之前,您必須知道使用的子網和主機數量。
定義子網掩碼的步驟是:
確定我們應該使用哪個組地址。比如我們申請的網絡號是‘210.73 . a . B’,網絡地址是一個C類IP地址,網絡標識是‘210.73 . a’,主機標識是‘B’。
b .根據我們需要的子網數量和將來可能擴展到的子網數量,使用主機的一些位來定義子網掩碼。比如我們需要12個子網,未來可能需要16個子網。使用第四個字節的前四位來確定子網掩碼。前四位都設置為‘1’,也就是第四個字節為‘11110000’,暫時稱為新的二進制子網掩碼。
將初始網絡對應的所有位設置為‘1’,即前三個字節都設置為‘1’,那么子網掩碼的不連續二進制形式為:‘111111111111’。
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的主機地址的前五位設置為1(B類地址的主機位包括最后兩個字節,所以這里將第三個字節的前五位設置為1),得到255.255.248.0
即b類IP地址168.195.0.0的子網掩碼分為27個子網(實際上分為32-2=30個子網)。
本段介紹了舊標準下的計算方法。老標準后面會介紹。新標準里,可以先從27減去1。因為計算機是從0開始計算的,所以從0到27實際上有28個,所以如果你需要27,你需要從27中減去1。
按主機數量計算
1)將主機數量轉換為二進制表示
2)如果主機數量小于等于254(注意去掉預留的兩個IP地址),則得到主機的二進制數,即N,這里一定是N8。如果大于254,則是N8,這意味著主機地址將占用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的子網掩碼。
子網ID增量計算法(即計算每個子網的IP范圍)
其基本計算步驟如下:
第1步,將所需的子網數轉換為二進制,如所需劃分的子網數為”4″,則轉換成成二進制為00000100;
第2步,取子網數的二進制中有效位數,即為向缺省子網掩碼中加入的位數(既向主機ID中借用的位數)。如前面的00000100,有效位為”100″,為3位(在新標準中只需要2位就可以了);
第3步,決定子網掩碼。如IP地址為B類129.20.0.0網絡,則缺省子網掩碼為:255.255.0.0,借用主機ID的3位以后變為:255.255.224(11100000).0,即將所借的位全表示為1,用作子網掩碼。
第4步,將所借位的主機ID的起始位段最右邊的”1″轉換為十進制,即為每個子網ID之間的增量,如前面的借位的主機ID起始位段為”11100000″,最右邊的”1″,轉換成十進制后為2^5=32(此為子網ID增量)。
第5步,產生的子網ID數為:2^m-2 (m為向缺省子網掩碼中加入的位數),如本例向子網掩碼中添加的位數為3,則可用子網ID數為:2^3-2=6個;
第6步,將上面產生的子網ID增量附在原網絡ID之后的第一個位段,便形成第一個子網網絡ID 129.20.32.0(即第一個子網的起始IP段);
第7步,重復上步操作,在原子網ID基礎上加上一個子網ID增量,依次類推,直到子網ID中的最后位段為缺省子網掩碼位用主機ID位之后的最后一個位段值,這樣就可得到所有的子網網絡ID。如缺省子網掩碼位用主機ID位之后的子網ID為255.255.224.0,其中的”224″為借用主機ID后子網ID的最后一位段值,所以當子網ID通過以上增加增量的方法得到129.20.224.0時便終止,不要再添加了(只能用到129.20.192.0)。
我們知道當主機ID為全0時表示網絡ID,全1時表示廣播地址。在RFC950標準中,不建議使用全0和全1的子網ID。
例如把最后一個字節的前3位借給網絡ID,用后面的5位來表示主機ID,這樣就會產生2^3=8個子網,子網ID就分別為000、001、010、011、100、101、110、111這樣8個,在RFC950標準中只能使用中間的6個子網ID。
這么做的原因是:
設我們有一個網絡:192.168.0.0/24(即子網掩碼的前24位為1,255.255.255.0),我們需要兩個子網,那么按照RFC950,應該使用/26而不是/25,得到兩個可以使用的子網192.168.0.64和192.168.0.128
對于192.168.0.0/24,網絡地址是192.168.0.0,廣播地址是192.168.0.255
對于192.168.0.0/26,網絡地址是192.168.0.0,廣播地址是192.168.0.63
對于192.168.0.64/26,網絡地址是192.168.0.64,廣播地址是192.168.0.127
對于192.168.0.128/26,網絡地址是192.168.0.128,廣播地址是192.168.0.191
對于192.168.0.192/26,網絡地址是192.168.0.192,廣播地址是192.168.0.255
你可以看出來,對于第一個子網,網絡地址和主網絡的網絡地址是重疊的,對于最后一個子網,廣播地址和主網絡的廣播地址也是重疊的。在CIDR流行以前,這樣的重疊將導致極大的混亂。比如,一個發往192.168.0.255的廣播是發給主網絡的還是子網的這就是為什么在當時不建議使用全0和全1子網。在今天,CIDR已經非常普及了,所以一般不需要再考慮這個問題。
子網掩碼是一個32位地址,是與IP地址結合使用的一種技術。它的主要作用有兩個,一是用于屏蔽IP地址的一部分以區別網絡標識和主機標識,并說明該IP地址是在局域網上,還是在遠程網上。二是用于將一個大的IP網絡劃分為若干小的子網絡。
使用子網是為了減少IP的浪費。因為隨著互聯網的發展,越來越多的網絡產生,有的網絡多則幾百臺,有的只有區區幾臺,這樣就浪費了很多IP地址,所以要劃分子網。使用子網可以提高網絡應用的效率。
通過IP 地址的二進制與子網掩碼的二進制進行與運算,確定某個設備的網絡地址和主機號,也就是說通過子網掩碼分辨一個網絡的網絡部分和主機部分。子網掩碼一旦設置,網絡地址和主機地址就固定了。子網一個最顯著的特征就是具有子網掩碼。與IP地址相同,子網掩碼的長度也是32位,也可以使用十進制的形式。例如,為二進制形式的子網掩碼:1111 1111.1111 1111.1111 1111.0000 0000,采用十進制的形式為:255.255.255.0。
通過計算機的子網掩碼判斷兩臺計算機是否屬于同一網段的方法是,將計算機十進制的IP地址和子網掩碼轉換為二進制的形式,然后進行二進制”與”(AND)計算(全1則得1,不全1則得0),如果得出的結果是相同的,那么這兩臺計算機就屬于同一網段。
無子網的標注法
對無子網的IP地址,可寫成主機號為0的掩碼。如IP地址210.73.140.5,掩碼為255.255.255.255,也可以缺省掩碼,只寫IP地址。
有子網的標注法
有子網時,一定要二者配對出現。以C類地址為例。
以下一段指定掩碼為27位(1111 1111, 1111 1111, 1111 1111, 1110 0000=>255.255.255.224
1.IP地址中的前3個字節表示網絡號,后一個字節既表明子網號,又說明主機號,還說明兩個IP地址是否屬于同一個網段。如果屬于同一網絡區間,這兩個地址間的信息交換就不通過路由器。如果不屬同一網絡區間,也就是子網號不同,兩個地址的信息交換就要通過路由器進行。
例如:
對于IP地址為210.73.140.5的主機來說,其主機標識為5=>00000101,
對于IP地址為210.73.140.16的主機來說它的主機標識為16=>00010000,
以上兩個主機標識的前面三位全是000,說明這兩個IP地址在同一個網絡區域中,這兩臺主機在交換信息時不需要通過路由器進行。
210.73.60.1的主機標識為1=>00000001,
210.73.60.252的主機標識為252=>11111100,
這兩個主機標識的前面三位000與111不同,說明二者在不同的網絡區域,要交換信息需要通過路由器。其子網上主機號各為1和252。
2.掩碼的功用是說明有子網和有幾個子網,但子網數只能表示為一個范圍,不能確切講具體幾個子網,掩碼不說明具體子網號,有子網的掩碼格式(對C類地址)。
子網掩碼是用來判斷任意兩臺計算機的IP地址是否屬于同一子網絡的根據。
最為簡單的理解就是兩臺計算機各自的IP地址與子網掩碼進行AND運算后,如果得出的結果是相同的,則說明這兩臺計算機是處于同一個子網絡上的,可以進行直接的通訊。就這么簡單。
子網掩碼通常有以下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
子網掩碼一般為255.255.255.0
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*(255-128+1)=32512
9.看看的結果是否正確
(1)、設定IP地址為192.168.128.1
Ping 192.168.129.233通過測試
訪問可以顯示出主頁
(2)、設定IP地址為192.168.255.254
Ping 192.168.255.254 通過測試
訪問 可以顯示出主頁
10.結論
以上證明我們的結論是對的。
現 在你就可以看你的子網中能有多少臺機器了
255.255.255.128
分解:
11111111.11111111.11111111.10000000
所以你的內部網絡的ip地址只能是