TCP/IPではアドレスとして32bitの数値を使い、ネットワーク部とホスト部に分割して扱うことで効率的な管理を可能にしている。
TCP/IPネットワークでは、「IPアドレス」が重要な役割を果たしている。NetBIOSが「名前」を使って通信相手を識別しているのに対し、TCP/IPではIPアドレスで通信相手を識別しているからだ。相手が識別できなければ、通信することはできない。TCP/IPを理解するためには、まずは、IPアドレスについて知っておく必要がある。ちょっと格好をつけていうと、こんな感じだろうか(ちょっと言い過ぎかもしれないが)。
NetBIOSは、始めに名前ありき
TCP/IPは、始めにIPアドレスありき
■連載目次
第1回 Windowsネットワークの舞台裏
第2回 レイヤ・モデルとファイル共有
第3回 NetBIOSを理解する(1)
第4回 NetBIOSを理解する(2)
第5回 NetBIOSの通信の実際
第6回 TCP/IP始めの一歩
第7回 IPアドレスとネットマスク
第8回 アドレス・クラスとIPアドレス
第9回 IPルーティング
第10回 IPパケットの構造
第11回 MACアドレスを解決するARP
第12回 TCP/IPを支えるICMP
第13回 データグラム通信を実現 UDP
第14回 信頼性を実現するTCP(1)
第15回 信頼性を実現するTCP(2)
第16回 信頼性を実現するTCP(3)
第17回 LLCとNetBEUI
第18回 NetBIOS over TCP/IP(1)
第19回 NetBIOS over TCP/IP(2)
第20回 ファイル共有SMB/CIFS(1)
第21回 ファイル共有SMB/CIFS(2)
第22回 ファイル共有SMB/CIFS(3)
第23回 ブラウザ・サービス
いやちょっと待った。TCP/IPではIPアドレスじゃなくて、名前で通信相手を識別することもできるじゃないか、と思う人もいるだろう。例えばWebブラウザで米Microsoft社のWebページを閲覧する場合、「http://www.microsoft.com/」とするのが普通で、「http://207.46.249.27/」と指定するユーザーはいない、と思うかもしれない(「nslookup www.microsoft.com」を実行すると「207.46.249.27」が得られた)。だがこれは、名前からIPアドレスへの変換が行われ、最終的には「http://207.46.249.27/」を実行しているのとほぼ同じなのである(本当はWebサーバに対して名前でアクセスした場合とIPアドレスでアクセスした場合は少し事情が違うが、それはHTTPプロトコルの問題なので、ここでは取り上げない)。同様に、メールやFTP、telnet、チャット、そのほかのサービスで名前を使って通信相手を指定した場合でも、最終的にはそれらの名前は(何らかの方法で)サービスを提供しているホストのIPアドレスに変換される。そしてIPアドレスで通信先のホストが特定され、実際の通信が行われる。
これとは逆に、現在ではNetBIOSもTCP/IP上に実装されているので(NetBIOS over TCP/IP)、NetBIOSを使ったサービス(Windowsネットワークにおけるファイル共有サービスなど)でも名前だけではなく、IPアドレス(TCP/IP)が必要になってきている。だがそれでも、最終的にはNetBIOSサービスの呼び出しのためには名前(NetBIOS名)が使われているので、NetBIOSと名前の関係は切り離すことはできない。TCP/IPとIPアドレスの関係も同様である。
もちろん通信相手だけでなく、ローカルのマシン側にも、IPアドレスが正しく付けられていなければ、TCP/IPネットワークに参加して、ほかのノードと通信をすることはできない。例えばWindows 2000のネットワークでTCP/IPのプロパティを表示させると、次のように表示される。
「IPアドレスを自動的に取得する」を選択していない場合(LAN上にDHCPサーバがいない場合)は、ユーザーは必ず[IPアドレス]と[サブネット マスク]を入力しないと、TCP/IPプロトコルが有効にならず、TCP/IP通信が利用できない(そのほかの項目は必要がなければ省略してもよい)。このように、IPアドレスはTCP/IPにとって非常に重要であり、かつ必ず知っておかなければならない基本的な概念でもある。今回は、このIPアドレスについて見ていこう。
Copyright© Digital Advantage Corp. All Rights Reserved.