博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux---子网划分及子网掩码计算方法
阅读量:3922 次
发布时间:2019-05-23

本文共 2591 字,大约阅读时间需要 8 分钟。

IP地址分类(IPv4)

(1)IP地址:32位二进制(网络通信数据包)-------点分十进制方式(人机交互)。
(2)IP地址中32位实际包含2部分=网络地址(+子网地址)+主机地址。子网掩码,用来说明网络地址(+子网地址)和主机地址各自占多少位。
(3)由网络地址和主机地址分别占多少位的不同,将IP地址分为5类,最常用的有3类

A类IP地址:10.0.0.0~126.0.0.0 	//1字节网络地址(最高位必须为0即1-126) + 3字节主机地址 即有126个A类网络地址B类IP地址:128.0.0.0~191.0.0.0 	//2字节网络地址(最高位必须是10) + 2字节主机地址 故B类网络地址有2^14个 每个B类网络能容纳2^16-2个主机C类IP地址:192.0.0.0~223.0.0.0	//3字节网络地址(最高位必须是110) + 1字节主机地址 D类IP地址称为广播地址,供特殊协议向选定的节点发送信息时用。E类IP地址保留给将来使用。D类地址224.0.0.0--254.254.254.01110xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx**用于组播和调查**,前面4位1110引导,后面28位为组播地址id。E类地址:总是以1111四位引导  用于研究用//127.0.0.0用来做回环测试loopback//一个网络地址能够容纳的主机个数=2的主机位数的次方-2=能用的IP数-2。//主机位全为1时表示该网络的广播地址//主机位全为0时表示该网络的网络号,这是两个特殊地址。>0.0.0.0 所有不清楚的主机和目的网络>255.255.255.255限制广播地址>127.0.0.1等效于localhost或本机IP,主要用于测试。用汉语表示,就是“我自己”。>224.0.0.1组播地址

一、子网掩码的概述及作用

子网掩码是一个应用于TCP/IP网络的32位二进制值,每节8位

一个IP地址的网络地址👉👉子网掩码对应位为1一个IP地址的主机地址👉👉子网掩码对应位为0IP地址 位与 mask				👉👉👉网络地址   若相同即处于同一子网,可以直接通信IP地址 位与 (mask位取反)		👉👉👉主机地址

子网掩码可以通过与IP地址“与”计算,分离出IP地址中的网络地址和主机地址,用于判断该IP地址是在局域网上,还是在广域网上。

子网掩码一般用于将网络进一步划分为若干子网,以避免主机过多而拥堵或过少而IP浪费。
二、为什么要使用子网掩码?
子网掩码可以分离出IP地址中的网络地址和主机地址,那为什么要分离呢?因为两台计算机要通讯,首先要判断是否处于同一个广播域内,即网络地址是否相同。如果网络地址相同,表明接受方在本网络上,那么可以把数据包直接发送到目标主机,否则就需要路由网关将数据包转发送到目的地。

三、子网掩码的分类

1)缺省子网掩码:
(未划分子网)
子网掩码32位与IP地址32位对应,如果某位是网络地址,则子网掩码为1,否则为0。例如A类IP地址,第一节为网络地址,其余三节为主机地址,故掩码为“11111111.00000000.00000000.00000000”

A类网络缺省子网掩码:255.0.0.0

B类网络缺省子网掩码:255.255.0.0
C类网络缺省子网掩码:255.255.255.0
在这里插入图片描述

自定义子网掩码/子网掩码借位/一个网络地址划分成若干个子网

子网掩码借位是网络位向主机位借位,最多可以向主机位借到/30,留2位给主机位。

在这里插入图片描述(用于划分子网)

将一个网络划分为若干子网,希望每个子网拥有不同的网络地址或子网地址。因为IP是有限的,实际上我们是将主机地址分为两个部分:子网网络地址、子网主机地址。 形式如下:

未做子网划分的ip地址:网络地址+主机地址

做子网划分后的ip地址:网络地址+(子网网络地址+子网主机地址)
在这里插入图片描述

五、为什么要要划分子网?

例如:在A类IP地址中,每个A类网络可能有16,777,214台主机,它们处于同一广播域。在同一广播域中有这么多主机是不可能的,网络会因为广播通信而饱和。另一方面,IP地址资源越来越少。为实现更小的广播域,就需要进一步分成更小的网络。划分子网后,通过使用掩码,把子网隐藏起来,使得从外部看网络没有变化,这就是子网掩码。

六、子网划分简述

子网划分是通过借用IP地址中若干位主机地址来充当子网的网络地址,从而将原网络划分为若干子网。

划分子网时,随着子网地址借用主机位数的增多,子网的数目随之增加,但每个子网中的可用主机数逐渐减少。

如C类地址,原有8位主机位,2^8-2即254个主机地址,默认子网掩码255.255.255.0。(全0或全1不可用)

借用1位主机位,产生2 ^ 1=2个子网,每个子网有2^7个主机地址
(其中全0/1不可用,因为要用于广播地址/网络号);
借用2位主机位,产生2 ^ 2=4个子网,每个子网有2^6个主机地址;

根据子网ID借用的主机位数,我们可以计算出划分的子网数、掩码、每个子网主机数,列表如下:在这里插入图片描述

七、子网掩码计算

1、利用子网数来计算

如欲将C类IP地址192.168.10.0划分成4个子网:

1)4额子网需要2位二进制数表示:00 01 10 11
2)故网络位向主机位借2位地址作为子网地址(用于区分不同的子网)
2)将A类地址的子网掩码255.255.255.0的主机地址前2位置 1,得到子网掩码255.255.255.192=11111111.11111111.11111111.11000000

2、利用主机数来计算

1)将主机数目转化为二进制来表示
2)如果主机数小于或等于254(注意去掉保留的两个IP地址),则取得该主机的二进制位数。
3)将该类IP地址的主机地址位数全部置1,然后从后向前的将N位全部置为 0,即为子网掩码值。

如欲将B类IP地址192.168.10.0划分成若干子网,每个子网内有主机25台(注意去掉保留的两个IP地址):

  1. 25个可用主机地址→需要5位来表示(2^5-2>=25)
    2)故需要留5位给主机地址→那就借3位
    3)11111111.11111111.11111111.11100000,即255.255.252.224。

转载地址:http://vuhrn.baihongyu.com/

你可能感兴趣的文章
帮你解读什么是Redis缓存穿透和缓存雪崩(包括解决方案)
查看>>
Mysql各种存储引擎对比总结(常用几种)
查看>>
java为我们已经提供了各种锁,为什么还需要分布式锁?
查看>>
一文带你理解mysql中的分区表和合并表(一个常见知识点)
查看>>
Redis5.0数据淘汰策略详解(最新版本,面试常问)
查看>>
为什么 MongoDB 索引选择B-树,而 Mysql 选择B+树(精干总结)
查看>>
面试官:说说 Springboot 中的 javaConfig(基于Spring5.2)
查看>>
你的钱为什么被转走,这篇文章告诉你答案(CSRF详解)
查看>>
JVM中的一个小知识点:深堆和浅堆的概念
查看>>
HashMap的负载因子初始值为什么是0.75?这篇文章以最通俗的方式告诉你答案
查看>>
详解java中一个面试常问的知识点-阻塞队列
查看>>
除了Thread和Runnable,你还知道第三种创建线程的方式Callable吗
查看>>
java线程面试题集锦(第一版本)
查看>>
记一次java中三元表达式的坑(避免踩坑)
查看>>
高频面试题:什么是零拷贝?在哪些地方使用了?
查看>>
Redis为什么又引入了多线程?作者也逃不过“真香定理”?
查看>>
面试官:如何实现一个乐观锁(小白都能看得懂的代码)
查看>>
CopyOnWriteArrayList,一个面试中经常问到的冷门容器
查看>>
volatile如何保证有序性?内存屏障都不知道怎么拿offer呀
查看>>
一文搞懂WeakHashMap工作原理(java后端面试高薪必备知识点)
查看>>