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

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

相关文章

Python函数作用域示例详解

《Python函数作用域示例详解》本文介绍了Python中的LEGB作用域规则,详细解析了变量查找的四个层级,通过具体代码示例,展示了各层级的变量访问规则和特性,对python函数作用域相关知识感兴趣... 目录一、LEGB 规则二、作用域实例2.1 局部作用域(Local)2.2 闭包作用域(Enclos

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

Java内存分配与JVM参数详解(推荐)

《Java内存分配与JVM参数详解(推荐)》本文详解JVM内存结构与参数调整,涵盖堆分代、元空间、GC选择及优化策略,帮助开发者提升性能、避免内存泄漏,本文给大家介绍Java内存分配与JVM参数详解,... 目录引言JVM内存结构JVM参数概述堆内存分配年轻代与老年代调整堆内存大小调整年轻代与老年代比例元空

Python中注释使用方法举例详解

《Python中注释使用方法举例详解》在Python编程语言中注释是必不可少的一部分,它有助于提高代码的可读性和维护性,:本文主要介绍Python中注释使用方法的相关资料,需要的朋友可以参考下... 目录一、前言二、什么是注释?示例:三、单行注释语法:以 China编程# 开头,后面的内容为注释内容示例:示例:四

mysql表操作与查询功能详解

《mysql表操作与查询功能详解》本文系统讲解MySQL表操作与查询,涵盖创建、修改、复制表语法,基本查询结构及WHERE、GROUPBY等子句,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随... 目录01.表的操作1.1表操作概览1.2创建表1.3修改表1.4复制表02.基本查询操作2.1 SE

MySQL中的锁机制详解之全局锁,表级锁,行级锁

《MySQL中的锁机制详解之全局锁,表级锁,行级锁》MySQL锁机制通过全局、表级、行级锁控制并发,保障数据一致性与隔离性,全局锁适用于全库备份,表级锁适合读多写少场景,行级锁(InnoDB)实现高并... 目录一、锁机制基础:从并发问题到锁分类1.1 并发访问的三大问题1.2 锁的核心作用1.3 锁粒度分

MySQL数据库中ENUM的用法是什么详解

《MySQL数据库中ENUM的用法是什么详解》ENUM是一个字符串对象,用于指定一组预定义的值,并可在创建表时使用,下面:本文主要介绍MySQL数据库中ENUM的用法是什么的相关资料,文中通过代码... 目录mysql 中 ENUM 的用法一、ENUM 的定义与语法二、ENUM 的特点三、ENUM 的用法1

MySQL count()聚合函数详解

《MySQLcount()聚合函数详解》MySQL中的COUNT()函数,它是SQL中最常用的聚合函数之一,用于计算表中符合特定条件的行数,本文给大家介绍MySQLcount()聚合函数,感兴趣的朋... 目录核心功能语法形式重要特性与行为如何选择使用哪种形式?总结深入剖析一下 mysql 中的 COUNT

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁