• 子网掩码与ip地址的关系


    1、什么是ip地址

           在网络中,所有的设备都会被分配一个地址。这个地址就相当于某条路上的XX号XX房。其中【号】对应的号码是分配了整个子网的,而【房】对应的号码是分配给子网中的计算机的,这就是网络中的地址。【号】对应的号码称为网络号,【房】对应的号码称为主机号,这个地址的整体称为IP地址。通过这个IP地址我们可以找到服务器的位置。

    2、IP地址的格式

    因为人类依赖十进制,所以这里的IP地址用十进制的方式表示

    要让机器识别,还是得转为二进制

    (十进制IP地址) 14.145.184.184

    (二进制IP地址) 00001110 . 10010001 . 10111000 . 10111000

    这种IP方式的表示方法,叫做IPV4,就是通过4*8=32位来表示每个IP地址

    这样的话,一共有多少个IP地址呢?

    最小地址 00000000 00000000 00000000 00000000 也就是 0.0.0.0

    最大地址 11111111 11111111 11111111 11111111 也就是 255.255.255.255

    IPV4的方式,最多可以表示 255 * 255 * 255 * 255 = 4228250625 个ip地址 = 40亿,目前已经用完了

    3、私有IP

    为了解决公网IP地址不足的情况,于是发明了私有IP (Private IP)

    比如一个家庭(公司)有几台电脑,每台电脑都拥有 私有IP,它们之间组成一个局域网

    这几个私有IP,可以通过某些技术(NAT),共同使用一个公有IP

    也就是说,一个公有IP,可以分出很多个很多个私有IP,这样IPV4不足的问题就解决了

    私有IP为了更好的管理,分为3种类型

    CLASS A:10.0.0.0 ~ 10.255.255.255
    CLASS B:172.16.0.0 ~ 172.31.255.255
    CLASS C:192.168.0.0 ~ 192.168.255.255

    4、IP地址是怎么构成的

    寻找IP地址,可以用快递寻找门牌号码类比

    每栋楼有楼号,比如4号楼,5号楼等
    每栋楼有门牌号,比如101号房,102号房等

    IP地址同样有两部分地址组成,分别是"网络地址(网络号)"和“主机地址(主机号)”

    不同的分类(A,B,C)划分的"网络号"和“主机号”是不同的,这里有个表

     

    只要IP地址的"网络号net_id(紫色)"相同,我们就把这几个IP地址称之为在同一个网段

    彼此可以相互访问,比如联机打游戏

    当主机号全为0的时候,代表着整栋楼第一个房子,又叫做网络地址 network ip

    当主机号全为1的时候,代表着整栋楼最后一个房子,又叫做广播地址broadcast ip

    5、子网掩码是啥?有什么作用?

    还是用楼房号来打比方好了

    在现实中,我们可以这样表示,1号楼201房间
    IP地址中,数字都是连在一起的,10101010.10101010.10101010.00000001
    我们怎么知道哪部分是楼号?哪部分是房间号呢?怎样划分呢?

    答案是通过——Netmask 子网掩码

    掩码的意思,就是把一部分的代码掩盖住,同时露出另一部分代码

    子网掩码,是为了掩盖住“网络号net_id”,暴露出“主机号host_id”

    用1表示掩盖
    用0表示暴露

    以这个为例,IP地址写法:10.10.10.1/24 10.10.10.1/25

    24说明了子网掩码遮住了24位,也说明了这个IP的“网络号net_id”是24位,网段占了24位

    25说明了子网掩码遮住了25位,也说明了这个IP的“网络号net_id”是25位,网段占了25位

    因为10.10.10.1/24 和 10.10.10.1/25的“网络号”不同,网段不同

    而网络地址(第一个IP地址),通过IP地址(二进制)和子网掩码(二进制)进行与操作得出

    10.10.10.1/24中的10.10.10.1二进制为10101010.10101010.10101010.00000001
    10.10.10.1/24中的子网掩码为11111111 11111111 11111111 00000000
    所以10.10.10.1/24中的网络地址为 10101010.10101010.10101010.00000000,即10.10.10.0
    10.10.10.1/24中的广播地址为 10101010.10101010.10101010.11111111,即10.10.10.255
    所以这个网段里,能分配给主机使用的一共有254个IP地址,从10.10.10.1~10.10.10.254

    10.10.10.1/25中的10.10.10.1二进制为10101010.10101010.10101010.00000001
    10.10.10.1/25中的子网掩码为11111111 11111111 11111111 10000000
    所以10.10.10.1/25中的网络地址为 10101010.10101010.10101010.00000000,即10.10.10.0
    10.10.10.1/25中的广播地址为10101010.10101010.10101010.01111111,即10.10.10.127
    (在网络地址变广播地址的时候,因为子网掩码掩盖了25位,所以只能最后27位变成1)
    所以在这个网段能,能分配给主机使用的一共有126个地址,从10.10.10.1~10.10.10.126

    10.10.10.1/24 和 10.10.10.1/25

    一个是子网掩码为24的10.10.10.1的IP地址

    一个是子网掩码为25的10.10.10.1的IP地址

    表面上两个IP地址是一样的,但因为子网掩码的不同,导致网段的不同

    好比一号楼有201号房间,二号楼也有201房间,但这两个房间,不是同一个房间

    10.10.10.1/24 和 10.10.10.1/25也是两个IP地址




     
    以上内容摘自知乎
    作者:知乎用户
    链接:https://www.zhihu.com/question/29723388/answer/66737890
    来源:知乎

  • 相关阅读:
    python类变量与成员变量,及模块中类变量共享
    python制作GUI界面---搞定软件界面编程
    pycharm运行PyQt5出现错误This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
    pycharm安装包下载慢的问题解决
    DNS隧道实验
    关于虚拟机win Server 2003只能打开百度网页其他网页都打不开??
    Python如何将决策树dot文件转化为png文件
    如何将虚拟机win7成功联网
    关于虚拟机win2003忘记登录密码(待解决)
    虚拟机kali忘记密码后问题解决&&kali用桥接模式成功联网
  • 原文地址:https://www.cnblogs.com/pachongshangdexuebi/p/11961897.html
Copyright © 2020-2023  润新知