大家好,我是带你们成长的凡凡~
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。