30
SDN 실증테스트베드 기술서 -Tech. Document for SDN Test-bed- (주관기관 : 한국과학기술정보연구원)

SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

SDN 실증테스트베드 기술서-Tech. Document for SDN Test-bed-

(주관기관 : 한국과학기술정보연구원)

2017. 11

Page 2: SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

- 2 -

차 례

1장. SDN정의와 현황 ························································3

2장. Opendaylight 설치 ···················································9

3장. SDN테스드베드 구축 ··············································17

4장. 결 론 ·········································································30

Page 3: SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

- 3 -

1 장. SDN의 정의와 현황

최근 네트워크 산업의 이슈로 부상하고 있는 SDN은 'Software

Defined Networking'의 약자로 소프트웨어 정의 네트워킹이라고도 할

수 있습니다.

SDN은 기존 인터넷의 장비를 대표하는 일반적 네트워크 장비에서

하드웨어 기능과 소프트웨어 기능을 분리해 내는 것입니다. 인터넷의

발전과 함께 증가하고 있는 데이터와 데이터의 다양성, 그리고 멀티미

디어 데이터의 품질향상에 따른 데이터의 증가는 하나의 네트워크 장

비에서 처리하기 위해 점점 고사양의 네트워크 장비를 요구하게 되었

으며, 네트워크 장비뿐아니라 트래픽의 송수신에 사용되는 회선 대역

폭의 증가는 광 네트워크 기술의 발전에 따라 변화하게 되는데 대표적

으로는 네트워크 장비의 Control Plane과 Data Plane을 분리하는 아키

텍처입니다. [그림1]

그림 4 SDN의 구조

현재의 일반적인 네트워크에서 연산 기능을 담당하고 있는 Control

Plane은 네트워크 시스템과 함께 제공되기 때문에 해당구조만을 따로

선택해서 소프트웨어와 분리된 네트워크를 구성할 수 없는 구조입니

다. 하지만, SDN은 연산 기능을 담당하는 Control Plane을 Data Plane

으로부터 물리적으로 분리해내어 다양한 네트워크 요구 사항들을 수용

Page 4: SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

- 4 -

한 유연한 네트워크 구현을 가능하도록 합니다.

기존의 하드웨어 중심의 네트워크에서 소프트웨어 중심의 네트워크로

아키텍처를 변화시켜, 벤더 종속성에서 벗어나 사용자 중심의 네트워

크 관리와 운영을 가능하게 하도록 하는 진화된 네트워크 구조입니다.

1. Openflow (오픈플로우)

앞에서 소개 했듯이 일반적으로 SDN은 제어플랜(Control Plane)과 Data

Plane에 대한 분리에 따라 물리적인 복잡한 네트워크 구조와 역할을 지능화

하고 관리하기 유용한 네트워크를 만드는데 목적이 있습니다.

이러한 목적을 위해서는 표준프로토콜 즉, OpenFlow와 같은 프로토콜의

제어와 활용이 필요하며, 또한 이러한 프로토콜이 광범위한 대역에서 활용

되고 관리되기 위해서는 표준프로토콜이 필요할 뿐 아니라, 가상의 컴퓨터,

스토리지, 이러한 항목들이 장치들과 컨트롤러를 위한 장치제어기

(Controller)가 필요합니다.

다음은 OpenFlow에 대한 간단한 정의와 용어의 설명입니다.

가. OpenFlow의 정의

오픈플로우 장치들과 컨트롤러간의 통신에 사용되는 프로토콜로 중앙집중

형 관리와 네트워크 요소의 관리포인트가 되는 컨트롤러간의 통신, 그리고

노스바운드(North) API를 통해 애플리케이션의 서비스 요청을 위해 사용되

는 입출입 통로로 사용됩니다. 또한 오픈플로우 장치로는 컨트롤러 관리를

받는 오픈플로우 장치로 구성됩니다.

대표적으로 이러한 오픈플로우 장치는 개방형으로 구성되며 하드웨어 또

는 소프트웨어 형태로 제시되고 있으며 인디고, 큐플러스, OVS, LINC등이

있습니다.

나. OpenFlow 역할

OpenFlow의 역할은 네트워크 제어능력 향상 즉 일반적이 레거시(legacy)

네트워크 이상의 제어능력을 제공하기 위함입니다. 대표적으로 원하는 경로

설정이나 네트워크 가시성 이를 통한 API 및 개방형 하드웨어의 사용등과

Page 5: SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

- 5 -

네트워크의 활용성 극대화로 비용절감 효과 등의 역할을 할 수 있습니다.

다. Openflow와 SDN

SDN와 Openflow 프로토콜의 관계는 상호간의 작동하는 플레임워크를 제

공하고 전체적인 구조의 연계를 가지게 됩니다. SDN은 어플리케이션과 서비

스, Control plan과 네트워크 OS, 그리고 Dataplan에서 스위치와 네트워크 구

성요소 전반을 나타내며, Openflow는 네트워크 요소와 네트워크 OS를 연결

하고 제어하는 역할을 수행합니다.

또한 Openflow는 서비스별 또는 플로우별 설정을 통해 NFV 즉 네트워크

기능적 가상화의 경로 및 서비스 최적화 역할을 하며 오케스트레이션

(Orchestration), 서비스체이닝(Service Chaining), APP을 연결하는 NFV에서

Openflow를 사용하는 예로 들수 있습니다.

그림 5. SDN Tier

3. Controller(Opendaylight) 소개

가. SDN 컨트롤러

Openflow와 이를 구성하는 제어시스템, Openflow스위치, Flow의 전송과

전달, 테이블과 엔트리, 이를 네트워크 스위치에 설정하고 네트워크의 동작

을 제어하는 스위치 설정을 위해 필요한 Openflow-Config 등의 일련의 과정

과 기능으로 구성되어 있습니다.

Page 6: SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

- 6 -

그림 6. SDN Controller

본 문서에 설치하고 테스트를 목적으로 하고 있는 SDN 컨트롤러는 SDN

네트워크 전체에 대한 통합적 제어를 가진 중앙집중형 네트워크 제어시스템

을 정의합니다.

즉, 어플리케이션과 네트워크 장비 사이를 연결시켜주는 인터페이스로서

직적 네트워크 상에서 입출입되는 패킷을 처리하기 위한 플로우테이블을 소

유하고 사용자가 플로우를 제어하기 위한 사용자 인터페이스(UI)를 제공하

며, 또한 네트워크 상에서 추가적인 기능 예를 들면 Layer4, 방화벽, 로드밸

런스(Load balance)등의 추가적인 기능을 부여하는 역할을 수행합니다.

나. SDN Architecture including Openflow

위 그림에서와 같이, Control Layer부분과 Application Layer부분이

최근 활발히 연구 개발되고 있습니다. 그 중 Control Layer부분은

Controller가 많은 비중을 차지하는데, 이미 많은 벤더들이 많은

Page 7: SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

- 7 -

OpenFlow 기반의 Controller를 제공하고 있습니다.

다. Controllers의 종류

SDN의 Controller 가운데 Open Source로 운영되는 것은 대표적으로

다음과 같습니다. 대부분 Java언어로 구현되어 있는 특징이 있습니다.

a. NOX - C++/Python

b. Beacon - Java

c. Floodlight - Java

d. Maestro - Java

e. RouteFlow - NOX, Quagga

라. 보안을 위한 Open Source

a. FortNOX : Java 기반의 SE-FloodLight, 공격 감지, 인증

  스위치의 Flow 처리 성능 고려

b. FRESCO : OpenFlow Controller와 OpenFlow application 사이에

빠른 보안 이슈 감지 모듈, 보안 서비스의 효과적으로 적용하기

위한 Open Flow application framework

c. Resonance : NOX와 OpenFlow를 사용하는 NAC(Network Access

Control) application

d. Security Requirements in the SDN Model, IETF에서 제안중인

프로토콜로, Open Flow와 같이 SDN controller 혹은 application

e. Cloud Management Platform(CMP) : OpenStack의 Quantum

Stateful Firewall등의 보안 기능

 마. Open Networking User Group에 의한 SDN의 5가지 권장사항

Open Network는 상호 호환이 가능해야 하며, Open Network는

벤더에 종속되지 않고, 독립적이어야 합니다. 이를 기준으로 Open

Network는 Northbound형식으로 자유롭게 프로그래밍이 가능해야

SDN의 장점을 충분히 살릴 수 있으며, 추가적으로 네트워크의

가시화와 모니터링이 가능해야 합니다.

Page 8: SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

- 8 -

4. SDN의 과제

http://www.ddaily.co.kr/news/news_view.php?uid=105141

위 사이트에서와 같이, SDN는 현재 개발과 테스트베드 하에 있습니다.

SDN은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다.

현재 기술 수준의 SDN으로는 기존 레거시 네트워크를 대처할 만한

비용 절감 효과를 보기 어렵다. 따라서, 충분한 기술 확보와

평가 등이 완료되어야 하고, 그 시점에서는 현재 비용보다 약

50%정도 절감 효과를 볼 수 있다. 아직 갈 길이 멀다는

얘기이다.

현재 개발이 완료된 controller와 appllication의 가격 단가가

고가이다보니, 초기투자비용이 많이 든다. 뿐만 아니라 운영비용

또한 많이 드는데, 이는 관리 자동화와 설정 또는 트러블

발생률을 기존 레거시 수준까지 올려야 비용 절감 효과를 볼 수

있다.

SDN의 최대 장점은 유연성이라고 할수 있습니다. 다양한 네트워크구조

와 설계, 각 환경에 맞게 controller와 application 개발 및 설정이 레거

시보다 현저히 유연성을 가진다는 점입니다.

하지만, 오픈플로우 스위치에서의 플로우 테이블 폭증 또는 다중 컨트

롤러 간의 메시징 처리 성능은 지속적으로 관리되고, 해결되어야 문제

이며, 각자가 개발한 소프트웨어의 특성과 컨트롤러의 상호 호환성 문

제 역시 필수적으로 해결되어야 할 문제입니다.

Page 9: SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

- 9 -

2 장. Opendaylight 설치

SDN에서는 하드웨어와 소프트웨어의 분리에 따라 각 하드웨어를 제

어해야 하는 컨트롤러의 성능과 호환성이 매우 중요합니다. SDN의 최

대 장점인 네트워크 구성의 유연성을 살리기 위해서는 각 환경에 최적

화된 컨트롤러의 설치와 운영, 개발은 매우 중요합니다. 본 2장에서는

컨트롤러 중에서 가장 대표적인 Opendaylight를 설치하면서, 컨트롤러

의 구조와 SDN에서의 역할을 이해 할 수 있습니다.

1. JAVA 설치

- Opendaylight 컨트롤러는 일반적으로 JVM에서 실행

- Java가 실행되는 시스템을 기반으로 설치 및 실행이 가능

· 현재 배포되는 Linux 기반

· Java Virtual Machine 1.7

가. 기본 설치

- 다음 Step을 따라 최근 버전(Build) 준비

https://jenkins.opendaylight.org/controller/job/controller-merge/lastSuccessf

ulBuild/artifact/opendaylight/distribution/opendaylight/target/

그림 7. JAVA 설치(1)

Page 10: SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

- 10 -

그림 8 . JAVA 설치(2)

- JVM 1.7 + 설치 및 (JAVA_HOME 환경변수 지정)

그림 9. JAVA 설치(3)

Page 11: SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

- 11 -

java -version

/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents

cd

/System/Library/Frameworks/JavaVM.framework/Versions/

sudo rm CurrentJDK

sudo ln -s

/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents

CurrentJDK

- JAVA_HOME 환경변수 지정

- Windows

- MAC터미널에서 현재 Java 버전을 확인합니다.

현재 버전이 1.7이 아니라면 아래 절차를 수행합니다.

2. 기본 자바 변경하기

새로운 버전을 설치 했음에도 예전 버전으로 실행되는 이유는

기본적으로 실행되는 자바의 버전이 1.7이 아니기 때문에 새로운

자바가 아래 경로에 설치 되어 있다고 가정합니다.

이를 변경하기 위해서는 아래의 절차를 수행한다.

3. Mac에 Java 설치

jre-7u6-macosx-x64.dmg 파일을 다운로드합니다.

파일을 다운로드하기 전에 라이센스 계약서의 내용을 검토하고 동의

하고,

.dmg 파일을 두 번 눌러 시작합니다.

Page 12: SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

- 12 -

그림 10. JAVA 설치(Mac OSX)

패키지 아이콘을 두 번 눌러 설치 마법사를 시작합니다.

4. Opendaylight 설치 및 실행

압축을 푼 디렉토리(폴더)를 보면 다음과 같은 파일들이 생성되며,

run.sh - 유닉스/리눅스 시스템상에서 Opendaylight 설치

run.bat - 윈도우즈 시스템상에서 Opendaylight 설치

version.properties : Build 버전정보 표시

configuration - 기본적 설치파일 설정

lib - Java libraries

와 같이 설치를 진행합니다.

- ./run.sh or ./run.bat 실행 (관리자 계정으로 실행)

Page 13: SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

- 13 -

그림 11. Opendaylight 설치

- 설치후 http://controller-ip:8080 로 접속

- User: admin

- Password: admin

그림 12. Opendaylight 접속화면

Page 14: SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

- 14 -

mininet@mininet-vm:~$ sudo mn

--controller=remote,ip=172.16.102.161 --topo

tree,3Creating networkAdding controllerAdding hosts:h2

h3 h4 h5 h6 h7 h8 Adding switches:s2 s3 s4 s5 s6 s7

Adding links:s3) (h2, s3) (h3, s4) (h4, s4) (h5, s6) (h6,

s6) (h7, s7) (h8, s7) (s1, s2) (s1, s5) (s2, s3) (s2, s4)

(s5, s6) (s5, s7) Configuring hosts h2 h3 h4 h5 h6 h7 h8

Starting controllerStarting 7 switchess2 s3 s4 s5 s6 s7

Starting CLI:

그림 13. Opendaylight 기본적 네트워크 구성화면

Page 15: SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

- 15 -

그림 14. Tree형 네트워크 구성화면

그림 15. Tree형 네트워크 IP구성

그림 16. 네트워크 구성요소 추가(1)

Page 16: SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

- 16 -

그림 17. 네트워크 구성요소 추가(2)

Page 17: SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

- 17 -

제 3 장. SDN 테스트베드 구축

1. SDN 스위치 세팅

전체적인 테스트베드의 구성을 세팅하기 위해서는 각 자원 즉, 서버,

스위치의 IP address의 변경을 우선하여야 한다. 각 요소 전체는 내부

네트워크의 대역에 맞도록 구성되어야 하며, 변경의 순서는 다음과

같이 진행한다. 스위치IP의 변경, 물리서버의 IP 변경, 마지막으로

서버 내 가상머신들의 IP 변경을 차례로 구성합니다.

1) 스위치 IP 변경

- VLAN 생성 : 스위치에 접속하여 Configure 모드에서 VLAN

생성합니다.

- VLAN 설정 확인 : VLAN ID 와 name 을

확인합니다.

Page 18: SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

- 18 -

2. SDN 테스트베드

본 기술서에서 구성하는 SDN테스트베드의 구조는 다음 그림과 같이

4개의 SDN스위치와 2개의 메인서버, 5개의 가상단말로 구성을 목표로

합니다.

각 스위치는 4개의 각기 다른 OpenFlow버전(1.0,1.2)로 구성되며, 메인

서버에는 다양한 컨트롤러를 추가하여, 동일한 네트워크 상에서 다양

한 목적과 용도에 따른 컨트롤러를 테스트 할수 있는 환경 구축을 목

표로 합니다.

컨트롤러가 설치된 서버와 연결되는 각 스위치에는 다음 표와 같이

단말과 서버들을 직접 연결하여, 다양한 플로우를 테스트 할 수 있도

록 구성합니다. 추가적으로 각 스위치의 포트는 매니지먼트포트와 데

이터 흐름 포트로 각기 구성하여, 상호간의 식별이 가능하도록 구성

합니다.

각 스위치와 시스템이 연결된 전체 구성도는 다음 그림과 같습니다. 스

위치간의 연결은 방사형으로 구성하여, 모든 스위치에서 서버와 단말에

연결되도록 구성합니다.

Page 19: SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

- 19 -

그림 18. SDN 테스트베드 구성(1)

모든 OpenFlow Controller는 HP DL320 Server#1의 VM형태로 설치되

어 있습니다. 또한, IP구성은 다음과 같이 10.0.0.0/24의 대역으로 구성

합니다.

그림 19. SDN 테스트베드 IP 구성

Page 20: SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

- 20 -

1. Controller IP 정보

① ODL Lithium: 10.0.0.151, (SSH)ID/PW: admin2/admin_01

② ONOS 1.4: 10.0.0.152, (SSH)ID/PW: admin2/admin_01

③ 기존 RAINBOW Controller: 10.0.0.251, (SSH)ID/PW: admin2/admin_01

VNC Viewer로 10.0.0.241(HP DL320 Server#1)에 접속하여 가상머신

관리자를 실행합니다.

$ virt-manager

그림 20. 가상머신 관리자 실행화면

테스트베드 내 Server, Raspberry Pi, OpenFlow Controller는 모두

Debian 계열의 Linux이므로 아래의 방법으로 변경합니다.

$ sudo vi /etc/network/interfaces

Page 21: SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

- 21 -

Rasberry Pi, Ubuntu 12.04인 경우,

$ sudo /etc/init.d/networking restart

Ubuntu 14.04인 경우 network interface를 변경한 후 system reboot이

필요합니다.

그림 21. 시스템 구성

Page 22: SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

- 22 -

# tar xvzf distribution-karaf-0.3.3-lithium-SR3.tar.gz

# cp –rf distribution-karaf-0.3.3-lithium-SR3 /opt/odl

# sudo apt-add-repository ppa:webupd8team/java

# sudo apt-get update && sudo apt-get –y install oracle-java8-installer

description "OpenDaylight SDN Controller"

start on runlevel [2345]

stop on runlevel [016]

console output

export JAVA_HOME=/usr/lib/jvm/java-8-oracle

script

start-stop-daemon --start --chuid ${ODL_USER:-root} \

--exec /opt/odl/bin/karaf

end script

# sudo service odl start

2. OpenDayLight Lithium 설치

가. 컨트롤러 설치

- Download :

https://www.opendaylight.org/software/downloads/lithium-sr3

- Version : Lithium SR3

나. 설정방법

- Java Install :

- Upstart 등록

- 서비스 시작

다. 접속 방법

- UI 접속 : http://ipaddress:8181/index.html (계정 admin/admin)

- Console 접속 : ssh 로 접속하며 8101 port를 사용하여 접속

Page 23: SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

- 23 -

라. Trouble Shooting

1) Case #1 : 6633 port not listen

- 현상 : Switch 에서 Openflow activate 하였으나 Opendaylight에서는

노드가 보이지 않는다.

- 해결방법 : Console 접속후 Feature 중 odl-openflowplugin-all 를

설치한다.

2) Case #2 : UI not shown

• 현상

- UI 접속하였으나 페이지를 열수없음 혹은 접속이 page not found

등의 메시지가 출력

- 해결방법 : Console 접속후 Feature 중 odl-dlux-core 를

설치한다.

3. ONOS 1.4 (1)

가. 설치방법

- Download : http://downloads.onosproject.org/release/onos-1.4.0.tar.gz

- Version : Emu 1.4.0

나. 설정방법

- Java 설치

- Upstart 등록

- 서비스 시작

- default feature 설치 (console 접속 후)

- 접속방법

- UI 접속 : http://ipaddress:8181/onos/ui (계정 admin/admin)

- Console 접속 : ssh 로 접속하며 8101 port를 사용하여 접속

Page 24: SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

- 24 -

openflow

controller-id 1 ip 10.0.0.251 controller-interface vlan 10

controller-id 2 ip 10.0.0.151 controller-interface vlan 10

controller-id 3 ip 10.0.0.152 controller-interface vlan 10

instance "odl"

member vlan 192

controller-id 2

enable

exit

instance "onos"

controller-id 3

exit

instance "rainbow"

controller-id 1

exit

enable

exit

oobm

ip address dhcp-bootp

4. SDN 스위치 설정방법

가. HP Switch는 VLAN 단위로 OpenFlow를 설정합니다.

- OpenFlow Instance마다 개별적인 Controller 설정이 가능합니다.

Page 25: SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

- 25 -

exit

vlan 1

name "DEFAULT_VLAN"

no untagged 3-24

untagged 1-2,25-26

no ip address

exit

vlan 10

name "MGMT"

untagged 3-12

ip address 10.0.0.221 255.255.255.0

exit

vlan 192

name "Data_Forwarding"

untagged 13-24

no ip address

exit

나. Brocade Switch: OpenFlow 설정 내용

Port 기반으로 Openflow Network이 설정됩니다, 또한 각 bridge 당 한

개의 Logical instance, 한 개의 Controller를 등록할 수 있습니다.

Page 26: SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

- 26 -

openflow-controller odl

ip address 10.0.0.151 method no-ssl

!

openflow-controller onos

ip address 10.0.0.152 method no-ssl

:

rbridge-id 1

:

openflow logical-instance 1

controller onos

default-behavior send-to-controller

activate

:

interface TenGigabitEthernet 1/0/13

lldp disable

openflow logical-instance 1

openflow enable

fabric isl enable

fabric trunk enable

fabric neighbor-discovery disable

no shutdown

5. OpenFlow Host 통신

가. Flow table확인

테스트베드에는 2개의 물리적인 호스트(Raspberry Pi)가 있습니다.

2개의 추가된 LAN 포트는 OpenFlow v1.0 zone과 OpenFlow v1.3 zone

으로 각각 연결되어 있습니다.

Raspberry Pi에서 eth1, eth2를 인식한 위치가 달라질 수 있으므로 확

Page 27: SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

- 27 -

인 후 통신 테스트를 진행 할 수 있습니다.

- eth1 192.168.113.12

- eth2 192.168.111.12

- eth1 192.168.113.11

- eth2 192.168.111.11

$ ping 192.168.113.12

$ ping 192.168.111.12

그림 22. 테스트 플로우 작동확인(1)

호스트 통신이 시작되면, 각 스위치에서 아래 명령어를 통해 Flow

table을 확인할 수 있습니다.

① HP Switch

# show openflow instance [인스턴스 이름] flows

② Brocade Switch

# show openflow flows

6. OpenFlow Host 통신

가. Link failover

현재 통신 중인 경로가 아래와 같을 때 , HP Switch 간 링크를

Page 28: SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

- 28 -

disable한 후 Controller에 의해 경로가 재계산되는 지 확인 할 수 있습

니다. 단, 최적 경로를 계산하는 방법이 Controller 마다 다를 수 있으

며, Controller에서 제공하는 API를 사용하여 Flow를 추가할 수 있습니

다.

그림 23. 테스트 플로우 작동확인(2)

다. Host 확장

- HP Switch에 Host연결

OpenFlow 인스턴스에 Member VLAN으로 VLAN192가 설정되어 있으므

로 해당 포트에 호스트를 연결합니다.

MGMT Network

(VLAN 10)

OpenFlow Network

(VLAN 192)

- 호스트 연결

라. Brocade Switch에 Host연결

호스트를 연결한 포트에 OpenFlow를 enable 합니다.

Page 29: SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

- 29 -

# interface TenGigabitEthernet 1/0/21

# lldp disable

# openflow logical-instance 1

# openflow enable

마. VM으로 호스트 확장

HP DL360 Server는 KVM으로 구성되어 있으므로, OVS에 VM을

연결하여 OpenFlow 호스트를 만들 수 있습니다.

- OVS에 VM 연결하는 방법

$ sudo virsh edit [VM 이름]

OpenFlow v1.3 호스트를 생성한 경우에는 source bridge를 br-of13으로

변경합니다.

Page 30: SDN 실증테스트베드 기술서 · 2018. 10. 15. · sdn은 많은 장점도 있지만 상존하는 문제점들은 다음과 같습니다. 현재 기술 수준의 sdn으로는

- 30 -

제 4 장. 결 론

SDN은 기존 하드웨어 중심의 IP를 통한 연결성 중심(Best-effort)의 일반

인터넷 서비스와 차별화된 기존 인터넷의 장비를 대표하는 일반적 네트워크

장비에서 하드웨어 기능과 소프트웨어 기능을 분리해 내는 것입니다. 인터

넷의 발전과 함께 증가하고 있는 데이터와 데이터의 다양성, 그리고 멀티미

디어 데이터의 품질향상에 따른 데이터의 증가는 하나의 네트워크 장비에서

처리하기 위해 점점 고사양의 네트워크 환경에 적합한 기술이라고 할수 있

습니다.

이러한 SDN 기술은 현재 인터넷의 수요와 요구조건보다 더욱 다양하고 유

연한 요구사항을 만족하고, 특정한 연구에서 네트워크를 통한 특정목적과

이를 위한 요구를 수용하기 위한 분리된 구조를 서비스에 적합하다고 할 수

있습니다.

본 기술문서에서 구축한 테스트베드를 기반으로 다양한 스위치와 컨트

롤러의 테스트와 실증적 실험은 기존 가상의 네트워크 테스트와 실제 네트

워크 상에서 구현한 망에서 제공하기 힘든 자원과 기술을 테스트할수 있을

뿐 아니라, 다양한 구조의 트래픽 흐름을 실제적으로 구성하여 테스트 할수

있습니다. 이를 실제 과학기술연구망의 백본에서 구성하기 위해서는 더욱

다양하고 실증적인 하드웨어와 컨트롤러의 고려가 필요합니다.

세계를 선도하는 과학기술 지식과 원천기술 창출을 지원하고 망기술을 해

당 연구에 제공하기 위해서는 유연한 네트워크 기술과 글로벌 협업 커뮤니

티에 연결되어 있는 글로벌 협업네트워크형 환경 연결과 지원이 필요하며,

단일채널에서 트래픽의 흐름과 성능보다 유연성과 소프트웨어적인 구성에

적합한 SDN 환경 구축이 필요합니다.