【翻译自mos文章】怎么正确的计算一个ip地址的subnet id?

怎么正确的计算一个ip地址的subnet id?

来源于:

How to calculate the correct subnet for an interface (文档 ID 1059759.1)

适用于:

Oracle Database - Enterprise Edition - Version 10.2.0.1 and later

Information in this document applies to any platform.

目标:

正确的计算一个ip地址的subnet id,该subnet id是给oifcfg用的。

oifcfg 需要你敲入pulic 和cluster_interconnect的subnet id。

但是,ifconfig命令通常显示ip地址和netmask,并不显示subnet id

本文会显示subnet id的计算方法。

更普遍的是,本文也适用于如下的问题:对于一个给定的ip地址和netmask,怎么确定subnet id?

解决方案:

本文假设公共网络用的网卡名称是e1000g0,ip地址是171.197.26.137,netmask是ffffffc0

从ifconfig -a的输出中,我们会看到如下:

e1000g0:
flags=209040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER,CoS>
mtu 1500 index 2
inet 171.197.26.137 netmask ffffffc0 broadcast 171.197.26.191
groupname prod
ether 0:14:4f:95:39:9a

注意:上面的netmask被以十六进制显示为ffffffc0(在一些操作系统平台中,会显示成十进制而不是十六进制)

该 netmaskffffffc0 = ff.ff.ff.c0=255.255.255.192
二进制是11111111.11111111.11111111.11000000

另一个通常的用来表示netmask的方法是 两位的数字,比如“26”,这个“26”,是经过如下计算得到的:

11111111.11111111.11111111.11000000
=>(1+1+1+1+1+1+1+1)+(1+1+1+1+1+1+1+1)+(1+1+1+1+1+1+1+1)+(1+1+0+0+0+0+0+0)
=8+8+8+2=26

针对一个给出的网络ip地址(171.197.26.137)和netmask(255.255.255.192),快速计算出subnet id的方法是使用IP calculator

免费的IP calculator在网上可以得到,在本例子中,我使用的IP calculator是来源于:http://jodies.de/ipcalc.

将网络ip地址(171.197.26.137)和netmask(255.255.255.192)带入该IP calculator,给出如下的输出:

Result:
Address:  171.197. 26.137       10101011.11000101.00011010.10 001001
Netmask:  255.255.255.192 = 26  11111111.11111111.11111111.11 000000
Wildcard:   0.  0.  0. 63       00000000.00000000.00000000.00 111111
=>
Network:  171.197. 26.128/26    10101011.11000101.00011010.10 000000 (Class B)
Broadcast:171.197. 26.191       10101011.11000101.00011010.10 111111
HostMin:  171.197. 26.129       10101011.11000101.00011010.10 000001
HostMax:  171.197. 26.190       10101011.11000101.00011010.10 111110
Hosts/Net: 62

=>注意给出的 “Network:  171.197. 26.128/26”

忽略上面输出中的/26, oifcfg 所需要的subnet id就是171.197. 26.128

另外一个获得subnet id的方法是对ip地址和netmask的每个bit 做一个bit-AND运算:

171.197. 26.137 => 10101011.11000101.00011010.10 001001
255.255.255.192 => 11111111.11111111.11111111.11 000000
                 & ------------------------------------
                   10101011.11000101.00011010.10 000000 => 171.197.26.128

当然,另外的一个获得subnet id的方法就是用oifcfg 命令本身

oifcfg iflist命令显示了网卡名称和相应的subnet id

$ ./oifcfg iflist
e1000g0 171.197.26.128
e1000g2 171.197.26.128
e1000g3 10.241.6.0

要设置public 网络的oifcfg,你需要使用如下的语法:

oifcfg setif -global e1000g0/171.197.26.128:public
时间: 2025-01-16 23:54:51

【翻译自mos文章】怎么正确的计算一个ip地址的subnet id?的相关文章

【翻译自mos文章】使用buffer memory 参数来调整rman的性能。

使用buffer memory 参数来调整rman的性能. 本文翻译自mos文章:RMAN Performance Tuning Using Buffer Memory Parameters (Doc ID 1072545.1) rman 性能调整的目的是分辨一个特定的backup or  restore job的瓶颈. 并使用使用rman命令.初始化参数 或者对physical media的调整来提高整体的性能. 由于数据库容量持续变大,在客户的环境中,几十到几百TB的数据库很常见, serv

【翻译自mos文章】使用aum( Automatic Undo Management) 时遇到 ORA-01555错误--- 原因和解决方案。

使用aum( Automatic Undo Management) 时遇到 ORA-01555错误--- 原因和解决方案. 参考原文: ORA-01555 Using Automatic Undo Management - Causes and Solutions (Doc ID 269814.1) 适用于: Oracle Database - Enterprise Edition - Version 9.0.1.0 and later Information in this document

【翻译自mos文章】在oracle db 11gR2版本中启用 Oracle NUMA 支持

在oracle db 11gR2版本中启用 Oracle NUMA 支持 参考原文: Enable Oracle NUMA support with Oracle Server Version 11gR2 (文档 ID 864633.1) 适用于: Oracle Database - Enterprise Edition - Version 11.2.0.1 and later Oracle Database - Standard Edition - Version 11.2.0.1 and l

【翻译自mos文章】对于每一个文件的 file.id and file.incarnation number,重命名文件别名

对于每一个文件的 file.id and file.incarnation number,重命名文件别名 参考原文: Rename Alias of Datafile as Per file.id and file.incarnation number (Doc ID 1494661.1) 适用于: Oracle Database - Enterprise Edition - Version 11.2.0.0 and later Information in this document appl

【翻译自mos文章】尽管指定了目的地,asmcmd cp命令还是在 +DATA/ASM 下创建文件

尽管指定了目的地,asmcmd cp命令还是在  +DATA/ASM 下创建文件 参考原文: ASMCMD Cp Creates Files In +DATA/ASM Instead Of Destination Specified (Doc ID 1488934.1) 适用于: Oracle Database - Enterprise Edition - Version 11.2.0.3 and later Information in this document applies to any

【翻译自mos文章】 使用asmcmd cp命令 把datafile从文件系统移动(move)到asm磁盘组中--针对11gR2

使用asmcmd cp命令 把datafile从文件系统移动(move)到asm磁盘组中--针对11gR2 参考原文: How to Move a Datafile from Filesystem to ASM Using ASMCMD CP Command. (Doc ID 1610615.1) 适用于: Oracle Database - Enterprise Edition - Version 11.2.0.1 to 11.2.0.4 [Release 11.2] Information

【翻译自mos文章】改变数据库用户sysman(该用户是DB Control Repository 的schema)密码的方法

改变数据库用户sysman(该用户是DB Control Repository 的schema)密码的方法 参考原文: How To Change the Password of the Database User Sysman (DB Control Repository Schema) (Doc ID 259379.1) 适用于: Enterprise Manager for Oracle Database - Version 10.1.0.2 to 11.2.0.3 [Release 10

【翻译自mos文章】oracle密码管理策略

oracle密码管理策略 参考原文: Oracle Password Management Policy (Doc ID 114930.1) 细节: 密码管理通过使用profile来建立. 当密码过期后,如果user有能力独立地从 end-user application(前台业务软件)修改密码的话,通常的推荐是只指派给这些schemas 一个profile,该profile有  password aging an expiration features . 通常这意味着application(

【翻译自mos文章】使用索引快速全扫(index ffs) 来避免全表扫描

使用索引快速全扫(index ffs) 来避免全表扫描 参考原文: Index Fast Full Scan Usage To Avoid Full Table Scans (Doc ID 70135.1) 适用于: Oracle Database - Enterprise Edition - Version 7.3.0.0 to 11.2.0.3 [Release 7.3.0 to 11.2] Information in this document applies to any platfo