Configuring DHCP Features(2回目)
目次
はじめに
前回はDHCPの簡単な用語やDHCP snoopingについてみていきました。
今回はOption-82 Data Insertionを中心にみていきます。
Option-82 Data Insertion
住宅地でのメトロポリタンイーサネットアクセスの環境ではDHCPは加入者のIP
アドレスを中央管理できます。スイッチでOption-82機能をenableにすると、
加入者のデバイスはスイッチのポートで識別できます。加入者側のLAN上にあ
る複数のデバイスをアクセススイッチの同じポート上でユニークに識別できま
す。
以下のリンク先にある図には、中央のDHCPサーバがアクセスレイヤでスイッチ
に接続されている加入者にIPアドレスを割り当てる、メトロポリタンイーサネ
ットアクセスの例が示されています。
http://www.cisco.com/univercd/cc/td/doc/product/lan/c3550/12225see/scg/swdhcp82.htm#wp1097982
DHCPクライアントとDHCPサーバは同じサブネットに属していないので、スイッ
チにDHCP relay agentを設定し、helper addressでDHCPのブロードキャストメ
ッセージを転送できるようにします。
スイッチでDHCP snoopingのOption-82情報をenableにすると以下のイベントが
起こります。
- DHCPクライアントはDHCP requstを生成して、ネットワーク上にブロードキ
ャストします。 - スイッチがDHCP requestを受信すると、Option-82情報をパケットに追加し
ます。デフォルトでOption-82情報はスイッチのMACアドレス(remote-ID suboption)、
vlan-mod-portかsnmp-ifindexのポート識別子、どこからそのパケットを
受信したか(circuit-ID suboption)を含んでいます。
12.2(25)SEEからは、remote IDとcircuit IDを設定できるようになりました。
これらの設定についてのお話は次回以降でとりあげます。 - Relay AgentのIPアドレスが設定されていれば、スイッチはDHCPパケットに
そのIPアドレスを追加します。 - スイッチはOption-82が含まれるDHCP requestをDHCPサーバに転送します。
- DHCPサーバがパケットを受信すると、サーバがOption-82対応の場合、その
サーバはremote ID、circuit ID、またはそれらの両方をしようしてIPアド
レスを割り当て、単一のremote IDまたはcircuit IDに割り当て可能なIPア
ドレス制限などのポリシを適用できます。
それから、DHCPサーバはOption-82フィールドの値をDHCP replyの中にその
まま残します。 - DHCPサーバはスイッチがDHCP requestをrelayしていた場合はユニキャスト
でreplyを返します。クライアントとサーバが同じサブネットにいた場合、
サーバはreplyをブロードキャストします。
スイッチはremote IDや可能であればcircuit IDフィールドを調べて、本来
のOption-82情報がinsertされていたかを確認します。スイッチはOption-82
フィールドを削除してからそのパケットをDHCPクライアントに接続されてい
るスイッチポートに転送します。
デフォルトのサブオプション設定では、上に説明した一連のイベントが発生
した場合、以下の図のexample1と2は変わりません。
http://www.cisco.com/univercd/cc/td/doc/product/lan/c3550/12225see/scg/swdhcp82.htm#wp1148422
circuit ID サブオプションフィールド
- サブオプションタイプ
- サブオプションタイプの長さ
- circuit ID タイプ
- circuit ID タイプの長さ
remote ID サブオプションフィールド
- サブオプションタイプ
- サブオプションタイプの長さ
- remote ID タイプ
- remote ID タイプの長さ
先の図のexample3では、ユーザ設定のremote ID、circuit IDサブオプション
のパケット形式を示しています。このスイッチはDHCP snoopingをグローバル
にenableにしてip dhcp snooping information option format remote-idコマ
ンドとip dhcp snooping vlan information option format type circuit-id string
インタフェースコマンドを入力した場合に、これらのパケット形式を使用しま
す。
remote ID、circuit IDサブオプションを設定する場合、パケットの中にある
以下のフィールドの値はデフォルト値から変更されます。
circuit IDサブオプションフィールド
- circuit ID タイプが1になります。
- 設定した文字列の長さに応じて長さの値が変わります。
remote IDサブオプションフィールド
- remote ID タイプが1になります。
- 設定した文字列の長さに応じて長さの値が変わります。
グローバルにDHCP snoopingをenableにしている場合で、
ip dhcp snooping information optionコマンド、SNMP ifindex形式を設定し
ていない場合、circuit IDサブオプションのポート番号のフィールドは0から
始まります。例えば、Cat3550-24スイッチで、ポート0はfa 0/1、ポート1は
fa 0/2、ポート2はfa 0/3を指します。ポート24はGBICベースのgi 0/1、ポー
ト25はgi 0/2を指します。
先ほどの図の各形式がどのような場合に使われるかは、以下のとおりです。
1は、DHCP snoopingがグローバルにenableで、ip dhcp relay information option
コマンドが設定され、ip dhcp snooping information option format snmp-ifindex
コマンドが設定された場合にこの形式を使用します。
2は、DHCP snoopingがグローバルにenableで、ip dhcp snooping information option
コマンドが設定され、さらにSNMP ifindex形式が設定されていない場合に、こ
の形式を使用します。
3は、DHCP snoopingがグローバルにenableで、
ip dhcp snooping information option format remote-idコマンドが設定され、
ip dhcp snooping vlan information option format-type circuit-id string
インタフェースコマンドが設定されている場合、この形式を使用します。
次回もDHCPの機能についてみていきます。
By 『Overseas and Beyond』 Koichi