KR20180136605A - Sdn 기반 경로 지연 시간 측정 방법 - Google Patents

Sdn 기반 경로 지연 시간 측정 방법 Download PDF

Info

Publication number
KR20180136605A
KR20180136605A KR1020170074806A KR20170074806A KR20180136605A KR 20180136605 A KR20180136605 A KR 20180136605A KR 1020170074806 A KR1020170074806 A KR 1020170074806A KR 20170074806 A KR20170074806 A KR 20170074806A KR 20180136605 A KR20180136605 A KR 20180136605A
Authority
KR
South Korea
Prior art keywords
switch
path delay
packet
path
message
Prior art date
Application number
KR1020170074806A
Other languages
English (en)
Other versions
KR101962346B1 (ko
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 KR1020170074806A priority Critical patent/KR101962346B1/ko
Publication of KR20180136605A publication Critical patent/KR20180136605A/ko
Application granted granted Critical
Publication of KR101962346B1 publication Critical patent/KR101962346B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/26Route discovery packet

Abstract

SDN(Software Defined Network) 환경에서의 경로 지연 측정 방법이 개시된다. 상기 경로 지연 측정 방법은 (a) 경로(path) 상에 포함되는 복수의 스위치들 각각이 컨트롤러로부터 수신되는 제1 패킷의 전송을 위한 플로우 룰 설치 명령에 응답하여 플로우 엔트리를 생성하는 단계, (b) 상기 컨트롤러가 상기 복수의 스위치들 중 경로 상의 첫 번째 스위치로 상기 제1 패킷을 식별하기 위한 식별 정보, 상기 복수의 스위치들 중 경로 상의 목적지 스위치를 식별하기 위한 식별 정보, 경로 지연 측정의 간격, 및 경로 지연 측정의 횟수를 포함하는 세션 정보를 송신하는 단계, (c) 상기 첫 번째 스위치가 상기 목적지 스위치로 제1 메시지를 송신하고, 상기 목적지 스위치로부터 제2 메시지를 수신하는 단계, 및 (d) 상기 첫 번째 스위치가 상기 제1 메시지를 송신한 시각과 상기 제2 메시지를 수신한 시각을 이용하여 RTT(Round Trip Time)를 계산하고, 상기 RTT로부터 경로 지연 시간을 계산하는 단계를 포함하고, 상기 (c) 단계와 상기 (d) 단계는 상기 경로 지연 측정의 간격을 기초로 상기 경로 지연 측정의 횟수만큼 반복적으로 수행된다.

Description

SDN 기반 경로 지연 시간 측정 방법{METHOD FOR MEASURING PATH LATENCY BASED ON SDN}
본 발명은 소프트웨어 정의 네트워크(Software Defined Network, SDN)에 관한 것으로, 더욱 상세하게는 SDN 기반 네트워크 플랫폼에서 트래픽 엔지니어링을 위한 네트워크의 경로 지연 시간을 측정하는 방법에 관한 것이다.
SDN(Software Defined Networking)은 네트워킹 장비의 전송 평면(또는 데이터 평면, data plane)과 제어 평면(control plane)을 분리하고, 제어 평면을 중앙집중화하여 전체 네트워크에 대한 단일한 방식의 제어가 가능한 네트워킹 구조로서, 기존 제조사 종속적이고 새로운 연구의 적용이 어려운 네트워크에 유연성과 프로그래밍가능성(programmability)을 부여한다는 장점이 존재한다. 중앙집중화된 스위치의 제어 평면은 SDN 컨트롤러라고 불리면, 스위치와 SDN 컨트롤러는 SBI(Southbound Interface)를 통해 상호 통신을 수행할 수 있다. SDN의 초기 연구로서, 사실상의 표준 SBI 프로토콜로 오픈플로(OpenFlow)가 주로 사용된다. 본 기술은 기존의 폐쇄된 네트워크 환경에 혁신적인 발전을 가져오는 기술로서 차세대 네트워킹 기술인 IoT, 5G, NFV Orchestration 등의 기반 기술로서 동작하고 있다.
경로 지연 시간은 네트워크(컴퓨터 네트워크) 상에서 특정 노드 간 데이터 패킷이 한쪽에서 반대쪽으로 송신 및 수신되는 데에 소모되는 지연 시간으로, 주로 RTT(Round trip time) 등의 지표가 활용된다. 이러한 경로 간 지연 시간은 특정 패킷이 송수신 단말까지 전송되는 데에 걸리는 시간을 예측할 수 있게 하므로 각종 네트워크 최적화 및 모델링 기법의 기반이 된다. RTT를 기반으로 특정 송수신 호스트 사이의 혼잡도, 물리적인 거리, 전송 속도 등을 추정할 수 있으며, 특히 고정된 거리가 아니라 측정하는 상황에서의 트래픽 변화를 동적으로 반영한다는 측면에서 동적인 네트워크 모니터링 방법이라고 할 수 있다.
종래 SDN에서의 경로 간 지연 시간을 측정하는 방법으로 표준 프로토콜이 아닌 별도의 프로브(Probe) 패킷을 생성하여 측정된 RTT를 기반으로 지연 시간을 측정하는 방법과 컨트롤러가 토폴로지를 감지하기 위하여 주기적으로 전송하는 LLDP(Link Layer Discovery Protocol, 링크 계층 탐색 프로토콜)를 이용하여 지연 시간을 측정하는 방법 등이 있다. 그러나, 이러한 방법들에 의할 경우, 표준 프로토콜 외에 추가적인 패킷을 정의하고 전송해야 하는 문제점이 존재한다. 또한, LLDP를 이용한 지연 시간 계산은 정확성을 높이기 위한 보정 과정이 필요하며 보정된 지연 시간 역시 물리 링크에서의 지연 시간과 차이가 발생하는 문제점이 발생한다.
즉, LLDP를 이용한 방법의 경우 경로의 첫 번째 스위치가 PacketOut 메시지를 수신하면 해당 스위치는 PackOut 메시지에 첨부된 프로브 메시지를 경로 상으로 전송하며, FlowMod 메시지를 통해 프로브 패킷을 컨트롤러로 전송하는 플로우 룰이 설치된 마지막 스위치에 프로브 패킷이 도달하면 해당 패킷이 컨트롤러로 전송된다. 이때, 실험 또는 모델링을 통해 지연 시간에 대한 보정이 수행되는데 이는 네트워크 상에 트래픽이 조금만 변해도 보정값에 큰 변화가 발생한다. 또한, 스위치의 구성과 네트워크 토폴로지의 구성이 변화함에 따라 보정값을 재측정 또는 재계산하여야 하므로 실제 활용하기에 어려운 문제점이 있다.
상술한 바와 같이, 네트워크의 지연 측정은 호스트 사이의 혼잡도, 물리적인 거리, 전송 속도 등을 추정할 수 있으며, 트래픽 및 장애 확인의 기반이 된다는 점에서 네트워크 관리의 필요 요소이다. 그러나 활발히 연구되고 있는 SDN에서 대역폭과 손실에 대한 표준적인 기법이 존재하나, 지연을 측정하는 기법에 관해서는 명확히 규정된 바가 없다. 특히 SDN 환경에서 지연을 측정하기 위한 관련 연구들은 컨트롤러가 과다한 자원을 소모하거나 보정 과정을 거치기 때문에 지연 측정의 정확성이 떨어지는 등의 문제점이 존재한다. 본 발명에서는 이러한 문제점을 극복하기 위해 스위치 내부의 경로 지연 테이블(Path latency table)을 설계한다. 또한, 이를 기반으로 스위치 간 BFD 프로토콜을 통해 정확한 경로 지연 시간을 측정하고 측정된 결과를 컨트롤러로 전송하기 위한 기법을 제안한다.
대한민국 공개특허 제2015-0100027호 대한민국 공개특허 제2016-0098321호 미합중국 공개특허 제2010-0149992호 미합중국 등록특허 제9,602,374호
본 발명이 이루고자 하는 기술적인 과제는 SDN 환경에서 컨트롤러에서 트래픽 엔지니어링을 위한 경로 지연 시간을 별도의 보정을 수행하지 않으며 컨트롤러와 스위치 간의 추가적인 트래픽을 발생시키지 않고 측정값을 획득할 수 있는 경로 지연 측정 방법을 제공하는 것이다.
본 발명의 실시 예에 따른 경로 지연 측정 방법은 (a) 경로(path) 상에 포함되는 복수의 스위치들 각각이 컨트롤러로부터 수신되는 제1 패킷의 전송을 위한 플로우 룰 설치 명령에 응답하여 플로우 엔트리를 생성하는 단계, (b) 상기 컨트롤러가 상기 복수의 스위치들 중 경로 상의 첫 번째 스위치로 상기 제1 패킷을 식별하기 위한 식별 정보, 상기 복수의 스위치들 중 경로 상의 목적지 스위치를 식별하기 위한 식별 정보, 경로 지연 측정의 간격, 및 경로 지연 측정의 횟수를 포함하는 세션 정보를 송신하는 단계, (c) 상기 첫 번째 스위치가 상기 목적지 스위치로 제1 메시지를 송신하고, 상기 목적지 스위치로부터 제2 메시지를 수신하는 단계, 및 (d) 상기 첫 번째 스위치가 상기 제1 메시지를 송신한 시각과 상기 제2 메시지를 수신한 시각을 이용하여 RTT(Round Trip Time)를 계산하고, 상기 RTT로부터 경로 지연 시간을 계산하는 단계를 포함하고, 상기 (c) 단계와 상기 (d) 단계는 상기 경로 지연 측정의 간격을 기초로 상기 경로 지연 측정의 횟수만큼 반복적으로 수행된다.
또한, 본 발명의 다른 실시 예에 따른 경로 지연 측정 방법은 (a) 경로(path) 상에 포함되는 복수의 스위치들 중 첫 번째 스위치가 컨트롤러로부터 수신되는 BFD 패킷의 전송을 위한 플로우 룰 설치 명령에 응답하여 플로우 엔트리를 생성하는 단계, (b) 상기 첫 번째 스위치가 상기 컨트롤러로부터 상기 BFD 패킷을 식별하기 위한 식별 정보, 상기 복수의 스위치들 중 경로 상의 목적지 스위치를 식별하기 위한 식별 정보, 경로 지연 측정의 간격, 및 경로 지연 측정의 횟수를 포함하는 세션 정보를 수신하는 단계, (c) 상기 첫 번째 스위치가 상기 목적지 스위치로 에코 요청 메시지를 송신하고, 상기 목적지 스위치로부터 에코 응답 메시지를 수신하는 단계, 및 (d) 상기 첫 번째 스위치가 상기 에코 요청 메시지를 송신한 시각과 상기 에코 응답 메시지를 수신한 시각을 이용하여 RTT(Round Trip Time)를 계산하고, 상기 RTT로부터 경로 지연 시간을 계산하는 단계를 포함하고, 상기 (c) 단계와 상기 (d) 단계는 상기 경로 지연 측정의 간격을 기초로 상기 경로 지연 측정의 횟수만큼 반복적으로 수행된다.
본 발명의 실시 예에 따른 경로 지연 측정 방법에 의할 경우, 별도의 보정 과정을 수행하지 않고 보다 정확한 경로 지연 시간을 획득할 수 있는 효과가 있다.
또한, 본 발명에 의할 경우, 경로 지연값을 획득하기 위한 추가적인 패킷을 소모하지 않아 컨트롤러와 스위치 간 제어 채널의 병목 현상을 완화할 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 일 실시 예에 의한 SDN 시스템을 도시한다.
도 2는 도 1에 도시된 SDN 시스템 상에서 수행되는 경로 지연 시간 측정 방법을 설명하기 위한 흐름도이다.
도 3은 스위치 간 BFD 에코 모드의 송수신 과정을 도시한다.
도 4는 LLDP 기반의 링크 지연 수집 과정을 도시한다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
도 1은 본 발명의 일 실시 예에 의한 SDN 시스템을 도시한다.
도 1을 참조하면, 경로 지연 시간 측정 시스템 등으로 명명될 수도 있는 SDN 시스템은 컨트롤러와 복수의 네트워크 장치들(A, B 및 C)을 포함할 수 있다. 또한, 도 1은 네트워크 장치 C와 네트워크 장치 A 사이의 경로 지연을 측정하는 상황을 가정한 시스템 예시이다.
SDN(Software Defined Networking)은 네트워크의 제어 평면(control plane)과 전송 평면(또는 데이터 평면, data plane)을 분리하고, 프로그래밍가능성(programmability)과 유연성(flexibility)을 제공한다. SDN은 기존의 고정된 기능과 제한된 접근성에서 벗어나 새로운 프로토콜과 네트워킹 서비스를 자유롭게 적용할 수 있게 해주며, 중앙집중화된 SDN 컨트롤러를 통해 기존의 분산 환경보다 더욱 효과적으로 네트워크를 관리할 수 있게 한다.
컨트롤러는 SDN 컨트롤러를 의미할 수 있으며, 트래픽의 흐름을 제어하기 위해 관련 구성 요소(예컨대, 스위치, 라우터 등)를 제어하는 기능 요소(entity)를 의미할 수 있다. 또한, 컨트롤러는 물리적인 구현 형태나 구현 위치 등에 의해 한정되지 않는다. 예컨대, 컨트롤러는 오픈플로(OpenFlow), IETF(Internet Engineering Task Force), ETSI(European Telecommunication Standards Institute) 및/또는 ITU-T(International Telecommunication Union Telecommunication) 등에서 정의하고 있는 컨트롤러 기능 요소(entity)를 의미할 수 있다.
복수의 네트워크 장치들(A, B 및 C) 각각은 스위치(switch) 또는 라우터(router)와 같이 트래픽 또는 패킷을 포워딩하거나 스위칭 또는 라우팅하는 기능 요소를 의미할 수 있다. 예컨대, 복수의 네트워크 장치는 오픈플로(OpenFlow), IETF, ETSI 및/또는 ITU-T 등에서 정의하고 있는 스위치, 라우터, 스위칭 요소(Switching Element), 라우팅 요소(Routing Element), 또는 포워딩 요소(Forwarding Element) 등을 의미할 수 있다. 도 1에 도시된 복수의 네트워크 장치들(A, B 및 C)의 개수가 본 발명의 권리범위를 제한하는 것이 아님은 자명하다. 또한, 복수의 네트워크 장치들(A, B 및 C) 각각은 후술될 경로 지연 테이블을 저장 및 관리할기 위한 저장 공간(메모리 또는 저장부 등)을 포함할 수 있다.
도 1에 도시된 SDN 환경에서, 컨트롤러는 측정하고자 하는 경로에 BFD 패킷 전송을 위한 전송 규칙을 설치하고, 지연을 측정할 세션 정보를 스위치에 설정할 수 있다. 스위치 간 경로 지연의 측정은 상기 세션 정보에 기초하여 컨트롤러의 개입 없이 수행되며, 측정된 지연값은 다시 컨트롤러로 전송될 수 있다. 경로 지연을 측정하는 구체적인 방법에 관하여는 후술하기로 한다.
도 2는 도 1에 도시된 SDN 시스템 상에서 수행되는 경로 지연 시간 측정 방법을 설명하기 위한 흐름도이다.
경로 지연 시간을 측정하기 위해, 우선 패킷 전송을 위한 플로우 룰(flow rule, 전송 규칙) 설치 단계가 수행된다(S100). 구체적으로, 컨트롤러는 지연 시간을 측정하고자 하는 경로에 포함되는 적어도 하나의 스위치에 BFD(Bidirectional Forwarding Detection, 양방향 전송 감지) 패킷을 전송하기 위한 플로우 룰을 설치할 수 있다. 일 예로, 컨트롤러는 경로 상에 포함된 적어도 하나의 스위치들 각각에 BFD 패킷 전송을 위한 플로우 룰 설치를 위한 플로우 룰 변경 명령, 플로우 룰 추가 명령 또는 플로우 룰 설치 명령을 전송하고, 상기 적어도 하나의 스위치 각각은 이에 응답하여 자신의 플로우 테이블에 플로우 엔트리(또는 플로우 테이블 엔트리)를 추가함으로써 플로우 룰을 설치할 수 있다. BFD 프로토콜은 UDP(User Datagram Protocol)로 통신하므로, 측정하고자 하는 전송 경로 상의 스위치에 이미 IP(Internet Protocol) 또는 UDP까지 매치하는 플로우 룰이 존재한다면 별도의 플로우 룰 설치가 필요하지 않다. 그렇지 않다면, 경로 상에 이를 위한 추가적인 플로우 룰을 설치한다. 스위치들 각각에 의해 유지 관리되는 플로우 테이블은 플로우를 구분하기 위한 매치 필드(Match Field)와 해당 플로우를 처리하기 위한 액션 필드(Action Field)로 구성된다.
이후, 지연 시간을 측정할 세션 정보가 설정 단계가 수행된다(S200). 본 발명에서는 지연 시간 측정시마다 컨트롤러(100)가 개입하지 않도록 하기 위하여, 스위치에 별도로 측정과 관련된 정보를 저장하는 메모리를 할당할 수 있다. 각각의 스위치는 할당된 메모리를 이용하여 경로 지연 테이블(path latency table)이라 명명될 수 있는 소정의 테이블을 관리할 수 있다. 이때, 하나의 스위치 내에서도 다양한 경로에 대한 지연 측정이 수행될 수 있으므로, 서로 다른 경로에서 도착하는 지연 측정용 패킷들을 구분하기 위한 식별자가 필요하다. 이를 위해 BFD Cookie 값을 이용한다. 경로 지연 테이블은 이러한 Cookie를 비롯해 상대방 목적지 스위치 주소를 나타내는 SID, 측정 간격인 Interval, 측정 횟수인 CountOut과 측정치를 저장하는 Latency 필드로 구성되는 latency 엔트리의 집합으로 구성될 수 있다. 즉, 경로 지연 테이블은 BFD 패킷을 식별하기 위한(또는 지연이 측정된 또는 지연이 측정될 경로를 식별하기 위한) 식별 정보(예컨대, BFD Cookie), 경로 상의 목적지 스위치를 식별하기 위한 식별 정보(예컨대, 목적지 스위치의 주소 등), 지연을 측정할 간격에 대한 정보, 지연을 측정할 횟수에 대한 정보를 포함할 수 있다. 또한, 상기 경로 지연 테이블에 포함되는 정보들은 컨트롤러부터 지연이 측정될 경로 상에 포함된 복수의 스위치들 중 첫 번째 스위치로 송신되는 세션 정보에 포함될 수 있다. 예시적인 경로 지연 테이블은 아래 표 1과 같다.
BFD Cookie SID Intermal CountOut Latency
0x0000 A 900 5 NULL
도 1에 도시된 SDN에서 스위치 C에서 스위치 B를 거쳐 스위치 A를 최종 목적지로 하는 경로에 대한 지연을 900ms 간격으로 5번 측정한다고 가정하자. 이때, 컨트롤러는 경로 상의 첫 번째 스위치인 스위치 C의 경로 지연 테이블에 표 1에서와 같이 0x0000 쿠키를 가지며 목적지를 스위치 A로 하는 latency 엔트리를 추가한다.
일 예로, 컨트롤러는 경로 지연을 측정하고자 하는 경로에 대한 정보인 세션 정보를 경로 상에 포함되는 복수의 스위치들 중 첫 번째 스위치로 전송할 수 있다. 상기 첫 번째 스위치는 상기 세션 정보의 수신에 응답하여 상기 첫 번째 스위치가 유지하고 있는 경로 지연 테이블에 엔트리를 추가할 수 있다. 상기 세션 정보는 측정 경로 정보, 경로 측정 정보 등으로 명명될 수 있으며, 패킷(예컨대, BFD 패킷)을 식별할 수 있는 정보(예컨대, BFD Cookie), 경로의 최종 목적지 스위치를 식별할 수 있는 정보(또는 경로의 최종 목적지 스위치의 주소), 경로 지연 측정의 간격, 및 경로 지연 측정 횟수에 관한 정보 중 적어도 하나를 포함할 수 있다.
이후, 경로 지연 측정 단계가 수행된다(S300). 경로 지연 측정 단계는 컨트롤러의 개입 없이 수행될 수 있다. 경로 지연 테이블에 엔트리가 추가되면 스위치는 해당 엔트리의 Interval을 간격으로 하는 타이머를 세팅하여 지정된 횟수만큼 경로 상의 지연을 측정할 수 있다. 이때, 지연 측정은 BFD의 에코 모드를 이용하여 수행될 수 있다. BFD는 IETF에서 제정한 포워딩 링크의 가용성을 확인하기 위한 표준 프로토콜로서, 주기적인 패킷의 송수신 상태를 확인할 수 있게 해준다. 스위치 간 BFD 에코 모드의 송수신 과정을 도시한 도 3을 참조하면, 스위치 사이의 BFD 세션이 생성되면 송신 스위치(스위치 C)는 제어 메시지(패킷 또는 에코 메시지(echo message))를 BFD가 설정된 포트를 통해 수신 스위치(스위치 A)로 송신한다. 에코 모드를 사용할 경우 스위치 A는 스위치 C가 송신한 제어 메시지(패킷 또는 에코 메시지)를 바로 재전송한다. 송신 스위치가 제어 메시지를 송신한 시각과 제어 메시지가 수신된 시각의 차이는 송신 스위치와 수신 스위치 사이의 RTT(Round Trip Time)가 되기 때문에, 스위치 C는 RTT를 반으로 나누어 경로의 정확한 지연 시간을 획득할 수 있다. 이때, 스위치 C가 송신하는 에코 메시지를 에코 요청 메시지, 스위치 A가 송신하는 에코 메시지를 에코 응답 메시지로 명명할 수도 있다.
해당 엔트리에 포함되어 있는 경로 지연 측정 횟수는 2 이상일 수 있기 때문에 스위치 C는 경로 지연 측정 횟수에 따른 복수의 측정값을 평균한 값을 최종적인 지연 시간으로 결정할 수도 있다. 실시 예에 따라, 복수의 측정값들 모두가 컨트롤러로 송신될 수도 있다.
이후, 측정된 지연값을 전송하는 단계가 수행된다(S400). 측정된 지연값을 컨트롤러로 전송하는 과정 또한 기존의 SDN 환경에서는 표준 프로토콜이 정의되어 있지 않다. 본 발명에서는 제어 트래픽을 추가로 발생시키지 않도록 컨트롤러가 기존에 주기적으로 발생시키는 토폴로지 디스커버리 과정에서 사용되는 LLDP(Link Layer Discovery Protocol, 링크 계층 탐색 프로토콜) 패킷(또는 메시지)을 이용하여 지연값을 수집할 수 있다. LLDP 프로토콜은 SDN 환경에서 SDN 컨트롤러가 네트워크의 스위치와 링크 등의 토폴로지 구성을 확인하기 위해 주기적으로 사용하므로, 토폴로지 디스커버리 과정과 병행하여 사용하면 경로 지연 측정값을 스위치로부터 수신받기 위한 추가적인 패킷을 소모하지 않는다는 장점이 존재한다.
LLDP 기반의 링크 지연 수집 과정을 도시하고 있는 도 4를 참조하면, 컨트롤러는 주기적으로 송신되는 PacketOut 메시지에 LLDP를 포함시켜 스위치로 전송할 수 있다. 이때, LLDP 메시지에는 전송하는 스위치 및 포트 정보가 포함되어 있을 수 있다. 컨트롤러가 경로 지연값을 수집하고자 하는 경우, 컨트롤러는 LLDP 패킷을 스위치에 보낼 때 System Capabilities TLV 옵션을 추가하여 획득하고자 하는 지연값의 Path latency entry에 대응하는 BFD Cookie값을 기재하여 발송한다. 즉, 컨트롤러는 경로 지연이 측정된 경로 또는 BFD 패킷을 식별하기 위한 식별 정보(예컨대, BFD Cookie)를 포함하는 LLDP 패킷을 경로의 첫 번째 스위치로 송신할 수 있다.
LLDP 패킷을 수신한 스위치 C는 PacketOut 메시지를 수신하고 LLDP임을 확인하면, Output 포트로 전송하기 전에 System Capabilities TLV 옵션의 유무(또는 경로 또는 BFD 패킷을 식별하기 위한 식별 정보, 예컨대 BFD Cookie의 유무)를 확인하고, 대응되는 경로 지연값을 확인 및 기재하여 PacketOut 메시지에 정의된 출력 포트를 통하여 전송한다. 스위치 C로부터 송신된 LLDP 패킷은 적어도 하나의 스위치를 경유하여 컨트롤로로 송신될 수 있다.
인접한 스위치인 스위치 B가 LLDP를 수신하면 해당 패킷에 대한 플로우 엔트리가 자신의 플로우 테이블에 조재하지 않으므로, 테이블 미스(table miss) 처리 동작을 통하여 스위치 C로부터 수신된 LLDP 패킷을 PacketIn 메시지에 포함시켜 컨트롤러로 전송한다. 최종적으로 LLDP 패킷은 컨트롤러로 전달된다. 컨트롤러는 수신된 PacketIn 메시지를 처리할 때 LLDP 패킷에서 경로 지연 시간을 획득할 수 있게 된다.
본 발명에서는 SDN 환경에서 특정 네트워크 경로 상의 지연을 측정하기 컨트롤러가 개별적인 지연 측정에 개입하지 않고, 스위치가 BFD 에코 모드를 기반으로 능동적인 측정을 수행하는 기법을 제안한다. 또한, 측정한 결과값을 별도의 제어 트래픽이 아니라 기존 컨트롤러와 스위치 사이의 제어 트래픽에 추가하여 수집함으로써 컨트롤러와 스위치 사이의 컨트롤 채널의 병목 현상을 완화할 수 있는 설계를 시도하였다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (10)

  1. SDN(Software Defined Network) 환경에서의 경로 지연 측정 방법에 있어서,
    (a) 경로(path) 상에 포함되는 복수의 스위치들 각각이 컨트롤러로부터 수신되는 제1 패킷의 전송을 위한 플로우 룰 설치 명령에 응답하여 플로우 엔트리를 생성하는 단계;
    (b) 상기 컨트롤러가 상기 복수의 스위치들 중 경로 상의 첫 번째 스위치로 상기 제1 패킷을 식별하기 위한 식별 정보, 상기 복수의 스위치들 중 경로 상의 목적지 스위치를 식별하기 위한 식별 정보, 경로 지연 측정의 간격, 및 경로 지연 측정의 횟수를 포함하는 세션 정보를 송신하는 단계;
    (c) 상기 첫 번째 스위치가 상기 목적지 스위치로 제1 메시지를 송신하고, 상기 목적지 스위치로부터 제2 메시지를 수신하는 단계; 및
    (d) 상기 첫 번째 스위치가 상기 제1 메시지를 송신한 시각과 상기 제2 메시지를 수신한 시각을 이용하여 RTT(Round Trip Time)를 계산하고, 상기 RTT로부터 경로 지연 시간을 계산하는 단계를 포함하고,
    상기 (c) 단계와 상기 (d) 단계는 상기 경로 지연 측정의 간격을 기초로 상기 경로 지연 측정의 횟수만큼 반복적으로 수행되는,
    경로 지연 측정 방법.
  2. 제1항에 있어서,
    상기 제1 패킷은 BFD(Bidirectional Forwarding Detection) 패킷인,
    경로 지연 측정 방법.
  3. 제2항에 있어서,
    상기 (c) 단계는 BFD의 에코 모드(echo mode)에서 수행되고,
    상기 제1 메시지는 에코 요청 메시지이고,
    상기 제2 메시지는 에코 응답 메시지인,
    경로 지연 측정 방법.
  4. 제3항에 있어서,
    상기 컨트롤러가 제2 패킷을 상기 첫 번째 스위치로 송신하는 단계를 더 포함하는,
    경로 지연 측정 방법.
  5. 제4항에 있어서,
    상기 제2 패킷은 LLDP(Link Layer Discovery Protocol) 패킷이고,
    상기 제2 패킷은 상기 제1 패킷을 식별하기 위한 식별 정보를 포함하는,
    경로 지연 측정 방법.
  6. 제5항에 있어서,
    상기 첫 번째 스위치가 상기 제1 패킷을 식별하기 위한 식별 정보에 대응하는 경로의 측정된 경로 지연 시간을 상기 제2 패킷에 포함시켜 수정된 제2 패킷을 생성하고, 상기 수정된 제2 패킷을 적어도 하나의 제2 스위치로 송신하는 단계를 더 포함하는,
    경로 지연 측정 방법.
  7. 제6항에 있어서,
    상기 컨트롤러가 상기 적어도 하나의 제2 스위치로부터 상기 수정된 제2 패킷을 수신하는 단계를 더 포함하는,
    경로 지연 측정 방법.
  8. SDN(Software Defined Network) 환경에서의 경로 지연 측정 방법에 있어서,
    (a) 경로(path) 상에 포함되는 복수의 스위치들 중 첫 번째 스위치가 컨트롤러로부터 수신되는 BFD 패킷의 전송을 위한 플로우 룰 설치 명령에 응답하여 플로우 엔트리를 생성하는 단계;
    (b) 상기 첫 번째 스위치가 상기 컨트롤러로부터 상기 BFD 패킷을 식별하기 위한 식별 정보, 상기 복수의 스위치들 중 경로 상의 목적지 스위치를 식별하기 위한 식별 정보, 경로 지연 측정의 간격, 및 경로 지연 측정의 횟수를 포함하는 세션 정보를 수신하는 단계;
    (c) 상기 첫 번째 스위치가 상기 목적지 스위치로 에코 요청 메시지를 송신하고, 상기 목적지 스위치로부터 에코 응답 메시지를 수신하는 단계; 및
    (d) 상기 첫 번째 스위치가 상기 에코 요청 메시지를 송신한 시각과 상기 에코 응답 메시지를 수신한 시각을 이용하여 RTT(Round Trip Time)를 계산하고, 상기 RTT로부터 경로 지연 시간을 계산하는 단계를 포함하고,
    상기 (c) 단계와 상기 (d) 단계는 상기 경로 지연 측정의 간격을 기초로 상기 경로 지연 측정의 횟수만큼 반복적으로 수행되는,
    경로 지연 측정 방법.
  9. 제8항에 있어서,
    상기 첫 번째 스위치가 상기 컨트롤러로부터 상기 BFD 패킷을 식별하기 위한 식별 정보를 포함하는 LLDP 패킷을 수신하는 단계;
    상기 첫 번째 스위치가 상기 BFD 패킷을 식별하기 위한 식별 정보에 대응하는 경로의 측정된 경로 지연 시간을 상기 LLDP 패킷에 포함시켜 수정된 LLDP 패킷을 생성하는 단계; 및
    상기 첫 번재 스위치가 상기 수정된 LLDP 패킷을 적어도 하나의 제2 스위치로 송신하는 단계를 더 포함하는,
    경로 지연 측정 방법.
  10. 제9항에 있어서,
    상기 BFD 패킷을 식별하기 위한 식별 정보는 BFD 쿠키(BFD Cookie)이고,
    상기 목적지 스위치를 식별하기 위한 식별 정보는 상기 목적지 스위치의 주소인,
    경로 지연 측정 방법.
KR1020170074806A 2017-06-14 2017-06-14 Sdn 기반 경로 지연 시간 측정 방법 KR101962346B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170074806A KR101962346B1 (ko) 2017-06-14 2017-06-14 Sdn 기반 경로 지연 시간 측정 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170074806A KR101962346B1 (ko) 2017-06-14 2017-06-14 Sdn 기반 경로 지연 시간 측정 방법

Publications (2)

Publication Number Publication Date
KR20180136605A true KR20180136605A (ko) 2018-12-26
KR101962346B1 KR101962346B1 (ko) 2019-03-27

Family

ID=65006464

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170074806A KR101962346B1 (ko) 2017-06-14 2017-06-14 Sdn 기반 경로 지연 시간 측정 방법

Country Status (1)

Country Link
KR (1) KR101962346B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112291115A (zh) * 2020-11-20 2021-01-29 桂林航天工业学院 基于软件定义数据中心的高精度实时延时监测方法
KR20210044682A (ko) * 2019-10-15 2021-04-23 고려대학교 산학협력단 서비스 기능의 지연 시간 측정 시스템, 장치 및 방법
KR102256447B1 (ko) * 2020-02-18 2021-05-25 연세대학교 산학협력단 소프트웨어 정의 네트워크 환경에서 지연 민감 서비스를 위한 네트워크 관리 장치 및 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021075683A1 (ko) * 2019-10-15 2021-04-22 고려대학교 산학협력단 서비스 기능의 지연 시간 측정 시스템, 장치 및 방법

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100737678B1 (ko) * 2006-07-25 2007-07-09 한국정보통신대학교 산학협력단 멀티미디어 스트리밍 서비스에 대한 지연시간 분석방법
US20100149992A1 (en) 2005-08-10 2010-06-17 Xuefei Tan Method for the Trigger Failure Detection of Bidirectional Forwarding Detection
KR20150100027A (ko) 2014-02-24 2015-09-02 연세대학교 산학협력단 소프트웨어 정의 네트워크에서 라우팅 설정 방법 및 장치
KR20160098321A (ko) 2013-12-17 2016-08-18 텔레콤 이탈리아 소시에떼 퍼 아찌오니 패킷-교환 통신 네트워크에서의 시간 측정
KR20160115050A (ko) * 2015-03-25 2016-10-06 한국전자통신연구원 패킷 전달 경로의 서비스 품질 제어를 위한 오픈플로 컨트롤러 및 그 방법
KR20160131532A (ko) * 2015-05-07 2016-11-16 삼성전자주식회사 네트워크 시스템의 서비스 가용성을 최대로 보장하기 위한 적응형 bfd 프로토콜과 그 장치
US9602374B2 (en) 2014-07-21 2017-03-21 Ciena Corporation Systems and methods for collecting and analyzing data to determine link quality and stability in layer two networks
KR20170031539A (ko) * 2015-09-11 2017-03-21 한국전자통신연구원 오픈 플로우 네트워크 분할 환경에서의 분산 라우팅 장치 및 방법

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100149992A1 (en) 2005-08-10 2010-06-17 Xuefei Tan Method for the Trigger Failure Detection of Bidirectional Forwarding Detection
KR100737678B1 (ko) * 2006-07-25 2007-07-09 한국정보통신대학교 산학협력단 멀티미디어 스트리밍 서비스에 대한 지연시간 분석방법
KR20160098321A (ko) 2013-12-17 2016-08-18 텔레콤 이탈리아 소시에떼 퍼 아찌오니 패킷-교환 통신 네트워크에서의 시간 측정
KR20150100027A (ko) 2014-02-24 2015-09-02 연세대학교 산학협력단 소프트웨어 정의 네트워크에서 라우팅 설정 방법 및 장치
US9602374B2 (en) 2014-07-21 2017-03-21 Ciena Corporation Systems and methods for collecting and analyzing data to determine link quality and stability in layer two networks
KR20160115050A (ko) * 2015-03-25 2016-10-06 한국전자통신연구원 패킷 전달 경로의 서비스 품질 제어를 위한 오픈플로 컨트롤러 및 그 방법
KR20160131532A (ko) * 2015-05-07 2016-11-16 삼성전자주식회사 네트워크 시스템의 서비스 가용성을 최대로 보장하기 위한 적응형 bfd 프로토콜과 그 장치
KR20170031539A (ko) * 2015-09-11 2017-03-21 한국전자통신연구원 오픈 플로우 네트워크 분할 환경에서의 분산 라우팅 장치 및 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210044682A (ko) * 2019-10-15 2021-04-23 고려대학교 산학협력단 서비스 기능의 지연 시간 측정 시스템, 장치 및 방법
KR102256447B1 (ko) * 2020-02-18 2021-05-25 연세대학교 산학협력단 소프트웨어 정의 네트워크 환경에서 지연 민감 서비스를 위한 네트워크 관리 장치 및 방법
CN112291115A (zh) * 2020-11-20 2021-01-29 桂林航天工业学院 基于软件定义数据中心的高精度实时延时监测方法

Also Published As

Publication number Publication date
KR101962346B1 (ko) 2019-03-27

Similar Documents

Publication Publication Date Title
JP6542409B2 (ja) ソフトウェア定義ネットワークにおけるパテントレイテンシの監視
TWI528755B (zh) 軟體定義網路中用於延遲量測之網路控制器、延遲量測系統及延遲量測方法
KR101962346B1 (ko) Sdn 기반 경로 지연 시간 측정 방법
KR100817798B1 (ko) 인터넷 제어 메시지 프로토콜의 타임스탬프 기능을 이용한네트워크 링크 가용 대역폭 추정 방법
Atary et al. Efficient round-trip time monitoring in OpenFlow networks
EP2487842A1 (en) Computer system and monitoring method for computer system
JP4348124B2 (ja) QoSを推定する方法および通信装置
JP5534481B2 (ja) 通信品質監視システム、通信品質監視方法、及び記憶媒体
US20060274791A1 (en) Method measuring a delay time metric and measurement system
CN112311614B (zh) 评估网络节点相关传输性能的系统、方法以及相关设备
US8687507B2 (en) Method, arrangement and system for monitoring a data path in a communication network
KR101089832B1 (ko) 네트워크 자율 관리 시스템
CN112242950A (zh) 确定路径的方法和相关设备
EP3295612B1 (en) Uplink performance management
EP3025453B1 (en) Probe routing in a network
CN111327478A (zh) 网络测量方法和装置、设备及存储介质
EP3025459B1 (en) Probe routing in a network
Zinner et al. Using concurrent multipath transmission for transport virtualization: analyzing path selection
JP2011151490A (ja) 中継装置及び帯域制御方法
CN113676408B (zh) 虚拟专用网络的选路方法、系统、设备及存储介质
US20220217179A1 (en) Methods and devices for measuring reputation in a communication network
KR100724680B1 (ko) 패킷 전송 품질 측정 시스템 및 그 방법
KR20160137413A (ko) 소프트웨어 정의 네트워크 토폴리지 내 네트워크 장치 간의 거리 검출 방법
Gadallah et al. A seven-dimensional state flow traffic modelling for multi-controller Software-Defined Networks considering multiple switches
JP5990491B2 (ja) ネットワーク品質測定システム及び方法及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant