首页 > 其他 > 详细

浅谈IP地址和子网掩码的对应关系,以及2进制和10进制详解!

时间:2017-11-14 16:20:45      阅读:417      评论:0      收藏:0      [点我收藏+]

大家好,我是带你们成长的凡凡~

IP地址的结构:
    #长度为 32 bit;先
    #结构 - 网络位 + 主机位

子网掩码:
     -作用  
         区分IP地址中的网络位与主机位
         必须与IP地址,一一对应,成对出现;

 -表示
        纯2进制  
        点分十进制 (y.y.y.y) ->y的取值范围是 0 --255
        /n (n表示的是子网掩码中有多少个1)
     -功能实现
        子网掩码中1所对应的IP地址中的位,称之为网络位
        子网掩码中0所对应的IP地址中的位,称之为主机位

网络中的单位:
    bit , 比特/位 , 网络中的最小单位;
           一个0表示1bit;一个1,也表示1bit;
           如果是01,则表示2个bit;
     
    1Byte,字节,相当于8个bit;
    1Kbit , 1000bit;
    1Mbit(兆),1000Kbit;
    1Gbit(吉),1000Mbit;
    1Tbit,1000Gbit;
    1Pbit,1000Tbit
   

例如:  
      IP:  10101101 11001111 10010001 00001011
    Mask: 11111111 11111111 11111111 00000000

 -特点
        #与IP地址一一对应;
        #1和0永远是连续的,不会交叉出现;
        #左边永远是1,右边永远是0;

相关易混淆概念:
      -反掩码 (inverse-mask)
          即将掩码中的1和0互相变化就可以了。
      -通配符(wildcard bits)
          0和1可以交叉出现,也可以不交叉;(仅了解)

那首先大家都知道,IP地址和子网掩码成对出现的。

例如:     192.168.1.1      255.255.255.0

这是大家所熟悉的IP地址,那其实这类IP地址是给人看的还有一种是给机器看的

这就是    2进制

像上面的IP地址(192.168.1.1我这里用X来表示---->X.X.X.X)

每一个X代表一个字节,每一个字节呢,其实就是8个bit把192.168.1.1      255.255.255.0翻译为二进制就是1100 0000.1010 1000.0000 0001.0000 0001   子网掩码就是1111 1111.1111 1111.1111 1111.0000 0000 ,首先你肯能会问第一个问题为什么192.168.1.1对应的子网掩码对应的是255.255.255.0 这个我前面的博客讲过,IP地址分为4类而四类子网掩码默认就是255.255.255.0,但是这也不是绝对,可以更改----后面的子网划分技术再讲,先把4类对应的IP地址记下来就行了。

我们先讲一下2进制度:

二进制度说白了就是只有两个数字,一个0一个1,我们拿一个bit举例

比如:    0000 0000  这是给机器看的对把,它代表的数字转换为10进制度(给人看的)就是0 

那如果我想把给人看的1表示为2进制该如何表示------0000 0001,这就代表一个字节1,假如是192.168.20.1 0000 0001代表的就是其中的1

如果我是192.168.20.2 这个IP地址如何用2进制表示呢?

很简单 0000 0001这是1,前面说过2进制一共就两个数字一个0,一个1那现在按照小学算术口诀来理解的话,我们每次到10就要进一位加到前面的数字上面去对不对,那2进制就是一到2就要进位,非常的简单

0000 0001进一位-------->0000 0010    这就是代表2

那同样如果我要表示3呢

在2的基础上     0000 0010--------->0000 0011

表示4的话是不是又多加了1

在3的基础上0000 0011   我需要加1就要进位,那最后一个进位了,倒数第二位又要进那就变成了

0000 0100------->这就是4  0000 0101---5  0000 0110-----6

我想讲到这里大家都理解2进制是如何转换了,无非就是进位从10开始进位变成2开始进位

但其实这样的话,无非很麻烦

因为假如192.168.123.254 这个IP地址,我们要转换为4个字节,每个字节八个bit的2进制非常麻烦,这边教大家一个类似于乘法口诀的东西--------8421码

那我们知道每个字节都是八个bit,而一个IP地址一共4个字节

假如我们的八个bit全为1的话是多少?

1111 1111

我们先一一对应

   1111 1111(2进制表示255)

128 64 32 16 8 4 2 1(十进制表示255)

每往前一位就是2的倍数加1,知道了这个对应关系先举一个简单的例子

128.64.32.16(十进制)   比如这是一个IP地址 如何转化为2进制,直接把上面的8421码对应起来

1000 0000.0100 0000.0010 0000.0001 0000(二进制)

2的0次方=1
2的1次方=2
2的2次方=4
2的3次方=8
2的4次方=16
2的5次方=32
2的6次方=64
2的7次方=128

在IP地址中最大的也就是2的7次方所以记住2的7次方就知道该如何转化了实在不行,需要转化的时候

1111 1111(2进制表示255)

128 64 32 16 8 4 2 1(十进制表示255)

就把这个对应表关系写出来就OK了,一一转化就好了

转化机制的话还有一种16进制转化,需要了解的朋友可以加我QQ。














浅谈IP地址和子网掩码的对应关系,以及2进制和10进制详解!

原文:http://13450663.blog.51cto.com/13440663/1981686

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!