SDN & Virtual Networking
소프트웨어 정의 네트워크(SDN)의 제어부/데이터부 분리 원리와 클라우드 환경의 가상 네트워크 터널링 기술을 다루는 학습 노드입니다.
sys.entry
M
Me
hyunyoun's Blog
posts6 min read
1. Overview
SDN 및 가상 네트워킹(SDN & Virtual Networking, SVN)은 하드웨어 종속적인 전통적 네트워크를 소프트웨어 기반의 유연한 인프라로 전환하는 지능화 기술을 다룹니다.
데이터센터와 클라우드 환경이 거대해짐에 따라, 개별 장비를 수동으로 설정하는 방식은 한계에 도달했습니다. 학습자는 네트워크의 '두뇌'인 제어 평면(Control Plane)과 '신경망'인 데이터 평면(Data Plane)을 분리하는 SDN의 철학을 배웁니다. 또한, 물리적 네트워크 위에 논리적 망을 구축하는 오버레이(Overlay) 기술과 대규모 멀티 테넌시를 위한 가상화 기전을 이해하여, 현대적 클라우드 네이티브 네트워크를 설계하고 운영할 수 있는 전문성을 갖춥니다.
2. Scope & Boundaries
In-Scope
- SDN Fundamentals: Control Plane vs Data Plane 분리 및 중앙 집중식 제어 물리
- Communication Protocols: OpenFlow 알고리즘 및 Northbound/Southbound API 역학
- Network Virtualization: 오버레이 네트워크(VXLAN, NVGRE) 및 터널링 메커니즘
- Virtual Appliances: 가상 스위치(OVS), 가상 라우터 및 로드 밸런서의 논리적 동작
- Service Mesh Connectivity: 사이드카(Sidecar) 패턴을 통한 L7 가상 네트워킹 기초
Out-of-Scope
- 물리 스위치의 ASIC 칩 설계 및 하드웨어 제조 (02. CAES 영역으로 위임)
- 클라우드 서비스(AWS VPC 등)의 단순 UI 설정 법 (09. DevOps 영역으로 위임)
Boundaries
- SVN vs. Traditional Routing: RGI(08-03)가 '분산된 장비 간의 협력적 경로 탐색'에 집중한다면, SVN은 '중앙 지능에 의한 경로의 동적 주입과 가상화'에 집중합니다.
3. Counterexample
- 단순히 가상 머신에 IP를 부여하는 것은 SVN 학습이 아닙니다. 왜 클라우드 환경에서 MAC-in-UDP (VXLAN) 터널링이 물리적으로 필요한지 그 캡슐화 오버헤드와 L2 확장성 문제를 논리적으로 설명하고, SDN 컨트롤러가 장애가 발생했을 때 데이터 평면의 패킷 처리가 어떻게 변화(Stand-alone mode 등)하는지 그 가용성 시나리오를 입증해야 합니다.
4. Prerequisites
- 네트워크 기초 및 OSI 스택 (Basic): L2 이더넷 프레임과 L3 IP 패킷의 구조 이해. (08. NFS)
- 운영체제 및 가상화 (Recommended): 하이퍼바이저와 네임스페이스(Namespace) 개념 권장. (03. OSSM)
5. Learning Map
- Decoupling the Brain: 하드웨어에서 제어 로직을 적출하여 소프트웨어로 추상화하는 SDN 물리 구조를 익힙니다. (P1
) - Virtual Tunnels: 물리적 거리와 상관없이 논리적 L2 네트워크를 확장하는 오버레이 기술(VXLAN 등)을 배웁니다. (Industry
) - Programmable Flow: 코드로 네트워크 트래픽 경로를 실시간으로 변경하는 흐름 제어(Flow Control) 기전을 구축합니다. (P1
) - Cloud Fabric: 수천 대의 서버가 하나의 거대한 가상 스위치처럼 작동하게 하는 클라우드 센터의 네트워크 지능을 탐구합니다. (Industry
)
6. Learning Topics
Basic
Core: SDN 개념과 계층 분리 (SDN Architecture)
- Why to Learn: 네트워크 제어권을 소프트웨어로 가져옴으로써 인프라 자동화와 민첩성을 확보하기 위함입니다.
- What to Learn:
- Control Plane vs Data Plane의 물리적/논리적 분리
- SDN 컨트롤러의 역할(Topology 관리, Flow 주입)
- SDN의 3계층 모델 (App, Control, Infrastructure)
- How to Learn:
- Mininet과 같은 시뮬레이터를 사용해 컨트롤러가 없는 상태와 있는 상태의 패킷 도달 유무 확인
- 컨트롤러에서 스위치로 내려가는 'Flow Entry'의 구조(Match, Action)를 분석
- Implement: 전통적 스위치와 SDN 스위치의 패킷 처리 흐름 비교 분석도.
Recommended
Core: 가상 네트워킹과 오버레이 (Network Virtualization)
- Why to Learn: 물리 망의 제약을 넘어 사용자(Tenant)별로 독립된 논리 네트워크를 무한히 생성하기 위해서입니다.
- What to Learn:
- VLAN의 4096개 한계와 VXLAN의 24비트 VNI(Virtual Network ID) 물리
- VTEP(VXLAN Tunnel End Point) 간의 캡슐화 및 역캡슐화 과정
- 네트워크 네임스페이스와 가상 이더넷 파이프(veth pair)의 커널 연결성
- How to Learn:
- 리눅스 서버 2대 사이를 VXLAN 터널로 연결하고, 서로 다른 서브넷의 컨테이너가 로컬처럼 통신하는 모습 캡처
- 가상 스위치(Open vSwitch)의 내부 포트 매핑 테이블 분석
- Implement: 멀티 테넌트 클라우드 환경을 위한 대규모 L2 오버레이 네트워크 설계도.
Practical
Core: 남북향/동서향 API와 제어 (SDN Interfaces)
- Why to Learn: 다양한 제조사의 장비와 상위 애플리케이션을 표준화된 인터페이스로 통합 관리하기 위함입니다.
- What to Learn:
- OpenFlow 프로토콜의 물리적 메시지 규격 (Packet-In, Flow-Mod 등)
- Northbound API(RESTful)를 통한 네트워크 정책 프로그래밍
- Southbound 인터페이스의 다양성 (OVSDB, NETCONF/YANG)
- How to Learn:
- RYU 또는 ONOS 컨트롤러를 실행하고 REST API를 호출하여 특정 MAC 주소 차단 정책을 실시간 적용
- 장비 추가 시 컨트롤러가 LLDP 패킷을 이용해 전체 토폴로지를 자동으로 그려내는 과정 모니터링
- Implement: 특정 보안 위협 발생 시 자동으로 트래픽을 격리(Quarantine)하는 SDN 제어 스크립트.
Advanced
Core: NFV와 클라우드 네이티브 연계 (Advanced Virtual Fabrics)
- Why to Learn: 전용 하드웨어 없이도 고성능 방화벽, 로드 밸런서 등의 기능을 범용 서버에서 구현하기 위해서입니다.
- What to Learn:
- NFV(Network Function Virtualization) 기전과 서비스 체이닝(SFC)
- DPDK(Data Plane Development Kit)를 이용한 유저 레벨 고속 패킷 처리 물리
- 쿠버네티스 CNI(Container Network Interface)의 작동 원리와 서비스 메시 연결
- How to Learn:
- 커널을 거치지 않고 패킷을 처리할 때의 성능 이득을 DPDK 기반 샘플 애플리케이션으로 벤치마킹
- Istio 등의 서비스 메시에서 Envoy 프록시가 트래픽을 중간에서 가로채 제어하는 물리 현상 분석
- Implement: 지연 시간에 민감한 금융 서비스를 위한 고성능 가상 네트워크 가속 아키텍처 제안서.
7. Terminology
8. References
Primary References
- [P1] CS2023: NC-Software-Defined Networking — SDN 핵심 원리와 제어 평면 이론.
- [P1] CS2023: NC-Networked Applications — 가상화 기반 응용 계층 네트워킹.
Secondary References
- [SDN: Software Defined Networks] Thomas D. Nadeau — SDN 아키텍처 및 구현 가이드.
- [Network Virtualization] Victor Moreno — 하이브리드 클라우드와 오버레이 네트워크 상세 분석.
Industry References
- [ONF] OpenFlow Switch Specification — SDN 기술의 시초이자 핵심 통신 표준.
- [VMware/Cisco] VXLAN Fundamentals — 클라우드 네트워킹에서 VXLAN의 실무 적용 케이스.
9. Final Checklist
Primary Checklist
- SDN의 '중앙 집중식 제어'가 전통적 '분산 제어' 라우팅 방식에 비해 변화 대응 및 일관성 측면에서 갖는 물리적 이점을 설명할 수 있는 있는가? (P1-NC)
- Control Plane과 Data Plane이 분리되었을 때, 패킷이 도착한 후 실제 포워딩이 이루어지기까지의 순차적 단계(Flow Lookup 등)를 기술할 수 있는가? (P1-NC-SD)
Secondary Checklist
- VXLAN 캡슐화 시 사용되는 외부(Outer) IP/UDP 헤더와 내부(Inner) 이더넷 헤더의 역할 차이를 명확히 구분할 수 있는가?
- OpenFlow에서 'Match' 조건이 일치하지 않을 때(Miss) 발생하는 동작과 컨트롤러의 개입 과정을 설명할 수 있는가?
Industry Checklist
- 실무 클라우드 환경에서 멀티 테넌시 격리가 필요한 상황에 VLAN보다 VXLAN이 적합한 물리적 이유(ID 범위 및 L3 통과 가능성)를 제시할 수 있는가?
- 마이크로서비스 간의 복잡한 트래픽 제어를 위해 SDN 기반의 서비스 메시(Service Mesh)를 도입할 때의 이득과 관리 오버헤드를 비교 분석할 수 있는 있는 있는가?