Data-over-Cable Service Interface Specifications(DOCSIS)のケーブル プラントにおけるセット トップ ボックスは、ケーブル モデム(CM)の特殊なケースです。 ボックスでは、オンラインになるときと、ネットワークに接続するときにケーブル モデムと同じ手順を踏みます。ただし、セット トップ ボックスでは、標準的なケーブル モデムにはない、テレビ放送のサービス、ペイ パー ビュー、電子番組ガイドなどの他の機能レベルを一般的に備えています。
このため、セットトップ ボックスでは、これらの追加機能を初期化して設定するための情報を提供するプロビジョニング システムが必要となる場合があります。
このドキュメントでは、Motorola DCT5000 セットトップ ボックスの例を示します。このデバイスがプロビジョニング システムから DHCP リースを取得するときに、このデバイスの開始ページとして機能する URL も受け取る必要があります。URL を受け取らないと、このブランドのセットトップ ボックスでは、すべてのレベルの機能を適切に使用できなくなります。
注:このドキュメントは、Motorola DCT5000セットトップボックスのプロビジョニングのリファレンスとして使用しないでください。モトローラのドキュメントを正規のマニュアルとして参照してください。
このドキュメントでは、使用されるDHCPサーバシステムはCisco Network Registrar(CNR)バージョン5.06です。以前のCNRリリースを使用することは可能ですが、プロセスは異なります。ASCII 形式で情報を入力する必要がありますが、時間がかかり、手順が複雑になる可能性があります。
注:以前のバージョンのCNRに示すように、オプション43の値を手動で定義する代わりに、このドキュメントで説明するプロセスを使用することを推奨します。
このドキュメントに特有の要件はありません。
このドキュメントの情報は、CNR バージョン 5.06 に基づくものです。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。
ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。
ベンダー クラス ID(オプション 60)は、DHCP クライアントが、DHCP クライアントのベンダーや機能を識別するために使用することができます。この情報は可変長の文字列またはオクテットで、DHCP クライアントのベンダーによって指定された意味をもちます。
DHCP クライアントが特定の種類のハードウェアとファームウェアを使用していることを伝える 1 つの手段として、DHCP 要求でベンダー クラス ID(VCI)(オプション 60)と呼ばれる値を設定する方法があります。 たとえば、DOCSIS 1.0ベースのCMは、このDHCPオプションの値を文字列docsis1.0に設定する必要があります。一方、DOCSIS 1.1ベースのCMは、この値をdocsis1.1に設定します。この方法では、DHCPサーバは2種類ののCMをを区別します。
セットトップ ボックスにも、DHCP サーバにデバイスのハードウェアの種類と機能を通知するように VCI(オプション 60)を設定するタイプのものあります。このオプションに設定された値は、DHCP サーバにとって、このクライアントが DHCP 応答でどのような情報を必要としているかを知る手がかりとなります。
コード | 長さ | ベンダー クラス ID | ||
---|---|---|---|---|
60 | n | i1 | i2 | ......... |
注:オプション60はRFC 2132で定義されています 。
セット トップ ボックスで、送信した VCI に基づいて返されるベンダー固有の情報を得るための最も一般的な方法は、ベンダー固有情報オプション(オプション 43)と呼ばれる DHCP オプションを使用することです。 このオプションの形式は、RFC 2132で定義されています 。 ただし、このオプションによって返される値の定義は、関係するベンダーによって指定されています。
RFC 2132のセクション8.4によると、このオプションは通常、type, length, value (TLV)形式でフォーマットされ、異なる情報を異なるサブオプションタイプで表現できます。 値フィールドの意味は、エンド デバイスのメーカーによって定義されます。
コード | 長さ | データ項目 | コード | 長さ | データ項目 | ||||
---|---|---|---|---|---|---|---|---|---|
T1 | n | d1 | D2 | ...... | T2 | n | D1 | D2 | ...... |
Motorola DCT5000 のセットトップ ボックスから DHCP 要求を送信するときに、VCI(オプション 60)の値が dct5000.008X に設定されます。X は 0 ~ F までの 16 進数字で、セットトップ ボックスの機能によって異なります。CNR では、この情報を使用して、DHCP クライアントが確かに DCT5000 セットトップ ボックスであることを判断します。
CNR で DHCP 要求が DCT5000 からであることが認識されたら、CNR では Motorola DCT5000 が正しく初期化されるように、開始 URL を DHCP 応答で返す必要があります。Motorola では、この開始 URL はベンダー固有情報オプション(オプション 43)のサブオプション タイプ 2 として送信される必要があると定義しています。
コード | 長さ | データ項目 |
---|---|---|
0 | 61 | http://172.16.1.10/dtv/app/servicemanager/servicemanager.html |
CNR で行う必要のある最初のステップは、CNR にセットトップ ボックスで使用されている VCI を通知することです。それには、CNR のコマンドライン インターフェイスのユーティリティで次の nrcmd コマンドを発行します。 vendor-option <vendor-option-name> create <Vendor-class-identifier>
注:この設定は、nrcmdコマンドを使用してのみ実行できます。これらのコマンドを GUI インターフェイスで使用することはできません。
場所:
vendor-option-name:VCI を送信するクライアントのタイプを表す識別子。
Vendor-class-identifier:特定のタイプのデバイスによってベンダー情報オプション(オプション 60)に設定される値。
注:コマンドのvendor-option-nameフィールドは、小文字で指定する必要があります。大文字を使用すると、小文字に変換されます。Vendor-class-identifier フィールドでは、大文字も小文字も指定できます。
DCT5000 セットトップ ボックスの場合、DCT5000 の各タイプを表す次のベンダー オプションが定義されています。
Vendor-option dct5000_80 create dct5000.0080 vendor-option dct5000_81 create dct5000.0081 vendor-option dct5000_82 create dct5000.0082 vendor-option dct5000_83 create dct5000.0083 vendor-option dct5000_84 create dct5000.0084 vendor-option dct5000_85 create dct5000.0085 vendor-option dct5000_86 create dct5000.0086 vendor-option dct5000_87 create dct5000.0087 vendor-option dct5000_88 create dct5000.0088 vendor-option dct5000_89 create dct5000.0089 vendor-option dct5000_8a create dct5000.008A vendor-option dct5000_8b create dct5000.008B vendor-option dct5000_8c create dct5000.008C vendor-option dct5000_8d create dct5000.008D vendor-option dct5000_8e create dct5000.008E vendor-option dct5000_8f create dct5000.008F
将来、ネットワークで他のタイプのセットトップ ボックスが使用され、これらのセットトップ ボックスで異なるベンダー クラス ID が使用される場合には、これらを後で定義することができます。
現在、CNR にはこれらの異なる VCI を 1 つのエントリにまとめる方法はありません。CNR では、これらを全く異なるものとして扱います。
次のステップは、サブオプション タイプ 2 をこれらの各 VCI に対して有効なタイプとして定義することです。
サブオプション タイプは、nrcmd コマンドの vendor-option <vendor-option-name> definesuboption <suboption-name> <suboption-type-number> <option-data-type> を使用して作成されます。
場所:
vendor-option-name:クライアントのタイプを表すために選択される識別子。
suboption-name:作成されるサブオプションの名前。サブオプションの機能を表す名前を指定します。
suboption-type-number:このサブオプションのサブオプション タイプ番号。
option-data-type:このサブオプションが使用するデータ型。たとえば、IPADDR、STRING、BYTE_ARRAY など。他の型は、nrcmd コマンドの option-datatype list で参照できます。
注:このコマンドのvendor-option-nameフィールドとsuboption-nameフィールドは、小文字で指定する必要があります。大文字を使用すると、小文字に変換されます。option-data-type フィールドでは、大文字も小文字も指定できます。
この例では、開始 URL に対してサブオプション タイプ番号 2 を定義する必要があります。URL は文字列なので、option-data-type として type STRING コマンドを発行します。
Vendor-option dct5000_80 definesuboption start_url 2 STRING vendor-option dct5000_81 definesuboption start_url 2 STRING vendor-option dct5000_82 definesuboption start_url 2 STRING vendor-option dct5000_83 definesuboption start_url 2 STRING vendor-option dct5000_84 definesuboption start_url 2 STRING vendor-option dct5000_85 definesuboption start_url 2 STRING vendor-option dct5000_86 definesuboption start_url 2 STRING vendor-option dct5000_87 definesuboption start_url 2 STRING vendor-option dct5000_88 definesuboption start_url 2 STRING vendor-option dct5000_89 definesuboption start_url 2 STRING vendor-option dct5000_8a definesuboption start_url 2 STRING vendor-option dct5000_8b definesuboption start_url 2 STRING vendor-option dct5000_8c definesuboption start_url 2 STRING vendor-option dct5000_8d definesuboption start_url 2 STRING vendor-option dct5000_8e definesuboption start_url 2 STRING vendor-option dct5000_8f definesuboption start_url 2 STRING
将来、新しい機能がセットトップ ボックスで定義され、他のサブオプションを定義する必要がある場合は、後で同様の方法で指定できます。
この処理での最後のステップは、定義したベンダー オプションとポリシーを関連付け、個々のサブオプションがとる値を指定することです。これは、nrcmd コマンドの policy <policy-name> setvendoroption <vendor-option-name> <suboption-name> <suboption-value> で実行されます。
場所:
policy-name:セットトップ ボックスがオプションを受信する DHCP のポリシーの名前。これは、事前に設定されています。
vendor-option-name:クライアントのタイプを表すために選択される識別子。
suboption-name:サブオプションの名前。
suboption-value:DHCP 応答の中でサブオプションに与えられる値。サブオプションを定義する際に、指定された option-data-type ごとに入力する必要があります。
注:vendor-option-nameとsuboption-nameのフィールドでは、大文字と小文字が区別されます。これらのフィールドはすべて小文字で指定するようにしてください。suboption-value フィールドは、大文字でも小文字でも指定できます。suboption-value フィールドは、サブオプションを受信するクライアントで大文字小文字を区別する場合にのみ、大文字小文字を区別します。
この例では、セットトップ ボックスに STB_policy と呼ばれるポリシーが作成されていると仮定します。また、次の各タイプのセットトップ ボックスに対して、開始 URL を http://172.16.1.10/dtv/app/servicemanager/servicemanager.htmlhttp://www.lookuptables.com/ として指定します。
これは次の nrcmd コマンドを使用して実行されます。
policy STB_policy setvendoroption dct5000_80 start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html policy STB_policy setvendoroption dct5000_81 start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html policy STB_policy setvendoroption dct5000_82 start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html policy STB_policy setvendoroption dct5000_83 start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html policy STB_policy setvendoroption dct5000_84 start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html policy STB_policy setvendoroption dct5000_85 start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html policy STB_policy setvendoroption dct5000_86 start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html policy STB_policy setvendoroption dct5000_87 start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html policy STB_policy setvendoroption dct5000_88 start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html policy STB_policy setvendoroption dct5000_89 start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html policy STB_policy setvendoroption dct5000_8a start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html policy STB_policy setvendoroption dct5000_8b start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html policy STB_policy setvendoroption dct5000_8c start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html policy STB_policy setvendoroption dct5000_8d start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html policy STB_policy setvendoroption dct5000_8e start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html policy STB_policy setvendoroption dct5000_8f start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html
VCI の他のサブオプション タイプが指定されている場合は、同様の方法でポリシーに関連付けて値を割り当てることができます。
この段階で、設定の変更を保存し、変更を適用するように DHCP サーバを再起動できます。それには、nrcmd とともに、コマンドdhcp save と reload を使用します。
CNR の以前のバージョンには、高度なベンダー固有情報オプションの機能はありません。そのため、ベンダー固有オプション(オプション 43)をポリシーに対して手作業で設定する必要があります。これはCNR 5.0では行えません。オプション43の値を受け取る必要がある場合は、vendor-optionコマンドとpolicy setvendorooptionコマンドを発行する必要があります。
5.0 より前の CNR のバージョンでは、ベンダー固有情報オプション(オプション 43)を提供するようにポリシーを設定するには、コマンド policy <policy-name> setoption vendor-encapsulated-option <value-byte-array> を発行する必要があります。
場所:
policy-name:セットトップ ボックスがオプションを受信する DHCP のポリシーの名前。これは、事前に設定されています。
value-byte-array:ベンダー固有情報オプション(オプション43)の返り値の全体が16進数バイトの配列で指定した値。
ベンダー固有情報オプション(オプション 43)に含まれる値は 16 進数のバイトの配列として表され、またサブタイプの定義を含めることはできないため、必須フィールド全体を適切な ASCII コードにデコードする必要があります。
http://www.lookuptables.com/にあるようなテキストからASCIIへの16進変換テーブルを使用して 、URL http://172.16.1.10/dtv/app/servicemanager/servicemanager.htmlを同等の16進数値に変換できます。
この URL は、次の値になります。
68:74:74:70:3a:2f:2f:31:37:32:2e:31:36:2e:31:2e:31:30:2f:64: 74:76:2f:61:70:70:2f:73:65:72:76:69:63:65:6d:61:6e:61:67:65: 72:2f:73:65:72:76:69:63:65:6d:61:6e:61:67:65:72:2e:68:74:6d:6c
ベンダー固有情報オプション(オプション 43)を正しくフォーマットするためには、この配列の先頭にタイプと長さのフィールドを追加する必要があります。
コード | 長さ | データ項目 |
---|---|---|
0 | 61 | http://172.16.1.10/dtv/app/servicemanager/servicemanager.html |
コード | 長さ | データ項目 |
---|---|---|
02 | 3d | 68:74:74:70:3a:2f:2f:31:37:32:2e:31:36:2e:31:2e:31:30:2f:64:74:76:2f:61:70:70:2f:73:65:72:76:69:63:65:6d:61:6e:61:67:65:72:2f:73:65:72:76:69:63:65:6d:61:6e:61:67:65:72:2e:68:74:6d:6c |
この表に示されているように、16 進数値の 61:3d を、開始 URL を表す 16 進数の列の前に付加する必要があります。次の nrcmd コマンドを発行して、ベンダー固有情報オプション(オプション 43)の全体の値を指定することができます。
policy STB_policy setoption vendor-encapsulated-option
02:3d:68:74:74:70:3a:2f:2f:31:37:32:2e:31:36:2e:31:2e:31:30:2f:64:74:76:2f:61:70:70:2f:73:65:72:76:69:63:65:6d:61:
6e:61:67:65:72:2f:73:65:72:76:69:63:65:6d:61:6e:61:67:65:72:2e:68:74:6d:6c
注:このコマンド全体が1行で実行されます。
設定コマンドが正しく入力されているかどうかを確認するには nrcmd コマンドを使用します。
最初のコマンドは vendor-option list です。この出力が示すように、このコマンドの出力には、ベンダー オプションの名前、ベンダー クラス ID、ベンダー オプション機能の read_only の設定を含むベンダー オプションのリストが表示されます。
nrcmd> vendor-option list 100 Ok dct5000_80: name = dct5000_80 read-only = disabled vendor-class-id = dct5000.0080 dct5000_81: name = dct5000_81 read-only = disabled vendor-class-id = dct5000.0081 dct5000_82: name = dct5000_82 read-only = disabled vendor-class-id = dct5000.0082 dct5000_83: name = dct5000_83 read-only = disabled vendor-class-id = dct5000.0083 dct5000_84: name = dct5000_84 read-only = disabled vendor-class-id = dct5000.0084 dct5000_85: name = dct5000_85 read-only = disabled vendor-class-id = dct5000.0085 dct5000_86: name = dct5000_86 read-only = disabled vendor-class-id = dct5000.0086 dct5000_87: name = dct5000_87 read-only = disabled vendor-class-id = dct5000.0087 dct5000_88: name = dct5000_88 read-only = disabled vendor-class-id = dct5000.0088 dct5000_89: name = dct5000_89 read-only = disabled vendor-class-id = dct5000.0089 dct5000_8a: name = dct5000_8a read-only = disabled vendor-class-id = dct5000.008A dct5000_8b: name = dct5000_8b read-only = disabled vendor-class-id = dct5000.008B dct5000_8c: name = dct5000_8c read-only = disabled vendor-class-id = dct5000.008C dct5000_8d: name = dct5000_8d read-only = disabled vendor-class-id = dct5000.008D dct5000_8e: name = dct5000_8e read-only = disabled vendor-class-id = dct5000.008E dct5000_8f: name = dct5000_8f read-only = disabled vendor-class-id = dct5000.008F
注:ベンダオプションの読み取り専用機能は、デフォルトでは無効になっています。これを有効にするには、vendor-option name enable read-only コマンドを発行します。ベンダー固有の DHCP オプションの read-only 機能は、ポリシー名 setVendoroption コマンドでオプションを使用し、オプション用にデータを設定する前に有効にされている必要があります。
各ベンダー オプションに割り当てられているサブオプションのリストを確認するには、コマンド vendor-option vendor-option-name listsuboptiovns を発行します。このコマンドを使用すると、サブオプションのデータ型と値を参照できます。この出力では文字列型で、値は start_url です。
nrcmd> vendor-option dct5000_80 listsuboptiovns 100 OK start_url(2) : string nrcmd> vendor-option dct5000_81 listsuboptions 100 OK start_url(2) : string
ベンダー固有情報オプション(オプション 43)で正しい値がエンド クライアントに返されているかどうかを確認するには、CNR で拡張デバッグをアクティブにして、クライアントへの DHCP 応答に含まれる DHCP オプションの内容を表示することができます。CNR で拡張デバッグをオンにする詳細については、「Cisco Network Registrar のデバッグを使用したケーブル ネットワークにおける DHCP 問題のトラブルシューティング」を参照してください。