有IP和子网掩码怎么计算出所在网段的有效起始IP和结束IP

2024-11-13 22:55:50
推荐回答(3个)
回答(1):

都转换2进制,再相与运算,得带网络地址 (第一个有效起始IP)

11000000.10101000.00001001.00001010    192.168.9.10

+

11111111.11111111.11111000.00000000      255.255.248.0

=

11000000.10101000.00001000.00000000     192.168.8.0        网络地址

有效IP范围 192.168.8.0--192.168.15.255

回答(2):

**********网络ID、主机ID和子网掩码
网络ID用来表示计算机属于哪一个网络,网络ID相同的计算机不需要通过路由器连接就能够直接通信,我们把网络ID相同的计算机组成一个网络称之为本地网络(网段);网络ID不相同的计算机之间通信必须通过路由器连接,我们把网络ID不相同的计算机称之为远程计算机。
当为一台计算机分配IP地址后,该计算机的IP地址哪部份表示网络ID,哪部份表示主机ID,并不由IP地址所属的类来确定,而是由子网掩码确定。子网确定一个IP地址属于哪一个子网。
子网掩码的格式是以连续的255后面跟连续的0表示,其中连续的255这部份表示网络ID;连续0部份表示主机ID。比如,子网掩码255.255.0.0和255.255.255.0。
根据子网掩码的格式可以发现,子网掩码有0.0.0.0、255.0.0.0、255.255.0.0、255.255.255.0和255.255.255.255共五种。采用这种格式的子网掩码每个网络中主机的数目相差至少为256倍,不利于灵活根据企业需要分配IP地址。比如,一个企业有2000台计算机,用户要么为其分配子网掩为255.255.0.0,那么该网络可包含65534台计算机,将造成63534个IP地址的浪费;要么用户为其分配8个255.255.255.0网络,那么必须用路由器连接这个8个网络,造成网络管理和维护的负担。
网络ID是IP地址与子网掩码进行与运算获得,即将IP地址中表示主机ID的部份全部变为0,表示网络ID的部份保持不变,则网络ID的格式与IP地址相同都是32位的二进制数;主机ID就是表示主机ID的部份。
例题1:IP地址:192.168.23.35 子网掩码:255.255.0.0

网络ID:192.168.0.0 主机ID:23.35
例题2:IP地址:192.168.23.35 子网掩码:255.255.255.0

网络ID:192.168.23.0 主机ID:35
************ 子网和CIDR
将常规的子网掩码转换为二进制,将发现子网掩格式为连续的二进制1跟连续0,其中子网掩码中为1的部份表示网络ID,子网掩中为0的表示主机ID。比如255.255.0.0转换为二进制为11111111 11111111 00000000 00000000。
在前面所举的例子中为什么不用连续的1部份表示网络ID,连续的0部份表示主机ID呢?答案是肯定的,采用这种方案的IP寻址技术称之为无类域间路由(CIDR)。CIDR技术用子网掩码中连续的1部份表示网络ID,连续的0部份表示主机ID。比如,网络中包含2000台计算机,只需要用11位表示主机ID,用21位表网络ID,则子网掩码表示为11111111.11111111.11100000.00000000,转换为十进制则为255.255.224.0。此时,该网络将包含2046台计算机,既不会造成IP地址的浪费,也不会利用路由器连接网络,增加额外的管理维护量。
CIDR表示方法:IP地址/网络ID的位数,比如192.168.23.35/21,其中用21位表示网络ID。
例题1:192.168.23.35/21
子网掩码:11111111 11111111 11111000 00000000则为255.255.248.0
网络ID:192.168.00010111.0(其中第三个字节红色部分表示网络ID,其他表示主机ID,网络ID是表示网络ID部份保持不变主机ID全部变为0)则网络ID为192.168.16.0
起始IP地址:192.168.16.1(主机ID不能全为0,全为0表示网络ID最后一位为1)
结束IP地址:192.168.00010111.11111110(主机ID不能全为1,全为1表示本地广播)则结束IP地址为:192.168.23.254。
例题2:将163.135.0.0划分为16个子网,计算前两个子网的网络ID、子网掩码、起止IP地址。
第1步:用CIDR表示163.135.0.0/20,则子网掩码为255.255.240(11110000).0。
第2步:第一网络ID(子网掩码与IP地址与运算):163.135.0.0

第一个IP地址:163.135.0.1 结束IP地址:163.135.15.254;
第3步:第二网络ID:163.135.16.0

第一个IP地址:163.135.16.1 结束IP地址:163.135.31.254。
*************** 子网掩码和网络ID的快速计算方法
CIDR的子网掩码都是连续的1跟连接的0表示,则子网掩码有以下几种表示方法:
0000 0000
0
1000 0000
128
1100 0000
128+64=192
1110 0000
128+64+32=224
1111 0000
255-15=240
1111 1000
255-7=248
1111 1100
255-3=252
1111 1110
255-1=254
1111 1111
255
大家都知道11111111的十进制数为255,那么我们怎么来快速计算子网掩码呢?二进制的1=1,11=3,111=7,1111=15;那么1111 1110=255-1,1111 1100=255-3,1111 1000=255-8,1111 0000=255-15这样是不是就很快呢?只要我们一旦确定子网掩码中有多少位表示网络ID,那么我们马上就可以写出子网掩码了。那么,对于1000 0000,1100 0000和1110 0000 我们又该怎么计算呢?27=8则1000 0000=128,1100 0000=128+64,1110 0000=128+64+32,所以我们不需要去记住每一个为多少,只需要做做简单的加减法就搞定子网掩码的计算。
网络ID的结果大家都知道网络ID部份不变,主机ID部分全部变为0,那么在计算网络ID时,首先看子网掩码中有多少位用来表示网络,相应在将IP地址转换为二进制时就只转换前面几位,比如192.168.176.15/19,网络ID一共19位,则网络ID前两个字节为192.168.X.0发生变化的为第三个字节。那么怎样快速计算出这个变化的X的值呢?我们知道第三字节只有三位表示网络ID,转换时176>128,第1位为1,176-128=48<64,第2位为0,48>32第3位为1,剩下的计算就没有意义了,全都要转换为0,则网络ID为10100000,则网络ID为192.168.160.0,这样计算反而出错的可能性很小。
************ 本地和远程网络概念
网络ID相同的计算机称之为本地网络,本地网络中的计算机相互通信不需要路由器连接;网络ID不相同的计算机称之为远程网络,远程网络中的计算机要相互通信必须通过路由器连接。
例题:192.168.10.14/28,192.168.10.15/28,192.168.10.16/28,192.168.10.31/28哪些是合法IP,哪些是非法IP地址?
主机ID全为0和主机ID全为1的为非法IP地址:192.168.10.15/28、192.158.10.16/28、192.168.10.31/28都是非法IP地址。
例题:192.168.10.14/28,192.168.10.15/28,192.168.10.16/28哪个不是同一网段?
网络ID相同的就属于同一网段,则192.168.10.16/28不属于同一网段。
********* 子网数和主机数的计算方法
例题:172.168.34.56/20,一共划分为了多少个子网,各子网可以包含多少台主机。
172.168.34.56是一个B类地址,B类地址用16位表示网络ID,题目中20位表示网络ID,则子网位数为4位,那么子网就有24次个(即从0000、0001到1111的16种变化)。
由于IP地址是32位,用20位表示网络ID,则主机ID的位数为12位,则每个子网可以包含212-2个IP地址,即可以包含4096个IP地址。
注意:为什么计算IP地址时要减2,而计算子网数目时不减2呢?IP地址减2的原因是主机ID不能全为0也不能全为1;子网就不存在这个问题。

回答(3):

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

2、一般的IP地址设置如下图。

3、网络标识的求法如下:将子网掩码的二进制与IP地址的二进制相“与”。

4、主机标识的求法:将子网掩码的二进制值取反后,再与IP地址进行与(AND)运算。

5、要判断两个IP地址是不是在同一个网段,就是比较网络标识(网络地址),如果网络标识相同,就在同一子网,否则,不在同一子网。