このページの本文へ

前へ 1 2 3 次へ

TCP/IPまるわかり 第2回

使われ続ける理由を探ってみよう

TCP/IPはどのように普及していったの?

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

文● 遠藤 哲

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

IPアドレスの見方と割り当て方法

 TCP/IPで構築されたネットワークでは、IPアドレスを使ってホストを識別する。では、どのようにしてIPアドレスは割り当てられているのだろうか。まずは、IPアドレスの見方と割り当て方法を解説しよう。

 IPアドレスは、ネットワークにつながったホストを識別するための情報である。厳密にいえば、IPアドレスは各ホストが内蔵するネットワークカードごとに設定される。そのため、最近のノートPCのように有線と無線のLANインターフェイスを両方内蔵している場合は、1台のホストに2つのIPアドレスが割り当てられている(画面1)。

画面1 IPアドレスの設定状況

 画面を見てわかるように、IPアドレスは「192.168.1.5」といった具合に、4つの数字を「.(ドット)」でつなげて表記されている。実はこれは「ドット10進表記」と呼ばれる表記方法で、少しでも覚えやすいようにという理由から、人間の都合で考えられたものである。しかしコンピュータの内部では、IPアドレスは32桁の2進数(0と1の組み合わせ。32ビット)で計算処理されている。この32桁を8桁ずつ4つのブロックに分けて、それぞれを10進数に変換して「.」でつないだものが、普段我々が目にするIPアドレスなのだ(図3)。

図3 もともとのIPアドレスは32桁の2進数

 IPアドレスの2進数から10進数への変換方法は図4のようになる。8桁の2進数の左から順番に「128/64/32/16/8/4/2/1」と重みをつけて、それぞれの桁で「1」になっているところを足していく。たとえば2進数の「11001000」であれば、「128+64+8」で、10進数の「200」になる。これを4ブロック分計算すれば、画面のように「192.168.1.5」と変換できるのだ。

図4 2進数→10進数の変換方法

 この2進数の考え方は以降のパートでも必要になるので、参考までに10進数の「200」を2進数に変換する計算方法も簡単に紹介しておこう(図5)。まず、200を2で割ると、答えは100で余りは「0」。次に答えの100を2で割ると、50で余りは「0」。以下、答えが0になるまで求めた「余り」を順番に並べると「00010011」となり、これを左右反転させると「11001000」になる。

図5 10進数→2進数の変換方法

IPアドレスの割り当て方法

 このIPアドレスの設定は、ユーザーが手入力してもよいし、自動的に割り当てを受けることもできる。

 IPアドレスの自動割り当てを管理するのがDHCP(Dynamic Host Configuration Protocol)サーバである。IPアドレスは重複してはならないが、手入力だとミスが起こりえる。それを避けるための仕組みがDHCPだ

 DHCPを使ったIPアドレスの割り当ては、以下の手順で行なわれる。まず、DHCPが有効になっているホスト(仮にクライアントとする)のOSが起動する際に、周りのコンピュータに対して「DHCPサーバはどこにいますか?」という意味の「DHCPDISCOVER」のパケットを投げる。これは相手がどこにいるかわからないので、「ブロードキャスト」と呼ばれる「周囲の全員に届く方法」で送信される。

 次に、このブロードキャストパケットを受け取ったDHCPサーバは、「このIPアドレスが使われていませんが、どうでしょうか?」という意味の「DHCPOFFER」を返信する(ほかのホストは無視して破棄する)。この時点ではクライアントにIPアドレスが割り当てられていないので、ブロードキャストで送られる。返信を受け取ったクライアントは「ではこのIPアドレスでお願いします」と「DHCPREQUEST」をブロードキャストで送信する。これを受け取ったDHCPサーバはOFFERしたIPアドレスを「貸し出し中」にして、「では、このIPアドレスをお使いください」と「DHCPACK」を送る。以上で、DHCPを使ったIPアドレスの割り当ては完了だ。

IPv6について

 現状、一般的なTCP/IPネットワークで使われているIPアドレスは、「IPv4(Internet Protocol version 4)」と呼ばれるルールにしたがっている。本記事でも、特に明記しない限りIPといえばIPv4のことを指す。

 しかし、このIPv4によるアドレッシングは、IPアドレスの枯渇という問題に直面している。本文でも触れたように、IPアドレスは32桁の2進数で表現されているが、実は約43億種類のユニークな識別子でしかない。数年前から「じきに足りなくなる」といわれていたが、いよいよ本腰を入れて対策を考えなければならなくなった。

 その1つの回答が、「IPv6(Internet Protocol version 6)」への移行で、アドレスの桁数が32から128に増加する

 Windows VistaがIPv6に標準対応するなど、スムースに移行できる環境は整いつつあり、今後の動向に注目してもらいたい。

画面2 Windows VistaではIPv4とIPv6のアドレスが併記される

前へ 1 2 3 次へ

カテゴリートップへ

この連載の記事