子网掩码和ip地址的关系_ip地址和子网掩码求网络地址

子网掩码和ip地址的关系_ip地址和子网掩码求网络地址1、什么是ip地址在网络中,所有的设备都会被分配一个地址。这个地址就相当于某条路上的XX号XX房。其中【号】对应的号码是分配了整个子网的,而【房】对应的号码是分配给子网中的计算机的,这就是网络中的地

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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地址的关系_ip地址和子网掩码求网络地址

 

只要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

来源:知乎

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/166912.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • dubbo负载均衡策略解析

    dubbo负载均衡策略解析dubbo负载均衡策略前言:在上一篇博客中,介绍了zookeeper作为dubbo的注册中心是如何工作的,有一个很重要的点,我们的程序是分布式应用,服务部署在几个节点(服务器)上,当消费者调用服务时,zk返回给dubbo的是一个节点列表,但是dubbo只会选择一台服务器,那么它究竟会选择哪一台呢?这就是dubbo的负载均衡策略了,本篇博客就来聚焦dubbo的负载均衡策略。本篇博客的目录一:负载均衡介绍1.1:负载均衡简介以下是wikipedia对负载均衡的定义:负载均衡改善…

  • 关于cpp中左值和右值的细枝末节

    一、基本概念  本文主要分析右值引用中的:移动语意(movesemantics)。  要想理解右值,首先得能够判断具体什么是右值,先来看一些关于右值的判定条件:  一、任何表达式不是左值就是右值,左值和右值只的是针对表达式定义的。      这个比较容易理解,inttemp=10,func(),doublea=0.0,x++,++x,*ptr,x+y这些都是…

  • 分形之谢尔宾斯基(Sierpinski)地毯

    分形之谢尔宾斯基(Sierpinski)地毯前面讲了谢尔宾斯基三角形,和这一节的将把三角形变为正方形,即谢尔宾斯基地毯,它是由瓦茨瓦夫·谢尔宾斯基于1916年提出的一种分形,是自相似集的一种。谢尔宾斯基地毯的构造与谢尔宾斯基三角形相似

  • python文件保存后缀名_python文件后缀名是什么

    python文件保存后缀名_python文件后缀名是什么pypy以py扩展名的文件是Python源码文件,由python.exe解释,可在控制台下运行。可用文本编辑器读写。pycpyc以pyc为扩展名的是Python的编译文件。其执行速度快于py文件且不能用文本编辑编辑查看。所以pyc文件往往代替py文件发布。Python在执行时,首先会将py文件中的源代码编译成PyCodeObject写入pyc文件,再由虚拟…

  • 数据结构之栈

    一标准库stack的使用(1)stack成员函数(2)示例二C++实现栈数组实现的栈,能存储任意类型的数据

    2021年12月19日
  • spug自动化运维平台开源项目部署搭建

    spug自动化运维平台开源项目部署搭建灵活、强大、功能全面的开源运维平台

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号