このページの本文へ

TCP/IPまるわかり 第3回

IPアドレスを使って通信する仕組みを理解しよう

特別なIPアドレスって知っていますか?

2009年06月29日 09時00分更新

文● Gene

  • この記事をはてなブックマークに追加
  • 本文印刷

そのほかの特殊なアドレス

 ただ、これだけインターネットが普及してしまうと、インターネット上のサービスを使わないネットワークというのも考えにくくなってきた。とはいえ、プライベート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アドレス宛のパケットはネットワークカードからいったん外に出てから戻ってくるが、ローカルループバックアドレス宛のパケットは外に出ていかないことがわかる。ネットワークにつながずにアプリケーションの動作が確認できるので、開発環境などでは重宝される。

画面1 pingコマンドの実行結果

画面2 ケーブルを抜いてみた

 一方のリンクローカルアドレスは、DHCPサーバからIPアドレスを自動取得する設定にもかかわらず、割り当ててもらい損なった場合にOSが自動で設定するアドレスである。Windowsには「APIPA(Automatic Private IP Addressing)」という機能が備わっており、これが作動するとこのIPアドレスを割り当てる。インターネットにアクセスできないトラブルが起こったときにIPアドレスを調べてみると、このIPアドレスだったというケースはよくある。この場合、OSを再起動するなどしてIPアドレスの再取得を試みる。それでも状況が変わらない場合は、社内ネットワークであれば管理者に問い合わせたり、自宅であればブロードバンドルータをリセットするなどの対応が必要になる。

(次ページ、「IPアドレスを使って通信する仕組み」に続く)


 

カテゴリートップへ

この連載の記事
  • 角川アスキー総合研究所
  • アスキーカード