如何计算前缀,网络,子网和主机号?

子网划分及相关计算 子网划分、子网聚合 阅读详情
AI摘要

本文详细介绍了网络掩码的计算,包括如何确定网络前缀、计算网络地址、广播地址以及子网划分。以128.42.5.4/21为例,演示了如何计算其网络地址、广播地址和子网划分。同时讨论了如何根据需求确定子网掩码长度,以及如何找到包含特定IP地址的最大网络掩码。

计算网络掩码长度(也称为前缀):

将网络掩码的点分十进制表示形式转换为二进制。然后,从第一个八位位组的最高有效位(即二进制数的左侧)开始,计算连续的1位的数目。

255.255.248.0   in binary: 11111111 11111111 11111000 00000000
                           -----------------------------------
                           I counted twenty-one 1s             -------> /21

带255.255.248.0网络掩码的128.42.5.4前缀为/ 21。

计算网络地址:

网络地址是IP地址和网络掩码的二进制表示形式中各个位的逻辑与。对齐两个地址中的位,并对每对相应位执行逻辑与。然后将结果的各个八位字节转换回十进制。

128.42.5.4      in binary: 10000000 00101010 00000101 00000100
255.255.248.0   in binary: 11111111 11111111 11111000 00000000
                           ----------------------------------- [Logical AND]
                           10000000 00101010 00000000 00000000 ------> 128.42.0.0

如你所见,网络地址128.42.5.4/21为128.42.0.0

计算广播地址:

广播地址将所有主机位转换为1s ...

请记住,我们的IP地址(十进制)为:

128.42.5.4      in binary: 10000000 00101010 00000101 00000100

网络掩码为:

255.255.248.0   in binary: 11111111 11111111 11111000 00000000

这意味着我们的主机位是IP地址的最后11位,因为我们通过反转网络掩码来找到主机掩码:

Host bit mask            : 00000000 00000000 00000hhh hhhhhhhh

要计算广播地址,我们将所有主机位强制为1:

128.42.5.4      in binary: 10000000 00101010 00000101 00000100
Host bit mask            : 00000000 00000000 00000hhh hhhhhhhh
                           ----------------------------------- [Force host bits]
                           10000000 00101010 00000111 11111111 ----> 128.42.7.255

计算子网:

没有提供足够的信息来计算该网络的子网。通常,可以通过将一些主机位重新分配为每个子网的网络位来构建子网。很多时候,没有一种正确的方法来对一个地址块进行子网划分……根据您的限制,可能存在几种对地址块进行子网划分的有效方法。

假设我们将128.42.0.0/21分为4个子网,每个子网必须至少容纳100个主机...

在此示例中,我们知道至少需要/ 25前缀才能包含100个主机。我选择/ 24,因为它落在八位字节的边界上。请注意,每个子网的网络地址都从父网络块借用主机位。

查找所需的子网掩码长度或网络掩码:

我怎么知道我至少需要100个主机的/ 25 masklength?通过返回包含100个主机所需的主机位数来计算前缀。一个需要7个主机位才能包含100个主机。正式地,这是用以下公式计算的:

主机位 =日志2(主机数)=日志2(100)= 6.643

由于IPv4地址的宽度为32位,并且我们使用的是主机位(即最低有效位),因此只需从32中减去7即可计算每个子网的最小子网前缀... 32-7 = 25。

将128.42.0.0/21分为四个相等子网的惰性方法:

由于我们只需要整个128.42.0.0/21块中的四个子网,因此可以使用/ 23子网。我选择/ 23是因为我们需要4个子网...即在网络掩码中添加了额外的两位。

使用128.42.0.0/21的/ 23子网,这是对约束的同样有效的答案...

计算主机号:

这就是我们上面已经完成的工作...仅重复使用我们计算128.42.5.4/21广播地址时所做的工作中的主机掩码...这次我将使用1s代替h,因为我们需要在网络地址上再次执行逻辑与。

128.42.5.4      in binary: 10000000 00101010 00000101 00000100
Host bit mask            : 00000000 00000000 00000111 11111111
                           ----------------------------------- [Logical AND]
                           00000000 00000000 00000101 00000100 -----> 0.0.5.4

计算子网中可能的最大主机数:

要找到最大数量的主机,请查看上面的主机号中的二进制位数。最简单的方法是从32(IPv4地址中的位数)中减去网络掩码的长度。这样可以给您地址中的主机位数。在那时候...

最大主机数 = 2 **(32-netmask_length)-2

我们减去上面2的原因是因为全1和全0主机号是保留的。全零主机号是网络号;所有人的主机号是广播地址。

使用上面的示例子网128.42.0.0/21,主机数量为...

最大主机数 = 2 **(32-21)-2 = 2048-2 = 2046

查找包含两个IP地址的最大网络掩码(最小主机掩码):

假设有人给我们两个IP地址,并希望我们找到包含两个IP地址的最长网络掩码;例如,如果我们有:

  • 128.42.5.17
  • 128.42.5.67

最简单的方法是将两者都转换为二进制文件,并从地址的左侧寻找最长的网络位字符串。

128.42.5.17     in binary: 10000000 00101010 00000101 00010001
128.42.5.67     in binary: 10000000 00101010 00000101 01000011
                           ^                           ^     ^
                           |                           |     |
                           +--------- Network ---------+Host-+
                             (All bits are the same)    Bits

在这种情况下,最大网络掩码(最小主机掩码)为/ 25

注意:如果您尝试从右侧开始,请不要仅仅因为找到了一个匹配的位列就被欺骗了;除了那些匹配的位以外,可能还有其他不匹配的位。老实说,最安全的做法是从左侧开始。

CIDR概述及其地址块计算 CIDR概述 英文:Classless Inter-Domain Routing,中文是:无分类域间路由选择。一般叫做无分类编址。 设计目的:解决路由表项目过多过大的问题。 表示法:{<网络前缀>,<主机号>} / 网络前缀所占位数 CIDR表示法给出任何一个IP地址,就相当于给出了一个CIDR地址块。例如这个IP:128.14.35.7/20   128.14.... 阅读详情

相关推荐

【CAPL实战:以太网】CAPL如何发送一条ICMPv4 Echo Request报文

想要构造并发送一条ICMPv4 Echo Request报文,首先要了解它的报文结构。ICMPv4 Echo Request报文结构如下:

jasonj333 6730

计算机网络学习笔记 (下)

计算机网络学习笔记完结

yfq_29的博客 4141

C#连接数据库报Authentication to host ‘127.0.0.1‘ for user ‘root‘ using method ‘caching_sha2_password‘ fail

所以导致的,除了上边的办法,还可以把这个加密规则修改一下,这个的修改方式有很多,具体原因是因为MySQL8.0以前的加密规则是。

weixin_42209881的博客 4127

1、什么是网络前缀

基础知识: 1、已知一个IP地址,如何区分它是A类地址还是B类或者C类地址呢。 A类地址 1.0.0.0 到126.0.0.0 0.0.0.0 和127.0.0.0保留 B 类地址 128.1.0.0到191.254.0.0 128.0.0.0和191.255.0.0保留 C 类地址 192.0.1.0 到223.255.254.0 192.0.0.0和223.255.255.0保留 D 类地址 224.0.0.0到239.255.255.255用于多点广播 E 类地址 240.0.0.0到255.255

qq_40309341的博客 4万+

Unity URP半透明物体渲染避坑指南:双面渲染与深度写入的实战技巧

本文深入探讨了Unity URP中半透明物体自交叠渲染问题的核心根源与解决方案。针对模型自身交叠导致的排序错误,文章提供了双面渲染与深度写入两种实战技巧,详细分析了其实现原理、性能开销及适用场景,帮助开发者根据项目需求选择最优方案,有效提升玻璃、水体等材质的视觉表现。

sunny的博客 545

华三模拟器实战:3分钟搞定路由器DHCP地址池配置(附常见错误排查)

本文提供华三模拟器中路由器DHCP地址池的实战配置指南。通过分步详解,帮助用户在3分钟内完成基础设置,并深入讲解多地址池、中继配置等进阶应用。文章重点剖析了DHCP服务无法工作的常见原因,提供从客户端到服务器的系统性排错方法,助力快速定位并解决地址分配失败、获取参数错误等典型问题。

w1x2y3的博客 360

IP地址

32位二进制表达:网络地址和主机地址 区分方法:1.网络前缀,如 192 . 168 . 3 . 57 / 16 /16为前缀长度,表示前16位为网络地址 2.子网掩码,网络部分位置为1,主机位置为0,如 255.255.255.0 为前缀 /24, 255.255.0.0为前缀/16 IP地址的分类:ABCDE五类,A类网络8位,主机地址24位,0-127;B类网络16位,主机地址16位,128-191;C类网络24位,主机地址8位,192-223;D类用于组播,224-239;E类保留 特殊

gyc678503的博客 2198

C++程序无法正常启动(报0xc000007b错误)问题的详细排查

本文详细介绍了应用程序启动时遇到0xC000007B错误的排查过程。问题源于32位程序与64位运行时库的不匹配,以及缺少依赖的运行时库。通过分析系统日志、使用Windbg和检查程序位数,最终确定问题在于32位程序误引用了64位系统目录下的库文件。

dvlinker的技术专栏 1万+

IPv4下,划分子网,构造超网(CIDR)

早期 IP 地址的设计不够合理: (1) IP 地址空间的利用率有时很低。 (2) 给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏。 (3) 两级的 IP 地址不够灵活。 提出子网划分 子网号借用了主机号前面的部分位,子网划分应由网络管理员决定 判断两台主机的IP地址是否在同一个网络:网络号 + 子网号 对于网络号的判定,提出了子网掩码的概念:用连续的1对应网络号与子网号,用连续的0对应主机号得到的32位二进制值 而划分子网时,是在将部分连续,与原网络号相邻的,本属于主机号的位划分

寂音沫夜的博客 2824

界面材料知识

界面材料(TIM)用于芯片和散热器之间的导热作用,将低导热系数的空气(空气的导热系数(0.026 W /M·K))排除,换成高导热系数,低热阻导热系数的材料。具体的:TIM1为芯片DIE和芯片保护壳之间的界面材料,一般是直接焊接的方式,比如使用铟片,有很高的导热系数;芯片厂工程师主要找的是TIM1界面材料。TIM1.5为芯片Die和散热器之间的界面材料,比较少见;TIM2为我们所常见的界面材料,用于芯片外壳和散热器之间。(图片来源网上)

YY_Share的博客 1853

电路板保险丝如何选型

在电路板保险丝选型过程中,需要考虑多个因素以确保其适合特定的电路需求。最后,经过以上程序选定的样品需要在实际的电路中进行测试,以验证所选择的保险丝是否合适。

weixin_57010826的博客 1310

子网掩码的计算

就这么简单,网络上一大推说不清的,这里算,那里算,气死人,自己写一个博客记录下😡😡😡。子网掩码计算=网络前缀全部取1,主机号全部取0。

qq_45645704的博客 110

OceanBase数据库:与MySQL和Oracle的函数差异分析

OceanBase数据库兼容性解析:MySQL与Oracle模式深度比较 摘要:OceanBase通过独特的双模式架构,实现了对MySQL和Oracle的高度兼容。文章首先分析了OceanBase的兼容性架构,包括SQL解析层、优化器层和执行引擎层的差异化设计。随后对比了两种模式在数据类型、SQL语法、函数支持等方面的兼容性差异,其中MySQL模式兼容5.7版本大部分功能,Oracle模式则支持155个内置函数和PL/SQL特性。最后提出了模式选择的六大考量因素,包括现有系统基础、功能需求和迁移成本等,为数

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1226

从192.168.1.0/24到192.168.0.0/16:用生活比喻拆解网络前缀与主机号的秘密

192.168.1.0/24这样的表示法,就像是社区管理处的地址规划方案——斜杠前的数字是"小区名称",斜杠后的数字则规定了"楼栋编号"和"住户门牌"的分配规则。当我们需要扩大网络规模时,不是给每栋楼重新命名,而是增加可用的楼栋编号范围,这正是/16比/24更"宽松"的原因。后来发现这就像不同规模的社区规划:/24相当于一个只有单栋楼的微型小区,而/16则像拥有多栋楼的大型社区。这个"-2"就是排除全0和全1的主机号,就像小区里保留的公共区域。就像邮政编码,位数越少覆盖的区域就越广。

weixin_26757925的博客 448

一文吃透 OData Deep Insert:从框架原理到 ABAP 实战

本文面向ABAP工程师,解析OData服务中的Deep Insert技术。文章首先阐述Deep Insert的业务背景,说明其适用于父子层级数据必须成组创建的场景(如销售订单与行项目)。随后深入框架实现机制,介绍SAP Gateway如何通过CREATE_DEEP_ENTITY方法处理嵌套请求,并强调开发者的责任边界。通过销售订单案例,文章对比了Deep Insert与$batch的适用场景差异,提供请求负载示例和DPC_EXT实现骨架代码。最后给出MPC_EXT声明深结构的三种套路,以及事务处理和错误处理

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 225

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

笔试系列之IP地址相关计算

做了几个笔试题发现IP地址的相关计算还挺多的,而且我还不会啊,这怎么办,赶快拿个小本本记下来吧。

田怼怼的博客 2467

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

一个 IP 地址,怎么“切“出几十个小网络?——子网掩码与 CIDR 的二进制魔法

本文详解子网划分与CIDR技术:通过“借位”从主机号中划分网络号,实现一个C类地址切分多个子网;借助子网掩码按位与运算确定网络号,计算可用主机数时需减去全0和全1地址。引入CIDR无类别编址,以“/前缀长度”简化表示,支持路由聚合,提升路由效率。核心在于二进制位的灵活分配与公共前缀合并,是408计算机网络必考计算题。

计算机科学、人工智能、数据分析和大数据方向的研发和教学。 223

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

最小子网的地址数问题

同时,因为子网并没有划分完,还有3,4,5号子网存在,为了与3号子网相区别,应该启用第二位,用第二位的0和1来区别子网2和3。按照分析的思路,第一个子网可分配的主机数应该最大,12位可分配的位数中最多能拿出11位来做主机号,那剩下的1位就是子网号,我们用0来标记子网1。同上,用第四位的0和1来区别子网4和5。注意此时子网划分完毕,子网5是最后一个子网,所以不必启用下一位,子网号最多是4位。同样的道理,3号并不是划分的终点,还有4号,所以启用第三位,用第三位的0和1来区别子网3和4。

weixin_70273087的博客 2088

IP地址块分配

1.无分类地址IPV4地址=网络前缀+主机号2.每个IPV4地址由32位二进制数组成3. /15这个地址表示网络前缀有15位,那么主机号=32-15=17位。4.IP地址的个数:2**n (n表示主机号的位数)5.可用(可分配)IP地址个数:2**n-2(不包含网络地址00000000和广播地址11111111)6.地址掩码:所对应的网络前缀为1,主机号为0。7.ip的最大最小地址最小:在地址块的基础上,主机号全为0最大:在地址块的基础上,主机号全为1。

yoloooooooo1的博客 1406

Java版本 CIDR转化为IP列表

1.引入commons net 包 <dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>3.6</version> </dependency> ...

flyingcatty的专栏 2680

超网掩码_计算机网络——无分类编址CIDR(构造超网)

CIDR消除了传统的ABC类的划分方式,继续把IP地址给分为两级。这两级是{网络前缀(可变),主机号}CIDR还采用斜线记法,在IP地址后面加斜线之后写上网络前缀所占的位数。例如:220.78.168.0/24我们从这个IP地址可以看出由于主机号是8位,故此时最多有2^8-2=254个主机可以使用。但当这个IP地址表示为220.78.168.0/23时我们可以看到此时从网络号中借了一位出来作为主机...

weixin_39661405的博客 791

切分网络的“蛋糕”:子网掩码与 CIDR——你的 /24 和 /16 到底差在哪?

摘要:文章解析了IP地址中的子网掩码和CIDR表示法(如/24、/16)的作用,它们决定了网络号和主机号的划分,影响设备间的通信。通过实例(192.168.1.100/24)演示了广播地址的计算方法,并强调错误配置会导致服务无法访问。结合实际开发场景(如SpringBoot的server.address配置、Docker网段规划),指出合理选择子网掩码的重要性(避免广播风暴)。最后提出思考题,引导读者计算/23子网的IP范围和广播地址,巩固理解。核心结论:子网掩码是网络通信的关键,配置错误将导致跨子网通信失

2503_93374004的博客 248

简述网络CIDR

CIDR概述 一般叫无分类编址 特点: 无视了传统的A类B类及C类地址以及划分子网的概念,更有效的分配ipv4地址 使用各种长度的网络前缀代替分类地址中的网络号和子网号 使ip地址从三级结构又回到了两级结构 表示法:{<网络前缀>,<主机号>} / 网络前缀所占位数 CIDR表示法 给出任何一个IP地址,就相当于给出了一个CIDR地址块。例如这个IP:202.10.10.1...

rhelredhat的博客 1081

【网络基础系列】08告别反人类的二进制!CIDR与网络计算的“十进制秒杀法则”

摘要: 本文介绍了无分类域间路由选择(CIDR)的核心原理及其应用。CIDR通过“斜线记法”(如10.0.0.0/16)取代传统的A/B/C类IP划分,实现灵活的子网分配与路由聚合。关键点包括: CIDR原理:斜杠后数字表示网络前缀位数,主机号全0/全1分别对应网络地址和广播地址。 路由聚合:合并相邻子网(如172.1.4.0/22)以减少路由表条目,遵循“最长前缀匹配”原则(如AWS路由配置)。 高效计算法:提出十进制“块大小”快速计算子网范围(如256-252=4,77→76为网络地址),以及逆向法聚合

wuyufeng1997的博客 317

计算机三级网络技术 之 三.IP地址规划技术

可用IP地址:(直接广播地址-1)即:125.191.255.254。

weixin_50264079的博客 856

初识CIDR

CIDR的简单介绍

qq_42383970的博客 525
上一篇: VS生成可运行在其他平台的exe文件详解
下一篇: CString详解
超翔之逸
博客等级 码龄6年 4808粉丝 415原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

超翔之逸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值