IP地址中的网络地址和主机地址分别是什么意思?怎么计算的呢?
什么意思呢?
先理解下這個:01087654321
這是一個電話號碼,它是一坨數字但我們很清楚它分為兩部分,其中010是表示北京的區號,后面87654321是北京范圍內的一臺座機號(如有雷同純屬巧合)所以我們經常把它寫成010-87654321以區分區號和座機號。
現在來看一個IP地址:192.168.1.3
看上去是一坨數字,里面也包含兩個部分,具體的說是兩個ID(習慣叫它ID),一個是網絡ID一個是主機ID。以后看到一個IP地址的時候一定要有這樣的意識,我看到了一個網絡標識和一個主機標識。
那么哪一部分是網絡ID哪一部分是主機ID呢?單看這個IP是看不出來的,要區分它們需要一些特殊的表示方法。
常用表示法1:192.168.1.3/24
常用表示法2: 192.168.1.3 netmask(子網掩碼) 255.255.255.0
這兩種表示法都表示相同的意思,即,前面三個十進制數192.168.1是網絡ID,后面3表示主機ID)。
Why?
常用表示法1 的/24 表示IP地址的前面24位二進制數是網絡ID
常用表示法2 那是IP地址的兩部分,網絡地址在前,主機地址在后,通過子網掩碼進行區分和計算。比如一個IP192.168.1.1,子網掩碼255.255.255.0,那么網絡地址就是192.168.1.0,主機地址就是0.0.0.1。
怎么計算的呢?
將IP地址和子網掩碼全部轉換為二進制形式
然后二者逐位相與的結果就是網絡地址
IP與子網掩碼的非的結果相與就是主機地址。
還是剛才的例子:
IP十進制:192.168.1.1
IP二進制:11000000 10101000 00000001 00000001
子網掩碼十進制:255.255.255.0
子網掩碼二進制:11111111 11111111 11111111 00000000
網絡地址:IP & 子網掩碼
網絡地址二進制:11000000 10101000 00000001 00000000
網絡地址十進制:192.168.1.0
主機地址:IP & (~子網掩碼)
主機地址二進制:00000000 00000000 00000000 00000001
主機地址十進制:0.0.0.1
總結
以上是生活随笔為你收集整理的IP地址中的网络地址和主机地址分别是什么意思?怎么计算的呢?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java中的nextInt()和next
- 下一篇: 盘点一下全网最有趣的代码注释