KR102327027B1 - In-band network monitoring method and delay prediction method in in-band network monitoring - Google Patents

In-band network monitoring method and delay prediction method in in-band network monitoring Download PDF

Info

Publication number
KR102327027B1
KR102327027B1 KR1020200080412A KR20200080412A KR102327027B1 KR 102327027 B1 KR102327027 B1 KR 102327027B1 KR 1020200080412 A KR1020200080412 A KR 1020200080412A KR 20200080412 A KR20200080412 A KR 20200080412A KR 102327027 B1 KR102327027 B1 KR 102327027B1
Authority
KR
South Korea
Prior art keywords
switch
time
packet
local time
monitor server
Prior art date
Application number
KR1020200080412A
Other languages
Korean (ko)
Other versions
KR20210056889A (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 고려대학교 산학협력단
Publication of KR20210056889A publication Critical patent/KR20210056889A/en
Application granted granted Critical
Publication of KR102327027B1 publication Critical patent/KR102327027B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/14Monitoring arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

복수의 스위치들과 모니터 서버를 포함하는 네트워크에서 INT(In-band Network Telemetry) 모니터링 기법을 이용한 로컬 시간 편차 계산 방법이 개시된다. 상기 로컬 시간 편차 계산 방법은 제1 스위치 및 제2 스위치 사이에서 전달되는 패킷에 상기 제1 및 제2 스위치들 각각의 상태 정보가 메타데이터 형태로 추가하는 단계, 상기 제1 스위치에서 상기 제2 스위치로 향하는 트래픽에서 상기 제1 스위치에서의 패킷 통과(egress) 타임스탬프(timestamp) 정보(t0)를 획득하는 단계, 상기 제1 스위치에서 상기 제2 스위치로 향하는 트래픽에서 상기 제2 스위치에서 패킷 진입(ingress) 타임스탬프 정보(t1)를 획득하는 단계, 상기 제2 스위치에서 상기 제1 스위치로 향하는 트래픽에서 상기 제2 스위치에서의 패킷 통과 타임스탬프 정보(t2)를 획득하는 단계, 상기 제2 스위치에서 상기 제1 스위치로 향하는 트래픽에서 상기 제1 스위치에서의 패킷 진입 타임스탬프 정보(t3)를 획득하는 단계, 및 상기 타임스탬프 정보들(t0, t1, t2, t3)을 이용하여 상기 제1 및 제2 스위치들 간 로컬 시간 편차(θ)를 구하는 단계를 포함한다.Disclosed is a method for calculating a local time deviation using an In-band Network Telemetry (INT) monitoring technique in a network including a plurality of switches and a monitor server. The method for calculating the local time difference includes adding the state information of each of the first and second switches in the form of metadata to a packet transmitted between the first switch and the second switch, the first switch to the second switch obtaining packet egress timestamp information (t0) in the first switch in traffic destined for ingress) acquiring timestamp information (t1), acquiring packet transit timestamp information (t2) in the second switch in traffic from the second switch to the first switch, in the second switch obtaining packet entry timestamp information (t3) in the first switch from traffic directed to the first switch, and using the timestamp information (t0, t1, t2, t3) to and finding a local time deviation (θ) between the two switches.

Description

인-밴드 네트워크 모니터링 방법 및 인-밴드 네트워크 모니터링에서 지연 예측 방법{IN-BAND NETWORK MONITORING METHOD AND DELAY PREDICTION METHOD IN IN-BAND NETWORK MONITORING}In-band network monitoring method and delay prediction method in in-band network monitoring

본 발명은 네트워크 모니터링 방법에 관한 것으로, 보다 상세하게는 인-밴드 네트워크의 모니터링 방법 및 인-밴드 네트워크 모니터링에서 지연 예측 방법에 관한 것이다.The present invention relates to a network monitoring method, and more particularly, to an in-band network monitoring method and a delay prediction method in in-band network monitoring.

데이터 평면의 정보를 실시간으로 모니터링하기 위한 수단으로 대중적인 모니터링 방식은 주기적으로 스위치 모니터링 정보 패킷을 생성하여 모니터링 서버에 전달하는 방식이다. 한편, 최근 프로그래머블 스위치 기술이 개발되고 활용되면서 INT(in-band network telemetry)-모니터링 기법이 소개되었다. 이는 데이터 평면에 배포되어 있는 각 스위치에서 패킷을 경유하는 순간, 현재 상태 정보를 경유하는 패킷에 추가 삽입하여 스위치 상태 정보들이 추가된 패킷 정보를 모니터링 서버에 전달하는 방식을 사용한다. INT-모니터링 기법은 기존의 기타 모니터링 방식과 달리, 특정 트래픽의 전달 경로를 실시간으로 파악할 수 있으며 전달 과정에서의 스위치의 상태를 실시간으로 모니터링 하는 장점이 있다.As a means for monitoring data plane information in real time, a popular monitoring method is to periodically generate a switch monitoring information packet and deliver it to the monitoring server. Meanwhile, as programmable switch technology has been developed and utilized recently, an in-band network telemetry (INT)-monitoring technique has been introduced. This uses a method to transmit packet information with switch status information added to the monitoring server by inserting it into a packet passing through the current status information at the moment when each switch distributed in the data plane passes through a packet. Unlike other existing monitoring methods, the INT-monitoring technique has the advantage of being able to grasp the forwarding path of specific traffic in real time and monitoring the status of the switch in real time during the forwarding process.

INT-모니터링 방법에서, 수집하는 스위치의 정보는 패킷이 진입할 때와 통과할 때의 시간을 포함한다. 하지만, 해당 시간 정보는 각 스위치의 로컬 시간 정보를 참조하기 때문에 각 스위치 간의 시간 정보가 동기화되지 않을 경우, 모니터 서버에서 수집된 시간 정보들을 취합하고 분석하기 어렵다. 따라서 시간 정보를 정확히 활용하기 위해 각 스위치 간의 시간 동기화 기법이 필요하다.In the INT-monitoring method, the information of the switch that it collects includes the time when packets enter and when they pass. However, since the time information refers to the local time information of each switch, it is difficult to collect and analyze the time information collected from the monitor server if the time information between the switches is not synchronized. Therefore, in order to use time information accurately, a time synchronization technique between each switch is required.

기존의 시간 동기화 기법은 스위치 간에 시간 동기화 트래픽을 별도로 필요로 하고, 각 스위치 간의 클록 밀림 현상 차이로 인한 오차범위를 막기 위해 지속적으로 동기화 메시지를 주고 받는다. 따라서, 데이터 평면에 트래픽 과부하가 발생할 수 있다.The existing time synchronization technique requires separate time synchronization traffic between switches, and in order to prevent an error range due to a difference in clock delay between switches, synchronization messages are continuously exchanged. Therefore, traffic overload may occur in the data plane.

대한민국 공개특허 제2016-0081312Republic of Korea Patent Publication No. 2016-0081312

본원 발명이 해결하고자 하는 과제는 INT-모니터링을 사용하는 데이터 평면에서 별도의 시간 동기화 프로토콜을 사용하지 않고, INT-모니터링 과정에서 수집된 각 스위치 시간 정보들을 활용하여 스위치 간 시간을 동기화하는 방법을 제공하는 것이다.The problem to be solved by the present invention is to provide a method of synchronizing time between switches by using each switch time information collected in the INT-monitoring process without using a separate time synchronization protocol in the data plane using INT-monitoring. will do

본 발명의 일 실시예에 따른 로컬 시간 편차 계산 방법은 복수의 스위치들과 모니터 서버를 포함하는 네트워크에서 INT(In-band Network Telemetry) 모니터링 기법을 이용한 로컬 시간 편차 계산 방법으로써, 제1 스위치 및 제2 스위치 사이에서 전달되는 패킷에 상기 제1 및 제2 스위치들 각각의 상태 정보가 메타데이터 형태로 추가하는 단계, 상기 제1 스위치에서 상기 제2 스위치로 향하는 트래픽에서 상기 제1 스위치에서의 패킷 통과(egress) 타임스탬프(timestamp) 정보(t0)를 획득하는 단계, 상기 제1 스위치에서 상기 제2 스위치로 향하는 트래픽에서 상기 제2 스위치에서 패킷 진입(ingress) 타임스탬프 정보(t1)를 획득하는 단계, 상기 제2 스위치에서 상기 제1 스위치로 향하는 트래픽에서 상기 제2 스위치에서의 패킷 통과 타임스탬프 정보(t2)를 획득하는 단계, 상기 제2 스위치에서 상기 제1 스위치로 향하는 트래픽에서 상기 제1 스위치에서의 패킷 진입 타임스탬프 정보(t3)를 획득하는 단계, 및 상기 타임스탬프 정보들(t0, t1, t2, t3)을 이용하여 하기 식에 따라 상기 제1 및 제2 스위치들 간 로컬 시간 편차(θ)를 구하는 단계를 포함한다.A method for calculating a local time deviation according to an embodiment of the present invention is a method for calculating a local time deviation using an In-band Network Telemetry (INT) monitoring technique in a network including a plurality of switches and a monitor server, and includes a first switch and a second adding the state information of each of the first and second switches in the form of metadata to a packet transferred between two switches, passing packets from the first switch to the second switch in the traffic from the first switch to the second switch (egress) obtaining timestamp information (t0), obtaining packet ingress timestamp information (t1) from the second switch in traffic from the first switch to the second switch , obtaining packet transit timestamp information (t2) in the second switch in traffic from the second switch to the first switch, in the traffic from the second switch to the first switch, the first switch obtaining packet entry timestamp information (t3) in and finding θ).

Figure 112020067919985-pat00001
Figure 112020067919985-pat00001

또한, 상기 로컬 시간 편차 계산 방법은 상기 모니터 서버와 상기 제2 스위치 사이의 로컬 시간 편차(CT)를 계산하는 단계, 및 상기 로컬 시간 편차(CT)와 상기 로컬 시간 편차(θ)를 더하여 상기 모니터 서버와 상기 제1 스위치 간의 로컬 시간 편차를 구하는 단계를 더 포함할 수 있다.In addition, the method for calculating the local time deviation includes calculating a local time deviation (CT) between the monitor server and the second switch, and adding the local time deviation (CT) and the local time deviation (θ) to the monitor The method may further include calculating a local time difference between the server and the first switch.

또한, 상기 네트워크는 SDN(Software Defined Network)일 수 있다.Also, the network may be a Software Defined Network (SDN).

또한, 상기 로컬 시간 편차(CT)를 계산하는 단계는, 상기 모니터 서버가 상기 제2 스위치로 시간 동기화 패킷을 전달하는 단계, 상기 모니터 서버가 상기 제2 스위치로부터 상기 제2 스위치가 상기 시간 동기화 패킷을 전달받은 시간(t4)과 상기 전달받은 시간 동기화 패킷을 상기 모니터 서버로 반환할 때 통과한 시간(t5)이 추가된 시간 동기화 패킷을 수신하는 단계, 상기 모니터 서버가 상기 시간 동기화 패킷을 전달한 시간, 상기 제2 스위치가 상기 시간 동기화 패킷을 전달받은 시간(t4), 상기 모니터 서버로 반환할 때 통과한 시간(t5), 및 상기 시간 동기화 패킷을 수신한 시간을 이용하여 상기 모니터 서버와 제2 스위치 사이 로컬 시간 편차(CT)를 구하는 단계를 포함할 수 있다.In addition, the step of calculating the local time deviation (CT), the monitor server forwarding the time synchronization packet to the second switch, the monitor server from the second switch to the second switch the time synchronization packet Receiving a time synchronization packet to which the received time (t4) and the time (t5) passed when returning the received time synchronization packet to the monitor server are added, the time at which the monitor server delivered the time synchronization packet , using the time at which the second switch receives the time synchronization packet (t4), the time passed when returning to the monitor server (t5), and the time at which the time synchronization packet is received. and finding a local time difference (CT) between the switches.

또한, 상기 로컬 시간 편차 계산 방법은 마지막 수집 시간(T(last))에 계산된 상기 제1 스위치와 상기 제2 스위치 간 로컬 시간 차이 G(last)와, 상기 마지막 수집 시간(T(last)) 전의 시점(T(old))에 계산된 상기 제1 스위치와 상기 제2 스위치 간 로컬 시간 차이 G(old)를 이용하여 현재의 시간(T(now))에서의 상기 제1 스위치와 상기 제2 스위치 간의 로컬 시간 차이(G(now))를 추정하는 단계를 더 포함할 수 있다.In addition, the method for calculating the local time difference includes a local time difference G(last) between the first switch and the second switch calculated at the last collection time T(last), and the last collection time T(last)) The first switch and the second switch at a current time T(now) using a local time difference G(old) between the first switch and the second switch calculated at a previous time point T(old) The method may further include estimating a local time difference G(now) between switches.

또한, 상기 로컬 시간 차이(G(now))를 구하는 단계는 하기 식을 이용하여 상기 로컬 시간 차이를 추정할 수 있다.In addition, in the step of obtaining the local time difference G(now), the local time difference may be estimated using the following equation.

Figure 112020067919985-pat00002
Figure 112020067919985-pat00002

본 발명의 다른 실시예에 따른 로컬 시간 편차 계산 방법은 복수의 스위치들과 모니터 서버를 포함하는 네트워크에서 INT(In-band Network Telemetry) 모니터링 기법을 이용한 로컬 시간 편차 계산 방법으로써, 상기 모니터 서버가 엣지 스위치로 시간 동기화 패킷을 전달하고, 전달 시간(t0)을 기록하는 단계, 상기 모니터 서버가 상기 엣지 스위치로부터 상기 엣지 스위치가 상기 시간 동기화 패킷을 전달받은 시간(t1)과 상기 전달받은 시간 동기화 패킷을 상기 모니터 서버로 반환할 때 통과한 시간(t2)이 추가된 시간 동기화 패킷을 수신하는 단계, 상기 모니터 서버가 상기 엣지 스위치에서 반환 패킷을 접수하는 시간(t3)을 기록하는 단계, 및 상기 시간들(t0, t1, t2, t3)을 이용하여 하기 식에 따라 상기 모니터 서버 와 엣지 스위치 사이 로컬 시간 편차(θ)를 구하는 단계를 포함한다.A method for calculating a local time deviation according to another embodiment of the present invention is a method for calculating a local time deviation using an In-band Network Telemetry (INT) monitoring technique in a network including a plurality of switches and a monitor server, wherein the monitor server is an edge Transmitting the time synchronization packet to the switch and recording the delivery time (t0), the monitor server records the time (t1) at which the edge switch receives the time synchronization packet from the edge switch and the received time synchronization packet Receiving a time synchronization packet to which a passing time (t2) is added when returning to the monitor server, recording a time (t3) at which the monitor server receives a return packet from the edge switch, and the times using (t0, t1, t2, t3) to obtain a local time deviation θ between the monitor server and the edge switch according to the following equation.

Figure 112020067919985-pat00003
Figure 112020067919985-pat00003

본 발명의 실시 예들에 따르면, 스위치 사이에 별도의 시간 동기화 메시지를 생성하지 않고, INT-모니터링 서버에서 수집한 타임스탬프(timestamp) 정보를 활용하여 각 스위치 사이의 시간 오차범위를 계산할 수 있다. 따라서, 트래픽이 흐르는 스위치에서만 작동하기 때문에 데이터 평면의 소모 대역폭을 감소시킬 수 있다. 또한, 스위치에서 의도적으로 프로빙(probing) 패킷 생성을 할 필요가 없어서 스위치 부하를 감소시킬 수 있다.According to embodiments of the present invention, it is possible to calculate the time error range between each switch by using timestamp information collected from the INT-monitoring server without generating a separate time synchronization message between the switches. Therefore, it is possible to reduce the bandwidth consumption of the data plane because it operates only on the switch through which the traffic flows. In addition, there is no need to intentionally generate a probing packet in the switch, so that the load on the switch can be reduced.

도 1은 INT-모니터링 구조를 설명하기 위한 도면이다.
도 2는 도 1의 INT-모니터링 구조의 시간 동기화의 필요성을 설명하기 위한 도면이다.
도 3은 DPTP(precise data-plane time-synchronization protocol)를 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 INT-모니터링을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 INT-모니터링 방법에서 인접한 스위치 사이 시간 동기화를 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 INT-모니터링 서버와 엣지 스위치 사이 시간 동기화를 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 INT-모니터링 서버와 기타 스위치 사이 시간 동기화를 설명하기 위한 도면이다.
1 is a diagram for explaining an INT-monitoring structure.
FIG. 2 is a diagram for explaining the necessity of time synchronization of the INT-monitoring structure of FIG. 1 .
3 is a diagram for explaining a preferred data-plane time-synchronization protocol (DPTP).
4 is a diagram for explaining INT-monitoring according to an embodiment of the present invention.
5 is a diagram for explaining time synchronization between adjacent switches in an INT-monitoring method according to an embodiment of the present invention.
6 is a diagram for explaining time synchronization between an INT-monitoring server and an edge switch according to an embodiment of the present invention.
7 is a diagram for explaining time synchronization between the INT-monitoring server and other switches according to an embodiment of the present invention.

본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.Specific structural or functional descriptions of the embodiments according to the concept of the present invention disclosed in this specification are only exemplified for the purpose of explaining the embodiments according to the concept of the present invention, and the embodiments according to the concept of the present invention are It may be implemented in various forms and is not limited to the embodiments described herein.

본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.Since the embodiments according to the concept of the present invention may have various changes and may have various forms, the embodiments will be illustrated in the drawings and described in detail herein. However, this is not intended to limit the embodiments according to the concept of the present invention to specific disclosed forms, and includes all modifications, equivalents, or substitutes included in the spirit and scope of the present invention.

제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.Terms such as first or second may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one element from another, for example, without departing from the scope of the inventive concept, a first element may be termed a second element and similarly a second element. A component may also be referred to as a first component.

어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being “connected” or “connected” to another component, it may be directly connected or connected to the other component, but it is understood that other components may exist in between. it should be On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that the other element does not exist in the middle. Other expressions describing the relationship between components, such as "between" and "immediately between" or "neighboring to" and "directly adjacent to", etc., should be interpreted similarly.

본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used herein are used only to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present specification, terms such as "comprise" or "have" are intended to designate that a feature, number, step, operation, component, part, or combination thereof described herein exists, but one or more other features It is to be understood that it does not preclude the possibility of the presence or addition of numbers, steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present specification. does not

이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다. 그러나, 특허출원의 범위가 이러한 실시 예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the scope of the patent application is not limited or limited by these examples. Like reference numerals in each figure indicate like elements.

도 1은 INT-모니터링 구조를 설명하기 위한 도면이다.1 is a diagram for explaining an INT-monitoring structure.

도 1을 참조하면, 모니터링 패킷을 별도로 생성하여 전달하는 기존의 모니터링 방식, 예컨대 Netflow, sFlow 등과는 달리 INT는 스위치의 상태 정보를 메타데이터(metadata)로 정의하여 직접 패킷에 추가하는 방식을 사용한다. 메타데이터는 스위치의 스위치 아이디, 패킷이 도착할 때와 떠날 때의 시간(ingress timestamp, egress timestamp), 홉 처리 지연 시간(hop latency), 큐 점유율(queue occupancy) 등이 포함된다. 모니터링 패킷이 INT를 사용하는 스위치 영역에 들어오면 기존의 패킷에 INT 헤더와 메타데이터들을 추가하고 INT 스위치의 마지막 스위치에서는 INT 패킷을 복사하여 INT-콜렉터(collector) 모니터링 장비에 전달하고, 기존의 패킷은 추가된 정보를 제거하여 복구 작업을 거친 후 INT 스위치 영역 밖으로 내보낸다. INT-콜렉터에서는 실시간으로 패킷을 전달받아 각 스위치의 메타데이터 정보들을 추출하여 모니터링한다. INT-콜렉터 또는 INT 콜렉터 모니터링 장비는 적어도 프로세서(processor) 및/또는 메모리(memory)를 포함하는 컴퓨팅 장치(computing device)를 의미하는 용어로써, 서버, 모니터링 서버, 모니터 서버, INT-모니터링 서버 등으로 명명될 수 있으며, 범용 서버 등으로 구현될 수 있다.Referring to FIG. 1 , unlike the existing monitoring methods that separately generate and deliver monitoring packets, such as Netflow and sFlow, INT defines the status information of the switch as metadata and directly adds it to the packet. . Metadata includes the switch ID of the switch, arrival and departure times (ingress timestamp, egress timestamp) of packets, hop latency, and queue occupancy. When a monitoring packet enters the switch area using INT, the INT header and metadata are added to the existing packet, and the last switch of the INT switch copies the INT packet and delivers it to the INT-collector monitoring device. removes the added information and sends it out of the INT switch area after recovery. The INT-collector receives packets in real time, extracts metadata information of each switch, and monitors them. INT-collector or INT-collector monitoring equipment is a term meaning a computing device including at least a processor and/or memory, and is a server, monitoring server, monitor server, INT-monitoring server, etc. It may be named, and may be implemented as a general-purpose server or the like.

도 2는 도 1의 INT-모니터링 구조의 시간 동기화의 필요성을 설명하기 위한 도면이다.FIG. 2 is a diagram for explaining the necessity of time synchronization of the INT-monitoring structure of FIG. 1 .

도 2를 참조하면, INT-모니터링에서, 스위치 간 시간이 다를 경우, 모니터링 서버에서 수집한 데이터를 이용한 통계 및 분석에 어려움이 따른다. 따라서, 스위치 간 시간 동기화가 필요하다.Referring to FIG. 2 , in INT-monitoring, when the time between switches is different, it is difficult to perform statistics and analysis using data collected from the monitoring server. Therefore, time synchronization between switches is required.

NTP(network time protocol) 동기화 작동은 소프트웨어 계층에서 작동하며 다양한 장비에서 많이 활용되고 있다. NTP는 동기화 서버를 Stratum이라는 여러 계층으로 분리하여 시간을 동기화하는 방법을 사용한다. PTP(precision time protocol)는 하드웨어의 지원을 거쳐 정확도를 높였는데 마스터-슬래브(master-slave) 구조를 사용하여 모든 노드들은 마스터 스위치를 기준으로 동기화 메시지를 주고 받으며 시간을 동기화한다. 하지만, PTP 스위치의 존재 여부를 떠나 범용적으로 시간을 동기화하는 방법이 존재하지 않는다.NTP (network time protocol) synchronization operation operates at the software layer and is widely used in various equipment. NTP uses a method to synchronize time by dividing the synchronization server into several layers called stratums. PTP (precision time protocol) increased accuracy through hardware support. Using a master-slave structure, all nodes send and receive synchronization messages based on the master switch to synchronize time. However, there is no method for universally synchronizing time regardless of the existence of a PTP switch.

도 3은 DPTP(precise data-plane time-synchronization protocol)를 설명하기 위한 도면이다.3 is a diagram for explaining a preferred data-plane time-synchronization protocol (DPTP).

도 3을 참조하면, DPTP는 프로그래머블 스위치 기반의 데이터 평면에서의 시간 동기화 방법이다. 위에서 아래로 마스터-슬래브(master-slave) 구조로 동기화가 진행되며, 동기화할 때 request, response, follow-up 64 바이트의 크기를 갖는 세 개의 메시지가 생성된다. 내부 클럭이 드리프트 시간(drift time)을 보정하기 위해 스위치 사이에서 2,000번의 메시지가 교류된다. 따라서, 스위치 사이에서 3.07mbps 대역폭이 소모되며, 노드가 많을수록 데이터 평면 트래픽에 과부하가 발생한다.Referring to FIG. 3 , DPTP is a time synchronization method in a data plane based on a programmable switch. Synchronization proceeds in a master-slave structure from top to bottom, and when synchronizing, three messages with a size of request, response, and follow-up of 64 bytes are generated. 2,000 messages are exchanged between the switches to allow the internal clock to compensate for drift time. Therefore, 3.07 mbps bandwidth is consumed between switches, and the more nodes there are, the more data plane traffic becomes overloaded.

이하, 첨부된 도면을 참조하여, 본 발명의 실시예들에 따른 INT-모니터링 방법을 설명한다. 이에 의하면, 스위치 사이에 별도의 시간 동기화 메시지를 생성하지 않고, INT-모니터링 서버에서 수집한 타임스탬프(timestamp) 정보를 활용하여 각 스위치 사이의 시간 오차범위를 계산할 수 있다. 트래픽이 흐르는 스위치에서만 작동하기 때문에 데이터 평면에 소모 대역폭을 감소시킬 수 있다. 또한, 스위치에서 의도적으로 프로빙(probing) 패킷 생성을 할 필요가 없어서 스위치 부하를 감소시킬 수 있다.Hereinafter, an INT-monitoring method according to embodiments of the present invention will be described with reference to the accompanying drawings. Accordingly, it is possible to calculate the time error range between each switch by using the timestamp information collected from the INT-monitoring server without generating a separate time synchronization message between the switches. Since it only works on the switch through which the traffic flows, it can reduce bandwidth consumption on the data plane. In addition, there is no need to intentionally generate a probing packet in the switch, so that the load on the switch can be reduced.

도 4는 본 발명의 일 실시예에 따른 INT-모니터링을 설명하기 위한 도면이다.4 is a diagram for explaining INT-monitoring according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 일 실시예에 따른 INT-모니터링은 크게 세 가지의 동기화 과정으로 나눌 수 있다. INT-모니터링은 인접한 스위치 사이 시간 동기화 과정(①)과 INT-모니터링 서버와 엣지 스위치 사이 시간 동기화 과정(②)과 INT-모니터링 서버와 기타 스위치 사이 시간 동기화 과정(③)으로 나눌 수 있다.Referring to FIG. 4 , INT-monitoring according to an embodiment of the present invention can be roughly divided into three synchronization processes. INT-monitoring can be divided into a time synchronization process between adjacent switches (①), a time synchronization process between an INT-monitoring server and an edge switch (②), and a time synchronization process between an INT-monitoring server and other switches (③).

우선, 인접한 스위치 사이 시간 동기화 과정(①)을 설명하기로 한다.First, a time synchronization process (①) between adjacent switches will be described.

도 5는 본 발명의 일 실시예에 따른 INT-모니터링 방법에서 인접한 스위치 사이 시간 동기화를 설명하기 위한 도면이다.5 is a diagram for explaining time synchronization between adjacent switches in an INT-monitoring method according to an embodiment of the present invention.

도 5를 참조하면, 해당 INT-모니터링 영역에서 패킷이 각 스위치에 흐르는 과정에서 스위치의 상태 정보가 메타데이터(metadata) 형태로 패킷에 추가된다. 메타데이터에는 패킷이 스위치를 통과할 때 스위치의 상태 정보가 포함된다. 패킷이 INT-모니터링 영역을 빠져나갈 때 마지막 스위치를 경유하는 과정에서 해당 패킷은 복사과정이 일어나는데 각각 모니터 서버와 목적지(또는 목적 노드(destination node))에 각각 전달된다. 그 중 목적지에 전달되는 패킷은 불필요한 스위치 상태 정보를 제거하는 등 패킷의 복구 작업을 거친 후, 목적지로 전달된다. 반대로, 모니터 서버에 전달되는 패킷은 각 스위치의 상태 정보를 담고 전달된다. 각 스위치의 상태 정보는 패킷이 각 스위치에 진압할 때의 시간과 통과할 때의 시간이 포함되는데, 이를 모니터 서버에서 각 스위치 간의 시간 동기화 해결 수단에 이용할 수 있다.Referring to FIG. 5 , while the packet flows to each switch in the corresponding INT-monitoring area, switch state information is added to the packet in the form of metadata. Metadata contains information about the state of the switch as the packet passes through the switch. When a packet leaves the INT-monitoring area, the packet is copied while passing through the last switch, and is delivered to the monitor server and the destination (or destination node) respectively. Among them, the packet delivered to the destination is delivered to the destination after undergoing a packet recovery operation such as removing unnecessary switch state information. Conversely, the packet delivered to the monitor server contains the status information of each switch and is delivered. The status information of each switch includes the time when the packet is suppressed to each switch and the time when it passes, which can be used in the monitor server as a means of time synchronization between each switch.

도 5에 도시된 바와 같이, 제1 스위치 및 제2 스위치를 예시적으로 설명하기로 한다.As shown in FIG. 5 , a first switch and a second switch will be exemplarily described.

제1 스위치에서 제2 스위치로 향하는 트래픽에서 제1 스위치에서의 패킷 통과(egress) 타임스탬프(timestamp) 정보(t0)를 획득하고, 제1 스위치에서 제2 스위치로 향하는 트래픽에서 제2 스위치에서 패킷 진입(ingress) 타임스탬프 정보(t1)를 획득한다. 제2 스위치에서 제1 스위치로 향하는 트래픽에서 제2 스위치에서의 패킷 통과 타임스탬프 정보(t2)를 획득하고, 제2 스위치에서 제1 스위치로 향하는 트래픽에서 제1 스위치에서의 패킷 진입 타임스탬프 정보(t3)를 획득한다. 여기서, t0는 제1 스위치가 제1 스위치에서 제2 스위치로 향하는 패킷에 추가한 상태 정보로부터 획득될 수 있고, t1은 제2 스위치가 제1 스위치에서 제2 스위치로 향하는 패킷에 추가한 상태 정보로부터 획득될 수 있고, t2는 제2 스위치가 제2 스위치로부터 제1 스위치로 향하는 패킷에 추가한 상태 정보로부터 획득될 수 있고, t3는 제1 스위치가 제2 스위치로부터 제1 스위치로 향하는 패킷에 추가한 상태 정보로부터 획득될 수 있다. 이어서, 타임스탬프 정보들(t0, t1, t2, t3)을 이용하여 하기 식 1에 따라 제1 및 제2 스위치들 간 로컬 시간 편차(θ)를 구할 수 있다. In traffic from the first switch to the second switch, a packet egress from the first switch is obtained, and timestamp information (t0) is obtained, and in the traffic from the first switch to the second switch, a packet from the second switch is obtained. Obtain ingress timestamp information t1. In traffic from the second switch to the first switch, the packet transit timestamp information (t2) at the second switch is obtained, and in the traffic from the second switch to the first switch, packet ingress timestamp information at the first switch ( t3) is obtained. Here, t0 may be obtained from state information added by the first switch to a packet directed from the first switch to the second switch, and t1 is state information added by the second switch to a packet directed from the first switch to the second switch. may be obtained from, t2 may be obtained from state information added by the second switch to the packet from the second switch to the first switch, and t3 may be obtained from the packet from the second switch to the first switch by the first switch. It can be obtained from the added state information. Next, a local time deviation θ between the first and second switches may be calculated according to Equation 1 below using the timestamp information t0, t1, t2, and t3.

[식 1][Equation 1]

Figure 112020067919985-pat00004
Figure 112020067919985-pat00004

이하에서는, 도 3에 도시된 INT-모니터링 서버와 엣지 스위치 사이 시간 동기화 과정(②)을 설명하기로 한다.Hereinafter, the time synchronization process (②) between the INT-monitoring server and the edge switch shown in FIG. 3 will be described.

도 6은 본 발명의 일 실시예에 따른 INT-모니터링 서버와 엣지 스위치 사이 시간 동기화를 설명하기 위한 도면이다.6 is a diagram for explaining time synchronization between an INT-monitoring server and an edge switch according to an embodiment of the present invention.

도 6을 참조하면, 서로 다른 INT-모니터링 데이터 평면을 동기화하기 위해서 모니터 서버에서 각 INT-모니터링 영역에서 모니터 서버와의 연결이 제일 안정적인 엣지(edge) 스위치를 선정하여 시간 동기화 패킷을 전달한다. 다만, 본 발명의 권리범위가 이에 제한되는 것은 아니며, 네트워크(예컨대, 소프트웨어 정의 네트워크(Software Defined Network, SDN)를 구성하는 복수의 스위치들 중 적어도 하나의 스위치를 선정하는 것도 가능하다. 이때, 모니터 서버에서 스위치까지의 패킷 전달 시간이 항상 일정하다고 가정하고, 모니터 서버에서 시간 정보 패킷을 처리하기 위한 시간이 항상 일정하다고 가정한다.Referring to FIG. 6 , in order to synchronize different INT-monitoring data planes, the monitor server selects an edge switch that has the most stable connection to the monitor server in each INT-monitoring area and transmits a time synchronization packet. However, the scope of the present invention is not limited thereto, and it is also possible to select at least one switch among a plurality of switches constituting a network (eg, a software defined network (SDN)). In this case, the monitor It is assumed that the packet delivery time from the server to the switch is always constant, and it is assumed that the time for processing the time information packet in the monitor server is always constant.

모니터 서버에서 시간 정보 수집을 위한 패킷을 전달하는 전달 시간(t0)을 획득한다. 모니터링 데이터 평면에서 선정된 엣지 스위치에서는 모니터 서버로부터 오는 패킷을 전달받으면 전달받은 시간(t1)을 기록하고, 전달받은 패킷을 다시 모니터 서버에 반환하게 되는데 패킷을 반환할 때 통과한 시간(t2)을 기록하여 패킷에 해당 정보를 추가한다. 모니터 서버에서는 엣지 스위치에서 반환 패킷을 접수하는 시간(t3)을 획득한다.A delivery time (t0) for transferring a packet for collecting time information from the monitor server is acquired. When the edge switch selected in the monitoring data plane receives a packet from the monitor server, the received time (t1) is recorded, and the received packet is returned back to the monitor server. Record and append that information to the packet. The monitor server acquires the time (t3) at which the edge switch receives the return packet.

이때, 모니터 서버와 엣지 스위치의 시간 차이는 하기 식 2와 같다.At this time, the time difference between the monitor server and the edge switch is as shown in Equation 2 below.

[식 2][Equation 2]

Figure 112020067919985-pat00005
Figure 112020067919985-pat00005

마지막으로, 도 3에 도시된 INT-모니터링 서버와 기타 스위치 사이 시간 동기화 과정(③)을 설명한다.Finally, the time synchronization process (③) between the INT-monitoring server and other switches shown in FIG. 3 will be described.

도 7은 본 발명의 일 실시예에 따른 INT-모니터링 서버와 기타 스위치 사이 시간 동기화를 설명하기 위한 도면이다.7 is a diagram for explaining time synchronization between the INT-monitoring server and other switches according to an embodiment of the present invention.

도 7을 참조하면, 스위치가 (n+1) 개일 경우(n은 2 이상의 자연수), 스위치 1부터 (n+1)까지 시간 차이 Gθ1부터 Gθn을 식 1을 통해 구한 후, 순차적으로 더하는 방식으로 스위치 1에서부터 간접적으로 연결된 두 스위치 간의 시간 편차를 하기의 알고리즘으로 구할 수 있다. 상술한 과정은 모니터 서버에 의해 수행될 수 있다.7, when there are (n+1) switches (n is a natural number greater than or equal to 2), the time difference G θ1 to G θn from switch 1 to (n+1) is obtained through Equation 1, and then sequentially added In this way, the time deviation between two switches connected indirectly from switch 1 can be obtained with the following algorithm. The above-described process may be performed by the monitor server.

Figure 112020067919985-pat00006
Figure 112020067919985-pat00006

구체적으로, 모니터 서버와 엣지 스위치(제(n+1) 스위치) 사이의 시간 차이(CT)는 앞서 설명한 바와 같이 식 2를 이용하여 계산이 가능하다. 또한, 모니터 서버와 제n 스위치 사이의 시간 차이는 모니터 서버와 엣지 스위치(제(n+1) 스위치) 사이의 시간 차이(CT)에 Gθn을 더한 값이 된다. 이와 같은 방식으로 각 스위치와 모니터 서버 사이의 시간 차이를 계산할 수 있으며, 제1 스위치와 모니터 서버 사이의 시간 차이는 Gθ1부터 Gθn까지 합산할 결과에 CT를 더한 값이 된다.Specifically, the time difference CT between the monitor server and the edge switch ((n+1)th switch) can be calculated using Equation 2 as described above. In addition, the time difference between the monitor server and the n-th switch is a value obtained by adding G θn to the time difference CT between the monitor server and the edge switch ((n+1)-th switch). In this way, the time difference between each switch and the monitor server can be calculated, and the time difference between the first switch and the monitor server is a value obtained by adding CT to the result to be summed from G θ1 to G θn.

전술한 바와 같이, DPTP 또는 PTP와 같은 기존의 동기화는 1초에 2,000번 이상 시간 동기화 메시지를 전달되어 드리프트 타임(drift time)을 보정하기 위하여 본 발명은 하기의 방법을 제시한다.As described above, in the conventional synchronization such as DPTP or PTP, the present invention proposes the following method in order to correct a drift time by transmitting a time synchronization message more than 2,000 times per second.

기존에는 각 스위치 간의 클럭 밀림 현상의 다양함을 극복하기 위해 기존의 시간 동기화 방법에서는 주기적으로 시간 동기화 메시지를 전달하는 방식을 채택하였다. 일정한 시간이 흐르면 스위치 간에 새로운 시간 동기화 메시지를 통해 새로운 시간 차이를 계산하여 대체한다. 하지만, INT-모니터링 방법은 트래픽이 흐르는 경우에 한해서 시간 정보를 수집하기 때문에 트래픽이 발생하지 않을 경우에는 정확한 시간 차이를 계산하기 어렵다. 따라서, 스위치 간 지연시간 예측 방법을 사용한다. 스위치에서의 클럭 밀림 현상이 일정하여 각 스위치 간의 시간 차이가 선형적인 형태로 변경된다고 가정한다면 트래픽이 없는 경우에도 스위치 간의 현재의 시간 차이를 예측할 수 있다.In the past, in order to overcome the diversity of clock delays between switches, a method of periodically transmitting time synchronization messages was adopted in the conventional time synchronization method. After a certain amount of time has passed, a new time difference is calculated and replaced through a new time synchronization message between switches. However, since the INT-monitoring method collects time information only when traffic flows, it is difficult to accurately calculate the time difference when no traffic occurs. Therefore, a method of predicting delay time between switches is used. Assuming that the clock delay in the switches is constant and the time difference between switches is linearly changed, the current time difference between switches can be predicted even when there is no traffic.

마지막 수집 시간 T(last)에 수집한 두 스위치 간 시간 차이 G(last)를 구하고, 그 전에 수집된 시점 T(old)에 수집한 두 스위치 간 시간 차이 G(old)를 구한다. 현재의 시간을 T(now)라 하면, 현재의 두 스위치 간의 시간 차이 G(now)는 하기의 식 3으로 구할 수 있다.The time difference G(last) between the two switches collected at the last collection time T(last) is obtained, and the time difference G(old) between the two switches collected at the time point T(old) collected before that is obtained. Assuming that the current time is T(now), the time difference G(now) between the two switches can be obtained by Equation 3 below.

[식 3][Equation 3]

Figure 112020067919985-pat00007
Figure 112020067919985-pat00007

즉, 식 3을 이용하면, 적어도 2회의 시간 차이가 이미 계산된 임의의 스위치들 간의 현재 시간 차이를 추정할 수 있다. 또한, 추정된 시간 차이를 앞서 상술한 시간 차이 계산 기법에 이용할 경우, 현재 트래픽이 존재하지 않은 스위치와 모니터 서버 사이의 시간 차이를 계산(또는 추정)할 수 있다. 예컨대, 모니터 서버와 제n 스위치 사이의 시간 차이는 식 3을 이용하여 추정된 제(n+1) 스위치와 제n 스위치 간의 시간 차이에 CT를 더한 값으로 추정할 수 있다.That is, using Equation 3, it is possible to estimate the current time difference between arbitrary switches for which the time difference of at least two times has already been calculated. In addition, when the estimated time difference is used in the above-described time difference calculation technique, it is possible to calculate (or estimate) the time difference between the switch and the monitor server in which no traffic currently exists. For example, the time difference between the monitor server and the n-th switch may be estimated as a value obtained by adding CT to the time difference between the (n+1)-th switch and the n-th switch estimated using Equation 3 .

이상에서 설명된 장치는 하드웨어 구성 요소, 소프트웨어 구성 요소, 및/또는 하드웨어 구성 요소 및 소프트웨어 구성 요소의 집합으로 구현될 수 있다. 예를 들어, 실시 예들에서 설명된 장치 및 구성 요소는, 예를 들어, 프로세서, 콘트롤러, ALU(Arithmetic Logic Unit), 디지털 신호 프로세서(Digital Signal Processor), 마이크로컴퓨터, FPA(Field Programmable array), PLU(Programmable Logic Unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(Operation System, OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술 분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(Processing Element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(Parallel Processor)와 같은, 다른 처리 구성(Processing Configuration)도 가능하다.The device described above may be implemented as a hardware component, a software component, and/or a set of hardware components and software components. For example, the devices and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA), and a PLU. It may be implemented using one or more general purpose computers or special purpose computers, such as a Programmable Logic Unit (Programmable Logic Unit), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications executed on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that can include For example, the processing device may include a plurality of processors or one processor and one controller. Other Processing Configurations are also possible, such as a Parallel Processor.

소프트웨어는 컴퓨터 프로그램(Computer Program), 코드(Code), 명령(Instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(Collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성 요소(Component), 물리적 장치, 가상 장치(Virtual Equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(Signal Wave)에 영구적으로, 또는 일시적으로 구체화(Embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more thereof, and configure the processing device to operate as desired or independently or collectively processed You can command the device. The software and/or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device, to be interpreted by or provide instructions or data to the processing device. , or may be permanently or temporarily embodied in a transmitted signal wave (Signal Wave). The software may be distributed over networked computer systems, and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

실시 예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 좋ㅂ하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시 예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM, DVD와 같은 광기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-optical Media), 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or preferably. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and used by those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magnetic media such as floppy disks. - Includes hardware devices specially configured to store and execute program instructions, such as Magneto-optical Media, ROM, RAM, Flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성 요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성 요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to the embodiment shown in the drawings, this is merely exemplary, and those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. For example, the described techniques are performed in an order different from the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result. Accordingly, the true technical protection scope of the present invention should be determined by the technical spirit of the appended claims.

Claims (7)

복수의 스위치들과 모니터 서버를 포함하는 네트워크에서 INT(In-band Network Telemetry) 모니터링 기법을 이용한 로컬 시간 편차 계산 방법에 있어서,
제1 스위치 및 제2 스위치 사이에서 전달되는 패킷에 상기 제1 및 제2 스위치들 각각의 상태 정보를 메타데이터 형태로 추가하는 단계;
상기 제1 스위치에서 상기 제2 스위치로 향하는 트래픽에서 상기 제1 스위치에서의 패킷 통과(egress) 타임스탬프(timestamp) 정보(t0)를 획득하는 단계;
상기 제1 스위치에서 상기 제2 스위치로 향하는 트래픽에서 상기 제2 스위치에서 패킷 진입(ingress) 타임스탬프 정보(t1)를 획득하는 단계;
상기 제2 스위치에서 상기 제1 스위치로 향하는 트래픽에서 상기 제2 스위치에서의 패킷 통과 타임스탬프 정보(t2)를 획득하는 단계;
상기 제2 스위치에서 상기 제1 스위치로 향하는 트래픽에서 상기 제1 스위치에서의 패킷 진입 타임스탬프 정보(t3)를 획득하는 단계;
상기 타임스탬프 정보들(t0, t1, t2, t3)을 이용하여 수학식 1에 따라 상기 제1 및 제2 스위치들 간 로컬 시간 편차(θ)를 구하는 단계; 및
마지막 수집 시간(T(last))에 계산된 상기 제1 스위치와 상기 제2 스위치 간 로컬 시간 차이 G(last)와, 상기 마지막 수집 시간(T(last)) 전의 시점(T(old))에 계산된 상기 제1 스위치와 상기 제2 스위치 간 로컬 시간 차이 G(old)를 이용하여 현재의 시간(T(now))에서의 상기 제1 스위치와 상기 제2 스위치 간의 로컬 시간 차이(G(now))를 추정하는 단계를 포함하고,
상기 수학식 1은
Figure 112021101057742-pat00018
이고,
상기 로컬 시간 차이(G(now))를 추정하는 단계는 수학식 2를 이용하여 상기 로컬 시간 차이(G(now))를 추정하고,
상기 수학식 2는
Figure 112021101057742-pat00019
인,
로컬 시간 편차 계산 방법.
In the method of calculating the local time deviation using an INT (In-band Network Telemetry) monitoring technique in a network including a plurality of switches and a monitor server,
adding state information of each of the first and second switches in the form of metadata to a packet transmitted between the first switch and the second switch;
obtaining packet egress timestamp information (t0) in the first switch in traffic from the first switch to the second switch;
obtaining packet ingress timestamp information (t1) from the second switch in traffic from the first switch to the second switch;
obtaining packet transit timestamp information (t2) in the second switch from the traffic from the second switch to the first switch;
obtaining packet entry timestamp information (t3) from the first switch in the traffic from the second switch to the first switch;
obtaining a local time deviation θ between the first and second switches according to Equation 1 using the timestamp information (t0, t1, t2, t3); and
At the local time difference G(last) between the first switch and the second switch calculated at the last collection time T(last), and at a time point T(old) before the last collection time T(last) Using the calculated local time difference G(old) between the first switch and the second switch, the local time difference G(now) between the first switch and the second switch at the current time T(now) )) estimating,
Equation 1 is
Figure 112021101057742-pat00018
ego,
In the estimating of the local time difference G(now), the local time difference G(now) is estimated using Equation 2,
Equation 2 is
Figure 112021101057742-pat00019
sign,
How to calculate local time deviation.
제1항에 있어서,
상기 모니터 서버와 상기 제2 스위치 사이의 로컬 시간 편차(CT)를 계산하는 단계; 및
상기 로컬 시간 편차(CT)와 상기 로컬 시간 편차(θ)를 더하여 상기 모니터 서버와 상기 제1 스위치 간의 로컬 시간 편차를 구하는 단계를 더 포함하는,
로컬 시간 편차 계산 방법.
According to claim 1,
calculating a local time difference (CT) between the monitor server and the second switch; and
Further comprising the step of adding the local time deviation (CT) and the local time deviation (θ) to obtain a local time deviation between the monitor server and the first switch,
How to calculate local time deviation.
제1항에 있어서,
상기 네트워크는 SDN(Software Defined Network)인,
로컬 시간 편차 계산 방법.
According to claim 1,
The network is a Software Defined Network (SDN),
How to calculate local time deviation.
제2항에 있어서,
상기 로컬 시간 편차(CT)를 계산하는 단계는,
상기 모니터 서버가 상기 제2 스위치로 시간 동기화 패킷을 전달하는 단계;
상기 모니터 서버가 상기 제2 스위치로부터 상기 제2 스위치가 상기 시간 동기화 패킷을 전달받은 시간(t4)과 상기 전달받은 시간 동기화 패킷을 상기 모니터 서버로 반환할 때 통과한 시간(t5)이 추가된 시간 동기화 패킷을 수신하는 단계;
상기 모니터 서버가 상기 시간 동기화 패킷을 전달한 시간, 상기 제2 스위치가 상기 시간 동기화 패킷을 전달받은 시간(t4), 상기 모니터 서버로 반환할 때 통과한 시간(t5), 및 상기 시간 동기화 패킷을 수신한 시간을 이용하여 상기 모니터 서버와 제2 스위치 사이 로컬 시간 편차(CT)를 구하는 단계를 포함하는,
로컬 시간 편차 계산 방법.
3. The method of claim 2,
Calculating the local time deviation (CT) comprises:
transmitting, by the monitor server, a time synchronization packet to the second switch;
The time (t4) at which the monitor server receives the time synchronization packet from the second switch to the second switch and the time (t5) passed when the received time synchronization packet is returned to the monitor server is added receiving a synchronization packet;
The time at which the monitor server transmits the time synchronization packet, the time at which the second switch receives the time synchronization packet (t4), the time passed when returning to the monitor server (t5), and the time synchronization packet is received Comprising the step of obtaining a local time difference (CT) between the monitor server and a second switch using one time,
How to calculate local time deviation.
삭제delete 삭제delete 삭제delete
KR1020200080412A 2019-11-11 2020-06-30 In-band network monitoring method and delay prediction method in in-band network monitoring KR102327027B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190143568 2019-11-11
KR20190143568 2019-11-11

Publications (2)

Publication Number Publication Date
KR20210056889A KR20210056889A (en) 2021-05-20
KR102327027B1 true KR102327027B1 (en) 2021-11-16

Family

ID=76142890

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200080412A KR102327027B1 (en) 2019-11-11 2020-06-30 In-band network monitoring method and delay prediction method in in-band network monitoring

Country Status (1)

Country Link
KR (1) KR102327027B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115499102B (en) * 2022-09-16 2024-04-09 迈普通信技术股份有限公司 Message processing method, device, switch and computer readable storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101472540B1 (en) * 2008-07-24 2014-12-15 삼성전자 주식회사 Synchronizing apparatus and method of packet network
KR102013617B1 (en) * 2015-11-18 2019-08-23 한국전자통신연구원 Method and apparatus for synchronizing time

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100987389B1 (en) * 2008-08-14 2010-10-12 한국전자통신연구원 Synchronization method with fixed delay time in network, and bridge adopting the same method
KR20160081312A (en) 2014-12-31 2016-07-08 안무선 Apparatus for sensing the Position of Display device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101472540B1 (en) * 2008-07-24 2014-12-15 삼성전자 주식회사 Synchronizing apparatus and method of packet network
KR102013617B1 (en) * 2015-11-18 2019-08-23 한국전자통신연구원 Method and apparatus for synchronizing time

Also Published As

Publication number Publication date
KR20210056889A (en) 2021-05-20

Similar Documents

Publication Publication Date Title
US8427963B2 (en) Method and system for analyzing and qualifying routes in packet networks
EP2506470B1 (en) Method, apparatus and system for time distribution in a telecommunications network
TW202011177A (en) Computer-implemented method, hardware event collection system and non-transitory machine-readable storage device
CN103155488B (en) Delay measurements system and delay measuring method and delay measurements equipment and delay measurements program
EP2774036B1 (en) Apparatus, method and computer program for migrating an event detector process
CN103907321A (en) System and method for using dynamic allocation of virtual lanes to alleviate congestion in a fat-tree topology
CN107508719A (en) Measure the method, apparatus and network node of network delay
KR101484871B1 (en) Master device and slave device and time synchronization method
EP3469772B1 (en) Scheduling of data flow transmission in a data center
KR102327027B1 (en) In-band network monitoring method and delay prediction method in in-band network monitoring
JP5675703B2 (en) Communication device, control device, and program
US7386613B2 (en) System and method for measuring middleware response time
CN107003691B (en) Techniques for synchronously sampling counters based on global clock
US20180150313A1 (en) Analysis method and analysis apparatus
CN113395357B (en) Method and device for fragmenting block chain system
JP4983332B2 (en) Performance evaluation program, performance evaluation apparatus, and performance evaluation method
US20200296189A1 (en) Packet analysis apparatus, packet analysis method, and storage medium
WO2021176670A1 (en) Network management system, edge device, network management device, and program
US20220385559A1 (en) Topology estimation system, traffic generation apparatus, and traffic generation method
US20160381651A1 (en) Metered interface
JPWO2011048740A1 (en) Data transmission system, transmission speed control method, receiving terminal, transmitting terminal
JP3391785B2 (en) Communication quality management system, communication quality management method, program and recording medium
Robert et al. On the observability in switched Ethernet networks in the next generation of space launchers: problem, challenges and recommendations
JP5851363B2 (en) Network node, communication method, and system
JP5493880B2 (en) Parallel computer system, processor, synchronization device, communication method, and communication support method

Legal Events

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