このページの本文へ

TCP/IPまるわかり 第3回

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

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

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

文● Gene

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

IPアドレスを使って通信する仕組み

 ここまで、IPアドレスはホストを識別するための情報として解説してきた。では実際にIPアドレスを使ってどのように通信するのだろうか。IP層の目的である「相手ホストにパケットを届ける」というキモとなる部分だ。その仕組みを順に追っていこう。

 IPアドレスは、ホストが内蔵するネットワークカードを識別するための情報である。では、通信相手のホストのネットワークカードのIPアドレスがわかっている状態で、どのような仕組みでパケットのやり取りが行なわれるのだろうか。ここでの重要なキーワードは、「ネットワークアドレス」「サブネットマスク」「ARP(Address Resolution Protocol)」の3つである。これらを順を追って説明しよう。

 まず、データの送信元ホストは、宛先ホストのIPアドレスと自身のIPアドレスをチェックして、お互いが同じネットワークに属しているかどうか調べる。この場合の「同じネットワーク」とは、「同じネットワークアドレスを持っているかどうか」で判断する。

 ネットワークアドレスは、IPアドレスとサブネットマスクを組み合わせて表現する、「グループ化したホストに付けられた識別子」である。サブネットマスクは、IPアドレスの先頭からどこまでがネットワークアドレスなのかを示す情報だ。IPアドレスと同様に32桁の2進数で、ドット10進数や、「/桁数」という「CIDR(Classless Inter Domain Routing)」あるいは「プレフィクス」という表記方法が用いられる。

 サブネットマスクを使ってネットワークアドレスを求める方法は非常に単純である。IPアドレスと並べて、2進数で表記したサブネットマスクの「1」の部分がグループ化したホストのネットワークアドレスとなり、残りの「0」の部分がグループ内での識別子である「ホストアドレス」となる(図2)。仮にサブネットマスクが「255.255.255.0」や「/24」などと書かれていたら、IPアドレスの先頭から24桁目までがネットワークアドレスで、残りの8桁がそのホストのホストアドレスとなる。つまり、「192.168.1.100/24」というIPアドレスを持つホストのネットワークアドレスは「192.168.1.0」でホストアドレスは「100」になる。そして、IPアドレスが「192.168.1.1~192.168.1.254*1」のホストが「同じネットワークに属している」わけだ。

図2 IPアドレスとサブネットマスク

*1:「192.168.1.0」はネットワークそのものを示すアドレスなので、ホストには割り当てられない。また、「192.168.1.255」は、192.168.1.0/24ネットワークに属するすべてのホストに対してパケットを送信する際に使う「ブロードキャストアドレス」なので、同様にホストには割り当てられない。先のパートでは触れなかったが、これらも特別なIPアドレスといえる。

 このようにして調べた通信相手のネットワークアドレスが自身のものと同じであれば「直接通信」が選択され、異なっていれば「間接通信」が選択される。まずは直接通信の仕組みから見ていこう。

(次ページ、「直接通信の仕組み」に続く)


 

カテゴリートップへ

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