Een set-top box in een DOCSIS-kabelfabriek (Data-over-Cable Service Interface Specifications) is een speciaal geval van een kabelmodem (CM). Het set-top vak gebruikt dezelfde procedures om online te komen en netwerkconnectiviteit te ontvangen. Een set-top box heeft echter doorgaans extra niveaus van functionaliteit die de standaard CM's niet hebben, zoals televisiediensten, pay-per view en een elektronische programmagids.
Om deze reden kan een set-top box vereisen dat het voorzieningssysteem het van extra informatie voorziet om het te helpen de extra functionaliteit te initialiseren of te configureren.
In dit document wordt het voorbeeld van een set-top box van Motorola DCT5000 beschreven. Wanneer dit apparaat een DHCP-lease van het provisioningsysteem verkrijgt, moet deze ook van een URL worden voorzien die als startpagina voor het apparaat fungeert. Anders gebruikt dit specifieke type set-top box niet correct alle niveaus van functionaliteit.
N.B.: Gebruik dit document niet als referentie voor het leveren van een set-top box van Motorola DCT5000. Raadpleeg de Motorola-documentatie als de officiële referentie.
In dit document is het gebruikte DHCP-serversysteem Cisco Network Registrar (CNR) versie 5.0.6. Het is mogelijk om eerdere CNR-releases te gebruiken maar het proces is anders. U dient de informatie in ASCII-indeling in te voeren, wat een tijdrovende en complexe procedure kan zijn.
N.B.: U wordt aangeraden het in dit document beschreven proces te gebruiken in plaats van de waarde voor optie 43 handmatig te definiëren, zoals in eerdere versies van CNR wordt weergegeven.
Er zijn geen specifieke vereisten van toepassing op dit document.
De informatie in dit document is gebaseerd op CNR versie 5.06.
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u de potentiële impact van elke opdracht begrijpen.
Identifier van de leverancierklasse (optie 60) kan door DHCP-clients worden gebruikt om de verkoper en functionaliteit van een DHCP-client te identificeren. De informatie is een variabele lengte reeks tekens of octetten met een betekenis die door de verkoper van de DHCP-client is gespecificeerd.
Eén methode die een DHCP-client kan communiceren dat ze een bepaald type hardware of firmware gebruikt, is om een waarde in te stellen in haar DHCP-verzoeken, de VCI (Vendor Class Identifier) (optie 60). Op DOCSIS 1.0 gebaseerde CM's moeten bijvoorbeeld de waarde van deze DHCP-optie op de string docsis 1.0 instellen, terwijl op DOCSIS 1.1 gebaseerde CM's deze waarde op docsis 1.1 instellen. Deze methode heeft een DHCP-serververschil tussen de twee soorten CM's en verwerkt de verzoeken van de twee typen modems correct.
Sommige typen set-top boxen stellen ook de VCI (optie 60) in om de DHCP-server te informeren over het hardwaretype en de functionaliteit van het apparaat. De waarde die deze optie wordt ingesteld om de DHCP-server een hint te geven over alle benodigde extra informatie die deze client in een DHCP-respons nodig heeft.
Code | Len | Identificatiecode van leverancierklasse | ||
---|---|---|---|---|
60 | n | i1 | i2 | ............. |
Opmerking: Optie 60 is gedefinieerd in RFC 2132 .
De meest voorkomende optie die set-top boxen verwachten dat er nog meer verkoper-specifieke informatie, gebaseerd op de verzonden VCI wordt teruggegeven, is via een DHCP-optie genaamd de Vendor Specific Information Option (optie 43). Het formaat voor deze optie is gedefinieerd in RFC 2132 . De definitie van de door deze optie geretourneerde waarden wordt echter door de betrokken verkoper gespecificeerd.
Volgens paragraaf 8.4 van RFC 2132 is deze optie doorgaans geformatteerd in een type-, lengte-, waarde- (TLV) - stijl, waarbij verschillende informatie kan worden weergegeven door verschillende suboptietypen. De betekenis van het waardenveld wordt gedefinieerd door de fabrikant van het eindapparaat.
Code | Len | Gegevenspost | Code | Len | Gegevenspost | ||||
---|---|---|---|---|---|---|---|---|---|
T1 | n | d1 | d2 | ......... | T2 | n | D1 | D2 | ......... |
Wanneer een set-top box van Motorola DCT5000 een DHCP-verzoek verstuurt, stelt deze de VCI (optie 60) in op een waarde dct5000.008X. De X kan een hexadecimaal cijfer van 0 tot F zijn, afhankelijk van de mogelijkheden van het set-top vak. CNR gebruikt deze informatie om te bepalen dat een DHCP-client inderdaad een DCT5000 set-top box is.
Wanneer CNR erkent dat een DHCP-verzoek van een DCT5000 afkomstig is, moet CNR een start-URL in de reactie van DHCP teruggeven om een Motorola DCT5000 correct te initialiseren. Motorola heeft besloten dat deze start-URL moet worden verstuurd als suboptie type 2 in de leverancierspecifieke informatieoptie (optie 43).
Code | Len | Gegevenspost |
---|---|---|
2 | 61 | http://172.16.1.10/dtv/app/servicemanager/servicemanager.html |
De eerste stap die binnen CNR moet worden gezet, is om CNR te informeren over de VCI's die door het set-top vak worden gebruikt. Dit wordt bereikt door de cmd-opdracht uit te geven in het CNR-opdrachtregel: verkoper-optie <verkoper-optie-name>maak <leverancierklasse-identificator>.
Opmerking: Deze configuratie kan alleen worden uitgevoerd met behulp van de cmd-opdracht. Het is niet mogelijk de GUI interface voor deze opdrachten te gebruiken.
Wanneer:
verkoper-optie-naam — de identificatiecode die het type cliënt vertegenwoordigt dat de VCI verstuurt.
Identificatiecode van de leverancierklasse — De waarde die de Optie van de Verkopers Informatie (Optie 60) aan een bepaald type apparaat wordt ingesteld.
Opmerking: Het veld van de verkoper-optie-naam in de opdracht moet in alle kleine gevallen worden gespecificeerd. Als hoofdletters worden gebruikt, worden ze naar kleine letters geconverteerd. Het veld leverancierklasse-herkenningsteken kan hoofdletters en kleine letters hebben.
In het geval van DCT5000 set-top boxen zijn dit de gedefinieerde verkoopopties die de verschillende soorten DCT5000s weergeven:
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
Als in de toekomst andere typen set-top boxen in uw netwerk worden ingezet, en als deze set-top boxen verschillende VCI's gebruiken, dan kunnen deze later worden gedefinieerd.
Op dit moment is er geen oplossing in CNR om deze verschillende VCI's in één rubriek samen te voegen. CNR behandelt ze als volledig afzonderlijke entiteiten.
De volgende stap is het definiëren van suboptie type 2 als een geldig type voor elk van deze VCI's.
Suboptietypen worden gecreëerd door de standaard-opdracht, leverancieroptie<verkoper-optie-naam>optie-naam <suboptie-naam><suboptie-type-nummer> <optie-data-type> te gebruiken.
Wanneer:
verkoper-optie-naam — de identificator die is gekozen om het clienttype te vertegenwoordigen.
suboptie-naam —de naam van de suboptie die wordt aangemaakt. Dit moet representatief zijn voor de functie van de suboptie.
suboptie-type-nummer-het suboptie-type nummer voor deze suboptie.
optie-data-type —het datatype dat deze suboptie gebruikt. Bijvoorbeeld IPADDR, STRING, BYTE_ARRAY. Andere typen kunnen worden gezien met behulp van de cmd-opdracht, de optie-datatype-lijst.
Opmerking: het veld onder deze opdracht moet in alle kleine gevallen zijn opgegeven voor de-naam van de optie-optie. Als hoofdletters worden gebruikt, worden ze naar kleine letters geconverteerd. Het veld optie-gegevens heeft hoofdletters en kleine letters.
Dit voorbeeld, moet u suboptie type nummer 2 voor het begin van URL definiëren. Aangezien de URL een tekststring is, geef de type STRING opdracht op als optie-data-type.
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
Als extra functionaliteit in de toekomst in het set-top vak wordt gedefinieerd en andere subopties moeten worden gedefinieerd, dan kunnen deze in een later stadium op dezelfde manier worden gespecificeerd.
De laatste stap in het proces is de gedefinieerde verkoper-optie te koppelen aan een beleid, en de waarden te specificeren die individuele subopties moeten nemen. Dit wordt uitgevoerd met de opdracht cmd, beleid <beleidsnaam>optie-optie<verkoper-optie-name><suboptie-name> <suboptie-waarde>.
Wanneer:
beleidsnaam — De naam van het beleid van DHCP waarvan de set-top boxen opties ontvangen. Dit is eerder ingesteld.
verkoper-optie-naam — de identificator die is gekozen om het clienttype te vertegenwoordigen.
suboptie-naam — De naam van de suboptie.
suboptie-waarde — De waarde gegeven aan de suboptie in DHCP-responsen. Dit dient te worden ingevoerd zoals in het optiestandtype dat bij het definiëren van de suboptie is gespecificeerd.
Opmerking: de velden onder de naam sub-optie-velden zijn hoofdlettergevoelig. Het is belangrijk om ervoor te zorgen dat deze velden in alle kleine gevallen worden gespecificeerd. Het veld waarde voor de suboptie kan in het bovenste of onderste geval worden gespecificeerd. Het veld suboptie-waarde is alleen hoofdlettergevoelig als de client die de suboptie ontvangt, deze hoofdlettergevoelig moet zijn.
Ga er bij dit voorbeeld van uit dat er een beleid voor set-top Boxes is gecreëerd en STB_policy wordt genoemd. Specificeer ook een start-URL voor elk van deze typen Settopboxen als http://172.16.1.10/dtv/app/servicemanager/servicemanager.htmlhttp://www.lookuptables.com/.
Dit wordt uitgevoerd met deze nrcmd-opdrachten:
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
Indien andere suboptietypen van VCI's worden gespecificeerd, kunnen zij op dezelfde wijze worden geassocieerd met beleid en toegewezen waarden.
In deze fase worden de configuratiewijzigingen opgeslagen en kan de DHCP-server opnieuw geladen worden om de wijzigingen toe te passen. U kunt deze opdracht uitvoeren door een standaardfout uit te voeren met deze opdrachten: dhcp opslaan en opnieuw laden.
In eerdere versies van CNR was de functionaliteit van de vooraf verstrekte specifieke informatie niet beschikbaar. In plaats daarvan moest de leverancierspecifieke optie (optie 43) handmatig in een beleid worden ingesteld. Dit kan niet worden gedaan in CNR 5.0. Als een waarde in optie 43 moet worden ontvangen, moet u de verkoper-optie en de beleidsinstellingenoptie van opdrachten uitgeven.
In CNR-versies vóór 5.0 geeft u het opdrachtbeleid <beleidsnaam>-naam>-setoptie, door verkoper ingekapselde optie <waarde-byte-array> uit om een waarde voor de leverancierspecifieke informatieoptie te configureren.
Wanneer:
beleidsnaam — De naam van het beleid van DHCP waaruit de Settopboxen opties ontvangen. Dit is eerder ingesteld.
value-byte-array— de waarde genomen door de hele teruggegeven Vendor Specific Information optie (optie 43) gespecificeerd als een array met hexadecimale bytes.
Aangezien de waarde in de Vendor Specific Information Option (optie 43) is opgenomen in een reeks hexadecimale bytes en aangezien er geen subtype-definities zijn aangebracht, moet het gehele vereiste veld in de juiste ASCII-codes worden gedecodeerd.
Met behulp van een tekst naar ASCII hex-conversietabel, zoals de tekst op http://www.lookuptables.com/ , kunt u de URL, http://172.16.1.10/dtv/app/servicemanager/servicemanager.html, naar gelijkwaardige hexadecimale waarden converteren.
Deze URL wordt deze waarde:
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
Om de leverancierspecifieke informatie optie (optie 43) goed te kunnen bewerken, moet u de velden type en lengte aan het begin van deze array toevoegen.
Code | Len | Gegevenspost |
---|---|---|
2 | 61 | http://172.16.1.10/dtv/app/servicemanager/servicemanager.html |
Code | Len | Gegevenspost |
---|---|---|
02 | 3d | 16:74:74:70:3a:2f:31:37:32:23:31:36:21:31:23:30:24:64:74 76:20:61:70:70:27:73:65:76:69:65:65:61:61:67:65:72:22 73:65:72:76:69:63:65:61:61:67:65:72:20:68:74:60:60 |
Zoals in deze tabel te zien is, moet het hexadecimale bytes 61:3d worden toegevoegd aan het hexadecimale string dat de start-URL weergeeft. U kunt de gehele waarde voor de optie Verkopers Specifieke Informatie (optie 43) instellen door deze standaard opdracht uit te geven:
beleidsoptie STB_policy voor verkoper van ingekapselde opties
02:38:74:74:70:3a:2f:31:37:32:23:31:36:23:31:23:30:30:24:74:76:20:70 0:73:65:72:76:69:63:65:61
6.61:67:65:72:27:73:65:72 76:69:63:65:61:61:67:65:72:20:68:74:60:66
Opmerking: deze opdracht wordt op één regel uitgevoerd.
Om te verifiëren dat de configuratieopdrachten goed zijn ingevoerd, kunt u cmd-opdrachten uitgeven.
De eerste opdracht is een lijst met verkoopopties. Zoals in deze output te zien is, biedt de output van deze opdracht een lijst van de verkoper opties, die de verkoper-optie-naam, de verkoper-klasse-id en de verkoper-optie-optie read_only geven.
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
Opmerking: de alleen-lezen optie van de verkoper is standaard uitgeschakeld. Als u dit wilt inschakelen, geeft u de naam van de verkoper-optie uit om alleen-lezen opdracht mogelijk te maken. De alleen-lezen optie van de verkoper-specifieke DHCP-optie zou ingeschakeld moeten zijn voordat u de optie in een opdracht beleidsnaam setVendorOption gebruikt om de gegevens voor de optie in te stellen.
Om de lijst van onderopties te verifiëren die aan elke verkoper optie worden gegeven, geef de commando verkoper-optie-optie-naam-keuzemogelijkheden uit. Met deze opdracht kunt u het type suboptie en de waarde zien. In deze output is het string type en de waarde is 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
Om te verifiëren dat de correcte waarden voor de leverancierspecifieke optie van Informatie (optie 43) aan eindcliënten worden teruggegeven, is het mogelijk om uitgebreide foutopstelling in CNR te activeren om de inhoud van DHCP-opties in DHCP-antwoorden op klanten te bekijken. Raadpleeg DHCP-problemen bij probleemoplossing in kabelnetwerken met behulp van Cisco Network Registrar Debugs voor meer informatie over het inschakelen van uitgebreide debugging in CNR.