OVSDB(OVS Database)의 개념, 등장배경 및 목적, 역할, 활용 계층, 구성요소, 동작 순서, 종류, 장단점, 전망 및 개선점, 어린이 버전 요약에 대해 설명하시오.
OVSDB (Open vSwitch Database)는 Open vSwitch(OVS)에서 사용하는 구성 관리용 데이터베이스 프로토콜로, OVS의 설정 및 상태 정보를 관리하기 위해 설계된 경량의 JSON-RPC 기반 데이터베이스 프로토콜이다.
OVSDB는 네트워크 스위치의 상태를 동적으로 읽고 쓰기 위한 통신 수단이며, OpenFlow와 함께 소프트웨어 정의 네트워킹(SDN, Software Defined Networking) 구현에 핵심 역할을 한다.
등장배경
기존의 네트워크 장비는 폐쇄적인 설정 방식(CLI 등)에 의존하였고, 자동화·중앙관리·프로그래머블한 제어가 어려웠다.
SDN의 등장으로 네트워크 장치를 프로그램적으로 제어할 필요가 생겼고, 이를 위해 OVS에서 동적인 구성 설정을 지원하는 OVSDB 프로토콜이 필요해졌다.
목적
역할 | 설명 |
---|---|
설정 관리 | OVS의 포트, 브리지, 인터페이스, 미러링 등의 구성을 읽고 쓰기 |
상태 조회 | 현재 동작 중인 OVS 인스턴스의 상태를 확인 |
외부 연동 | OpenDaylight, ONOS 같은 SDN 컨트롤러와 통신 |
동기화 기능 | 변경된 설정을 다수의 컨트롤러와 동기화 |
이벤트 기반 처리 | 변경사항을 자동으로 감지하여 이벤트 처리 가능 |
계층/범위 | 내용 |
---|---|
데이터플레인 제어 | OVS의 동작 파라미터를 설정하여 패킷 흐름을 조정 |
제어플레인 연동 | OpenFlow 컨트롤러가 OVSDB를 통해 장치 제어 |
클라우드 네트워크 | OpenStack Neutron에서 OVSDB를 통해 가상 스위치 구성 |
SDN/NFV 플랫폼 | 컨테이너, 가상머신 기반 네트워크 자동화 구현 |
네트워크 가상화 | VXLAN, GRE 터널, QoS 설정 등에 사용 |
구성요소 | 설명 |
---|---|
OVSDB 서버 (ovsdb-server) | OVS 인스턴스 내의 구성 정보를 관리하는 DB 서버 |
OVSDB 프로토콜 | JSON-RPC 기반의 통신 프로토콜 |
Database Schema | ovs-vswitchd.conf.db 등 OVS 구성에 대한 스키마 파일 |
JSON 메시지 | Insert, Delete, Update, Select 등 CRUD 작업용 |
클라이언트 도구 | ovs-vsctl , ovsdb-client , SDN 컨트롤러 등 |
ovs-vswitchd
가 DB 변경 사항을 반영하여 실제 동작을 변경 구분 | 설명 |
---|---|
ovs-vswitchd.conf.db | 주요 OVS 구성 요소를 정의하는 스키마 |
Open_vSwitch 테이블 | 브리지, 포트, 인터페이스 등 주요 테이블 |
Controller 테이블 | 연결된 SDN 컨트롤러 정보 |
QoS, Queue 테이블 | 품질 보장 기능 설정 |
Mirror 테이블 | 트래픽 미러링 구성 |
OVSDB는 컴퓨터 네트워크 스위치의 비서 같은 존재야.
네트워크를 어떻게 연결할지, 어떤 길로 보낼지 기록하고, 명령을 전달해줘.
똑똑한 컴퓨터(컨트롤러)가 스위치에게 “이렇게 해!” 하고 말하면, OVSDB가 그 말들을 기록하고 스위치한테 알려주는 거지.
쉽게 말해, 네트워크가 꼬이지 않게 잘 정리해주는 ‘메모장’ 역할을 하는 거야!