1057. NETCONF / YANG 모델링 규격체 - 차세대 네트워크 자동화 SNMP 대체 프로토콜 XML 기반 설정 데이터 모델링 언어 SDN 선언적 인프라

핵심 인사이트: (875, 876번 심화) 전국 스위치 1만 대의 비밀번호를 다 바꿔야 한다. 옛날엔 알바생이 터미널(CLI) 까만 창 띄우고 enable, conf t 타자치며 밤을 새웠다. 자동화를 해보려고 SNMP(관리 프로토콜)를 써봤더니, 얘는 스위치 상태를 읽어오는 데는 고수지만 설정을 쓰는 데(Write)는 멍청한 읽기 전용 장난감이었다. "야! 사람이 직접 타이핑하지 말고 프로그램이 스위치 뱃속으로 파일을 확 쏴버려! 스위치 설정 규칙을 'YANG'이라는 데이터 도면(데이터 모델)으로 예쁘게 짠 다음에, 그 도면을 'NETCONF'라는 우주선(프로토콜)에 실어서 스위치 뱃속으로 쏴버려! 그럼 스위치가 그 도면을 꿀꺽 삼키고 1초 만에 1만 대 세팅이 동기화되잖아!" 지긋지긋한 노가다 타자를 끝장낸 차세대 통신망 자동화 콤비, NETCONF와 YANG이다.

Ⅰ. 기존 CLI 노가다와 SNMP의 한계

  • CLI (명령어 타자): 장비 회사(시스코, 주니퍼)마다 쳐야 하는 명령어가 다 다릅니다. 자동화 스크립트(파이썬)를 짜도 시스코가 OS 버전을 올려서 화면 글자가 살짝 바뀌면 텍스트 스크래핑 봇이 다 터집니다(파싱 실패).
  • SNMP: 네트워크 대역폭이나 온도를 가져오는 모니터링용으로는 최고인데, 보안이 허술하고 수천 줄의 라우팅 테이블(설정값)을 스위치 뱃속에 밀어 넣는 기능(Configuration)이 처참하게 약했습니다.

Ⅱ. 찰떡 콤비의 탄생: NETCONF(탈것) + YANG(화물) 🌟

IETF에서 "기계(Controller)와 기계(Switch)가 서로 설정을 주입하기 위해" 만든 국제 표준 프로토콜 세트입니다.

1. 화물 도면: YANG (데이터 모델링 언어) 🌟 핵심 🌟

"어떻게 명령할 것인가? (What to say)"

  • 개념: 스위치의 IP, 인터페이스, 라우팅 테이블 같은 모든 '설정 데이터들의 구조(트리)'를 엄격하고 정밀하게 정의하는 텍스트 기반의 데이터 모델링(설계도) 언어입니다.
  • 예시: 시스코, 주니퍼 등 전 세계 장비들이 YANG이라는 하나의 통일된 문법(오픈 모델)에 맞춰 설계도를 그려서 제출합니다. "이 스위치의 포트 이름 문자열은 최대 10글자이고, IP 주소는 0~255 사이 숫자만 들어가야 함!"
  • 효과: 이 도면 룰에 어긋나는 설정 파일을 스위치에 밀어 넣으면, 스위치가 튕겨냅니다. 구문 에러를 기계적으로 완벽히 잡아내는(유효성 검사) 프로그래머블 네트워크의 심장입니다.

2. 탈것 우주선: NETCONF (네트워크 설정 프로토콜) 🌟

"어떻게 실어 나를 것인가? (How to carry)"

  • 개념: 위에서 짠 YANG 모델 도면 덩어리를 **XML(HTML처럼 태그로 된 언어) 포장지로 예쁘게 싸서, SSH 암호화 터널을 태워 스위치 뱃속으로 안전하게 꽂아 넣는 배달 프로토콜(우편 배달부)**입니다.
  • 강점:
    • <edit-config> 명령어로 수천 줄의 설정을 **트랜잭션(Transaction)**으로 묶어서 스위치 100대에 확 던집니다.
    • 만약 99대는 성공했는데 1대가 에러 났다? "에잇 롤백(Rollback)!" 치면 100대가 다시 옛날 세팅으로 1초 만에 깔끔하게 되돌아갑니다. (명령어 하나 치고 되돌릴 수 없어 덜덜 떨던 CLI 시절과는 차원이 다름)

Ⅲ. 현대 클라우드의 진화 (RESTCONF)

  • 개발자들의 불만: "NETCONF 좋은데 XML 포장지가 너무 늙고 무겁다. 요즘 우리가 앱 짤 때 쓰는 가벼운 JSON이랑 HTTP(웹 방식)로 스위치 세팅 못 하냐?"
  • RESTCONF의 등장: 화물 도면(YANG)은 그대로 두되, 배달 오토바이를 NETCONF(XML+SSH) 대신 개발자들에게 미치도록 친숙한 HTTP(REST API)와 JSON(가벼운 텍스트) 포장지로 바꿔서 쏘는 현대화된 스위치 제어 방식입니다. (현재 대세 융합 모델)

📢 섹션 요약 비유: 기존의 라우터 설정(CLI 타이핑)은 **'장인 할아버지가 시계공장(라우터)에 가서 나사 하나하나를 손으로 드라이버를 돌려 조립하는 미친 수작업(노가다)'**이었습니다. 손이 미끄러지면 시계가 박살 나고, 시계 회사가 바뀌면 조립법도 다 달랐습니다. YANG과 NETCONF는 이 시계 공장에 **'3D 프린터와 설계도면 USB'**를 도입한 혁명입니다. **YANG(양)**은 공용 캐드(CAD) 프로그램으로 그린 **'완벽한 3D 표준 설계 도면 파일'**입니다. 이 도면엔 나사 크기, 톱니바퀴 위치가 수식으로 완벽히 규격화되어 있어 벤더에 상관없이 다 알아먹습니다. 그리고 이 도면 USB를 공장 3D 프린터의 입구에 쏙 꽂아 넣는 **'안전한 로봇팔(프로토콜)'**이 바로 NETCONF입니다. 할아버지가 드라이버를 돌릴 필요 없이, 중앙 컴퓨터에서 YANG 도면 파일 하나만 10,000대의 스위치에 NETCONF 로봇을 통해 꽂아버리면 1초 만에 모든 장비가 똑같이 찍혀 나오는 궁극의 기계 대 기계(M2M) 자동화 시스템입니다.