怎么正确的计算一个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
 
译者注:
若:netmask是ffffff00(也就是255.255.255.0),那么subnet id就是:ip地址的前三部分+一个零构成第四部分
若:netmask不是ffffff00,那么subnet id须要计算。计算过程见本文所述过程

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

  1. 【翻译自mos文章】job 不能自己主动执行--这是另外一个mos文章,本文章有13个解决方法

    job 不能自己主动执行--这是另外一个mos文章 參考原文: Jobs Not Executing Automatically (Doc ID 313102.1) 适用于: Oracle Datab ...

  2. 【翻译自mos文章】11.2.0.4及更高版本号的asm实例中MEMORY_TARGET 和 MEMORY_MAX_TARGET的默认值和最小值

    [翻译自mos文章]11.2.0.4及更高版本号的asm实例中MEMORY_TARGET 和 MEMORY_MAX_TARGET的默认值和最小值 来源于: Default and Minimum ME ...

  3. openstack nova数据库计算结点IP地址

    最近遇到一个问题就是在控制结点上查找nova数据库中 select * from compute_nodes\G;中出现IP地址一直是127.0.0.1不是计算结点的IP,就算修改成计算结点的IP,也 ...

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

    改变数据库用户sysman(该用户是DB Control Repository 的schema)password的方法 參考原文: How To Change the Password of the ...

  5. 【翻译自mos文章】使用asmcmd命令在本地和远程 asm 实例之间 拷贝asm file的方法

    使用asmcmd命令在本地和远程 asm 实例之间 拷贝asm file的方法 參考原文: How to Copy asm files between remote ASM instances usi ...

  6. 【翻译自mos文章】oracle db 中的用户账户被锁--查看oracle用户的尝试次数

    參考原文: Users Accounts Getting Locked. (Doc ID 791037.1) 事实上这个文章是为oracle 别的软件产品写的,只是涉及到user 锁定问题.那还是跟d ...

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

    使用aum( Automatic Undo Management) 时遇到 ORA-01555错误--- 原因和解决方式. 參考原文: ORA-01555 Using Automatic Undo M ...

  8. 【翻译自mos文章】oracle支持在RDBMS HOME 下的 符号链接( Symbolic Links)吗?

    oracle支持在RDBMS HOME 下的 符号链接( Symbolic Links)吗? 參考原文: Does Oracle support Symbolic Links in the RDBMS ...

  9. 【翻译自mos文章】11gR2中的asm后台进程

    11gR2中的asm后台进程 參考原文: ASM Background Processes in 11.2 (Doc ID 1641678.1) 适用于: Oracle Database - Ente ...

随机推荐

  1. 2015.04.29,外语,读书笔记-《Word Power Made Easy》 14 “如何谈论日常现象” SESSION 39

    HOW TO TALK ABOUT COMMON PHENOMENA AND OCCURRENCES TEASER PREVIEW dire(['daiә(r)] adj. 可怕的,悲惨的,灾难警告的 ...

  2. Blur 算法 (Unity 5.0 Shader)

    一:简单 Blur 算法 一个像素的颜色值由其邻近的若干像素和自己的颜色值的平均值重新定义,以此达到模糊的效果. 如下图,红色的像素点的值将由它和它周围的24个像素的平均值重新定义.计算的范围一般由一 ...

  3. Android 开源框架ViewPageIndicator 和 ViewPager 仿网易新闻客户端Tab标签

    转载请注明出处:http://blog.csdn.net/xiaanming/article/details/10766053 之前用JakeWharton的开源框架ActionBarSherlock ...

  4. Android UI 优化 使用<include/>和 <merge />标签

    使用<include /> 标签来重用layout代码 如果在一个项目中需要用到相同的布局设计,可以通过<include /> 标签来重用layout代码,该标签在Androi ...

  5. php面向对象之构造函数和析构函数

    php面向对象之构造函数和析构函数 简介 php面向对象支持两种形式的构造函数和析构函数,一种是和类同名的构造函数(php5.5之前),一类是魔术方法(php5.5之后).与类名相同的构造函数优先级比 ...

  6. batch normalization学习理解笔记

    batch normalization学习理解笔记 最近在Andrew Ng课程中学到了Batch Normalization相关内容,通过查阅资料和原始paper,基本上弄懂了一些算法的细节部分,现 ...

  7. ROS-机器人建模与仿真概论

    前言:无论是因为高昂的设备费用还是为了减少实验次数,仿真都是十分必要的. ROS提供了很多优秀的仿真方式,下面来介绍一下: URDF:Unified Robot Description Format, ...

  8. Spark Streaming概念学习系列之SparkStreaming运行原理

    SparkStreaming运行原理 Spark Streaming不断的从数据源获取数据(连续的数据流),并将这些数据按照周期划分为batch. Spark Streaming将每个batch的数据 ...

  9. Android宝宝点点乐游戏源码完整版

    Android宝宝点点乐游戏源码完整版,是我从其他网站转载过来的,就是那个安卓教程网,该游戏目前已经上线了百度应用商店了,大家可以去搜索一下,看看演示吧. <ignore_js_op> & ...

  10. VS运行程序发生栈溢出的分析

    这两天时间都浪费在解决各种栈溢出了,没想到最后各个部件合在一起的时候会出现这么多的问题,这其实是我第一次解决栈溢出问题,很认真的查了查资料,找了几种解决方法,但是作用都不大,拆了东墙补西墙,虽然知道及 ...