본문 바로가기
HOME> 보고서 > 보고서 검색상세

보고서 상세정보

OpenFlow 기반 KOREN 서비스 고도화 기술 연구
A Research on OpenFlow Technologies for Advancement of KOREN Service

  • 주관연구기관

    경남대학교
    KyungNam University

  • 연구책임자

    석승준

  • 참여연구자

    이승택   홍충선   이재화   박주현  

  • 보고서유형

    최종보고서

  • 발행국가

    대한민국

  • 언어

    한국어

  • 발행년월

    2009-12

  • 주관부처

    행정안전부

  • 사업 관리 기관

    한국정보화진흥원

  • 등록번호

    TRKO201000000556

  • DB 구축일자

    2013-04-18

  • 초록 


    ...


    본 과제를 통하여 확보를 목표로 하는 기술의 범위는 다음과 같다.
    $\cdot$ PC Box 기반 OpenFlow 스위치 구축 및 운영 기술: OpenFlow 기술이 적용된 상용 스위치는 현재 개발 중에 있...

    본 과제를 통하여 확보를 목표로 하는 기술의 범위는 다음과 같다.
    $\cdot$ PC Box 기반 OpenFlow 스위치 구축 및 운영 기술: OpenFlow 기술이 적용된 상용 스위치는 현재 개발 중에 있기 때문에 본 과제를 위한 테스트베드 구축 시 사용할 수 없다. 따라선 본 과제에서는 Linux 운영체제를 활용한 PC Box OpenFlow 스위치 개발 기술을 확보한다.
    $\cdot$ NetFPGA를 활용한 OpenFlow 스위치 구축 및 운영 기술: 저비용으로 고속의 Ethernet 스위치를 개발하기 위하여 PC Box에 NetFPGA PCI 카드와 관련 S/W를 활용한다. 또한 NetFPGA와 OpenFlow 스위치 S/W의 연동 기술을 확보한다.
    $\cdot$ national wide OpenFlow 네트워크 구축 및 운영 기술: KOREN의 국내 지역 노드에 OpenFlow 스위치를 설치하고 상호 연결하여 전국 규모의 백본 OpenFlow 테스트베드를 구축한다.
    $\cdot$ OpenFlow 컨트롤러 개발 기술: OpenFlow Controller는 OpenFlow 스위치의 동작을 제어해야 한다. 따라서 KOREN 서비스 고도화의 목적에 맞도록 OpenFlow Controller 개발기술을 확보한다.
    $\cdot$ OpenFlow 네트워크를 위한 Weather-Map 구축 기술: OpenFlow 테스트베드를 사용하는 실험 참여자들이 네트워크 현황을 모니터링 할 수 있도록 하기 위하여 OpenFlow 테스트베드용 Weather-Map 시스템을 개발한다.
    $\cdot$ 웹 기반 사용자 경로 관리 시스템 구축 기술: OpenFlow 네트워크 내 플로우 경로를 명시적으로 설정, 관리, 해제가 가능할 수 있도록 웹기반 시스템을 개발한다.
    본 과제의 목표를 달성하기 위하여 사업 팀에서는 테스트베드 구축, NOX 컨트롤러 개발, 웹 서버 개발, Weather-Map 구축으로 팀을 나눠서 진행하였다. 각 팀별 연구 목표는 다음과 같다.
    $\cdot$ 테스트베드 구축팀:
    - Linux Box 와 NetFGPA 카드를 활용한 OpenFlow 스위치 구현
    - OpenFlow 컨트롤러 구현
    - KOREN OpenFlow 테스트베드 구축
    $\cdot$ NOX 컨트롤러 개발팀:
    - 사용자 경로 관리시스템을 위한 NOX Application 프로그램 개발
    $\cdot$ 웹 서버 개발팀:
    - 사용자 경로 관리시스템을 위한 웹 서버 개발 및 구축
    $\cdot$ Weather-Map 구축팀:
    - OpenFlow 네트워크 토폴로지 및 트래픽 상황을 모니터링 할 수 있도록 Weather-Map 시스템 구축


  • 목차(Contents) 

    1. 제 1 장 서론 ...20
    2. 제 1 절 과제의 목적 및 중요성 ...20
    3. 제 2 절 연구목표 및 접근방법 ...21
    4. 제 2 장 관련기술 동향 ...24
    5. 제 1 절 OpenFlow Switching 기술 ...24
    6. 제 2 절 OpenFlow 연구 동향 ...46...
    1. 제 1 장 서론 ...20
    2. 제 1 절 과제의 목적 및 중요성 ...20
    3. 제 2 절 연구목표 및 접근방법 ...21
    4. 제 2 장 관련기술 동향 ...24
    5. 제 1 절 OpenFlow Switching 기술 ...24
    6. 제 2 절 OpenFlow 연구 동향 ...46
    7. 제 3 절 PerfSonar & Weather-Map 기술 ...53
    8. 제 3 장 OpenFlow 테스트베드 구축 ...63
    9. 제 1 절 OpenFlow 컴포넌트 설치/설정 ...63
    10. 제 2 절 KOREN OpenFlow 테스트베드 구성 ...78
    11. 제 4 장 Path Control System ...84
    12. 제 1 절 NOX Agent 개발 ...86
    13. 제 2 절 웹 서버 구축 ...102
    14. 제 3 절 Weather-Map 구축 ...131
    15. 제 5 장 OpenFlow 테스트베드 성능 평가 ...148
    16. 제 1 절 성능 평가 factor ...148
    17. 제 2 절 Latency 측정 ...149
    18. 제 6 장 결론 ...160
    19. 그림 목차
    20. 그림 1.1 KOREN OpenFlow 테스트베드 토폴로지 ...22
    21. 그림 1.2 사용자 Path 제어 서비스 개념도 ...23
    22. 그림 2.1 Experimenter's Dream(Vendor's Nightmare) ...25
    23. 그림 2.2 OpenFlow 스위치 ...26
    24. 그림 2.3 플로우 테이블 엔트리 ...27
    25. 그림 2.4 Rule(헤더 필드)에 포함된 세부정보 ...28
    26. 그림 2.5 Stats에 포함된 세부정보 ...29
    27. 그림 2.6 OpenFlow 스위치로 패킷이 입력될 때, 수행하는 기능들 ...30
    28. 그림 2.7 Plow lookup 절차 ...30
    29. 그림 2.8 NOX Controller - Network OS ...31
    30. 그림 2.9 NOX 컨트롤러의 구성 ...32
    31. 그림 2.10 NOX에서 제공하는 API와 이를 통해 작성된 NOX 컴포넌트들 ...33
    32. 그림 2.11 이벤트 등록의 예 ...34
    33. 그림 2.12 C++ 작성된 NOX 컴포넌트의 예 ...34
    34. 그림 2.13 Python으로 작성된 NOX 컴포넌트의 예 ...35
    35. 그림 2.14 ENVI, LAVI 개념 도 ...36
    36. 그림 2.15 ENVI의 개략적인 구조 ...36
    37. 그림 2.16 흐름도의 의미 ...37
    38. 그림 2.17 모듈 간 상호동작 ...38
    39. 그림 2.18 communication 모듈의 동작 ...39
    40. 그림 2.19 display 모듈의 동작 ...40
    41. 그림 2.20 사용자와 상호작용을 위한 프로세싱 파이프라인 ...41
    42. 그림 2.21 네트워크 모니터링의 예 ...42
    43. 그림 2.22 MobileVMs의 사용 예 ...43
    44. 그림 2.23 ElasticTree dashboard ...43
    45. 그림 2.24 dashboard for viewing a sliced network ...44
    46. 그림 2.25 OpenPipes 플랫폼을 위한 dashboard ...45
    47. 그림 2.26 KDDI - Stanford 간의 화상회의 시현 당시 네트워크 구조 ...47
    48. 그림 2.27 Hellios의 구조 ...48
    49. 그림 2.28 Roads의 구조 ...49
    50. 그림 2.29 SIGCOMM 2008에서 시연시의 네트워크 구조 ...51
    51. 그림 2.30 OpenFlowMPLS의 구조 ...52
    52. 그림 2.31 PerfSONAR 프레임워크 개념도 ...55
    53. 그림 2.32 perfSONAR UI ...60
    54. 그림 2.33 CNM ...61
    55. 그림 2.34 The Looking Glass ...62
    56. 그림 3.1 self-test 환경 설정 ...67
    57. 그림 3.2 regression-test 환경 설정 ...68
    58. 그림 3.3 OpenFlow 스위치/NOX 테스트를 위한 네트워크 구성도 ...72
    59. 그림 3.4 Ping 플로우 생성 전 OpenFlow Switch2 플로우 테이블 ...76
    60. 그림 3.5 Ping 플로우 생성 후 OpenFlow Switch2 플로우 테이블 ...76
    61. 그림 3.6 Ping 플로우 생성을 위한 OpenFlow 메시지 교환 ...77
    62. 그림 3.7 KOREN OpenFlow 테스트베드 토폴로지 ...78
    63. 그림 3.8 KOREN 노드 구성 방법 ...79
    64. 그림 3.9 OpenFlow 스위치 연결 방법 ...79
    65. 그림 3.10 (논리적인) 네트워크 구성도 ...80
    66. 그림 3.11 VLAN 설정을 위해 사용되는 시스코 cat4006 스위치 ...81
    67. 그림 3.12 KOREN OpenFlow 테스트베드 구성도 ...83
    68. 그림 4.1 Flow-Path Control System ...84
    69. 그림 4.2 Path Control System의 상세 구성 ...85
    70. 그림 4.3 Command message의 처리를 위한 동작 ...86
    71. 그림 4.4 link 정보 생성을 위한 동작 ...87
    72. 그림 4.5 NOX 컨트롤러 상에서 동작하는 NOX Application ...88
    73. 그림 4.6 User_datapath_f1ow 모듈의 동작 ...92
    74. 그림 4.7 command message ...94
    75. 그림 4.8 link message ...94
    76. 그림 4.9 전송된 command msg.와 flow-table entry ...95
    77. 그림 4.10 Loop Clear 모듈을 이용 수동으로 루프를 제거한 예 ...97
    78. 그림 4.11 Link stats Module의 동작 ...99
    79. 그림 4.12 NOX 컨트롤러에서 송신한 link stat 메시지 ...101
    80. 그림 4.13 Web 서버에서 수신한 link stat 메시지 ...101
    81. 그림 4.14 시스템 구성도 ...102
    82. 그림 4.15 Socket 통신 모듈의 구조 ...104
    83. 그림 4.16 Path Message의 구조 ...105
    84. 그림 4.17 Socekt 모듈의 Path Message 전송을 위한 플로우 차트 ...106
    85. 그림 4.18 Socekt 모듈의 Node/Link Message 수신을 위한 플로우 차트 ...107
    86. 그림 4.19 User Control Path System 모듈의 구조 ...107
    87. 그림 4.20 Path 설정과 삭제시 웹 어플리케이션의 동작 ...109
    88. 그림 4.21 Topology Learning시 웹 어플리케이션의 동작 ...110
    89. 그림 4.22 웹 UI의 첫 화면 ...113
    90. 그림 4.23 로그인 화면 ...114
    91. 그림 4.24 회원 가입 화면 ...115
    92. 그림 4.25 관리자 페이지 ...115
    93. 그림 4.26 회원 정보 열람 ...116
    94. 그림 4.27 회원 가입 승인 ...117
    95. 그림 4.28 회원 정보 삭제 ...118
    96. 그림 4.29 Flow Path 열람 ...119
    97. 그림 4.30 노드 정보 수정 ...120
    98. 그림 4.31 노드 정보 동적으로 추가 ...121
    99. 그림 4.32 링크 정보 열람 ...122
    100. 그림 4.33 사이의 링크를 동적으로 생성하거나 삭제 ...123
    101. 그림 4.34 웨더맵 ...124
    102. 그림 4.35 경로 설정을 위하여 최초 로그인 한 화면 ...125
    103. 그림 4.36 경로 선택하는 화면 ...126
    104. 그림 4.37 경로 설정 후에 노드의 정보를 입력하는 메뉴 ...127
    105. 그림 4.38 패스 생성 뒤에 리스트에 패스가 뜬 모습 ...128
    106. 그림 4.39 플로우 패스 생성 뒤의 세부 정보 열람 화면 ...129
    107. 그림 4.40 플로우 패스 생성시 중복처리 메뉴 ...130
    108. 그림 4.41 1차 구현 토폴로지 ...133
    109. 그림 4.42 Cacti 설정 화면 ...137
    110. 그림 4.43 Device 추가 ...138
    111. 그림 4.44 Port 선택 ...139
    112. 그림 4.45 생성된 그래프 ...139
    113. 그림 4.46 1차 버전 완성화면 ...140
    114. 그림 4.47 Weather-Map 시스템 구성도 ...144
    115. 그림 4.48 Weather-Map 완성도 ...147
    116. 그림 5.1 Openflow 스위치 서버에서 NOX로의 연결 ...148
    117. 그림 5.2 호스트간 Ping test의 예(서울->수원) ...149
    118. 그림 5.3 서울 노드를 중심으로 측정한 latency ...150
    119. 그림 5.4 수원 노드를 중심으로 측정한 latency ...150
    120. 그림 5.5 대전 노드를 중심으로 측정한 latency ...151
    121. 그림 5.6 대구 노드를 중심으로 측정한 latency ...151
    122. 그림 5.7 광주 노드를 중심으로 측정한 latency ...152
    123. 그림 5.8 부산 노드를 중심으로 측정한 latency ...152
    124. 그림 5.9 제주 노드를 중심으로 측정한 latency ...153
    125. 그림 5.10 대구 노드에 Iperf UDP 서버 설정 ...154
    126. 그림 5.11 대구 노드에 Iperf UDP 서버 설정 ...155
    127. 그림 5.12 서울 노드를 중심으로 측정한 bandwidth ...156
    128. 그림 5.13 수원 노드를 중심으로 측정한 bandwidth ...156
    129. 그림 5.14 대전 노드를 중심으로 측정한 bandwidth ...157
    130. 그림 5.15 대구 노드를 중심으로 측정한 bandwidth ...157
    131. 그림 5.16 광주 노드를 중심으로 측정한 bandwidth ...158
    132. 그림 5.17 부산 노드를 중심으로 측정한 bandwidth ...158
    133. 그림 5.18 제주 노드를 중심으로 측정한 bandwidth ...159
    134. 표 목차
    135. 표 2.1 ENVI 확장 ...41
  • 참고문헌

    1. 전체(0)
    2. 논문(0)
    3. 특허(0)
    4. 보고서(0)

 활용도 분석

  • 상세보기

    amChart 영역
  • 원문보기

    amChart 영역