【网络】子网掩码

> 作者:დ旧言~

> 座右铭:松树千年终是朽,槿花一日自为荣。

> 目标:了解什么是子网掩码,并且能熟练掌握子网掩码的相关计算。

> 毒鸡汤:有些事情,总是不明白,所以我不会坚持。早安!

> 专栏选自:网络

> 望小伙伴们点赞👍收藏✨加关注哟💕💕

​​

一、前言

前面我们已经学习了网络的基础知识,对网络的基本框架已有认识,算是初步认识到网络了,如果上期我们的学习网络是步入基础知识,那么这次学习的板块就是基础知识的实践,我们今天的板块是学习网络重要之一,学习完这个板块对虚幻的网络就不再迷茫!!!

主体

学习【网络】子网掩码咱们按照下面的图解:

2.1 IP地址的表示形式

IP地址的表现形式:

网络分类:

  • A 类网络:第一个句点之前的所有内容均表示该网络,而其后的所有内容指定该网络中的设备。以 203.0.113.112 为例,网络用"203"表示,设备用"0.113.112"表示。
  • B 类网络:第二个句点之前的所有内容均表示该网络。同样以 203.0.113.112 为例,"203.0"表示网络,"113.112"表示该网络中的设备。
  • C 类网络:对于 C 类网络,第三个句点之前的所有内容均表示该网络。使用相同的例子,"203.0.113"表示 C 类网络,而"112"表示设备。

2.2 为什么要划分子网

解释说明:

  • IP 地址的构造方式使互联网路由器可以相对容易地找到将数据路由到其中的正确网络。但是,作为示例,在 A 类网络中可能有数百万个已连接的设备,并且数据可能需要一些时间才能找到合适的设备。这就是子网划分派上用场的原因:子网划分缩小了 IP 地址范围,将其限定在一定范围内的设备。
  • 由于 IP 地址仅限于表示网络和设备地址,因此,IP 地址不能用于表示 IP 数据包应访问哪个子网。网络中的路由器使用一种称为子网掩码的东西将数据划归到子网中。

2.3 什么是子网掩码

概念:

子网掩码类似于 IP 地址,但仅在网络内部使用。路由器使用子网掩码将数据包路由到正确的位置。在互联网上传输的数据包中并不含子网掩码------这些数据包仅指示目标 IP 地址,路由器会将其与子网进行匹配。

举个虚拟栗子:

假设 Bob 回复了 Alice 的来信,但他将l回复发送到 Alice 的工作地点而不是她的家。Alice 的办公室很大,里面有许多不同的部门。为了确保员工能够迅速收到他们的信件,Alice 的工作场所管理团队按部门而不是按单个员工对邮件进行归类。收到 Bob 的来信后,他们看了一眼 Alice 所在部门,发现她在客户支持部门工作。于是他们将信件发送给客户支持部门而不是给 Alice,然后客户支持部门将其发送给 Alice。

在这个类比当中,"Alice"好比一个IP地址,"客户支持部门"好比一个子网掩码。通过将 Alice 与其所在部门匹配,Bob 的信很快被分拣到一组正确的潜在收件人当中。没有这个步骤,办公室管理员将不得不花费时间来寻找 Alice 办公桌的确切位置,而它可能在建筑物的任何地方。

举个实际栗子:

假设一个 IP 数据包的目标地址是 192.0.2.15。该 IP 地址是一个 C 类网络,因此该网络由"192.0.2"标识(或从技术上精确地讲是 192.0.2.0/24)。网络路由器将数据包转发到由"192.0.2"表示的网络上的一台主机。

数据包到达该网络后,网络内的路由器将查询路由表。用其子网掩码 255.255.255.0 进行一些二进制数学运算,看到设备地址是"15"(IP 地址的其余部分表示网络),再计算数据包要发送到哪个子网。它将数据包转发到负责在该子网内传递数据包的路由器或交换机,数据包到达IP地址 192.0.2.15(了解有关路由器和交换机的更多信息)。

2.4 子网掩码

子网掩码的概念:

IP地址本身不再记录划分信息,而是通过一个独立的数字序列来辅助标记,这就是子网掩码。

子网掩码必须是连续的1后面跟着连续的0,在二进制中不能有1和0交错的情况:

这样是不可以的
11111111.11111111.11111111.00111111

连续的1代表网络位,连续的0代表主机位。

通过IP地址的二进制格式与子网掩码的二进制格式进行 & 运算,如果相等,说明处于同一个子网,同一个WIFI,可以直接通信:

cpp 复制代码
11000000 10101000 00100001 01110000 // IP
11111111 11111111 11111111 00000000 // 子网掩码
// and运算理解为位相乘就可以了,上下每一位都相乘得
11000000 10101000 00100001 00000000
// 转成十进制为
192.168.33.0

A网络和B网络的运算结果相等,证明在同一个子网。

2.5 IP的分类与子网掩码的关系

IP地址有如下分类:

  • A类:255.0.0.0
  • B类:255.255.0.0
  • C类:255.255.255.0

图解:

这个范围内:

  • 192.172.3.0是网络地址,用于标识子网本身,不分配给任何设备。
  • 192.172.3.255是广播地址,用于发送到该子网内所有设备的广播消息。
  • 其余的地址(192.172.3.1到192.172.3.254)可以分配给子网内的设备。

2.6 子网掩码的相关计算公式

例子: 给定IP地址和子网掩码 172.31.128.255 / 18

计算网络号:

公式:将IP地址的二进制和子网掩码的二进制进行"&"(and)运算,得到的结果就是网络号。"&运算"的规则是1&1=1,0&1=0,1&0=0,0&0=0。

cpp 复制代码
ip:        10101100.00011111.10000000.11111111  
 
子网掩码:  11111111.11111111.11000000.00000000
----------------------------------------------------
网络号:     10101100.00011111.10000000.00000000   & 
网络号点分法表示: 172.31.128.0   

计算主机号:

公式:用IP地址的二进制和(子网掩码的二进制的反码)进行"&"运算,得到的结果就是主机号。反码就是将原本是0的变为1,原本是1的变为0。

cpp 复制代码
ip:           10101100.00011111.10000000.11111111  
 
子网掩码取反:  00000000.00000000.00111111.11111111
----------------------------------------------------
主机号:        00000000.00000000.00000000.11111111   & 
主机号点分法表示: 0.0.0.255 

计算广播地址:

公式:在得到网络号的基础上,将网络号右边的表示IP地址的主机部分的二进制位全部填上1,再将得到的二进制数转换为十进制数就可以得到广播地址。

cpp 复制代码
网络号:     10101100.00011111.10000000.00000000
 
子网掩码:  11111111.11111111.11000000.00000000
----------------------------------------------------
广播地址:   10101100.00011111.10111111.11111111   网络号从右向左0填为1,个数为掩码中的0
广播地址点分法表示: 172.31.191.255

可用IP地址范围:

网络号是172.31.128.0,广播地址是172.31.191.255,所以子网中可用的IP地址范围就是从网络号+1 ~广播地址-1,所以子网中的可用IP地址范围就是从172.31.128.1-172.31.191.254。

2.7 可变长子网掩码/子网划分------子网个数的计算

概念:

新版的IP地址比之前的IP分类灵活的地方在于每一类还可以继续划分子网,被称为可变长子网掩码。

比如C类中,我想再划分出子网,可以通过网络位的扩展,占用主机位:

下面都是子网掩码:

  • 255.255.255.128 (/25) - 二进制表示:11111111.11111111.11111111.10000000
  • 255.255.255.192 (/26) - 二进制表示:11111111.11111111.11111111.11000000
  • 255.255.255.224 (/27) - 二进制表示:11111111.11111111.11111111.11100000
  • 255.255.255.240 (/28) - 二进制表示:11111111.11111111.11111111.11110000
  • 255.255.255.248 (/29) - 二进制表示:11111111.11111111.11111111.11111000
  • 255.255.255.252 (/30) - 二进制表示:11111111.11111111.11111111.11111100
  • 255.255.255.254 (/31) - 二进制表示:11111111.11111111.11111111.11111110
  • 255.255.255.255 (/32) - 二进制表示:11111111.11111111.11111111.11111111

我们发现子网掩码有26位网络位。26>24,所以这个IP地址属于C类IP地址,且最后8位里面前两位是网络位,后6位是主机位。

子网掩码255.255.255.192究竟划分了几个子网:

我们要知道我们的子网掩码的1代表的是主机位,这个子网掩码是26位网络位,代表它是用于C类IP的,而C类IP的前24位是确定了的,那么还有在这个确定的网络下面有几个子网就只需要看剩下的八位里面被占用的主机位有多少种组合,这里就有00,10,01,11四种组合,也就是划分了4个子网。

三、结束语

今天内容就到这里啦,时间过得很快,大家沉下心来好好学习,会有一定的收获的,大家多多坚持,嘻嘻,成功路上注定孤独,因为坚持的人不多。那请大家举起自己的小手给博主一键三连,有你们的支持是我最大的动力💞💞💞,回见。

​​

相关推荐
IDC02_FEIYA6 分钟前
Discuz论坛网站管理员的默认用户名admin怎么修改啊?
服务器·web
xxjkkjjkj10 分钟前
udp_socket
linux·网络
勤奋的小王同学~13 分钟前
(计算机网络)期末
服务器·网络·计算机网络
世纪天龙16 分钟前
如何选择服务器
运维·服务器
老码沉思录16 分钟前
Android开发实战班 - 网络编程 - WebSocket 实时通信
android·网络·websocket
程序猿小D16 分钟前
第三百三十一节 Java网络教程 - Java网络UDP多播
java·网络·udp
Wang's Blog35 分钟前
Linux: 任务的定时与延期
linux·服务器
催催121 小时前
手机领夹麦克风哪个牌子好,哪种领夹麦性价比高,热门麦克风推荐
网络·人工智能·经验分享·其他·智能手机
熬了夜的程序员1 小时前
Linux 下的 AWK 命令详细指南与示例
linux·运维·服务器
zhd15306915625ff1 小时前
库卡机器人日常维护
网络·机器人·自动化·机器人备件