总结:IP地址、网络地址与子网掩码的理解-程序员宅基地

技术标签: 其它  网络协议  

一、IP地址

电脑之间要实现网络通信,就必须要有一个合法的ip地址。IP地址=网络地址+主机地址,(又称:主机号和网络号组成)

ip地址的结构使我们可以在Internet上很方便的寻址。ip地址通常用更直观的,以点分十进制表示,每个数字从0到255,如某一台主机的ip地址为:128.20.4.1。

在局域网里,同样也需要ip地址,一般内网的ip地址是以192.168开头的,这样很容易区分公网和内网的ip地址

【注】网络地址也叫做网络位置、网络号、网段、子网IP,都是描述属于哪个子网的同义词。

【注】IP地址和掩码均知道时才能确定主机所在的网段,任意一网段下的主机号不能全为0或全为1,主机号全为0表示该网络段的网络地址,全1是广播地址

二、彻底明白IP地址的含义

 不管是学习网络还是上网,IP地址都是出现频率非常高的词。Windows系统中设置IP地址的界面如图1所示,图中出现了IP地址,子网掩码,默认网关和DNS服务器这几个需要设置的地方,只有正确设置,网络才能通,那这些名词都是什么意思呢?

学习IP地址的相关知识时还会遇到网络地址,广播地址,子网等概念,这些又是什么意思呢?

要解答这些问题,先看一个日常生活中的例子。

如下图所示,住在北大街的住户要能互相找到对方,必须各自都要有个门牌号,这个门牌号就是各家的地址,门牌号的表示方法为:北大街+XX号。假如1号住户要找6号住户,过程是这样的:1号在大街上喊了一声:"谁是6号,请回答.",这时北大街的住户都听到了,但只有6号作了回答,这个喊的过程叫"广播",北大街的所有用户就是他的广播范围。

假如北大街共有20个用户,那广播地址就是:北大街 21号。也就是说,北大街的任何一个用户喊一声能让"广播地址-1"个用户听到。  

Internet网络中,每个上网的计算机都有一个像上述例子的地址,这个地址就是IP地址,是分配给网络设备的门牌号,为了网络中的计算机能够互相访问。

IP地址 = 网络地址 + 主机地址

假设IP地址是192.168.100.1,这个地址中包含了很多含义。如下所示:
网络地址(相当于街道地址):192.168.100.0 
主机地址(相当于各户的门号):0.0.0.1 
IP地址(相当于住户地址):网络地址+主机地址=192.168.100.1 
广播地址:192.168.100.255 

三、IP的类型

IP地址由网络标识和主机标志两部分组成。常用的IP地址有A、B、C三类,每类均规定了网络标识和主机标识在32位中所占的位数。

A类地址:0.0.0.0---127.255.255.255

B类地址:128.0.0.0---191.255.255.255

C类地址:192.0.0.0---223.255.255.255

A类地址通常分配给具有大量主机的网络使用,B类地址通常分配给规模中等的网络使用,C类地址通常分配给小型局域网使用。

四、为什么要计算网络地址


一句话,就是让网络中的计算机能够相互通讯。计算网络地址就是判断网络中的计算机在不在同一网络。在就能通,不在就不能通

先看看最简单的网络。下图两台计算机是用网线(交叉线)直接将两台计算机连起来的,下面是几种IP地址设置,看看在不同设置下网络是通还是不通。
1、设置1号机的IP地址为192.168.0.1子网掩码为255.255.255.0,2号机的IP地址为192.168.0.200子网掩码为255.255.255.0,这两台计算机就能正常通讯。
2、如果1号机地址不变,将2号机的IP地址改为192.168.1.200子网掩码还是为255.255.255.0,那这两台就无法通讯。
3、设置1号机的IP地址为192.168.0.1,子网掩码为255.255.255.192,2号机的IP地址为192.168.0.200,子网掩码为255.255.255.192,注意和第1种情况的区别在于子网掩码,1为255.255.255.0本例是255.255.255.192,这台计算机就不能正常通讯。

第1种情况能通是因为这两台计算机处在同一网络192.168.0.0,所以能通。而2,3种情况下两台计算机处在不同的网络,所以不通。
这里先给个结论:用网线直接连接的计算机或是通过HUB(集线器)或普通交换机间接的计算机之间要能够相互通,计算机必须要在同一网络,也就是说它们的网络地址必须相同,而且主机地址必须不一样。

如果不在一个网络就无法通。这就像我们上面举的例子,同是北大街的住户由于街道名称都是北大街,且各自的门牌号不同,所以能够相互找到对方。

计算网络地址就是判断网络中的计算机在不在同一网络。在就能通,不在就不能通。注意,这里说的在不在同一网络指的是IP地址而不是物理连接。那么如何计算呢 

五、子网掩码

子网掩码用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址主机地址两部分

在IP地址的某个网络标识中,可以包含大量的主机,而实际应用中不可能将这么多的主机连接在单一的网路中,这样给网络寻址和管理带来不便。

为解决这个问题,可以在网络中引入“子网”的概念。将主机标识域进一步划分为子网标识和子网主机标志,通过灵活定义子网标识域的位数,可以控制每个子网的规模,将一个大型网络划分成相互独立又相互联系的子网后,网络内部各子网便可以独立寻址和管理,各子网间通过跨子网的路由器连接,这样也提高了子网的安全性。

 子网掩码分类

1)缺省子网掩码

即未划分子网,对应的网络号的位都置 1 ,主机号都置 0 。

A 类网络缺省子网掩码: 255.0.0.0

B 类网络缺省子网掩码: 255.255.0.0

C 类网络缺省子网掩码: 255.255.255.0

2 )自定义子网掩码:

将一个网络划分为几个子网,需要每一段使用不同的网络号或子网号,实际上我们可以认为是将主机号分为两个部分:子网号、子网主机号。 形式如下:

未做子网划分的 IP 地址:网络号+主机号

做子网划分后的 IP 地址:网络号+子网号+子网主机号

也就是说 IP 地址在划分子网后,以前的主机号位置的一部分给了子网号,余下的是子网主机号。

六、如何计算网络地址

上面提到,网络地址就是判断网络中的计算机在不在同一网络。在就能通,不在就不能通

网络地址是怎么来的?是通过将IP地址和子网掩码地址进行运算得到的。

我们日常生活中的地址如:北大街1号,从字面上就能看出街道地址是北大街,而我们从IP地址中却难以看出网络地址,要计算网络地址,必须借助我们上边提到过的子网掩码。

计算过程是这样的,将IP地址和子网掩码都换算成二进制,然后进行与运算,结果就是网络地址。与运算如下所示,上下对齐,1位1位的算,1与1=1,其余组合都为0

  

例如:计算IP地址为:202.99.160.50子网掩码是255.255.255.0的网络地址步骤如下: 
1)将IP地址和子网掩码分别换算成二进制 
202.99.160.50 换算成二进制为 11001010·01100011·10100000·00110010 
255.255.255.0 换算成二进制为 11111111·11111111·11111111·00000000 
2)将二者进行与运算 

3)将运算结果换算成十进制,这就是网络地址. 
11001010·01100011·10100000·00000000换算成十进制就是202.99.160.0 

现在我们就可以解答上面三种情况的通与不通的问题了。

1、二台计算机的网络地址都为192.168.0.0且IP地址不同,所以可以通.。

2、1号机的网络地址为192.168.0.0,2号机的网络地址为192.168.1.0,不在一个网络,所以不通。

3、 1号机的网络地址为192.168.0.0,2号机的网络地址为192.168.0.192,不在一个网络,所以不通

七、案例理解

借助网络上的一个案例,具体如下:

从前有一个地主,有256间房子,地主家的门牌号码是“192.168.1”,那么他家第一间房子的门牌号码是192.168.1.0,第二间是192.168.1.1,…第256间的编号是192.168.1.255。

地主老了,需要把256间房子分给4个儿子,平均分配,每个儿子可以分64间。

请来一位先生主持公道,先生这么来操作:
192.168.1.0-192.168.1.63 分给大儿子
192.168.1.64-192.168.1.127 分给二儿子
192.168.1.128 -192.168.1.191 分给三儿子
192.168.1.192-192.168.1.255 分给四儿子

如何来描述四个儿子的子网网段呢?
192.168.1.0/26
192.168.1.64/26
192.168.1.128/26
192.168.1.192/26

/26是什么鬼?
255.255.255.192的二进制是多少? “11111111-11111111-11111111-11”大家数数一共多少个1?不用数了,是26个1,为了简化子网掩码的表示,用/26代替255.255.255.192。

按位与运算我们来看大儿子的网段192.168.1.0/26是如何得到的?

以大儿子的房间为例:
192.168.1.0-192.168.1.63

二进制表示:
192.168.1.0

11000000.10101000.00000001.00000000

192.168.1.63

11000000.10101000.00000001.00111111

首尾地址完全相同的是多少?
11000000.10101000.00000001.00

数数一共多少位?26位!那么用这个“192.168.1.0/26”就可以表示大儿子所有房间。

对照房间的门牌号码“192.168.1.199”,很显然属于四儿子的。

Q1:一个主机192.168.1.199/26 能否和直连主机192.168.1.200/24 通信?

可以的,因为都是四儿子的房间。

Q2:一个主机192.168.1.199/26 能否和直连主机192.168.1.1/24 通信? 

不可以,因为一个是大儿子的房间,一个是四儿子的房间,无法直连通信!

参考:

子网掩码有那么难吗?

IP地址与子网掩码

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/w2009211777/article/details/124036900

智能推荐

学习C++的第一步,环境搭建:Visual Studio的安装和创建C++项目_visual studio c++安装教程-程序员宅基地

文章浏览阅读9.7k次,点赞8次,收藏39次。无论学习任何语言,首先要有编译环境,这里介绍Visual Studio的安装和使用,作为后面C++学习的环境。当然,除了Visual Studio,还有qtcreater、vscode等IDE可以使用,可以根据自己的喜欢安装对应的软件。下面对Visual Studio的安装进行一个详细说明,对具体版本没有限制。_visual studio c++安装教程

有关SAP中等于空的问题_sap 固定值 為空-程序员宅基地

文章浏览阅读2.1k次。20.17. 表字段初始值、NULL等问题20.17.1. SE11表设置中的Initial Values如果一个表是新创建的,数据库中的所有字段都会被设计成非NULL,此时与钩不钩上“Initial Values”框没有关系,且都会设置默认值,并且所有的主键都会强制将“Initial Values”框钩上该标示只在修改表结构且在现有表结构增加一个字段时,才起..._sap 固定值 為空

[C/C++ -STL]vector底层实现机制刨析-程序员宅基地

文章浏览阅读7.2k次,点赞17次,收藏30次。一、vector底层实现机制刨析通过分析 vector 容器的源代码不难发现,它就是使用 3 个迭代器(可以理解成指针)来表示的:其中statrt指向vector 容器对象的起始字节位置;finish指向当前最后一个元素的末尾字节end_of指向整个 vector 容器所占用内存空间的末尾字节。如图 演示了以上这 3 个迭代器分别指向的位置如图 演示了以上这 2个迭代器分别指向的位置在此基础上,将 3 个迭代器两两结合,还可以表达不同的含义,例如:start 和 finish 可以用来表_vector底层实现

搭建5个节点的hadoop集群环境(CDH5)-程序员宅基地

文章浏览阅读1.9k次。提示:如果还不了解Hadoop的,可以下查看这篇文章Hadoop生态系统,通过这篇文章,我们可以首先大致了解Hadoop及Hadoop的生态系统中的工具的使用场景。搭建一个分布式的hadoop集群环境,下面是详细步骤,使用cdh5 。一、硬件准备基本配置:操作系统64位CPU(英特尔)Intel(R_cdh5

fxfactory卸载不干净?Fxfactory及插件卸载教程_fxfacory的插件有时候能用有时候用不了-程序员宅基地

文章浏览阅读432次。fxfactory是一款非常受欢迎的视频特效插件合集,能应用到FCPX、AE、PR、motion等软件中。过多特效插件下载会导致这些软件运行打开速度慢,那么如何卸载fxfactory这款软件或者删除那些特效插件呢?跟随小编一起来看看吧!fxfactory中插件删除教程打开fxfactory 软件,在Installed处找到已经安装过的插件,比如安装好的Caption Burner插件去掉勾选,插件颜色变黑白即可运行FCPX、AE、PR、motion等软件,Caption Burner就不会出现了,影响软件_fxfacory的插件有时候能用有时候用不了

Windows系统设置每天自动备份指定文件并自动删除七天前的文件(脚本+Windows任务计划)_ms-dos七天自动删除-程序员宅基地

文章浏览阅读8.3k次,点赞8次,收藏41次。Windows系统设置每天自动备份指定文件并自动删除七天前的文件(脚本+Windows任务计划)在生活中和工作中有时候为了避免电脑宕机导致文件丢失常常会使用一些方式去备份文件,今天小编给大家介绍一个方法,用于自动备份指定文件,并删除N天前的文件。_ms-dos七天自动删除

随便推点

ASP.NET网站制作-程序员宅基地

文章浏览阅读6.4k次,点赞3次,收藏28次。ASP.NET网站制作1、ASP.NET页面对象1网页脚本当客户端通过客户浏览器发送HTTP请求时,web服务器将HTML文档部分和脚本部分返回给客户端浏览器,在客户端浏览器中解释执行并及时更新页面,脚本处理工作全部在客户端浏览器执行完成。优点: 减轻服务器负荷,同时增加页面的反应速度。缺点:浏览器差异性导致页面差异支持的语言: JavaScriptJScript VBScript(2)服务端脚本..._asp.net网站制作

车载 OTA技术概念_sota和ota的区别?-程序员宅基地

文章浏览阅读3k次,点赞10次,收藏54次。总的来说,OTA实现方案分为两种,一种与通常的刷写方式一样,即先擦除当前版本软件,再刷写新版本软件,但这种方法有个隐患,就是新软件有问题时,由于旧软件已经被擦除,没有备份,恢复会很麻烦,因此就提出了另一种,即A/B交换。(Firmware-Over-the-Air),是指不改变车辆原有配件的前提下,通过写入新的固件程序,使拥有联网功能的设备进行升级,包括车辆的发动机,电机,变速箱,底盘等控制系统,比如特斯拉曾通过FOTA新增过自动驾驶功能、增加过电池容量和改善过刹车距离等。,那都将是一项很繁重的任务。_sota和ota的区别?

清空数据库的方法_548数据库清库-程序员宅基地

文章浏览阅读744次。近来发现数据库过大,空间不足,因此打算将数据库的数据进行全面的清理,但表非常多,一张一张的清空,实在麻烦,因此就想利用SQL语句一次清空所有数据.找到了三种方法进行清空.使用的数据库为MS SQL SERVER.1.搜索出所有表名,构造为一条SQL语句declare @trun_name varchar(8000)set @trun_name=''select_548数据库清库

STL --- 四、算法 Algorithms_c++ algorithms-程序员宅基地

STL中的算法提供了丰富的功能,包括常用算法介绍和时间、空间复杂度的选择。在编写程序时需根据具体问题选择适当的算法,满足时间或空间需求。

【计算机网络学习笔记04】网络体系架构与网络协议_网络体系以及网络协议的定义和内容。-程序员宅基地

文章浏览阅读1.4w次。【计算机网络学习笔记04】网络体系架构与网络协议一、网络协议的概念和要素网络协议是计算机网络相互通信的对等层实体之间,用来交换信息时必须遵守的规则或约定的集合。这些为网络数据交换而制定的通信规则、约定与标准被统称为网络协议,简称协议。网络协议主要由三个基本要素组成,分别是语法、语义和时序。语法:用于定义数据和控制信息的结构或格式。语义:用于解释数据或控制信息的具体含义。时序(同步):用于对事件实现顺序的详细说明。二、计算机网络体系结构计算机网络各层、层中协议以及层间接口的集合(即网络层次_网络体系以及网络协议的定义和内容。

【测试】echo发送和接收TCP/UDP数据包|shell 发送TCP/UDP数据包_shell脚本接收udp-程序员宅基地

文章浏览阅读7.6k次,点赞2次,收藏14次。目录通过/dev/tcp、/dev/udpshell给tcp或udp服务发送16进制报文指令通过/dev/tcp、/dev/udp(https://blog.csdn.net/u010039418/article/details/86251470)通过/dev/tcp、/dev/udp可以直接在shell脚本中发起tcp、udp连接,方便又高效,平时用于测试啥的还是挺方便的。直接发送格式 /dev/udp/ip/port比如要向本地10001端口发送数据,可以使用ec._shell脚本接收udp