TR-069 (CWMP)

TR-069 개요

  • TR-069(Technical Report 069 의 약자)는 DSL 포럼 (이후 Broadband 포럼으로 변경)의 기술 명세서이다.
  • 이 문서의 정식 명칭은 CPE WAN Management Protocol (CWMP)이다.
  • 이 문서는 CPE(말단 사용자 장치)를 관리하기 위한 Application Layer Protocol(사용자 계층 프로토콜)을 정의하고 있다.
  • TR-069는 2004년 5월에 작성되었고 2006,2007,2010,2011년 개정되었음 (2011년 7월 version 1.3)

TR-069 배경

  • 브로드밴드 시장이 활성화 되면서 여러개의 다른 종류의 인터넷 접속 또한 많이 생겨났고, 이러한 장비(모뎀, 라우터, 게이트웨이, 세트톱박스, VoIP-phone 등)들을 설정하는 것은 더욱 복잡해졌다.
  • 말단 사용자에게는 이러한 설정이 더욱 어려운데 이러한 이유로 TR-069 표준이 개발되었다.
  • TR-069 표준은 여러가지 접속 방법에 대한 자동 설정을 제공한다.
  • TR-069는 DSL broadband 시장에서 터미널을 활성화하기 위해 현재 사용중인 표준이다.

TR-069를 사용하는 다른 포럼

  • the Home Gateway Initiative (HGI)
  • Digital Video Broadcasting (DVB)
  • WiMAX Forum 은 네트워크 장비와 터미널(DVB IPTV 셋톱박스 같은) 관리용으로 CWMP를 사용함. 홈네트워크 장치(IPTV, FTTH CPE/ONT, WIMAX CPE)등을 위해 TR-069 기능을 점차 사용함.

TR-069 용어

  • CPE : Customer-Premises Equipment, 말단 사용자 장치
  • ACS : Auto Configuration Servers, 자동 설정 서버
  • CWMP : CPE WAN Management Protocol

TR-069 기술사항

  • TR-069 프로토콜을 이용해서 CPE들은 ACS에 접속하고 필요한 설정을 자동으로 받아오게 된다.
  • TR-069 프로토콜은 양방향 SOAP/HTTP 을 기반으로 CPE와 ACS간 통신을 가능하게 한다.
  • 또한 안전한 자동 설정 기능을 제공하며 통합 환경 내에서 다른 CPE 관리 함수를 제어하고 동작시킬 수 있도록 해준다.
  • 이렇게 함으로써 사용자가 따로 설정하지 않아도 필요한 서비스를 사용하는 것이 가능해진다.
    사용자 삽입 이미지

장치와 ACS 간 통신

  • CWMP는 텍스트 기반의 프로토콜임 : HTTP 또는 HTTPS로 전송
  • CPE는 클라이언트, ACS는 서버임 : 프로비저닝 세션은 CPE가 수행함.

프로비저닝 세션

1단계

  • 프로비저닝 세션은 CPE가 Inform 메시지를 전송하면서 시작됨
  • ACS는 InformResponse를 하여 세션이 초기화됨.
  • holdRequests 플래그에 따라 다음 절차에 들어감
  • true : ACS가 먼저 요청(?)함.
  • false : CPE의 요청에 의해 초기화 단계로 들어감.

2단계 (holdRequest가 false 일때)

  • CPE가 ACS에 어떤 method를 요청함.
  • ACS에 비어있는 HTTP-request를 요청하면 끝남

3단계

  • CPE의 HTTP-response에는 ACS로부터의 CWMP-request가 담겨있다.
  • CPE의 HTTP-request에는 CWMP-response를 담아서 보낸다.
  • 비어있는 HTTP-response를 보내면 끝남.

보안 및 인증

  • 방법 : HTTPS를 사용, ACS 인증
  • CPE인증의 어려움 : password가 HTTP로 전송됨, 최초 password는 공장초기값임.

연결 요청

  • 프로비저닝 세션의 초기화 및 제어는 CPE가 수행하므로, ACS가 CPE를 통해 세션을 시작하는 방법이 필요함.
  • CPE는 HTTP 서버 역할을 해야 함.
  • CPE로의 DDos공격을 방지하기 위해 URL을 협상하여야 함.
  • ACS는 협상한 URL을 사용하여 CPE로 인증함
  • 인증후 30초 이내에 세션이 열려야 함.

NAT 통과

Data model

  • 대부분의 설정 및 진단은 device parameter를 주고 받음으로 이루어짐.
  • BB포럼 : 2가지 포멧의 data model 제정
  • http://www.broadband-forum.org/cwmp.php
  • 사용하는 Data model은 표기되어야 함
  • Device:1.0 and InternetGatewayDevice:1.1 –> Device.DeviceSummary 또는 InternetGatewayDevice.DeviceSummary 에 표기됨
  • 위의 값이 없으면 InternetGatewayDevice:1.0 이라고 판단함.
  • Device:1.4 and InternetGatewayDevice:1.6 –>’.SupportedDatamode 필드가 추가됨
  • 배열
  • writable / read-only
  • writable 이면 AddObject, DeleteObject 할 수 있음.

주요 메시지

  • GetParameterNames (GPN) : 장치에서 지원하는 매개 변수 키 목록을 검색
  • GetParameterValues (GPV) : 키에 의해 식별 된 매개 변수의 현재 값을 검색. 한번에 한개 또는 여러개 검색 가능.
  • SetParameterValues (SPV) : 하나 또는 여러 개의 매개 변수의 값을 설정
  • GetParameterAttributes (GPA) : 하나의 속성 또는 여러 개의 매개 변수를 가져옴
  • SetParameterAttributes (SPA) : 하나의 속성 또는 여러 개의 매개 변수를 설정
  • 다운로드 : CPE가 지정된 URL을 통해 파일을 다운로드 하고, 파일 종류에 따라 이를 사용함 (펌웨어 이미자, 설정 파일, 벨소리 파일 등)
  • 업로드 : CPE가 지정된 위치에 파일을 업로드한다. 현재 설정, 로그 파일 등..
  • AddObject (ADD) : 배열에 인스턴스를 추가
  • DeleteObject (DEL) : 배열에서 인스턴스를 제거

다른 작업들

  • 서비스 활성화 및 재구성
  • 손대지 않거나 원터치로 서비스를 위한 설정
  • 서비스 회복 (예 : 장치가 공장 초기화, 교환 후)
  • 원격 가입자 지원
  • 장치 상태 및 기능에 대한 검증
  • 수동 재구성
  • 펌웨어 및 구성 관리
  • 펌웨어의 업그레이드 / 다운 그레이드
  • 구성의 백업 / 복원
  • 진단 및 모니터링
  • 처리량 (TR-143) 및 연결 진단 : http://www.broadband-forum.org/technical/download/TR-143.pdf 참조
  • 매개 변수 값 검색
  • 파일 검색 로그

오픈소스

OpenACS

libtringle

Open-tr069

jCWMPServer

FreeCWMP

modus-tr-069

기타

출처

CC BY-NC-ND 2.0 KR

이 저작물은 크리에이티브 커먼즈 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용할 수 있습니다. 크리에이티브 커먼즈 라이선스

저작권과 관련된 파일요청 및 작업요청을 받지 않습니다.

2 댓글

    • kimstar 글쓴이응답

      CnW 할때 쓴 글인가보네.. 나도 오랜만에 보니 감회가 새롭네. 다들 잘 지내고 있는지 궁금하구먼. ㅎㅎ.

댓글 남기기