“另类”计算IP地址和子网划分
?????? 本文僅討論IP地址和子網劃分問題,不涉及其他的網絡計算和子網劃分技術。同時本文也不再進行IP地址、網絡地址、廣播地址等等這些基礎知識的介紹,網上大把的有?,F在進入正題。
IP地址和子網劃分的計算
?????? 首先我們先來看一個簡單例題:求一個IP地址為192.168.100.5,子網掩碼為255.255.255.0。請求出網絡地址、廣播地址、可用主機地址范圍以及可用主機數。
我們先看下二進制算法:
?????? 1、首先將IP地址和子網掩碼換算為二進制如下,子網掩碼連續為1的是網絡地址,全0 的為主機地址,由于本例給出的是C類地址,進行與運算得出的結果是網絡地址。
| ? |
| 網絡地址(網絡ID) | 主機ID |
| ?? IP地址 | 192.168.100.5 | 11000000 ?? 10101000? ?? 01100100 | 00000101 |
| 子網掩碼 | 255.255.255.0 | 11111111 ? ?? 11111111 ? ? ?? 11111111 | 00000000 |
| 與運算 | ????????????? ? ?? ?? ? ? ? ? ? ? ? ??????????????? | ?????????????????? | |
| 網絡地址為: | 192.168.100.0 | 11000000??? 10101000???? 01100100 | 00000000 |
??????? 2、將上面的網絡地址的網絡地址部分保持不變,主機號全變為1,結果即為廣播地址
| 網絡地址為: | 192.168.100.0 | 11000000 10101000 01100100 00000000 |
| 將主機位全變為1 | 192.168.100.255 | 11000000 10101000 01100100 11111111 |
| 或運算 | ? | ??????????????????????????????????????????????????????? ? ? ? ?? ??? |
| 廣播地址為: | 192.168.100.255 | 11000000 10101000 01100100 11111111 |
?????? 3、先說地址范圍就是在本網段包含的所有主機,這里所求的可用主機范圍【即不包括網絡地址和廣播地址,因為全0和全1不能作為可以主機地址】為:網絡地址+1~廣播地址-1,由上可知,可用的主機地址范圍為192.168.100.1~192.168.100.254,也就是說像192.168.100.2、192.168.100.20、192.168.100.50、192.168.100.100、192.168.100.230這樣的IP地址都是在同一個網段,也就是說它們可以相互通信。
?????? 4、可用主機數為:2^主機號的位數-2,減2是因為主機地址不包括網絡地址和廣播地址。本例的主機位數為8位,即主機的可用主機數為:2^8-2=254。就是說可以有254臺計算機在同一網段相互通信。
?????? 以上就是用學校教的一般方法所做的,真正了解的人就可以知道在上面我其實還省略很多細節步驟,因為用這個自帶編輯器寫這種東西很麻煩,我省略的很多。但即使這樣,也是比較麻煩的。下面我講一下利用增量是怎樣算的。
?????? 還是這個例題,如果使用增量算法怎么算呢?:求一個IP地址為192.168.100.5,子網掩碼為255.255.255.0。請求出網絡地址、廣播地址、可用主機地址范圍以及可用主機數。
?????? 首先我講下什么是增量,主要就是要記住我上面所說的二進制進階,2^1=2 、2^2=4 、 2^3=8 、 2^4=16 ......個人認為一直要記到2^12=4096。當你能隨時反應出2^n等于多少時,增量算法你就很容易掌握。先求網絡地址,當你看到192開頭你就要馬上知道這是個標準的C類地址,再看下子網掩碼,你就可以馬上說出網絡地址和廣播地址是192.168.100.0和192.168.100.255.因為網絡號和主機號分的很清楚,知道了網絡地址,就可以馬上算出可用的主機地址范圍和可用主機數,因為這是個標準的C類地址。。。。寫到這里才發現,這個例題太簡單,根本突出不了增量算法的優勢,第一次寫博文,沒有考慮好,請大家原諒且繼續往下看。我下面將再舉一個關于IP計算和子網劃分的例子,因為只有有難度的計算和劃分才能突出增量算法的簡單。
增量算法
例題:某單位需要將一個C類網絡地址為192·168·100·0,子網掩碼地址為255·255·255·0的IP地址劃分為4個子網,求每個子網的網絡地址,廣播地址以及可用主機范圍和可用主機數。
?????? 1、首先要考慮劃分4個子網需要將主機借幾位,如果全0全1可用的話,那就借2位主機位就可以了,因為2^2=4.正好4個子網,如果全0全1不可用的話,那就需要借3位,也就是2^3=8個子網,很容易看出本例只需要4個子網,卻劃分出了8個子網,全0全1 不可用的話,也浪費了2個子網。所以大家在實際應用中要注意子網的合理“借位”以及劃分,做到盡量不浪費IP地址段和IP地址。這里我不細說。
?????? 2、根據借的位數來改變子網掩碼,因為本例借了3個主機位,所以子網掩碼增加3位【借的為主機位的高3位】,子網地址為255.255.255.224
?????? 3、因為子網掩碼改變了,不是標準的子網掩碼的形式,這樣計算網絡地址和廣播地址就不是很方便,但用增量算法就很簡單了!?? 根據現在的子網掩碼【255.255.255.224】來看,我們可以看到,借了3位之后,子網掩碼的第4段變成了224,關鍵就在這里,在說之前,先講一個常識,IP地址分4段,每一段的最大值為255,實際上有256個地址,因為是從0開始算的。增量都是以256算的。本例我們先將256-224=32,就得到了每個子網可用的主機數和可用地址范圍,(這里要說下32有什么用?32=2^5,因為向主機號借了3位。所有3+5=8,正好是IP地址每個段的位數,便于驗證)全0全1不可用的話可用主機數為30個,可用的話就是32個。主機范圍等下再講。這樣很容易就得到了可用主機數,覺得沒用?那繼續看,因為我們劃分了8個子網,所以32*8是不是等于256.也就是說每個子網的增量為32,這樣就得到了子網的增量,是不是就是說網絡地址和廣播地址都得到了呢!是的。需要注意的是增量為32,實際地址是指0~31共有32個地址。那主機范圍不也就出來了嗎?那就是0~31、32~63、64~95、96~127、128~159、160~191、192~223、224~255。大家數一下是不是共8個子網段啊!然后再加上IP的前三段192.168.100。是不是整個問題就解決了呢!是不是完全不要算二進制呢!其實只要熟悉了增量算法且能舉一反三、靈活運用,只要不是極度復雜的計算和劃分,哪怕是無類別域間路由選擇(CIDR)也就是超網地址的劃分和計算。都可以不用筆,直接心算就可以得知結果。下面我用表格整理下。
| 子網序號 | 網絡地址 | 地址范圍 | 廣播地址 | 備注 |
| 1 | 192.168.100.0 | 192.168.100.0-192.168.100.31 | 192.168.100.31 | 全0組合一般不使用 |
| 2 | 192.168.100.32 | 192.168.100.32-192.168.100.63 | 192.168.100.63 | ? |
| 3 | 192.168.100.64 | 192.168.100.64-192.168.100.95 | 192.168.100.95 | ? |
| 4 | 192.168.100.96 | 192.168.100.96-192.168.100.127 | 192.168.100.127 | ? |
| 5 | 192.168.100.128 | 192.168.100.128-192.168.100.159 | 192.168.100.159 | ? |
| 6 | 192.168.100.160 | 192.168.100.160-192.168.100.191 | 192.168.100.191 | ? |
| 7 | 192.168.100.192 | 192.168.100.192-192.168.100.223 | 192.168.100.223 | ? |
| 8 | 192.168.100.224 | 192.168.100.224-192.168.100.255 | 192.168.100.255 | 全1組合一般不使用 |
| 【全0全1不可用】每個子網中所含的主機數為:25-2=30 | ||||
由于時間有限,先就寫到這里,以后有時間,再來補例題,繼續往下講!有不懂的,可以再在評論上提出疑問,我有時間會一一解答!
總結
以上是生活随笔為你收集整理的“另类”计算IP地址和子网划分的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 弘兵金融学院 站在山顶 看不见山
- 下一篇: 道路交通事故现场计算机制图,GA 49-