`
fanjava
  • 浏览: 235670 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

IP和子网掩码

阅读更多


IP是由四段数字组成,在此,我们先来了解一下3类常用的IP
  A类IP段  0.0.0.0 到127.255.255.255
  B类IP段  128.0.0.0 到191.255.255.255
  C类IP段  192.0.0.0 到223.255.255.255
  XP默认分配的子网掩码每段只有255或0
  A类的默认子网掩码 255.0.0.0     一个子网最多可以容纳1677万多台电脑
  B类的默认子网掩码 255.255.0.0    一个子网最多可以容纳6万台电脑
  C类的默认子网掩码 255.255.255.0   一个子网最多可以容纳254台电脑
  我以前认为,要想把一些电脑搞在同一网段,只要IP的前三段一样就可以了,今天,我才知道我错了。如果照我这说的话,一个子网就只能容纳254台电脑?真是有点笑话。我们来说详细看看吧。
  要想在同一网段,只要网络标识相同就可以了,那要怎么看网络标识呢?首先要做的是把每段的IP转换为二进制。(有人说,我不会转换耶,没关系,我们用Windows自带计算器就行。打开计算器,点查看>科学型,输入十进制的数字,再点一下“二进制”这个单选点,就可以切换至二进制了。)
  把子网掩码切换至二进制,我们会发现,所有的子网掩码是由一串连续的1和一串连续的0组成的(一共4段,每段8位,一共32位数)。
  255.0.0.0   11111111.00000000.00000000.00000000
  255.255.0.0  11111111.11111111.00000000.00000000
  255.255.255.0 11111111.11111111.11111111.00000000
  这是A/B/C三类默认子网掩码的二进制形式,其实,还有好多种子网掩码,只要是一串连续的1和一串连续的0就可以了(每段都是8位)。如11111111.11111111.11111000.00000000,这也是一段合法的子网掩码。子网掩码决定的是一个子网的计算机数目,计算机公式是2的m次方,其中,我们可以把m看到是后面的多少颗0。如255.255.255.0转换成二进制,那就是11111111.11111111.11111111.00000000,后面有8颗0,那m就是8,255.255.255.0这个子网掩码可以容纳2的8次方(台)电脑,也就是256台,但是有两个IP是不能用的,那就是最后一段不能为0和255,减去这两台,就是254台。我们再来做一个。
  255.255.248.0这个子网掩码可以最多容纳多少台电脑?
  计算方法:
  把将其转换为二进制的四段数字(每段要是8位,如果是0,可以写成8个0,也就是00000000)
  11111111.1111111.11111000.00000000
  然后,数数后面有几颗0,一共是有11颗,那就是2的11次方,等于2048,这个子网掩码最多可以容纳2048台电脑。
  一个子网最多可以容纳多少台电脑你会算了吧,下面我们来个逆向算法的题。
  一个公司有530台电脑,组成一个对等局域网,子网掩码设多少最合适?
  首先,无疑,530台电脑用B类IP最合适(A类不用说了,太多,C类又不够,肯定是B类),但是B类默认的子网掩码是255.255.0.0,可以容纳6万台电脑,显然不太合适,那子网掩码设多少合适呢?我们先来列个公式。
  2的m次方=560
  首先,我们确定2一定是大于8次方的,因为我们知道2的8次方是256,也就是C类IP的最大容纳电脑的数目,我们从9次方一个一个试2的9次方是512,不到560,2的10次方是1024,看来2的10次方最合适了。子网掩码一共由32位组成,已确定后面10位是0了,那前面的22位就是1,最合适的子网掩码就是:11111111.11111111.11111100.00000000,转换成10进制,那就是255.255.252.0。
  分配和计算子网掩码你会了吧,下面,我们来看看IP地址的网段。
  相信好多人都和偶一样,认为IP只要前三段相同,就是在同一网段了,其实,不是这样的,同样,我样把IP的每一段转换为一个二进制数,这里就拿IP:192.168.0.1,子网掩码:255.255.255.0做实验吧。
  192.168.0.1
  11000000.10101000.00000000.00000001
  (这里说明一下,和子网掩码一样,每段8位,不足8位的,前面加0补齐。)
  IP    11000000.10101000.00000000.00000001
  子网掩码  11111111.11111111.11111111.00000000
  在这里,向大家说一下到底怎么样才算同一网段。
  要想在同一网段,必需做到网络标识相同,那网络标识怎么算呢?各类IP的网络标识算法都是不一样的。A类的,只算第一段。B类,只算第一、二段。C类,算第一、二、三段。
  算法只要把IP和子网掩码的每位数AND就可以了。
  AND方法:0和1=0 0和0=0 1和1=1
  如:And 192.168.0.1,255.255.255.0,先转换为二进制,然后AND每一位
  IP      11000000.10101000.00000000.00000001
  子网掩码    11111111.11111111.11111111.00000000
  得出AND结果  11000000.10101000.00000000.00000000
  转换为十进制192.168.0.0,这就是网络标识,
  再将子网掩码反取,也就是00000000.00000000.00000000.11111111,与IP AND
  得出结果00000000.00000000.00000000.00000001,转换为10进制,即0.0.0.1,
  这0.0.0.1就是主机标识。要想在同一网段,必需做到网络标识一样。
  我们再来看看这个改为默认子网掩码的B类IP
  如IP:188.188.0.111,188.188.5.222,子网掩码都设为255.255.254.0,在同一网段吗?
  先将这些转换成二进制
  188.188.0.111 10111100.10111100.00000000.01101111
  188.188.5.222 10111100.10111100.00000101.11011010
  255.255.254.0 11111111.11111111.11111110.00000000
分别AND,得
  10111100.10111100.00000000.00000000
  10111100.10111100.00000100.00000000
  网络标识不一样,即不在同一网段。
  判断是不是在同一网段,你会了吧,下面,我们来点实际的。
  一个公司有530台电脑,组成一个对等局域网,子网掩码和IP设多少最合适?
  子网掩码不说了,前面算出结果来了11111111.11111111.11111100.00000000,也就是255.255.252.0
  我们现在要确定的是IP如何分配,首先,选一个B类IP段,这里就选188.188.x.x吧
  这样,IP的前两段确定的,关键是要确定第三段,只要网络标识相同就可以了。我们先来确定网络号。(我们把子网掩码中的1和IP中的?对就起来,0和*对应起来,如下:)
  255.255.252.0 11111111.11111111.11111100.00000000
  188.188.x.x  10111100.10111100.??????**.********
  网络标识   10111100.10111100.??????00.00000000
  由此可知,?处随便填(只能用0和1填,不一定全是0和1),我们就用全填0吧,*处随便,这样呢,我们的IP就是
  10111100.10111100.000000**.********,一共有530台电脑,IP的最后一段1~254可以分给254台计算机,530/254=2.086,采用进1法,得整数3,这样,我们确定了IP的第三段要分成三个不同的数字,也就是说,把000000**中的**填三次数字,只能填1和0,而且每次的数字都不一样,至于填什么,就随我们便了,如00000001,00000010,00000011,转换成二进制,分别是1,2,3,这样,第三段也确定了,这样,就可以把IP分成188.188.1.y,188.188.2.y,188.188.3.y,y处随便填,只要在1~254范围之内,并且这530台电脑每台和每台的IP不一样,就可以了。
  有人也许会说,既然算法这么麻烦,干脆用A类IP和A类默认子网掩码得了,偶要告诉你的是,由于A类IP和A类默认子网掩码的主机数目过大,这样做无疑是大海捞针,如果同时局域网访问量过频繁、过大,会影响效率的,所以,最好设置符合自己的IP和子网掩码

分享到:
评论

相关推荐

    js用ip和子网掩码计算网络地址

    用js实现通过ip和子网掩码计算出网络地址

    根据IP和子网掩码算出网络地址、广播地址、地址范围、主机数

    根据IP和子网掩码算出网络地址、广播地址、地址范围、主机数

    根据输入IP和子网掩码计算网段小工具

    对于初学者来说,也是一个了解和实践网络基础知识的好工具,通过实际操作,可以更直观地理解IP地址、子网掩码和网段的概念。 总的来说,理解和掌握IP地址、子网掩码以及它们在确定网段中的作用,是每位IT专业人员的...

    C语言 根据IP,子网掩码计算广播地址

    子网掩码则用于确定IP地址中的网络部分和主机部分,也是一个32位的二进制数。 计算广播地址的过程涉及到IP地址与子网掩码的逻辑或运算。广播地址是在一个子网内可以发送到所有设备的地址,它是IP地址的主机部分全部...

    获取、修改计算机的IP地址及子网掩码

    在计算机网络中,IP地址和子网掩码是两个至关重要的概念。IP地址是互联网协议地址(Internet Protocol Address)的缩写,它是网络上设备的身份标识。子网掩码(Subnet Mask)则是用来判断任意一个IP地址的网络部分和...

    IP和子网掩码的区别

    IP地址和子网掩码是网络通信中的两个关键概念,它们共同决定了网络的结构和地址的分配。IP地址是一个32位的二进制数值,通常被分为四部分,每部分用十进制表示,范围从0到255,用于唯一标识互联网上的设备。根据第一...

    IpRangeUtil;java 校验Ip段(子网掩码)

    IpRangeUtil;java 校验Ip段(子网掩码); 支持 iptables.patterns=10.0.0.0/8,192.168.0.0/16,172.16.0.0/12,202.195.129.240/28,202.195.128.0/20

    学习电脑信息IP和子网掩码详解

    学习电脑信息IP和子网掩码详解

    IP地址子网掩码计算器

    本篇文章将详细解析“IP地址子网掩码计算器”的相关知识点,帮助读者理解和运用这些概念。 首先,我们来理解IP地址。IP(Internet Protocol)地址是互联网上的唯一标识符,用于区分网络中的设备。IPv4是最常见的...

    最基础的IP和子网掩码见解

    IP地址和子网掩码是计算机网络中两个基础概念,对于初学者来说,理解它们的原理和作用至关重要。IP地址,全称为Internet Protocol Address,是互联网上的设备唯一识别标识,通常由四组数字组成,每组数字范围在0到...

    IP地址与子网掩码的学习心得

    本文将从IP地址和子网掩码的学习心得开始,对IP地址和子网掩码的概念进行详细的解释。 首先,需要明确的是,IP地址是 Internet Protocol 的缩写,它是用于标识网络中的设备的唯一标识符。IP地址是由32位二进制数...

    子网掩码计算器(保证是你见过的最好的支持IPV6)

    1. **子网划分**:用户可以输入一个IPv4或IPv6地址和所需的子网数量,计算器将自动计算出相应的子网掩码和每个子网的地址范围。 2. **IP地址解析**:输入一个IP地址,计算器会显示其对应的子网掩码、网络地址和广播...

    500台以上电脑的局域网IP、子网掩码配制实战

    在这里,我们将深入探讨局域网IP和子网掩码的配置实战,包括IP地址的分类、子网掩码的概念、IP地址的分配和计算子网掩码的方法。 IP地址分类 -------- IP地址可以分为A、B、C三类,分别对应不同的IP段。 * A类IP...

    php 根据ip和子网掩码获取接口中使用和未使用信息

    使用php 根据提供的ip地址和子网掩码来获取ip地址在接口中使用和未使用信息,详情请下载,使用php 根据提供的ip地址和子网掩码来获取ip地址在接口中使用和未使用信息,详情请下载

    ip和子网掩码相关知识PPT教案.pptx

    ip和子网掩码相关知识PPT教案.pptx

    java IP地址网段计算的示例代码

    Java IP地址网段计算是网络编程中的一个重要概念,它可以帮助开发者计算出某个IP地址的网段信息,包括网段的起始IP、结束IP和子网掩码等。在Java语言中,可以使用各种算法和技巧来实现IP地址网段计算。下面是一个...

    IP 子网掩码计算工具 V1.0.0.0

    IP子网掩码计算工具V1.0.0.0是一款专为网络管理员和IT专业人员设计的实用软件,它能够帮助用户高效地进行IP地址与子网掩码的相关计算,简化网络规划与管理的工作。本文将详细介绍这款工具的功能、工作原理以及如何...

    子网掩码计算器下载/子网掩码计算器单机版--亲测好用

    子网掩码计算器下载/子网掩码计算器单机版--亲测好用 子网掩码计算器下载/子网掩码计算器单机版--亲测好用 子网掩码计算器下载/子网掩码计算器单机版--亲测好用 子网掩码计算器下载/子网掩码计算器单机版--亲测好用 ...

Global site tag (gtag.js) - Google Analytics