ラベル network の投稿を表示しています。 すべての投稿を表示
ラベル network の投稿を表示しています。 すべての投稿を表示

2018年10月25日木曜日

特殊な用途のIPアドレス

IPv4は0.0.0.0~255.255.255.255の範囲までで表現されますが、この中で利用用途が特定されているIPアドレスが幾つかあります。

有名なものはプライベートIPアドレス、または先日紹介したシェアードIPアドレスなんてものもありますが、それ以外にも幾つか指定されています。
例えば169.254.0.0/16はリンクローカルアドレスと呼ばれていて、分かりやすいのはNICの設定がDHCPになっているのに、DHCPサーバからIPアドレスが取れないときに割り当てあられるアドレスですね。APIPA(Automatic Private IP Addressing)と呼ばれるやつです。

これら以外にも色々あって、RFC3330で定められています。また、最近のIPv4不足もあり、定められていた(もしくは予約されていた)ものの、グローバルIPに割り当てられる事になったIPアドレスもあります。

参考になりそうなサイト
特別なIPアドレスって知っていますか?

2018年10月20日土曜日

グローバルIPアドレスを誰が管理しているのか?

グローバルIPアドレスはインターネットの世界で正常に通信を行うため、一意(重複するものがない状態)である必要があります。そのため、グローバルIPアドレスはしっかりと管理されており、その管理組織は階層構造となっています。

まず、頂点にいるのが、以下の組織です。
ICANN(Internet Corporation for Assigned Names and Numbers、アイキャン)

ICANNはIPアドレスの管理のほか、ドメインの管理、ルートネームサーバの運用などインターネットが正常に機能するための基本機能の運用を行っています。

その次に、各地域ごとに管理組織があります。
APNIC(アジア・オセアニア)
ARIN(北米)
RIPE NCC(欧州・中東)
LACNIC(中南米)
AFRINIC(アフリカ)

更にその次の階層として、国ごとの管理組織があります。
日本だとJPNICですね。

つまり、日本で利用されているグローバルIPアドレスは、以下の流れで払い出されているわけです。
ICANN→APNIC→JPNIC

更にJPNICからキャリアなどのIPアドレス管理指定事業者にアドレスが割り当てられ、そこから利用者に分配されます。
つまり、こうなります。
ICANN→APNIC→JPNIC→Pアドレス管理指定事業者→利用者

なお、各管理組織に割り当てられているIPアドレス情報は公開されており、FTPでリストをダンロードすることも可能です。
ftp://ftp.arin.net/pub/stats/arin/delegated-arin-extended-latest
ftp://ftp.ripe.net/pub/stats/ripencc/delegated-ripencc-latest
ftp://ftp.apnic.net/pub/stats/apnic/delegated-apnic-latest
ftp://ftp.lacnic.net/pub/stats/lacnic/delegated-lacnic-latest
ftp://ftp.afrinic.net/pub/stats/afrinic/delegated-afrinic-latest

このリストですが、アドレス帯がCIDRではなく、開始IPアドレスとそこから幾つ割り当てているか、という書きっぷりなんですよね。ちょっと見にくいです。
フォーマットは以下のサイトに解説があります。
RIR statistics exchange format

こういった管理組織ですが、国連や政府機関がやっているの?と思いきや、ICANNを含めて民間団体なんですよね。公的な動きをする団体ではあるものの、改めてインターネットは民間のものであると感じますね。

2018年10月19日金曜日

シェアードIPアドレスとは

前回の記事では、プライベートIPアドレスについて簡単に解説しました。IPアドレスの世界にはプライベートIPアドレス以外にも用途が決まっているアドレス帯があります。それが、 シェアードIPアドレス( シェアードアドレス)です。

IPv4のアドレスが不足していく中で、家庭や企業内でプライベートIPアドレスを利用するのと同様に、ISP(回線事業者)ごとに分けたネットワークを構築するというアイディアが生まれました。そうすれば、家庭や企業で最低1つ必要になるグローバルIPアドレスを減らすことができますからね。

ただ、このISP内のIPアドレスはプライベートIPアドレスというわけには行きません。プライベートIPアドレスだと、家庭、企業内のIPアドレスと重複してしまう可能性があるからです。そのため、新たに払い出されたIPアドレス帯がこのシェアードIPアドレスです。
具体的には以下のアドレスになります。
100.64.0.0/10

もし家庭用ルータのIPアドレスが上記アドレス帯であれば、これはシェアードIPアドレスでインターネットから直接はアクセスできない、と判断できるわけです。

参考サイト
シェアードアドレス 日経XTECH

2018年10月18日木曜日

プライベートIPアドレスとは

IPアドレス(Internet Protocol Address)というのは、ネットワークに接続をされている機器同士が通信を行うための住所のようなものです。IPアドレスを持たない機器(パソコン、サーバ、ネットワーク機器)は通信を行うことができません。
※これは非常にざっくりとした説明で、OSI参照モデルの第3層だけの話ではあります。

インターネットに接続されている機器が全てIPアドレスを持てばそれはそれで良いのですが、例えば家や会社の中で使うパソコンなどは、インターネットにアクセスすることはあってもインターネットからアクセスされる必要はありません。(逆にセキュリティを考えると、インターネットからパソコンにアクセスできるのは危ないですよね。)また、全てのパソコン等々の機器に一意なIPアドレスを割り振ろうとすると、IPアドレスが足りなくなってしまいます。そんなわけで、閉ざされたネットワークで利用するIPアドレスというのが設定されています。これがプライベートIPアドレスです。

IPv4ではプライベートアドレスとして、以下の3つが用意されています。

・10.0.0.0/8
 利用できるアドレス:10.0.0.0~10.255.255.255
・172.16.0.0/12
 利用できるアドレス:172.16.0.0~172.31.255.255
・192.168.0.0/16
 利用できるアドレス:192.168.0.0~192.168.255.255

これ、結構間違えて使っている環境とかを時々見ます(192.16.1.0/24とかにしちゃったり)。気をつけましょう!

【参考になりそうなサイト】
プライベートネットワーク Wikipedia
IPアドレスとは?をわかりやすく解説します カゴヤのサーバー研究室

2018年10月7日日曜日

名前解決確認

名前解決のテストを行う機能を作成しました。こちらになります。
名前解決確認(nslookup/dig)

このページで名前解決確認を行うと、nslookupとdigの両方を実行してくれます。digの方が実際のDNSレコードのイメージで出力されるので見やすいと思うのですが、自分も含めて名前解決と言えばnslookupだよね、と考えている人も多いかと思い、両方出力するようにしました。

オプションはレコードと利用するDNSサーバだけにしています。コマンド自体は色々なオプションが用意はされているのですが、画面にオプションを増やすと分かりにくくなってしまうかと思い、今回はシンプルにしてみました。再帰しないとか、debugとかはニーズもあるかとは考えたのですが、一旦保留です。

nslookupとdigの出力結果の解説も作ろうかとは思ったのですが、まあ少し調べると色々出てきますし、そもそも名前解決を確認しようとする人はそのくらい分かるかなということで、今回は作成してません。一応、参考になりそうなサイトをご紹介しておきます。
nslookupの基本的な使い方(イントラネット編)
奥が深いDNSサーバーとdigコマンド

2018年10月6日土曜日

DNSレコードとは

DNS(Domain Name System)はホスト名や役割などをIPアドレスと紐付けて管理する、インターネットの重要な仕組みの1つです。この紐付けが具体的に記載されているものがDNSレコードです。DNSレコードはいくつも種類がありますが、ここでは主要なものを紹介します。

Aレコード ホストのIPアドレス(ipv4)
AAAAレコード ホストのIPアドレス(ipv6)
PTRレコード IPアドレスに対するホスト名、つまりAレコードの逆
CNAMEレコード ホスト名のエイリアス(別名)
TXTレコード ホストへのテキスト情報
NSレコード ドメインのDNSサーバ
MXレコード ドメインのメールサーバ
SOAレコード ドメインの情報

TXTレコードは色々な使い方をしますし、上記以外にもSRVレコードやCAAレコードなども時々登場します。奥深い世界ですね。

以下、参考リンクです。
DNSレコードタイプの一覧 Wikipedia
主なDNSレコードの種類 @IT

2018年10月1日月曜日

pingコマンド、実行結果の見方について

本記事ではPing疎通テストの解説を行います。

1.Pingとは
pingとはPacket INternet Groperの略で、対向のサーバ、ネットワークと通信できるかを確認するコマンドです。pingはICMP(Internet Control Message Protocol)というIP層のプロトコルを利用します。

2.pingコマンド
pingコマンドはWindowsにもLinuxにも用意されています。基本的な使い方は同じですが、オプションが異なります。Suama Online Serviceの環境はLinux(CentOS)で動作していますので、Linux用のオプションを指定して実行しています。
実行するコマンドは以下のとおりです。
ping -c5 [対象ホスト]

-c5:これは実行する回数を5回に指定しています。
※Windowsはオプション無しだと4回しか実行しませんが、LinuxはCtl+Cで止めるまで無限に実行し続けます。
これ以外にも幾つかオプションが用意されています。詳細は以下のサイトをご参照下さい。
【Linux】pingコマンドの使い方

3.実行結果の見方について
次のコマンドを実行した場合、
ping -c5 www.example.com

次のような実行結果が返ります。
--------
PING www.example.com (93.184.216.34) 56(84) bytes of data.
64 bytes from 93.184.216.34 (93.184.216.34): icmp_seq=1 ttl=53 time=107 ms
64 bytes from 93.184.216.34 (93.184.216.34): icmp_seq=2 ttl=53 time=107 ms
64 bytes from 93.184.216.34 (93.184.216.34): icmp_seq=3 ttl=53 time=107 ms
64 bytes from 93.184.216.34 (93.184.216.34): icmp_seq=4 ttl=53 time=107 ms
64 bytes from 93.184.216.34 (93.184.216.34): icmp_seq=5 ttl=53 time=107 ms

--- www.example.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 107.564/107.602/107.660/0.416 ms
--------

1行目は疎通確認対象情報です。IPアドレスの場合はアドレスのみ記載されますが、FQDNで指定した場合、名前解決の結果が表示されます。
2行目からが実行結果で、64 bytesはテストに利用したパケットデータサイズ、fromは疎通テスト先、icmp_seqは何番目のパケットか、となっています。ttlはネットワークパケットのTTL(Time To Live)で、最初は64でネットワーク機器を経由するたびに1減ります。そのため、ttlを確認するとそのパケットがどれだけのネットワーク機器を経由したかが分かります。ttlが0になるとそのパケットは転送されなくなります。timeは応答時間で、少ないほど遅延の少ない通信が行えていることが分かります。

ping statisticsはpingコマンド実行結果のサマリです。結果の1行目は結果サマリで、2行目が分析結果となっています。
2行目にはmin(最速)、max(最遅値)、ave(平均値)、mdev(偏差)が表示されます。偏差で通信の安定性を判断することができます。が、今回の場合はサンプルが少ないので、あまり参考にはなりませんね。

以下のサイトを参考にさせて頂きました。
pingコマンドについて詳しくまとめました 【Linuxコマンド集】