1. 程式人生 > >【翻譯自mos文章】怎麼正確的計算一個ip地址的subnet id?

【翻譯自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
譯者注:
若:netmask是ffffff00(也就是255.255.255.0),那麼subnet id就是:ip地址的前三部分+一個零構成第四部分
若:netmask不是ffffff00,那麼subnet id需要計算,計算過程見本文所述過程

相關推薦

翻譯mos文章怎麼正確計算一個ip地址subnet id

怎麼正確的計算一個ip地址的subnet id? 來源於: How to calculate the correct subnet for an interface (文件 ID 1059759.1) 適用於: Oracle Database - Enterprise Ed

翻譯mos文章使用asm來部署 超大數據庫(10TB到PB 範圍)--針對oracle 10G

2個 數值 acl 5.1 transport after 例如 clas rain 使用asm來部署 超大數據庫(10TB到PB 範圍) 參考原文: Deployment of very large databases (10TB to PB range) with

翻譯mos文章即使resource_limit = false, password的 資源限制也會生效

作用 pro use def alt doc 資源限制 lock bsp 即使resource_limit = false, password的 資源限制也會生效 參考原文: Resource limits for passwords work even with re

翻譯mos文章 在錯誤的從os級別remove掉 trace file 之後,怎麽找到該trace file的內容?

否則 lin reat -m evel data node name rate des 在錯誤的從os級別remove掉 trace file 之後,怎麽找到該trace file的內容? 參考原文: How to Find the Content

翻譯mos文章怎麽startup/shutdown PDB?

altered restrict 能夠 inf clas info proc 發生 reserve 怎麽startup/shutdown PDB? 來源於: 12c: How to Startup/Shutdown PDB‘s? (文檔 ID 1592247.1

翻譯mos文章rman 標準版和企業版的兼容性

ont 數據庫 rac targe cati als track class dup rman 標準版和企業版的兼容性 來源於: RMAN Standard and Enterprise Edition Compatibility (文檔 ID 730193.1

翻譯mos文章註意: ASMB process exiting due to lack of ASM file activity

sse ins 安全 rac 註意 inf 實例 通信 統計 註意: ASMB process exiting due to lack of ASM file activity 參考原文: NOTE: ASMB process exiting due to l

翻譯mos文章使用asmcmd命令在本地和遠程 asm 實例之間 拷貝asm file的方法

export sha should dsm failed number files 遠程連接 關於 使用asmcmd命令在本地和遠程 asm 實例之間 拷貝asm file的方法 參考原文: How to Copy asm files between remot

翻譯mos文章當點擊完 finishbutton後,dbca 或者dbua hang住

cat queue class pop trace rom base done automatic 當點擊完 finishbutton後,dbca 或者dbua hang住 來源於: DBCA/DBUA APPEARS TO HANG AFTER CLICKIN

翻譯mos文章Windows平臺下的 Oraagent Memory Leak

style date any pat trac bytes issue processes ren 來源於: Oraagent Memory Leak (文檔 ID 1956840.1) APPLIES TO: Oracle Database - Ent

翻譯mos文章怎麼startup/shutdown PDB?

怎麼startup/shutdown PDB? 來源於: 12c: How to Startup/Shutdown PDB's? (文件 ID 1592247.1) 適用於: Oracle Database - Enterprise Edition - Version 12

翻譯mos文章在RHEL7/OL7上安裝Oracle 12.1.0.2的伺服器端或者客戶端時,報需要"compat-libstdc++"包

在RHEL7/OL7上安裝Oracle 12.1.0.2的伺服器端或者客戶端時,報需要"compat-libstdc++"包 來源於: Installation of 12.1.0.2 Oracle Database Server/Client on RHEL 7/OEL7

翻譯mos文章對rman 壓縮的徹底理解

對rman 壓縮的徹底理解 來源於: A Complete Understanding of RMAN Compression (文件 ID 563427.1) 適用於: Oracle Database - Enterprise Edition - Version 8.1.

翻譯mos文章Standby Redo Logs (SRL)的用途,益處與限制

Standby Redo Logs (SRL)的用途,益處與限制 來源於: Usage, Benefits and Limitations of Standby Redo Logs (SRL) (文件 ID 219344.1) 目的: 本文顯示了Standby Redo L

翻譯mos文章job 不能自動執行的解決方法

job 不能自動執行的解決方法 參考原文: Jobs do not execute automatically (Doc ID 309945.1) 適用於: Oracle Server - Enterprise Edition - Version: 9.2.0.4 This

翻譯mos文章一個失敗的primary database 復原為physical standby 庫的步驟

將一個失敗的primary database 復原為physical standby 庫的步驟 參考自: Step by Step Guide on How To Reinstate Failed Primary Database into Physical Standby

翻譯mos文章引數Db_recovery_file_dest_size的最大值是多少

引數Db_recovery_file_dest_size的最大值是多少? 參考原文: What Is Maximum Size For Db_recovery_file_dest_size In Oracle 10.2, 11.1, 11.2 (Doc ID 1404822

安全牛學習筆記Syn-Flood、IP地址欺騙

Syn-Flood                          長伴隨IP欺騙                           - 真正的攻擊目標               Scapy                                 

翻譯HVR官方手冊HVR資料複製軟體介紹與術語解釋

【翻譯自HVR官方手冊】HVR資料複製軟體介紹與術語解釋 HVR資料複製軟體是荷蘭HVR公司推出的一款資料複製軟體,用於db到db,db到file,file到db,file到file的實時複製。 整個過程分為如下四個步驟: 第一步:配置Location 第二步:配置Channel 第三步

Python內建函式詳解翻譯python3.6官方文件共68個

翻譯源 來自:https://docs.python.org/3/library/functions.html  abs(x) 返回一個數的絕對值。引數可以是一個整數或一個浮點數。若引數是複數,返回複數的模 all(iterable) 若 可迭代物件中所有元素為真