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) 자동화 시스템입니다.