OVSDB (Open vSwitch Database Management Protocol)

agnusdei·2025년 4월 8일
0

Network

목록 보기
385/419

❓ 문제

OVSDB(OVS Database)의 개념, 등장배경 및 목적, 역할, 활용 계층, 구성요소, 동작 순서, 종류, 장단점, 전망 및 개선점, 어린이 버전 요약에 대해 설명하시오.


✅ 답안

1. 개념

OVSDB (Open vSwitch Database)Open vSwitch(OVS)에서 사용하는 구성 관리용 데이터베이스 프로토콜로, OVS의 설정 및 상태 정보를 관리하기 위해 설계된 경량의 JSON-RPC 기반 데이터베이스 프로토콜이다.
OVSDB는 네트워크 스위치의 상태를 동적으로 읽고 쓰기 위한 통신 수단이며, OpenFlow와 함께 소프트웨어 정의 네트워킹(SDN, Software Defined Networking) 구현에 핵심 역할을 한다.


2. 등장배경 & 목적

  • 등장배경
    기존의 네트워크 장비는 폐쇄적인 설정 방식(CLI 등)에 의존하였고, 자동화·중앙관리·프로그래머블한 제어가 어려웠다.
    SDN의 등장으로 네트워크 장치를 프로그램적으로 제어할 필요가 생겼고, 이를 위해 OVS에서 동적인 구성 설정을 지원하는 OVSDB 프로토콜이 필요해졌다.

  • 목적

    • Open vSwitch의 구성을 외부에서 관리·조작하기 위한 프로그램 인터페이스 제공
    • 중앙집중형 컨트롤러(SDN Controller)에서 OVS 인스턴스를 제어
    • 네트워크 자동화 및 구성 변경의 정합성 확보
    • 구조화된 데이터 저장 및 동기화 기능 제공

3. 역할

역할설명
설정 관리OVS의 포트, 브리지, 인터페이스, 미러링 등의 구성을 읽고 쓰기
상태 조회현재 동작 중인 OVS 인스턴스의 상태를 확인
외부 연동OpenDaylight, ONOS 같은 SDN 컨트롤러와 통신
동기화 기능변경된 설정을 다수의 컨트롤러와 동기화
이벤트 기반 처리변경사항을 자동으로 감지하여 이벤트 처리 가능

4. 활용 계층 또는 범위

계층/범위내용
데이터플레인 제어OVS의 동작 파라미터를 설정하여 패킷 흐름을 조정
제어플레인 연동OpenFlow 컨트롤러가 OVSDB를 통해 장치 제어
클라우드 네트워크OpenStack Neutron에서 OVSDB를 통해 가상 스위치 구성
SDN/NFV 플랫폼컨테이너, 가상머신 기반 네트워크 자동화 구현
네트워크 가상화VXLAN, GRE 터널, QoS 설정 등에 사용

5. 구성요소

구성요소설명
OVSDB 서버 (ovsdb-server)OVS 인스턴스 내의 구성 정보를 관리하는 DB 서버
OVSDB 프로토콜JSON-RPC 기반의 통신 프로토콜
Database Schemaovs-vswitchd.conf.db 등 OVS 구성에 대한 스키마 파일
JSON 메시지Insert, Delete, Update, Select 등 CRUD 작업용
클라이언트 도구ovs-vsctl, ovsdb-client, SDN 컨트롤러 등

6. 시간순 작동 순서

  1. 초기 연결: SDN Controller는 OVS 인스턴스의 OVSDB 서버에 TCP 연결 수립
  2. 스키마 확인: 클라이언트는 현재 OVSDB의 데이터 스키마를 확인
  3. CRUD 요청: JSON-RPC 메시지를 통해 설정 읽기/쓰기 수행
  4. OVS 반영: ovs-vswitchd가 DB 변경 사항을 반영하여 실제 동작을 변경
  5. 상태 보고: OVSDB는 변경된 상태 정보를 클라이언트에 전달
  6. 모니터링 및 Watch: 클라이언트는 특정 항목에 대해 Watch 설정으로 이벤트 수신 가능

7. 종류

구분설명
ovs-vswitchd.conf.db주요 OVS 구성 요소를 정의하는 스키마
Open_vSwitch 테이블브리지, 포트, 인터페이스 등 주요 테이블
Controller 테이블연결된 SDN 컨트롤러 정보
QoS, Queue 테이블품질 보장 기능 설정
Mirror 테이블트래픽 미러링 구성

8. 장단점

✅ 장점

  • 경량 JSON 포맷으로 가독성 및 파싱 용이
  • 모델 기반 구성관리로 일관성 있는 제어 가능
  • Watch 기반 이벤트 처리로 실시간 대응 가능
  • CLI, API, 컨트롤러 연동 모두 지원하는 유연성
  • 프로그램 확장성이 뛰어남 (컨트롤러 직접 구현 가능)

❌ 단점

  • JSON 기반이라 대량 트래픽에서는 오버헤드 발생
  • 실시간성이 필요한 경우에는 속도 한계
  • 복잡한 트랜잭션 처리 시 동기화 문제 가능성
  • Schema 변경이 까다로움 (호환성 문제 발생 가능)

9. 전망 & 개선점

🔮 전망

  • SDN·NFV의 성장과 함께 OVSDB의 활용도 확대 예상
  • 클라우드 네트워크 자동화의 핵심 도구로 자리잡을 것
  • 멀티 컨트롤러 환경 대응을 위한 확장 기대
  • YANG 모델 기반 통합을 통한 표준화도 진행 중

🛠 개선점

  • gRPC, Protobuf 등 경량화된 대안 프로토콜 적용 고려
  • 동기화 성능 개선 및 캐시 기반 업데이트 방식 도입 필요
  • 복잡한 네트워크 토폴로지에서도 스케일 가능한 구조 개선

10. 어린이 버전 요약

OVSDB는 컴퓨터 네트워크 스위치의 비서 같은 존재야.
네트워크를 어떻게 연결할지, 어떤 길로 보낼지 기록하고, 명령을 전달해줘.
똑똑한 컴퓨터(컨트롤러)가 스위치에게 “이렇게 해!” 하고 말하면, OVSDB가 그 말들을 기록하고 스위치한테 알려주는 거지.
쉽게 말해, 네트워크가 꼬이지 않게 잘 정리해주는 ‘메모장’ 역할을 하는 거야!


0개의 댓글