当您想要监控复杂的网络时,了解 IP 子网、IP 子网划分、IP 地址、路由器和默认网关的工作原理非常重要。本文档可帮助您了解 IP 子网划分基础知识、TCP/IP 子网、子网掩码和 IP 子网的用法。本文档介绍和使用 CIDR 和 VLSM 协议,分解子网寻址结构,帮助您自行计算 TCP/IP 子网。
为了帮助您入门,以下是您需要了解的术语列表,以便更好地了解 IP 子网划分:
互联网协议 (IP) 地址是分配给网络中的设备或主机的 32 位数字标签。随着网络的增长,32位IPv4地址资源正在耗尽,为部署128位IPv6地址铺平了道路。尽管 IPv6 地址正在部署,但 IPv4 仍然是 TCP/IP 网络和其他分组交换网络使用的核心协议之一。
IP 地址以点分十进制格式表示,其中四个八位字节每个八位字节都有一个 8 位数字 (0-255),用句点 ('.“ ) 分隔。IP 地址由两部分组成。IP 地址由两部分组成:网络ID 和主机 ID。根据使用的类或应用的子网掩码,从左到右的八位字节表示网络 ID,从右到左表示主机 ID。
例如:IP 地址 192.168.10.8 表示如下。

根据使用的类或应用的子网掩码,从左到右的八位字节表示网络 ID,从右到左表示主机 ID。
作为解释 IP 子网、子网地址和子网掩码的类比,假设您将举办一个夏令营,教学生音乐、艺术、舞蹈和戏剧。假设您希望唯一标识每个学生,以便学生 ID 号告诉您学生的班级和卷号。如果你为你的营地租了一个大型研讨厅,你必须设置隔板,将这个大礼堂分成四个不同的房间,因为我们不希望班级相互干扰,而且在一个班级中创建唯一的ID比在四个班级中创建一个更简单。
现在,每个学生都被分配了一个班级,用于营地的其余部分。让我们为每个类分配一个类 ID。艺术课是01,音乐课是02,舞蹈课是03,戏剧课是04。每个班级招收20名学生。因此,我们在每个教室都有1-20的卷号。为了识别哪个学生属于哪个班级,我们给每个学生一张身份证,上面有他们的班级ID和卷号。
在音乐班注册的卷号为 13 的学生有一张身份证,上面写着 0213。
同样,ID 0109 表示学生已注册艺术班,他们的卷号为 09。
比如说,有人找到了四张丢失的身份证,想把它们还给学生。他们只需在最后两位数字上放置一个面具即可轻松找到学生属于哪个班级;前两位数字将为他们提供类 ID。
同样,一个网络可以由多个主机组成。为了有效地为这些主机分配地址,我们将网络(大厅)划分为子网(教室)。在受监视的 IP 子网中,每个子网都有一个网络 ID(类 ID)。子网中的主机具有主机 ID(卷号)。为了识别哪个主机属于哪个子网,我们使用子网掩码(纸掩码)。
IPv4大致分为五类。这些类称为A,B,C,D和E类.D类和E类保留用于多重铸造和实验研究。IP 地址所属的 TCP/IP 类根据左侧八位字节中的值进行标识。

例如,类 A 的第一个八位字节(最左边的八位字节)的 IP 范围为 1-126。其他三个八位字节分配给主机 ID。同样,在类 B 中,IP 范围为 128-191 的前 2 个八位字节(从左起)分配给网络 ID,其余两个八位字节分配给主机 ID。
下面给出了网络类、其 IP 范围和支持的主机地址数量。
| 类 | IP 范围 | 网络 ID (N) 和主机 ID (H)分配 | 主机数量 |
|---|---|---|---|
| A | 1-126* | N.H.H.H | 16,777,214 |
| B | 128-191 | N.N.H.H | 65,534 |
| C | 192-223 | N.N.N.H | 254 |
| D | 224-239 | — | — |
| E | 240-255 | — | — |
*任何以 127 范围开头的 IP 地址都是环回 IP。
例如:255.0.0.0 以十进制表示类 A 的默认子网掩码。当用二进制表示时是:
11111111.00000000.00000000. 0000000
网络 ID 主机 ID
因此,子网掩码用 1 屏蔽 IP 地址的网络 ID,并将主机 ID 部分全部为 0。
如果不执行 IP 子网划分,则应完全使用一个网络类,这是不现实的,因为网络中的每个数据链路都应该具有唯一的网络 ID。
有类 IP 子网划分不能灵活地减少每个网络的主机数,或者每个 IP 类具有更多的网络。这浪费了数百万个 A 类地址和许多 B 类地址,而 C 类中可用的地址数量不足。
例如:假设您必须为具有 1500 台设备的网络执行 IP 子网划分。选择使用 B 类子网划分,您将浪费 64,034 个 IP 地址。然而,使用 C 类会导致使用六个 C 类网络。这不是大型网络的最佳解决方案。
在 FLSM 之后的有类子网成为一种低效的子网划分技术。
解决方案:将 CIDR 与 VLSM 结合使用,进行 IP 子网划分。
CIDR 提供将 IPv4 和 IPv6 地址划分为单个 IP 子网的无类别 IP 子网。此过程由 Internet 工程任务组于 1993 年开发,涉及在网络地址上放置掩码,以指定路由器哪个地址是网络 ID,哪个部分是主机 ID,而不遵循任何一个的位分配。此过程放弃有类寻址,并允许对网络进行子网划分,以管理具有所需数量主机的逻辑分区。
IP 子网划分的一个重要方面是将子网划分为较小的网络,这是通过 VLSM 实现的。如前所述,在 FLSM 子网划分中,所有子网的主机 ID 数量相等,大小相等。在 VLSM 子网划分中,不同的子网可以具有不同的大小。此技术称为子网划分。
使用 FLSM,所有子网的大小和主机数量相等,并且是专用 IP 寻址的首选。而在 VLSM 中,通过高级 IP 子网划分,子网和主机的大小和数量可变,以满足网络要求,并用于公共 IP 寻址。
CIDR包含许多网络概念,其中包括VLSM。VLSM 允许以可变长度实现子网和子网掩码,而不局限于类。VLSM 通过在子网内应用子网掩码来启用子网子网,因为 VLSM 根据此要求使用块大小。这增加了子网的可用性。
例如,在使用A类子网时,有16,777,214个主机地址可供使用,因为有三个八位数用于分配主机。为了优化使用,从主机部分借来的比特被添加到子网掩码中。这可以创建各种具有不同数量主机的A类子网,可以根据需要采用。同样的原则可以用于B类子网和C类子网的子网。使用VLSM的A类子网的一些组合的例子显示在下表中。
| 网络位数 | 子网掩码 | 位数移动 | 子网 | 主机 |
|---|---|---|---|---|
| 8 | 255.0.0.0 | 0 | 1 | 16,77,214 |
| 9 | 255.128.0.0 | 1 | 2 | 8,388,606 |
| 16 | 255.255.0.0 | 8 | 256 | 65,534 |
| 25 | 255.255.255.128 | 17 | 131,072 | 126 |
| 30 | 255.255.255.252 | 22 | 4,194,304 | 2 |
注: 要计算可用的 IP 子网和主机,
(i) 子网数 =2 n,其中,n 是子网 ID 中的 1 数。(ii) 可用主机数 =2 n-2 其中,n是主机 ID 中的 0 数。
例如:
如前所述,
在分类子网划分中,对于 C 类 IP 192.182.21.103,二进制中的子网掩码 255.255.255.0 如下所示。
IP :
11000000 . 10110110 . 00010101 . 1100111
11111111 .11111111 .11111111 |00000000(正在应用子网)
在这里,“|”的左侧是网络ID(被子网掩码屏蔽),右侧是为主机地址分配的位(8位)。因此,可能的主机数为 254(2^8 - 2 个主机)。
使用 CIDR 和 VLSM,子网划分独立于类。因此,二进制子网掩码为 255.255.255.248 的 IP 地址 192.182.21.3 表示为,
IP :
11000000 .10110110 .00010101 .1100111
11111111 .11111111. 11111111 .11111000(应用子网掩码)
在这里,通过CIDR和VLSM,我们得到:
11000000 . 10110110 . 00010101 . 1100 111
网络 ID 子网 ID 主机 ID
由于在使用子网掩码时,主机 ID 不能全是 0(表示网络地址)或全部 1(表示网络广播地址),因此上述 IP 不是主机 IP,而是 IP 子网地址的广播 IP。
传统上,IP 地址根据其在第一个八位字节中的范围表示它所属的类,例如,192.138.27.9 属于类 C。在 CIDR 表示法中,此信息后缀为 IP 地址本身。
例如:
如果没有 CIDR 表示法,我们指定为 IP:192.168.10.1
子网掩码:255.255.255.248
使用 CIDR 表示法写成
IP:192.168.10.1/29
其中29是为网络 ID 分配的位数。
考虑具有三个 LAN 的网络:具有 25 个主机的 LAN A、具有 12 个主机的 LAN B 和具有 55 个主机的 LAN C。这些 LAN 通过三个串行链路(链路 X、链路 Y 和链路 Z)连接。
对于 192.168.4.0/24 的网络范围,必须计算使用 CIDR 和 VLSM 进行子网划分的 IP 计划。

对于具有 55 台主机的最大网络 LAN C,我们知道具有 CIDR /26 的子网提供四个子网,每个子网可以支持 64 个主机。这四个子网中的任何一个都可以分配给 LAN C。
因此,我们将子网 192.168.4.0/26 分配给 LAN C,其中第一个主机 ID 是网络 ID,最后一个主机 ID 是广播 ID。剩余的 62 个 ID 中的任何一个都可以分配给 LAN C 中的 55 个主机。
| 网络 ID | 子网掩码 | 主机 | 网络 |
|---|---|---|---|
| 192.168.4.0 | /26 | 64 | LAN C |
| 192.168.4.64 | /26 | 64 | Future use |
| 192.168.4.128 | /26 | 64 | Future use |
| 192.168.4.192 | /26 | 64 | Future use |
CIDR /27 的子网划分将提供 32 个主机 ID。因此,对于具有 25 个主机的 LAN A,我们将子网 192.168.4.64/26,将 64 个主机 ID 划分为两个子网,每个子网包含 32 个主机 ID。这为我们提供了子网 192.168.4.64/27 和子网 192.168.4.96/26 中的子网 192.168.4.96/27,其中任何一个都可用于 LAN A。
| 网络 ID | 子网掩码 | 主机 | 网络 |
|---|---|---|---|
| 192.168.4.0 | /26 | 64 | LAN C |
| 192.168.4.64 | /27 | 32 | LAN A |
| 192.168.4.96 | /27 | 32 | Future use |
| 192.168.4.128 | /26 | 64 | Future use |
| 192.168.4.192 | /26 | 64 | Future use |
将步骤 3 应用于具有 12 台主机的第二大网络 LAN B,我们将 192.168.4.96/27 进一步子网为 192.168.4.96/28 和 192.168.4.112/28,每个主机 ID 将给我们 16 个主机 ID。
| 网络 ID | 子网掩码 | 主机 | 网络 |
|---|---|---|---|
| 192.168.4.0 | /26 | 64 | LAN C |
| 192.168.4.64 | /27 | 32 | LAN A |
| 192.168.4.96 | /28 | 16 | LAN B |
| 192.168.4.112 | /28 | 16 | Future use |
| 192.168.4.128 | /26 | 64 | Future use |
| 192.168.4.192 | /26 | 64 | Future use |
现在,对于三个链路(链路 X、Y、Z),每个链路都需要两个主机 ID。因此,我们需要一个子网划分,它可以提供四个主机 ID,网络和广播 ID 各两个。重复第三步,我们得到:
| 网络 ID | 子网掩码 | 主机 | 网络 |
|---|---|---|---|
| 192.168.4.0 | /26 | 64 | LAN C |
| 192.168.4.64 | /27 | 32 | LAN A |
| 192.168.4.96 | /28 | 16 | LAN B |
| 192.168.4.112 | /30 | 4 | LAN X |
| 192.168.4.116 | /30 | 4 | LAN Y |
| 192.168.4.120 | /30 | 4 | LAN Z |
| 192.168.4.124 | /30 | 4 | Future use |
| 192.168.4.128 | /26 | 64 | Future use |
| 192.168.4.192 | /26 | 64 | Future use |
在使用 CIDR 和 VLSM 对给定网络进行子网划分时,我们获得了六个具有可变主机数量的子网,以满足我们的网络要求。计算出的子网可以分配给网络中的逻辑分区,保留剩余的地址以供将来使用。IP 子网扫描程序现在可以扫描子网中的 IP 地址。
子网划分网络会导致必须监视和管理多个子网,以保持网络稳定性。这使得拥有像 OpUtils这样的高效网络监控解决方案非常重要,因为手动管理这些子网非常耗时且效率低下。OpUtils的IP子网工具使网络管理员更容易扫描IP子网中的IP地址,计算IP子网,并协助高级IP子网划分。
OpUtils是一个IP地址和交换机端口管理器提供的IP子网工具,可以扫描,监控和管理多个子网。
我有一个存储主机名的Ruby数组server_names。如果我打印出来,它看起来像这样:["hostname.abc.com","hostname2.abc.com","hostname3.abc.com"]相当标准。我想要做的是获取这些服务器的IP(可能将它们存储在另一个变量中)。看起来IPSocket类可以做到这一点,但我不确定如何使用IPSocket类遍历它。如果它只是尝试像这样打印出IP:server_names.eachdo|name|IPSocket::getaddress(name)pnameend它提示我没有提供服务器名称。这是语法问题还是我没有正确使用类?输出:ge
无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD
C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.
1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,
我最喜欢的Google文档功能之一是它会在我工作时不断自动保存我的文档版本。这意味着即使我在进行关键更改之前忘记在某个点进行保存,也很有可能会自动创建一个保存点。至少,我可以将文档恢复到错误更改之前的状态,并从该点继续工作。对于在MacOS(或UNIX)上运行的Ruby编码器,是否有具有等效功能的工具?例如,一个工具会每隔几分钟自动将Gitcheckin我的本地存储库以获取我正在处理的文件。也许我有点偏执,但这点小保险可以让我在日常工作中安心。 最佳答案 虚拟机有些人可能讨厌我对此的回应,但我在编码时经常使用VIM,它具有自动保存功
我正在尝试上传文件。一个简单的hello.txt。我正在关注文档,但无法将其上传到我的存储桶。#STARTAWSCLIENTs3=Aws::S3::Resource.newbucket=s3.bucket(BUCKET_NAME)begins3.buckets[BUCKET_NAME].objects[KEY].write(:file=>FILE_NAME)puts"Uploadingfile#{FILE_NAME}tobucket#{BUCKET_NAME}."bucket.objects.eachdo|obj|puts"#{obj.key}=>#{obj.etag}"endresc
我想在Ruby的TCPServer中获取客户端的IP地址。以及(如果可能的话)MAC地址。例如,Ruby中的时间服务器,请参阅评论。tcpserver=TCPServer.new("",80)iftcpserverputs"Listening"loopdosocket=tcpserver.acceptifsocketThread.newdoputs"Connectedfrom"+#HERE!HowcanigettheIPAddressfromtheclient?socket.write(Time.now.to_s)socket.closeendendendend非常感谢!
我有一个Highstock图表(带有标记和阴影的线条),并且想以编程方式显示一个highstock工具提示,例如,当我选择某个表上的一行(包含图表数据)我想显示相应的highstock工具提示。这可能吗? 最佳答案 股票图表thissolution不起作用:在thisexample你必须更换这个:chart.tooltip.refresh(chart.series[0].data[i]);为此:chart.tooltip.refresh([chart.series[0].points[i]]);解决方案可用here.
一、机器人介绍 此处是基于MATLABRVC工具箱,对ABB-IRB-1200型号的微型机械臂进行正逆向运动学分析,并利Simulink工具实现对机械臂进行具有动力学参数的末端轨迹规划仿真,最后根据机械模型设计Simulink-Adams联合仿真。 图1.ABBIRB 1200尺寸参数示意图ABBIRB 1200提供的两种型号广泛适用于各作业,且两者间零部件通用,两种型号的工作范围分别为700 mm 和 900 mm,大有效负载分别为 7 kg 和5 kg。 IRB 1200 能够在狭小空间内能发挥其工作范围与性能优势,具有全新的设计、小型化的体积、高效的性能、易于集成、便捷的接
我是syslog的新手。我们决定使用系统日志来跟踪Rails应用程序中的一些特殊事件。问题是我不想使用默认的/var/log/system.log文件,而是使用自定义文件,例如/var/log/myapp_events.log.我看到我必须像这样在/etc/syslog.conf中定义我自己的设施:myapp_events.*/var/log/myapp_events.log重新启动syslogd后,我发现我可以直接在bash控制台中使用它:syslog-s-kFacilitymyapp_eventsMessage"thisismymessage"该消息按预期出现在/var/log/m