ip与子网掩码
IP地址的分类
网络号
用于识别主机所在的网络;
主机号
用于识别该网络中的主机。
IP地址分为五类,A类保留给*机构,B类分配给中等规模的公司,C类分配给任何需要的人,D类用于组播,E类用于实验,各类可容纳的地址数目不同。
顾名思义,分类的IP地址就是将IP地址划分为了2个固定长度的字段组成,第一个字段是网络号(net-id),代表所连接到的网络。第二个字段是主机号(host-id),代表了主机或者是路由器。在这种编址方式中将IP地址划分了5类,A、B、C、D、E这五类,其中A、B、C三类地址中网络号依次占了8、16、24位,并且在网络号的最开始设置了类别位,分别为0、10、110。前三类都是用于单播的,D类地址(类别位是1110)用于多播,E类地址(类别位是1111)保留下来,为以后使用。
全零(“0.0.0.0”)地址对应于当前主机。全“1”的IP地址(“255.255.255.255”)是当前子网的广播地址。
在IP地址3种主要类型里,各保留了3个区域作为私有地址,其地址范围如下:
A类地址:10.0.0.0~10.255.255.255
B类地址:172.16.0.0~172.31.255.255
C类地址:192.168.0.0~192.168.255.255
子网掩码
IP、子网掩码、网络号之间的关系、区分和运算
IP地址总共是32位二进制数表示,每8位为一节,总共4节。日常使用中每节用一个十进制表示(0-255)。每个IP地址都是由网络号+主机号组成,前面N位表示网络号,后面32-N位表示主机号。到底前面几位表示网络号就是由子网掩码来区分,在子网掩码中用1和0来分别网络号位和主机号位,其中是1的表示是网络位,0表示主机位,前面说的IP中前面的N位表示网络号,后面的32-N位才是主机号,所以子网掩码总是前面一段全是1,后面一段全是0。我们的IP范围就是主机号范围。所有主机号中的最后一个主机号为广播地址。
比如一个IP地址:192.168.0.1/24,这是我们常见的一个C类地址,用二进制表示就是 IP:11000000 10101000 00000000 00000001 子:11111111 11111111 11111111 00000000
这就是说这个IP中,前24位表示网络号,后面8位表示主机号。也就是说我们IP取值范围就是最后的8位从0000000-11111111之间,用十进制表示也就是0-255之间,在地址中0不能作为IP地址使用,他是网络号的专用,也就是说我们的取值范围是在1-255之间,其中1是网关地址(实际中我们组建局域网的时候不一定用1作网关这是另一回事),255是广播地址,也就是说实际能使用的只有253个IP,即192.168.0.2-192.168.0.254。
那什么是网络号呢?说得直接一点就是这个局域网在网络上的IP。我们知道每一台计算机在网络上都有一个IP地址,这个IP地址就是这台计算机在网络上的一个编号,那么网络号也就是这个局域网在互联网上的IP地址编号。网络号的计算方法是把IP地址与子网掩码作“与”运算,所谓的与运算,就相当于我们并时所说的乘运算,当两个同为1时其结果为1,如果其中有一个是0则结果是0。在上面的例子中前面的24位是网络号那么这个局域网在网络中的编号就是192.168.0.0,现在知道为什么0始终不能用为IP地址了吧。如果两台机的网络号不一样,表示这两台机不在同一个局域网中。比如有如下两个IP:192.168.0.115/24,192.168.5.115/24,用二进制表示就是:
IP1: 11000000 10101000 00000000 01110011 子网: 11111111 11111111 11111111 00000000 网络号: 11000000 10101000 00000000 00000000 十进制表示网络号:192.168.0.0
IP2: 11000000 10101000 00000101 01110011 子网: 11111111 11111111 11111111 00000000 网络号: 11000000 10101000 00000001 00000000 十进制表示网络号:192.168.5.0 两个IP的网络号不一样,表示这两个IP不在同一个局域网中。
又比如我网吧从电信公司分到一组IP:89.153.43.225/29,那么换成二进制就是
IP:01011001 10011001 00101011 11100001 子:11111111 11111111 11111111 11111000 可以清楚的看出这组IP在网络上的网络号是前面的29位,用十进制表示就是89.153.43.224,这组IP的主机号就是最后的三位,我们说过主机号范围就是IP范围。我网吧从电信公司分得的IP范围用二进制表示就是:
IP1:01011001 10011001 00101011 11100000
IP2:01011001 10011001 00101011 11100001
IP3:01011001 10011001 00101011 11100010
IP4:01011001 10011001 00101011 11100011
IP5:01011001 10011001 00101011 11100100
IP6:01011001 10011001 00101011 11100101
IP7:01011001 10011001 00101011 11100110
IP8:01011001 10011001 00101011 11100111
我们说过0只能用来表示网络号,不能用于IP,所以上面的8个IP中,只有IP2-IP8是合法的,用十进制表示就是89.153.43.225-231,其中89.153.43.225是网关,89.153.43.231是广播地址,实际可用IP是89.153.43.226-230,因为这一组IP的网络号同为89.153.43.224,