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
来源:知乎

子网掩码与ip地址的关系的更多相关文章

  1. 网络编程学习笔记-MAC地址和IP地址的关系

    简单地说:ip地址是服务商给你的,mac地址是你的网卡物理地址. 一.IP地址 对于IP地址,相信大家都很熟悉,即指使用TCP/IP协议指定给主机的32位地址.IP地址由用点分隔开的4个8八位组构成, ...

  2. 【转载】IP地址和子网划分学习笔记之《子网掩码详解》

    原文地址: https://blog.51cto.com/6930123/2112748 一.子网掩码 IP地址是以网络号和主机号来标示网络上的主机的,我们把网络号相同的主机称之为本地网络,网络号不相 ...

  3. IP2——IP地址和子网划分学习笔记之《子网掩码详解》

    2018-05-04 16:21:21   在学习掌握了前面的<进制计数><IP地址详解>这两部分知识后,要学习子网划分,首先就要必须知道子网掩码,只有掌握了子网掩码这部分内容 ...

  4. HCNP学习笔记之IP地址、子网掩码、网关的关系

      0x00 概述 网络管理中的IP地址.子网掩码和网关是每个网管必须要掌握的基础知识,只有掌握它,才能够真正理解TCP/IP协议的设置. 以下我们就来深入浅出地讲解什么是子网掩码. IP地址的结构 ...

  5. IP地址、子网掩码、网关的关系

    网络管理中的IP地址.子网掩码和网关是每个网管必须要掌握的基础知识,只有掌握它,才能够真正理解TCP/IP协议的设置.以下我们就来深入浅出地讲解什么是子网掩码. IP地址的结构 要想理解什么是子网掩码 ...

  6. IP地址 子网掩码 默认网关和DNS服务器的关系

    在过去,男人是需要能够上房揭瓦的,是要能够修水管的.现在的男人是需要会装系统的,会设置路由器的.世界变化太快! 废话不多说,本文来讨论一下电脑上最为常见的几个网络参数:IP地址.子网掩码.默认网关和D ...

  7. 计算机网络: IP地址,子网掩码,默认网关,DNS服务器详解

    楔子: 以Windows系统中IP地址设置界面为参考(如图1), IP地址, 子网掩码, 默认网关 和 DNS服务器, 这些都是什么意思呢? 学习IP地址的相关知识时还会遇到网络地址,广播地址,子网等 ...

  8. IP地址、子网掩码和地址分类

    http://blog.csdn.net/bluishglc/article/details/47909593?utm_source=tuicool&utm_medium=referral 实 ...

  9. 计算机网络九:IP地址、子网掩码、默认网关、DHCP服务器、DNS服务器、WINS服务器

    一.IP地址与子网掩码 1.IP地址 ipv4下,ip地址=网络号+主机号. 2.子网掩码         子网掩码(subnet mask)又叫网络掩码.地址掩码.子网络遮罩,它是一种用来指明一个I ...

随机推荐

  1. k8s记录-node组件部署(十)

    1)CA 证书配置登录 192.168.0.1 app 用户下cd ssl/kubernetes#注意修改 KUBE_HOME,BOOTSTRAP_TOKEN #与 3.5 3)token 一致,KU ...

  2. es查询示例

    1. 建立连接 from elasticsearch import Elasticsearch es = Elasticsearch(["localhost:9200"]) 2. ...

  3. OCR(Optical Character Recognition)算法总结

    https://zhuanlan.zhihu.com/p/84815144 最全OCR资料汇总,awesome-OCR

  4. Nginx - 根据IP分配不同的访问后端

    1. 需求分析 为了在线上环境提供测试分支,规定将某IP转发到测试程序地址.如果是 ngx 直接对外,采用 real_ip 就能够做限制,但是最前端确实一个7层是负载均衡就需要研究一番了. 2. 实践 ...

  5. 仿简书MarkDown编辑器可同步滚动

    模仿简书的MarkDown编辑器,使用Angular8写的示例 1.支持同步滚动 编辑的过程中,右侧预览界面会同步滚动.滚动右侧预览界面,左侧编辑区也会同步滚动哦 2.支持语法高亮 如下: using ...

  6. 手把手教你创建electron+vue项目

    electron可以结合前端的很多框架来进行快速的开发.在这里只讲一种electron结合vue并且使用前端的elementui来快速搭建一个项目页面. 第一步.创建electron 以管理员身份运行 ...

  7. es内存不够

    8核32G 3台 ELS机器,当时只给es配置了8G内存,es的总体数据量大小将近30G(查看GET /_cat/shards?v)

  8. yzoj 2372 小B的数字 题解

    题意 判断是否存在一个序列 $ b_i $ 使得 $ \prod_{i = 1}^{n} b_i  | b_i^{a_i}$ 恒成立,其中 $ b_i $ 中的每个数都是2的正整数次幂. 样例输入 3 ...

  9. springboot2.x 使用redis (入门)

    在使用之前先简单介绍一下,redis和mongoDB这两个nosql的区别以及使用场景. 1. redis redis是一个分布式缓存.高性能的key-value数据库.支持存储的value类型包括s ...

  10. 【模板】bitset

    Bitset常用操作: bitset<size> s; //定义一个大小为size的bitset s.count(); //统计s中1的个数 s.set(); //将s的所有位变成1 s. ...