13장에서는 WAN과 VPN을 배웠다. 지사와 본사를 연결하는 방법, GRE와 IPsec의 차이, underlay와 overlay 개념까지 정리했다.
이번 장에서는 네트워크 자동화와 컨트롤러 기반 네트워크를 다룬다.
예전 네트워크 운영은 장비에 직접 접속해서 CLI 명령을 입력하는 방식이 중심이었다.
이 방식은 여전히 중요하다. 하지만 장비가 많아지고 설정이 복잡해지면 수작업만으로는 한계가 생긴다.
그래서 등장하는 것이 자동화, API, controller, SDN 같은 개념이다.
CCNA에서는 프로그래밍을 깊게 요구하지는 않지만, REST API, JSON, controller, DNA Center, SDN의 기본 의미는 알아야 한다.
- 왜 자동화가 필요한가
네트워크 장비가 한두 대라면 CLI로 직접 설정해도 큰 문제가 없다.
하지만 스위치 수십 대, 라우터 수십 대, AP 수백 대가 있는 환경을 생각해보자.
모든 장비에 접속해서 VLAN을 만들고, ACL을 넣고, NTP 서버를 설정하고, SNMP 설정을 맞추는 것은 시간이 많이 든다.
더 큰 문제는 실수다.
한 장비에만 오타가 나거나, 한 지점에만 설정이 빠지면 장애로 이어질 수 있다.
자동화는 반복 작업을 줄이고, 설정을 일관되게 적용하고, 상태를 빠르게 수집하기 위해 필요하다.
- 전통적인 CLI 운영
전통적인 운영 방식에서는 엔지니어가 장비에 직접 접속한다.
SSH로 라우터나 스위치에 들어가고, show 명령으로 상태를 확인하고, configuration mode에서 설정을 입력한다.
이 방식의 장점은 직접적이고 이해하기 쉽다는 점이다.
장비에서 실제로 어떤 명령이 들어가는지 바로 볼 수 있다.
하지만 단점도 명확하다.
장비가 많아질수록 반복 작업이 늘어난다.
사람이 입력하므로 오타나 누락이 생길 수 있다.
현재 상태를 전체 네트워크 관점에서 보기 어렵다.
- Controller 기반 운영
Controller 기반 운영에서는 장비 하나하나가 아니라 중앙 controller를 통해 네트워크를 관리한다.
운영자는 controller에 정책을 넣는다.
controller는 그 정책을 여러 장비에 적용한다.
예를 들어 “이 지점의 access switch에는 VLAN 10과 VLAN 20을 만들고, 사용자 포트에는 PortFast와 BPDU Guard를 켜라” 같은 정책을 controller가 일괄 적용할 수 있다.
이 방식은 장비별 설정 중심에서 정책 중심 운영으로 바뀌는 것이다.
- DNA Center
Cisco DNA Center는 Cisco의 enterprise network controller 플랫폼이다.
현재는 Cisco Catalyst Center라는 이름도 사용된다.
CCNA에서는 이름이 무엇인지보다 역할을 이해하는 것이 중요하다.
DNA Center는 네트워크 장비를 중앙에서 관리하고, 자동화하고, 모니터링하고, 정책을 적용하는 controller 역할을 한다.
예를 들어 다음과 같은 일을 할 수 있다.
장비 discovery
장비 inventory 관리
설정 template 적용
소프트웨어 이미지 관리
네트워크 상태 모니터링
정책 기반 운영
- API
API는 Application Programming Interface의 약자다.
쉽게 말하면 시스템과 시스템이 정해진 방식으로 대화하기 위한 인터페이스다.
사람이 웹 화면에서 버튼을 누를 수도 있지만, 프로그램이 API를 호출해서 같은 작업을 할 수도 있다.
네트워크 자동화에서 API는 매우 중요하다.
자동화 스크립트는 controller나 장비의 API에 요청을 보내고, 응답을 받아 처리한다.
- REST API
REST API는 웹 기반 API 방식 중 하나다.
HTTP 메서드를 사용해 리소스를 조회하거나 생성하거나 수정하거나 삭제한다.
자주 보는 HTTP 메서드는 다음과 같다.
GET
POST
PUT 또는 PATCH
DELETE
GET은 정보를 조회할 때 사용한다.
POST는 새 리소스를 만들거나 작업을 요청할 때 사용한다.
PUT/PATCH는 기존 리소스를 수정할 때 사용한다.
DELETE는 삭제할 때 사용한다.
예를 들어 자동화 스크립트가 DNA Center에 “장비 목록을 알려줘”라고 요청한다면 GET 요청이 될 수 있다.
- JSON
JSON은 JavaScript Object Notation의 약자다.
데이터를 표현하는 형식이다.
REST API에서 요청과 응답 데이터 형식으로 JSON을 자주 사용한다.
예시는 다음과 같다.
json { “hostname”: “SW1”, “site”: “Seoul”, “role”: “access” }
JSON은 key-value 구조로 되어 있다.
hostname, site, role이 key이고, SW1, Seoul, access가 value다.
CCNA에서는 JSON 문법을 깊게 작성하기보다, JSON이 구조화된 데이터 표현 방식이라는 점을 알아두면 된다.
- Data Model
자동화에서는 장비 설정이나 상태 정보를 구조화된 데이터로 표현한다.
이때 data model이라는 개념이 나온다.
Data model은 어떤 데이터가 어떤 구조와 이름으로 표현되는지를 정의한다.
예를 들어 인터페이스 설정을 다룬다면 interface name, description, IP address, admin status 같은 필드가 있을 수 있다.
사람이 CLI 출력 문자열을 읽는 방식보다, 시스템이 구조화된 데이터를 읽는 방식이 자동화에 더 적합하다.
- NETCONF와 RESTCONF
NETCONF와 RESTCONF는 네트워크 장비 설정과 상태 정보를 프로그램 방식으로 다루기 위한 프로토콜이다.
NETCONF는 보통 XML 기반 데이터와 SSH 전송을 사용한다.
RESTCONF는 REST 스타일 API를 사용하고 HTTP/HTTPS와 YANG data model을 활용한다.
CCNA에서는 깊은 설정까지 묻기보다 다음 정도를 구분하면 된다.
NETCONF는 네트워크 장비 설정 관리를 위한 프로토콜이다.
RESTCONF는 REST 방식으로 장비 데이터에 접근하는 프로토콜이다.
Get David Lee’s stories in your inbox
Join Medium for free to get updates from this writer.
Subscribe
Subscribe
Remember me for faster sign in
YANG은 데이터 모델링 언어다.
- SDN
SDN은 Software-Defined Networking의 약자다.
네트워크 제어를 소프트웨어적으로 중앙화하고, 정책 기반으로 운영하려는 접근 방식이다.
전통적인 네트워크 장비는 control plane과 data plane을 같은 장비 안에 가지고 있다.
SDN에서는 control plane을 controller가 담당하고, 장비는 data plane 역할에 집중하는 구조로 설명된다.
- Control Plane
Control plane은 경로를 결정하고 네트워크 동작을 제어하는 영역이다.
라우팅 프로토콜이 경로를 계산하거나, STP가 포트 역할을 정하거나, controller가 정책을 계산하는 것이 control plane에 가깝다.
쉽게 말하면 “어디로 보내야 하는지 결정하는 영역”이다.
- Data Plane
Data plane은 실제 패킷을 전달하는 영역이다.
스위치가 MAC 주소 테이블을 보고 프레임을 전달하거나, 라우터가 FIB를 보고 패킷을 포워딩하는 것이 data plane이다.
쉽게 말하면 “결정된 대로 실제로 보내는 영역”이다.
시험에서는 control plane과 data plane을 구분하는 문제가 자주 나온다.
Control plane은 결정.
Data plane은 전달.
이렇게 기억하면 된다.
- Northbound와 Southbound API
Controller 기반 네트워크에서는 API 방향을 northbound와 southbound로 설명한다.
Northbound API는 controller와 상위 애플리케이션 사이의 인터페이스다.
예를 들어 자동화 시스템이나 운영 포털이 controller에 정책을 요청하는 방향이다.
Southbound API는 controller와 네트워크 장비 사이의 인터페이스다.
controller가 스위치나 라우터에 설정을 적용하거나 상태를 수집하는 방향이다.
CCNA에서는 다음처럼 기억하면 된다.
Northbound는 app과 controller 사이.
Southbound는 controller와 device 사이.
- Intent-Based Networking
Intent-Based Networking, 줄여서 IBN은 운영자가 원하는 의도를 정책으로 표현하고, 시스템이 그 의도를 실제 네트워크 설정으로 바꾸는 접근 방식이다.
예를 들어 운영자가 “직원 단말은 사내 앱에 접근할 수 있고, 게스트 단말은 인터넷만 가능해야 한다”는 의도를 정의한다.
Controller는 이 의도를 바탕으로 VLAN, ACL, 보안 정책, 경로 정책 등을 적용할 수 있다.
즉, 장비별 명령어보다 “원하는 결과”를 중심으로 운영하는 방향이다.
- 자동화에서 자주 보는 도구
CCNA에서 특정 도구 사용법을 깊게 묻지는 않지만, 자동화 문맥에서 자주 나오는 이름은 알아두면 좋다.
Python은 네트워크 자동화 스크립트에 자주 사용된다.
Ansible은 agentless 자동화 도구로 많이 사용된다.
Git은 설정 파일과 자동화 코드의 버전 관리에 사용된다.
Postman은 REST API 테스트에 자주 사용된다.
중요한 것은 도구 이름을 외우는 것보다, 자동화가 반복 작업과 상태 수집을 표준화한다는 점이다.
- 자동화 트러블슈팅 루틴
API나 자동화가 실패하면 다음 순서로 보면 된다.
첫째, 인증 정보를 확인한다.
API token, username/password, certificate가 맞는지 본다.
둘째, URL과 HTTP method를 확인한다.
GET을 해야 하는데 POST를 보내거나, endpoint 경로가 틀리면 실패한다.
셋째, 요청 body 형식을 확인한다.
JSON 문법 오류, 필수 field 누락, 잘못된 data type을 확인한다.
넷째, HTTP status code를 본다.
200번대는 보통 성공이다.
400번대는 클라이언트 요청 문제다.
500번대는 서버 또는 controller 내부 문제다.
다섯째, controller 로그와 장비 상태를 확인한다.
API 요청은 성공했지만 장비 적용이 실패할 수도 있다.
- 시험에서 자주 틀리는 부분
첫째, API와 JSON을 같은 것으로 생각하는 것.
API는 시스템이 대화하는 인터페이스이고, JSON은 데이터를 표현하는 형식이다.
둘째, GET과 POST를 섞는 것.
GET은 조회, POST는 생성이나 작업 요청에 자주 사용된다.
셋째, control plane과 data plane을 섞는 것.
Control plane은 결정하고, data plane은 전달한다.
넷째, northbound와 southbound 방향을 반대로 이해하는 것.
Northbound는 app-controller, southbound는 controller-device 방향이다.
다섯째, 자동화가 CLI 지식을 완전히 대체한다고 생각하는 것.
자동화를 잘하려면 네트워크 기본과 CLI 동작을 이해해야 한다.
- 14장 정리
자동화는 반복 작업을 줄이고 설정 일관성을 높인다.
전통적인 운영은 장비별 CLI 접속 중심이다.
Controller 기반 운영은 중앙 정책과 자동화 중심이다.
DNA Center는 Cisco의 enterprise network controller 역할을 한다.
API는 시스템과 시스템이 대화하기 위한 인터페이스다.
REST API는 HTTP 메서드를 사용한다.
JSON은 구조화된 데이터 표현 형식이다.
NETCONF와 RESTCONF는 네트워크 장비 설정과 상태 정보를 프로그램 방식으로 다루는 프로토콜이다.
YANG은 데이터 모델링 언어다.
SDN은 control plane과 data plane을 분리해 설명할 수 있다.
Control plane은 결정, data plane은 전달이다.
Northbound API는 app과 controller 사이, southbound API는 controller와 device 사이이다.
자동화 문제는 인증, URL, method, JSON body, HTTP status code 순서로 확인한다.
- 다음 장 예고
15장에서는 지금까지의 내용을 종합해서 CCNA 시험 준비 전략을 다룬다. 영역별 복습 순서, 자주 틀리는 개념, 실습을 어떤 순서로 하면 좋은지, 시험 직전 체크리스트까지 정리한다.



댓글 0
댓글은 운영자만 작성할 수 있어요.