只有在一個網絡號下的計算機之間才能"直接"互通,
IP地址是以網絡號和主機號來標示網絡上的主機的,只有在一個網絡號下的計算機之間才能"直接"互通,不同網絡號的計算機要通過網關(Gateway)才能互通
子網掩碼的作用就是用來判斷任意兩個IP地址是否屬于同一子網絡,
為此IP網絡還允許劃分成更小的網絡,稱為子網(Subnet),這樣就產生了子網掩碼。子網掩碼的作用就是用來判斷任意兩個IP地址是否屬于同一子網絡,這時只有在同一子網的計算機才能"直接"互通。那么怎樣確定子網掩碼呢?
怎樣確定子網掩碼呢?
要將一個網絡劃分為多個子網,因此網絡號將要占用原來的主機位,如對于一個C類地址,它用21位來標識網絡號,要將其劃分為2個子網則需要占用1位原來的主機標識位。
子網掩碼和IP地址一樣有32bit,確定子網掩碼的方法是其與IP地址中標識網絡號的所有對應位都用"1",而與主機號對應的位都是"0"。如分為2個子網的C類IP地址用22位來標識網絡號,則其子網掩碼為:11111111 11111111 11111111 10000000即255.255.255.128。
下表是C類地址子網劃分及相關子網掩碼:
子網位數 子網掩碼 主機數 可用主機數
1 255.255.255.128 128 126
2 255.255.255.192 64 62
3 255.255.255.224 32 30
4 255.255.255.240 16 14
5 255.255.255.248 8 6
6 255.255.255.252 4 2
用于子網掩碼的位數決定于可能的子網數目和每個子網的主機數目。在定義子網掩碼前,必須弄清楚本來使用的子網數和主機數目。
定義子網掩碼的步驟為:
A、確定哪些組地址歸我們使用。比如我們申請到的網絡號為“210.73.124.89”,該網絡地址為C類IP地址,網絡標識為“210.73.124”,主機標識為“89”。
B、根據我們現在所需的子網數以及將來可能擴充到的子網數,用宿主機的一些位來定義子網掩碼。比如我們現在需要12個子網,將來可能需要16個。用第四個字節的前四位確定子網掩碼。前四位都置為“1”(即把第四字節的最后四位作為主機位,其實在這里有個簡單的規律,非網絡位的前幾位置1原網絡就被分為2的幾次方個網絡,這樣原來網絡就被分成了2的4次方16個子網),即第四個字節為“11110000”,這個數我們暫且稱作新的二進制子網掩碼。
C、把對應初始網絡的各個位都置為“1”,即前三個字節都置為“1”,第四個字節后四位置為“0”,則子網掩碼的間斷二進制形式為:“11111111.11111111.11111111.11110000”
D、把這個數轉化為間斷十進制形式為:“255.255.255.240” 這個數為該網絡的子網掩碼。
1、利用子網數來計算
在求子網掩碼之前必須先搞清楚要劃分的子網數目,以及每個子網內的所需主機數目。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的子網掩碼。
子網掩碼(subnet mask)是每個使用互聯網的人必須要掌握的基礎知識,只有掌握它,才能夠真正理解TCP/IP協議的設置。以下我們就來深入淺出地講解什么是子網掩碼。
子網掩碼——屏蔽一個IP地址的網絡部分的“全1”比特模式。對于A類地址來說,默認的子網掩碼是255.0.0.0;對于B類地址來說默認的子網掩碼是255.255.0.0;對于C類地址來說默認的子網掩碼是255.255.255.0。利用子網掩碼可以把大的網絡劃分成子網,也可以把小的網絡歸并成大的網絡。
2、利用主機數來計算
1)將主機數目轉化為二進制來表示 2)如果主機數小于或等于254(注意去掉保留的兩個IP地址),則取得該主機的二進制位數,為 N,這里肯定N<8。如果大于254,則 N>8,這就是說主機地址將占據不止8位。 3)使用255.255.255.255來將該類IP地址的主機地址位數全部置1,然后從后向前的將N位全部置為 0,即為子網掩碼值。IP地址的網絡號和主機號各是多少位呢?如果不指定,就不知道哪些位是網絡號、哪些是主機號,這就需要通過子網掩碼來實現。
子網掩碼的設定必須遵循一定的規則。與二進制IP地址相同,子網掩碼由1和0組成,且1和0分別連續。子網掩碼的長度也是32位,左邊是網絡位,用二進制數字“1”表示,1的數目等于網絡位的長度;右邊是主機位,用二進制數字“0”表示,0的數目等于主機位的長度。這樣做的目的是為了讓掩碼與ip地址做AND運算時用0遮住原主機數,而不改變原網絡段數字,而且很容易通過0的位數確定子網的主機數(2的主機位數次方-2,因為主機號全為1時表示該網絡廣播地址,全為0時表示該網絡的網絡號,這是兩個特殊地址)。只有通過子網掩碼,才能表明一臺主機所在的子網與其他子網的關系,使網絡正常工作。
根據子網掩碼格式可以發現,子網掩碼有:0.0.0.0;255.0.0.0;255.255.0.0;255.255.255.0;255.255.255.255五種,其中A類地址的默認子網掩碼為255.0.0.0;B類地址的默認子網掩碼為255.255.0.0;C類地址的默認子網掩碼為:255.255.255.0。
作用
子網掩碼是一個32位地址,是與IP地址結合使用的一種技術。它的主要作用有兩個,一是用于屏蔽IP地址的一部分以區別網絡標識和主機標識,并說明該IP地址是在 局域網上,還是在遠程網上。二是用于將一個大的IP網絡劃分為若干小的子網絡。
和ip地址的關系
以下均為C類網 子網掩碼是用來判斷任意兩臺計算機的IP地址是否屬于同一子網絡的根據。 最為簡單的理解就是兩臺計算機各自的IP地址與子網掩碼進行AND運算后,如果得出的結果是相同的,則說明這兩臺計算機是處于同一個子網絡上的,可以進行直接的通訊。就這么簡單。
運算示例
運算演示之一:aaI 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 所以計算機就會把這三臺計算機視為是同一子網絡,然后進行通訊的。