例示専用のIPアドレスとドメインを使いこなす
前回の記事ではネットワークに関する記事を投稿させていただいたが、今回も引き続きネットワーク関連のネタを記事にしたいと思う。
ブログの記事やネットワーク関連のドキュメントを書いているとIPアドレスやドメインを記載する場面に遭遇する。適当なIPやドメインを記載してしまうと、(プライベートIPならまだしも)実際に利用されているIPやドメインと衝突してしまう可能性が高い。
こんな場面に備えて、例示を目的としたIPアドレスやドメインがRFCによって定められているのだ。 ドメインについては割と有名だが、IPについては知らない方が多いように見受けられたので、今回の記事ではこの例示用のIPアドレスについて(ついでにドメインも)記載していく。
例示用IPアドレス
IPv4での例示用IP
IPv4での例示を目的としたIPアドレスは2014/6/10時点でRFC5737 [IPv4 Address Blocks Reserved for Documentation]に記載されており、以下のネットワーク属するIPを例示することができる。以下のIPは例示専用のため衝突の心配が無い。
198.51.100.0/24
203.0.113.0/24
ご覧の通り、プライベートIPアドレスではなく、専用のネットワークが設けられていることが分かる。 また、特殊な用途のIPアドレス範囲を記載したRFC6890のPage.9、11にも例示用として上記IPについて述べられている。なお、例示用IPを探すとRFC3330やRFC5735が見つかる場合があるが、これらのRFCはRFC6890によってobsolateされているため、最新版であるRFC6890を参照しよう。
IPv6での例示用IP
一方、IPv6での例示用IPアドレスは、RFC3849 [IPv6 Address Prefix Reserved for Documentation]に記載されている。IPv6については以下のネットワークに属するIPを例示可能だ。
こちらのIPもIPv4と同様にRFC6890のPage.17に例示用IPアドレスとして言及されている。
例示用ドメイン
次に例示用のドメインを見ていこう。こちらはご存じの方が多いのではないだろうか。 例示用のドメインはRFC2606 [Reserved Top Level DNS Names]に記載されいている。
例示可能なトップレベルドメイン
以下のTLDは例示用として利用可能だ。実際に例示する場合は、TLDに続くSLDを自由に設定したうえで利用しよう。
.example
.invalid
.localhost
ただし、上記ドメインのうち例示として利用するのは通常「.example」のみである。RFCにも記載されているが、「.test」は主にテスト用途ドメイン、「.invalid」は無効であることを明示するためのドメイン、「.localhost」は伝統的に予約されているドメインとなっており、例示用途とはなっていない。
例示可能なセカンドレベルドメイン
RFCでは、以下のSLDを例示可能としている。
example.net
example.org
ここでは、例示用のSLDについてもう少し突っ込んで考えてみる。
例示用セカンドレベルドメインを持つホストはインターネット上に存在するか?
実は存在する。上記のSLDはICANNによって取得済である。
例示用のSLDは開放済のTLD(「.com」「.net」「.org」)にぶら下がる訳だから、ICANNが先立って予約してしまっているということだ。
という事で以下のURLにアクセスすると、ICANNによって用意された例示用のドメインである事を示すページが表示される。
http://example.com
http://example.net
http://example.org
例示用セカンドレベルドメインのトップレベルドメインは何故「.com」「.net」「.org」なのか?
詳細な経緯は不明だが、おそらく歴史的に最も古くから存在し、かつ最も利用されているドメインであることが挙げられるだろう。また、「.com」「.net」「.org」はかつてIANAではなくNetwork Solution社によって管理されていたTLDである。この点も関係しているかもしれない。
簡単ではあるが例示用のIPとドメインを列挙させていただいた。IPやドメインを例示する機会があれば是非利用していただきたい。知っている人が見ると「おっ、こいつ分かってるな!」となること請け合いだ!
関連記事
-
ipsetを使ってスマートにiptablesを設定する
ギークな知人から「vpsでiptables設定していたらルール設定数の上限に引っかかって思い通りの設
-
Java8のインタフェース実装から多重継承とMixinを考える
2014年3月18日、ついにJava8が正式にリリースを迎えた。 折角なので、今後、Java8の新
-
Ctrl+Cとkill -SIGINTの違いからLinuxプロセスグループを理解する
しばらくLinuxネタが続く・・。 近いうちに最近出たJava8ネタを書いてみようと思います。が、
-
Java8のHotSpotVMからPermanent領域が消えた理由とその影響
今回も前回の記事につづき、Java8による変更点で未だあまり紹介されていないポイントを記事にしようと
-
「Systemd」を理解する ーシステム起動編ー
2014年6月10日、とうとうRHEL7が正式リリースを迎えた。RHEL7での変更点については、この
-
「Systemd」を理解する ーシステム管理編ー
前回の記事「Systemd」を理解するーシステム起動編ーでは、Systemdの概念とSystemdに
-
Linuxプロセス起動時の環境変数ダンプの取得
UnixやLinux上で不具合の調査等々を行う際、特定のプロセス起動時の環境変数を知りたい場合がある
-
sshd再起動時にssh接続が継続する動作について
Linux/Unixサーバにsshしている際、sshdを再起動したとする。 sshdは一度終了する
-
文字コードの考え方から理解するUnicodeとUTF-8の違い
UnicodeとUTF-8の違いを理解していない方が結構居るようなので、文字コードの考え方を元に解説
Comment
https://smileandmake.com/
Nice post. I learn something totally new and challenging on sites I stumbleupon everyday.It’s always exciting to read through articles from other authors and use a little something from other websites. ホーム > 技術 > ネットワーク >
73rjom
if1klg
mwc5w8
1u7nif
e90a39
sek5qq
xakmb9
jezc6p
jaw2hv
atgc9e
38hdx0
qxrgq1
f5r6nv
lc8z8n
zrqgah
qvjhvx
rcnw2b
eboqfc