⑴ 已知網路號如何求子網掩碼
類范圍:IP地址常採用點分十進製表示方法:X.Y.Y.Y,在這里,X=1--126時稱為A類地址;X=128--191時成為B類地址;X=192--223時稱為C類地址;如10.202.52.130,因為X=10在1--126范圍內所以稱為A類地址,默認子網掩碼:A類為255.0.0.0;B類為255.255.0.0;C類為255.255.255.0
當我們要劃分子網用到子網掩碼M時,類子網掩碼的格式應為:A類為255.M.0.0;B類為255.255.M.0;C類為255.255.255.M. M是相應的子網掩碼,如255.255.255.240
十進制計算基數:256.等一下我們所有的十進制計算都要用256來進行
幾個公式變數的說明:
Subnet_block:可分配子網塊的大小,指在某一子網掩碼下的子網的塊數.
Subnet_num:實際可分配子網數,指可分配子網塊中要剔除首,尾兩塊,這是某一子網掩碼下可分配的實際子網數量,它等於Subnet_block-2
IP_block:每個子網可分配的IP地址塊大小
IP_num:每個子網實際可分配的IP地址數,因為每個子網的首,尾IP地址必須保留(一個為網路地址,一個為廣播地址),所以它等於IP_block-2.IP_num也用於計算主機段
M:子網掩碼(net mask)
他們之間的公式如下:
M=256-IP_block
IP_block=256/Subnet_block,反之Subnet_block=256/IP_block
IP_num=IP_block-2
Subnet_num=Subnet_block-2
2的冥數:要熟練掌握2^8(256)以內的2的冥數的十進制數,如128=2^7,64=2^6....,這可使我們立即推算出Subnet_block和IP_block數.
現在我們舉一些例子:
一,已知所需子網數12,求實際子網數
解:這里實際子網數指Subnet_num,由於12最接近2的冥數為16(2^4),既Subnet_block=16,那麼Subnet_num=16-2=14,故實際子網數為14.
二,已知一個B類子網每個子網主機數要達到60X255(約相當於X.Y.0.1--X.Y.59.254的數量)個,求子網掩碼
解:1. 60接近2的冥數為64(2^6),即IP_block=64
2. 子網掩碼M=256-IP_block=256-64=192
3. 子網掩碼格式B類是:255.255.M.0,所以子網掩碼為:255.255.192.0
三.如果所需子網數為7,求子網掩碼
解:1. 7最接近2的冥為8,但8個Subnet_block因為要保留首,尾2個子網塊,即8-2=6<7,並不能達到所需子網數,所以應該取2的冥為16,即Subnet_block=16
2. IP_block=256/Subnet_block=256/16=16
3. 子網掩碼M=256-IP_block=256-16=240
四.已知網路地址為211.134.12.0,要有4個子網,求子網掩碼及主機段
解:1. 211.Y.Y.Y是一個C類網,子網掩碼格式為255.255.255.M
2. 4個子網,4接近2的冥是8(2^3),所以Subnet_block=8,Subnet_num=8-2=6
3. IP_block=256/Subnet_block=256/8=32
4. 子網掩碼M=256-IP_block=256-32=224
5. 所以子網掩碼表示為255.255.255.224
6. 因為子網塊中的可分配主機又有首,尾兩個不能使用,所以可分配6個子網塊(Subnet_num),每塊32個可分配主機塊(IP_block) 即:32-63,64-95,96-127,128-159,160-191,192-223
首塊(0-31)和尾塊(224-255)不能使用
7. 每個子網塊中的可分配主機塊又有首,尾兩個不能使用(一個是子網網路地址,一個是子網廣播地址),所以主機段分別為:33-62,65-94,97-126,129-158,161-190,193-222
8. 所以子網掩碼為255.255.255.224 主機段共6段為:211.134.12.33--211.134.12.62;
211.134.12.65--311.134.12.94;211.134.12.97--211.134.12.126;211.134.12.129--211.134.12.158;
211.134.12.161--211.134.12.190;211.134.12.193--211.134.12.222 可以任選其中的4段作為4個子網.
介紹子網掩碼的兩種簡便演算法
IP地址是32位的二進制數值,用於在TCP/IP通訊協議中標記每台計算機的地址。通常我們使用點式十進制來表示,如192.168.0.5等等。
每個IP地址又可分為兩部分。即網路號部分和主機號部分:網路號表示其所屬的網路段編號,主機號則表示該網段中該主機的地址編號。按照網路規模的大小,IP地址可以分為A、B、C、D、E五類,其中A、B、C類是三種主要的類型地址,D類專供多目傳送用的多目地址,E類用於擴展備用地址。A、B、C三類IP地址有效范圍如下表:
類別 網路號 /佔位數 主機號 /佔位數 用途
A 1~126 / 8 0~255 0~255 1~254 / 24 國家級
B 128~191 0~255 / 16 0~255 1~254 / 16 跨過組織
C 192~223 0~255 0~255 / 24 1~254 / 8 企業組織
隨著互連網應用的不斷擴大,原先的IPv4的弊端也逐漸暴露出來,即網路號佔位太多,而主機號位太少,所以其能提供的主機地址也越來越稀缺,目前除了使用NAT在企業內部利用保留地址自行分配以外,通常都對一個高類別的IP地址進行再劃分,以形成多個子網,提供給不同規模的用戶群使用。
這里主要是為了在網路分段情況下有效地利用IP地址,通過對主機號的高位部分取作為子網號,從通常的網路位界限中擴展或壓縮子網掩碼,用來創建某類地址的更多子網。但創建更多的子網時,在每個子網上的可用主機地址數目會比原先減少。
子網掩碼是標志兩個IP地址是否同屬於一個子網的,也是32位二進制地址,其每一個為1代表該位是網路位,為0代表主機位。它和IP地址一樣也是使用點式十進制來表示的。如果兩個IP地址在子網掩碼的按位與的計算下所得結果相同,即表明它們共屬於同一子網中。
在計運算元網掩碼時,我們要注意IP地址中的保留地址,即「 0」地址和廣播地址,它們是指主機地址或網路地址全為「 0」或「 1」時的IP地址,它們代表著本網路地址和廣播地址,一般是不能被計算在內的。
下面就來以實例來說明子網掩碼的演算法:
對於無須再劃分成子網的IP地址來說,其子網掩碼非常簡單,即按照其定義即可寫出:如某B類IP地址為 10.12.3.0,無須再分割子網,則該IP地址的子網掩碼為255.255.0.0。如果它是一個C類地址,則其子網掩碼為 255.255.255.0。其它類推,不再詳述。下面我們關鍵要介紹的是一個IP地址,還需要將其高位主機位再作為劃分出的子網網路號,剩下的是每個子網的主機號,這時該如何進行每個子網的掩碼計算。
一、利用子網數來計算
在求子網掩碼之前必須先搞清楚要劃分的子網數目,以及每個子網內的所需主機數目。
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地址是以 網路號 和 主機 號來表示網路上的主機的,只有在一個網路號下的計算機之間才能「直接」互通,不同網路號的計算機要通過 網關 (Gateway)才能互通。但這樣的劃分在某些情況下顯得並不十分靈活。為此 IP網路 還允許劃分成更小的網路,稱為子網(Subnet),這樣就產生了 子網掩碼 。子網掩碼的作用就是用來判斷任意兩個IP地址是否屬於同一子網路,這時只有在同一子網的計算機才能"直接"互通。那麼怎樣確定子網掩碼呢?
前面講到IP地址分網路號和主機號,要將一個網路劃分為多個子網,因此網路號將要佔用原來的主機位,如對於一個C類地址,它用24位來標識網路號,要將其劃分為2個子網則需要佔用1位原來的主機標識位。此時 網路號 位變為25位, 主機 標示變為7位。同理借用2個主機位則可以將一個C類網路劃分為4個子網……那計算機是怎樣才知道這一網路是否劃分了子網呢?這就可以從子網掩碼中看出。子網掩碼和IP地址一樣有32bit,確定 子網掩碼 的方法是其與IP地址中標識網路號的所有對應位都用"1",而與主機號對應的位都是"0"。如分為2個子網的C類IP地址用25位來標識網路號,則其子網掩碼為:11111111 11111111 11111111 10000000即255.255.255.128。於是我們可以知道,A類地址的預設子網掩碼為255.0.0.0,B類為255.255.0.0,C類為255.255.255.0。下表是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
你可能注意到上表分了 主機 數和可用主機數兩項,這是為什麼呢?因為當地址的所有主機位都為"0"時,這一地址為子網的網路地址,而當所有主機位都為"1"時為 廣播地址 。
同時我們還可以使用可變長 掩碼 (VLSM)就是指一個網路可以用不同的掩碼進行配置。這樣做的目的是為了使把一個網路劃分成多個子網更加方便。在沒有VLSM的情況下,一個網路只能使用一種 子網掩碼 ,這就限制了在給定的子網數目條件下主機的數目。例如你被分配了一個C類地址, 網路號 為192.168.10.0,而你現在需要將其劃分為三個子網,其中一個子網有100台 主機 ,其餘的兩個子網有50台主機。我們知道一個C類地址有254個可用地址,那麼你如何選擇子網掩碼呢?從上表中我們發現,當我們在所有子網中都使用一個子網掩碼時這一問題是無法解決的。此時VLSM就派上了用場,我們可以在100個主機的子網使用255.255.255.128這一 掩碼 ,它可以使用192.168.10.0到192.168.10.127這128個IP地址,其中可用主機號為126個。我們再把剩下的192.168.10.128到192.168.10.255這128個IP地址分成兩個子網, 子網掩碼 為255.255.255.192。其中一個子網的地址從192.168.10.128到192.168.10.191,另一子網的地址從192.168.10.192到192.168.10.255。子網掩碼為255.255.255.192每個子網的可用 主機地址 都為62個,這樣就達到了要求。可以看出合理使用子網掩碼,可以使IP地址更加便於管理和控制。
、、、、、、、、、、、、、、、、、、、、、、、、、
定義子網掩碼
用於子網掩碼的位數決定於可能的子網數目和每個子網的主機數目。在定義子網掩碼前,必須弄清楚本來使用的子網數和主機數目。
定義子網掩碼的步驟為:
A、確定哪些組地址歸我們使用。比如我們申請到的網路號為 「210.73.a.b」,該網路地址為c類IP地址,網路標識為「210.73.a」,主機標識為「b」。
B、根據我們所需的子網數以及將來可能擴充到的子網數,用宿主機的一些位來定義子網掩碼。比如我們需要12個子網,將來可能需要16個。用第四個位元組的前四位確定子網掩碼。前四位都置為「1」,即第四個位元組為「11110000」,這個數我們暫且稱作新的二進制子網掩碼。
C、把對應初始網路的各個位都置為「1」,即前三個位元組都置為「1」,則子網掩碼的間斷二進制形式為:「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(B類地址的主機位包括後兩個位元組,所以這里要把第三個位元組的前5位置1),得到 255.255.248.0
即為劃分成27個子網的B類IP地址 168.195.0.0的子網掩碼(實際上是劃成了32-2=30個子網)。
這一段介紹的是舊標准下計算的方法,關於舊的標准後文在介紹,在新標准中則可以先將27減去1,因為計算機是從0開始計算的,從0到27實際上是有28個,所以說如果需要27個就需要將27減去1。
根據主機數
利用主機數來計算
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地址與另一個IP地址是否在同一個網段內。
下面先簡單看一個電腦上IP的基本配置
IP地址:192.168.0.5
子網掩碼:255.255.255.0
默認網關:192.168.0.1
如上的例子,IP地址、子網掩碼、默認網關。假如現在上邊的電腦A(IP地址192.168.0.5)要給電腦B(IP地址為192.168.0.22)發送數據,首先A將數據發到路由器,路由器經過判斷B的地址和A的地址在同一個網段內,然後路由器就將數據直接發送給B。
路由器具體使用子網掩碼來判斷IP地址是先將這些IP地址和子網掩碼都換成二進制,然後按照子網掩碼的最長位數的1來比較。
第一步:轉換為二進制
A的IP地址:11000000,10101000,00000000,00000101
子網掩碼:11111111,11111111,11111111,00000000
B的IP地址:11000000,10101000,00000000,00010110
第二步:按照子網掩碼最長1來比較
看上邊的內容,子網掩碼在左邊一共有24位為1,那這樣的意思就是如果兩個IP地址的前24位都相同的話,那這兩個IP地址就是在同一個網段內,看到我紅色標記的A和B的地址都相同,那這就說明A和B在同一個網段內。
再看一個例子,如果還是A地址的數據發到C地址,C的IP地址為192.168.56.21
第一步:轉換為二進制
A的IP地址:11000000,10101000,00000000,00000101
子網掩碼:11111111,11111111,11111111,00000000
C的IP地址:11000000,10101000,00111000,00010101
第二步:按照子網掩碼最長1來比較
看上邊的A和C,按照子網掩碼的要求,如果C的前24位和A的前24位都相同的話,那麼A和C才是同一網段的,看上邊C的地址,我用藍色來標注不同的位數,這樣A 和C就不在同一個網段內,路由器就不能直接把A要發給C的數據直接經過一個路由器給發送過去,這樣路由器就要先將A的數據轉發到另外一個路由器(一個不行就繼續往下發),然後再發到C上。
問題擴展:
一:上邊的例子中子網掩碼為255.255.255.0,那麼能不能把子網掩碼給修改呢,完全可以。
在上邊A和C的例子中,如果把子網掩碼改成255.255.0.0,再看一下
A的IP地址:11000000,10101000,00000000,00000101
子網掩碼:11111111,11111111,00000000,00000000
C的IP地址:11000000,10101000,00111000,00010101
這樣A和C就在同一個網段內了
二:擴展子網
在一個公司或者學校內部,已經分配好了網路號,按照內部行政結構的不同,再將網路分配成子網路號。
舉例:如果一個公司主機已經分配好的網路按照255.255.0.0的子網掩碼來區分主機號,現在由於公司有兩個部門,想要按照部門來劃分成兩個子網路來,那麼可以簡單的用子網掩碼來劃分。現在來考慮,有兩個部門,按照二進制的做飯,那麼只要有一位的數字0和1來區分就可以了。
按照255.255.0.0(11111111,11111111,00000000,00000000)來劃分,前邊了16位是網路號,按照子網掩碼是按照最長1來匹配,那麼現在就在17位劃分位0和1來區分成兩個。那麼可以給一個部門的子網掩碼劃分為255.255.128.0,另一個劃分為255.255.0.0,用二進制來比較一下
255.255.0.0:11111111,11111111,00000000,00000000
255.255.128.0:11111111,11111111,10000000,00000000
這樣就簡單的將兩個部門來劃分開了
三:路由的時候選擇最長1來匹配
路由的時候為什麼選擇最長1來匹配,理由是這樣的:如果是在好幾個可以匹配的網段內(還是按照子網掩碼)選擇最長的那個,可以很快的找到匹配。如果是按照最短的,那麼需要匹配的主機就多,還有一種可能是一個路由器轉發不了,還要換另一個路由,很可能造成包在網路內循環,最後直至包被丟棄。
四:網關的概念
在開始的例子中提到默認網關的概念,先來看網關的概念。
網關實質上是一個網路通向其他網路的IP地址,網關的IP地址是具有路由功能的設備的IP地址,按照上邊的192.168.0.1網關的例子,網關就是有那麼一台機子或者是PC機或者是伺服器它的IP地址是192.168.0.0,這個設備有路由功能。按照這個理論,一個設備的IP必須和自己的網關在同一個網段內,這是必須的。
說完網關,再說默認網關,默認二字就沒有太多解釋的了,這里舉例說明:網關可能不止一個,有網關一、網關二等等,默認網關就是選擇其中之一做為默認值。
⑶ 已知IP地址和網路號,求子網掩碼。
舉個例子:
IP地址:10.1.1.60 網路號:10.1.1.48
都換算成二進制:
00001010.00000001.00000001.00111100 IP地址
00001010.00000001.00000001.00110000 網路號
對比就看出來了吧,從左邊開始數,相同的寫1,從第一個不相同的開始後面都為0,結果就是:
11111111.11111111.11111111.11110000 再換算成十進制為:
255.255.255.240
子網掩碼詳解
子網掩碼不能單獨存在,它必須結合IP地址一起使用。子網掩碼只有一個作用,就是將某個IP地址劃分成網路地址和主機地址兩部分。
子網掩碼是一個32位地址,用於屏蔽IP地址的一部分以區別網路標識和主機標識,並說明該IP地址是在區域網上,還是在遠程網上。
子網掩碼——屏蔽一個IP地址的網路部分的「全1」比特模式。對於A類地址來說,默認的子網掩碼是255.0.0.0;對於B類地址來說默認的子網掩碼是255.255.0.0;對於C類地址來說默認的子網掩碼是255.255.255.0。
通過子網掩碼,就可以判斷兩個IP在不在一個區域網內部。子網掩碼可以看出有多少位是網路號,有多少位是主機號。