ITPub博客

首页 > Linux操作系统 > Linux操作系统 > [收藏整理]子网掩码与ip地址及计算方法

[收藏整理]子网掩码与ip地址及计算方法

原创 Linux操作系统 作者:lyhjimmy 时间:2013-03-27 13:51:05 0 删除 编辑
       我们知道ip地址是一个4字节(共32Bit)的数字,被分为4段,每段8位,段与段之间用句点分隔。为了便于表达和识别,IP地址是以十进制形式表示的 如210.52.207.2,每段所能表示的十进制数最大不超过255.IP地址由两部分组成,即网络号(Network ID)和主机号(Host ID)。网络号标识的是Internet上的一个子网,而主机号标识的是子网中的某台主机。网际地址分解成两个域后,带来了一个重要的优点:IP数据包从 网际上的一个网络到达另一个网络时,选择路径可以基于网络而不是主机。在大型的网际中,这一点优势特别明显,因为路由表中只存储网络信息而不是主机信息, 这样可以大大简化路由表。IP地址根据网络号和主机号的数量而分为A、B、C三类:     
      A类:0.0.0.0到126.255.255.255  用8位(Bit)来标识网络号,24位标识主机号,最前面一位为"0",即a类地址的第一段取值介于1~126之间。A类地址通常为大型网络而提供,全世 界总共只有126个可能的A类网络,每个A类网络最多可以连接16777214台主机。      B类:128.0.0.0到191.255.255.255  用16位来标识网络号,16位标识主机号,前面两位是"10".b类地址的第一段取值介于128~191之间,第一段和第二段合在一起表示网络号。
     B类地 址适用于中等规模的网络,全世界大约有16000个b类网络,每个B类网络最多可以连接65534台主机。     
     C类:192.0.0.0到223.255.255.255  用24位来标识网络号,8位标识主机号,前面三位是"110".C类地址的第一段取值介于192~223之间,第一段、第二段、第三段合在一起表示网络 号。最后一段标识网络上的主机号,C类地址适用于校园网等小型网络,每个C类网络最多可以有254台主机。     
     从上面的介绍我们知道,ip地址是以网络号和主机号来标示网络上的主机的,只有在一个网络号下的计算机之间才能"直接"互通,不同网络号的计算机要通过网 关(Gateway)才能互通。但这样的划分在某些情况下显得并十分不灵活。为此ip网络还允许划分成更小的网络,称为子网(Subnet),这样就产生 了子网掩码。子网掩码的作用就是用来判断任意两个IP地址是否属于同一子网络,这时只有在同一子网的计算机才能"直接"互通。那么怎样确定子网掩码 呢?   
     关于子网掩码:   
    前面介绍了IP地址的构成:网络号+主机号. 可IP地址的网络号和主机号各是多少位呢?如果不指定,就不知道哪些位是网络号、哪些是主机号,这就需要通过子网掩码来实现。  
    子网掩码的设定必须遵循一定的规则。与二进制IP地址相同,子网掩码由1和0组成,且1和0分别连续。子网掩码的长度也是32位,左边是网络位,用二进制 数字“1”表示,1的数目等于网络位的长度;右边是主机位,用二进制数字“0”表示,0的数目等于主机位的长度。如此,我们就可以很容易通过0的位数确定 子网的主机数(2的主机位数次方-2,因为主机号全为1时表示该网络广播地址,全为0时表示该网络的网络号,这是两个特殊地址)。只有通过子网掩码,才能 表明一台主机所在的子网与其他子网的关系,使网络正常工作。   
     子网掩码最主要的两个作用:一是用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。二是用于将一个大的 IP网络划分为若干小的子网络。    IP默认分配的子网掩码每段只有255或0    
     A类的默认子网掩码 255.0.0.0 一个子网最多可以容纳1677万多台电脑    
     B类的默认子网掩码 255.255.0.0 一个子网最多可以容纳6万台电脑    
     C类的默认子网掩码 255.255.255.0 一个子网最多可以容纳254台电脑 
  
     要想在同一网段,只要网络标识相同就可以了,那要怎么看网络标识呢?
     首先要做的是把每段的IP转换为二进制。(有人说,我不会转换耶,没关系,我们用 Windows自带计算器就行。打开计算器,点“查看”>>"科学型",输入十进制的数字,再点一下“二进制”这个单选点,就可以切换至二进 制了。)把子网掩码切换至二进制,我们会发现,所有的子网掩码是由一串连续的1和一串连续的0组成的(一共4段,每段8位,一共32位数)。   
     A类:  255.0.0.0 11111111.00000000.00000000.00000000   
     B类: 255.255.0.0 11111111.11111111.00000000.00000000   
    C类: 255.255.255.0 11111111.11111111.11111111.00000000   
    这是A/B/C三类默认子网掩码的二进制形式,
    根据前面的知识,所以可以确认子网掩码A,B,C三类的网络号是分别255、255.255、 255.255.255. 其中C类子掩码可以分配的子网主机(ip)数目为2的8(0的个数)次方-2,即256-2=254台主机.   

    判断ip 188.188.0.111,188.188.5.222,子网掩码都设为255.255.254.0,在同一网段吗?   
    计算:    IP(A)  188.188.0.111      10111100.10111100.00000000.01101111   
                 IP(B)  188.188.5.222  10111100.10111100.00000101.11011010    
                Mask 255.255.254.0   11111111.11111111.11111110.00000000 
    将IP(A)、IP(B)分别与Mask作逻辑与运算,结果如下:  
                 A=> 10111100.10111100.00000000.00000000  
                 B=> 10111100.10111100.00000100.00000000  
    很明显:A与B网络标识不一样,IP(A)与IP(B)不属于同一网段  

   实例:一个公司有530台电脑,组成一个对等网,子网掩码如何设?IP如何设?     
   计算:
   2的M次方=530,求得M=10
   那么子网掩码最后为10个0,如此便是:11111111.11111111.11111100.00000000   换成 十进制便是:255.255.252.0
   再看IP,我们选一个B类IP,例如:188.188.×.×
   前两段按B类要随便设就可以,关键是第三段,只要网 络标识相同就可以在同一网段就可以,
  我们先看网络标 识:255.255.252.0:11111111.11111111.11111100.00000000
                                       188.188.×.×: 10111100.10111100.??????××.××××××××
                  网络标识: 10111100.10111100.??????00.00000000
   上边×号无论填0和1结果都是0,?处填0和1都一样,我们就全填0,
   结果IP便是:10111100.10111100.000000××.××××××××,
    这个IP共有530台电脑,IP最后一段分给254台,一共要分 530/254=2.086段,进一法则要分成3段,所以IP地址000000××处分成三个不同的数据即可, 例:00000001,00000010,00000011,分别是1,2,3,这样IP地址就确定了 188.188.1.×,188.188.2.×,188.188.3.×。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21203649/viewspace-757262/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-03-24

  • 博文量
    54
  • 访问量
    110172