IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算可用IP地址段和子网掩码的方法 -> 正文阅读

[网络协议]计算可用IP地址段和子网掩码的方法

为网络设置子网的用处:

首先我们要知道,实际上我们使用的IP地址的数量是固定的、有限的,例如:我们现在生活、工作中常用的IPv4协议规定我们所使用的的IP地址是32位地址长度的,所以可容纳的IP地址数量为 2 32 2^{32} 232,并且该协议中的32位地址长度分四段式表述,那么每段为8位,而 2 8 = 256 2^8=256 28=256 ,故理论上我们可以使用的IP地址区间为0.0.0.0至255.255.255.255。

现如今,全球计算机体量如此巨大,甚至在今天不只有计算机可以接入网络,由此可知,网络的IP地址逐渐成为了“稀缺资源”。所以逐渐发展起来的IPv6协议网络已然流行起来。

?那么分划子网的好处有:

1. 节约IP地址,避免浪费。
2. 限定广播的传播。
3. 保证网络的安全。
4. 有助于覆盖大型地理区域。

可现在发生了问题:你只获得了一个IP地址,可是你的几个部门或者几个不同的地方都需要使用网络,那么就可以分配子网,即将IP地址的主机位拿来划分子网。


具体计算方法(例题引入):

? 1)Try to divide the network 172.16.20.0/24 into 4 subnetworks and tell the available IP addresses and their corresponding masks for each subnet. Please write down the main steps and results in detail.

?尝试将网络172.16.20.0/24划分为4个子网,并告诉每个子网的可用IP地址及其对应的掩码。 请详细写下主要步骤和结果。
?说明:172.16.20.0/24中的“/24”意为网络地址为24位。

解题思路:

  • Step1:

首先我们从网络地址为24bits入手,默认网络协议为IPv4协议,所以根据公式:
I P ( i d ) = N e t w o r k ( i d ) + H o s t ( i d ) IP(id)=Network(id)+Host(id) IP(id)=Network(id)+Host(id)我们可以计算出主机地址(Host_ID)长度为 32 b i t s ? 24 b i t s = 8 b i t s 32bits-24bits=8bits 32bits?24bits=8bits

  • Step2:

由于我们需要将一个IP划分为4个子网(Subnets),我们可以根据公式:
2 N ≥ S u b n e t N u m b e r ( 4 ) 2^N\geq{Subnet Number(4)} 2NSubnetNumber(4)求出我们需要向主机地址(Host_ID)中借取N位来做计算,由题可知我们需要借取2bits来做计算。

  • Step3:

这时候我们将8bits的Host_ID分为了两块,第一块是借取的2bits,第二块是Host_ID本身拥有的6bits,接下来我们用一张表格来列出情况:

Subnet_IDHost_ID’
00000000
01
10
11111111

注意:表格中表示的并不是一一对应关系,而是一对多关系,一个Subnet_ID就表示一个子网的可用IP段,即一个Subnet_ID对应整个的Hots_ID区间: 000000~111111。


我们逐个计算(第一个子网下标从0开始):
  • 子网1可用IP段(Subnet_ID=00=0):

我们将两个ID段(Subnet_ID、Host_ID’)拼接(下文用“+”表示,表示拼接,不表示数学运算符)在一起做二进制转十进制计算:Subnet_ID + Host_ID’(最小值)为 00000000(8个0,全0),我们得出子网1的可用下限为0;Subnet_ID + Host_ID’(最大值)为 00111111(6个1),我们可以得出子网1的可用上限为64。其次由于当主机(Host_ID)全为0时,表示网络端本身,不可以使用,当主机(Host_ID)全为1时,表示广播段,所以,子网1的可用区间为:

Subnet1: 172.16.20.1~172.16.20.62

  • 子网2可用IP段(Subnet_ID=01=1):

我们将两个ID段(Subnet_ID、Host_ID’)拼接在一起做二进制转十进制计算:Subnet_ID + Host_ID’(最小值)为 01000000(6个0),我们得出子网1的可用下限为64;Subnet_ID + Host_ID’(最大值)为 01111111(7个1),我们可以得出子网1的可用上限为127。其次由于当主机(Host_ID)全为0时,表示网络端本身,不可以使用,当主机(Host_ID)全为1时,表示广播段,所以,子网2的可用区间为:

Subnet2: 172.16.20.65~172.16.20.126

下面的两个子网大家可以自己试着算一下,答案在下面。

  • 子网3可用IP段(Subnet_ID=10=2):

Subnet3: 172.16.20.129~172.16.20.190

  • 子网4可用IP段(Subnet_ID=11=3):

Subnet3: 172.16.20.193~172.16.20.254

子网掩码计算

由上文我们已经求出了,需要借位的N = 2,那么我们将主机位的前两位置1,得出11000000=192,又因为IP地址中,网络位占24bits,主机位占8bits,为3/1关系,所以子网掩码为255.255.255.192。


如果有什么问题可以评论区留言交流。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-12-01 18:03:38  更:2021-12-01 18:04:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 8:50:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码