IPアドレス・ネットマスクの変換・チェック・統合・除外、国判定を簡単に。

こんな機能欲しいけど、自分で作るの面倒くさい!みたいな思いつきを
是非Twitterで意見投げてみてください。
時間は掛かるかもしれませんがコツコツ頑張るかも!?
Twitterリンクは下部)

IPアドレスから地理的位置情報(GeoIPLocation)の検索機能を公開しました。

Google or AdMax Promotion (ipvtop)

全グローバルIPアドレスの「未割り当て範囲」一覧(RIR: Regional Internet Registry)

5-RIR(AFRINIC, APNIC, ARIN, LACNIC, RIPE NCC)では、
現在のグローバルIPアドレスがどこの国に対して割当てているのかをデータとして公開しています。
多くのサイトで国判定に使われているデータは基本的には同じものでしょう。
しかし、このデータはすべてのグローバルIPアドレスを網羅している訳ではないのです。
実際に全グローバルIPアドレス〔37億225万8,432〕個の中で、
RIRのデータに存在していないグローバルIPアドレスの範囲を以下にご紹介しています。

5-RIR・未割当状態のグローバルIPアドレス範囲一覧・集計表

プロモーション

Google or AdMax Promotion (ipvpos)

以下の表は、全グローバルIPアドレスの範囲から、

5-RIRにて提供されたIPアドレスの範囲をすべて走査し、
データに出現してこなかった(割り当てられていない)グローバルIPアドレスの範囲を一覧にしています。

特殊属性 CIDR IP範囲 範囲IP数 開始IP値 終了IP値
グローバルアドレス 146.19.2.0/24 146.19.2.0 - 146.19.2.255 256 2450719232 2450719487
グローバルアドレス 160.20.241.0/24 160.20.241.0 - 160.20.241.255 256 2685726976 2685727231
グローバルアドレス 160.20.245.0/24 160.20.245.0 - 160.20.245.255 256 2685728000 2685728255
グローバルアドレス 192.47.28.0/24 192.47.28.0 - 192.47.28.255 256 3224312832 3224313087
グローバルアドレス 192.52.193.0/24 192.52.193.0 - 192.52.193.255 256 3224682752 3224683007
不足IP数
(現在発生中の差分)
未割当割合(%) 不整合数 未割当IP合計数
768 0.0000 % 768 - 1,280 = -512 1,280

code:sc13

※グローバルIPアドレス総数(参考):3,702,258,432(37億225万8,432)

 

上記の通りですが、1,280 個のグローバルIPアドレス(範囲)が、
5-RIRのデータに含まれていない状況にありました。

 

未割り当てIP範囲内の未使用アドレスプールチェック

この未割り当てのグローバルIPアドレスの範囲の大半は、
以下のIPアドレスプールに該当しています。

アドレスプールに該当する部分を突合せでチェックを行うと、
以下のようになります。

赤色の行がアドレスプールに存在しなかった未登録領域です。

特殊属性 CIDR IP範囲 範囲IP数 IP範囲(回復) 範囲IP数(回復) 開始IP値 終了IP値
グローバルアドレス 146.19.2.0/24 146.19.2.0 - 146.19.2.255 256 0 2450719232 2450719487
グローバルアドレス 160.20.241.0/24 160.20.241.0 - 160.20.241.255 256 160.20.241.0 - 160.20.241.255 256 2685726976 2685727231
グローバルアドレス 160.20.245.0/24 160.20.245.0 - 160.20.245.255 256 160.20.245.0 - 160.20.245.255 256 2685728000 2685728255
グローバルアドレス 192.47.28.0/24 192.47.28.0 - 192.47.28.255 256 192.47.28.0 - 192.47.28.255 256 3224312832 3224313087
グローバルアドレス 192.52.193.0/24 192.52.193.0 - 192.52.193.255 256 0 3224682752 3224683007
グローバルIP総数 不足IP数 未割当IP合計数 範囲IP合計数(回復)
3,702,258,432(37億225万8,432) 768 1,280 768

code:sc13_1

 

未登録領域のみを抽出すると、以下の 512 個の
グローバルIPアドレスがRIRデータに全く存在していないIPアドレス範囲になっています。

特殊属性 CIDR IP範囲 範囲IP数 開始IP値 終了IP値
グローバルアドレス 146.19.2.0/24 146.19.2.0 - 146.19.2.255 256 2450719232 2450719487
グローバルアドレス 192.52.193.0/24 192.52.193.0 - 192.52.193.255 256 3224682752 3224683007
不整合データ数
512

code:sc13_2

この表に集計されるIPアドレス範囲は全グローバルIPアドレスの範囲内において、
5-RIR(AFRINIC, APNIC, ARIN, LACNIC, RIPE NCC)提供データに、
現在含まれていない、かつ、回復アドレスプール(IANA 保管中IP範囲)にも存在しない
ものを表示しています。

こうした不整合状態が発生する可能性としては、
IANAと5-RIR(AFRINIC, APNIC, ARIN, LACNIC, RIPE NCC)間のデータベース同期の時差による部分が考えられます。
一定期間後にデータベースの反映が済み、こうした不整合は解消されてくるものと思います。

 

この範囲に関してはRIRデータを元にした国判定が、
行えない範囲になりますので注意が必要です。

 

本ページでは未割り当てになっているグローバルIPアドレスの範囲のみご紹介していますが、
投稿下部のリンク先では全体としての整合性を「状況」としてご紹介しています。

後記

少しだけ感想を。

RIRが提供してくるデータは「開始IPアドレス、ホスト数」の形式で提供されます。
単純に「開始IPアドレス – 終了IPアドレス」に読み替えるのは容易です。

では、次に全グローバルIPアドレス〔37億225万8,432〕から、
上記で提供された範囲を除いて、全く触れられなかったIPアドレス範囲を求める場合、
どのようなプログラムを書かれますか?

37億225万8,432ものインデックスを持つ配列は現実的に使えませんし、
非常に悩ましい限りでした。

当サイトの「CIDRの統合、削除」機能でも似たようなことはしているのですが、
実際には全グローバルIPアドレスのブロックを配列に入れて、

RIRのデータとの重なりをチェックします。

重なりかたによっては、2つの範囲に分割されたりする場合もあるのですが、
重なった部分を範囲から取り除き、2つの範囲にする。

1つの配列の範囲が全くなくなったら、インデックスそのものを消す。

片側だけ重なったら、範囲を縮小する。。。

 

そんなことの繰り返しを行って、最後まで消されずに残った部分が、
RIRに無かったデータという訳です。

たぶん、地味にこの全体から引き算していくこの作業が一番面倒だったかもしれないです。

別に誰に必要な機能でもないのに(涙)

 

でも、データがバグってない事を確認するには、
どうしても必要な機能だと思ったので作成するに至りました。

 

5-RIR・データ取込件数とIPアドレス総数集計表(状況)

当サイトではRIRからのデータ取り込みを日次で自動処理によって行っています。
以下が各RIRからの取り込みを行った際の日時情報になります。

最終確認日のみが直近で、取り込み処理を実施していない場合は、
データ元であるRIRデータに差異がなかった(バージョンが同じ)事を示します。
バージョンが異なる場合のみ、取込の処理を実施しています。

RIR 行数(サマリ行) 格納行数 行差異 集計IP数 gIP割合(%) 最終チェック日時 取込日時 現地時刻(参考) header行 データversion データサマリ行 タイプ 取込時点データ
afrinic
5555 5555 0 -OK! 121250304 3.2750 % 2024-11-20 22:16:19 2024-11-20 22:16:19 - timezone: Asia/Tokyo(UTC+9) 2024-11-20 17:16:19 - timezone: Indian/Mauritius(UTC+4) 2|afrinic|20241120|16799|00000000|20241120|00000 20241120 afrinic|*|ipv4|*|5555|summary ipv4 delegated-afrinic-extended-latest(size: 0.86 MB)
apnic
55128 55128 0 -OK! 889634816 24.0295 % 2024-11-20 22:08:22 2024-11-20 22:08:22 - timezone: Asia/Tokyo(UTC+9) 2024-11-20 23:08:22 - timezone: Australia/Brisbane(UTC+10) 2.3|apnic|20241120|173228||20241119|+1000 20241120 apnic|*|ipv4|*|55128|summary ipv4 delegated-apnic-extended-latest(size: 8.39 MB)
arin
76606 76606 0 -OK! 1658961920 44.8095 % 2024-11-20 22:00:28 2024-11-20 22:00:28 - timezone: Asia/Tokyo(UTC+9) 2024-11-20 08:00:28 - timezone: America/New_York(UTC-5) 2.3|arin|1732024853956|190411|19700101|20241119|-0500 1732024853956 arin|*|ipv4|*|76606|summary ipv4 delegated-arin-extended-latest(size: 12.08 MB)
lacnic
19899 19899 0 -OK! 190083840 5.1343 % 2024-11-20 22:12:13 2024-11-20 22:12:13 - timezone: Asia/Tokyo(UTC+9) 2024-11-20 10:12:13 - timezone: America/Montevideo(UTC-3) 2.3|lacnic|20241119|91212|19870101|20241119|-0300 20241119 lacnic|*|ipv4|*|19899|summary ipv4 delegated-lacnic-extended-latest(size: 4.29 MB)
ripencc
94992 94992 0 -OK! 842326784 22.7517 % 2024-11-20 22:04:27 2024-11-20 22:04:27 - timezone: Asia/Tokyo(UTC+9) 2024-11-20 14:04:27 - timezone: Europe/Amsterdam(UTC+1) 2|ripencc|1732057199|250998|19700101|20241119|+0100 1732057199 ripencc|*|ipv4|*|94992|summary ipv4 delegated-ripencc-extended-latest(size: 17.38 MB)
グローバルIP理論総数不足IP数IP合計全IP割合(%)
3,702,258,4327683,702,257,664100.0000 %

code:sc12

上記表示の「不足IP数」列に表示されているIP数の差異については、
以下の状況ページにてご説明をしています。

 

更新履歴情報

Ver. 更新日 更新内容
1.0.5 2019/04/30 日次更新処理の自動スケジュールの変更を実施しました。
これまで 0:01(UTC+9)より更新処理の実行を行ってまいりましたが、
APNICデータが1日早い状態で更新され差異が発生しやすい状態にありましたので、
2019/5/1以降、22:01(UTC+9)からの更新へと変更いたします。
これによって5/1 0:01~の更新は行わず、5/1 22:01~の更新へと遅延させる対応となります。
以後、日時更新は常に22:01~定期更新を実施します。
1.0.4 2018/07/08 「取込状況」一覧の取り込み日時表示がデータの取り込み有無に関わらず、
自動更新されている症状を訂正。
データ取り込み時のみ更新を行うよう修正。翌7/9処理以降、データ表示に反映予定。
1.0.3 2018/07/05 5-RIR(AFRINIC, APNIC, ARIN, LACNIC, RIPE NCC)間のデータにおいて、
重複データの表示テーブルに対して、重複状態と原因データを表示し、
元データを確認する為のリンクを追加しました。
RIR割当てIPアドレス内の「非グローバルIP/重複」データ一覧
1.0.2 2018/07/04 日次更新処理の自動実行の動作確認が取れました。
翌2018/07/05以降は自動的に処理されます。
データの整合性チェックも概ね、現在状況(データ不整合等)を適切に監視できていますので、
当面はこのままβ公開を継続します。詳細は以下リンク先をご確認ください。
RIRデータ処理結果(状況)
1.0.1 2018/07/02 β公開。
IPアドレス国割り当てデータの公開を開始しましたが、
日次データの自動取得に関して現在は手動実行です。
極力、日次更新を心掛けますが厳密には試験運用中の位置づけです。

AdMax Promotion

公開日:
最終更新日:2019/06/20

シェア頂けると新機能開発の励みになります!!

最後までお読みいただきありがとうございました。
便利!と思って頂けたらシェアを是非お願いします。
ご意見・ご批判でも感じた事を気にせずご指摘ください。

アカウント新規作成の為、是非フォローもお願いします。(無言OK)

※このページでこんな情報も一緒に見れたら便利!などの
アイディア・ご意見もお聞かせください。

また弊サイトはすべて広告費と個人の自腹にて運営・開発を行っています。
皆様、お仕事中でお忙しいことと存じますが、
ご興味がおありの広告が目に留まりましたら
広告主様のサイトもご覧いただけますと励みになります。

QRコードからもこのURLを開けます。
リンク先URL: https://ipvx.info/rir/status/unassigned_global_ip/


AdMax Promotion

サイト内コンテンツ
すべて展開 | すべて省略

Google or AdMax Promotion (ipvlink)

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください