找回密码
 注册

QQ登录

只需一步,快速开始

查看: 998|回复: 2
收起左侧

[注意][转帖] 子网掩码详解

[复制链接]
  • TA的每日心情
    无聊
    2014-7-18 12:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2004-8-15 12:49 | 显示全部楼层 |阅读模式
    子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。
    最为简单的理解就是两台计算机各自的IP地址与子网掩码进行AND运算后,如果得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯。就这么简单。
    请看以下示例:
    运算演示之一:aa
    I P 地址  192.168.0.1
    子网掩码  255.255.255.0
    AND运算
    转化为二进制进行运算:
    I P 地址 11010000.10101000.00000000.00000001
    子网掩码 11111111.11111111.11111111.00000000
    AND运算
         11000000.10101000.00000000.00000000
    转化为十进制后为:
          192.168.0.0
    运算演示之二:
    I P 地址  192.168.0.254
    子网掩码  255.255.255.0
    AND运算
    转化为二进制进行运算:
    I P 地址 11010000.10101000.00000000.11111110
    子网掩码 11111111.11111111.11111111.00000000
    AND运算
         11000000.10101000.00000000.00000000
    转化为十进制后为:
          192.168.0.0
    运算演示之三:
    I P 地址  192.168.0.4
    子网掩码  255.255.255.0
    AND运算
    转化为二进制进行运算:
    I P 地址 11010000.10101000.00000000.00000100
    子网掩码 11111111.11111111.11111111.00000000
    AND运算
         11000000.10101000.00000000.00000000
    转化为十进制后为:
          192.168.0.0
      通过以上对三组计算机IP地址与子网掩码的AND运算后,我们可以看到它运算结果是一样的。均为192.168.0.0
      所以计算机就会把这三台计算机视为是同一子网络,然后进行通讯的。我现在单位使用的代理服务器,内部网络就是这样规划的。
    也许你又要问,这样的子网掩码究竟有多少了IP地址可以用呢?你可以这样算。
    根据上面我们可以看出,局域网内部的ip地址是我们自己规定的(当然和其他的ip地址是一样的),这个是由子网掩码决定的通过对255.255.255.0的分析。可得出:
      前三位IP码由分配下来的数字就只能固定为192.168.0  所以就只剩下了最后的一位了,那么显而易见了,ip地址只能有(2的8次方-1),即256-1=255一般末位为0或者是255的都有其特殊的作用。
    那么你可能要问了:如果我的子网掩码不是255.255.255.0呢?你也可以这样做啊假设你的子网掩码是255.255.128.0
    那么你的局域网内的ip地址的前两位肯定是固定的了(什么,为什么是固定的?你看上边不就明白了吗?·#¥)
    这样,你就可以按照下边的计算来看看同一个子网内到底能有多少台机器 1、十进制128 = 二进制1000 0000
    2、IP码要和子网掩码进行AND运算
    3、
    I P 地址 00010000.01001001.1*******.********
    子网掩码 11111111.11111111.10000000.00000000
    AND运算
         00010000.01001001.10000000.00000000
    转化为十进制后为:
          16 . 73 . 128 . 0
    4、可知我们内部网可用的IP地址为:
    00010000.01001001.10000000.00000000
           到
    00010000.01001001.11111111.11111111
    5、转化为十进制:
    16.73.128.0 到 16.73.255.255
    6、0和255通常作为网络的内部特殊用途。通常不使用。 7、于是最后的结果如下:我们单位所有可用的IP地址为:
    192.168.128.1-192.168.128.254
    192.168.129.1-192.168.129.254
    192.168.130.1-192.168.130.254
    192.168.131.1-192.168.131.254
    . . . . . . . . . . . . .
    192.168.139.1-192.168.139.254
    192.168.140.1-192.168.140.254
    192.168.141.1-192.168.141.254
    192.168.142.1-192.168.142.254
    192.168.143.1-192.168.143.254
    . . . . . . . . . . . . .
    192.168.254.1-192.168.254.254
    192.168.255.1-192.168.255.254
    8、总数为(255-128+1)*(254-1+1) =128 * 254 = 32512
    FAINT!!!!@#!@把我们公司都买了还买不了这么多的机器呢!·¥!·#
    9、看看的结果是否正确
      (1)、设定IP地址为192.168.128.1
        Ping 192.168.129.233通过测试
        访问http://192.168.129.233可以显示出主页
      (2)、设定IP地址为192.168.255.254
        Ping 192.168.129.233通过测试
        访问http://192.168.129.233可以显示出主页
    10、结论
      以上证明我们的结论是对的。现在你就可以看你的子网中能有多少台机器了
    255.255.255.128
    分解:
    11111111.11111111.11111111.1000000
    所以你的内部网络的ip地址只能是
    xxxxxxxx.xxxxxxxx.xxxxxxxx.0???????

    xxxxxxxx.xxxxxxxx.xxxxxxxx.01111111
    怎么样,这下你知道多少了吧?
    IP地址(IP Address)的概念及其子网掩码(Subnet Mask)的计算对于首次学习网络知识的初学者来说是一件比较困难的事情。下文所述的是我个人的一些心得,望大家指正。
    按照目前使用的IPv4的规定,对IP地址强行定义了一些保留地址,即:“网络地址”和“广播地址”。所谓“网络地址”就是指“主机号”全为“0”的IP地址,如:125.0.0.0(A类地址);而“广播地址”就是指“主机号”全为“255”时的IP地址,如:125.255.255.255(A类地址)。
    而子网掩码,则是用来标识两个IP地址是否同属于一个子网。它也是一组32位长的二进制数值,其每一位上的数值代表不同含义:为“1”则代表该位是网络位;若为“0”则代表该位是主机位。和IP地址一样,人们同样使用“点式十进制”来表示子网掩码,如:255.255.0.0。
    如果两个IP地址分别与同一个子网掩码进行按位“与”计算后得到相同的结果,即表明这两个IP地址处于同一个子网中。也就是说,使用这两个IP地址的两台计算机就像同一单位中的不同部门,虽然它们的作用、功能、乃至地理位置都可能不尽相同,但是它们都处于同一个网络中。
    子网掩码计算方法
    自从各种类型的网络投入各种应用以来,网络就以不可思议的速度进行大规模的扩张,目前正在使用的IPv4也逐渐暴露出了它的弊端,即:网络号占位太多,而主机号位太少。目前最常用的一种解决办法是对一个较高类别的IP地址进行细划,划分成多个子网,然后再将不同的子网提供给不同规模大小的用户群使用。使用这种方法时,为了能有效地提高IP地址的利用率,主要是通过对IP地址中的“主机号”的高位部分取出作为子网号,从通常的“网络号”界限中扩展或压缩子网掩码,用来创建一定数目的某类IP地址的子网。当然,创建的子网数越多,在每个子网上的可用主机地址的数目也就会相应减少。
    要计算某一个IP地址的子网掩码,可以分以下两种情况来分别考虑。
    第一种情况:
    无须划分成子网的IP地址。
    一般来说,此时计算该IP地址的子网掩码非常地简单,可按照其定义就可写出。例如:某个IP地址为12.26.43.0,无须再分割子网,按照定义我们可以知道它是一个A类地址,其子网掩码应该是255.0.0.0;若此IP地址是一个B类地址,则其子网掩码应该为255.255.0.0;如果它是C类地址,则其子网掩码为255.255.255.0。其它类推。
    第二种情况:
    要划分成子网的IP地址。
    在这种情况下,如何方便快捷地对于一个IP地址进行划分,准确地计算每个子网的掩码,方法的选择很重要。下面我介绍两种比较便捷的方法:
    当然,在求子网掩码之前必须先清楚要划分的子网数目,以及每个子网内的所需主机数目。
    方法一:利用子网数来计算。
    1.首先,将子网数目从十进制数转化为二进制数;
    2.接着,统计由“1”得到的二进制数的位数,设为N;
    3.最后,先求出此IP地址对应的地址类别的子网掩码。再将求出的子网掩码的主机地址部分(也就是“主机号”)的前N位全部置1,这样即可得出该IP地址划分子网的子网掩码。
    例如:需将B类IP地址167.194.0.0划分成28个子网:
    1)(28)10=(11100)2;
    2)此二进制的位数是5,则N=5;
    3)此IP地址为B类地址,而B类地址的子网掩码是255.255.0.0,且B类地址的主机地址是后2位(即0-255.1-254)。于是将子网掩码255.255.0.0中的主机地址前5位全部置1,就可得到255.255.248.0,而这组数值就是划分成 28个子网的B类IP地址 167.194.0.0的子网掩码。
    方法二:利用主机数来计算。
    1.首先,将主机数目从十进制数转化为二进制数;
    2.接着,如果主机数小于或等于254(注意:应去掉保留的两个IP地址),则统计由“1”中得到的二进制数的位数,设为N;如果主机数大于254,则 N>8,也就是说主机地址将超过8位;
    3.最后,使用255.255.255.255将此类IP地址的主机地址位数全部置为1,然后按照“从后向前”的顺序将N位全部置为0,所得到的数值即为所求的子网掩码值。
    例如:需将B类IP地址167.194.0.0划分成若干个子网,每个子网内有主机500台:
    1)(500)10=(111110100)2;
    2)此二进制的位数是9,则N=9;
    3)将该B类地址的子网掩码255. 255.0.0的主机地址全部置 1,得到255.255.255.255。然后再从后向前将后9位置0,可得:11111111. 11111111.11111110.00000000即255.255.254.0。这组数值就是划分成主机为500台的B类IP地址167.194.0.0的子网掩码。

  • TA的每日心情
    开心
    2023-4-15 08:35
  • 签到天数: 462 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2004-8-15 21:30 | 显示全部楼层

    [注意][转帖] 子网掩码详解

    嗯,有空需要的人多看看
    回复 支持 反对

    使用道具 举报

    人生游戏 该用户已被删除
    发表于 2004-12-31 14:37 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    QQ|小黑屋|《唐诗宋词》网站 ( 苏ICP备2021032776号 )

    GMT+8, 2025-7-19 23:18 , Processed in 0.072023 second(s), 20 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表