そのほかの特殊なアドレス
ただ、これだけインターネットが普及してしまうと、インターネット上のサービスを使わないネットワークというのも考えにくくなってきた。とはいえ、プライベートIPアドレスを割り当てられたホストは、そのままではインターネットにつなげられない。インターネットにつながったホストとやり取りするには、何らかの手段でグローバルIPアドレスが必要になる。そこで、NAT(ネットワークアドレス変換)と呼ばれる仕組みが考えられた。詳しい動作の解説は省略するが、大まかにいえばこのNATは、
- インターネットに出ていくパケットの送信元IPアドレスをグローバルIPアドレスに書き替えてから送り出す
- 戻ってきたパケットを、元のパケットの送信元に返す
という働きを持っている。身近な例では、ブロードバンドルータにこの機能が備わっているので、自宅のパソコンにプライベートIPアドレスが割り当てられていても、インターネットと通信できるのだ。
このプライベートIPアドレスのほかにも、「ローカルループバックアドレス」や「リンクローカルアドレス」も特殊なIPアドレスである。
ローカルループバックアドレスは、自分自身を示すIPアドレスだ。OS上のTCP/IPが正常に動作しているかどうかや、ネットワークアプリケーションが自ホスト上できちんと作動しているかどうか確認したいときなどに利用される。ネットワークカードに割り当てられているIPアドレスとの違いがわからなければ、通信相手のホストが正常動作しているかどうかを確かめる「ping」コマンドを試してみよう。
まず、DHCPサーバなどから割り当てられたIPアドレスと、ローカルループバックアドレス(一般には127.0.0.1)と、両方宛に実行してみよう。おそらく似た結果が表示されるだろうが、今度はLANケーブルを抜いて試してみてほしい。すると今度は結果が違うはずだ(画面1、2)。このことから、通常のIPアドレス宛のパケットはネットワークカードからいったん外に出てから戻ってくるが、ローカルループバックアドレス宛のパケットは外に出ていかないことがわかる。ネットワークにつながずにアプリケーションの動作が確認できるので、開発環境などでは重宝される。
一方のリンクローカルアドレスは、DHCPサーバからIPアドレスを自動取得する設定にもかかわらず、割り当ててもらい損なった場合にOSが自動で設定するアドレスである。Windowsには「APIPA(Automatic Private IP Addressing)」という機能が備わっており、これが作動するとこのIPアドレスを割り当てる。インターネットにアクセスできないトラブルが起こったときにIPアドレスを調べてみると、このIPアドレスだったというケースはよくある。この場合、OSを再起動するなどしてIPアドレスの再取得を試みる。それでも状況が変わらない場合は、社内ネットワークであれば管理者に問い合わせたり、自宅であればブロードバンドルータをリセットするなどの対応が必要になる。
(次ページ、「IPアドレスを使って通信する仕組み」に続く)
この連載の記事
-
第8回
ネットワーク
HTTP、FTP、SMTP、SIPはどう動くの? -
第7回
ネットワーク
帯域を効率的に利用するTCPの仕組みとは? -
第6回
ネットワーク
TCPのコネクションとはなんですか? -
第5回
ネットワーク
TCPのキモはコネクションとポート番号 -
第4回
ネットワーク
ルータの向こうに広がるネットワーク -
第2回
ネットワーク
TCP/IPはどのように普及していったの? -
第1回
ネットワーク
TCP/IPの基礎の基礎を理解していますか? -
ネットワーク
TCP/IPまるわかり - この連載の一覧へ