SDN

개요

개념

네트워크 제어기능(Control Plane)과 데이터 전달기능(Data Plane)을 분리하고, 중앙 컨트롤러가 네트워크를 소프트웨어적으로 제어하는 구조

* 기존 네트워크 장비: SW 영역(Routing, QoS, Policy) + HW 영역(Forwarding)
* SDN 네트워크 장비: Controller(두뇌)의 SW 영역(Routing, QoS, Policy) / Switch(손발)의 HW 영역(Forwarding)
특징 제어와 데이터의 분리 제어와 전달기능이 분리되어 전송장치는 단순 포워딩 진행
*  제어평면 : 생각하는 부분( 경로 결정, 정책 설정, 보안/품질 제어 )
*  데이터 평면 : 움직이는 부분(패킷을 실제로 전달)
데이터 전달 계층의 HW화 전송장비는 복잡한 판단 대신 규칙에 따라 패킷만 전달하는 단순 포워딩 진행
통합제어 NW OS 제어 기능은 컨트롤러에 집중되어, 네트워크 전체를 통합적으로 관리
개방형 인터페이스 기반
포워딩 제어
OpenFlow와 같은 개방형 API를 통해 컨트롤러가 장비를 제어
비즈니스 민첩성 서비스 변화에 맞추어 네트워크 정책을 빠르게 변경하고 적용 가능
배경 - 네트워크 복잡도 증가, 네트워크 통합관리 필요
- 확장 가능성 및 유연성에 대한 요구 증가, 빅데이터로 인한 대역폭 확장 필요
- 인프라 획득 및 유지비용 증가
- 장비 폐쇄성에 대응, 벤더 의존성 탈피

 

구성요소 및 주요기능

구분 항목 설명
구성
요소
Data Plane Forward Engine, 복잡한 제어 없이 패킷 포워딩 및 스위칭 기능만 수행
(실제로 패킷을 보내는 실행부)
Control Plane SDN Control/ACL/Routing/인증, 기존 네트워크 제어기능을 중앙집중형으로 수행
(경로, 접근제어, 인증 같은 제어정책을 정하는 두뇌)
Interface OpenFlow, Data Plane과 Control Plane을 연결하는 개방형 제어 인터페이스
Application SDN Application Logic, 사용자 서비스 및 정책 기능을 제공하는 프로그램
(“이런 정책으로 운영해라”라고 요구하는 상위 서비스 영역)
주요
기술
API 플랫폼 네트워크와 애플리케이션 연계
컨트롤러 및 에이전트 다양한 네트워크 장비와 애플리케이션 사이에서 역할
네트워크 오버레이 물리 네트워크 위에 가상 네트워크를 구성하여 유연한 네트워크 서비스를 제공하는 기술

 

[비교] SDN, 기존 네트워크

항목 기존 네트워크 SDN
구축 장비 벤더 간 호환성을 사전에 검토 후 신규 구축 필요 OpenFlow 지원 장비 간에는 상대적으로 호환성 확보가 용이
인프라 변경
유연성
기존 구성에 대한 영향도 분석이 크고, 경우에 따라 신규 구축 필요 중앙 컨트롤러에서 소프트웨어적으로 유연하게 변경 가능
관리 효율성 장비별 설정 및 제어 정책 관리가 복잡 중앙 관제 및 통합 제어로 관리 효율성 향상

 


 

오픈플로우(OpenFlow)

 

개요

개념 SDN에서 컨트롤러(제어 계층)와 스위치(데이터 계층) 사이의 제어정보를 교환하는 표준 인터페이스 프로토콜
역할 Control Plane과 Data Plane을 연결
목적 플로우 단위의 트래픽 제어와 중앙집중형 네트워크 제어 지원

 

구성도 및 구성요소

 

구분 내용
Controller - OpenFlow 프로토콜을 이용해 플로우 테이블을 생성·수정·삭제하고, 네트워크 정책·경로·상태를 중앙집중적으로 제어하는 제어장치
(네트워크 전체를 보고 판단하는 중앙 두뇌, 어떤 규칙으로 패킷을 처리할지 정해서 스위치에 내려줌)
OpenFlow
Switch
- 컨트롤러의 명령에 따라 플로우 테이블 기반으로 패킷을 전달·처리하는 데이터 평면 장비
(컨트롤러가 내려준 규칙대로 실제 패킷을 처리하는 장비, 생각은 컨트롤러가 실행은 스위치가)
Flow Table 패킷의 매칭조건, 처리동작, 통계정보를 저장하는 규칙 테이블 (패킷처리 규칙표)
Group Table 다수의 포트 및 처리경로를 그룹 단위로 묶어 관리하는 테이블 (경로/방식을 묶은 관리표)
Pipeline 여러 플로우 테이블을 순차적으로 거치며 패킷을 처리하는 경로 (순서대로 처리하는 경로)
Secure Channel 컨트롤러와 스위치 간 제어정보를 안전하게 전달하는 암호화 채널 (안전한 통신통로)

 

동작 절차

 

항목작동 순서설명

순서 작동 설명
1 세션 연결 - OpenFlow Device와 Controller 간의 Session 연결
(OpenFlow 장비와 컨트롤러가 먼저 서로 연결)
2 초기 Flow Table
정보 전달
- Controller는 OpenFlow Device에 초기 Flow Table 정보 전송
(컨트롤러가 스위치에게 기본 규칙을 먼저 내려주는 단계)
3 Match 정보 확인 - OpenFlow Device가 패킷 수신 시 Flow Table에서 Match 정보 확인 후 Match되는 Table 없으면 Controller로 전송
(스위치가 패킷을 받으면 Flow Table을 보고 맞는 규칙이 있는지 확인하는 단계)
* 기본적으로 스위치는 패킷을 받으면 먼저 자기 안의 Flow Table를 보고 규칙이 있으면 바로처리, 없으면 컨트롤러에 물어봄
4 Flow Table 전송 - Controller에서 해당 패킷을 확인해서 최적화된 Flow Table 전송
- Flow matching을 통해 정의된 Action 수행
(맞는 규칙이 없으면 컨트롤러가 새 규칙을 내려주고, 스위치가 그 규칙대로 패킷을 처리하는 단계)

 

+ Recent posts