KR102425919B1 - 서비스 기능의 지연 시간 측정 시스템, 장치 및 방법 - Google Patents

서비스 기능의 지연 시간 측정 시스템, 장치 및 방법 Download PDF

Info

Publication number
KR102425919B1
KR102425919B1 KR1020200098650A KR20200098650A KR102425919B1 KR 102425919 B1 KR102425919 B1 KR 102425919B1 KR 1020200098650 A KR1020200098650 A KR 1020200098650A KR 20200098650 A KR20200098650 A KR 20200098650A KR 102425919 B1 KR102425919 B1 KR 102425919B1
Authority
KR
South Korea
Prior art keywords
packet
service function
delay time
processing unit
unit
Prior art date
Application number
KR1020200098650A
Other languages
English (en)
Other versions
KR20210044682A (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 PCT/KR2020/010501 priority Critical patent/WO2021075683A1/ko
Publication of KR20210044682A publication Critical patent/KR20210044682A/ko
Application granted granted Critical
Publication of KR102425919B1 publication Critical patent/KR102425919B1/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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • 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/0823Errors, e.g. transmission errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps

Abstract

서비스 기능의 지연 시간 측정 시스템, 장치 및 방법에 관한 것으로, 지연 시간 측정 장치는 패킷을 수신하고, 상기 패킷에 대해 서비스 기능을 처리하여, 처리된 패킷을 출력하는 서비스 기능부 및 상기 서비스 기능부에 패킷을 전달하고, 상기 패킷을 상기 서비스 기능부에 전달한 제1 송신 시간을 기록하고, 상기 서비스 기능부로부터 상기 처리된 패킷을 수신한 제1 수신 시간을 기록하는 전달 처리부를 포함하되, 상기 서비스 기능부는 상기 패킷을 수신한 제2 수신 시간을 기록하고, 서비스 기능이 처리된 패킷을 상기 전달 처리부에 전달한 제2 송신 시간을 기록할 수 있으며, 상기 패킷에 대한 처리 지연 시간은 상기 제2 수신 시간 및 상기 제2 송신 시간을 기반으로 연산 될 수 있다.

Description

서비스 기능의 지연 시간 측정 시스템, 장치 및 방법{SYSTEM, APPARATUS AND METHOD FOR MEASURING DELAY TIME OF SERVICE FUNCTION}
본 발명은 서비스 기능의 지연 시간 측정 시스템, 장치 및 방법에 관한 것이다.
외부의 단말 장치가 네트워크 장치와 통신 가능하게 연결되고, 적어도 하나의 패킷을 네트워크 장치로 전송하면, 네트워크 장치는 수신한 패킷에 대해 적어도 하나의 기능을 처리하고, 단말 장치가 요구하는 네트워크 서비스를 단말 장치에 제공할 수 있다. 여기서, 네트워크 장치가 적어도 하나의 패킷에 대해 처리하는 기능을 서비스 기능(SF: Service Function, 네트워크 서비스 기능으로 지칭 가능함)이라고 한다.
서비스 기능 체이닝(SFC: Service Function Chaining) 기술(네트워크 서비스 체이닝(Network Service Chaining) 기술로도 지칭 가능함)은 복수의 서비스 기능을 조합한 것으로, 복수의 서비스 기능 중 특정한 서비스 기능이 미리 정의된 조건에 따라 처리되도록 하는 기술을 의미한다. 즉, 서비스 기능 체이닝 기술은 네트워크 정책에 따라 패킷들을 분류하고, 이들에 대해 일군의 서비스 기능이 순차적으로 처리되도록 한다.
종래에는 서비스 기능 체이닝 하에서의 각각의 서비스 기능의 처리 지연 여부(즉, 장애 여부)를 판단하기 위해서, 주기적으로 탐지 패킷을 이용하였다. 상세하게는 별도로 마련된 컨트롤러나 모니터링 엔진이 탐지 패킷을 주기적으로 생성하여 서비스 기능에 전달하고, 해당 서비스 기능은 이에 응하여 장애 여부에 대한 피드백을 컨트롤러나 엔진에 전송하고, 컨트롤러나 엔진이 수신한 피드백을 기반으로 장애 여부를 판단함으로써 처리 지연 여부를 진단하였다. 이와 같은 모니터링 방식을 통상 아웃오브밴드(Out-of-band) 방식 모니터링이라 한다. 그러나, 아웃오브밴드 방식 모니터링은 주기적으로 모니터링을 위한 패킷을 발생시키기 때문에 네트워크 혼잡을 유발하는 문제점이 있다. 또한, 이와 같은 방식으로는 서비스 기능의 처리 지연 시간의 측정이 불가능하여 세밀한 모니터링이 어려워진다는 문제점도 있었다.
대한민국 등록특허 제1656038호 대한민국 등록특허 제1884636호
C. Pignataro and J. Halpern, "Service Function Chaining (SFC) Architecture," document RFC 7665, Internet Engineering Task Force, October 2015. P. Quinn, U. Elzur, and C. Pignataro, "Network Service Header (NSH)," document RFC 8300, Internet Engineering Task Force, January 2018. D. Katz and D. Ward, "Bidirectional Forwarding Detection (BFD)," document RFC 5880, Internet Engineering Task Force, June 2010. P. Bosshart, D. Daly, G. Gibb, M. Izzard, N. McKeown, J. Rexford, C. Schlesinger, D. Talayco, A. Vahdat, G. Varghese and D. Walker, "P4: Programming Protocol-Independent Packet Processors," SIGCOMM Computer Communication Review(CCR), vol. 44, no. 3, pp. 87-95, 2014.
본 발명은 추가적인 대역폭 없이도 적어도 하나의 네트워크 서비스 기능을 모니터링하고, 처리 지연 시 구체적인 상황을 보다 상세하게 파악할 수 있는 서비스 기능의 지연 시간 측정 시스템, 장치 및 방법을 제공하는 것을 해결하고자 하는 과제로 한다.
상술한 과제를 해결하기 위하여 서비스 기능의 지연 시간 측정 시스템, 장치 및 방법이 제공된다.
지연 시간 측정 시스템은, 패킷을 수신하고, 상기 패킷에 대해 서비스 기능을 처리하여, 처리된 패킷을 출력하는 서비스 기능부 및 상기 서비스 기능부에 패킷을 전달하고, 상기 패킷을 상기 서비스 기능부에 전달한 제1 송신 시간을 기록하고, 상기 서비스 기능부로부터 상기 처리된 패킷을 수신한 제1 수신 시간을 기록하는 전달 처리부를 포함하되, 상기 서비스 기능부는 상기 패킷을 수신한 제2 수신 시간을 기록하고, 서비스 기능이 처리된 패킷을 상기 전달 처리부에 전달한 제2 송신 시간을 기록하며, 상기 패킷에 대한 처리 지연 시간은 상기 제2 수신 시간 및 상기 제2 송신 시간을 기반으로 연산 될 수 있다.
상기 패킷에 대한 왕복 지연 시간은, 상기 제1 송신 시간 및 상기 제1 수신 시간을 기반으로 연산될 수 있고, 상기 패킷에 대한 전송 지연 시간은 상기 왕복 지연 시간 및 상기 처리 지연 시간의 차이를 기반으로 연산될 수 있다.
상기 처리 지연 시간, 상기 왕복 지연 시간, 및 상기 전송 지연 시간 중 적어도 하나가 미리 정의된 임계 값을 초과하면, 상기 전달 처리부는 미리 정의된 처리 규칙에 따라 동작할 수 있다.
지연 시간 측정 시스템은 새로운 처리 규칙을 생성하는 제어부를 더 포함할 수 있으며, 상기 미리 정의된 처리 규칙이 부재한 경우, 상기 전달 처리부는 상기 제어부에 새로운 처리 규칙을 요청하고, 상기 제어부가 생성한 새로운 처리 규칙에 따라서 동작할 수 있다.
상기 패킷은 네트워크 서비스 헤더가 추가된 캡슐화 패킷을 포함할 수 있다.
상기 서비스 기능부는 상기 네트워크 서비스 헤더에 상기 제2 수신 시간 및 상기 제2 송신 시간을 마킹하여 기록할 수 있다.
상기 전달 처리부 및 서비스 기능부는 프로그래밍 가능한 데이터 평면을 기반으로 하는 것일 수 있다.
지연 시간 측정 방법은, 전달 처리부가 서비스 기능부에 패킷을 전달하고, 상기 패킷이 전달된 제1 송신 시간을 기록하는 단계, 서비스 기능부가 패킷을 수신하고, 상기 패킷을 수신한 제2 수신 시간을 기록하는 단계, 상기 서비스 기능부가 상기 전달 처리부에 서비스 기능이 처리된 패킷을 전달하고, 상기 서비스 기능이 처리된 패킷을 상기 전달 처리부에 전달한 제2 송신 시간을 기록하는 단계, 상기 전달 처리부가 상기 서비스 기능부로부터 상기 처리된 패킷을 수신하고, 상기 처리된 패킷이 수신된 제1 수신 시간을 기록하는 단계 및 상기 제2 수신 시간 및 상기 제2 송신 시간을 기반으로 상기 패킷에 대한 처리 지연 시간을 연산하는 단계를 포함할 수 있다.
지연 시간 측정 방법은, 상기 제1 송신 시간, 및 상기 제1 수신 시간을 기반으로 상기 패킷에 대한 왕복 지연 시간을 연산하는 단계 및 상기 왕복 지연 시간 및 상기 처리 지연 시간의 차이를 이용하여 상기 패킷에 대한 전송 지연 시간을 연산하는 단계를 더 포함할 수 있다.
지연 시간 측정 방법은 상기 처리 지연 시간, 상기 왕복 지연 시간, 및 상기 전송 지연 시간 중 적어도 하나가 미리 정의된 임계 값을 초과하면, 상기 전달 처리부가 미리 정의된 처리 규칙에 따라 동작하는 단계를 더 포함할 수 있다.
지연 시간 측정 방법은 상기 미리 정의된 처리 규칙이 부재한 경우, 새로운 처리 규칙을 생성하고, 상기 전달 처리부는 상기 새로운 처리 규칙에 따라서 동작하는 단계를 더 포함할 수 있다.
지연 시간 측정 장치는 서비스 기능부에 패킷을 전달한 제1 송신 시간 및 서비스 기능부로부터 패킷을 수신한 제1 수신 시간을 기록하는 시간 기록부 및 상기 패킷에 기록된 서비스 기능부가 패킷을 수신한 제2 수신 시간 및 상기 서비스 기능부가 패킹을 송신한 제2 송신 시간을 독출하고, 상기 제2 송신 시간 및 상기 제2 수신 시간의 차이를 이용하여 처리 지연 시간을 연산하는 지연 처리부를 포함할 수 있다.
상기 지연 처리부는 상기 제1 송신 시간 및 상기 제1 수신 시간을 기반으로 상기 패킷에 대한 왕복 지연 시간을 연산할 수 있다.
상기 지연 처리부는 상기 왕복 지연 시간 및 상기 처리 지연 시간의 차이를 이용하여 상기 패킷에 대한 전송 지연 시간을 연산할 수 있다.
상기 처리 지연 시간, 상기 왕복 지연 시간, 및 상기 전송 지연 시간 중 적어도 하나가 미리 정의된 임계 값을 초과하면, 상기 지연 처리부는, 미리 정의된 처리 규칙에 따라 동작하거나 또는 외부의 다른 장치로 처리 규칙을 요청할 수 있다.
상술한 서비스 기능의 지연 시간 측정 시스템, 장치 및 방법에 의하면, 추가적인 대역폭 없이도 적어도 하나의 서비스 기능의 지연 또는 장애 발생 여부를 보다 적절하게 모니터링할 수 있게 된다.
또한, 적어도 하나의 서비스 기능의 처리 지연이 어느 부분에서 발생하게 되었는지 더욱 상세하게 세부적으로 확인 및 분석할 수 있게 되어, 지연의 원인을 정확한 판단이 가능하게 된다.
또한, 서비스 기능 체이닝 기술에 있어서, 별도의 탐지 패킷의 생성 및 입력 없이도 서비스 기능의 지연 시간을 측정하거나 장애 발생 여부를 판단할 수 있어 모니터링을 위한 컨트롤러나 모니터링 엔진 등 별도의 하드웨어나 소프트웨어를 구축할 필요가 없어질 뿐만 아니라, 탐지 패킷에 의한 대역폭 오버헤드 등과 같은 네트워크 혼잡을 미연에 방지할 수 있게 되므로, 네트워크 장치에 대한 모니터링의 효율성 및 경제성을 재고할 수 있게 된다.
도 1은 지연 시간 측정 시스템의 일 실시예에 대한 블록도이다.
도 2는 전달 처리부 및 서비스 기능부의 동작의 일 실시예를 설명하기 위한 도면이다.
도 3은 네트워크 서비스 헤더의 일 실시예에 대한 블록도이다.
도 4는 지연 처리부의 동작의 일 실시예를 설명하기 위한 제1 도이다.
도 5는 지연 처리부의 동작의 일 실시예를 설명하기 위한 제2 도이다.
도 6은 서비스 기능의 지연 시간 측정 방법의 일 실시예에 대한 제1 흐름도이다.
도 7은 서비스 기능의 지연 시간 측정 방법의 일 실시예에 대한 제2 흐름도이다.
도 8은 서비스 기능의 지연 시간 측정 방법의 일 실시예에 대한 제3 흐름도이다.
도 9는 전달 처리부의 동작의 일 실시예에 대한 흐름도이다.
이하 명세서 전체에서 동일 참조 부호는 특별한 사정이 없는 한 동일 구성요소를 지칭한다. 이하에서 사용되는 '부'가 부가된 용어는, 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예에 따라 하나의 '부'가 하나의 물리적 또는 논리적 부품으로 구현되거나, 복수의 '부'가 하나의 물리적 또는 논리적 부품으로 구현되거나, 하나의 '부'가 복수의 물리적 또는 논리적 부품들로 구현되는 것도 가능하다.
명세서 전체에서 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 어떤 부분과 다른 부분에 따라서 물리적 연결을 의미할 수도 있고, 또는 전기적으로 연결된 것을 의미할 수도 있다. 또한, 어떤 부분이 다른 부분을 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 부분 이외의 또 다른 부분을 제외하는 것이 아니며, 설계자의 선택에 따라서 또 다른 부분을 더 포함할 수 있음을 의미한다.
제1이나 제2 등의 용어는 하나의 부분을 다른 부분으로부터 구별하기 위해 사용되는 것으로, 특별한 기재가 없는 이상 이들이 순차적인 표현을 의미하는 것은 아니다. 또한, 단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함할 수 있다.
이하, 도 1 내지 도 5를 참조하여 서비스 기능의 지연 시간 측정 시스템 및 지연 시간 측정 장치의 일 실시예에 대해서 설명하도록 한다.
도 1은 지연 시간 측정 시스템의 일 실시예에 대한 블록도이다.
도 1에 도시된 바를 참조하면, 소정의 네트워크(예컨대, 소프트웨어 정의 네트워크(Software Defined Network, SDN)의 지연 시간 측정 시스템(100)은 외부의 장치(10)로부터 패킷(20)을 획득하고 패킷(20)에 대한 서비스 기능을 처리 및 수행하고 및/또는 서비스 기능의 동작 및 장애 여부를 모니터링할 수 있다. 보다 구체적으로는, 외부의 장치(10)로부터 패킷(20)을 수신하고, 수신한 네트워크 정책 등에 따라 패킷(20)을 하나 이상으로 분류하고, 분류된 적어도 하나의 패킷(20)의 전부 또는 일부에 대해 순차적으로 또는 임의적 순서로 네트워크 서비스 기능을 처리하도록 마련된 것일 수 있다.
일 실시예에 의하면, 지연 시간 측정 시스템(100)은 지연 시간 측정 시스템(100)의 전반적인 동작을 관리하거나 제어하는 제어부(110), 각각의 패킷(20)에 대해 서비스 기능을 처리하는 서비스 처리부(120)를 포함할 수 있다. 제어부(110) 및 서비스 처리부(120)는 물리적으로 구분된 것일 수도 있다. 이 경우, 제어부(110) 및 서비스 처리부(120)는 각각 물리적으로 구분된 적어도 하나의 프로세서 또는 적어도 하나의 컴퓨팅 장치 등을 이용하여 구현될 수 있다. 예컨대, 제어부(110)는 SDN의 컨트롤러(controller)로 명명되는 컴퓨팅 장치나 서버 등으로 구현될 수 있고, 서비스 처리부(120)의 각 구성들은 미리 정해진 동작을 수행하는 노드(node)로 구현될 수 있다.
제어부(110)는 패킷(20)의 제어 및/또는 서비스 처리부(120)의 제어 또는 관리 등을 처리할 수 있다. 예를 들어, 제어부(110)는 패킷(20)에 대한 설정을 지정 또는 변경하거나, 및/또는 서비스 처리부(120)의 요청에 응하여 대응하는 응답을 서비스 처리부(120)로 전달할 수도 있다. 보다 구체적으로 예를 들어, 전자의 경우, 제어부(110)는 입력된 패킷(20)에 대해 타임 스탬핑(time stamping) 등의 방법을 통해 후술한 송신 시간 또는 수신 시간(도 2의 t11, t12, t21, t22) 등을 기록하도록 설정할 수도 있다. 후자의 경우, 제어부(110)는 서비스 처리부(120)에서 요청하는 처리 규칙(도 5의 112)을 생성하거나 별도로 마련된 저장 매체(일례로 제어부(110)에 마련된 반도체 기억 장치나 자기디스크 기억 장치 등)에 저장된 처리 규칙(112)을 호출하거나 및/또는 기존의 처리 규칙을 수정하여 새로운 처리 규칙(112)을 획득한 후 이를 서비스 처리부(120)로 전달할 수도 있다. 제어부(110)는 제어 평면(Control Plane)으로 지칭될 수도 있다.
서비스 처리부(120)는 외부의 장치(10)가 전달한 패킷(20) 각각에 대해 적어도 하나의 서비스 기능을 처리할 수 있다. 일 실시예에 의하면, 서비스 처리부(120)는 필요에 따라 서비스 기능 체이닝 기술을 기반으로 구현된 것을 수도 있다. 이 경우, 서비스 처리부(120)는 서비스 기능 체이닝 영역(SFC domain, Service Function Chaining domain)으로 지칭될 수도 있다. 또한, 서비스 처리부(120)는 데이터 평면(Data Plane)으로 구현된 것일 수 있다. 실시예에 따라, 서비스 처리부(120)는 프로그래밍 가능한 데이터 평면(PDP: Programable Data Plane)을 기반으로 구현된 것일 수 있다.
서비스 처리부(120)는 서비스 분류부(SC: Service Classifier, 121), 제1 내지 제n 전달 처리부(SFF: Service Function Forwarder, 130-1 내지 130-n, n은 1 이상의 자연수), 및 제1 내지 제n 서비스 기능부(135-1 내지 135-n)를 포함할 수 있다. 도 1에서, 제1 내지 제n 서비스 기능부(135-1 내지 135-n)는 제1 내지 제n 전달 처리부(130-1 내지 130-n) 각각에 대응하여 마련된 것으로 도시되어 있으나, 실시예에 따라 다대일 또는 일대다의 관계로 대응하여 마련될 수도 있다. 예컨대, 제1 전달처리부(130-1)에는 제1 서비스 기능부(135-1) 내지 제k 서비스 기능부(135-k, k는 1보다 크고 n보다 작거나 같은 임의의 자연수)가 대응되어 미리 정해진 서비스 기능이 수행되도록 해당하는 서비스 기능부로 패킷을 전달할 수 있다.
서비스 분류부(121), 제1 내지 제n 전달 처리부(130-1 내지 130-n) 및 제1 내지 제n 서비스 기능부(135-1 내지 135-n)의 전부 또는 일부는, 각각 물리적으로 구분되는 것일 수도 있고, 및/또는 논리적으로 구분되는 것일 수도 있다. 다시 말해서, 서비스 처리부(120)는 복수의 물리적 장치를 이용하여 구현될 수도 있다. 이 경우, 서비스 분류부(121), 제1 내지 제n 전달 처리부(130-1 내지 130-n), 및 제1 내지 제n 서비스 기능부(135-1 내지 135-n) 각각은 적어도 하나의 물리적 장치를 이용하여 구현될 수 있다. 여기서, 물리적 장치는 서버용 컴퓨터 장치, 라우터, 이더넷 허브 장치, 게이트웨이 장치, 데스크톱 컴퓨터, 랩톱 컴퓨터, 스마트폰, 태블릿 피씨 또는 셋톱 박스 등을 포함할 수 있으나, 이에 한정되는 것은 아니며, 설계자가 고려 가능한 다양한 전자 장치를 포함할 수 있다. 보다 구체적으로 예를 들어, 서비스 분류부(121), 제1 내지 제n 전달 처리부(130-1 내지 130-n), 및 제1 내지 제n 서비스 기능부(135-1 내지 135-n)는 각각 별도의 통신 장비를 이용하여 구현된 것일 수 있으며, 이 경우, 서비스 분류부(121)는 스위치나 라우터에 의해 구현되고, 제1 내지 제n 전달 처리부(130-1 내지 130-n) 및 제1 내지 제n 서비스 기능부(135-1 내지 135-n) 각각은 별도의 서버용 컴퓨터 장치에 의해 구현된 것일 수도 있다. 실시예에 따라서, 어느 하나의 전달 처리부(130-1 내지 130-n)와 이에 대응하는 어느 하나 또는 둘 이상의 서비스 처리부(135-1 내지 135-n)가 하나의 물리적 장치(예를 들어, 서버용 컴퓨터 장치 등)를 기반으로 구현되는 것도 가능하다.
외부 장치(10)가 전송한 패킷(20)은 서비스 분류부(121)를 거쳐 제1 내지 제n 전달 처리부(130-1 내지 130-n) 중 적어도 하나에 순차적으로 또는 비순차적으로 전달될 수 있다. 필요에 따라, 패킷(20)은 제1 내지 제n 서비스 기능부(135-1 내지 135-n) 중 적어도 하나에 전달된 후, 다음 순서의 서비스 처리부(130-2 내지 130-n 중 적어도 하나)에 전달될 수도 있다. 이 경우, 패킷(20)은 캡슐화 패킷(도 2의 30)을 포함할 수 있다. 구체적으로 전달 처리부(130-1 내지 130-n)는 패킷(20, 30)의 서비스 기능부(135-1 내지 135-n)로의 전달 여부를 결정하고, 결정된 바에 따라서 패킷(20, 30)을 서비스 기능부(135-1 내지 135-n)로 전달하거나 및/또는 다음 순서의 전달 처리부(130-2 내지 130-n) 또는 외부장치(90)로 전달할 수 있다. 서비스 분류부(121), 전달 처리부(130-1 내지 130-n) 및 서비스 기능부(135-1 내지 135-n) 각각의 동작 및 기능에 대해선 후술하도록 한다.
외부 장치(10, 90)는 명령, 지시 또는 데이터 등을 패킷(20)을 지연 시간 측정 시스템(100)의 서비스 처리부(120)로 전달하거나 및/또는 서비스 처리부(120)로부터 서비스 처리가 수행된 패킷을 수신할 수 있다. 이 경우, 패킷을 전송한 외부 장치(10)와 처리된 패킷을 수신하는 외부 장치(10, 90)는 서로 동일할 수도 있고 서로 상이할 수도 있다. 외부 장치(10, 90)는 물리적 매체일 수도 있고, 가상적 매체일 수도 있다. 물리적 매체인 경우, 외부 장치(10, 90)는, 유선 통신 네트워크 및 무선 통신 네트워크(이동통신을 포함할 수도 있고 및/또는 와이파이나 블루투스와 같은 근거리 통신 등을 포함할 수도 있다) 중 적어도 하나를 통해 서비스 처리부(120)와 통신 가능하게 연결되어 패킷(20)의 송수신을 수행할 수 있도록 마련된 전자 장치를 포함 가능하며, 여기서 전자 장치는, 예를 들어, 스마트폰, 태블릿 피씨, 데스크톱 컴퓨터, 랩톱 컴퓨터, 서버용 컴퓨터, 가전 기기, 로봇, 차량, 블랙박스, 웨어러블 장치, 기계 장치 및/또는 건설 기계 등을 포함할 수 있다.
도 1에 도시된 서비스 처리부(120)의 각 구성, 즉 서비스 분류부(121), 제1 내지 제n 전달 처리부(130-n), 및 제1 내지 제n 서비스 기능부와 외부 장치(10, 90) 각각은 노드(node)로 표현될 수도 있다. 이 경우, 외부 장치(10)는 소스 노드(source node), 서비스 분류부는 SC(Service Classifier) 노드, 전달 처리부는 SFF(Service Function Forwarder) 노드, 서비스 기능부는 SF(Service Function) 노드, 그리고 외부 장치(90)는 목적지 노드(destination node)로 불릴 수 있다.
도 2는 전달 처리부 및 서비스 기능부의 동작의 일 실시예를 설명하기 위한 도면이다. 도 2에는 하나의 전달 처리부(130) 및 이에 대응하는 하나의 서비스 기능부(135)만을 도시하고 있으나, 이는 설명의 편의를 위한 것으로, 다른 전달 처리부와 다른 서비스 기능부의 존재를 배제하는 것은 아니다. 도 1의 다른 전달 처리부, 일례로 제2 전달 처리부 내지 제n 전달 처리부(130-2 내지 130-n)과 이에 대응하는 제2 서비스 기능부 내지 제n 서비스 기능부(135-2 내지 135-n) 역시도, 후술하는 바와 동일하게 또는 일부 변형된 방법을 통해 동작하도록 설계된 것일 수 있다.
서비스 분류부(121)는 패킷(20)을 수신하고, 수신한 패킷(20)을 미리 정의된 분류 규칙에 따라 분류할 수 있다. 또한, 서비스 분류부(121)는 필요에 따라서 수신한 패킷(20)의 복호화를 수행하거나, 송신할 패킷에 대한 암호화를 더 수행할 수도 있다.
일 실시예에 의하면, 서비스 분류부(121)는 분류 결과에 따라서 수신한 패킷(20)의 전부 또는 일부에 네트워크 서비스 헤더(31)를 각각 부가하여 패킷(20)에 대한 캡슐화(encapsulation)를 수행함으로써, 네트워크 서비스 헤더(31)가 부가되어 캡슐화된 패킷(30, 이하 캡슐화 패킷)을 획득할 수 있게 된다. 이에 따라서, 트래픽 흐름 내의 패킷에 식별자가 마킹될 수 있게 된다. 캡슐화 패킷(30)은 적어도 하나의 전달 처리부(130-1 내지 130-n 중 적어도 하나)로 전달될 수 있다. 예를 들어, 캡슐화 패킷(30)은 처음에는 제1 전달 처리부(130-1)로 전달되고, 이후 순차적으로 또는 비순차적으로 제2 전달부 내지 제n 전달부(130-1 내지 130-n) 중 적어도 하나로 전달될 수도 있다.
도 3은 네트워크 서비스 헤더의 일 실시예에 대한 블록도이다.
도 3을 참조하면, 네트워크 서비스 헤더(31)는 기본 헤더(32), 서비스 경로 헤더(34), 및 콘텍스트 헤더(36)를 포함할 수 있다. 기본 헤더(32)는 네트워크 서비스 헤더(31)와 관련된 각종 정보를 포함할 수 있다. 예를 들어, 기본 헤더(32)는 네트워크 서비스 헤더(31)의 버전, 패킷(20)의 종류, 전달 처리부(130-1 내지 130-n)의 최대 개수, 네트워크 서비스 헤더(31)의 총 길이, 메타 데이터의 타입 및/또는 캡슐화된 데이터의 프로토콜 타입 등을 포함할 수 있다. 서비스 경로 헤더(34)는 수신 패킷(20)을 처리하기 위한 경로(SFP: Service Function Path)를 식별하기 위한 정보인 서비스 경로 식별자(34-1)와 처리될 서비스 기능을 식별하기 위한 서비스 인덱스(34-2)를 포함할 수 있다. 서비스 인덱스(34-2)는 1 이상의 숫자를 포함할 수 있다. 이 경우, 서비스 인덱스(34-2)는 서비스 기능부(135)가 패킷(30)을 처리할 때마다 1씩 감소됨으로써, 해당 패킷(30)에 대해 서비스 기능의 처리가 몇 회 수행되었는지 확인 가능하게 할 수 있다. 서비스 인덱스(34-2)의 차감은 서비스 기능부(135)에 의해 수행될 수 있다. 콘텍스트 헤더(36)에는 콘텍스트 데이터와 같은 적어도 하나의 메타데이터가 마킹 및 기록될 수 있다. 실시예에 따라서, 콘텍스트 헤더(36)는 고정 길이 콘텍스트 헤더(Fixed-Length Context Header)이거나 가변 길이 콘텍스트 헤더(Variable-Length Context Header)일 수도 있으며, 가변 길이 메타데이터(Variable-Length Metadata)일 수도 있다. 일 실시예에 의하면, 콘텍스트 헤더(36)에는 서비스 기능부(135)가 패킷(32)을 수신한 시간인 제2 수신 시간(t22) 등이 마킹될 수 있다. 상황에 따라, 기본 헤더(32), 서비스 경로 헤더(34), 및 콘텍스트 헤더(36) 중 적어도 하나는 생략될 수도 있다.
서비스 분류부(121)는 부가된 네트워크 서비스 헤더(31)를 제거할 수도 있다. 구체적으로, 제1 전달 처리부 내지 제n 전달 처리부(130-1 내지 130-n)와, 이에 대응하는 제1 서비스 기능부 내지 제n 서비스 기능부(135-1 내지 135-n)에 의해 캡슐화 패킷(30)에 대한 예정된 서비스 기능이 모두 처리된 경우, 패킷(30)의 외부의 장치(10, 90)로 전달될 수 있으며, 서비스 분류부(121)는 외부의 장치(10, 90)로 패킷이 전달되기 전에 패킷(30)으로부터 네트워크 서비스 헤더(31)를 제거할 수도 있다. 실시예에 따라서, 서비스 분류부(121) 이외의 다른 요소가 네트워크 서비스 헤더(31)를 제거하는 것도 가능하다. 일례로, 제n 전달 처리부(130-n)가 네트워크 서비스 헤더(31)를 제거하는 것도 가능하고, 물리적 또는 논리적으로 별도로 마련된 다른 네트워크 장치가 네트워크 서비스 헤더(31)를 제거하는 것도 가능하다.
도 2에 도시된 바에 따르면, 전달 처리부(130)는 선택부(131) 및 제1 시간 기록부(132)를 포함할 수 있으며, 필요에 따라 지연 처리부(140)를 더 포함할 수 있다.
선택부(131)는 수신한 캡슐화 패킷(30)의 네트워크 서비스 헤더(31)의 정보를 기반으로 대응하는 서비스 기능부(135)에 캡슐화 패킷(30)을 전달할지 여부를 결정하고, 결정 결과에 따라서 패킷(30)을 서비스 기능부(135)에 전달할 수 있다. 상황에 따라서, 선택부(131)는 네트워크 서비스 헤더(31)의 정보에 따라서 다른 전달 처리부(130-2 내지 130-n)로 캡슐화 패킷(30)을 전달할 수도 있다. 이 경우, 다른 전달 처리부(130-2 내지 130-n)로의 패킷(30)의 전달은 서비스 기능부(135)로의 패킷(30) 전달과 무관하게 수행될 수도 있고, 또는 서비스 기능부(135)로의 패킷(30) 전달과 더불어 수행될 수도 있다. 후자의 경우, 다른 전달 처리부(130-2 내지 130-n)로의 패킷(30)의 전달은 서비스 기능부(135)로의 패킷(30) 전달과 동시에 수행될 수도 있고 순차적으로 수행될 수도 있다.
일 실시예에 의하면, 선택부(131)는 수신한 패킷(30, 32)이 서비스 분류부(121)로부터 전달된 패킷인지 서비스 기능부(135)를 경유하여 되돌아온 패킷인지 여부를 판단할 수도 있다. 즉, 선택부(131)는 수신한 패킷(30, 32)이 처음으로 수신한 패킷(30)인지 아니면 기 수신했던 패킷(32)인지 여부를 판단하고, 판단 결과 처음으로 수신한 패킷(30)인 경우 패킷(30)을 서비스 기능부(135)로 전달하거나 및/또는 다음 전달 처리부(130-2 내지 130-n)로 전달하고, 기 수신했던 패킷(32)인 경우 패킷(32)을 다음 전달 처리부(130-2 내지 130-n)로 전달할 수 있다.
제1 시간 기록부(132)는 선택부(131)에 의해 서비스 기능부(135)로 캡슐화 패킷(30)이 전달되는 경우, 서비스 기능부(135)로 패킷(30)이 전달된 시점의 시각(t11, 이하 제1 송신 시간)을 판단하고 이를 일시적 또는 비일시적으로 기록할 수 있다. 이 경우, 제1 시간 기록부(132)는 제1 송신 시간(t1)을 저장부(150, 151)에 저장할 수도 있고, 또는 네트워크 서비스 헤더(31), 일례로 콘텍스트 헤더(36)에 기록할 수도 있다. 일 실시예에 의하면, 저장부(150)는 전달 처리부(130) 내에 마련된 것일 수도 있다. 예를 들어, 저장부(150)는 프로그래머블 스위치(programmable switch)로 구현된 전달 처리부(130)에 장착된 반도체 메모리 장치 또는 자기디스크 저장 장치를 포함할 수도 있다. 또한, 저장부(151)는 전달 처리부(130)와 별도로 마련되는 것도 가능하다. 이 경우, 저장부(151)는 별도로 데이터의 저장을 위해 구축된 컴퓨터 장치 또는 외부 저장 매체(범용 직렬 버스 메모리 장치나 외장형 하드디스크 장치 등) 등을 포함할 수 있다. 일 실시예에 의하면, 제1 시간 기록부(132)는 프로그래밍 가능한 데이터 평면의 타임 스탬핑 기능을 이용하여 제1 송신 시간(t11)을 저장부(150, 151)에 및/또는 네트워크 서비스 헤더(31), 일례로 콘텍스트 헤더(36)에 기록할 수 있다.
또한, 제1 시간 기록부(132)는 서비스 기능부(135)로부터 처리된 패킷(32)을 수신하는 경우, 처리된 패킷(32)의 수신 시간(t12, 이하 제1 수신 시간)을 저장부(150, 151) 및 네트워크 서비스 헤더(31) 중 적어도 하나에 일시적으로 또는 비일시적으로 저장할 수도 있다. 이 경우에도 제1 시간 기록부(132)는 프로그래밍 가능한 데이터 평면의 타임 스탬핑 기능을 이용하여 제1 수신 시간(t12)을 저장부(150, 151) 및/또는 네트워크 서비스 헤더(31)에 저장할 수도 있다.
지연 처리부(140)는 서비스 처리의 지연 여부 또는 장애 발생 여부 등을 판단할 수 있다. 이에 대해서는 후술하도록 한다.
서비스 기능부(135)는 캡슐화 패킷(30)에 대해 미리 정의된 서비스 기능을 처리하고, 서비스 기능이 처리된 패킷(32, 이하 처리된 패킷)을 전달 처리부(130)로 다시 전송할 수 있다. 여기서, 서비스 기능부(135)가 제공하는 서비스 기능은 방화벽, 패킷 필터링, 심층 패킷 분석(DPI: Deep packet inspection), 네트워크 주소 번역(NAT: Network Address Translation), TCP(Transmission Control Protocol) 최적화, 침입 탐지, 로드 밸런서 또는 가상화 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
일 실시예에 의하면, 서비스 기능부(135)는 시간을 기록하기 위한 제2 시간 기록부(136)를 포함할 수 있다. 제2 시간 기록부(136)는 캡슐화 패킷(30)을 수신한 시간(t22, 이하 제2 수신 시간)을 네트워크 서비스 헤더(31), 전달처리부(130)의 저장부(150) 및 별도로 마련된 저장부(151) 중 적어도 하나에 기록할 수 있다. 예를 들어, 수신한 패킷(30)이 제어부(110)에 의해 타임 스탬핑이 수행되도록 설정된 패킷이라면, 제2 시간 기록부(136)는 타임 스탬핑 기능을 이용하여 제2 수신 시간(t22)을 네트워크 서비스 헤더(31)의 콘텍스트 헤더(36)에 마킹하여 기록하거나 및/또는 저장부(150, 151)에 마킹하여 저장할 수 있다. 또한, 제2 시간 기록부(136)는 서비스 기능 처리가 종료되고, 전달 처리부(30)로 처리된 패킷(32)이 전송될 때, 전송한 시각(t21, 이하 제2 송신 시간)을 네트워크 서비스 헤더(31), 전달처리부(130)의 저장부(150) 및 별도로 마련된 저장부(151) 중 적어도 하나에 기록할 수 있다. 예를 들어, 제2 시간 기록부(136)는 타임 스탬핑 기능을 이용하여 제2 수신 시간(t22)을 네트워크 서비스 헤더(31)의 콘텍스트 헤더(36) 및 저장부(150, 151) 중 적어도 하나에 마킹 하여 기록할 수 있다. 제2 수신 시간(t22) 및 제2 전송 시간(t21) 중 적어도 하나는 일시적으로 저장될 수도 있고, 또는 비일시적으로 저장될 수도 있다.
도 4는 지연 처리부의 동작의 일 실시예를 설명하기 위한 제1 도이고, 도 5는 지연 처리부의 동작의 일 실시예를 설명하기 위한 제2 도이다.
도 4 및 도 5에 도시된 바를 참조하면, 전달 처리부(130)의 지연 처리부(140)는 저장부(150, 151) 및 네트워크 서비스 헤더(31) 중 적어도 하나에 기록된 시간(t11 내지 t22)들을 기반으로 지연 시간(d1 내지 d3)을 연산하여 측정하고, 연산 및 측정 결과를 기반으로 서비스 처리의 지연 여부나 장애 발생 여부 등을 판단할 수 있다. 이와 같은 지연 처리부(140)의 동작에 의해 전달 처리부(130)는 지연 시간 측정 장치로 동작할 수 있게 된다.
실시예에 따라서, 지연 시간 측정 시스템(100)은, 도 4에 도시된 바와 같이, 전달 처리부(130)와 별도로 마련된 지연 처리부(145)를 포함할 수도 있다. 이 경우, 전달 처리부(130)의 지연 처리부(140)는 생략될 수도 있다. 지연 처리부(145)는 전달 처리부(130)와 물리적으로 구분되어 마련될 수도 있으며, 예를 들어, 컴퓨팅 장치 등을 이용하여 구현될 수 있다. 실시예에 따라, 별도로 마련된 지연 처리부(145)는 상술한 제어부(110)나 서비스 처리부(120)에 의해 구현되는 것도 가능하다. 또한, 별도로 마련된 지연 처리부(145)는 전달처리부(130)와 논리적으로 구분되는 것일 수도 있다. 전달 처리부(130)와 별도로 마련된 지연 처리부(145)는, 후술하는 바와 같이 전달 처리부(130)의 지연 처리부(140)의 동작과 동일하거나 일부 변형된 방법으로 동작할 수 있다.
일 실시예에 따르면, 지연 처리부(140)는, 도 5에 도시된 바와 같이, 지연 시간 연산부(141), 비교부(143), 및 결과처리부(143)를 포함할 수 있다.
먼저, 지연 시간 연산부(141)는 제1 송신 시간 내지 제4 송신 시간(t11, t12, t21, t22) 중 적어도 둘을 획득할 수 있다. 보다 구체적으로 예를 들어, 지연 시간 연산부(141)는, 저장부(150, 151)로부터 제1 송신 시간(t11) 및 제1 수신 시간(t12)을 호출하고, 네트워크 서비스 헤더(31), 일례로 콘텍스트 헤더(36)에 기록된 제2 송신 시간(t21) 및 제2 수신 시간(t22)을 읽어들일 수 있다. 실시예에 따라, 지연 시간 연산부(141)는, 이들 시간(t11 내지 t22) 모두를 저장부(150, 151)로부터 호출하는 것도 가능하고 또는 이들 시간(t11 내지 t22)을 모두 네트워크 서비스 헤더(31)로부터 독출하는 것도 가능하다.
순차적으로 지연 시간 연산부(141)는 획득한 제1 송신 시간 내지 제4 송신 시간(t11, t12, t21, t22) 중 적어도 둘을 기반으로 연산을 수행하여, 왕복 지연 시간(Round-trip Delay, d1), 처리 지연 시간(Processing Delay, d2) 및 전송 지연 시간(Propagation Delay, d3) 중 적어도 하나를 획득할 수 있다.
왕복 지연 시간(d1)은 전달처리부(130)에서 전송된 패킷(30)이 서비스 기능부(135)를 거쳐 다시 해당 전달처리부(130)로 되돌아오는데 소요되는 시간을 의미한다. 지연 시간 연산부(141)는 전달처리부(130)가 캡슐화 패킷(30)을 전송할 때의 시간인 제1 송신 시간(t11)과, 전달처리부(130)가 처리된 패킷(32)을 수신할 때의 시간인 제1 수신 시간(t12) 사이의 차이를 연산함으로써, 왕복 지연 시간(d1)을 연산할 수 있다. 실시예에 따라, 제1 송신 시간(t11)과 제1 수신 시간(t12) 간의 차이에 소정의 가중치나 보정 값을 더 부가하여 왕복 지연 시간(d1)이 연산 될 수도 있다.
처리 지연 시간(d2)은 서비스 기능부(135)가 서비스 기능을 처리하는 동안에 경과된 시간을 의미한다. 지연 시간 연산부(141)는 저장부(150, 151)에 저장되거나 네트워크 서비스 헤더(31)에 마킹 된 제2 수신 시간(t22) 및 제2 송신 시간(t21) 간의 차이를 연산함으로써 처리 지연 시간(d2)을 연산할 수 있다. 처리 지연 시간(d2)도 제2 수신 시간(t22) 및 제2 송신 시간(t21) 간의 차이에 가중치나 보정 값을 더 부가하여 획득될 수도 있다.
전송 지연 시간(d3)은 패킷(30, 32)이 전달처리부(130) 및 서비스 기능부(135) 사이에서 전달되는데 소요된 시간을 의미한다. 다시 말해서, 전송 지연 시간(d3)은 전달처리부(130) 및 서비스 기능부(135) 사이의 링크에서 경과된 시간을 의미한다. 지연 시간 연산부(141)는 왕복 지연 시간(d1)에서 처리 지연 시간(d2)을 차감함으로써 전송 지연 시간(d3)을 연산할 수 있다.
상술한 바에 따라, 지연 시간 측정 시스템(100)는 왕복 지연 시간(d1)뿐만 아니라 처리 지연 시간(d2)이나 전송 지연 시간(d3) 등도 계측할 수 있게 되고, 이에 따라 서비스 기능부(135)의 장애 발생 여부나 전달 처리부(130)와 서비스 기능부(135) 사이의 링크에서의 장애 발생 여부 등을 보다 정확하게 상세하게 진단 및 결정할 수 있게 된다.
일 실시예에 의하면, 연산된 왕복 지연 시간(d1), 처리 지연 시간(d2), 및 전송 지연 시간(d3) 중 적어도 하나는 비교부(142)로 전달될 수 있다.
비교부(142)는 지연 시간 연산부(141)로부터 수신한 왕복 지연 시간(d1), 처리 지연 시간(d2), 및 전송 지연 시간(d3) 중 적어도 하나를, 각각에 대응하는 임계 값(v1, v2, v3)과 비교하고, 이에 따른 비교 결과를 출력할 수 있다. 예를 들어, 비교부(142)는 왕복 지연 시간(d1)을 기 설정된 제1 임계 값(v1)과 비교하고, 처리 지연 시간(d2)을 기 설정된 제2 임계 값(v2)과 비교하며, 및/또는 전송 지연 시간(d3)을 기 설정된 제3 임계 값(v3)과 비교하여 비교 결과를 획득할 수 있다. 이들 임계 값(v1, v2, v3)은 사전에 지연 시간 측정 시스템(100)의 설계자 또는 사용자에 의해 정의된 것일 수도 있다. 비교 결과는 결과 처리부(143)로 전달될 수 있다.
결과 처리부(143)는 비교부(142)의 비교 결과에 따라서 소정의 동작을 수행할 수 있다. 결과 처리부(143)는 비교 결과에 따른 지연 또는 장애 여부를 판단하고, 판단된 지연 또는 장애에 대응하는 처리 규칙(152)의 존재 여부를 판단할 수 있다. 만약 발생된 지연에 대응하여 사전에 정의된 처리 규칙(152)이 부재하다면, 결과 처리부(143)는 제어부(110)로 새로운 처리 규칙(112)을 요청하는 메시지를 전송할 수 있다. 이 경우, 제어부(110)가 적절하게 처리 규칙(112)을 생성 또는 수정할 수 있도록 왕복 지연 시간(d1), 처리 지연 시간(d2) 및 전송 지연 시간(d3) 중 적어도 하나를 요청 메시지와 함께 제어부(110)로 전송할 수도 있다. 이 경우, 제어부(110)는 네트워크 정책 등에 따라 새롭게 획득한 처리 규칙(112)을 전달 처리부(130) 및/또는 서비스 기능부(135)로 전달함으로써 전달 처리부(130) 및/또는 서비스 기능부(135)가 지연 또는 장애에 대응하여 적절하게 동작하도록 할 수 있다. 이 경우, 새로 획득한 처리 규칙(112)은 장애 대처 테이블 규칙을 포함할 수 있으며, 장애 대처 테이블 규칙은, 전달 처리부(130)의 저장부(150) 등에 저장되는 방식으로 전달 처리부(130)에 제공되거나 및/또는 별도의 저장부(151)에 기록되고 전달 처리부(130)의 요청에 따라 전달 처리부(130)로 전달됨으로써, 전달 처리부(130)가 장애에 대응하여 적절하게 동작하게 할 수 있다. 구체적으로 예를 들어, 전달 처리부(130)는 테이블 규칙에 따라서 서비스 기능(135)으로의 패킷(30) 전송을 취소하고 다른 전달 처리부(130-2 내지 130-n)로 패킷(30)을 전달하도록 할 수도 있다.
반대로 만약 발생된 지연 또는 장애에 대해서 미리 정의된 처리 규칙(152)이 존재한다면, 결과 처리부(143)는 전달 처리부(130) 및/또는 서비스 기능부(135)가 미리 정의된 처리 규칙(152)에 따른 동작을 수행하도록 할 수 있다.
일 실시예에 하면, 만약 처리 지연 시간(d2)이 제2 임계 값(v2)보다 큰 경우, 결과 처리부(143)는 해당 서비스 기능부(135)에 문제가 발생했다고 판단하고, 이에 대응하는 전달 처리부(130)에 이와 같은 결과를 전달할 수 있다. 해당 전달 처리부(130)는, 저장부(150, 151)에 저장되거나 전달 처리부(130)에 기존에 삽입된 처리 규칙(152)에 따라서 동작을 수행할 수 있다. 예를 들어, 해당 전달 처리부(130)는 다른 서비스 기능부가 패킷(30)을 처리하도록, 다른 서비스 기능부에 대응하는 다른 전달 처리부로 수신한 또는 수신할 패킷(30)을 전달할 수도 있다. 이 경우, 다른 서비스 기능부는 지연 또는 장애가 발생한 서비스 기능부(135)와 동일한 서비스 기능을 처리하는 서비스 기능부일 수 있다. 다시 말해서, 제i 전달 처리부(130-i, i는 1 이상의 자연수)에 대응하는 서비스 기능부(135-i)의 처리 지연 시간(d2)이 임계 값(v2)을 초과하면, 제i 전달 처리부(130-i)는 기존에 수신하였거나 또는 계속해서 수신되고 있는 패킷(30)의 전부 또는 일부를 다른 제(i+k) 전달 처리부(130-i+k, k는 1 이상의 자연수)로 전달하고, 제(i+k) 전달 처리부(130-i+k)는 수신한 패킷(30)을 대응하는 제(i+k) 서비스 기능부(135-i+k)로 전달함으로써 패킷(30)에 대한 서비스 기능이 처리되도록 할 수 있다. 이와 같은 방법에 의해 처리 지연 시간(d2)이 긴 서비스 기능부(135)의 로드가 분산될 수 있게 된다.
다른 실시예에 의하면, 만약 전송 지연 시간(d3)이 제3 임계 값(v3)보다 큰 경우라면, 전달 처리부(130) 및 서비스 기능부(135) 사이의 링크에 장애가 있을 가능성이 높으므로, 결과 처리부(143)는 해당 전달 처리부(130)에 이를 전달하고, 전달 처리부(130)는 전달 처리부(130) 및 대응하는 서비스 기능부(135)를 연결하는 다른 경로(다른 링크)가 존재하는지 여부를 판단하고, 다른 경로가 존재한다면, 패킷(30, 32)을 다른 경로로 우회하여 전달하도록 할 수 있다. 만약 다른 경로가 존재하지 않는다면, 패킷(30)을 다른 서비스 기능부(135-2 내지 135-n 중 적어도 하나)가 처리하도록 다른 전달 처리부(130-2 내지 130-n 중 적어도 하나)로 전달할 수도 있다. 이와 같은 방법에 의하면, 제어부(110)의 개입 없이도 프로그래밍이 가능한 데이터 평면 하에서 링크를 우회하라는 규칙을 즉시 수행할 수 있게 되므로, 시스템(100) 또는 각각의 전달 처리부(140-1 내지 140-n)이 자동으로 보다 신속하게 장애에 대처할 수 있게 된다.
이하, 도 6 내지 도 9를 참조하여 서비스 기능의 지연 시간 측정 방법의 여러 실시예에 대해서 설명하도록 한다.
도 6은 서비스 기능의 지연 시간 측정 방법의 일 실시예에 대한 제1 흐름도이고, 도 7은 서비스 기능의 지연 시간 측정 방법의 일 실시예에 대한 제2 흐름도이다. 도 8은 서비스 기능의 지연 시간 측정 방법의 일 실시예에 대한 제3 흐름도이다.
도 6에 도시된 바에 의하면, 먼저 외부의 물리적 장치 또는 가상적 장치로부터 패킷이 입력되고 이에 따라 지연 시간 측정 시스템, 일례로 서비스 분류부가 패킷을 획득하게 된다(300). 여기서, 지연 시간 측정 장치는 물리적 또는 가상적으로 패킷을 송수신할 수 있는 적어도 하나의 전자 장치(일례로 서버용 컴퓨터 장치, 네트워크 스위치 및/또는 네트워크 허브 등)를 포함하여 구현될 수 있다.
지연 시간 측정 시스템, 일례로 서비스 분류부는 수신한 패킷을 분류하고, 패킷에 네트워크 서비스 헤더를 부가하여 패킷을 캡슐화할 수 있다(302). 네트워크 서비스 헤더가 부가된 캡슐화 패킷은 서비스 분류부로부터 적어도 하나의 전달 처리부, 일례로 제1 전달 처리부로 전달될 수 있다(303, 304).
제1 전달 처리부는 캡슐화 패킷에 대해서 서비스 기능의 처리 여부를 결정할 수 있다(306).
만약 서비스 기능의 처리를 수행할 필요가 존재한다면(306의 예), 제1 전달 처리부는, 제1 전달 처리부에 대응하는 서비스 기능부, 일례로 제1 서비스 기능부로 캡슐화 패킷을 전달하고, 이와 동시에 또는 순차적으로 제1 서비스 기능부로 캡슐화된 패킷이 전달된 시각(즉 제1 송신 시간)을 기록할 수 있다. 제1 송신 시간은, 실시예에 따라서, 별도로 마련된 저장부(일례로 제1 전달 처리부를 위해 할당된 메모리 공간)에 저장될 수도 있고, 및/또는 네트워크 서비스 헤더의 일부 공간(일례로 콘텍스트 헤더)에 저장될 수도 있다.
제1 서비스 기능부는 캡슐화 패킷을 수신하고 캡슐화 패킷에 대해 서비스 기능을 처리할 수 있다(312). 이와 동시에 또는 순차적으로 제1서비스 기능부는 캡슐화 패킷의 수신 시간(즉, 제2 수신 시간)을 기록할 수 있다. 실시예에 따라서, 제1 서비스 기능부는 제2 수신 시간을 별도로 마련된 저장부에 저장할 수도 있고, 및/또는 네트워크 서비스 헤더의 일 공간(일례로 콘텍스트 헤더)에 마킹하여 저장할 수도 있다.
제1 서비스 기능부는 서비스 기능의 처리가 종료되면, 캡슐화 패킷을 다시 대응하는 전달 처리부, 즉 제1 전달 처리부로 돌려보낼 수 있다(316). 캡슐화 패킷의 전송과 선행해서 또는 동시에 제1 서비스 기능부는 전송 시간(즉, 제2 송신 시간)을 기록할 수 있다. 실시예에 따라, 제1 서비스 기능부는 제2 수신 시간을 별도의 물리적 저장부에 저장할 수도 있고, 및/또는 네트워크 서비스 헤더의 일 공간(일례로 콘텍스트 헤더)에 마킹하여 저장할 수도 있다.
도 7에 도시된 바와 같이, 제1 전달 처리부는 서비스 기능의 처리가 완료된 캡슐화 패킷을 제1 서비스 기능부로부터 수신하면, 이에 응해 패킷을 수신한 시각, 즉 제1 수신 시간을 기록할 수 있다(318). 실시예에 따라서, 제1 수신 시간은 별도로 마련된 저장부 및/또는 네트워크 서비스 헤더의 일 위치에 기록될 수 있다.
지연 시간 측정 시스템, 일례로 제1 전달 처리부는 제1 송신 시간, 제1 수신 시간, 제2 송신 시간 및 제2 수신 시간 중 적어도 하나를 이용하여 적어도 하나의 지연 시간을 연산할 수 있다(320). 실시예에 따라서, 지연 시간의 연산은 별도로 마련된 다른 논리적 요소 또는 물리적 장치에 의해 수행될 수도 있다.
적어도 하나의 지연 시간은, 왕복 지연 시간, 처리 지연 시간 및 전송 지연 시간 중 적어도 하나를 포함 가능하다. 왕복 지연 시간은 제1 송신 시간 및 제1 수신 시간의 차이를 연산하여 획득될 수 있고, 처리 지연 시간은 제2 수신 시간 및 제2 송신 시간의 차이를 연산하여 획득될 수 있으며, 전송 지연 시간은 왕복 지연 시간과 처리 지연 시간 사이의 차이를 연산하여 획득될 수 있다. 실시예에 따라, 이들의 차이에 보정 값 또는 가중치를 더 부가하여 이들 지연 시간을 연산하는 것도 가능하다.
순차적으로 지연 시간과 임계 값이 상호 비교될 수 있다(322). 임계 값은 사용자나 설계자에 의해 사전이 미리 정의된 것일 수 있으며, 예를 들어 저장부 등에 저장된 것일 수 있다. 임계 값은 각각의 지연 시간에 대응하여 기 정의된 것일 수 있다. 즉, 실시예에 따라서, 임계 값은 왕복 지연 시간에 대응하는 제1 임계 값, 처리 지연 시간에 대응하는 제2 임계 값 및 전송 지연 시간에 대응하는 제3 임계 값 중 적어도 하나를 포함할 수 있다. 이에 따라 왕복 지연 시간은 제1 임계 값과 비교되고, 처리 지연 시간은 제2 임계 값과 비교되며, 및/또는 전송 지연 시간은 제3 임계 값과 비교될 수 있다. 실시예에 따라서, 제1 전달 처리부는 상술한 왕복 지연 시간, 처리 지연 시간 및 전송 지연 시간 모두에 대해 비교를 수행할 수도 있고, 또는 이들 중 하나 또는 둘에 대해서만 비교를 수행할 수도 있다.
지연 시간과 임계 값의 비교 결과, 지연 시간이 임계 값보다 큰 경우라면(322의 예), 순차적으로 처리 규칙의 존재 여부가 판단될 수 있다(324). 구체적으로 예를 들어, 처리 지연 시간이 제2 임계 값보다 큰 경우, 이에 대응하는 처리 규칙이 존재하는지 여부가 판단될 수 있고, 및/또는 전송 지연 시간이 제3 임계 값보다 큰 경우, 이에 대응하는 처리 규칙이 존재하는지 여부가 판단될 수 있다. 만약 복수의 지연 시간(예를 들어, 처리 지연 시간 및 전송 지연 시간)을 각각 임계 값과 비교하도록 구현된 경우라면, 제1 전달 처리부 또는 제1 서비스 기능부는, 실시예에 따라, 이들 지연 시간 중 어느 하나라도 임계 값보다 크면, 처리 규칙의 존재 여부를 판단하도록 설계될 수도 있고, 또는 이들 지연 시간 모두가 임계 값보다 크면, 처리 규칙의 존재 여부를 판단하도록 설계될 수도 있다.
만약 기존에 정의되거나 저장된 처리 규칙이 존재한다면(324의 예), 처리 규칙에 따라서 전달 처리부나 서비스 기능부 등이 동작하게 된다(326). 예를 들어, 처리 지연 시간이 제2 임계 값보다 크면, 이에 대응하는 처리 규칙에 따라서 제1 전달 처리부는 제1 서비스 기능부가 아닌 동일한 동작을 수행하는 다른 서비스 기능부(일례로 제2 서비스 기능부 등)로 패킷이 전송되도록 다른 전달 처리부(일례로 제2 전달 처리부 등)로 캡슐화 패킷을 전달할 수 있다. 다른 예를 들어, 전송 지연 시간이 제3 임계 값보다 크면, 이에 대응하는 처리 규칙에 따라서 제1 전달 처리부는 다른 링크를 검색하고 검색한 다른 링크를 통해서 패킷을 제1 서비스 기능부로 전송하거나 및/또는 다른 서비스 기능부가 패킷을 처리하도록 다른 서비스 기능부에 대응하는 다른 전달 처리부로 패킷을 전달할 수도 있다. 이외에도 전달 처리부나 서비스 기능부 등은 소정의 처리 규칙에 따라서 캡슐화 패킷의 전달 및 처리를 수행할 수 있다.
반대로 정의되거나 저장된 처리 규칙이 존재하지 않는다면(324의 아니오), 새로운 처리 규칙이 마련될 수 있다(328). 상세하게 예를 들어, 제1 전달 처리부나 제1 서비스 처리부 등은 처리 규칙의 부재에 따라 직접 처리 규칙을 생성 또는 수정하거나, 처리 규칙을 생성 또는 수정할 수 있는 부분에 처리 규칙을 요청할 수 있다. 이 경우, 처리 규칙을 생성 또는 수정할 수 있는 부분은, 제1 전달 처리부나 제1 서비스 처리부와 논리적 또는 물리적으로 분리된 다른 부분을 포함할 수 있으며, 예를 들어, 제어부 등을 포함할 수 있다.
제1 전달 처리부나 제1 서비스 기능부 등은 새로운 처리 규칙이 마련되면, 새로운 처리 규칙에 따라서 동작하게 된다(326). 만약 제1 전달 처리부나 제1 서비스 처리부와 논리적 또는 물리적으로 분리된 다른 부분(일례로 제어부)가 새로운 처리 규칙을 생성 또는 수정하는 경우라면, 제1 전달 처리부나 제1 서비스 처리부는 먼저 다른 부분이 전달하는 처리 규칙을 수신하고, 수신한 처리 규칙에 따라서 동작하게 된다.
반대로 서비스 기능의 처리를 수행할 필요가 없다면(306의 아니오), 제1 전달 처리부는 다음 전달 처리부, 일례로 제2 전달 처리부로 캡슐화된 패킷을 전달할 수 있다(308, 304). 이는 예정된 모든 전달 처리부에 캡슐화 패킷이 전달될 때까지 수행될 수도 있다. 예를 들어, N개의 전달 처리부가 설정된 경우, 제N 전달 처리부까지 최종적으로 캡슐화 패킷이 전달될 때가지 수행될 수 있다(307).
한편, 지연 시간이 임계 값보다 작다면(322의 아니오), 제1 전달 처리부 또는 제1 서비스 기능부는 기 설계된 바에 따라 서비스 기능 처리 과정을 계속해서 수행할 수 있다.
도 8에 도시된 바와 같이, 만약 패킷에 대한 서비스 기능 처리가 모두 종료되었다면(332의 예), 패킷에 캡슐화된 네트워크 서비스 헤더가 제거되고(334), 네트워크 서비스 헤더가 제거된 패킷은 외부로 출력될 수 있다(336). 여기서, 서비스 기능 처리가 모두 종료된 것은, 예정된 모든 서비스 기능부에 의해 순차적으로 또는 임의적 순서로 패킷이 처리된 것을 포함할 수 있으며, 다시 말해서, 모든 전달 처리부 중에서 패킷의 전달이 예정된 모든 전달 처리부로 캡슐화 패킷이 적어도 일 회 전달된 것을 포함할 수 있다. 네트워크 서비스 헤더의 제거는 서비스 분류부에 의해 수행될 수도 있고, 또는 네트워크 서비스 헤더의 제거를 위해 별도로 마련된 다른 부분에 의해 수행될 수도 있다. 여기서, 서비스 분류부는 네트워크 서비스 헤더를 패킷에 부착했던 서비스 분류부를 포함할 수 있다.
만약 패킷에 대한 서비스 기능 처리가 종료된 것이 아니라면(332의 아니오), 다음 순서의 전달 처리부(일례로 제2 전달 처리부)로 캡슐화 패킷이 전달될 수 있다(339, 304). 이후 다음 순서의 전달 처리부는 상술한 바와 동일한 과정을 거쳐서 지연 시간을 확인하고, 지연 발생 시 기 정의된 지연 또는 장애에 대한 처리 규칙을 이용하거나 또는 새로운 처리 규칙을 생성하여 이용할 수 있다(304 내지 326). 장애가 발생하지 않은 경우에는 다음 전달 처리부(일례로 제3 전달 처리부)로 캡슐화 패킷을 전달하거나 또는 네트워크 서비스 헤더를 정리하고 패킷을 외부로 출력할 수 있다. 상술한 과정은 필요로 하는 모든 전달 처리부(즉, 제1 내지 제n 전달 처리부 중 적어도 하나)에 패킷이 전달될 때까지 반복 수행될 수 있다.(338).
한편, 도 6에 도시된 바와 같이, 패킷을 수신한 전달 처리부(일례로 제1 전달 처리부)에 대응하는 서비스 기능부가 패킷에 대한 처리를 수행할 필요가 없어, 전달 처리부가 다음 전달 처리부(일례로 제2 전달 처리부)로 캡슐화된 패킷을 전달한 경우(306의 아니오), 다음 전달 처리부는 서비스 기능 처리 여부에 따라서 그 다음 전달 처리부(일례로 제3 전달 처리부)로 패킷을 전달하거나(306, 308, 310) 또는 상술한 바와 동일하게 또는 일부 변형된 방법으로 지연 또는 장애 여부를 판단하고, 판단 결과에 따라 대응하는 서비스 기능부(일례로, 제3 서비스 기능부)로 패킷을 전달하거나, 기존에 존재하거나 또는 새로 생성된 처리 규칙에 따라 동작할 수 있다(312 내지 336). 제k 전달 처리부(k는 1 이상의 자연수) 역시 상술한 바와 동일하게 또는 변형된 방법으로 동작할 수 있다(304 내지 336).
도 9는 전달 처리부의 동작의 일 실시예에 대한 흐름도이다.
도 9에 도시된 바에 의하면, 전달 처리부는 입력된 캡슐화 패킷이 기 입력되었던 패킷인지 아니면 새로운 패킷인지 여부에 따라 동작을 달리 할 수 있다.
구체적으로 먼저 전달 처리부는 패킷을 획득하고(340), 획득한 패킷이 기존에 입력되었던 패킷인지 또는 새로운 패킷인지 여부를 확인할 수 있다(342). 여기서, 기존에 입력되었던 패킷은, 전달 처리부가 서비스 기능부로 전송했던 패킷을 포함할 수 있다.
만약 새로운 패킷이라면(342의 예), 전달 처리부는 서비스 기능부로 패킷을 전송하고, 이와 동시에 또는 순차적으로 패킷이 전송된 시각, 즉 제1 송신 시간을 기록할 수 있다(344). 서비스 기능부는 패킷의 수신에 응하여 서비스 기능 처리를 수행한다. 상술한 바와 같이 서비스 기능부는 패킷의 수신과 더불어 패킷의 수신 시간(즉, 제2 수신 시간)을 저장부나 패킷에 부가된 네트워크 서비스 헤더에 마킹할 수도 있다.
반대로 만약 새로운 패킷이 아니라면(342의 아니오), 전달 처리부는 패킷을 수신한 시간(즉, 제1 수신 시간)을 기록하고, 필요에 따라서 지연 시간(예를 들어, 왕복 지연 시간, 처리 지연 시간 및/또는 전송 지연 시간)을 연산하거나 수신한 패킷을 다른 전달 처리부로 전송할 수도 있다(346).
상술한 실시예에 따른 서비스 기능의 지연 시간 측정 방법은, 컴퓨터 장치에 의해 구동될 수 있는 프로그램의 형태로 구현될 수 있다. 여기서 프로그램은, 프로그램 명령, 데이터 파일 및 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 프로그램은 기계어 코드나 고급 언어 코드를 이용하여 설계 및 제작된 것일 수 있다. 프로그램은 상술한 방법을 구현하기 위하여 특별히 설계된 것일 수도 있고, 컴퓨터 소프트웨어 분야에서 통상의 기술자에게 기 공지되어 사용 가능한 각종 함수나 정의를 이용하여 구현된 것일 수도 있다. 또한, 여기서, 컴퓨터 장치는, 프로그램의 기능을 실현 가능하게 하는 프로세서나 메모리 등을 포함하여 구현된 것일 수 있으며, 필요에 따라 통신 장치를 더 포함할 수도 있다.
상술한 프로그램은, 컴퓨터에 의해 판독 가능한 기록 매체에 기록될 수 있다. 컴퓨터에 의해 판독 가능한 기록 매체는, 예를 들어, 솔리드 스테이트 드라이브(SSD), 롬, 램 또는 플래시 메모리 등과 같은 반도체 저장 장치, 하드 디스크나 플로피 디스크 등과 같은 자기 디스크 저장 매체, 콤팩트 디스크나 디브이디 등과 같은 광 기록 매체, 플롭티컬 디스크 등과 같은 자기-광 기록 매체 및 자기 테이프 등 컴퓨터 등의 호출에 따라 실행되는 특정 프로그램을 저장 가능한 적어도 한 종류의 물리적 장치를 포함할 수 있다.
이상 서비스 기능의 지연 시간 측정 시스템, 장치 및 방법의 여러 실시예에 대해 설명하였으나, 서비스 기능의 지연 시간 측정 시스템, 장치 및 방법은 오직 상술한 실시예에 한정되는 것은 아니다. 해당 기술 분야에서 통상의 지식을 가진 자가 상술한 실시예를 기초로 수정 및 변형하여 구현 가능한 다양한 장치나 방법 역시 상술한 서비스 기능의 지연 시간 측정 시스템, 장치 및 방법의 일례가 될 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성 요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나 다른 구성 요소 또는 균등물에 의하여 대치되거나 또는 치환되더라도 상술한 서비스 기능의 지연 시간 측정 시스템, 장치 및 방법의 일례가 될 수 있다.
10: 외부 장치 20: 패킷
30: 캡슐화 패킷 31: 네트워크 서비스 헤더
32: 기본 헤더 34: 서비스 경로 헤더
36: 콘텍스트 헤더 100: 지연 시간 측정 시스템
110: 제어부 120: 서비스 처리부
121: 서비스 분류부 130: 전달 처리부
135: 서비스 기능부 140: 지연 처리부
150: 저장부

Claims (15)

  1. SF(Service Function, 서비스 기능) 노드로 패킷을 전달한 제1 송신 시간 및 상기 SF 노드로부터 상기 패킷에 대한 서비스 기능이 처리된 패킷을 수신한 제1 수신 시간을 기록하는 시간 기록부; 및
    상기 처리된 패킷에 기록된, 상기 SF 노드가 상기 패킷을 수신한 제2 수신 시간 및 상기 SF 노드가 상기 처리된 패킷을 송신한 제2 송신 시간을 독출하고, 상기 제2 송신 시간 및 상기 제2 수신 시간의 차이를 이용하여 처리 지연 시간을 연산하는 지연 처리부를 포함하고,
    상기 지연 처리부는 상기 제1 송신 시간 및 상기 제1 수신 시간을 기반으로 왕복 지연 시간을 연산하고, 상기 왕복 지연 시간 및 상기 처리 지연 시간의 차이를 이용하여 전송 지연 시간을 연산하고,
    상기 처리 지연 시간이 제2 임계값 보다 큰 경우, 상기 지연 처리부는 상기 SF 노드에 장애가 발생한 것으로 판단하고,
    상기 전송 지연 시간이 제3 임계값 보다 큰 경우, 상기 지연 처리부는 상기 SF 노드와의 링크에 장애가 발생한 것으로 판단하는,
    지연 시간 측정 장치.
  2. 제1항에 있어서,
    상기 지연 시간 측정 장치는 SFF(Service Function Forwarder, 서비스 기능 전달자) 노드인,
    지연 시간 측정 장치.
  3. 제2항에 있어서,
    상기 SF 노드에 장애가 발생한 경우, 상기 SFF 노드는 수신되는 패킷을 다른 SFF 노드로 전송하고,
    상기 링크에 장애가 발생한 경우, 상기 SFF 노드는 대체 경로를 통하여 수신되는 패킷을 상기 SF 노드로 송신하는,
    지연 시간 측정 장치.
  4. 제1항에 있어서,
    상기 지연 처리부는, 상기 왕복 지연 시간이 제1 임계값을 초과하는 경우, 상기 처리 지연 시간이 상기 제2 임계값을 초과하는 경우, 및 상기 전송 지연 시간이 상기 제3 임계값을 초과하는 경우 중 적어도 하나의 경우가 발생하면, 미리 정의된 처리 규칙에 따라 동작하거나 또는 외부의 다른 장치로 처리 규칙을 요청하고,
    상기 외부의 다른 장치는 SDN(Software Defined Network)의 컨트롤러(controller)인,
    지연 시간 측정 장치.
  5. 패킷을 수신하고, 상기 패킷에 대해 서비스 기능을 처리하여, 처리된 패킷을 출력하는 서비스 기능부; 및
    상기 서비스 기능부에 상기 패킷을 전달하고, 상기 패킷을 상기 서비스 기능부에 전달한 제1 송신 시간을 기록하고, 상기 서비스 기능부로부터 상기 처리된 패킷을 수신한 제1 수신 시간을 기록하는 전달 처리부;를 포함하고,
    상기 서비스 기능부는, 상기 패킷을 수신한 제2 수신 시간과 상기 처리된 패킷을 상기 전달 처리부에 전달한 제2 송신 시간을 상기 처리된 패킷에 기록하여 전송하고,
    상기 전달 처리부는 상기 제2 수신 시간 및 상기 제2 송신 시간을 기반으로 처리 지연 시간을 연산하고, 상기 제1 송신 시간 및 상기 제1 수신 시간을 기반으로 왕복 지연 시간을 연산하고, 상기 왕복 지연 시간 및 상기 처리 지연 시간의 차이를 이용하여 전송 지연 시간을 연산하고,
    상기 처리 지연 시간이 제2 임계값 보다 큰 경우, 상기 전달 처리부는 상기 서비스 기능부에 장애가 발생한 것으로 판단하고,
    상기 전송 지연 시간이 제3 임계값 보다 큰 경우, 상기 전달 처리부는 상기 서비스 기능부와의 링크에 장애가 발생한 것으로 판단하는,
    지연 시간 측정 시스템.
  6. 제5항에 있어서,
    상기 서비스 기능부에 장애가 발생한 경우, 상기 전달 처리부는 수신되는 패킷을 상기 지연 시간 측정 시스템에 포함되는 다른 전달 처리부로 전송하고,
    상기 링크에 장애가 발생한 경우, 상기 전달 처리부는 대체 경로를 통하여 수신되는 패킷을 상기 서비스 기능부로 송신하는,
    지연 시간 측정 시스템.
  7. 제5항에 있어서,
    상기 전달 처리부는, 상기 왕복 지연 시간이 제1 임계값을 초과하는 경우, 상기 처리 지연 시간이 상기 제2 임계값을 초과하는 경우, 및 상기 전송 지연 시간이 상기 제3 임계값을 초과하는 경우 중 적어도 하나의 경우가 발생하면, 미리 정의된 처리 규칙에 따라 동작하는,
    지연 시간 측정 시스템.
  8. 제7항에 있어서,
    상기 지연 시간 측정 시스템은 새로운 처리 규칙을 생성하는 제어부를 더 포함하고,
    상기 전달 처리부는 상기 미리 정의된 처리 규칙이 부재한 경우, 상기 제어부에 새로운 처리 규칙을 요청하고, 상기 제어부가 생성한 새로운 처리 규칙에 따라서 동작하는 지연 시간 측정 시스템.
  9. 제5항에 있어서,
    상기 패킷은 네트워크 서비스 헤더가 추가된 캡슐화 패킷을 포함하는 지연 시간 측정 시스템.
  10. 제9항에 있어서,
    상기 서비스 기능부는 상기 네트워크 서비스 헤더에 상기 제2 수신 시간 및 상기 제2 송신 시간을 마킹 하여 기록하는 지연 시간 측정 시스템.
  11. 제5항에 있어서,
    상기 지연 시간 측정 시스템은 SDN 시스템이고,
    상기 서비스 기능부는 SF(Service Function) 노드이고,
    상기 전달 처리부는 SFF(Service Function Forwarder) 노드인,
    지연 시간 측정 시스템.
  12. 전달 처리부가 서비스 기능부에 패킷을 전달하고, 상기 패킷이 전달된 제1 송신 시간을 기록하는 단계;
    상기 서비스 기능부가 상기 패킷을 수신하고, 상기 패킷을 수신한 제2 수신 시간을 기록하는 단계;
    상기 서비스 기능부가 상기 전달 처리부에 서비스 기능이 처리된 패킷을 전달하고, 상기 처리된 패킷을 상기 전달 처리부에 전달한 제2 송신 시간을 기록하는 단계;
    상기 전달 처리부가 상기 서비스 기능부로부터 상기 처리된 패킷을 수신하고, 상기 처리된 패킷이 수신된 제1 수신 시간을 기록하는 단계;
    상기 전달 처리부가 상기 제2 수신 시간 및 상기 제2 송신 시간을 기반으로 처리 지연 시간을 연산하고, 상기 제1 송신 시간 및 상기 제1 수신 시간을 기반으로 왕복 지연 시간을 연산하고, 상기 왕복 지연 시간 및 상기 처리 지연 시간의 차이를 이용하여 전송 지연 시간을 연산하는 단계;
    상기 처리 지연 시간이 제2 임계값 보다 큰 경우, 상기 전달 처리부가 상기 서비스 기능부에 장애가 발생한 것으로 판단하는 단계; 및
    상기 전송 지연 시간이 제3 임계값 보다 큰 경우, 상기 전달 처리부가 상기 서비스 기능부와의 링크에 장애가 발생한 것으로 판단하는 단계를 포함하는,
    지연 시간 측정 방법.
  13. 제12항에 있어서,
    상기 서비스 기능부에 장애가 발생한 경우, 상기 전달 처리부가 수신되는 패킷을 다른 전달 처리부로 전송하는 단계; 및
    상기 링크에 장애가 발생한 경우, 상기 전달 처리부가 대체 경로를 통하여 수신되는 패킷을 상기 서비스 기능부로 송신하는 단계를 더 포함하는,
    지연 시간 측정 방법.
  14. 제12항에 있어서,
    상기 왕복 지연 시간이 제1 임계값을 초과하는 경우, 상기 처리 지연 시간이 상기 제2 임계값을 초과하는 경우, 및 상기 전송 지연 시간이 상기 제3 임계값을 초과하는 경우 중 적어도 하나의 경우가 발생하면, 상기 전달 처리부가 미리 정의된 처리 규칙에 따라 동작하는 단계를 더 포함하는,
    지연 시간 측정 방법.
  15. 제14항에 있어서,
    상기 미리 정의된 처리 규칙이 부재한 경우, 새로운 처리 규칙을 생성하고, 상기 전달 처리부는 상기 새로운 처리 규칙에 따라서 동작하는 단계;를 더 포함하는 지연 시간 측정 방법.
KR1020200098650A 2019-10-15 2020-08-06 서비스 기능의 지연 시간 측정 시스템, 장치 및 방법 KR102425919B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2020/010501 WO2021075683A1 (ko) 2019-10-15 2020-08-07 서비스 기능의 지연 시간 측정 시스템, 장치 및 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190127838 2019-10-15
KR20190127838 2019-10-15

Publications (2)

Publication Number Publication Date
KR20210044682A KR20210044682A (ko) 2021-04-23
KR102425919B1 true KR102425919B1 (ko) 2022-07-28

Family

ID=75738372

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200098650A KR102425919B1 (ko) 2019-10-15 2020-08-06 서비스 기능의 지연 시간 측정 시스템, 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102425919B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114205267A (zh) * 2021-12-15 2022-03-18 中国电信股份有限公司 链路信息的追踪方法、系统和服务功能

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100737678B1 (ko) * 2006-07-25 2007-07-09 한국정보통신대학교 산학협력단 멀티미디어 스트리밍 서비스에 대한 지연시간 분석방법
WO2014084465A1 (ko) 2012-11-29 2014-06-05 아주대학교 산학협력단 전파지연 측정과 시간동기 획득을 통한 가드타임 제어 방법
KR101962346B1 (ko) * 2017-06-14 2019-03-27 고려대학교 산학협력단 Sdn 기반 경로 지연 시간 측정 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150100027A (ko) * 2014-02-24 2015-09-02 연세대학교 산학협력단 소프트웨어 정의 네트워크에서 라우팅 설정 방법 및 장치
KR101656038B1 (ko) 2015-03-11 2016-09-09 (주)넷비젼텔레콤 장애복구 및 부하분산을 제공하는 서비스시스템 및 그 제어방법
KR101823346B1 (ko) * 2016-03-25 2018-02-01 고려대학교 산학협력단 서비스 기능 체이닝 시스템 및 그 방법
KR101884636B1 (ko) 2016-12-06 2018-08-03 고려대학교 산학협력단 서비스 기능 체인의 고가용성을 위한 분산적인 서비스 기능 장애 복구를 위한 방법 및 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100737678B1 (ko) * 2006-07-25 2007-07-09 한국정보통신대학교 산학협력단 멀티미디어 스트리밍 서비스에 대한 지연시간 분석방법
WO2014084465A1 (ko) 2012-11-29 2014-06-05 아주대학교 산학협력단 전파지연 측정과 시간동기 획득을 통한 가드타임 제어 방법
KR101962346B1 (ko) * 2017-06-14 2019-03-27 고려대학교 산학협력단 Sdn 기반 경로 지연 시간 측정 방법

Also Published As

Publication number Publication date
KR20210044682A (ko) 2021-04-23

Similar Documents

Publication Publication Date Title
EP3610613B1 (en) Time-sensitive networking differentiation of traffic based upon content
US20190058670A1 (en) Method for service implementation in network function virtualization (nfv) system and communications unit
US7512705B2 (en) Truncating data units
US9906628B2 (en) Data relay device, data transmission device, and network system using common routing information for protocol conversion
US8938794B2 (en) Access relay method and access gateway device
CN108718347B (zh) 一种域名解析方法、系统、装置及存储介质
EP3091708B1 (en) Processing rule modification method and apparatus
KR20220053658A (ko) 데이터 스트림 분류 방법 및 관련 장치
US11483227B2 (en) Methods, systems and computer readable media for active queue management
CN104639435A (zh) Sdn中数据流转发方法及装置
US9998542B2 (en) System and method for determining routing information
CN111147403A (zh) 报文的处理方法及装置、存储介质和电子装置
KR102425919B1 (ko) 서비스 기능의 지연 시간 측정 시스템, 장치 및 방법
US10230647B2 (en) Data packet processing method and device
KR20220029142A (ko) Sdn 컨트롤러 서버 및 이의 sdn 기반 네트워크 트래픽 사용량 분석 방법
KR20220027714A (ko) 토픽 기반 우선순위 데이터 제어를 처리하는 dds 라우팅 서비스 시스템
JP2005258632A (ja) ネットワークストレージ装置の導通確認方法およびホスト計算機
KR20190114126A (ko) 메시지의 처리 완료 지연 시간을 기초로 스위치로의 메시지 송신을 제어하는 sdn 컨트롤러 및 그 방법
CN111224886B (zh) 一种网络流量的管控方法及系统
US20160294705A1 (en) Apparatus and method for content caching
US9455911B1 (en) In-band centralized control with connection-oriented control protocols
TWI714969B (zh) 封包轉送方法與裝置
WO2021075683A1 (ko) 서비스 기능의 지연 시간 측정 시스템, 장치 및 방법
US20220053025A1 (en) Method and device for configuring an access protection system
KR20160025959A (ko) 소프트웨어 정의 네트워크 시스템 및 오픈플로우 메시지 제어 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right