zoukankan      html  css  js  c++  java
  • 网络基础之IP地址和子网掩码

    IP地址

    IP是英文Internet Protocol的缩写,意思是“网络之间互连的协议”,也就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。正是因为有了IP协议,因特网才得以迅速发展成为世界上最大的、开放的计算机通信网络。因此,IP协议也可以叫做“因特网协议”。

    互联网是由许多小型网络构成的,每个网络上都有许多主机,这样便构成了一个有层次的结构。IP地址在设计时就考虑到地址分配的层次特点,将每个IP地址都分割成网络号和主机号两部分,以便于IP地址的寻址操作。

    IP地址是32位的二进制数值(IPV6是128位)用于在TCP/IP通讯协议中标记每台计算机的地址。通常我们使用点式十进制来表示,如192.168.1.5等等。

    每个IP地址又可分为两部分。即网络号部分和主机号部分:网络号表示其所属的网络段编号,主机号则表示该网段中该主机的地址编号。按照网络规模的大小,IP地址可以分为A、B、C、D、E五类,其中A、B、C类是三种主要的类型地址,D类专供多目传送用的多目地址,E类用于扩展备用地址。A、B、C三类IP地址有效范围如下表:

    image

    image

    子网掩码

    子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。

    子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。翻译一下就是:一是用于屏蔽IP地址的一部分以区别网络标识主机标识,并说明该IP地址是在局域网上,还是在远程网上。二是用于将一个大的IP网络划分为若干小的子网络。

    子网掩码是标志两个IP地址是否同属于一个子网的,也是32位二进制地址,其每一个为1代表该位是网络位,为0代表主机位。它和IP地址一样也是使用点式十进制来表示的。如果两个IP地址在子网掩码的按位与的计算下所得结果相同,即表明它们共属于同一子网中。

    在计算子网掩码时,我们要注意IP地址中的保留地址,即“ 0”地址和广播地址,它们是指主机地址或网络地址全为“ 0”或“ 1”时的IP地址,它们代表着本网络地址和广播地址,一般是不能被计算在内的。

    常用的子网掩码

    image

    子网掩码有数百种,这里只介绍最常用的两种子网掩码,它们分别是“255.255.255.0”和“255.255.0.0”。

    1. 子网掩码是“255.255.255.0”的网络:最后面一个数字可以在0~255范围内任意变化,因此可以提供256个IP地址。但是实际可用的IP地址数量是256-2,即254个,因为主机号不能全是“0”或全是“1”。

    2. 子网掩码是“255.255.0.0”的网络:后面两个数字可以在0~255范围内任意变化,可以提供65536个IP地址。但是实际可用的IP地址数量减2,即65534个。

    IP地址的子网掩码设置不是任意的。如果将子网掩码设置过大,也就是说子网范围扩大,那么,根据子网寻径规则,很可能发往和本地机不在同一子网内的目的机的数据,会因为错误的判断而认为目的机是在同一子网内。

    子网掩码的算法

    对于无须再划分成子网的IP地址来说:  如某B类IP地址为 10.14.3.0,无须再分割子网,则该IP地址的子网掩码为255.255.0.0; 如果它是一个C类地址,则其子网掩码为 255.255.255.0。

    一、利用子网数来计算:

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

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

    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,得到 255.255.248.0

    即为划分成 27个子网的B类IP地址 168.195.0.0的子网掩码。

    另: 把B类地址172.16.0.0划分成30个子网络,求掩码[255.255.248.0]

    二、利用主机数来计算

    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的子网掩码。

    另:把B类地址172.16.0.0划分成若干子网络,每个子网络能容纳500台主机,求掩码[255.255.254.0]

          三、利用子网掩码计算最大有效子网数

    A类IP地址,子网掩码为255.224.0.0,它所能划分的最大有效子网数是多少?

    ①将子网掩码转换成二进制表示11111111.11100000.00000000.00000000

    ②统计一下它的主机位 + 网络位共有11位

    ③A类地址网络位的基础数是8,二者之间的位数差是3

    ④最大有效子网数就是2的3次方,即最多可以划分8个子网络。

    四、利用子网掩码计算最大可用主机数

    A类IP地址,子网掩码为255.252.0.0,将它划分成若干子网络,每个子网络中可用主机数有多少?

    ①将子网掩码转换成二进制表示11111111.11111100.00000000.00000000

    ②统计一下它共有18位

    ③最大可用主机数就是2的18次方减2(除去全是0的网络地址和全是1广播地址),即每个子网络最多有262142台主机可用。

    五、利用子网掩码确定子网络的起止地址

    B类IP地址172.16.0.0,子网掩码为255.255.192.0,它所能划分的子网络起止地址是多少?

    ①利用子网掩码计算,最多可以划分2^2=4个子网络  --> 子网二进制  11111111.11111111.11.00000000000000

    ②利用子网掩码计算,每个子网络可容纳2^14=16384台主机(包括网络地址和广播地址,即二进制中的0全部改为1)

    ③用16384除以256(网段内包括网络地址和广播地址的全部主机数,因为一个最多256个),结果是64

    ④具体划分网络起止方法如下:

    172.16.0.0~172.16.63.255

    172.16.64.0~172.16.127.255

    172.16.128.0~172.16.191.255

    172.16.192.0~172.16.255.255

    六、其他

    1.一个主机的IP地址是211.112.18.137,掩码是255.255.255.224,要求计算这个主机所在网络的网络地址和广播地址。

    常规办法是:把这个主机地址和子网掩码都换算成二进制数,两者进行逻辑与运算后即可得到网络地址。

    另一种方法:255.255.255.224的掩码所容纳的IP地址有256-224=32个(包括网络地址和广播地址),那么具有这种掩码的网络地址一定是32的倍数。而网络地址是子网IP地址的开始,广播地址是结束,可使用的主机地址在这个范围内,因此略小于137而又是32的倍数的只有128,所以得出网络地址是211.112.18.128。而广播地址就是下一个网络的网络地址减1。而下一个32的倍数是160,因此可以得到广播地址为211.112.18.159。

    2.根据每个网络的主机数量进行子网地址的规划和计算子网掩码。

    比如一个子网有10台主机,那么对于这个子网需要的IP地址是:

    10+1+1+1=13

    注意:加的第一个1是指这个网络连接时所需的网关地址,接着的两个1分别是指网络地址和广播地址。因为13小于16(16等于2的4次方),所以主机位为4位。而

    256-16=240

    所以该子网掩码为255.255.255.240。

    如果一个子网有14台主机,不少人常犯的错误是:依然分配具有16个地址空间的子网,而忘记了给网关分配地址。这样就错误了,因为:

    14+1+1+1=17

    17大于16,所以我们只能分配具有32个地址(32等于2的5次方)空间的子网。这时子网掩码为:255.255.255.224

    以下是资深人士经验总结的关系表

    私为地址:有一类IP地址是不用申请可直接用于企业内部网的,这就是Private Address,Private Address不会被INTERNET上的任何路由器转发,欲接入INTERNET必须要通过NAT/PAT转换,以公有IP的形式接入。

    10.0.0.0-10.255.255.255(一个A类地址)
    172.16.0.0-172.31.255.255(16个B类地址)
    192.168.0.0-192.168.255.255(256个C类地址)
     

    A类IP地址段:1.0.0.0~126.255.255.255 私有地址段:10.0.0.0~10.255.255.255

    子网数、主机数与子网掩码的关系

    B类IP地址段:128.0.0.0~191.255.255.255 私有地址段:172.16.0.0~172.31.255.255
    子网数、主机数与子网掩码的关系

     

    C类IP地址段:192.0.0.0~223.255.255.255 私有地址段:192.168.0.0~192.168.255.255
    子网数、主机数与子网掩码的关系

    【更多参考】

    https://blog.csdn.net/yinshitaoyuan/article/details/51782330

    https://www.cnblogs.com/duhuo/p/4253964.html

    https://www.toutiao.com/i6575740167594705416/

  • 相关阅读:
    ASE19团队项目 beta阶段 model组 scrum report list
    ASE19团队项目 beta阶段 model组 scrum7 记录
    ASE19团队项目 beta阶段 model组 scrum6 记录
    ASE19团队项目 beta阶段 model组 scrum5 记录
    ASE19团队项目 beta阶段 model组 scrum4 记录
    ASE19团队项目 beta阶段 model组 scrum3 记录
    ASE19团队项目 beta阶段 model组 scrum2 记录
    ASE19团队项目 beta阶段 model组 scrum1 记录
    【ASE模型组】Hint::neural 模型与case study
    【ASE高级软件工程】第二次结对作业
  • 原文地址:https://www.cnblogs.com/ftl1012/p/9508259.html
Copyright © 2011-2022 走看看