이 책의 구성
1장. 도입
이 장에서는 SDN의 개념 및 유래, 중요성 등을 비롯하여 이 책에서 다루는 내용의 도입 설명 및 책의 구성에 대해 간략하게 조망한다.
2장. 중앙집중식 및 분산형 제어부와 데이터 처리부
미래의 네트워크가 분산/일치형 구조 혹은 중앙집중형 제어부 모델 중 어떤 모양을 가지게 될지 결정하는 과정에서 SDN의 틀이 갖추어지게 되었다. 이 장에서는 분산형 혹은 집중형 제어부의 주요 내용을 살펴보고, 이 두 가지 모델에서 데이터 처리부가 어떻게 구현되는지, 과거의 이력이 어떠한지, 현재의 분산/일치형 모델의 일부 기능이 어떻게 대체될 수 있는지, 이 모델들의 장점이 무엇인지 등에 대해 살펴본다.
3장. OpenFlow
OpenFlow는 Open Networking Foundation(OpenFlow 표준화 단체)의 마케팅 방향에 따라, 가끔은 SDN과 동일한 것으로(즉, “OpenFlow가 SDN이다”라는 식) 혹은 SDN의 주요 요소 기술로 인식되어 왔다. 하지만 OpenFlow가 중앙집중식 제어부 모델에 대한 논의를 촉발시켰다는 점은 의심의 여지가 없다. 우리는 이 장에서O penFlow 모델의 현 상태를 알아본다.
4장. SDN 컨트롤러
일부 사람들에게 있어 SDN 기술에 대한 논의는 전적으로 네트워크 상태 관리에 대한 내용을 의미하는 것으로 해석되고 있으며, 이러한 역할을 수행하는 것이 SDN 컨트롤러다. 이 장에서는 현재 가용한 컨트롤러(오픈소스 혹은 상용 제품 모두)와 그것들의 구조 및 기능을 살펴보고 이들을 이상적인 컨트롤러 모델과도 비교해본다.
5장. 네트워크 프로그래밍
이 장에서는 SDN의 핵심 내용 중 하나인 네트워크 프로그래밍에 대해 살펴본다. 먼저 네트워크의 기능 분리를 진행하게 되면 필연적으로 나타나는 문제, 즉 기존의 오래된 프로그램의 인터페이스 및 애플리케이션을 통한 네트워크를 통제하지 않는 기존의 전통적인 패러다임 등에 대해 언급한다. 이 장에서는 왜 이것들이 문제가 되며, 최신의 프로그래밍 인터페이스를 이용하여 어떻게 이 문제를 해결할 수 있는지 살펴본다. 또한 SDN 패러다임 변화에 맞춰 실제 애플리케이션 및 네트워크 장비에서 어떤 변화가 일어나고 있는지 명확히 보여준다.
6장. 데이터센터의 개념 및 구성
이 장에서는 데스크톱이 주류를 이루던 1990년대 후반부터 애플리케이션(혹은 전체 애플리케이션을 구성하는 작은 부분들)이 복수 개의 데이터센터에 배포되어 있는 고도로 분산화된 현 시대의 컴퓨터 환경에 이르기까지 시대별 진화 역사를 확인함으로써 오늘날 데이터센터의 개념을 설명하고자 한다. 하나의 구동 애플리케이션을 이용하여 여러 조직을 대상으로 서비스하는 개념(multitencncy)은 데이터센터에서 가상화 및 가상화 관련 기술의 핵심 동력으로 소개되고 있다. 마지막으로, 왜 이러한 내용들이 SDN 도입의 중요한 예들이 되고 SDN 활성화에 기여하는지 설명한다.
7장. 네트워크 기능 가상화(NFV)
이 장에서는 앞서 설명된 네트워크 프로그래밍, 컨트롤러, 가상화, 데이터센터 등의 주요 개념들을 확장해 보고자 한다. SDN의 최첨단 영역을 살펴보는 것으로, SDN의 주요 개념들과 구성요소들을 통합하여 서비스 가상화뿐 아니라 구성요소들을 새롭게 결합하는 흥미로운 시도도 해본다.
8장. 네트워크 토폴로지 및 토폴로지 정보 추상화
이 장에서는 현재 및 시대에 따라 변화해온 네트워크 토폴로지의 개념에 대해, 그리고 네트워크 토폴로지?생성 및 지속적인 유지, 애플리케이션과의 상호작용?가 왜 SDN 및 NFV의 개념에 중요한지를 설명한다. 또한 이 주제에 대해 제시되었던 과거의 부분적인 해결책뿐 아니라, 최근 이 문제를 영구적으로 해결한 IETF의 I2RS의 노력에 대해서도 살펴본다.
9장. SDN 프레임워크의 구축
이 장에서는 SDN 컨트롤러, 애플리케이션 및 전체를 위한 가장 이상적인 SDN 프레임워크가 무엇인지 서술한다. 이 개념이 중요한 이유는 이것이 현재 가용한 모든 SDN 컨트롤러의 구조적 뼈대를 제공하고, 향후 이 컨트롤러의 진화 방향에 대한 힌트를 제공하기 때문이다. 또한 과거에 출현하여 진화해온 여러 사례들을 보여주고, SDN 프레임워크들이 최종적으로 귀결된 현재의 Open Daylight 컨소시엄의 접근 방법에 대해 살펴본다. 이 방법은 현존하는 가장 이상적인 프레임워크라고 할 수 있는데, 이는 기술적 완성도가 높을 뿐 아니라 실용적이며, 우리가 지금까지 여러 시도와 실패를 거쳐 만들어낸 프레임워크와 가장 유사하다.
10장. 대역폭 스케줄링, 조절, 캘린더링 응용
이 장에서는 대역폭 스케줄링, 조절, 대역폭 캘린더링으로 분류되는 여러 가지 예를 다룬다. 비록 각 예가 이미 실험실 환경에서 구현된 것일지라도, 우리는 검증 차원에서 실제 실험실을 조성하고 각 예를 구축하여 검증하는 절차를 거쳤다. 이 개념 검증 방식에는 상용 애플리케이션을 사용했으며, 비록 간단한 검증이라도 실제 사용 중인 애플리케이션을 대상으로 진행했다.
11장. 데이터센터 오버레이, 빅데이터, 네트워크 기능 가상화 응용
이 장에서는 데이터센터 영역으로 분류될 수 있는 예시들을 보여주는데, 특히 데이터센터 오버레이 및 네트워크 가상화에 역점을 두었다. 또한 빅데이터 분야가 SDN 개념 정립에 큰 역할을 하고 있다는 점도 살펴본다.
12장. 입력 트래픽 모니터링, 트래픽 분류 및 동작 유도 응용
이 장에서는 입력 트래픽/유인 동작(triggered action) 범주에 속하는 예들을 보여준다. 이들은 네트워크의 가장자리에서 특정 트래픽이 유입되면 미리 정해진 특정한 동작을 하도록 하는 예들이다. 이러한 유인 동작들은 중앙집중형 컨트롤러를 통해 미리 프로그래밍되어 있거나, 아니면 각 장비가 특정한 트래픽을 접했을 때 어떤 동작을 취할지를 컨트롤러에 물을 수도 있다. 여기서는 이러한 개념들을 증명하는 두 가지 예를 제공한다. 먼저, 개념 증명 방식을 통해 OpenFlow 컨트롤러와 몇 대의 라우터를 이용하여 네트워크 접속 제어 프로토콜(NAC)을 대체하는 예를 보여준다. 실제로 이 방식을 통해 다른 방식으로는 해결하기 어려운 대규모의 기업 문제를 해결할 수 있다. 또 다른 예에서는 가상의 방화벽이 컨트롤러와의 상호작용을 통해 특정 트래픽 유입 시 어떻게 이에 따른 유인 동작을 하게 만드는지 살펴본다.
13장. 최종 고찰 및 결론
이 장에서는 현재 시점에서 SDN 주제에 대해 마지막으로 요약한다. 현 시점(이 책을 집필할 당시)에서 SDN 관련 주요 의견들을 다시 한 번 강조하고, 이 주제에 관한 몇 가지 관찰되는 내용을 보여준다.