内容

概要

前提条件

要件

使用するコンポーネント

表記法

ベンダー クラス ID（オプション 60）

ベンダー固有情報（オプション 43）DHCP オプション

Motorola DCT5000 セットトップ ボックスの開始ページに応答するための CNR の設定

手動で 5.0 以前の CNR バージョンのベンダー固有オプションを設定する方法

設定の確認

関連情報

概要

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）

ベンダー クラス 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で定義されています 。

ベンダー固有情報（オプション 43）DHCP オプション

セット トップ ボックスで、送信した VCI に基づいて返されるベンダー固有の情報を得るための最も一般的な方法は、ベンダー固有情報オプション（オプション 43）と呼ばれる DHCP オプションを使用することです。 このオプションの形式は、RFC 2132で定義されています 。 ただし、このオプションによって返される値の定義は、関係するベンダーによって指定されています。

RFC 2132のセクション8.4によると、このオプションは通常、type, length, value (TLV)形式でフォーマットされ、異なる情報を異なるサブオプションタイプで表現できます。 値フィールドの意味は、エンド デバイスのメーカーによって定義されます。

コード

長さ

データ項目

コード

長さ

データ項目

T1

n

d1

D2

......

T2

n

D1

D2

......

Motorola DCT5000 セットトップ ボックスの開始ページに応答するための CNR の設定

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 を使用します。

手動で 5.0 以前の CNR バージョンのベンダー固有オプションを設定する方法

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 問題のトラブルシューティング」を参照してください。

関連情報

- RFC 2132

- ケーブル CNR に関する FAQ

- Cisco Network Registrar のデバッグを使用したケーブル ネットワークにおける DHCP 問題のトラブルシューティング

- CNR5.0 での nrcmd コマンドの使用法

- テクニカル サポートとドキュメント – Cisco Systems