TCP/IP とデータ通信

DHCP テーブル

DHCP は、2 種類のデータベース、すなわちネットワークテーブルと dhcptab 構成マクロテーブルとを使用します。これらのデータベースは、NIS+ を使用している場合は NIS+ テーブルであり、NIS+ を使用していない場合はファイルです。

DHCP ネットワークテーブル

DHCP ネットワークテーブルは、IP アドレスの割り当てに関連する情報を格納しています。ネットワークごとに別個のネットワークテーブルがあります。DHCP において dhcp_network テーブルと呼ばれるテーブルの名前は、サービスを提供しているネットワークの IP アドレスから派生しています。たとえば、ネットワーク 120.146.5.0 のネットワークテーブルは、IP アドレス指定の中のピリオドを下線に置換して 120_146_5_0 となります。

DHCP 内の各サブネットには、サブネット内のクライアントのエントリを格納している dhcp_network テーブルがあります。ブートしたクライアントからのパラメータを求める要求に DHCP サーバーが応答すると、そのクライアントの dhcp_network エントリとして情報が記録されます。このテーブルには、クライアントの IP アドレスと、dhcptab テーブルへのポインタとが含まれています。

ネットワークテーブルは、以下の固有情報を格納しています。

ネットワークテーブルは、特定のネットワークに対して DHCP サーバーが割り当てることができる IP アドレスのリストとして機能します。各ネットワークには独自のネットワークテーブルがあります。ネットワークテーブルの基本要素は IP アドレスのリストです。テーブル内のその他の要素は、すべて IP アドレスとの関係において意味を持ちます。たとえば、クライアント ID は特定の IP アドレスが現在割り当てられているクライアントを特定します。IP アドレスが未割り当てである場合、その IP アドレスのクライアント ID は 0 です。有効期限も 0 です。IP アドレスが割り当て済みである場合は、クライアント ID とリースの有効期限が記入されています。

特定の実装状態では、クライアント ID はネットワークの種類を表す接頭辞を付けてクライアントマシンのハードウェアアドレスになります。たとえば、イ−サネットアドレスを持つクライアントのクライアント ID が 0102608BA614C1 である場合は、01 によりクライアントがイ−サネットネットワークであることが示されます。DHCP の実装状態によっては、その他の識別子 (DNS 名やプロパティ番号など) を使用する場合があります。重要なことは、クライアント ID はネットワーク内で一意である必要があることです。

IP アドレスが割り当て済みの場合、その IP アドレスのリースの有効期限は特定の日付と時刻に設定されるか、または "No Expiration" とマークされます。

lease フラグと dhcptab 構成マクロの名前は、IP アドレスがクライアントに割り当てられているかどうかにかかわらず同じです。クライアントが特定の IP アドレスを取得すると、lease フラグにより指定されたリースの種類と、プロパティ名により指定された構成も取得します。lease フラグは、IP アドレスを割り当てることができる条件を表示します。pntadm コマンドにより、dhcp_network テーブルを管理することができます。例 16-1pntadm の出力例を示します。


例 16-1 pntadm -P 129.146.86.0 の出力例

Client ID       Flags  Client IP        Server IP       Lease         Macro     Comment
                                                        Explanation

010800207CBA2C   04    129.146.86.153   129.146.86.181   Zero         mrcoffee
0108002022519C   00    129.146.86.205   129.146.86.181   7/3/1996     inet11
01080011043B65   08    129.146.86.29    129.146.86.181   Zero         inet11
0100A024A9BCEE   08    129.146.86.198   129.146.86.181   7/22/1996    inet11 	
0100A024A791DE   00    129.146.86.200   129.146.86.181   8/4/1996     inet11 
0100A02463D6EC   00    129.146.86.199   129.146.86.181   8/1/1996     inet11 
0100A024636AB7   00    129.146.86.201   129.146.86.181   8/3/1996     inet11 
010080C72EE4A3   00    129.146.86.206   129.146.86.181   7/5/1996     inet11 
010020AF4A3B31   0     129.146.86.214   129.146.86.181   Zero         hobbs
00               00    129.146.86.202   129.146.86.181   Zero         inet11	

dhcptab 構成テーブル

dhcptab テーブルは、クライアントの構成に関連する情報を格納しています。このテーブルは、ネットワーククライアントを構成するのに必要な全情報を格納する、一連のマクロ定義として編成されます。クライアントは、ネットワークテーブルから IP アドレスを割り当てられる際に構成を取得します。IP アドレスに関連付けられたマクロ名は、dhcptab テーブル内のマクロ名に対応します。クライアントは、ネットワークテーブルから IP アドレスを取得した後に、dhcptab テーブルからネットワーク構成を取得します。

DHCP サーバーの初期構成の際に、構成済みネットワークごとに dhcptab テーブルとマクロが作成されます。各マクロには、ネットワークに固有の情報、すなわちサブネットマスク、ネットワークブロードキャスト通信アドレス、IP パケット生存時間、データグラムの最大サイズ、デフォルトのルーター、静的送信経路、DNS ドメイン、NIS ドメイン、DNS サーバー、NIS サーバーのうち、サーバーの構成時に使用可能なものが格納されます。

マクロ内に格納されている情報を変更することによって、クライアントマシンがネットワークを利用する方法を制御することができます。たとえば、特定のクライアントマシンが使用するマクロの名前を変更すると、そのマシンのネットワーク構成が変更されます。別の例としては、あるマクロ内の 1 つのオプションを変更することにより、そのマクロセットを使用する全マシンの動作が変更されます。IP アドレスを管理する能力は、DHCP の主要機能の 1 つです。dhtadm コマンドにより、dhcptab サーバー構成テーブルを管理します。例 16-2dhtadm の出力例を示します。


例 16-2 dhtadm -P の出力例

Name          Type    Value

mrcoffee      Macro   :Subnet=255.255.255.0:Router=129.146.86.1:Broadcst=129.146.86.255: ¥
                      :BootSrvA=129.146.86.175:BootFile="/export/root/JavaDesktop/kona": ¥
                      :NISservs=129.146.86.33:NISdmain=sunsoft.eng.sun.com: ¥
                      :DNSdmain=Eng.Sun.COM: ¥
                      :DNSserv=129.146.1.151 129.146.1.152 129.144.1.57 129.144.134.19: ¥ 
                      :Include=Locale: ¥
                      :Timeserv=129.144.1.3:LeaseTim=3600:T1Time=1800: ¥
                      :T2Time=3060:	

Locale        Macro   :UTCoffst=25200:SN_TZ="PST8PDT":

inet11        Macro   :Include=Locale:Timeserv=129.146.86.181:LeaseTim=259200: ¥
                      :DNSdmain=Eng.Sun.COM: ¥
                      :DNSserv=129.146.1.151 129.146.1.152 129.144.1.57 129.144.134.19:

hobbs         Macro   :Subnet=255.255.255.0:Router=129.146.86.1:Broadcst=129.146.86.255: ¥
                      :BootSrvA=129.146.86.32:BootFile="819256D6.PREP":

129.146.89.0  Macro   :Subnet=255.255.255.0:Router=129.146.89.1:Broadcst=129.146.89.255: ¥
                      :NISdmain=sunsoft.eng.sun.com:NISservs=129.146.89.33: ¥
                      :NetBNms=129.146.171.31:NetBNdT=8:

129.146.88.0  Macro   :Subnet=255.255.255.0:Router=129.146.88.1:Broadcst=129.146.88.255: ¥
                      :NISdmain=sunsoft.eng.sun.com:NISservs=129.146.88.33: ¥
                      :NetBNms=129.146.171.31:NetBNdT=8:

129.146.87.0  Macro   :Subnet=255.255.255.0:Router=129.146.87.1:Broadcst=129.146.87.255: ¥
                      :NISdmain=sunsoft.eng.sun.com:NISservs=129.146.87.33: 
                      :NetBNms=129.146.171.31:NetBNdT=8:	

129.146.86.0  Macro   :Broadcst=129.146.86.255:Subnet=255.255.255.0:MTU=1500: ¥
                      :Router=129.146.86.1:NISdmain=sunsoft.eng.sun.com: ¥
                      :NISservs=129.146.86.33:NetBNms=129.146.171.31:NetBNdT=8: ¥
                      :BootSrvA=129.146.86.32:

129.146.85.0  Macro   :Subnet=255.255.255.0:Router=129.146.85.1:Broadcst=129.146.85.255: ¥
                      :NISdmain=sunsoft.eng.sun.com:NISservs=129.146.85.33: ¥
                      :NetBNms=129.146.171.31:NetBNdT=8:

129.146.84.0  Macro   :Subnet=255.255.255.0:Router=129.146.84.1:Broadcst=129.146.84.255: ¥
                      :NISdmain=sunsoft.eng.sun.com:NISservs=129.146.84.33: ¥
                      :NetBNms=129.146.171.31:NetBNdT=8:

129.146.83.0  Macro   :Subnet=255.255.255.0:Router=129.146.83.1:Broadcst=129.146.83.255: ¥
                      :NISdmain=sunsoft.eng.sun.com: ¥
                      :NISservs=129.146.83.33:NetBNms=129.146.171.31:NetBNdT=8:

129.146.82.0  Macro   :Subnet=255.255.255.0:Router=129.146.82.1:Broadcst=129.146.82.255: ¥
                      :NISdmain=sunsoft.eng.sun.com:NISservs=129.146.82.33: ¥
                      :NetBNms=129.146.171.31:NetBNdT=8:

129.146.81.0  Macro   :Subnet=255.255.255.0:Router=129.146.81.1:Broadcst=129.146.81.255: ¥
                      :NISdmain=sunsoft.eng.sun.com:NISservs=129.146.81.33: ¥
                      :NetBNms=129.146.171.31:NetBNdT=8:

SN_TZ         Symbol  Vendor=SUNW,13,ASCII,1,0