zoukankan      html  css  js  c++  java
  • 网络技术--IPv4子网掩码的理解和计算。

    子网掩码就是为了划分同网段的主机数量。每类网段默认是254个。

    192.168.0.1/24与192.168.0.1/22是在两个不同的网段,不同子网掩码理论上是不能ping通,

    但是由于192.168.0.1/24这个网段有(主机范围)192.168.0.1-192.168.0.255这么多个(254)可互ping通的IP地址,

    而192.168.0.1/22这个网段有(主机范围)192.168.0.1-192.168.3.255这么多个(1022,相当于192.168.0.0、192.168.1.0、192.168.2.0、192.168.3.0四个网段)可互ping通的IP地址,包含了192.168.0.1/24这个网段,所以是可以互相ping通的,

    相反192.168.0.1/24与192.168.1.1/22是ping不通的,而192.168.0.1/22与192.168.1.1/22是可以互通的。

    1、一个网段主机数的多少计算。

           IP网段             子网掩码                            二进制转换                                          网络位(/)     主机位           划分子网数          该网段(每个子网范围)可用主机数       

    192.168.2.0          255.255.255.0    1111 1111.1111 1111.1111 1111.0000 0000                   24             8                       1                                       2^8-2=254                       

    172.20.0.0            255.255.0.0        1111 1111.1111 1111.1111 1111.0000 0000                   16            16                      1                                       2^16-2=65534                

    192.168.0.0          255.255.252.0    1111 1111.1111 1111.1111 1100.0000 0000                   22            10                      4                                       2^10-2=1022                   

    172.16.1.0            255.255.192.0    1111 1111.1111 1111.1100 0000.0000 0000                  18             14                      4                                      2^14-2=65534

    2、案例题

    已知 IP地址 172.31.128.255/18,试计算: 
    1、子网数目, 
    2、网络号, 
    3、主机号, 
    4、广播地址, 
    5、可分配IP的起止范围 

    解: 
    1、算子网数目 
    首先将/18换成为我们习惯的表示法 
    11111111.11111111.11000000.000000转为十进制就是255.255.192.0,可以看到这个掩码的左边两节和 
    B类默认掩码是一致的,所以这个掩码是在B类默认掩码的范围内,意味着我们将对B类大网进行子网划分。B类 
    掩码默类是用16位(16个0)来表示可分配的IP地址,本题中的掩码在B类默认掩码的基础上多出了两个表示网络 
    号的1,这就是说是将B类大网划分为(11)2进制个子网,将(11)2进制转换为十进制就是4,所以本题中是将B类 
    大网划分为4个子网。 

    2、算网络号 
    用公式计算:
    将IP地址的二进制和子网掩码的二进制进行“与”(and)运算,得到的结果就是网络号。“与运算”的规则是1和1得1,0和1得0,1和0得0。
    172.31.128.255转为二进制是10101100.00011111.10000000.11111111,子网掩码是 :11111111.11111111.11000000.00000000 
    所以: 
    10101100.00011111.10000000.11111111 
    11111111.11111111.11000000.00000000 
    10101100.00011111.10000000.00000000 
    将10101100.00011111.10000000.00000000 
    转换为十进制就是172.31.128.0,所以网络号是172.31.128.0 

    3、算主机号 
    也用公式计算:用IP地址的二进制和(子网掩码的二进制的反码)进行“与”运算,得到的结果就是主机号。反码 
    就是将原本是0的变为1,原本是1的变为0。由于掩码是11111111.11111111.11000000.00000000 
    所以其反码表示为00000000.00000000.00111111.11111111,再将IP地址的二进制和掩码的反码表示法进行 
    “与”运算: 
    10101100.00011111.10000000.11111111 
    00000000.00000000.00111111.11111111 
    00000000.00000000.00000000.11111111 
    将00000000.00000000.00000000.11111111 
    转换为十进制是0.0.0.255,我们将左边的0去掉,只留右边的数字,所以我们说这个IP的主机号是255。主机 
    号是表示网络号再加上255就是这个IP地址了。 

    4、算广播地址 
    也用公式计算:
    在得到网络号的基础上,将网络号右边的表示IP地址的主机部分的二进制位全部填上1,再将得到 
    的二进制数转换为十进制数就可以得到广播地址。因为本题中子网掩码是 
    11111111.11111111.11000000.00000000,网络号占了18位,所以本题中表示IP地址的主机部分的二进制位 
    是14位,我们将网络号172.31.128.0,转换为二进制是10101100.00011111.10000000.00000000,然后从右 
    边数起,将14个0全部替换为1,即:10101100.00011111.10111111.11111111,这就是这个子网的广播地 
    址的二进制表示法。将这个二进制广播地址转换为十进制就是172.31.191.255。(每个子网范围中最后一个IP地址就是广播号)

    5、算可用子网IP地址范围 
    因为网络号是172.31.128.0,广播地址是172.31.191.255,所以子网中可用的IP地址范围就是从网络号+1 到 
    广播地址-1,所以子网中的可用IP地址范围就是从172.31.128.1-172.31.191.254
  • 相关阅读:
    Executors提供的四种线程池和自定义线程池
    ava8并发教程:Threads和Executors
    Java 信号量 Semaphore 介绍
    Condition-线程通信更高效的方式
    ReentrantLock详解 以及与synchronized的区别
    FutureTask 源码解析
    Java多线程编程:Callable、Future和FutureTask浅析
    Callable 和 Runnable 的区别
    javascript之url转义escape()、encodeURI()和decodeURI()
    yii2.0安装ElasticSearch及使用
  • 原文地址:https://www.cnblogs.com/huanglinxin/p/9084805.html
Copyright © 2011-2022 走看看