码迷,mamicode.com
首页 > 其他好文 > 详细

ip地址中的网络号,主机号

时间:2016-04-22 10:32:23      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:

 当前使用的IP地址有4个字节(32bit)组成,即IPV4编码方式。每个IP地址包括两部分:网络号和主机号。当分配给主机号的二进制位越多,则能标识的主机数就越多,相应地能标识的网络数就越少,反之同理。

   ip地址中的网络号,主机号有什么作用?

   打个很简单的比喻:网卡的MAC地址就像你身份证上的身份证号码,虽然是唯一的,但是寻址起来很麻烦;而IP地址就像你的家庭详细地址,楼上说的对:每个IP地址都是由两部分构成:网络号,主机号.其中,网络号标识某个网络,主机号标识在该网络上的一个特定的主机。这样就形成了一定的格式,正如地址写的是什么省,什么市,什么镇一样有层次感。这样通通信起来很容易定位。

   如何计算网络号和主机号?

   子网掩码的作用就是将某个IP地址划分成网络地址和主机地址两部分。

   子网掩码与ip地址按位与,就是ip地址的网络号。如:

   ① IP地址 192.9.200.13

   转换为二进制11000000000010011100100000001101

   ② 子网掩码255.255.255.0

   转换为二进制11111111111111111111111100000000

   ③ 将两个二进制数做按位与(&)运算后得出的结果即为网络部分

   11000000000010011100100000001101

   & 11111111111111111111111100000000

   ————————————————————-

   11000000000010011100100000000000

   = 192 . 9 . 200 . 0

   即网络号为192.9.200.0

   ④将子网掩码取反再与IP地址按位与(&)后得到的结果即为主机部分

   11000000000010011100100000001101

   & 00000000000000000000000011111111 — >已将掩码取反

   ————————————————————

   00000000000000000000000000001101

   = 0 . 0 . 0 . 13

   即主机号为13(或者0.0.0.13)。

   如何计算ip的二进制位?

   按点分割数字,按每个数字算出二进制形式,然后拼接在一起。

   如:128.11.3.31

   按点分割后是

   128 11 3 31

   每位的二进制形式

   10000000 00001011 00000011 00011111

   二进制拼接

   10000000000010110000001100011111

   ps:算十进制数字转二进制数字小窍门

   每8位二进制,各位从左到右对应的权值分别是 128,64,32,16, 8,4,2,1 。(即2的n-1次方,n是从右到左当前位的位数)

   所以随便拿一个256以内的数给你化为二进制,都可以分解为权值相加。对应的权值的位值为1,其他位为0即可。比如137,

   137=128+8+1,所以这几个权值对应的位应该是1,其他位为0,化为二进制即是:

   1000 1001

   ip地址分类

   IP地址分为五类,A类保留给政府机构,B类分配给中等规模的公司,C类分配给任何需要的人,D类用于组播,E类用于实验,各类可容纳的地址数目不同。

   A、B、C三类IP地址的特征:当将IP地址写成二进制形式时,A类地址的第一位总是0,B类地址的前两位总是10,C类地址的前三位总是110。

   技术分享

   子网掩码

   子网掩码除了可以使用255.255.255.0的这种表现形式外,还可以使用/30这种表现形式。如,nginx的配置文件中就可以使用这种形式定义网络。

   斜线/后的数字就是子网掩码中1的个数。

ip地址中的网络号,主机号

标签:

原文地址:http://www.cnblogs.com/leetieniu2014/p/5420258.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!