Top

오픈플로우를 활용한 SDN 입문 [네트워크 애플리케이션 개발 플랫폼 실습 가이드]

  • 원서명Software Defined Networking with OpenFlow (ISBN 9781849698726)
  • 지은이시아마크 아조돌몰키
  • 옮긴이김남곤, 이정효
  • ISBN : 9788960776098
  • 18,000원
  • 2014년 09월 23일 펴냄
  • 페이퍼백 | 188쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 네트워크 프로그래밍

책 소개

요약

소프트웨어 정의 네트워크(Software Defined Networking)라는 새로운 네트워크 제어 기술에 대한 실무 중심의 소개를 제공한다. 클라우드 환경을 포함한 다양한 네트워크 환경에서의 SDN 적용 실습을 통해 소프트웨어 정의 네트워크의 실체를 직접 확인해 볼 수 있는 여러 가지 가이드를 제공하여, SDN을 통해 기존 네트워크 인프라가 어떻게 변하는지 이해하도록 도와준다. 이를 통해 독자들이 SDN을 실무에 쉽게 적용할 수 있도록 도와주는 것을 목적으로 한다.

이 책에서 다루는 내용

■ 오픈플로우(OpenFlow)와 그 구성 요소의 핵심

■ Mininet, POX, OpenDaylight을 이용한 SDN 실험환경 구축 방법

■ 나만의 실험환경 구축방법과 네트워크 애플리케이션 개발 방법

■ 오픈플로우와 플로우바이저(Flowvisor)를 이용한 네트워크 가상화

■ 클라우드 컴퓨팅 환경의 네트워킹을 위한 오픈플로우 활용법

■ 새로운 형태의 오픈플로우를 경험할 수 있는 다양한 오픈 소스 툴

이 책의 대상 독자

이 책이 오픈플로우의 주요 구성 요소와 오픈플로우를 이용한 소프트웨어 정의 네트워킹을 다루긴 하지만, 프로토콜 레퍼런스 문서가 아니라 튜토리얼 가이드이다. 네트워크 엔지니어, 네트워크 관리자, 시스템 소프트웨어 개발자, 네트워크 애플리케이션 개발자 등 오픈플로우에 대해 관심이 있는 누구나 이 책의 독자가 될 수 있다.

이 책의 구성

1장, ‘오픈플로우 소개’ 오픈플로우와 SDN 생태계에서 오픈플로우의 역할과 컴퓨터 네트워크에서 오픈플로우가 어떻게 동작하는지 소개한다. 1장에서는 실험 환경을 실제로 구성하기에 앞서 필요한 지식을 살펴본다. 플로우의 개념, 플로우 포워딩, 오픈플로우 기능, 오픈플로우 테이블이 할 수 있는 일, 오픈플로우의 기능과 한계를 다룬다.

2장, ‘오픈플로우 스위치 구현’ 현재 제공되고 있는 오픈플로우 스위치 구현을 하드웨어와 소프트웨어 구현을 포함하여 다룬다.

3장, ‘오픈플로우 컨트롤러’ 오픈플로우 스위치의 제어 주체로서 오픈플로우 컨트롤러 역할과 오픈플로우 기반 네트워크 애플리케이션 개발을 위해 제공되는 API(즉, 노스바운드 인터페이스)에 대해서 다룬다.

4장, ‘환경 구성’ 오픈플로우 스위치와 컨트롤러의 옵션을 소개한다. 또한 네트워크 애플리케이션 개발 환경에 대해 다룬다. 4장에서는 5장에서 네트워크 애플리케이션 개발을 위해 이용되는 가상 장치와 도구(예, Mininet과 와이어샤크(Wireshark))의 설치에 대해 집중한다.

5장, ‘네트워크 애플리케이션 개발’ 오픈플로우가 어떻게 네트워크 애플리케이션 개발의 기반을 제공하는지 보여주기 위해 예제 네트워크 애플리케이션(예, 학습 스위치와 방화벽)의 개발을 다룬다.

6장, ‘네트워크 슬라이싱’ 오픈플로우와 플로우바이저를 이용한 네트워크 슬라이싱을 다룬다. 미리 계획된 구성을 위해 독자가 플로우바이저를 이용해 네트워크 슬라이스를 설정하고 이용하는 방법을 이해할 수 있다.

7장 ‘클라우드 컴퓨팅에서의 오픈플로우’ 클라우드 컴퓨팅에서의 오픈플로우의 역할에 집중하며, 특히 오픈스택 뉴트론(OpenStack Neutron)의 설치와 설정을 다룬다. 뉴트론은 오픈스택 프로젝트로 오픈스택 서비스에 의해 관리되는 인터페이스 장치들(예, 가상 네트워크 인터페이스 카드들) 사이의 네트워크 연결성을 서비스(NaaS)로 제공한다.

8장 ‘오픈 소스 프로젝트’ 네트워크 엔지니어나 관리자가 상용 환경에서 활용할 수 있는 중요한 오픈 소스 프로젝트를 설명하고, 이에 대한 접근 경로를 제공한다. 이 프로젝트에서는 오픈플로우 소프트 스위치에서부터 컨트롤러와 가상화 도구, 오케스트레이션 도구, 시뮬레이션 테스팅 도구까지 매우 다양한 내용을 다룬다.

저자/역자 소개

저자 서문

네트워킹 장치로부터 네트워크 제어를 분리하는 것은 소프트웨어 정의 네트워킹 SDN(Software Defined Networking)의 공통분모다. SDN은 네트워크 제어 기능(제어 평면)을 데이터 전달 기능(데이터 평면)과 분리하고, 더불어 분리된 제어에 대해 프로그래밍이 가능하도록 한 컴퓨터 네트워킹에서의 최신 패러다임이다.

기존에 네트워킹 장치(예, 이더넷 스위치)와 강하게 결합되어 있던 제어 로직을 논리적으로 집중된 컨트롤러로 이전한 것은, 애플리케이션 관점에서 하부 네트워킹인프라를 추상화할 수 있게 했다. 이러한 분리는 더욱 융통성 있고, 프로그래밍 가능하고, 벤더 독립적이며, 비용 효율적이고, 혁신적인 네트워크 구조를 만들기 위한 기반을 마련했다.

네트워크 추상화 외에도 SDN 아키텍처는 공통 네트워크 서비스(라우팅, 멀티캐스트, 보안, 액세스 제어, 대역폭 관리, 트래픽 엔지니어링, 서비스 품질, 에너지 효율과 다양한 형태의 정책 제어)의 구현을 단순하게 만드는 API 집합을 제공한다. 그 결과 기업, 네트워크 운용자, 통신 사업자는 변화하는 사업 요구에 즉시 대응할 수 있는 높은 확장성을 지닌 유연한 네트워크를 구성할 수 있도록, 이전에는 불가능했던 네트워크 프로그래밍 가능성과 자동화와 네트워크 제어가 가능해졌다.

오픈플로우는 SDN을 위해 설계된 첫 번째 표준 인터페이스로 다수의 네트워킹 장치들 사이에 고성능의 세밀한 트래픽 제어를 제공한다. 이 책에서는 SDN 개념의 초기 구현 중 하나인 오픈플로우의 핵심을 살펴본다. 이 책은 오픈플로우 스위치와 컨트롤러부터 시작해서, 오픈플로우 기반 네트워크 애플리케이션 개발, 네트워크 가상화, 클라우드 컴퓨팅 환경에서의 오픈플로우, 그리고 현재 진행 중인 오픈플로우 관련 오픈 소스 프로젝트에 대해서 다룬다. 더 많은 내용을 원하는 독자를 위해, 이 책에서는 직접 오픈플로우로 SDN을 구현하는 방법을 보여준다.

저자 소개

시아마크 아조돌몰키 (Siamak Azodolmolky)

1994년에 테헤란(Tehran) 대학에서 컴퓨터공학 학위를 받고, 첫 석사 학위를 아자드(Azad) 대학에서 받았다. Data Processing Iran Co.(이란의 IBM)에서 소프트웨어 개발자와 시스템 엔지니어, 선임 연구원으로 1992년부터 2001년까지 일했다. 2006년에 두 번째 석사학위를 카네기 멜론(Carnegie Mellon) 대학에서 받았으며, 박사과정 중인 2007년에는 AIT(Athens Information Technology)에 연구원과 소프트웨어 개발자로 참여했다.

2010년 8월에 에식스(Essex) 대학 CSEE(컴퓨터 과학 및 전자 공학부)의 고성능 네트워크 연구 그룹에 선임 연구원으로 참여했고, 2011년에 UPC(Universitat Polit cnica de Catalunya)에서 박사학위를 받았으며, 다양한 국책과제와 EU 프로젝트에 참여해왔다. 소프트웨어 정의 네트워킹(SDN)은 2010년 이후로 그의 주요 연구 주제 중 하나였고, 전송(optical) 네트워크 분야에 대한 SDN 적용과 관련된 오픈플로우 확장에 대해 연구해왔으며, 국제 학술대회, 저널과 책에 걸쳐 50편 이상의 논문을 게재했다.

현재 2012년 9월부터 GWDG(Gesellschaft f r Wissenschaftliche Datenverarbeitung mbH G ttingen)에서 선임 연구원으로 일하면서 SDN 관련 활동을 이끌고 있다. ACM의 프로페셔널 멤버이고, IEEE의 시니어 멤버다.

옮긴이의 말

대부분의 보통 사람들은 네트워크에 대해서 잘 알지 못합니다. 네트워크를 관리하는 사람들 입장에서도 네트워크는 여전히 어렵습니다. 네트워크를 구성하는 장비에는 스위칭 장비와 라우팅 장비가 있고, 각 장비는 서로 다른 프로토콜로 동작합니다. 같은 스위칭 장비라 하더라도 제조사마다 서로 다른 명령어를 제공하고, 같은 제조사 장비라 하더라도 모델에 따라 지원하는 기능이 다릅니다. 이로 인해 네트워크를 통합 관리하는 솔루션을 개발하는 일은 비용이 많이 들지만 장비 하나하나를 직접 제어하는 것만큼 세밀한 제어까지는 어렵습니다. 또한 장비에 새로운 프로토콜을 탑재하기도 어려워서 기존 장비를 업그레이드하기보다는 새로운 장비를 구매하는 것이 일반적이었습니다.

네트워크 통합 관리의 어려움을 아는 사람들은 더욱 단순하고 간편한 네트워크를 원했습니다. 네트워크 장비 벤더가 어디인지, 어떤 모델인지 몰라도 네트워크를 쉽게 통합 제어할 수 있기를 원했고, 새로운 프로토콜을 빠르게 탑재하고, 심지어는 개발해서 이용하고 싶어 했습니다. 소프트웨어 정의 네트워킹, 즉 SDN은 이러한 요구사항을 만족시켜 줄 수 있는 기술로 2~3년 전부터 큰 관심을 받고 있습니다. 모든 네트워크 장비의 제어 평면과 데이터 평면을 분리하고, 제어 평면을 오픈플로우(Openflow)라고 하는 표준화된 프로토콜을 이용하여 통합함으로써 통합제어와 새로운 프로토콜의 적용을 쉽게 할 것이라는 기대를 한 몸에 받았습니다.

하지만 새로운 기술이 기존의 기술을 대체하는 것은 쉬운 일이 아닙니다. 새롭다는 것만으로는 기존 기술에 익숙한 사람들을 움직이게 할 수 없습니다. 먼저 새로운 기술이 기존 기술과 마찬가지로 안정적이고 확장성이 있음을 증명해야 합니다. 다음으로 새로운 기술도 기존 기술만큼 두터운 사용자 층이 형성되어 있어야 합니다. 마지막으로 영향력 있는 누군가가 새로운 기술을 적용하고, 그 성공스토리가 대중에게 알려져야 합니다. SDN은 아직 그 쓰임과 활용에 대한 강한 믿음이 구축되지 않았습니다. 다년간의 노력으로 SDN에 대한 증명과 사용자 층이 형성되었지만, 아직 마지막 요구사항을 만족시키지 못한 상태입니다. 사람들은 지금도 누군가 나타나서 SDN을 이용한 놀라운 뭔가를 보여주기를 기대하고 있습니다.

SDN이 미래 네트워크라는 점은 아무도 의심하지 않지만, 어떤 영역에서는 매우 천천히, 어떤 영역에서는 매우 빠르게 기존 네트워크를 대체하고 있기 때문에 어설프게 조바심을 가져서는 안 됩니다. 관심을 가지고 계속 지켜보십시오. 그러면 어느새 SDN이 만든 미래 네트워크 안에 우리가 있을 것입니다. 한때 영화에서만 보던 기술이었던 화상통화가 지금은 일반적인 통화기능이 된 것처럼 말이죠.

마지막으로, 이 책은 SDN 입문자를 위한 책입니다. 다소 어려운 내용이 있더라도 SDN이 무엇이고, 어떻게 동작하고, 어떤 툴(Tool)을 이용해 테스트할 수 있는지만 알아도 향후 공부에 도움이 될 것입니다. 번역서이기 때문에 부득이 용어의 난해함을 완벽히 제거하지 못한 점에 대해서는 독자 여러분의 깊은 이해를 구합니다.

자! 이제 새로운 걸 배우러 갈 시간입니다. Let’s SDN!

옮긴이 소개

김남곤

대한민국에서 가장 큰 네트워크를 운용하는 곳이 통신회사라 네트워크를 제대로 알기 위해 KT에 입사해, 현재는 KT 융합기술원에서 SDN과 NFV등의 미래네트워크 기술을 연구하고 있다.

이정효

현재 KT 융합기술원에서 미래 네트워크를 주제로, 다양한 네트워크 서비스에 맞는 SDN과 NFV의 응용과 확장에 대해 주로 고민하고 있다.

목차

목차
  • 1장 오픈플로우 소개
    • SDN 이해하기 - 오픈플로우 관점
    • SDN/OpenFlow와 관련된 활동들
    • 구성 요소
    • 오픈플로우 메시지
      • 컨트롤러와 스위치
        • 기능 요청
        • 설정
        • 상태 수정
        • 상태 읽기
        • 패킷 전송
        • 배리어
      • 동기 메시지
        • 헬로우
        • 에코
        • 벤더
      • 비동기 메시지
        • 패킷-인
        • 플로우 제거
        • 포트 상태
        • 에러
    • 노스바운드 인터페이스
    • 요약

  • 2장 오픈플로우 스위치 구현
    • 오픈플로우 참조 스위치
      • 비동기 메시지
      • 대칭 메시지
    • 하드웨어 구현
    • 소프트웨어 기반 스위치
    • Mininet을 이용한 오픈플로우 실험
      • Mininet 시작하기
      • Mininet으로 실험하기
    • 요약

  • 3장 오픈플로우 컨트롤러
    • SDN 컨트롤러
    • 기존 구현
      • NOX와 POX
      • POX 애플리케이션 실행하기
      • NodeFlow
      • 플러드라이트
    • OpenDaylight
      • 특별한 컨트롤러
    • 요약

  • 4장 환경 구성
    • 오픈플로우 실험 환경 이해하기
      • 외부 컨트롤러
      • 오픈플로우 실험환경 완성하기
    • OpenDaylight
      • ODL 컨트롤러
      • ODL 기반 SDN 실험환경
    • 요약

  • 5장 네트워크 애플리케이션 개발
    • 네트워크 애플리케이션 1 – 이더넷 학습 스위치
      • 학습 스위치 구축하기
    • 네트워크 애플리케이션 2 – 간단한 방화벽
    • 네트워크 애플리케이션 3 – OpenDaylight에서의 간단한 포워딩
    • 요약

  • 6장 네트워크 슬라이싱
    • 네트워크 가상화
    • 플로우바이저
      • 플로우바이저 API
      • FLOW_MATCH 구조
      • 슬라이스 액션 구조
    • 플로우바이저 슬라이싱
    • 요약

  • 7장 클라우드 컴퓨팅에서의 오픈플로우
    • 오픈스택과 뉴트론
    • 오픈스택 네트워킹 구조
    • 뉴트론 플러그인
    • 요약

  • 8장 오픈 소스 프로젝트
    • 스위치
      • Open vSwitch
      • 판토우
      • 인디고
      • LINC
      • XORPlus
      • OF13SoftSwitch
    • 컨트롤러
      • 비콘
      • 플러드라이트
      • 마에스트로
      • 트레마
      • FlowER
    • 기타
      • 플로우바이저
      • 에이비어
      • 라우트플로우
      • OFlops과 Cbench
      • OSCARS
      • 트위스터
      • FortNOX
      • Nettle
      • Frenetic
      • OESS
    • 요약
  • 찾아보기

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안