KR20160115050A - 패킷 전달 경로의 서비스 품질 제어를 위한 오픈플로 컨트롤러 및 그 방법 - Google Patents

패킷 전달 경로의 서비스 품질 제어를 위한 오픈플로 컨트롤러 및 그 방법 Download PDF

Info

Publication number
KR20160115050A
KR20160115050A KR1020150041728A KR20150041728A KR20160115050A KR 20160115050 A KR20160115050 A KR 20160115050A KR 1020150041728 A KR1020150041728 A KR 1020150041728A KR 20150041728 A KR20150041728 A KR 20150041728A KR 20160115050 A KR20160115050 A KR 20160115050A
Authority
KR
South Korea
Prior art keywords
packet
path
quality
edge switch
service
Prior art date
Application number
KR1020150041728A
Other languages
English (en)
Inventor
김태홍
신지수
이병준
박세형
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020150041728A priority Critical patent/KR20160115050A/ko
Publication of KR20160115050A publication Critical patent/KR20160115050A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1507Distribute and route fabrics, e.g. sorting-routing or Batcher-Banyan

Abstract

패킷 전달 경로의 서비스 품질 제어를 위한 오픈플로 컨트롤러 및 그 방법이 개시된다. 본 발명의 일 실시 예에 따른 오픈플로 컨트롤러는 소스 호스트에 연결된 제1 에지 스위치와 목적지 호스트에 연결된 제2 에지 스위치로부터 수신 패킷 처리 요청을 수신하는 수신부와, 제1 에지 스위치의 패킷 처리 요청에 따라 제1 에지 스위치와 제2 에지 스위치 간의 종단 간 패킷 전달 경로를 결정하고 제2 에지 스위치의 패킷 처리 요청에 따라 종단 간 패킷 전달 경로의 서비스 품질을 측정하는 제어부와, 제어부를 통해 결정된 종단 간 패킷 전달 경로 상의 적어도 하나의 스위치에 패킷 전달을 위한 제어 명령을 송신하는 송신부를 포함한다.

Description

패킷 전달 경로의 서비스 품질 제어를 위한 오픈플로 컨트롤러 및 그 방법 {OpenFlow controller and method for managing QoS of packet forwarding path in OpenFlow network}
본 발명은 네트워크 기술에 관한 것으로, 보다 상세하게는 네트워크 관리 및 제어 기술에 관한 것이다.
소프트웨어 정의 네트워크(Software Defined Network: SDN, 이하 SDN이라 칭함) 기술은 기존의 하드웨어 형태의 네트워크 장비에서 자체적으로 수행하는 패킷 처리와 관련된 제어 동작을 컨트롤러가 대신하여 처리하는 기술로 이해될 수 있다. 컨트롤러는 제어 동작을 프로그램하여 네트워크 전체를 손쉽게 관리하고 제어할 수 있는 소프트웨어 형태로 제공되는 플랫폼(platform)으로 정의될 수 있다.
현재 기존의 네트워크가 가진 여러 가지 문제점을 해결하기 위해, SDN 기술에 대한 필요성이 강하게 요구되고 있다. 이러한 SDN 구조를 갖는 다양한 네트워크 플랫폼의 표준화 및 상용화를 위한 논의가 진행되고 있다. SDN 구조를 갖는 네트워크 플랫폼을 상용화하기 위한 표준으로 오픈플로(OpenFlow)가 있다. 오픈플로는 패킷 포워딩(packet forwarding) 기능을 제공하는 하드웨어 계층과 네트워크 OS를 연결하는 일종의 인터페이스로 정의할 수 있다.
오픈플로 구조는 네트워크의 패킷을 처리하는 오픈플로 스위치(OpenFlow switches)와 오픈플로 스위치를 관리하는 컨트롤러(controller)를 포함한다. 컨트롤러는 다수의 오픈플로 스위치를 중앙 집중형으로 관리한다. 오픈플로 스위치와 컨트롤러는 오픈플로 프로토콜에 의하여 상호 연결된다. 오픈플로 프로토콜은 오픈플로 스위치와 컨트롤러 간의 통신을 위한 개방형 프로토콜이다.
SDN은 중앙집중적인 컨트롤러가 별도의 제어 채널(control channel)을 통하여 토폴로지 정보를 수집하고 수집된 토폴로지 정보를 이용하여 패킷 전달 경로를 탐색한다. 그러나 패킷 전달 경로 상의 혼잡 회피, 최소 대역폭, 지연시간 보장 등의 서비스 품질(Quality of Service: QoS)을 보장하는 패킷 전달 경로를 탐색하기 위해서는 데이터 채널 상 트래픽의 주기적인 모니터링 및 보고와 같은 트래픽 엔지니어링(Traffic Engineering) 기능이 수반되어야 한다. 그러나 네트워크의 규모가 커질수록 트래픽 엔지니어링을 위한 제어 패킷으로 인해 트래픽 부하(traffic load)가 커지게 된다. 또한, 개별 링크의 품질만을 측정하는 경우 패킷 전달 경로 상의 스위치에서 소요되는 처리 시간, 예를 들어 큐잉 지연시간(queuing delay), 처리 시간 등이 고려될 수 없다.
일 실시 예에 따라, 오픈플로 네트워크에서 서비스 품질(Quality of Service: QoS)을 고려한 패킷 전달 경로를 제공하기 위한 컨트롤러 및 그 방법을 제안한다.
일 실시 예에 따른 오픈플로 컨트롤러는 소스 호스트에 연결된 제1 에지 스위치와 목적지 호스트에 연결된 제2 에지 스위치로부터 수신 패킷 처리 요청을 수신하는 수신부와, 제1 에지 스위치의 패킷 처리 요청에 따라 제1 에지 스위치와 제2 에지 스위치 간의 종단 간 패킷 전달 경로를 결정하고 제2 에지 스위치의 패킷 처리 요청에 따라 종단 간 패킷 전달 경로의 서비스 품질을 측정하는 제어부와, 제어부를 통해 결정된 종단 간 패킷 전달 경로 상의 적어도 하나의 스위치에 패킷 전달을 위한 제어 명령을 송신하는 송신부를 포함한다.
일 실시 예에 따른 제어부는, 종단 간 패킷 전달 경로를 다수 개로 결정하고 결정된 다중 경로 각각으로 전달될 패킷에 각 경로를 구분할 수 있는 경로 식별자를 설정하며 설정된 경로 식별자를 이용하여 각 패킷 전달 경로의 서비스 품질을 측정한다.
일 실시 예에 따른 제어부는, 수신부를 통해 제1 에지 스위치로부터 패킷-인(PACKET_IN) 메시지를 수신하면 패킷 전달 경로를 결정하고 결정된 패킷 전달 경로 내의 다음 홉 경로에 위치하는 스위치에 패킷을 전달하도록 송신부를 통해 제1 에지 스위치에 패킷-아웃(PACKET-OUT) 메시지를 송신한다. 이때, 제어부는 패킷-아웃(PACKET-OUT) 메시지를 송신할 때, 패킷 전달 경로의 서비스 품질을 측정을 위해 패킷-아웃(PACKET-OUT) 메시지 송신시점을 기준으로 패킷 전송시간과 패킷 크기 정보를 기록할 수 있다.
일 실시 예에 따른 제어부는 수신부를 통해 제2 에지 스위치로부터 패킷-인(PACKET_IN) 메시지를 수신하면 패킷 수신시간을 기록하고 해당 패킷의 경로 식별자를 삭제한 후 제2 에지 스위치가 수신 패킷을 목적지 호스트로 전송하도록 송신부를 통해 제2 에지 스위치에 패킷-아웃(PACKET-OUT) 메시지를 송신한다.
일 실시 예에 따른 제어부는, 제1 에지 스위치와 제2 에지 스위치 간 패킷 전달 경로를 통해 패킷 전달이 완료되면 해당 패킷 전달 경로를 통해 전송되는 패킷 크기와 패킷 송수신 시간을 이용하여 서비스 품질을 측정한다. 이때, 서비스 품질은 평균 지연시간, 패킷 지연시간의 변이, 패킷 전송 성공률 및 처리량 중 적어도 하나를 포함한다.
일 실시 예에 따른 제어부는, 패킷의 페이로드에 경로 식별자를 설정함에 따라 패킷 전달 경로 별 서비스 품질을 측정하고, 패킷의 페이로드에 경로 식별자를 설정하면 다중 경로를 결정할 때 동일한 스위치를 경유하는 다중 경로가 포함되지 않도록 설정한다. 일 실시 예에 따른 제어부는, 패킷의 오픈플로 헤더의 OXM_OF_TUNNEL_ID 필드에 경로 식별자를 설정함에 따라 경로 식별자 기반의 패킷 전달 시 동일한 스위치를 경유하는 다중 경로를 통한 패킷 전달이 가능하다.
일 실시 예에 따른 제어부는 패킷 전달 경로 별 서비스 품질 측정 결과를 이용하여 패킷 전달 경로들 중에서 사용자의 서비스 품질 요구조건에 부합하는 패킷 전달 경로를 선택한다. 이때, 제어부는 사용자의 서비스 품질 요구조건에 부합하지 않는 패킷 전달 경로는 삭제할 수 있다. 제어부는 서비스 품질 요구조건에 부합하는 패킷 전달 경로를 선택한 이후에는 제1 에지 스위치 및 제2 에지 스위치에서 경로 식별자 정보를 추가 또는 삭제하는 절차를 생략할 수 있다.
일 실시 예에 따른 제어부는 선택된 패킷 전달 경로를 대상으로 종단 간 서비스 품질을 모니터링함에 따라 네트워크 트래픽이 가변하는 네트워크 환경에 동적으로 적응할 수 있다. 제어부는 선택된 패킷 전달 경로의 서비스 품질이 서비스 품질 요구조건에 부합하지 않을 경우, 다중 경로 설정, 설정된 다중 경로 별 서비스 품질 측정 및 최적 경로 재설정 단계를 반복할 수 있다.
일 실시 예에 따른 오픈플로 컨트롤러는 종단 간 전송 트래픽의 서비스 품질을 측정하기 위한 플로우 별 성능 측정값과 플로우 별 성능 측정값을 이용하여 측정된 종단 간 패킷 전달 경로의 서비스 품질 통계정보가 테이블 형태로 저장되는 저장부를 더 포함한다.
다른 실시 예에 따른 오픈플로 컨트롤러의 패킷 전달 경로 서비스 품질 제어방법은, 소스 호스트에 연결된 제1 에지 스위치의 패킷 처리 요청을 수신하여 목적지 호스트에 연결된 제2 에지 스위치까지의 종단 간 패킷 전달 경로를 결정하는 단계와, 결정된 종단 간 패킷 전달 경로를 통해 패킷을 전달하도록 제어하는 단계와, 제2 에지 스위치까지 패킷이 전달되면 제2 에지 스위치의 패킷 처리 요청을 수신하여 종단 간 패킷 전달 경로의 서비스 품질을 측정하는 단계를 포함한다.
일 실시 예에 따른 종단 간 패킷 전달 경로는 다중 경로이고, 오픈플로 컨트롤러의 패킷 전달 경로 서비스 품질 제어방법은 다중 경로 각각으로 전달될 패킷에 각 경로를 구분할 수 있는 경로 식별자를 설정하는 단계를 더 포함하며, 서비스 품질을 측정하는 단계에서 설정된 경로 식별자를 이용하여 각 패킷 전달 경로의 서비스 품질을 측정한다.
일 실시 예에 따른 경로 식별자를 설정하는 단계에서, 오픈플로 컨트롤러는 패킷의 페이로드에 경로 식별자를 설정함에 따라 패킷 전달 경로 별 서비스 품질을 측정하고, 패킷의 페이로드에 경로 식별자를 설정하면 다중 경로를 결정할 때 동일한 스위치를 경유하는 다중 경로가 포함되지 않도록 설정한다. 일 실시 예에 따른 경로 식별자를 설정하는 단계에서, 오픈플로 컨트롤러는 패킷의 오픈플로 헤더의 OXM_OF_TUNNEL_ID 필드에 경로 식별자를 설정함에 따라 경로 식별자 기반의 패킷 전달 시 동일한 스위치를 경유하는 다중 경로를 통한 패킷 전달이 가능하다.
일 실시 예에 따른 패킷 전달 경로를 결정하는 단계는, 제1 에지 스위치로부터 패킷-인(PACKET_IN) 메시지를 수신하면 패킷 전달 경로를 결정하는 단계와, 결정된 패킷 전달 경로 내의 다음 홉 경로에 위치하는 스위치에 패킷을 전달하도록 제1 에지 스위치에 패킷-아웃(PACKET-OUT) 메시지를 송신하는 단계와, 패킷-아웃(PACKET-OUT) 메시지를 송신할 때 패킷-아웃(PACKET-OUT) 메시지 송신시점을 기준으로 패킷 전송시간과 패킷 크기 정보를 기록하는 단계를 포함한다.
일 실시 예에 따른 서비스 품질을 측정하는 단계는, 제2 에지 스위치로부터 패킷-인(PACKET_IN) 메시지를 수신하면 패킷 수신시간을 기록하고 해당 패킷의 경로 식별자를 삭제하는 단계와, 제2 에지 스위치가 수신 패킷을 목적지 호스트로 전송하도록 제2 에지 스위치에 패킷-아웃(PACKET-OUT) 메시지를 송신하는 단계와, 제1 에지 스위치와 제2 에지 스위치 간 패킷 전달 경로를 통해 패킷 전달이 완료되면 해당 패킷 전달 경로를 통해 전송되는 패킷 크기와 패킷 송수신 시간을 이용하여 서비스 품질을 측정하는 단계를 포함한다.
일 실시 예에 따른 패킷 전달 경로 서비스 품질 제어방법은, 패킷 전달 경로 별 서비스 품질 측정 결과를 이용하여 패킷 전달 경로들 중에서 사용자의 서비스 품질 요구조건에 부합하는 패킷 전달 경로를 선택하는 단계를 더 포함한다.
일 실시 예에 따른 패킷 전달 경로 서비스 품질 제어방법은, 서비스 품질 요구조건에 부합하는 패킷 전달 경로를 선택한 이후에는 제1 에지 스위치 및 제2 에지 스위치에서 경로 식별자 정보를 추가 또는 삭제하는 절차를 생략하는 단계를 더 포함한다.
일 실시 예에 따른 패킷 전달 경로 서비스 품질 제어방법은 선택된 패킷 전달 경로를 대상으로 종단 간 서비스 품질을 모니터링하는 단계와, 모니터링 결과에 따라 선택된 패킷 전달 경로의 서비스 품질이 서비스 품질 요구조건에 부합하지 않을 경우, 다중 경로 설정, 설정된 다중 경로 별 서비스 품질 측정 및 최적 경로 재설정 단계를 반복하는 단계를 더 포함한다.
일 실시 예에 따르면, 종단 간 다중 경로 라우팅 및 각 경로 별 서비스 품질(Quality of Service: QoS, 이하 QoS라 칭함) 측정을 통하여, 링크 상태 모니터링 및 QoS 패킷 전달 경로 탐색 비용 없이, 실시간으로 QoS가 보장된 종단 간 패킷 전달 경로를 제공할 수 있다. 나아가, 최적으로 선택된 패킷 전달 경로에 대한 지속적인 QoS 모니터링을 통해 네트워크 트래픽 증가와 같은 네트워크 환경 변화에 동적으로 적응할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 오픈플로(OpenFlow) 기반의 소프트웨어 정의 네트워크(Software Defined Network: SDN)를 도시한 구성도,
도 2는 본 발명의 일 실시 예에 따른 컨트롤러의 구성도,
도 3은 본 발명의 일 실시 예에 따른 컨트롤러의 플로우 별 트래픽 성능 측정 테이블(individual flow performance measurement table)을 도시한 참조도,
도 4는 본 발명의 일 실시 예에 따른 컨트롤러에서의 종단 간 QoS 통계정보 테이블(end-to-end QoS Statistic table)을 도시한 참조도,
도 5는 본 발명의 일 실시 예에 따른 컨트롤러의 패킷 전달 경로의 QoS 관리방법을 도시한 흐름도이다.
이하에서는 첨부한 도면을 참조하여 본 발명의 실시 예들을 상세히 설명한다. 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시 예에 따른 오픈플로(OpenFlow) 기반의 소프트웨어 정의 네트워크(Software Defined Network: SDN, 이하 SDN이라 칭함)를 도시한 구성도이다.
도 1을 참조하면, 오픈플로 기반의 SDN(1)은 오픈플로 스위치들(OpenFlow switches)(101,102,103,104,105,106,107,108)과 컨트롤러(controller)(120)를 포함한다. 컨트롤러(120)는 오픈플로 스위치들(101,102,103,104,105,106,107,108)을 중앙 집중형으로 관리한다. 컨트롤러(120)는 오픈플로 스위치들(101,102,103,104,105,106,107,108)을 제어하는 네트워크 제어장치로서, 물리적으로 서버 형태일 수 있다. 오픈플로 스위치들(101,102,103,104,105,106,107,108)은 컨트롤러(120)의 제어를 받는 네트워크 장치로서, 스위치에 한정되는 것은 아니며 네트워크 환경에 따라 라우터 등 각종 네트워크 장치일 수 있다.
오픈플로 스위치 중에 에지 스위치 s1(101)는 소스 호스트 h1(100)와 직접 연결되고, 에지 스위치 s8(108)은 목적지 호스트 h2(110)와 직접 연결되어, 소스 호스트 h1(100)와 목적지 호스트 h2(110) 간 패킷 송수신을 중계한다. 소스 호스트 h1(100)와 목적지 호스트 h2(110)는 각각 사용자 단말일 수 있다. SDN(1)에서 에지 스위치 s1(101)에 의한 패킷 수신으로부터 에지 스위치 s8(108)에 의한 패킷 송신까지 패킷에 대한 일련의 흐름이 플로우가 된다. 플로우는 오픈플로 아키텍처의 특정 애플리케이션에 의해 정의될 수 있다. 이런 점에서 오픈플로는 SDN의 한 종류가 된다.
본 발명은 오픈플로 기반의 SDN(1)에서 별도의 트래픽 엔지니어링(traffic engineering) 기능을 이용하지 않고, 사용자의 서비스 품질(Quality of Service: QoS, 이하 QoS라 칭함) 요구조건에 부합하는 최적의 종단 간(End-to-End) 패킷 전달 경로를 검색하여 제공하는 기술이다. 트래픽 엔지니어링 기능은 프로액티브(Proactive) 방식으로 사전에 모든 링크와 트래픽에 대한 모니터링을 수행하는 방식이다. 그러나 본 발명은 실시간 트래픽 전송 요청이 발생할 때에 종단 간에 존재하는 다중 경로(Multi-path)를 이용하여 트래픽을 전송하고 종단 간 QoS를 측정함으로써 사용자의 QoS 요구조건에 부합하는 최적의 패킷 전달 경로를 제공할 수 있다.
종단 간 패킷 전달 경로는, 도 1에 도시된 바와 같이 소스 호스트 1(h1)(100)에 직접 연결된 에지 스위치(s1)(101)와 목적지 호스트 2(h2)(110)에 직접 연결된 에지 스위치(s8)(108) 사이의 패킷 전달 경로를 의미한다. QoS는 최소 지연시간 보장, 최소 대역폭 보장, 패킷 전송 성공률, 패킷 지연시간의 변이인 지터(jitter) 등 네트워크의 두 호스트(100,110) 간 데이터 통신에 필요한 수준의 성능(performance)을 의미한다.
컨트롤러(120)는 실시간 트래픽 전송 요청을 수신하면 종단 간 패킷 전달 경로를 탐색한다. 이때, 컨트롤러(120)는 종단 간 다중 경로를 탐색할 수 있고, 다중 경로 각각의 QoS를 측정할 수 있다. 나아가 측정 결과에 따라 사용자의 QoS 요구조건에 부합하는 최적의 패킷 전달 경로를 선택할 수 있다.
컨트롤러(120)는 다양한 라우팅 알고리즘을 이용하여 종단 간 다중 경로를 탐색한다. 예를 들어, k-SPT(k Shortest Path Tree), SPB(Shortest Path Bridging), ECMP(Equal Cost Multipath Routing) 등의 라우팅 알고리즘을 사용한다. 컨트롤러(120)는 전술한 라우팅 알고리즘을 이용하여 다중 경로를 탐색하고, 탐색된 다중 경로를 통하여 다중 경로 내 스위치들이 동시에 패킷을 전송하도록 제어한다. 그리고 다중 경로 중에서 사용자의 QoS 요구조건에 최적으로 부합하는 패킷 전달 경로를 선택한다. 이때 선택되지 않은 나머지 패킷 전달 경로들은 삭제할 수 있다. 경로 추가 또는 삭제를 위해, 본 발명은 다중 경로 각각에 각 경로를 구분하기 위한 경로 식별자(Path ID)를 설정한다. 그리고 설정된 경로 식별자를 이용하여 각 다중 경로의 QoS를 측정할 수 있다.
이하, 도 1을 참조로 하여 소스 호스트(h1)(100)와 목적지 호스트(h2)(110) 간 패킷 전달 경로의 QoS를 측정하는 실시 예에 대해 후술한다. 도 1의 SDN(1) 구조는 본 발명의 이해를 돕기 위한 일 실시 예일 뿐, 그 구조가 도 1에 한정되는 것은 아니다.
도 1을 참조하면, 소스 호스트(h1)(100)로부터 패킷을 수신한 에지 스위치(s1)(101)는 에지 스위치(s1)(101)의 플로우 테이블에 매칭 정보가 등록되어 있지 않으므로, 컨트롤러(120)에 패킷-인(PACKET_IN)의 형태로 수신 패킷 처리를 요청한다. 수신 패킷 처리를 요청받은 컨트롤러(120)는 소스 호스트(h1)(100)로부터 목적지 호스트(h2)(110)까지 해당 패킷을 전달하기 위한 다중 경로를 탐색한다. 예를 들어, 도 1에 도시된 바와 같이 3개의 패킷 전달 경로(s1->s2->s3->s8, s1->s4->s5->s8, s1->s6->s7->s8)를 탐색한다.
각 패킷 전달 경로는 경로 식별자로 구분될 수 있으며, 일 실시 예에 따라 경로 식별자 정보를 패킷의 페이로드(payload)에 설정할 수 있다. 일반적인 오픈플로 표준에 따른 오픈플로 스위치는 TCP/IP, MAC 헤더 정보 등을 기준으로 포워딩 룰(forwarding rule)을 설정할 수밖에 없으므로 패킷의 전달 경로를 구분할 수 없다. 따라서, 패킷의 페이로드 내에 경로 식별자를 설정하는 경우, 컨트롤러(120)는 다중 경로를 선택할 때에 동일 스위치를 통과하는 패킷 전달 경로가 포함되지 않도록 설정해야 한다.
본 발명의 다른 실시 예에 따르면, 경로 식별자 정보를 오픈플로 헤더(header), 예를 들어 오픈플로 헤더의 OXM_OF_TUNNEL_ID 필드에 설정하고, 경로 식별자 기반의 포워딩 룰을 설정할 수 있다. 이 경우에는 컨트롤러(120)가 동일 스위치를 통과하는 중복 경로를 제외해야 한다는 제약사항을 해소할 수 있다.
컨트롤러(120)가 목적지 호스트 h2(110)까지의 다중경로를 탐색하면, 각 패킷 전달 경로 상의 스위치에 FLOW_MOD 명령을 전달하여 소스 호스트 h1(100)과 목적지 호스트 h2(110) 사이의 양방향 패킷 전달 경로를 설정한다. FLOW_MOD 명령을 통해 소스 호스트 h1(100)와 목적지 호스트 h2(110)의 IP 주소를 기반으로 출력 포트가 결정된다. 이때, IP 주소로 한정되는 것은 아니고, MAC 주소나, TCP와 IP 주소의 혼합 형태 등의 다양한 정보를 이용할 수 있다. 컨트롤러(120)는 목적지 호스트 h2(110)에 인접한 에지 스위치(도 1의 s3, s5, s7)에는 FLOW_MOD 명령을 전달하지 않는다. 이는 에지 스위치 s8(108)에 패킷이 도달한 경우 에지 스위치 s8(108)이 컨트롤러(120)에 패킷-인(PACKET_IN) 형태로 패킷 수신을 알림으로써, 컨트롤러(120)가 에지 스위치 s1(101)과 에지 스위치 s8(108) 간 트래픽의 QoS를 측정하기 위함이다.
컨트롤러(120)는 패킷 전달 경로를 탐색한 이후, 다중 경로 각각으로 전달될 패킷에 각 경로를 구분할 수 있도록 경로 식별자를 추가한다. 현재 오픈플로 표준에는 일반적인 목적으로 사용할 수 있는 레이블(label) 필드가 없으므로, 경로 식별자 정보는 TCP/IP의 Reserved 필드 또는 데이터 필드의 마지막 등에 추가할 수 있으며, 경로 식별자 정보는 오픈플로의 패킷 포워딩에는 사용하지 않는다. 이후 컨트롤러는 다음 홉 경로(도 1의 s2, s4, s6)로 패킷을 전달하도록 에지 스위치 s1(101)에 패킷-아웃(PACKET_OUT) 명령을 전달하며, 동시에 각 패킷의 전송 시간과 패킷 크기 등을 기록한다. 각 패킷의 전송 시간은 패킷-아웃(PACKET_OUT) 명령 전송 시점을 기준으로 기록되기 때문에 패킷 전달 경로 탐색 및 경로 식별자 추가에 따른 처리시간이 포함되지 않는다. 따라서, 종단 간 각 경로의 순수한 라우팅 비용만을 계산할 수 있다. 패킷 전송시간은 도 2의 플로우 성능 측정 테이블 형태로 기록될 수 있다.
소스 호스트 h1(100)에서 전송된 패킷은 각각 컨트롤러(120)에서 설정한 다중 경로(Path ID 1: s1-s2-s3-s8, Path ID 2: s1-s4-s5-s8, Path ID 3: s1-s6-s7-s8)를 통해 전달된다. 패킷이 에지 스위치 s8(108)에 도착하면, 에지 스위치 s8(108)에는 에지 스위치 s1(101)에서와 마찬가지로 플로우 테이블에 매칭 정보가 등록되어 있지 않으므로, 패킷-인(PACKET_IN) 메시지 형태로 수신 패킷 처리를 컨트롤러(120)에 질의한다. 패킷-인(PACKET_IN) 메시지를 수신한 컨트롤러(120)는 패킷 수신시간을 기록하고 패킷의 경로 식별자를 삭제한 후, 수신 패킷을 목적지 호스트 h2(110)로 전송하도록 에지 스위치 s8(108)에 패킷-아웃(PACKET_OUT) 명령을 전달한다. 패킷 수신시간은 도 2의 플로우 성능 측정 테이블 형태로 기록될 수 있다.
전술한 실시 예는 오픈플로 스위치에서 다중 경로 각각을 지칭하는 경로 식별자에 따른 매칭-액션(Matching-Action) 룰(Rule) 처리가 불가하다는 가정 하에서 정의된 것이다. 그러나 오픈플로 표준의 매치 필드(Match field) 중에서 OXM_OF_TUNNEL_ID(64bit)를 사용하면 몇 가지 제약을 해소할 수 있다. OXM_OF_TUNNEL_ID는 GRE tunneling(32bit), MPLS(20bit), VxLAN ID(24bits) 등 프로토콜 별로 레이블 정보를 이용할 수 있도록 정의되어 있으며, 본 발명에서 정의한 경로 식별자(Path ID) 값을 OXM_OF_TUNNEL_ID에 대응하여 사용할 수 있다.
예를 들어, 도 1에 도시된 바와 같이 소스 호스트 h1(100)에 연결되어 있는 에지 스위치 s1(101)이 패킷-인(PACKET_IN)을 통해 컨트롤러(120)에 수신 패킷 처리를 질의하면, 컨트롤러(120)에서 패킷-아웃(PACKET_OUT)될 패킷에 경로 식별자를 추가하는데, OXM_OF_TUNNEL_ID 값에 경로 식별자를 설정하고, 패킷 전달 경로 상의 스위치(도 1의 s2, s3, s4, s5, s6, s7)에는 OXM_OF_TUNNEL_ID 값을 기준으로 포워딩 룰을 설정한다.
OXM_OF_TUNNEL_ID 값을 사용하지 않는 경우 목적지 호스트의 TCP/IP, MAC 주소 등을 기반으로 스위치의 포워딩 룰을 설정하게 된다. 이 경우 동일한 스위치를 통과하는 다중 경로를 구분할 수 없게 된다. 그러나 OXM_OF_TUNNEL_ID를 기반으로 스위치의 포워딩 룰을 설정하면, 동일한 스위치를 통과하는 다중 경로가 존재할 경우에도 OXM_OF_TUNNEL_ID의 경로 식별자로 경로를 구분할 수 있으므로 다중 경로 선택 시의 제약사항을 없앨 수 있다. 나아가, 각 에지 스위치 s1(101), s8(108)에서 경로 식별자 추가 및 삭제를 위한 패킷 처리 시간을 줄일 수 있다.
도 2는 본 발명의 일 실시 예에 따른 컨트롤러의 구성도이다.
도 2를 참조하면, 컨트롤러(120)는 송신부(122), 제어부(124) 및 수신부(126)를 포함하며 저장부(128)를 더 포함할 수 있다.
수신부(126)는 소스 호스트 및 목적지 호스트에 연결되어 있는 종단 간 스위치로부터 수신 패킷 처리 요청을 수신한다. 예를 들어, 수신부(126)는 소스 호스트에 연결된 제1 에지 스위치와 목적지 호스트에 연결된 제2 에지 스위치로부터 패킷-인(PACKET_IN) 메시지를 수신하여 수신 패킷 처리를 질의 받는다.
제어부(124)는 소스 호스트에 연결된 제1 에지 스위치의 처리 요청에 따라 종단 간 패킷 전달 경로를 결정한다. 그리고 목적지 호스트에 연결된 제2 에지 스위치의 처리 요청에 따라 종단 간 패킷 전달 경로의 QoS를 측정한다.
송신부(122)는 제어부(124)에서 결정된 패킷 전달 경로 상의 스위치들에 제어 명령을 송신하여 패킷을 전달하도록 한다. 제어 명령은 FLOW_MOD일 수 있다. 또한, 송신부(122)는 소스 호스트에 연결된 제1 에지 스위치에 패킷-아웃(PACKET_OUT) 명령을 전송하여 패킷을 패킷 전달 경로 내에 전송하도록 제어하고, 목적지 호스트에 연결된 제2 에지 스위치에 패킷-아웃(PACKET_OUT) 명령을 전송하여 제2 에지 스위치가 목적지 호스트에 패킷을 전달하도록 제어한다.
일 실시 예에 따른 제어부(124)는 종단 간 패킷 전달 경로를 다중 경로로 결정하고 결정된 다중 경로 각각으로 전달될 패킷에 각 경로를 구분할 수 있는 경로 식별자(Path ID)를 설정하며 설정된 경로 식별자를 이용하여 각 패킷 전달 경로의 QoS를 측정한다.
일 실시 예에 따른 제어부(124)는 수신부(126)를 통해 제1 에지 스위치로부터 패킷-인(PACKET_IN) 메시지를 수신하면 패킷 전달 경로를 결정하고 결정된 패킷 전달 경로 내의 다음 홉 경로에 위치하는 스위치에 패킷을 전달하도록 송신부(122)를 통해 제1 에지 스위치에 패킷-아웃(PACKET-OUT) 메시지를 송신한다. 제어부(124)는 패킷-아웃(PACKET-OUT) 메시지를 송신할 때, 추후 QoS 측정을 위해 패킷-아웃(PACKET-OUT) 메시지 송신시점을 기준으로 패킷 전송시간과 패킷 크기 정보를 기록할 수 있다.
일 실시 예에 따른 제어부(124)는 수신부(126)를 통해 제2 에지 스위치로부터 패킷-인(PACKET_IN) 메시지를 수신하면 패킷 수신시간을 기록하고 해당 패킷의 경로 식별자를 삭제한 후 제2 에지 스위치가 수신 패킷을 목적지 호스트로 전송하도록 송신부(122)를 통해 제2 에지 스위치에 패킷-아웃(PACKET-OUT) 메시지를 송신한다.
일 실시 예에 따른 제어부(124)는 종단 간, 즉 제1 에지 스위치와 제2 에지 스위치 간 패킷 전달 경로를 통해 패킷이 전달되면 해당되는 패킷 전달 경로를 통해 전송되는 패킷 크기와 패킷 송수신 시간을 이용하여 QoS를 측정한다. 이때 QoS는 평균 지연시간, 패킷 지연시간의 변이, 패킷 전송 성공률 및 처리량 중 적어도 하나를 포함한다. QoS는 QoS 통계정보 형태로 기록될 수 있으며 종단 간 QoS 통계정보는 도 4를 참조로 하여 후술한다.
일 실시 예에 따른 제어부(124)는 스위치의 플로우 룰의 OXM_OF_TUNNEL_ID 필드에 경로 식별자를 설정함에 따라 경로 식별자 기반의 패킷 전달 시 동일한 스위치를 경유하는 다중 경로를 통한 패킷 전달이 가능하도록 한다.
일 실시 예에 따른 제어부(124)는 측정된 패킷 전달 경로 별 QoS 결과를 이용하여 패킷 전달 경로들 중에서 사용자의 서비스 품질 요구조건에 부합하는 패킷 전달 경로를 선택한다. 이때, 제어부(124)는 사용자의 QoS 요구조건에 부합하지 않는 패킷 전달 경로는 삭제할 수 있다. 제어부(124)는 하나의 최적 경로를 선택한 이후에는 제1, 제2 에지 스위치에서 경로 식별자 정보를 추가 또는 삭제하는 절차를 생략할 수 있다. 이 경우, 종단 간 경로 식별자 추가 또는 삭제에 따른 지연시간 증가 문제를 해결할 수 있다.
일 실시 예에 따른 제어부(124)는 선택된 패킷 전달 경로를 대상으로 종단 간 QoS를 모니터링함에 따라 네트워크 트래픽이 가변하는 네트워크 환경에 동적으로 적응한다. 만약, 선택된 패킷 전달 경로의 서비스 품질이 QoS 요구사항에 부합하지 않을 경우, 전술한 단계, 즉 다중 경로 설정, 설정된 다중 경로 별 QoS 측정 및 최적 경로 재설정 단계를 반복할 수 있다.
저장부(128)에는 종단 간 전송 트래픽의 QoS를 측정하기 위한 플로우 별 성능 측정 테이블이 저장된다. 그리고 종단 간 패킷 전달 경로의 QoS 통계정보 테이블이 저장된다.
도 3은 본 발명의 일 실시 예에 따른 컨트롤러의 플로우 별 트래픽 성능 측정 테이블(individual flow performance measurement table)을 도시한 참조도이다.
도 3을 참조하면, 종단 간 트래픽의 QoS를 측정하기 위해 컨트롤러의 플로우 별 트래픽 성능 측정 테이블에는 소스 및 목적지 호스트와 연결된 에지 스위치(예를 들어, 도 1의 s1과 s8)에서 패킷을 송수신한 시점을 기준으로 하여 송신시간(start time)과 수신시간(arrival time) 및 패킷 크기(packet size)가 기록된다. 또한, 플로우 별 트래픽 성능 측정 테이블에는 소스 호스트 IP(source IP) 및 목적지 호스트 IP(destination IP)가 각 패킷 전달 경로의 경로 식별자(path ID)와 함께 기록된다.
도 4는 본 발명의 일 실시 예에 따른 컨트롤러에서의 종단 간 QoS 통계정보 테이블(end-to-end QoS Statistic table)을 도시한 참조도이다.
도 4를 참조하면, 종단 간의 패킷 전송이 N번 이상 반복된 후에는 컨트롤러가 종단 간 QoS 통계정보를 수집할 수 있다. 이때, 통계 수집을 위한 N 값은 최소 2회 이상이면 가능하며, N 값이 클수록 신뢰성 있는 통계 정보를 수집할 수 있다.
종단 간 QoS 통계정보는 에지 스위치 간 트래픽의 패킷 크기와 송수신 시간을 이용하여 계산될 수 있다. 계산 가능한 QoS 메트릭(Metric)으로는 평균 지연시간(Average latency), 패킷 지연시간의 변이인 지터(Jitter), 패킷 전송 성공률(Packet delivery ratio), 처리량(Throughput) 등이 포함된다.
N회 이상의 트래픽이 전송된 이후에는 컨트롤러가 각 패킷 전달 경로 상의 QoS를 측정할 수 있으며, 패킷 전달 경로들 중에서 사용자의 QoS 요구조건에 최적으로 부합하는 패킷 전달 경로를 선택할 수 있다. 이때 선택된 경로를 제외하고 나머지 패킷 전달 경로에 위치하는 스위치에 대해서는 라우팅을 위해 설정하였던 스위치의 포워딩 룰 정보를 삭제할 수 있다. 또한, 최적 경로를 선택한 이후에는 제1, 제2 에지 스위치에서 경로 식별자 정보를 추가 또는 삭제하는 절차를 생략할 수 있다. 이 경우, 종단 간 경로 식별자 추가 또는 삭제에 따른 지연시간 증가 문제를 해결할 수 있다. 만약, 패킷 전달 경로들 중에서 사용자 QoS 요구조건에 부합하는 패킷 전달 경로가 존재하지 않으면 이를 사용자에게 알릴 수 있다.
한편, 네트워크 환경은 시간의 흐름에 따라 가변될 수 있다. 컨트롤러는 종단 간 QoS 통계정보를 모니터링 할 수 있다. 하나의 최적 경로가 설정되어 있기 때문에 종단에서 경로 식별자 정보를 추가 또는 삭제하는 절차를 제거할 수 있으므로 종단 간 지연시간에 미치는 영향을 최소화할 수 있다. 만약, 선택된 패킷 전달 경로의 QoS에 변동사항이 발생한 경우에는 전술한 절차를 반복할 수 있다. 예를 들어, 선택된 패킷 전달 경로의 서비스 품질이 QoS 요구사항에 부합하지 않을 경우, 다중 경로 설정, 설정된 다중 경로 별 QoS 측정 및 최적 경로 재설정 단계를 반복할 수 있다.
도 5는 본 발명의 일 실시 예에 따른 컨트롤러의 패킷 전달 경로의 QoS 관리방법을 도시한 흐름도이다.
도 5를 참조하면, 컨트롤러는 소스 호스트에 연결된 제1 에지 스위치의 패킷 처리 요청을 수신하여 소스 호스트에 연결된 제1 에지 스위치와 목적지 호스트에 연결된 제2 에지 스위치까지의 종단 간 패킷 전달 경로를 결정한다(500). 이어서, 결정된 패킷 전달 경로를 통해 해당 패킷 전달 경로 내 스위치들이 종단 간 패킷을 전달하도록 제어한다(510). 이어서, 목적지 호스트에 연결된 제2 에지 스위치까지 패킷이 전달되면 제2 에지 스위치의 패킷 처리 요청에 따라 종단 간 패킷 전달 경로의 QoS를 측정한다(520).
이때, 종단 간 패킷 전달 경로는 다중 경로이고, 컨트롤러는 다중 경로 각각으로 전달될 패킷에 각 경로를 구분할 수 있는 경로 식별자를 설정할 수 있다. 이 경우, QoS를 측정하는 단계(520)에서 경로 식별자를 이용하여 각 패킷 전달 경로의 QoS를 측정할 수 있다. 경로 식별자를 설정할 때, 스위치의 플로우 룰의 OXM_OF_TUNNEL_ID 필드에 경로 식별자를 설정할 수 있다. 이 경우 경로 식별자 기반의 패킷 전달 시 동일한 스위치를 경유하는 다중 경로를 통한 패킷 전달이 가능해진다.
일 실시 예에 따른 패킷 전달 경로를 결정하는 단계(500)에서, 컨트롤러는 제1 에지 스위치로부터 패킷-인(PACKET_IN) 메시지를 수신하면 패킷 전달 경로를 결정한다. 그리고 결정된 패킷 전달 경로 내의 다음 홉 경로에 위치하는 스위치에 패킷을 전달하도록 제1 에지 스위치에 패킷-아웃(PACKET-OUT) 메시지를 송신한다. 이어서, 패킷-아웃(PACKET-OUT) 메시지를 송신할 때 패킷-아웃(PACKET-OUT) 메시지 송신시점을 기준으로 패킷 전송시간과 패킷 크기 정보를 기록한다.
일 실시 예에 따른 QoS를 측정하는 단계(520)에서, 컨트롤러는 제2 에지 스위치로부터 패킷-인(PACKET_IN) 메시지를 수신하면 패킷 수신시간을 기록하고 해당 패킷의 경로 식별자를 삭제한다. 그리고 제2 에지 스위치가 수신 패킷을 목적지 호스트로 전송하도록 제2 에지 스위치에 패킷-아웃(PACKET-OUT) 메시지를 송신한다. 이어서 제1 에지 스위치와 제2 에지 스위치 간 패킷 전달 경로를 통해 패킷 전달이 완료되면 해당 패킷 전달 경로를 통해 전송되는 패킷 크기와 패킷 송수신 시간을 이용하여 QoS를 측정한다.
추가 실시 예에 따르면, 컨트롤러는 패킷 전달 경로 별 QoS 측정결과를 이용하여 패킷 전달 경로들 중에서 사용자의 QoS 요구조건에 부합하는 패킷 전달 경로를 선택한다. 그리고 선택된 패킷 전달 경로를 대상으로 종단 간 QoS를 모니터링함에 따라 네트워크 트래픽이 가변하는 네트워크 환경에 동적으로 적응할 수 있다. 모니터링 결과에 따라 선택된 패킷 전달 경로의 서비스 품질이 서비스 품질 요구조건에 부합하지 않을 경우, 다중 경로 설정, 설정된 다중 경로 별 서비스 품질 측정 및 최적 경로 재설정 단계를 반복 수행할 수 있다.
이제까지 본 발명에 대하여 그 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (20)

  1. 소스 호스트에 연결된 제1 에지 스위치와 목적지 호스트에 연결된 제2 에지 스위치로부터 수신 패킷 처리 요청을 수신하는 수신부;
    상기 제1 에지 스위치의 패킷 처리 요청에 따라 상기 제1 에지 스위치와 상기 제2 에지 스위치 간의 종단 간 패킷 전달 경로를 결정하고, 상기 제2 에지 스위치의 패킷 처리 요청에 따라 종단 간 패킷 전달 경로의 서비스 품질을 측정하는 제어부; 및
    상기 제어부를 통해 결정된 종단 간 패킷 전달 경로 상의 적어도 하나의 스위치에 패킷 전달을 위한 제어 명령을 송신하는 송신부;
    를 포함하는 것을 특징으로 하는 오픈플로 컨트롤러.
  2. 제 1 항에 있어서, 상기 제어부는
    종단 간 패킷 전달 경로를 다수 개로 결정하고 결정된 다중 경로 각각으로 전달될 패킷에 각 경로를 구분할 수 있는 경로 식별자를 설정하며 설정된 경로 식별자를 이용하여 각 패킷 전달 경로의 서비스 품질을 측정하는 것을 특징으로 하는 오픈플로 컨트롤러.
  3. 제 1 항에 있어서, 상기 제어부는
    상기 수신부를 통해 상기 제1 에지 스위치로부터 패킷-인(PACKET_IN) 메시지를 수신하면 패킷 전달 경로를 결정하고 결정된 패킷 전달 경로 내의 다음 홉 경로에 위치하는 스위치에 패킷을 전달하도록 상기 송신부를 통해 상기 제1 에지 스위치에 패킷-아웃(PACKET-OUT) 메시지를 송신하는 것을 특징으로 하는 오픈플로 컨트롤러.
  4. 제 3 항에 있어서, 상기 제어부는
    패킷-아웃(PACKET-OUT) 메시지를 송신할 때, 패킷 전달 경로의 서비스 품질을 측정을 위해 패킷-아웃(PACKET-OUT) 메시지 송신시점을 기준으로 패킷 전송시간과 패킷 크기 정보를 기록하는 것을 특징으로 하는 오픈플로 컨트롤러.
  5. 제 1 항에 있어서, 상기 제어부는
    상기 수신부를 통해 상기 제2 에지 스위치로부터 패킷-인(PACKET_IN) 메시지를 수신하면 패킷 수신시간을 기록하고 해당 패킷의 경로 식별자를 삭제한 후 상기 제2 에지 스위치가 수신 패킷을 상기 목적지 호스트로 전송하도록 상기 송신부를 통해 상기 제2 에지 스위치에 패킷-아웃(PACKET-OUT) 메시지를 송신하는 것을 특징으로 하는 오픈플로 컨트롤러.
  6. 제 1 항에 있어서, 상기 제어부는
    상기 제1 에지 스위치와 상기 제2 에지 스위치 간 패킷 전달 경로를 통해 패킷 전달이 완료되면 해당 패킷 전달 경로를 통해 전송되는 패킷 크기와 패킷 송수신 시간을 이용하여 서비스 품질을 측정하는 것을 특징으로 하는 오픈플로 컨트롤러.
  7. 제 6 항에 있어서,
    상기 서비스 품질은 평균 지연시간, 패킷 지연시간의 변이, 패킷 전송 성공률 및 처리량 중 적어도 하나를 포함하는 것을 특징으로 하는 오픈플로 컨트롤러.
  8. 제 1 항에 있어서, 상기 제어부는
    패킷의 페이로드에 경로 식별자를 설정함에 따라 패킷 전달 경로 별 서비스 품질을 측정하고, 패킷의 페이로드에 경로 식별자를 설정하면 다중 경로를 결정할 때 동일한 스위치를 경유하는 다중 경로가 포함되지 않도록 설정하는 것을 특징으로 하는 오픈플로 컨트롤러.
  9. 제 1 항에 있어서, 상기 제어부는
    패킷의 오픈플로 헤더의 OXM_OF_TUNNEL_ID 필드에 경로 식별자를 설정함에 따라 경로 식별자 기반의 패킷 전달 시 동일한 스위치를 경유하는 다중 경로를 통한 패킷 전달이 가능한 것을 특징으로 오픈플로 컨트롤러.
  10. 제 1 항에 있어서, 상기 제어부는
    패킷 전달 경로 별 서비스 품질 측정 결과를 이용하여 패킷 전달 경로들 중에서 사용자의 서비스 품질 요구조건에 부합하는 패킷 전달 경로를 선택하는 것을 특징으로 하는 오픈플로 컨트롤러.
  11. 제 10 항에 있어서, 상기 제어부는
    사용자의 서비스 품질 요구조건에 부합하지 않는 패킷 전달 경로는 삭제하는 것을 특징으로 하는 오픈플로 컨트롤러.
  12. 제 10 항에 있어서, 상기 제어부는
    서비스 품질 요구조건에 부합하는 패킷 전달 경로를 선택한 이후에는 제1 에지 스위치 및 제2 에지 스위치에서 경로 식별자 정보를 추가 또는 삭제하는 절차를 생략하는 것을 특징으로 하는 오픈플로 컨트롤러.
  13. 제 10 항에 있어서, 상기 제어부는
    선택된 패킷 전달 경로를 대상으로 종단 간 서비스 품질을 모니터링하고,
    모니터링 결과에 따라 선택된 패킷 전달 경로의 서비스 품질이 서비스 품질 요구조건에 부합하지 않을 경우, 다중 경로 설정, 설정된 다중 경로 별 서비스 품질 측정 및 최적 경로 재설정을 반복 수행하는 것을 특징으로 하는 오픈플로 컨트롤러.
  14. 제 1 항에 있어서, 상기 오픈플로 컨트롤러는
    종단 간 전송 트래픽의 서비스 품질을 측정하기 위한 플로우 별 성능 측정값과 플로우 별 성능 측정값을 이용하여 측정된 종단 간 패킷 전달 경로의 서비스 품질 통계정보가 테이블 형태로 저장되는 저장부;
    를 더 포함하는 것을 특징으로 하는 오픈플로 컨트롤러.
  15. 소스 호스트에 연결된 제1 에지 스위치의 패킷 처리 요청을 수신하여 목적지 호스트에 연결된 제2 에지 스위치까지의 종단 간 패킷 전달 경로를 결정하는 단계;
    결정된 종단 간 패킷 전달 경로를 통해 패킷을 전달하도록 제어하는 단계; 및
    상기 제2 에지 스위치까지 패킷이 전달되면 상기 제2 에지 스위치의 패킷 처리 요청을 수신하여 종단 간 패킷 전달 경로의 서비스 품질을 측정하는 단계;
    를 포함하는 것을 특징으로 하는 오픈플로 컨트롤러의 패킷 전달 경로 서비스 품질 제어방법.
  16. 제 15 항에 있어서,
    종단 간 패킷 전달 경로는 다중 경로이고,
    상기 오픈플로 컨트롤러의 패킷 전달 경로 서비스 품질 제어방법은
    다중 경로 각각으로 전달될 패킷에 각 경로를 구분할 수 있는 경로 식별자를 설정하는 단계;
    를 더 포함하며,
    상기 서비스 품질을 측정하는 단계는
    설정된 경로 식별자를 이용하여 각 패킷 전달 경로의 서비스 품질을 측정하는 것을 특징으로 하는 오픈플로 컨트롤러의 패킷 전달 경로 서비스 품질 제어방법.
  17. 제 15 항에 있어서, 상기 패킷 전달 경로를 결정하는 단계는
    상기 제1 에지 스위치로부터 패킷-인(PACKET_IN) 메시지를 수신하면 패킷 전달 경로를 결정하는 단계;
    결정된 패킷 전달 경로 내의 다음 홉 경로에 위치하는 스위치에 패킷을 전달하도록 상기 제1 에지 스위치에 패킷-아웃(PACKET-OUT) 메시지를 송신하는 단계; 및
    패킷-아웃(PACKET-OUT) 메시지를 송신할 때 패킷-아웃(PACKET-OUT) 메시지 송신시점을 기준으로 패킷 전송시간과 패킷 크기 정보를 기록하는 단계;
    를 포함하는 것을 특징으로 하는 오픈플로 컨트롤러의 패킷 전달 경로 서비스 품질 제어방법.
  18. 제 15 항에 있어서, 상기 서비스 품질을 측정하는 단계는
    상기 제2 에지 스위치로부터 패킷-인(PACKET_IN) 메시지를 수신하면 패킷 수신시간을 기록하고 해당 패킷의 경로 식별자를 삭제하는 단계;
    상기 제2 에지 스위치가 수신 패킷을 상기 목적지 호스트로 전송하도록 상기 제2 에지 스위치에 패킷-아웃(PACKET-OUT) 메시지를 송신하는 단계; 및
    상기 제1 에지 스위치와 상기 제2 에지 스위치 간 패킷 전달 경로를 통해 패킷 전달이 완료되면 해당 패킷 전달 경로를 통해 전송되는 패킷 크기와 패킷 송수신 시간을 이용하여 서비스 품질을 측정하는 단계;
    를 포함하는 것을 특징으로 하는 오픈플로 컨트롤러의 패킷 전달 경로 서비스 품질 제어방법.
  19. 제 15 항에 있어서, 상기 패킷 전달 경로 서비스 품질 제어방법은
    패킷 전달 경로 별 서비스 품질 측정 결과를 이용하여 패킷 전달 경로들 중에서 사용자의 서비스 품질 요구조건에 부합하는 패킷 전달 경로를 선택하는 단계;
    를 더 포함하는 것을 특징으로 하는 오픈플로 컨트롤러의 패킷 전달 경로 서비스 품질 제어방법.
  20. 제 19 항에 있어서, 상기 패킷 전달 경로 서비스 품질 제어방법은
    서비스 품질 요구조건에 부합하는 패킷 전달 경로를 선택한 이후에는 제1 에지 스위치 및 제2 에지 스위치에서 경로 식별자 정보를 추가 또는 삭제하는 절차를 생략하는 단계;
    선택된 패킷 전달 경로를 대상으로 종단 간 서비스 품질을 모니터링하는 단계; 및
    모니터링 결과에 따라 선택된 패킷 전달 경로의 서비스 품질이 서비스 품질 요구조건에 부합하지 않을 경우, 다중 경로 설정, 설정된 다중 경로 별 서비스 품질 측정 및 최적 경로 재설정 단계를 반복하는 단계;
    를 더 포함하는 것을 특징으로 하는 오픈플로 컨트롤러의 패킷 전달 경로 서비스 품질 제어방법.
KR1020150041728A 2015-03-25 2015-03-25 패킷 전달 경로의 서비스 품질 제어를 위한 오픈플로 컨트롤러 및 그 방법 KR20160115050A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150041728A KR20160115050A (ko) 2015-03-25 2015-03-25 패킷 전달 경로의 서비스 품질 제어를 위한 오픈플로 컨트롤러 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150041728A KR20160115050A (ko) 2015-03-25 2015-03-25 패킷 전달 경로의 서비스 품질 제어를 위한 오픈플로 컨트롤러 및 그 방법

Publications (1)

Publication Number Publication Date
KR20160115050A true KR20160115050A (ko) 2016-10-06

Family

ID=57164733

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150041728A KR20160115050A (ko) 2015-03-25 2015-03-25 패킷 전달 경로의 서비스 품질 제어를 위한 오픈플로 컨트롤러 및 그 방법

Country Status (1)

Country Link
KR (1) KR20160115050A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018216976A1 (ko) * 2017-05-22 2018-11-29 삼성전자주식회사 통신 시스템에서 네트워크 품질 관리를 위한 방법 및 장치
KR20180136605A (ko) * 2017-06-14 2018-12-26 고려대학교 산학협력단 Sdn 기반 경로 지연 시간 측정 방법
KR101958943B1 (ko) * 2017-11-10 2019-03-15 아토리서치(주) 소프트웨어 정의 네트워킹 환경에서의 멀티캐스트 라우팅 방법 및 장치
KR101984478B1 (ko) * 2018-12-18 2019-09-03 한국과학기술정보연구원 Sdn 기반의 동적 네트워크 트래픽 분석을 통한 데이터 전송 경로 결정 방법 및 장치
WO2020055149A1 (ko) * 2018-09-11 2020-03-19 서울대학교 산학협력단 데이터센터 네트워크의 부하 균형을 위한 신용 기반 다중경로 데이터 전송 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018216976A1 (ko) * 2017-05-22 2018-11-29 삼성전자주식회사 통신 시스템에서 네트워크 품질 관리를 위한 방법 및 장치
US11343164B2 (en) 2017-05-22 2022-05-24 Samsung Electronics Co., Ltd. Method and apparatus for managing network quality in communication system
KR20180136605A (ko) * 2017-06-14 2018-12-26 고려대학교 산학협력단 Sdn 기반 경로 지연 시간 측정 방법
KR101958943B1 (ko) * 2017-11-10 2019-03-15 아토리서치(주) 소프트웨어 정의 네트워킹 환경에서의 멀티캐스트 라우팅 방법 및 장치
WO2020055149A1 (ko) * 2018-09-11 2020-03-19 서울대학교 산학협력단 데이터센터 네트워크의 부하 균형을 위한 신용 기반 다중경로 데이터 전송 방법
KR101984478B1 (ko) * 2018-12-18 2019-09-03 한국과학기술정보연구원 Sdn 기반의 동적 네트워크 트래픽 분석을 통한 데이터 전송 경로 결정 방법 및 장치

Similar Documents

Publication Publication Date Title
US10554538B2 (en) Dynamic link state routing protocol
US11134011B2 (en) Communication system, control device, communication method, and program
US8427958B2 (en) Dynamic latency-based rerouting
US7756032B2 (en) Method and apparatus for communicating data within measurement traffic
US20120075999A1 (en) Dynamic latency-based rerouting
CN110890994B (zh) 一种报文转发路径的确定方法、设备和系统
US8503294B2 (en) Transport layer relay method, transport layer relay device, and program
EP2253106B1 (en) Method and system for controlling link saturation of synchronous data across packet networks
KR20160115050A (ko) 패킷 전달 경로의 서비스 품질 제어를 위한 오픈플로 컨트롤러 및 그 방법
US10389646B2 (en) Evading congestion spreading for victim flows
US11509595B2 (en) Network-based coordination of loss/delay mode for congestion control of latency-sensitive flows
CN111526089B (zh) 一种基于变长粒度的数据融合传输与调度的装置
JP2015012531A (ja) 通信システム、通信ノード、通信経路切替方法及びプログラム
CN105099938A (zh) 网络中拥塞窗口的确定方法和装置
CN105429822A (zh) 基于软件定义网络的端到端路径上逐跳链路丢包测量方法
Nguyen et al. Efficient multipath forwarding and congestion control without route-labeling in CCN
WO2020170850A1 (ja) ネットワークコントローラ装置、ネットワーク制御システム、通信ネットワークの制御方法及びプログラム
TWI625049B (zh) 基於軟體定義網路之網路服務方法與系統
US10855593B1 (en) Methods and apparatus for load balancing in a network switching system
CN111917624B (zh) 一种在vxlan传输中控制信息的传送方法及系统
CN113767597B (zh) 用于基于周期的负载均衡的网络设备、系统和方法
WO2002033893A2 (en) Method and apparatus for communicating data within measurement traffic
CN114531398A (zh) 一种报文转发的方法及相关装置
US20230353472A1 (en) Method for verifying flow completion times in data centers
CN116112438B (zh) 端到端数据传输方法及系统