はじめに
前回は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








