Skip to content

Latest commit

 

History

History
229 lines (111 loc) · 12.1 KB

File metadata and controls

229 lines (111 loc) · 12.1 KB

关于IP的一些计算

什么是子网掩码?

​ 子网掩码(subnet mask)又叫网络掩码地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址主机地址两部分。

​ 子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在广域网上。

子网掩码的功能:

子网掩码是一个32位地址,是与IP地址结合使用的一种技术。它的主要作用有两个,一是用于屏蔽IP地址的一部分以区别网络标识主机标识,并说明该IP地址是在局域网上,还是在远程网上。二是用于将一个大的IP网络划分为若干小的子网络。

使用子网是为了减少IP的浪费。因为随着互联网的发展,越来越多的网络产生,有的网络多则几百台,有的只有区区几台,这样就浪费了很多IP地址,所以要划分子网。使用子网可以提高网络应用的效率。

通过计算机的子网掩码判断两台计算机是否属于同一网段的方法是,将计算机十进制的IP地址和子网掩码转换为二进制的形式,然后进行二进制“与”(AND)计算(全1则得1,不全1则得0),如果得出的结果是相同的,那么这两台计算机就属于同一网段。 [4]

声明网络地址与主机地址

表 1 默认子网掩码 [3]

类别 子网掩码的二进制数值 子网掩码的十进制数值
A 11111111 00000000 00000000 00000000 255.0.0.0
B 11111111 11111111 00000000 00000000 255.255.0.0
C 11111111 11111111 11111111 00000000 255.255.255.0

子网掩码一定是配合IP地址来使用的。对于常用网络A、 B、C 类IP地址其默认子网掩码的二进制与十进制对应关系如表1所示。子网掩码工作过程是:将32位的子网掩码与IP地址进行二进制形式的按位逻辑“”运算得到的便是网络地址,将子网掩码二进制按位取反,然后IP地址进行二进制的逻辑“与”(AND)运算,得到的就是主机地址。如:192.168.10.10 AND 255.255.255.0,结果为192.168.10.0,其表达的含义为:该IP地址属于 192.168.10.0这个网络,其主机号为10,即这个网络中编号为10的主机。 [3]

划分子网

子网掩码机制提供了子网划分的方法。其作用是:减少网络上的通信量;节省IP地址;便于管理;解决物理网络本身的某些问题。使用子网掩码划分子网后,子网内可以通信,跨子网不能通信,子网间通信应该使用路由器,并正确配置静态路由信息。划分子网,就应遵循子网划分结构的规则。就是用连续的1在IP地址中增加表示网络地址,同时减少表示主机地址的位数。例如,IP地址为130.39.37.100,网络地址为130.39.0.0、子网地址为130.39.37.0、子网掩码为255.255.255.0,网络地址部分和子网标识部分为“1”所对应,主机标识部分为“0”所对应。 使用CIDR表示为:130.39.37.100/24即IP地址/ 掩码长度。其中第三个字节上的255 所对应的8位二进制数值就是将主机地址位数借给了网络地址部分,充当了划分子网的位数。

计算方式

由于子网掩码的位数决定于可能的子网数目和每个子网的主机数目。在定义子网掩码前,必须弄清楚本来使用的子网数和主机数目。

根据子网数

利用子网数来计算

在求子网掩码之前必须先搞清楚要划分的子网数目,以及每个子网内的所需主机数目。

1)将子网数目转化为二进制来表示

2)取得该二进制的位数,为 N

3)取得该IP地址的类子网掩码,将其主机地址部分的前N位置1 即得出该IP地址划分子网的子网掩码。

如欲将B类IP地址168.195.0.0划分成27个子网:

1)27=11011

2)该二进制为五位数,N = 5

3)将B类地址的子网掩码255.255.0.0的主机地址前5位置1(B类地址的主机位包括后两个字节,所以这里要把第三个字节的前5位置1),得到 255.255.248.0

即为划分成27个子网的B类IP地址 168.195.0.0的子网掩码(实际上是划成了32-2=30个子网)。 [5]

根据主机数

利用主机数来计算

1)将主机数目转化为二进制来表示

2)如果主机数小于或等于254(注意去掉保留的两个IP地址),则取得该主机的二进制位数,为 N,这里肯定N<8。如果大于254,则 N>8,这就是说主机地址将占据不止8位。

3)使用255.255.255.255来将该类IP地址的主机地址位数全部置1,然后从后向前的将N位全部置为 0,即为子网掩码值。

如欲将B类IP地址168.195.0.0划分成若干子网,每个子网内有主机700台:

  1. 700=1010111100

2)该二进制为十位数,N = 10

3)将该B类地址的子网掩码255.255.0.0的主机地址全部置1,得到255.255.255.255

然后再从后向前将后10位置0,即为: 11111111.11111111.11111100.00000000

即255.255.252.0。这就是该欲划分成主机为700台的B类IP地址168.195.0.0的子网掩码。

什么是IP?

​ IP是Internet Protocol(网际互连协议)的缩写,是TCP/IP体系中的网络层协议。设计IP的目的是提高网络的可扩展性:一是解决互联网问题,实现大规模、异构网络的互联互通;二是分割顶层网络应用和底层网络技术之间的耦合关系,以利于两者的独立发展。根据端到端的设计原则,IP只为主机提供一种无连接、不可靠的、尽力而为的数据报传输服务。

​ IP是整个TCP/IP协议族的核心,也是构成互联网的基础。IP位于TCP/IP模型的网络层(相当于OSI模型的网络层),对上可载送传输层各种协议的信息,例如TCP、UDP等;对下可将IP信息包放到链路层,通过以太网、令牌环网络等各种技术来传送。

相关计算:

第一关

已知一个ip地址是192.168.1.1,子网掩码是255.255.255.0,那么它的网络地址是多少?

在了解这个问题之前,我们先需要了解下,什么是网络地址?

ipP地址是由两部分组成:网络地址+主机地址。

网络地址可以确定ip地址的范围,ip地址其实跟身份证号比较像。

一个人身份证:共17位:

  • 前6位表示的是省、市、县区;
  • 7到14位表示是出生年月,
  • 15、16位表示是派出所。
  • 第17位是性别。
  • 而网络号就是相当于身份证的省、市、县区。

那么如何来算出网络地址呢?

详细计算:

将ip地址192.168.1.1转换为二进制:11000000.10101000.00000001.00000001

将子网掩码255.255.255.0转换成二进制:11111111.11111111.11111111.00000000

然后将两者相“与(and)"运算:

  • 11000000.10101000.00000001.00000001
  • 11111111.11111111.11111111.00000000

然后得到:11000000.10101000.00000001.00000000

转换成网络地址就是:192.168.1.0

第二关

已知某主机的ip地址是192.168.100.200,子网掩码为255.255.255.192,其网络内可用的ip地址个数为多少?

详细计算:

将子网掩码255.255.255.192转换为二进制:11111111.11111111.11111111.11000000

子网掩码共有26位,还有6位可用。

即2的6次方减去2,等于62,即有62个ip地址可用。

第三关

某公司申请到一个C 类IP 地址,只连接6 个子公司,最大的一个子公司有26 台计算机,每个子公司都分配在同一个网段,则子网掩码应设为多少合适?

首先一个C类的子网掩码为255.255.255.0,这个是最原始。但现在我们是有要求:

  • 连接6个子网
  • 且最大一个子网的ip地址为26个。

如何来设置这个子网掩码呢?

详细计算:

网络中的原则是ip地址与子网掩码越越精准,网络越易管理,故障越低。

首先来分析2的2次方等于4,2的3次方等于8,所以最准确网络中是容纳8个子网,最接近6个子网的划分即为255.255.255.224。我们再来验证下,每个子网的主机数量。

子网掩码255.255.255.224转化为二进制为:11111111.11111111.11111111.11100000

子网掩码为27位,那么主机位数为5位。

即可容纳的主机数为2的5次方减2,等于30。

完全符合一个子网内容纳26个ip地址。

所以最终的子网掩码为255.255.255.224

第四关

一个A类ip地址的子网掩码是255.255.240.0,共有几位被用来划分子网?且可以划分多少个子网?每个子网ip地址数量是多少?

详细计算:

将子网掩码255.255.240.0转换为二进制:11111111.11111111.11110000.00000000

子网掩码共有20位,而一个A类的ip地址的子网掩码是8位,即有12位被用来划分子网。

所以子网数为:2的12次方=4096个子网。

那么每个子网的主机数是多少呢?

因为ip地址为32位,网络号已为20位,则主机数12位。每个子网中的ip数量为2^12=4096,但是能够分配给计算机使用的只有4096-2=4094个,(减去一个网络地址与一个广播地址)。

第五关

10.135.255.19/255.255.255.248的广播地址是什么?

计算思路,要得到广播,先得出网络地址,然后把网络地址的主机位全换成1,便就是广播地址。

详细计算:

将ip地址10.135.255.19转换为二进制:00001010.10001001.11111111.00010011

将子网掩码255.255.255.248转换成二进制:11111111.11111111.11111111.11111000

然后将两者相“与(and)"运算:

  • 00001010.10001001.11111111.00010011
  • 11111111.11111111.11111111.11111000

然后得到:00001010.10001001.11111111.00010000

转换成网络地址就是:10.135.255.16

那么广播地址是多少呢?

从子网掩码可以看出,这个子网掩码是29位:11111111.11111111.11111111.11111000

也就是主机数还有3位可用。

00001010.10001001.11111111.00010000

把网络地址的后面三个零全换成1。

即可得出广播地址为:10.135.255.23