子网掩码换算和子网的划分详解

2024-06-08 03:38

本文主要是介绍子网掩码换算和子网的划分详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、子网掩码的换算:

  在一个网络里面的子网掩码换算,就以网络中有多少台主机数为例来计算。比如说一B类IP地址为172.16.0.0的网络划分成若干子网,要求每个子网内有主机数为500台,则该子网掩码的计算方法基本步骤如下:

  第一步,首先将子网中要求容纳的主机数“500”转换成二进制,得到100000100

  第二步,计算出该二进制的位数为10位,即n =10。

  第三步,将255.255.255.255先化成二进制 11111111.11111111.11111111.111111
11从后向前10位全部置“0”,得到二进制数“11111111.11111111.11111100.00000000
”,转换成十进制后即为255.255.252.0,这就是该要划分成主机数为500的B类IP地址 192.168.0.0的子网掩码。

二、子网的划分:

  经过在工作中的实践,对子网划分的步骤进行了归纳,可体现在如下两步几步:

  第一步,将要划分的子网数目转换为2的m次方。如在一个网吧里面要划4个子网,4=22。如果不是2的多少次方,则取大为原则,(子网个数与占用主机地址位数有如下等式成立:2m≥n。其中,m表示占用主机地址的位数;n表示划分的子网个数)如要划分子网为6个,则同样要考虑8=23。

  第二步,将上一步确定的幂m按高序占用主机地址m位后,转换为十进制。如m为2表示主机位中有2位被划为“网络标识号”占用,因网络标识号应全为“1”,所以主机号对应的字节段为“11000000”。转换成十进制后为192,这就最终确定的子网掩码。就以我们呢常用的C类网为例,则子网掩码为255.255.255.192。

  我们就以实际实例举例说明,若我们用的网络号为192.168.1,则该C类网内的主机IP地址就是192.168.1.1~192.168.1.254,现将网络划分为4个子网。按如上步骤操作:

  4=22,则表示要占用主机地址的2个高序位,即为11000000,可以确定该4个子网的子网掩码都为255.255.255.192。而4个子网的IP地址的划分可以根据被网络号占住的高两位排列进行的,排列的四种顺序为:00,01,10,11。所以这四个IP地址范围分别为:

  (1)第1个子网被网络号占住为00的IP地址是从“11000000 10101000 00000001 00000001”到“11000000 10101000 00000001 00111110”。因为主机号不能全为“0”和“1”(全0为网络本身,全1为广播位),所以没有11000000 00001001 11001000 00000000和11000000 00001001 11001000 00111111这两个IP地址(下同)。注意实际上此时的主机号只有最后面的6位。对应的十进制IP地址范围为192.168.1~192.168.62。而这个子网的网络地址为 11000000 00001001 11001000 00000000,为192.168.1.0。

  (2)第2个子网被网络号占住为01的IP地址是从“11000000 10101000 00000001 01000001”到“11000000 10101000 00000001 01111110” 。对应的十进制IP地址范围为192.168.1.65~192.168.1.126。对应这个子网的网络地址为 11000000 10101000 00000001 01000000,为192.168.1.64。 

  (3)第3个子网被网络号占住为10的IP地址是从“11000000 10101000 00000001 10000001”到“11000000 10101000 00000001 10111110”。对应的十进制IP地址范围为192.168.1.129~192.168.1.190。对应这个子网的网络地址为 11000000 10101000 00000001 10000000,为192.168.1.128。 

  (4)第4个子网被网络号占住为11的IP地址是从“11000000 10101000 00000001 11000001”到“11000000 10101000 00000001 11111110”。对应的十进制IP地址范围为192.168.1.193~192.168.1.254。对应这个子网的网络地址为 11000000 10101000 00000001 11000000,为192.168.1.192。

  三、在网吧里面要保证每个划到的子网里面能给超过254台以上主机以IP就需要把子网掩码位的最后的(11111111 11111111 11111111 00000000 )8位都分给主机位,这样就需要在第三个8位(11111111 11111111 00000000 00000000 )上面来进行划分,而子网掩码的获得可以根据第一部分的方法获得。

  下面以一家1000台的网吧做实例举例说明。1000台机器打算分成4个子网,每个子网250台机器。我们以B类IP地址为172.16.0.0的网络划分四个子网,按照上面的子网划分步骤:

  第一步:4=22,则表示要占用主机地址的是2位,因是B类IP的后8位都分给主机做主机IP,所以就需要把占2位的子网掩码位向前移也就是在第三个8位的后两位上,既可以确定该四个子网的子网掩码为255.255.255.0(根据第一部分所说到的计算子网掩码的位数的方式算出。) 

  第二步: 4个子网的IP地址的划分可以根据被网络号占住的第三个8位的后两位排列进行,排列的四种顺序为:00,01,10,11。所以这四个IP地址范围分别为: 

  (1)第1个子网被网络号占住为00的IP地址是从“10101100 00010000 00000000 00000000”到“10101100 00010000 00000000 00000000”。 同理:因为主机号不能全为“0”和“1”(全0为网络本身,全1为广播位),所以没有10101100 00010000 00000000 00000000和10101100 00010000 00000000 11111111这两个IP地址(下同)。主机号占最后面的8位。对应的十进制IP地址范围为172.16.0.1~172.16.0.254。而这个子网的网络地址为10101100 00010000 00000000 00000000,为172.16.0.0。

  (2)第2个子网被网络号占住为00的IP地址是从“10101100 00010000 00000001 00000000”到“10101100 00010000 00000001 00000000”。 对应的十进制IP地址范围为172.16.1.1~172.16.1.254。而这个子网的网络地址为10101100 00010000 00000001 00000000,为172.16.1.0。 

  (3)第3个子网被网络号占住为00的IP地址是从“10101100 00010000 00000010 00000000”到“10101100 00010000 00000010 00000000” 。对应的十进制IP地址范围为172.16.2.1~172.16.254。而这个子网的网络地址为10101100 00010000 00000010 00000000,为172.16.2.0。 

  (4)第4个子网被网络号占住为00的IP地址是从“10101100 00010000 00000011 00000000”到“10101100 00010000 00000011 00000000” 。对应的十进制IP地址范围为172.16.3.1~172.16.3.254。而这个子网的网络地址为10101100 00010000 00000011 00000000,为172.16.3.0。 

  (注:作为B类地址来讲,在第三个8位上面可以根据所取的几位可以一共划分256个子网,实际的划分过程中要重点考虑一个网段中所存在的主机台数,以此先计算子网掩码,再以子网掩码全为1的右边往左边根据子网要占的子网掩码位划分子网。)

附:在此列出A、B、C三类网络子网数目与子网掩码的转换表,以供参考。

A类:

子网数目占用位数子网掩码子网中主机数
21255.128.0.08,388,606
42255.192.0.04,194,302
83255.224.0.02,097,150
164255.240.0.01,048,574
325255.248.0.0524,286
646255.252.0.0262,142
1287255.254.0.0131,070
2568255.255.0.065,534

 

B类:

子网数目占用位数子网掩码子网中主机数
21255.255.128.032,766
42255.255.192.016,382
83255.255.224.08,190
164255.255.240.04,094
325255.255.248.02,046
646255.255.252.01,022
1287255.255.254.0510
2568255.255.255.0254

 

C类:

子网数目占用位数子网掩码子网中主机数
21255.255.255.128126
42255.255.255.19262
83255.255.255.22430
164255.255.255.24014
325255.255.255.2486
646255.255.255.2522

这篇关于子网掩码换算和子网的划分详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1041117

相关文章

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

MySQL的JDBC编程详解

《MySQL的JDBC编程详解》:本文主要介绍MySQL的JDBC编程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、前置知识1. 引入依赖2. 认识 url二、JDBC 操作流程1. JDBC 的写操作2. JDBC 的读操作总结前言本文介绍了mysq

Redis 的 SUBSCRIBE命令详解

《Redis的SUBSCRIBE命令详解》Redis的SUBSCRIBE命令用于订阅一个或多个频道,以便接收发送到这些频道的消息,本文给大家介绍Redis的SUBSCRIBE命令,感兴趣的朋友跟随... 目录基本语法工作原理示例消息格式相关命令python 示例Redis 的 SUBSCRIBE 命令用于订

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Python中 try / except / else / finally 异常处理方法详解

《Python中try/except/else/finally异常处理方法详解》:本文主要介绍Python中try/except/else/finally异常处理方法的相关资料,涵... 目录1. 基本结构2. 各部分的作用tryexceptelsefinally3. 执行流程总结4. 常见用法(1)多个e

SpringBoot日志级别与日志分组详解

《SpringBoot日志级别与日志分组详解》文章介绍了日志级别(ALL至OFF)及其作用,说明SpringBoot默认日志级别为INFO,可通过application.properties调整全局或... 目录日志级别1、级别内容2、调整日志级别调整默认日志级别调整指定类的日志级别项目开发过程中,利用日志

Java中的抽象类与abstract 关键字使用详解

《Java中的抽象类与abstract关键字使用详解》:本文主要介绍Java中的抽象类与abstract关键字使用详解,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、抽象类的概念二、使用 abstract2.1 修饰类 => 抽象类2.2 修饰方法 => 抽象方法,没有

MySQL8 密码强度评估与配置详解

《MySQL8密码强度评估与配置详解》MySQL8默认启用密码强度插件,实施MEDIUM策略(长度8、含数字/字母/特殊字符),支持动态调整与配置文件设置,推荐使用STRONG策略并定期更新密码以提... 目录一、mysql 8 密码强度评估机制1.核心插件:validate_password2.密码策略级

从入门到精通详解Python虚拟环境完全指南

《从入门到精通详解Python虚拟环境完全指南》Python虚拟环境是一个独立的Python运行环境,它允许你为不同的项目创建隔离的Python环境,下面小编就来和大家详细介绍一下吧... 目录什么是python虚拟环境一、使用venv创建和管理虚拟环境1.1 创建虚拟环境1.2 激活虚拟环境1.3 验证虚

详解python pycharm与cmd中制表符不一样

《详解pythonpycharm与cmd中制表符不一样》本文主要介绍了pythonpycharm与cmd中制表符不一样,这个问题通常是因为PyCharm和命令行(CMD)使用的制表符(tab)的宽... 这个问题通常是因为PyCharm和命令行(CMD)使用的制表符(tab)的宽度不同导致的。在PyChar