오픈 소스를 활용한 단순 패킷 제어부터
실시간 트래픽 현황 모니터링까지
직접 실습하며 제대로 이해하는 SDN 기술
이 책은 SDN에 대한 기본 개념과 구조를 파악하고, 해당 SDN을 구성하는 각 요소의 역할과 기능들을 이해하고 전체적인 SDN의 콘셉트와 기본 동작 원리를 알기 쉽게 소개하는 것을 목표로 한다. 또한 오픈 소스를 활용한 여러 실습을 통해 상용 네트워크 망에서 SDN이 어떻게 적용되고 활용할 수 있는지도 알려 준다. 네트워크를 처음 배우는 사람뿐만 아니라 현업 네트워크 실무자도 SDN에 대한 이해가 필요하다면 꼭 한 번 읽어야 할 책이다.
Contents
Chapter 01 SDN의 이해
_1.1 SDN 이해에 필요한 네트워크 기본 개념
__1.1.1 네트워크란?
__1.1.2 네트워크 관리의 주체, '네트워크 서비스 제공자'
_1.2 종래의 네트워크 구조를 통해 SDN 이해하기
__1.2.1 네트워크 장비로 보는 종래의 네트워크 구조와 그 한계
__1.2.2 효율적인 네트워크 관리 방법, SDN의 등장
__1.2.3 종래 네트워크와 SDN의 구조 비교
_1.3 SDN의 등장 이전 중앙집중식 네트워크 구조와 그 한계
_1.4 SDN의 핵심 구성 요소 파악하기
Chapter 02 SDN 제어기
_2.1 OpenDaylight
__2.1.1 1등 SDN 제어기, OpenDaylight
__2.1.2 네트워크 솔루션 제공 업체 중심의 SDN 제어기
__2.1.3 OpenDaylight 상용화 현황
__2.1.4 OpenDaylight 배포판 현황
__2.1.5 OpenDaylight 구조 분석
_2.2 ONOS
__2.2.1 통신 사업자 중심의 SDN 제어기
__2.2.2 ONOS 상용화 현황
__2.2.3 ONOS 배포판 현황
__2.2.4 ONOS 구조 분석
_2.3 Floodlight
__2.3.1 OpenDaylight와 형제 SDN 제어기
__2.3.2 Floodlight 구조 분석
__2.3.3 Floodlight 상용화 현황
__2.3.4 Floodlight 배포판 현황
_2.4 오픈 소스 SDN 제어기 비교
Chapter 03 SDN 프로토콜, OpenFlow
_3.1 OpenFlow의 기본 구조
__3.1.1 SDN 제어기와 SDN 스위치 사이의 연결 구조
__3.1.2 플로우 테이블의 구조와 동작 과정
_3.2 OpenFlow로 살펴보는 SDN의 동작 과정
__3.2.1 리액티브(Reactive) 방식의 플로우 정책 설정 과정
__3.2.2 프로액티브(Proactive) 방식의 플로우 정책 설정 과정
__3.2.3 리액티브 방식과 프로액티브 방식 비교
_3.3 OpenFlow 기술 동향
__3.3.1 OpenFlow 배포 현황
__3.3.2 SDN 제어기의 OpenFlow 지원 현황
Chapter 04 SDN 스위치
_4.1 SDN 스위치의 구조
__4.1.1 외부 구조
__4.1.2 내부 구조
_4.2 SDN 스위치의 두뇌, ASIC
__4.2.1 ASIC의 역할
__4.2.2 제조사별 ASIC 비교 분석
__4.2.3 프로그래밍 가능한 ASIC
__4.2.4. 프로그래밍 가능한 ASIC이 가져온 변화
_4.3 네트워크 운영체제, NOS
__4.3.1 NOS의 종류와 구분
__4.3.2 NOS 분석 (1) - Cumulus Linux
__4.3.3 NOS 분석 (2) - PicOS
__4.3.4 NOS 분석 (3) - OF-DPA
__4.3.5 NOS 요약 정리
_4.4 개방형 네트워크 스위치, '화이트 박스(White-Box) 스위치'
__4.4.1 화이트박스 스위치란?
__4.4.2 화이트박스 스위치의 등장 배경
__4.4.3 범용 NOS 인스톨러, ‘ONIE’
__4.4.4 업체별 화이트박스 스위치 비교 분석하기
Chapter 05 SDN 실습 기초편 : SDN 제어기로 플로우 정책 설정하기
_5.1 사전 실습 준비 사항
__5.1.1 우분투(Ubuntu) 22.04 LTS 서버 설치
__5.1.2 라즈베리 파이3에 우분투 마테(Ubuntu MATE) 20.10 버전 설치
__5.1.3 우분투 네트워크 설정하기
__5.1.4 도커(Docker) 컨테이너 환경 구축
_5.2 OpenDaylight로 일반 TCP 패킷 제어하기
__5.2.1 OpenDaylight 설치 환경 구축
__5.2.2 자바(JAVA) 1.8 설치
__5.2.3 OpenDaylight 설치하기
__5.2.4 OpenDaylight GUI 설치
__5.2.5 OpenFlow 관련 Feature 설치
__5.2.6 가상 네트워크 구성
__5.2.7 가상 네트워크 구조 파악
__5.2.8 OpenDaylight로 플로우 정책 설정
__5.2.9 호스트 간 통신 과정 분석
__5.2.10 네트워크 토폴로지 정보 확인
_5.3 ONOS로 VLAN 패킷 제어하기
__5.3.1 실습 구조 소개
__5.3.2 ONOS 설치 환경 구축
__5.3.3 ONOS 설치 및 실행(1) - 소스 파일 직접 빌드하여 설치/실행하기
__5.3.4 ONOS 설치 및 실행(2) - 도커(Docker) 컨테이너로 ONOS 실행하기
__5.3.5 ONOS CLI 접속
__5.3.6 ONOS GUI 접속
__5.3.7 OpenFlow 앱 실행
__5.3.8 라즈베리파이에 물리 네트워크 구성
__5.3.9 VLAN 설정
__5.3.10 Open vSwitch 가상 네트워크 구성
__5.3.11 Open vSwitch를 ONOS에 연결
__5.3.12 Open vSwitch 연결 구조 파악
__5.3.13 VLAN 플로우 정책 설정
__5.3.14 호스트 간 통신 과정 분석
__5.3.15 네트워크 토폴로지 확인
Chapter 06 SDN 실습 고급편 : SDN으로 실시간 트래픽 처리량 출력하기
_6.1 실습 구조 소개
_6.2 단계 1: Mininet + ONOS 구성
__6.2.1 ONOS 설치 및 애플리케이션 실행
__6.2.2 가상 네트워크 구성
__6.2.3 호스트 간 통신 테스트
_6.3 단계 2: Celery 구성
__6.3.1 Celery 설치
__6.3.2 RabbitMQ 설치
__6.3.3 트래픽 처리량 계산 공식 도출
__6.3.4 Celery 태스크 생성
_6.4 단계 3: InfluxDB 구성
__6.4.1 InfluxDB 설치
__6.4.2 DB 생성
__6.4.3 데이터베이스에 트래픽 처리량
_6.5 단계 4: Grafana 구성
__6.5.1 Grafana 설치
__6.5.2 Grafana와 InfluxDB 연동
__6.5.3 Grafana 대시보드 설정
__6.5.4 그래프 타이머 설정
__6.5.5 그래프 동작 확인
Chapter 07 5G 시대 미래 SDN의 전망
_7.1 기업에서 바라보는 5G와 SDN의 위치와 역할
__7.1.1 화웨이(Huawei)
__7.1.2 시스코(Cisco)
__7.1.3 노키아(Nokia)
__7.1.4 시에나(Ciena)
_7.2 국내 통신사에서 바라보는 5G와 SDN의 위치와 역할
__7.2.1 KT
__7.2.2 SK 텔레콤
__7.2.3 LG U+
_7.3 5G 네트워크 환경에서 SDN의 역할 요약
Author
강효성
경희대학교 컴퓨터공학 학/석사 졸업 후, KT 연구개발센터에서 SDN 및 5G 이동통신 기술을 연구했으며, 이후 LG 유플러스를 거쳐 현재 삼성SDS 연구소에서 미래 네트워크 기술 개발 및 연구를 담당하고 있다. 간간이 오픈 소스 커뮤니티 활동 및 해커톤 대회 참여를 하고 있으며 2018년에는 과기부 장관상을 수상하였다. 지금은 개인 블로그를 통해 오픈 소스와 하드웨어 관련 글을 올리고 있다.
경희대학교 컴퓨터공학 학/석사 졸업 후, KT 연구개발센터에서 SDN 및 5G 이동통신 기술을 연구했으며, 이후 LG 유플러스를 거쳐 현재 삼성SDS 연구소에서 미래 네트워크 기술 개발 및 연구를 담당하고 있다. 간간이 오픈 소스 커뮤니티 활동 및 해커톤 대회 참여를 하고 있으며 2018년에는 과기부 장관상을 수상하였다. 지금은 개인 블로그를 통해 오픈 소스와 하드웨어 관련 글을 올리고 있다.