1. 程式人生 > >IP地址及子網掩碼的學習

IP地址及子網掩碼的學習

ip

IP地址及子網掩碼的學習

目錄:

1)ip地址
2)子網掩碼

一.ip地址:

ip地址是32bits的一組二級制數字(只包含0和1),由此可唯一標記一臺機器
ip地址有兩部分組成:網絡ID和主機ID

ABC類IP地址

根據網絡ID的位數和主機ID的組成個數可以大致分為以下幾類:

A類  網絡ID 8位,主機ID 24位  網絡ID以0開頭         
    換算成 十進制: 0.0.0.0.~127.255.255.255
B類  網絡ID 16位  主機ID16位   網絡ID以10開頭
    換算成 十進制: 128.0.0.0~191.255.255.255
C類  網絡ID 24位  主機ID 8位    網絡ID以110開頭
    換算成 十進制: 172.0.0.0~223.255.255.255
D類  組播地址 網絡ID以1110開頭
E類  網絡ID以1111開頭 
其中的D類和E類簡單了解一下即可 生活當中基本接觸不到

技術分享圖片

公有IP和私有IP

根據網絡的用途又可分為公有IP和私有IP:

publicIP:這種IP地址可以直接連接至Internet
privateIP:這種ip地址不能直接連接到internet,主要用於規劃局域網內的規劃

私有IP分別在ABC三類當中各保留一段作為私有ip網段
classA: 10.0.0.0 -- 10.255.255.255
classB: 172.16.0.0 --- 172.31.255.255
classC:192.168.0.0 -- 192.168.255.255

這三段中的ip的地址是無法上網的,只能限於內部網絡使用

二.子網掩碼

子網掩碼的產生

在最初的網絡裏,網絡根據ip地址分為的三種類型 而 形成的三個網域 
這三個網域內的各個機器可以進行方便的訪問 但是這一個網域內的機器數目太過龐大 也
不便於管理 為了將網域分為更小的範圍 
人們想出來了一種解決方案,正是靠子網掩碼來將一個大網域劃分為更多的小網域

子網掩碼解決劃分網域的途徑

子網掩碼的計算:

根據IP的網絡ID和主機ID就可以得出子網掩碼
將網絡ID所在的位置全部化為1 將主機ID所在的位數全部化為0

子網切分

將主機ID借一位到網絡ID上,就可實現切分為兩個子網

技術分享圖片
技術分享圖片

這裏有一個公式:子網切分數= 2^借位數

CIDR

為了方便表示IP和子網掩碼 大佬們想到了一個簡單的方法:IP/子網掩碼位數 (CIDR表示法)
舉例 :IP為192.168.0.0 子網掩碼為255.255.255.0 用CIDR法表示
            step1:先將子網掩碼由二進制轉換為十進制
                    11111111.11111111.11111111.00000000
            setp2:CIDR表示為:192.168.0.0/24

超網劃分:

在某些情況下,我們需要將多個小網絡合並成一個大網絡,每個網絡主機ID變多,
網絡ID變少,原來的主機ID位向網絡ID位借位。其目的是節約路由器的記錄數

舉例:
220.78.10101000.0   168
220.78.10101001.0   169
220.78.10101010.0   170
220.78.10101011.0   171
220.78.10101100.0   172
220.78.10101101.0   173
220.78.10101110.0   174
220.78.10101111.0   175

這8個IP地址就可以合並為一個ip來節省路由器的資源,加快訪問速速

220.78.168.0/21  

子網切分練習題

1)

IP地址:172.16.100.200
子網掩碼:255.255.224.0

a.用CIDR表示:

step1:將子網掩碼由二進制轉換為十進制
            255.255.224.0
            11111111.11111111.11100000.00000000
step2:CIDR表示為
            172.16.100.200/19

b.網絡ID是多少

step1:將IP地址由二進制轉換為十進制
            10101100.00010000.01100100.11001000
step2:將二進制的IP地址與二進制的子網掩碼進行運算 子網掩碼為1時保留原IP位 否則為0
            1 0 1 0 1 1 0 0 .0 0 0 1 0 0 0 0. 0 1 1 0 0 1 0 0. 1 1 0 0 1 0 0 0
            1 1 1 1 1 1 1 1. 1 1 1 1 1 1 1 1. 1 1 1 0 0 0 0 0. 0 0 0 0 0 0 0 0
            1 0 1 0 1 1 0 0 .0 0 0 1 0 0 0 0. 0 1 1 0 0 0 0 0. 0 0 0 0 0 0 0 0
step3:將二進制的結果轉換為十進制
            172.16.96.0/19

c.網絡主機數有多少

num=2^(32-19)-2

d.網絡主機的範圍是多少

step1:將長度為子網掩碼為1的數IP記錄下來(即網絡ID)
            1 0 1 0 1 1 0 0 .0 0 0 1 0 0 0 0. 0 1 1 x x x x x . x x x x x x x x
            1 1 1 1 1 1 1 1. 1 1 1 1 1 1 1 1. 1 1 1 
step2:將x全部變為0即最小值 將x全部變為1即最大值
            1 0 1 0 1 1 0 0 .0 0 0 1 0 0 0 0. 0 1 1 0 0 0 0 0.0
            1 0 1 0 1 1 0 0 .0 0 0 1 0 0 0 0. 0 1 1 x 1 1 1 1 .255
step3:將二進制的結果轉換為十進制(ip的最後一組不能為0和255)
            最小值:172.16.96.1
            最大值:172.16.177.254

2)

IP地址:114.203.188.10/20

a.子網掩碼

由CIDR表示法可以得到子網掩碼為1的個數為20
step1:用二進制表示為
1 1 1 1 1 1 1 1.1 1 1 1 1 1 1 1.1 1 1 1 0 0 0 0.0 0 0 0 0 0 0 0
step2:轉換為十進制為
255.255.240.0

b.網絡ID

114.203.188.10
255.255.240.0

step1:將ip和子網掩碼有十進制轉換為二進制
                IP:114.203.10111100.0
                子網掩碼:255.255.1111000.0

step2:將ip和子網掩碼進行運算,得出結果:
            114.203.10110000.0

step3:將二進制的結果轉換為十進制
            114.203.176.0/20

c.主機數

2^(32-20)-2

d.網絡主機範圍

step1:將ip和子網掩碼進行運算 x全部變為0為最小值,x全部變為1為最大值
                但是ip的最後一位不能為0或255
            114.203.1011x x x x. x x x x x x x x 
            255.255.1111
step2:
            最小值:114.203.10110 0 0 0 .0 0 0 0 0 0 0 1
            最大值:114.203.11111 1 1 1 .1 1 1 1 1 1 1 0
step3:
            將二進制的結果轉換為十進制
114.203.176.1--114.203.191.254

IP地址及子網掩碼的學習