网络通信/IP网络划分/子网掩码的概念和使用

文章目录

  • 概述
  • 子网的考题
  • 子网掩码的历史
    • 有/无类地址
    • 子网划分!=子网掩码
    • 超网技术/CIDR
    • 子网掩码和路由
    • IP子网掩码定义
  • 网络规划
    • 网络规划-拆子网
    • 网络规划-组超网
    • 子网划分案例
  • 区分于其他特殊IP地址
    • IP地址和网络地址
    • 子网掩码和网络地址
    • 子网掩码和广播地址
  • 子网间的通信
  • 其他

概述

本文从与子网概念相关的考题入手,揭示子网掩码的关键要素,包括子网划分与子网掩码的关系、有类和无类地址的区别、无类地址的起源和发展历史,以及超网技术(CIDR)的应用。此外,文章将讨论如何有效拆分子网和组建超网,并提供具体的子网划分案例。

@HISTORY
大多人都知道,IP地址可以分为ABCDE,5类,准确的说这是有类地址描述,网络位和子网位是固定的。无类地址是用掩码来区分的,没有固定的网络位和主机位,可以根据需要来划分。无类地址都是要带掩码的,有类地址的掩码是固定的。通常在PC上进行IP地址配置时,倘若没有配置掩码,系统应该会根据有类地址的划分范围来确定它的有类类别,进而使用该类固有的掩码!

子网的考题

关于子网划分的题目在软考中级考试中是较常见的,主要有两个大类型,用如下几个例子来说明。

1、将B类IP地址 168.195.0.0 划分成 27个子网,求子网掩码?
在这里插入图片描述

2、将B类IP地址 168.195.0.0 划分成若干子网,每个子网内有700台主机,求子网掩码?
在这里插入图片描述

3、将C类IP地址192.168.1.0/8 划分为2个子网为例,
在这里插入图片描述
需要注意的小众现象是,上述4个地址,隶属两个子网,所有子网的子网掩码都是 255.255.255.192 哦。

4、如欲将B类IP地址168.195.0.0、168.195.1.0、168.195.2.0 构成超网,求最小超网地址和子网掩码地址?
在这里插入图片描述
其实上边这个题,可以转换成,将B类地址168.195.0.0拆分成0/1/2共计3个子网。超网可以粗暴的理解为,是网络聚合的结果,通常用于减少路由表的大小,提高路由效率。上述3个地址聚合成的超网地址,可以记做 168.195.0.0/22,即公共前缀决定了超网地址的网络部分,168.195.0000 00,主机地址部分 00 0000 0000。这个地方要要注意,如果只是说 168.195.0.0 是聚合后的超网地址,而不使用斜杠记法,是会产生歧义的。

5、分配给某公司网络的地址块是 210.115.192.0/20,该网络可以被划分为(16)个C类子网。
#答:C类地址,网络地址24位,主机号 8bit,而题目中的地址块其网络地址是20位,主机号12bit。以网络地址位数计算,上述地址的中后17-20bit,可以用来划分2的4次方个子网。

子网掩码的历史

子网掩码的概念是在 IP 地址方案进化过程中逐渐形成并应用的。先点明几个主题,
1、子网和子网掩码是不同的概念。
2、子网的概念刚出现那会,并不是通过子网掩码来划分子网的,后文有讲。
3、超网技术/CIDR(无类域间路由)的出现,才引入了子网掩码的概念。
4、CIDR中的斜杠记法的IP地址,可称作无类地址,对比于早期的ABC等有类IP地址方案。

有/无类地址

在 IP 地址最初的设计中,并没有子网掩码的概念。最早的 IP 地址方案采用了有类表述(Classful Addressing)的方式,将 IP 地址划分为 A 类、B 类、C 类等,每个类别有固定的网络地址部分和主机地址部分。
在这里插入图片描述
随着网络规模的扩大和需求的增加,传统的有类表述开始出现一些局限性,无法灵活地适应不同规模和需求的网络。为了解决这些问题,CIDR(Classless Inter-Domain Routing)被引入到 IP 地址方案中,CIDR 引入了子网掩码的概念,允许网络管理员更灵活地划分网络、定义子网和分配 IP 地址。

形如 192.168.1.0 / 20 这种斜杠记法的IP地址,我们可以称之为一个无类地址,或者说是一个CIDR地址。

在这里插入图片描述

子网划分!=子网掩码

子网划分将一个单一的IP地址划分成多个子网,以延缓大型网络地址(主要是B类)的分配速度 。子网划分从20世纪80年代提出以后的确起到了这个作用。但是到了20世纪90年代,子网划分也就无法阻止B类网络地址最后耗尽的趋势。原因很简单,B类地址只有一 万六千多个。而人们在为中等大小的网络申请地址时,更倾向于使用B类地址,并在其上进行子网划分,以避免由于使用多个C类地址给网络配置和管理带来的不便。因此,B类地址分配的速度很快,而C类地址的分配速度则慢很多。为了解决B类地址空间紧张的问题,并充分利用C类地址空间(C类网络的数量有2百多万个),人们又提出了超网技术。

子网划分的概念也是在演进的,这点在百科子网划分的词条中并没有提及,但在百科超网的词条中却有提及,如上文。也就是说,20世纪90年代,随着超网技术的提出,子网掩码的概念才被引入,但10年前,子网的概念就已经存在了,只是那个时候不是用子网掩码来划分子网。在子网划分技术流行而超网技术尚未提出的早期阶段,网络管理员可能会通过一些其他方式来表示不同的子网,而非使用子网掩码:
一种常见的方法是通过网络规划和文档记录来表示不同的子网。网络管理员可以在文档中详细描述每个子网的IP地址范围、子网所属的物理位置以及其他相关信息。通过这种方式,管理员可以清楚地了解每个子网的用途和范围,虽然没有使用子网掩码。
另一种方法是通过物理隔离来表示不同的子网。在网络设备配置和布线中,可以使用物理隔离来将不同的子网分开,以确保各个子网之间的独立性和安全性。尽管没有子网掩码,但通过物理隔离可以有效地区分不同的子网。

超网技术/CIDR

超网(supernetting)是与子网类似的概念–IP地址根据子网掩码被分为独立的网络地址和主机地址。但是,与子网把大网络分成若干小网络相反,它是把一些小网络组合成一个大网络–超网。而且,超网(supernetting),也称无类别域间路由选择(CIDR),就是前文我们提及的CIDR的概念,你没看错。百科中对于CIDR的特点的讲述,我觉的很好,
在这里插入图片描述
期初我在读到上文第一句话的时候,感觉有点别扭,想不明白,明明子网掩码的概念是在CIDR中引入的,这里却说"CIDR消除了划分子网的概念"。但当我们理解了没有子网掩码也能划分子网的时候,上述就不是问题了,反而是精妙的讲述。随着CIDR无类域间路由这一概念的提出,其引入子网掩码的"机制",划分子网这个工作变的更加简单了,而且超网与原来的子网的概念也通过子网掩码达成了统一。

子网掩码和路由

如上,子网掩码是伴随着CIDR的概念被引进的,CIDR可以直译为"无类域间路由"。而所谓域间路由,是指不同的网络域之间进行路由选择和通信的过程。CIDR(Classless Inter-Domain Routing)引入子网掩码的概念,是为了更有效地进行域间路由。通过子网掩码,可以更精确地确定IP地址中的网络地址部分和主机地址部分,从而实现更灵活的网络划分和路由选择。
路由并不仅仅是不同子网之间的通信,它涵盖了更广泛的概念,其中最主要的是根据数据包的目的地址和路由表中的信息来选择最佳的传输路径。子网掩码在路由中扮演重要的角色,帮助路由器识别网络地址和主机地址,决定数据包的转发方向。

在网络中,路由的主要功能包括以下几个方面:
决定数据包的最佳传输路径:路由器根据目的地址和路由表中的信息选择最佳路径来转发数据包,确保数据能够准确、高效地到达目的地。网络分割与连接:路由器可以将网络划分为不同的子网或不同的网络域,同时通过路由协议连接这些子网,实现不同部分之间的通信。网络通信的控制与管理:路由器可以根据设定的路由规则和策略来控制网络通信的流量、优化数据传输路径,并提高网络的性能和安全性。

IP子网掩码定义

千呼万唤始出来,现在看起来挺简单的一个概念,却也是经过了多年的沉淀才终于形成。子网掩码用于指示 IP 地址中哪部分是网络地址,哪部分是主机地址,通过子网掩码的定义,可以将 IP 地址进一步划分为网络地址和主机地址部分,实现更精细的网络管理和地址分配。

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

网络规划

稍微来谈一下,为什么要拆子网,为什么要组超网,以及在嵌入式或物联网开发项目中的相关需求。

网络规划-拆子网

在网络规划中,进行子网划分通常出现在以下几种情况:
网络规模较大:
当一个网络中的设备数量很多时,使用单一的网络将会导致广播域过大,影响网络性能。通过子网划分可以将网络划分为多个较小的广播域,提高网络的效率和可管理性。
安全和隔离需求:
不同部门、不同功能的设备可能需要进行逻辑隔离,以提高网络安全性。通过子网划分可以将这些设备划分到不同的子网中,限制它们之间的通信。
路由和管理需求:
子网划分可以简化网络管理,例如配置路由器转发规则、实现访问控制等。不同的子网可以使用不同的IP地址段,方便管理和维护。
资源分配需求:
有时需要根据部门或功能划分网络资源,如带宽、IP地址等。通过子网划分,可以将这些资源合理地分配给不同的用户群体。
如,某些部门可能对网络带宽有更高的需求,如视频会议部门,通过子网划分,可以将这些部门划分到单独的子网中,并为其分配更多的带宽资源。
物理拓扑需求:
当网络的物理布局比较分散时,子网划分可以更好地反映网络的物理结构,方便管理和维护。
总之,子网划分是一种提高网络可扩展性、可管理性和安全性的有效手段,应根据具体的网络需求来确定是否需要进行子网划分。

网络规划-组超网

在网络规划中,超网技术的应用通常出现在以下几种情况:
路由表优化:
当网络中存在大量的子网时,路由器的路由表可能会变得庞大且复杂。通过使用超网技术,可以将多个相邻的子网合并为一个更大的网络地址,从而显著减少路由表的条目,提升路由器的性能和处理效率。
IP地址管理:
在IP地址资源紧张的情况下,超网技术可以有效地整合多个小的IP地址块到一个更大的地址块中。这种整合可以帮助网络管理员更加灵活地分配和管理IP地址,避免地址浪费。
简化网络结构:
在大型企业或服务提供商的环境中,网络通常会扩展到多个区域。通过超网技术,可以将这些区域的子网合并为一个超网,简化网络架构,降低管理的复杂性,使网络设计更加清晰。
提高冗余和可靠性:
超网技术可以提高网络的冗余性。在发生故障时,合并的超网可以通过其他路径进行数据转发,确保网络的可靠性和稳定性。
支持动态路由协议:
在使用动态路由协议(如OSPF、EIGRP等)的网络中,超网技术能够帮助减少路由更新的频率和范围,提高路由收敛速度,确保网络的快速响应。

子网划分案例

某现场用于芯片测试的嵌入式分布式系统中,规定了每个集控端可以最多管理1000个测控端,且多个集控端与总控端之间存在通信,多个集控端之间尽量保持网络隔离。为了满足上述要求,一个可行的系统级别的IP地址规划方案如下:

以B类IP地址191.191.0.0 来划分若干子网,每个子网1024个主机,则子网掩码位数是22位,记做191.191.0.0/22,可以划分出2的6次方个子网,选择子网号1使用。则:
子网掩码:
11111111 11111111 11111100 00000000
十进制点分IP地址
255.255.252.0

若使用子网号1,则:
该子网网络地址为191.191.4.0,
该子网广播地址,191.191.7.255,
该子网的首个主机地址,191.191.4.1

区分于其他特殊IP地址

当你已知一个IP地址,只需要再知道其子网掩码,就可以计算出该地址对应的广播地址和网络地址。举个例子直观感受下,
已知一个C类的IP地址192.168.1.1,可得子网掩码是255.255.255.0,网络地址是192.168.1.0,广播地址192.168.1.255。
我们再强调一次子网掩码的概念。子网掩码是一个与IP地址配合使用的32位掩码,用于指示IP地址中的网络地址部分和主机地址部分。子网掩码中的“1”表示网络地址部分,而“0”表示主机地址部分。通过子网掩码,可以确定一个IP地址中的网络地址和主机地址的划分情况。

IP地址和网络地址

IP地址:
IP地址(Internet Protocol Address)是分配给网络中每个设备的唯一标识符,用于在网络上进行通信。IP地址通常以四个十进制数字(IPv4)或八个十六进制数字(IPv6)表示。它是设备在网络上的地址,能够确定设备的位置。
网络地址:
网络地址是IP地址的一部分,通常指的是一个特定网络的标识符。它用于标识一个网络段或子网,可以看作是一个IP地址的“网络部分”。网络地址通常通过IP地址和子网掩码的结合来确定,例如,IP地址 192.168.1.10 与子网掩码 255.255.255.0 结合后,得出的网络地址是192.168.1.0。

子网掩码和网络地址

汉字博大精深,网络地址这几个字的含义可大可小。但通常我们说网络地址这个词,是指子网地址(或超网地址),即IP地址中的网络部分,用于标识特定的子网。网络地址帮助网络设备确定数据包应该被发送到哪个子网,以便最终到达目标主机。
在CIDR表示法中,网络地址通常是一个IP地址和一个前缀长度的组合,例如192.168.1.0/24。这个表示法中,前面的IP地址部分表示网络地址,后面的前缀长度表示网络地址部分的位数。
其实基于这种斜杠记法的IP地址,单就网络地址的表达,192.168.1.0/24 和 192.168.1.1/24 和 192.168.1.100 /24 的含义是一致的,后两个无类IP地址,也能计算出网络地址是 192.168.1.0。但通常情况下,我们在表示上述网络地址的概念的时候,会把地址主机号部分置零。另外我们也要注意到,如果我们只是写192.168.1.0 这么个IP地址,而不标识子网掩码,那么其含义是不够清晰的,因为会有192.168.1.0/24,但也会有 192.168.1.0/16 等可能,所以不要偷懒哈。

子网掩码和广播地址

在这里插入图片描述
要注意,广播地址不是子网掩码,也不是网络地址。广播地址的特点是:网络地址部分与实际网络地址相同,主机地址部分全部为 1。例如,对于 191.191.4.0/22 的子网来说:网络地址为 191.191.4.0,广播地址为 191.191.7.255。
在这里插入图片描述
子网掩码:
在这里插入图片描述

子网间的通信

不同子网之间的通信,需要路由器才能进行。相关整理未发布。

其他

就这样吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/979987.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

win11编译pytorch cuda128版本流程

Geforce 50xx系显卡最低支持cuda128,torch cu128 release版本目前还没有释放,所以自己基于2.6.0源码自己编译wheel包。 1. 前置条件 1. 使用visual studio installer 安装visual studio 2022,工作负荷选择【使用c的桌面开发】,安装完成后将…

一周学会Flask3 Python Web开发-Jinja2模版中加载静态文件

锋哥原创的Flask3 Python Web开发 Flask3视频教程: 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 一个Web项目不仅需要HTML模板,还需要许多静态文件,比如 CSS、JavaScript文件、图片以及音频等。在Fla…

DeepSeek开源周 Day04:从DualPipe聊聊大模型分布式训练的并行策略

DualPipe简介 今天是DeepSeek开源周的第四天,官方开源了一种新型并行计算优化策略——DualPipe。 其实大家阅读过Deepseek-V3技术报告的同学,对这个技术并不陌生。 开源地址:https://github.com/deepseek-ai/DualPipe 核心亮点 DualPipe&…

基于C#的CANoe CLR Adapter开发指南

一、引言 CANoe 是一款广泛应用于汽车电子开发和测试的工具,它支持多种编程接口,方便开发者进行自定义扩展。CANoe CLR Adapter 允许我们使用 C# 语言与 CANoe 进行交互,充分利用 C# 的强大功能和丰富的类库。本文将详细介绍如何基于 C# 进行…

Redis实现滑动窗口限流实践(Redisson限流器版)

文章目录 一、滑动窗口限流原理二、Redisson限流器三、代码示例1. 引入依赖2. 配置Redis连接3. 使用Redisson限流器4. 使用示例 四、总结五、其他优化方向六、代码说明 在高并发系统中,为了保护系统稳定性,防止突发流量压垮服务,限流是一种常…

实现Python+Django+Transformers库中的BertTokenizer和BertModel来进行BERT预训练,并将其应用于商品推荐功能

一、环境安装准备 #git拉取 bert-base-chinese 文件#创建 虚拟运行环境python -m venv myicrplatenv#刷新source myicrplatenv/bin/activate#python Django 集成nacospip install nacos-sdk-python#安装 Djangopip3 install Django5.1#安装 pymysql settings.py 里面需要 # 强制…

ollama本地部署DeepSeek-R1大模型使用前端JS调用的详细流程

以下是关于如何在本地部署 DeepSeek-R1 大模型(通过 Ollama),并使用前端 JavaScript 调用其功能的详细流程。 前提条件 硬件要求: 建议至少 16GB RAM(运行较小模型如 1.5B 或 7B 参数版本),如果…

Rocky Linux 8.5 6G内存 静默模式(没图形界面)安装Oracle 19C

Oracle19c 下载地址 Database Software Downloads | Oraclehttps://www.oracle.com/database/technologies/oracle-database-software-downloads.html#db_ee 目录 一、准备服务器 1、服务器可以克隆、自己装 2、修改主机名 3、重启 4、关闭selinux 5、关闭防火墙 5.1、…

【Qt QML】QML鼠标事件(MouseArea)

QML鼠标事件全面解析 一、MouseArea基础概念 在 QML 中,鼠标事件是处理用户与界面元素交互的重要部分。QML 提供了多种方式来处理鼠标事件,MouseArea 是 QML 中用于处理鼠标事件的核心元素,它可以覆盖在其他元素之上,捕获鼠标操作并触发相应的信号。 1、基本用法 import …

【Project】基于Prometheus监控docker平台

一、设计背景 1.1项目简介 本项目旨在创建一个全面的容器化应用程序监控解决方案,基于Prometheus监控Docker平台上的各种服务。在当今的软件开发环境中,容器化技术已成为一种关键的工具,使应用程序能够更快速、可靠地交付和扩展。然而&…

SV——Clocking block的应用

在system verilog中,clocking block是一种简化时钟域信号同步和采样的机制。可以帮助验证工程师简化复杂时序问题,尤其是在测试平台中,既要对信号进行驱动,又要对信号进行采样。 clocking block块一般有以下应用场景:…

RabbitMQ 的介绍与使用

一. 简介 1> 什么是MQ 消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已。 其主要用途:不同进程Process/线程T…

unity pico开发 一:环境准备

文章目录 前言一些容易混淆的概念下载SDK导入SDK配置环境注册PICO APP下载PDC 前言 本文将配置pico开发所有必须的环境 官方文档 一些容易混淆的概念 OpenXR:OpenXR是国际通用的vr开发协议,目的是为了解决各个硬件设备自己搞自己的sdk,导致…

Java数据结构_一篇文章了解常用排序_8.1

本文所有排序举例均默认为升序排列。 目录 1. 常见的排序算法 2. 常见排序算法的实现 2.1 插入排序 2.1.1 基本思想: 2.1.2 直接插入排序 2.1.3 希尔排序(缩小增量排序) 2.2 选择排序 2.2.1 基本思想: 2.2.2 直接选择排…

Uniapp开发微信小程序插件的一些心得

一、uniapp 开发微信小程序框架搭建 1. 通过 vue-cli 创建 uni-ap // nodejs使用18以上的版本 nvm use 18.14.1 // 安装vue-cli npm install -g vue/cli4 // 选择默认模版 vue create -p dcloudio/uni-preset-vue plugindemo // 运行 uniapp2wxpack-cli npx uniapp2wxpack --…

【Mark】记录用宝塔+Nginx+worldpress+域名遇到的跨域,301,127.0.0.1,CSS加载失败问题

背景 想要用宝塔搭建worldpress,然后用域名直接转https,隐藏掉ipport。 结果被折磨了1天,一直在死活在301,127.0.0.1打转 还有css加载不了的情况 因为worldpress很多是301重定向的,所以改到最后我都不知道改了什么&am…

0x03 http协议和分层架构

HTTP协议 简介 Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则 http协议基于TCP协议:面向连接,安全基于请求-响应模型:一次请求对应一次响应HTTP协议是无状态的协议&#xff…

汽车小助手智能体

汽车小助手:智能驱动汽车服务新体验 链接:文心智能体平台AgentBuilder | 想象即现实 文心智能体平台AgentBuilder,是百度推出的基于文心大模型的智能体平台,支持广大开发者根据自身行业领域、应用场景,选取不同类型的…

20250225-代码笔记03-class CVRPModel AND other class

文章目录 前言一、class CVRPModel(nn.Module):__init__(self, **model_params)函数功能函数代码 二、class CVRPModel(nn.Module):pre_forward(self, reset_state)函数功能函数代码 三、class CVRPModel(nn.Module):forward(self, state)函数功能函数代码 四、def _get_encodi…

十一、大数据治理平台总体功能架构

大数据治理平台的功能架构图中心主题:数据治理 核心重点是建立健全大数据资产管理框架,确保数据质量、安全性、可访问性和合规性。 大数据治理平台总体功能架构图 关键功能领域 1.数据资产平台(左侧) 此部分主要关注数据资产本身…