본문 바로가기
네트워크/컴퓨터 네트워크 수업

5-2-(1) Network management - SNMP, YANG/NETCONF

by dustnn 2024. 12. 6.

5-1. Traditional routing algorithms(per-router control)

(1) Routing algorithm classification

- Link state routing algorithm: Dijkstra's algorithm(OSPF)

- Distance vector algorithm: Bellman-Ford algorithm

- Hierarchical routing(BGP)

(2) Routing protocols

- RIP, OSPF/BGP

 

5-2. SDN controllers(logically centralized control)

ㄴ OpenFlow, ODL, ONOS controllers

(1) Network management, configuration

- Internet Control Message Protocol(ICMP)

- Network management protocol(SNMP, YANG/NETCONF)


 

"왜 network를 manage해야 하는가?"

 

: autonomous systems(network)는 100개 이상의 hw/sw로 구성되어 있음

=> 따라서 monitoring, configuration, control해야 함. 이에 참고될 프로토콜이 필요함..

 

Network management protocol

 

- hw/sw의 deployment, integration, coordination을 담당

- 네트워크와 구성요소들을 monitor, test, poll, configure, analyze, evaluate, control

- 실시간으로 좋은 performance의, 질 높은 요구사항(Quality of Service)을 합리적인 가격에 충족할 수 있게 하기 위해서

- ex. Simple Network Management Protocol(SNMP)

 

- Managing server: network managers

- Managed device: manageable하고 configurable한 hw/sw component들로 구성됨

- Network management protocol: server의 database와 client들의 database가 소통할 때에 사용되는 프로토콜

- Data: managed device에 담기는 정보들(device의 상태 정보, configuration data, operational data, device statistics)

* agent가 management server와 통신 

 

Network operator approaches to management

 

CLI(Command Line Interface)

operator가 type 또는 script로 개인의 기기에 직접 실행시킴(vis, ssh)

 

SNMP/MIB

operator가 SNMP를 사용해 device의 data(MIB)를 query해서 상태 알아오거나 configuration set함

 

<"SNMPv2" protocol>: device의 활동에 한정된 프로토콜<->NETCONF

- port# 161, 162

- UDP segment에 SNMP msg가 쌓여 전달됨

* control msg: server->device 

* information msg: device->server

- 두 가지 모드로 msg 주고받기 가능

* request/response 모드(port#161): server가 먼저 request

* trap 모드(port#162): device측에서 먼저 device-specific 이슈 있다는 trap msg 전달

**management info data의 이름은 "MIB"

**MIB에 저장된 language의 이름은 "SMI"

 

 

NETCONF/YANG

좀 더 abstract하게, 하지만 configuration aspect들 사이에 충돌이 없도록 모델링해놓음

network 전체에 configuration 적용될 수 있도록 함

 

- YANG: NETCONF에서 사용될 data들을 모델링하는 데 사용되는 language

- NETCONF: YANG-compatible한 action/data를 remote device와 주고받는 역할

 

<NETCONF>: 네트워크 전체 상황을 고려하여 action<->SNMP

- 좀 더 active하게 device들을 manage 및 configure하는 게 목적

- SNMP 의 한계 보완

- server와 device 사이

* NETCONF의 action: configuration을 retrieve, set, modify, activate

* 다수의 device에서 atomic-commit action(하나의 명령으로 sequece of operation 수행하는 action)

* managed device의 operational data와 statistics를 query

* device에게 어떤 일이 있을 때 server로부터 notification 받을 수 있도록 server를 subscribe

- remote procedure call(RPC) 패러다임: local하지 않은, remote한 함수 호출

* NETCONF 프로토콜 msg는 XML로 encode됨

* TLS(secure, reliable한 transport protocol)에 encapsulate되어 교환됨

 

<YANG>

- NETCONF network의 management data(structure, syntax, semantics)를 구체화

* SMI와 같은 built-in data type 사용

- YANG description을 보고 XML document가 자동으로 생성

- NETCONF configuration 간 constraint 이미 정의해놨고, configuration 간 충돌이 없도록 설계해놓음