基本介紹
- 中文名:
- 外文名:
- 別名:
- 所屬行業:
- 作用:
發展歷程,簡介,子網掩碼的功能,聲明網路地址與主機地址,劃分子網,計算方式,根據子網數,根據主機數,增量計算法,標註方法,無子網,有子網,分類,預設子網掩碼,自定義子網掩碼,變長子網掩碼,IPV6與子網掩碼,
使用子網是為了減少IP的浪費。因為隨著網際網路的發展,越來越多的網路產生,有的網路多則幾百台,有的只有區區幾台,這樣就浪費了很多IP位址,所以要劃分子網。使用子網可以提高網路套用的效率。
通過計算機的子網掩碼判斷兩台計算機是否屬於同一網段的方法是,將計算機十進制的IP位址和子網掩碼轉換為二進制的形式,然後進行二進制“與”(AND)計算(全1則得1,不全1則得0),如果得出的結果是相同的,那么這兩台計算機就屬於同一網段。
聲明網路地址與主機地址
表 1 默認子網掩碼
類別 | 子網掩碼的二進制數值 | 子網掩碼的十進制數值 |
A | 11111111 00000000 00000000 00000000 | 255.0.0.0 |
B | 11111111 11111111 00000000 00000000 | 255.255.0.0 |
C | 11111111 11111111 11111111 00000000 | 255.255.255.0 |
子網掩碼一定是配合IP位址來使用的。對於常用網路A、 B、C 類IP位址其默認子網掩碼的二進制與十進制對應關係如表1所示。子網掩碼工作過程是:將32位的子網掩碼與IP位址進行二進制形式的按位邏輯“與”運算得到的便是網路地址,將子網掩碼二進制按位取反,然後與IP位址二進制進行邏輯“與”(AND)運算,得到的就是主機地址。如:192.168.10.11 AND 255.255.255.0,結果為192.168.10.0,其表達的含義為:該IP位址屬於 192.168.10.0這個網路,其主機號為10,即這個網路中編號為10的主機。
劃分子網
子網掩碼機制提供了子網劃分的方法。其作用是:減少網路上的通信量;節省IP位址;便於管理;解決物理網路本身的某些問題。使用子網掩碼劃分子網後,子網內可以通信,跨子網不能通信,子網間通信應該使用路由器,並正確配置靜態路由信息。劃分子網,就應遵循子網劃分結構的規則。就是用連續的1在IP位址中增加表示網路地址,同時減少表示主機地址的位數。例如,IP位址為130.39.37.100,網路地址為130.39.37.0、子網地址為130.39.37.0、子網掩碼為255.255.255.0,網路地址部分和子網標識部分為“1”所對應,主機標識部分為“0”所對應。 使用CIDR表示為:130.39.37.100/24即IP位址/ 掩碼長度。其中第三個位元組上的255 所對應的8位二進制數值就是將主機地址位數借給了網路地址部分,充當了劃分子網的位數。
具體劃分子網的步驟:
(1)確定需要的子網數量N。一般來說,交換機互聯的設備是同一網段,路由器不同的接口連線的設備是不同網段。
(2)根據子網數量N以及公式,計算出子網標識的位數n。
(3)將申請到的網段對應的子網掩碼中主機標識的前n位置1,變成子網標識,其餘位置仍維持0不變。
(4)根據主機標識全為0表示網路地址的原則寫出各子網的子網標識和網路地址。
計算方式
根據子網數
利用子網數來計算
在求子網掩碼之前必須先搞清楚要劃分的子網數目,以及每個子網內的所需主機數目。
如欲將B類IP位址168.195.0.0劃分成27個子網:
- 27=11011
- 該二進制為五位數,N = 5
- 將B類地址的子網掩碼255.255.0.0的主機地址前5位置1(B類地址的主機位包括後兩個位元組,所以這裡要把第三個位元組的前5位置1),得到 255.255.248.0
即為劃分成27個子網的B類IP位址 168.195.0.0的子網掩碼(實際上是劃成了32個子網)。
根據主機數
利用主機數來計算
- 將主機數目轉化為二進制來表示
- 使用255.255.255.255來將該類IP位址的主機地址位數全部置1,然後從後向前的將N位全部置為 0,即為子網掩碼值。
如欲將B類IP位址168.195.0.0劃分成若干子網,每個子網內有主機700台:
然後再從後向前將後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流行以前,這樣的重疊將導致極大的混亂。
標註方法
無子網
無子網的標註法
對無子網的IP位址,可寫成主機號為0的掩碼。如IP位址210.73.140.5,掩碼為255.255.255.0,也可以預設掩碼,只寫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類地址)。
分類
子網掩碼一共分為兩類。一類是預設(自動生成)子網掩碼,一類是自定義子網掩碼。
預設子網掩碼
預設子網掩碼即未劃分子網,對應的網路號的位都置1,主機號都置0。
A類網路預設子網掩碼:255.0.0.0
B類網路預設子網掩碼:255.255.0.0
C類網路預設子網掩碼:255.255.255.0
在預設掩碼下的IP位址中,網路地址和廣播地址的計算很簡單,雖然按照計算方法需要進制轉換和與運算,但是在實際使用當中,已經可以快速寫出結果。網路地址的計算就是子網掩碼中0對應的地方變0, “255”對應的地方不變即可;而廣播地址則是子網掩碼中0對應 的地方變“255”,“255”對應的地方不變。
自定義子網掩碼
自定義子網掩碼是將一個網路劃分為幾個子網,需要每一段使用不同的網路號或子網號,實際上可以認為是將主機號分為兩個部分:子網號、子網主機號。形式如下:
未做子網劃分的IP位址:網路號+主機號
做子網劃分後的IP位址:網路號+子網號+子網主機號
也就是說IP位址在劃分子網後,以前的主機號位置的一部分給了子網號,餘下的是子網主機號。子網掩碼是32位二進制數,它的子網主機標識用部分為全“0”。利用子網掩碼可以判斷兩台主機是否在同一子網中。若兩台主機的IP位址分別與它們的子網掩碼相“與”後的結果相同,則說明這兩台主機在同一子網中。
變長子網掩碼
變長子網掩碼是將一個網段拆成多個子網的套用,這種套用在教育網內特別普遍,教育網使用的是電信運營商提供的網際網路出口。電信運營商為教育網提供了數個c類的公網IP位址,但是教育網的網管又希望每個學校都處於各自不同的網段,全市(包括縣區在內)有上百所學校,為了適應這個要求,就必須使用變長子網掩碼來重新規劃網路。
變長子網掩碼是網路規劃中的一種常見套用,它的 目的是最大限度地節省IP位址。網管員根據自己單位實際的網路情況,為不同網段靈活的定義不同的子網掩碼,但是很多用戶由於不了解變長子網掩碼的相關知識從而進行了錯誤的設定。
IPV6與子網掩碼
如果是都是使用的IPV6的話是沒有子網掩碼的概念。IPV6是端到端的連線通信,不需要子網了。但是,目前似乎更多都是在IPV4上使用隧道的方式使用IPV6。完全消滅IPV4還需要相當長的時間,子網掩碼目前還是要的。
IPv6中沒有子網掩碼的概念,也沒有網路號與主機號的概念。在IPV6中前綴長度就可以當作子網掩碼來理解。接口ID可以當作主機號來理解。在Windows XP中,IPv6地址的前綴長度默認為64位。IPv6的地址空間過於廣大,可能一個子網的子網都要比整個IPv4的世界要大很多,所以子網的概念在IPv6世界裡已經淡化了。但是,同一站點的主機要想直接通信(不經過路由器),還是要求前綴相同才行的。