.

  • 一、 Ip地址
    • 1、什么是IP地址
    • 2、什么是子网掩码
    • 3、ip地址的两种表示方式
    • 3、特殊的一类IP地址
  • 二、常见IP相关计算
    • 1、网络号
    • 2、主机号
    • 3、广播地址
    • 4、可用IP地址范围
    • 5、子网数目
  • 三、子网划分
  • 四、子网掩码如何确定

一、 Ip地址

1、什么是IP地址

IP地址就是给每个连接在Internet上的主机分配的一个32bit地址。按照CP/IP协议规定,IP地址用二进制来表示,每个IP地址长32bit,比特换算成字节,就是4个字节。包括主机地址和网络地址两部分。如11000000 10101000 00000001 00000110(192.168.1.6)

2、什么是子网掩码

  • 子网掩码(subnet masking)的功能是告知主机或路由设备,地址的哪一部分是网络号,包括子网的网络号部分,哪一部分是主机号部分。

  • 子网掩码使用与IP地址相同的编址格式,即4个8位组的32位长格式。

  • 在子网掩码中,网络部分和子网络部分对应的位全为“1”主机部分对应的位全为“0”

  • 通过将子网掩码与IP地址进行“与”操作,可提供所给定的IP地址所属的网络号(包括子网络号)

172.31.128.255/18

其中18就是子网掩码,表示32位中高18位是1,其它位为0。它的二进制形式为11111111.11111111.11000000.000000,转为十进制就是255.255.192.0,为了方便我们习惯于写单个数字18表示子网掩码

3、ip地址的两种表示方式

  • 原始的划分方式
    左边的某些连续位表示网络号,右边的某些连续位表示主机号,那么我们平常在讨论这一系列问题的时候,会有一个“网络地址”的概念,一般来说网络地址并不等于IP地址,网络地址就是IP地址中的网络号,将主机号置0,就可以得到网络地址。
    IP地址 ::= {<网络号>, <主机号>},

  • 目前使用的最新方式:CIDR
    CIDR中已经废弃了IP地址的分类,无分类编址的命名也是由此得来的,所以目前基本已经不再采用所谓的A类、B类、C类的IP地址分类表示法,引入一个额外的子网掩码(subnet mask)来区分网络号和主机号;子网掩码也是一个32位的正整数. 通常用一串 “0” 来结尾;将IP地址和子网掩码进行 “按位与” 操作, 得到的结果就是网络号;网络号和主机号的划分与这个IP地址是A类、B类还是C类无关;
 IP地址 ::= {<网络号>, <子网号>, <主机号>}

3、特殊的一类IP地址

二、常见IP相关计算

例子: 给定IP地址和子网掩码 172.31.128.255 / 18

1、网络号

公式:将IP地址的二进制和子网掩码的二进制进行“&”(and)运算,得到的结果就是网络号。“&运算”的规则是1&1=1,0&1=0,1&0=0,0&0=0。

ip:        10101100.00011111.10000000.11111111  子网掩码:  11111111.11111111.11000000.00000000
----------------------------------------------------
网络号:     10101100.00011111.10000000.00000000   & 
网络号点分法表示: 172.31.128.0

2、主机号

公式:用IP地址的二进制和(子网掩码的二进制的反码)进行“&”运算,得到的结果就是主机号。反码就是将原本是0的变为1,原本是1的变为0。

ip:           10101100.00011111.10000000.11111111  子网掩码取反:  00000000.00000000.00111111.11111111
----------------------------------------------------
主机号:        00000000.00000000.00000000.11111111   & 
主机号点分法表示: 0.0.0.255

3、广播地址

公式:在得到网络号的基础上,将网络号右边的表示IP地址的主机部分的二进制位全部填上1,再将得到的二进制数转换为十进制数就可以得到广播地址。因为本题中子网掩码是11111111.11111111.11000000.00000000, 0有14个,主机位是14,我们将网络号172.31.128.0,转换为二进制是 10101100.00011111.10000000.00000000,从右边数起,将14个0全部替换为1, 即:10101100.00011111.10111111.11111111,这就是这个子网的广播地址的二进制表示法。将这个二进制广播地址转换为十进制就是
172.31.191.255

网络号:     10101100.00011111.10000000.00000000子网掩码:  11111111.11111111.11000000.00000000
----------------------------------------------------
广播地址:   10101100.00011111.10111111.11111111   网络号从右向左0填为1,个数为掩码中的0
广播地址点分法表示: 172.31.191.255

4、可用IP地址范围

因为网络号是172.31.128.0,广播地址是172.31.191.255,所以子网中可用的IP地址范围就是从网络号+1 ~广播地址-1,所以子网中的可用IP地址范围就是从172.31.128.1-172.31.191.254

5、子网数目

首先将/18换成为我们习惯的表示法:
11111111.11111111.11000000.000000转为十进制就是255.255.192.0,可以看到这个掩码的左边两节和B类默认掩码是一致的,所以这个掩码是在B类默认掩码的范围内,意味着我们将对B类大网进行子网划分。B类掩码默类是用16位(16个0)来表示可分配的IP 地址,这里的掩码在B类默认掩码的基础上多出了两个表示网络号的1,也就是向主机位借了两个1这就是说是将B类大网划分为2的2次方个子网(2^n,n表示所借1的个数),所以最终的子网数目是4

三、子网划分

例子: 已知IP 192.168.1.133 ,子网掩码为255.255.255.192;求划分的子网的个数和范围

首先将子网掩码写为二进制的形式方便观察将其转换成二进制后和255.255.255.0对比可发现,前掩码的前24位没有变化,只是在原来表示主机号的部分头两位变成了1

192.168.1.113:       11000000.10101000.00000001.10000101   (1)255.255.255.192:   11111111.11111111.11111111.11000000    (2)
----------------------------------------------------
255.255.255.0:      11111111.11111111.11111111.00000000    (3)

我们把IP地址中的前24位(192.168.1)先不关注,因为前24位对应掩码没有变化它们始终表示网络号

  • 原本255.255.255.192在192为0,及255.255.255.0的情况下属于C类地址的默认子网掩码
  • 按照子网掩码的定义,子网掩码1所对应的位为网络号位,而0所对应的位为主机号位
  • 主机号中被借走了两位用来表示网络号了,这就是子网号。二进制一位用0或1表示,那么占用了两位就有2*2=4种表示,这里占用了2位,也就是说我们将原有的192.168.1.0这个网络分成了四份,即4个子网)这四段的网络号分别是00000000、01000000、10000000、11000000,现在我们将它们转换成10进制就分别是0、64、128、192,现在把前24位加进来
192.168.1.0  192.168.1.64  192.168.1.128 192.168.1.192
  • 此时再来看广播地址,既然我们把一个网段分成了四份,它就应该有4个广播地址。广播地址的定义是主机号位全位1的地址就是广播地址。所以这四个网段的广播地址末八位就是00111111、01111111、10111111、11111111,转换成10进制分别为63、127、191、255。加上原来的网络号位,广播地址就是
192.168.1.63192.168.1.127192.168.1.191192.168.1.255

四个网段中去除网络地址和广播地址中间的部分就是可用的主机IP地址了。则可用IP为

192.168.1.1  ------> 192.168.1.62192.168.1.65-------> 192.168.1.126  192.168.1.129------> 192.168.1.190192.168.1.193------> 192.168.1.254

四、子网掩码如何确定

例: 学校新建5个机房,每个房间有30台机器,如果给定一C类网络地址:192.168.1.0,问如何将其划分为5个子网,子网掩码该如何设置?

子网划分建议按以下步骤和实例计算子网掩码:

  1. 将要划分的子网数目转换为2的m次方。如要分8个子网,8=23
  2. 取上述要划分子网数的2m的幂m。如2^3,即m=3。
  3. 将上一步确定的幂m按高序占用主机地址m位后转换为十进制。
  4. 如m为3 则是11100000,转换为十进制为224,即为最终确定的子网掩码。
  5. 如果是C类网,则子网掩码为255.255.255.224;如果是B类网,则子网掩码为255.255.224.0;如果是A类网,则子网掩码为255.224.0.0。

23 =8(大于5的最小的2的整幂次数),向主机号中借走三位作为网络号,而剩下的5位主机号,每个网段内可容纳的主机数是25即32,可用主机需要再减2即为30,满足每个房间30台机器的题目要求。取23的幂,即3,即占用了主机号中的高3位即为11100000,转换为十进制为224,所以该地址为C类地址的子网掩码应该设置为255.255.255.224。各机房IP和子网掩码配置如下(已经去掉广播地址和主机地址):

机房号        子网掩码                 IP地址范围
机房1     255.255.255.224     192.168.1.1~192.168.1.30机房2     255.255.255.224     192.168.1.33~192.168.1.62机房3     255.255.255.224     192.168.1.65~192.168.1.94机房4     255.255.255.224     192.168.1.97~192.168.1.126机房5     255.255.255.224     192.168.1.129~192.168.1.158

其它:

  • IP地址块为211.168.15.192/26、211.168.15.160/27和211.168.15.128/27三个地址块经聚合后可用地址数为(A)
    A.126 B.62 C.128 D.68

    地址聚合无非是找出它们相同的部分…将两个分配的IP地址块最后一部分换算成二进制(因为只有最后一部分不相同),之后可得出新的子网掩码(子网掩码中相同的部分用1表示,不同的部分用0表示):
    211.168.15. 11000000 211.168.15. 10100000 211.168.15. 10000000
    可得聚合地址块为211.168.15. 10000000,即211.168.15. 128
    掩码是IP二进制前面相同的位数,由于从 1~25位三个子网完全相同,所以经过聚合后的地址为211.168.15. 128/25,所以可用地址为:2^(32-25)-2=126

  • 如果将网络IP段40.15.128.0/17划分成2个子网,则第一个子网IP段为40.15.128.0/18,则第二个子网为:(D)
    A.40.15.129.0/18 B.40.15.128.128/18 C.40.15.192.0/17 D.40.15.192.0/18

    1.IP地址32位,分为两段:网络地址+主机地址。其中可由主机地址分离出一些位来作为子网地址 2.斜线后的数字是表示用多少位来表示网络地址,这里很明显是17位,那么只有15位表示主机地址 3.这里分成了两个子网,也就只需要用一位来表示。也就是第18位 4.第一个地址的第十八位明显是0,第二个只能是1

  • 对于IP地址130.63.160.2,MASK为255.255.255.0,子网号为(B)
    A.160.2 B.160 C.63.160 D.130.63.160

    30.63.160.2是B类IP地址,B类IP地址前16位(两个字节)为网络号,后16位是主机号,划分子网就是将主机号中的一部分拿出来当做子网号,这里子网掩码为255.255.255.0也就是把前三个字节当成了网络号,与B类IP默认的前两个字节作为网络号相比,第三个字节就是子网号,就是160。所以这个ip的网络号是130.63 ,子网号是 160 ,主机号是2

总结:本篇总结了IP计算方面的一些常见问题,不足之处欢迎指正,觉得写得不错的可以点个赞

IP地址计算---子网掩码确定和子网划分等详解 (附常见相关习题)相关推荐

  1. IP地址与子网划分(详解)

    文章目录 1 IP地址 1.1 IP地址含义 1.2 IP地址的构成 1.3 IP地址的分类 2 子网划分 2.1 子网掩码 2.2 根据IP地址和掩码计算 2.3 子网划分的原理与步骤 2.4 子网 ...

  2. IP地址和子网划分例题详解

    1.为什么要划分子网? IPv4地址如果只使用有类(A.B.C类)来划分,会造成大量的浪费或者不够用,为了解决这个问题,可以在有类网络的基础上,通过对IP地址的主机号进行再划分,把一部分划入网络号,就 ...

  3. [计算机网络] 子网划分(详解)一个自治系统有5个局域网,其连接图如图所示。LAN2至LAN5上的主机数分别为91,150,3和15。该自治系统分配到的IP地址块为30.138.118/23。试...

    目录 题目 解题过程 (一)分析 (二)划分 (三)结果 结语 题目 一个自治系统有5个局域网,其连接图如图所示.LAN1至LAN5上的主机数分别为91,150,3和15.该自治系统分配到的IP地址块 ...

  4. 带你了解IP地址的分类与子网划分

    带你了解IP地址的分类与子网划分 一.IP地址 二.IP协议 三.IP地址的组成 四.分类 五.长间的私有IP地址范围,特殊地址 六.子网划分应用实例 一.IP地址 IP地址概念 IP地址是IP协议提 ...

  5. [Python]根据ip地址计算子网掩码位数

    [Python]根据ip地址计算子网掩码位数 脚本代码以及结果 代码 #!/bin/bashnetmask = '255.255.255.0'result = ""print ne ...

  6. PHP中IP地址与整型数字互相转换详解

    这篇文章主要介绍了PHP中IP地址与整型数字互相转换详解,本文介绍了使用PHP函数ip2long与long2ip的使用,以及它们的BUG介绍,最后给出自己写的两个算法,需要的朋友可以参考下 IP转换成 ...

  7. c语言整数转ip地址字符串,C/C++ ip地址与int类型的转换实例详解

    C/C++ ip地址与int类型的转换实例详解 前言 最近看道一个面试题目,大体意思就是将ip地址,例如"192.168.1.116"转换成int类型,同时还能在转换回去 思路 i ...

  8. ip子网掩码计算及子网划分

    为什么要懂 子网掩码计算,及子网划分属于网络基础知识.一般在几个地方会用到: 公司避免产生网络风暴而划分子网,帮助路由器判断对应主机是否在同一个网段中 服务器相互隔离而划分子网,一般机房管理人员规划: ...

  9. 网络基础3-1(细谈IP协议头, 网络层,子网划分,路由选择,数据链路层,以太网帧格式,MAC地址,再谈ARP协议)

    IP协议 IP协议头格式 4位版本号(version): 指定IP协议的版本, 对于IPv4来说, 就是4 4位头部长度(header length): IP头部的长度是多少个.32bit, 也就是 ...

最新文章

  1. DataGridView取得或者修改当前单元格的内容
  2. Scala 深入浅出实战经典 第88讲:Scala中使用For表达式实现map、flatMap、filter
  3. 负载均衡策略关键因素
  4. (14)Verilog数据类型-基本语法(二)(第3天)
  5. Android P(3)---Android P 功能和 API
  6. 快速修剪技巧_20个相见恨晚的CAD画图神技巧,让你效率飞升!
  7. 2022年 预训练的下一步是什么?
  8. appenders_Log4j Appenders教程
  9. cl编译C文件的环境变量修改
  10. 利用quietHDD解决硬盘C1增长以及异响问题
  11. 详解区块链,智能合约,去中心化应用
  12. 买传奇域名空间要注意什么?
  13. java实训意义_java实习心得体会
  14. 苹果手机配什么无线蓝牙耳机好?适配苹果手机的蓝牙耳机推荐
  15. 蜂鸣器播放音乐 fpga实现
  16. java地球承载_科普知识!几个地球能承载人类的生态足迹?
  17. linux的dispatch函数,DirectFB Dispatch_Write函数缓冲区溢出漏洞(CVE-2014-2977)
  18. 论文笔记-Vanilla Transformer:Character-Level Language Modeling with Deeper Self-Attention
  19. 模块msvcp140.dll加载失败怎么解决
  20. 编译器的优化真是太难了!

热门文章

  1. 蓝牙耳机哪个品牌最好?数码博主整理2023超高性价比蓝牙耳机推荐
  2. 解决索尼WH-1000XM3使用蓝牙连接电脑无法使用麦克风的问题
  3. 探索女性角色扮演游戏Top Girl成功的秘诀
  4. 【微信开发|PHP】设置关注自动回复,关键词自动回复。
  5. Java去除首尾指定字符串
  6. 《运营之光3.0》全新上市——跨越时代,自我颠覆的诚意之作
  7. 受了点小伤,心情怎么就变坏了呢?
  8. zk服务启动报错:Unexpected exception, exiting abnormally.java.io.IOException:
  9. 还记得那一场说开始就开始的恋爱吗?
  10. HTML内镶svg编辑器!后续改进,记录过程!