# TR-069

Le protocole TR-069 (Technical Report ou CWMP pour « CPE WAN Management Protocol »), est un protocole défini pour gérer la communication entre un équipement terminal du réseau local du client et un serveur d’autoconfiguration associé dans un même réseau appartenant à l'opérateur. Il offre à l’utilisateur un ensemble de services d’administration, de contrôle et de diagnostic tout en évitant les problèmes liés aux diversités matérielles et logicielles. Les spécifications sont régulièrement publiées sur le site officiel du BroadBand Forum.

## Historique

La spécification technique de ce protocole est effectuée par le Broadband Forum, anciennement connu sous le nom de DSL Forum, un consortium composé d’environ 200 compagnies spécialisées dans le secteur des communications et des technologies d’informations. Fondé en 1994, DSL FORUM est l’organisme responsable de la spécification des normes utilisées par les sociétés ciblant le marché du haut débit. Son objectif principal était la rédaction de nouveaux standards touchant aux produits DSL (Digital Subscriber Line), notamment l'ADSL, le SHDSL, le VDSL, l'ADSL2+ et le VDSL2.

## Raisons du choix

Le protocole TR-069 permet l’administration des périphériques clients dans un LAN (réseau local) depuis le WAN (réseau étendu). La question logique qui se pose est : pourquoi introduit-on un tel protocole alors qu’on dispose d’autres protocoles d’administration tels que SNMP ? Bien que SNMP soit une technologie efficace et répandue, chaque société implémente sa propre MIB (Management Information Base) ; de plus SNMP connaît un ensemble de failles de sécurité. Par ailleurs, les protocoles d'administration actuels ne disposent pas de fonctionnalités suffisamment avancées pour exécuter des procédures locales au client. Ce mécanisme est très utile, notamment pour la réalisation des diagnostics et la mise à jour du firmware. Ainsi, TR-069 a été créé pour couvrir les fonctionnalités de SNMP et des protocoles d'administration classiques tout en répondant aux exigences de sécurité, d’extensibilité et d’indépendance vis-à-vis du fabricant.

## Identification des CPE

Pour gérer l'identification des CPE, TR-069 s'appuie sur 3 valeurs :
* le Manufacturer (le fabricant).
* le Product Class (la classe du produit).
* le Serial Number (le numéro de série).

## Fonctionnalités principales

Pour pouvoir gérer correctement un ensemble de CPE, TR-069 met en place un ensemble de fonctionnalités offrant les capacités suivantes :
* L’autoconfiguration des CPE contrôlés.
* La gestion du software.
* La gestion du firmware.
* Le suivi de l’état.
* La surveillance des performances.
* La réalisation des diagnostics.
* La gestion d'appareils « non TR ».

### Auto-configuration

Le protocole de gestion des CPE permet à un ACS (Auto Configuration Server) de surveiller une ou plusieurs entités et offre un mécanisme d’ajout de fonctionnalités propres au vendeur du CPE.
Le système de supervision permet le suivi du CPE dès sa connexion au réseau de diffusion de service (Broad Band Access Network), tout en offrant à l’ACS la possibilité de sa supervision d’une manière asynchrone.
L’extensibilité du protocole permet la supervision des paramètres ajoutés d’une version à une autre, et offre la possibilité de personnalisation au constructeur par ajout de fonctionnalités propres.

### Gestion de software et de firmware

Le protocole TR-069 dispose d’un mécanisme d’identification de version du logiciel installé, d’initiation de téléchargement (l’initiation de téléchargement par le CPE est optionnelle) et de renvoi du résultat de l’opération vers l’ACS d’une manière asynchrone. Les fichiers téléchargés peuvent être des fichiers ordinaires ou des packages composés de fichiers accompagnés des instructions d’installation à exécuter par le CPE.

### Suivi de performance

Le CPE fournit à l’ACS des informations et des statistiques liées non seulement aux paramètres de performances standard définis dans ce protocole, mais aussi à d’autres paramètres spécifiques au vendeur.

### Réalisation de diagnostics

Le protocole de gestion des CPE, permet au CPE d’assembler des informations utiles pour l’ACS pour mener des diagnostics comme ceux liés à la connectivité ou l’état des services.

### Modèles de données associés

Le protocole CWMP (ou TR-069) manipule donc des paramètres qui sont modélisés dans un modèle de données (similaire à une MIB). Les principaux modèles de données sont :
* TR-098 : Modèle de données de l'IGD (protocole Internet Gateway Device (en))
* TR-104 : Modèle de données de la VoIP
* TR-140 : Modèle de données du NAS (disque réseau)
* TR-135 : Modèle de données de la STB
* TR-106 : Template
* TR-157 : Objet commun réutilisable
Les différents paramètres

### Mécanisme de traversée du NAT

Contrairement au protocole SNMP, le TR-069 résout la problématique de traversée de NAT/PAT en IPv4 grâce au mécanisme basé sur le protocole STUN (Simple Traversal of UDP through NATs). Il propose également l'usage d'IGD (Internet Gateway Device Protocol (en)) pour UPnP afin de configurer automatiquement les règles de traduction d'adresses dans un routeur compatible autorisant le changement de règles depuis le LAN (par exemple pour faire fonctionner, mettre à jour ou télécommander les décodeurs audio/vidéo, des NAS multimédia ou d'autres équipements domotiques, connectés à Internet via un routeur NAT prenant en charge l'IGD UPnP).
Toutefois, si la connexion Internet inclut le support natif d'IPv6 et le fournisseur d'accès Internet donne un large bloc d'adresses IPv6 routables, NAT n'est plus nécessaire pour traduire les adresses par un ensemble de règles de routage puisqu'un autre mécanisme d'IPv6 permet l'autoconfiguration d'une adresse IPv6 compatible pour tous les équipements sur le LAN sans demander la négociation et la traduction des ports.