子网的划分

强化计算机网络发现王道没有这一块的内容,导致做题稀里糊涂。于是个人调研补充。
子网划分是将一个大型IP网络划分成更小的子网,以实现更有效的网络管理和资源分配。

原因:

  1. 提高网络性能:子网划分可以减少广播域的大小,减少广播和冲突域,从而提高网络性能和响应速度。
  2. 提高网络安全性:通过子网划分,可以实现网络分段和隔离,从而增强网络的安全性,阻止不必要的访问和网络攻击。
  3. 管理IP地址:子网划分允许有效地管理IP地址,并确保它们被分配和使用得更加合理和有效。
  4. 管理网络流量:子网划分可以帮助控制和管理网络流量,使网络资源得到更好的利用和分配

注意:从一个IP地址本身是无法判断源主机所连接的网络是否进行了子网划分。

信息归纳

总的来说,子网划分是在不改变IP地址格式的情况下对原本两级IP中不用的一部分进行再次编码和利用,划分后使网络管理更加方便。
如192.168.3.10化为二进制为 11000000.10101000.00000011.00001010

其中最后的00001010是可以随便分配的主机号,但是前半部分0000 就可以拿来编码化为0000XXXX、0001XXXX、0010XXXX等等16个规模都为2的4次方的子网。这种划分方式叫定长子网划分。

注意:子网号可以分配全1和全零,但主机号不能分配全1和全0。因为一个子网的全0地址是这个子网的本网络地址,而一个子网的全1地址是这个网络的广播地址。

子网掩码

从一个IP地址本身是无法判断源主机所连接的网络是否进行了子网划分。那怎么在路由器转发时判断此网络是否属于某一子网呢?计算机网络使用子网掩码。
子网掩码 用于确定一个IP地址中哪些位用于网络标识,哪些位用于主机标识。常见的子网掩码是一个32位的二进制数,通常用点分十进制表示法表示。

对于一个给定的IP地址,子网掩码中的网络部分都置为1,主机部分都置为0。

c 复制代码
如以上192.168.3.10网络属于0000XXXX子网,则它的子网掩码为
11111111 11111111 11111111 11110000
子网号也算网络号的一部分,把网络号和子网号全换成1,主机号全换成0就是子网掩码

CIDR

CIDR是与子网掩码类似的思想,即在变长子网掩码的基础上通过数字统计网络号进行对IP无分类编址。CIDR消除了传统ABCD网络划分,使IP地址分配更加灵活,利用更加充分,延缓了IP地址的耗尽。

c 复制代码
如以上192.168.3.10网络属于11111111 11111111 11111111 1111XXXX子网,28个前缀表示网络号,则它的CIDR编址快为192.168.3.10/28

划分方法

1、定长子网划分

就是要求所有子网规模相同,比如要求划分5个规模相同的子网就需要至少3位即23个位置作为子网号,划分为000XXXXX、001XXXXX、010XXXXX、011XXXXX、100XXXXX这五个子网,明显每个子网都可分配25-2也就是30个子网。

在要求这样划分子网的题目里会明显有均分 这个提示。如

可以观察到定长子网划分一定可以将子网完全划分成偶数且是2的偶数次方个子网。

2、变长子网划分

与定长子网划分相反,变长子网划分就是要求所有子网规模不同。这样的题目里没有均分 的字眼

而变长子网划分的方法就比较抽象,学过哈夫曼编码的很容易理解,对5个节点进行哈夫曼编码就能得到5个不同的子网,且因为哈夫曼编码不允许前缀相同,所以子网的编码将不会被其他编码覆盖,从而以不同大小的子网完整分完了原来全部的主机号。这部分哔哩哔哩湖大教书匠最后一节课讲的比较详细,还以不懂哈弗曼树的角度进行划分。但是不如写哈夫曼编码。

如有道真题

别听王道胡扯就两种划分方式,哈夫曼树又没有唯一性。所以不定长划分进行哈夫曼编码就好。

相关推荐
大面积秃头12 小时前
Http基础协议和解析
网络·网络协议·http
我也要当昏君14 小时前
6.3 文件传输协议 (答案见原书 P277)
网络
Greedy Alg14 小时前
Socket编程学习记录
网络·websocket·学习
刘逸潇200515 小时前
FastAPI(二)——请求与响应
网络·python·fastapi
Mongnewer16 小时前
通过虚拟串口和网络UDP进行数据收发的Delphi7, Lazarus, VB6和VisualFreeBasic实践
网络
我也要当昏君16 小时前
6.5 万维网(答案见原书P294)
网络
嶔某17 小时前
网络:传输层协议UDP和TCP
网络·tcp/ip·udp
文火冰糖的硅基工坊17 小时前
[嵌入式系统-154]:各种工业现场总线比较
网络·自动驾驶·硬件架构
以己之17 小时前
详解TCP(详细版)
java·网络·tcp/ip
Ronin30518 小时前
【Linux网络】封装Socket
linux·网络·socket·网络通信