KR102471228B1 - 네트워크의 패킷 흐름에 대한 공격성 파라미터 동적 제어 방법 및 장치 - Google Patents

네트워크의 패킷 흐름에 대한 공격성 파라미터 동적 제어 방법 및 장치 Download PDF

Info

Publication number
KR102471228B1
KR102471228B1 KR1020220073339A KR20220073339A KR102471228B1 KR 102471228 B1 KR102471228 B1 KR 102471228B1 KR 1020220073339 A KR1020220073339 A KR 1020220073339A KR 20220073339 A KR20220073339 A KR 20220073339A KR 102471228 B1 KR102471228 B1 KR 102471228B1
Authority
KR
South Korea
Prior art keywords
packets
time
round
flows
jitter
Prior art date
Application number
KR1020220073339A
Other languages
English (en)
Inventor
이경한
한태경
Original Assignee
서울대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서울대학교산학협력단 filed Critical 서울대학교산학협력단
Application granted granted Critical
Publication of KR102471228B1 publication Critical patent/KR102471228B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • 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
    • H04L43/0864Round trip delays
    • 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
    • H04L43/087Jitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/127Avoiding congestion; Recovering from congestion by using congestion prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback

Landscapes

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

Abstract

본 발명은 다수의 패킷 각각의 왕복 시간에 기초하여 네트워크에서의 동시 흐름의 개수를 예측하고, 동시 흐름의 개수에 기초하여 네트워크의 패킷 흐름에 대한 공격성 파라미터를 제어하는 공격성 파라미터 동적 제어 방법을 제공한다.

Description

네트워크의 패킷 흐름에 대한 공격성 파라미터 동적 제어 방법 및 장치{METHOD AND APPARATUS FOR DYNAMIC ADJUSTMENT OF AGGRESSIVENESS PARAMETERS FOR PACKET FLOW IN THE NETWORK}
본 발명은 네트워크의 패킷 흐름에 대한 공격성 파라미터 동적 제어 방법 및 장치에 관한 것으로, 더욱 상세하게는, 네트워크의 패킷 흐름이 조절되도록 공격성 파라미터를 동적 제어하는 방법 및 장치에 관한 것이다.
다양한 종류의 차세대 응용들의 요구 성능을 만족시키기 위해, 응용들이 생성하는 흐름(flow)의 완료 시간을 줄이기 위한 관심이 증가하고 있다.
이와 관련하여, 네트워크 상에는 낮은 대기열 지연을 요구하는 짧은 흐름과 높은 대역폭 할당을 요구하는 긴 흐름이 혼재한다. 따라서, 짧은 대기열 지연과 높은 링크 활용률을 동시에 달성하기 위해, 네트워크 피드백에 기초하여 전송률을 조절하는 혼잡제어 알고리즘이 수행된다. 이러한, 혼잡제어 알고리즘의 성능은 응용 성능에 직결된다.
한편, 혼잡제어 알고리즘의 성능에 관여하는 다양한 요인 중, 공격성 파라미터는 전송률 증가 과정의 기울기를 결정한다. 즉, 높은 공격성 파라미터를 설정하면 이용 가능한 대역폭을 빠르게 활용할 수 있으나, 하나의 병목링크에 존재하는 모든 플로우들에 높은 공격성 파라미터가 설정되면, 혼잡 및 높은 대기열 지연의 원인이 된다.
따라서 다수의 플로우가 병목링크에 존재하는 경우에는, 혼잡 방지와 저지연의 측면에서, 낮은 공격성 파라미터의 설정이 유리하다.
국내공개특허 제10-2002-0075246호(2002.10.04.)
본 발명이 해결하고자 하는 기술적 과제는 네트워크의 혼잡도에 따라 패킷에 대한 전송률이 조절되도록 공격성 파라미터를 동적으로 제어하는 공격성 파라미터 동적 제어 방법 및 장치를 제공하는 것이다.
본 발명의 일측면은, 다수의 패킷 각각의 왕복 시간에 기초하여 네트워크에서의 동시 흐름의 개수를 예측하는 단계; 및 상기 동시 흐름의 개수에 기초하여 상기 네트워크의 패킷 흐름에 대한 공격성 파라미터를 제어하는 단계;를 포함할 수 있다.
또한, 상기 네트워크의 패킷 흐름에 대한 공격성 파라미터를 제어하는 단계는, 상기 예측된 동시 흐름의 개수가 많아질수록 상기 공격성 파라미터의 값을 낮추고, 상기 예측된 동시 흐름의 개수가 적어질수록 상기 공격성 파라미터의 값을 높일 수 있다.
또한, 상기 동시 흐름의 개수를 예측하는 단계는, 상기 다수의 패킷 각각의 왕복 시간을 측정하는 단계; 상기 다수의 패킷 중 연속된 패킷의 왕복 시간에 기초하여 상기 연속된 패킷에 대한 지터(Jitter)를 측정하는 단계; 및 상기 지터를 이용하여, 상기 연속된 패킷 중 뒤이은 패킷에 대한 확인 응답이 수신된 시점에서의 동시 흐름의 개수를 예측하는 단계;를 포함할 수 있다.
또한, 상기 왕복 시간을 측정하는 단계는, 상기 다수의 패킷 각각에 대한 확인 응답(ACK)이 수신되면, 상기 다수의 패킷 각각이 송신된 시점으로부터 상기 확인 응답이 각각 수신된 시점까지의 시간 간격을 산출하여 상기 다수의 패킷 각각의 왕복 시간을 측정할 수 있다.
또한, 상기 다수의 패킷 각각이 송신된 시점 및 상기 확인 응답이 각각 수신된 시점 중 적어도 하나는, 운영체제 우회 및 NIC 중 적어도 하나를 이용한 타임 스탬핑을 통해 측정될 수 있다.
또한, 상기 지터를 측정하는 단계는, 상기 연속된 패킷 중 앞선 패킷의 왕복 시간과 상기 뒤이은 패킷의 왕복 시간 간의 차이를 산출하여 상기 지터를 측정할 수 있다.
또한, 상기 동시 흐름의 개수를 예측하는 단계는, 상기 지터와, 상기 연속된 패킷보다 앞서는 적어도 하나의 패킷의 왕복 시간을 이용하여 산출된 적어도 하나의 지터 간의 차이에 기초하여 상기 동시 흐름의 개수를 예측할 수 있다.
본 발명의 다른 일측면은, 네트워크 상에서 다수의 패킷을 송수신하는 통신 모듈; 및 상기 다수의 패킷 각각의 왕복 시간에 기초하여 상기 네트워크에서의 동시 흐름의 개수를 예측하고, 상기 동시 흐름의 개수에 기초하여 상기 네트워크의 패킷 흐름에 대한 공격성 파라미터를 제어하는 프로세서;를 포함할 수 있다.
또한, 상기 프로세서는, 상기 예측된 동시 흐름의 개수가 많아질수록 상기 공격성 파라미터의 값을 낮추고, 상기 예측된 동시 흐름의 개수가 적어질수록 상기 공격성 파라미터의 값을 높일 수 있다.
또한, 상기 프로세서는, 상기 다수의 패킷 각각의 왕복 시간을 측정하고, 상기 다수의 패킷 중 연속된 패킷의 왕복 시간에 기초하여 상기 연속된 패킷에 대한 지터(Jitter)를 측정하며, 상기 지터를 이용하여, 상기 연속된 패킷 중 뒤이은 패킷에 대한 확인 응답이 수신된 시점에서의 동시 흐름의 개수를 예측할 수 있다.
또한, 상기 프로세서는, 상기 다수의 패킷 각각에 대한 확인 응답(ACK)이 수신되면, 상기 다수의 패킷 각각이 송신된 시점으로부터 상기 확인 응답이 각각 수신된 시점까지의 시간 간격을 산출하여 상기 다수의 패킷 각각의 왕복 시간을 측정할 수 있다.
또한, 상기 프로세서는, 운영체제 우회 및 NIC 중 적어도 하나를 이용한 타임 스탬핑을 통해 상기 다수의 패킷 각각이 송신된 시점 및 상기 확인 응답이 각각 수신된 시점 중 적어도 하나를 측정할 수 있다.
또한, 상기 프로세서는, 상기 연속된 패킷 중 앞선 패킷의 왕복 시간과 상기 뒤이은 패킷의 왕복 시간 간의 차이를 산출하여 상기 지터를 측정할 수 있다.
또한, 상기 프로세서는, 상기 지터와, 상기 연속된 패킷보다 앞서는 적어도 하나의 패킷의 왕복 시간을 이용하여 산출된 적어도 하나의 지터 간의 차이에 기초하여 상기 동시 흐름의 개수를 예측할 수 있다.
본 발명의 또 다른 일측면은, 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체로서, 상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면, 다수의 패킷 각각의 왕복 시간에 기초하여 네트워크에서의 동시 흐름의 개수를 예측하는 단계; 및 상기 동시 흐름의 개수에 기초하여 상기 네트워크의 패킷 흐름에 대한 공격성 파라미터를 제어하는 단계;를 포함하는 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함할 수 있다.
본 발명의 다른 일측면은, 컴퓨터 판독 가능한 기록매체에 저장되어 있는 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면, 다수의 패킷 각각의 왕복 시간에 기초하여 네트워크에서의 동시 흐름의 개수를 예측하는 단계; 및 상기 동시 흐름의 개수에 기초하여 상기 네트워크의 패킷 흐름에 대한 공격성 파라미터를 제어하는 단계;를 포함하는 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함할 수 있다.
상술한 본 발명의 일측면에 따르면, 네트워크의 패킷 흐름에 대한 공격성 파라미터 동적 제어 방법 및 장치를 제공함으로써 네트워크의 혼잡도에 따라 패킷에 대한 전송률이 조절되도록 공격성 파라미터를 동적으로 제어할 수 있다.
도 1은 본 발명의 일 실시예에 따른 공격성 파라미터 동적 제어 장치의 블록도이다.
도 2는 도 1의 공격성 파라미터 동적 제어 프로그램의 일 실시예를 개념적으로 나타낸 블록도이다.
도 3은 도 2의 왕복 시간 측정부에서 왕복 시간을 측정하는 일 실시예를 나타낸 도면이다.
도 4는 도 2의 지터 측정부에서 지터를 측정하는 일 실시예를 나타낸 도면이다.
도 5는 도 2의 동시 흐름 예측부에서 동시 흐름의 개수를 예측하는 일 실시예를 나타낸 도면이다.
도 6은 도 1의 공격성 파라미터 동적 제어 프로그램의 일 실시예를 나타낸 코드이다.
도 7은 본 발명의 일 실시예에 따른 공격성 파라미터 동적 제어 방법의 순서도이다.
도 8은 도 7의 네트워크에서의 동시 흐름의 개수를 예측하는 단계의 세부 순서도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 공격성 파라미터 동적 제어 장치의 블록도이다.
도 1을 참조하면, 공격성 파라미터 동적 제어 장치(100)는 통신 모듈(110), 프로세서(120) 및 메모리(130)를 포함할 수 있다.
프로세서(120)는 통신 모듈(110)을 통해, 네트워크 상에서 다수의 패킷을 송수신할 수 있다.
여기에서, 네트워크는 패킷을 송수신하는 다수의 노드와, 패킷 흐름을 제어하는 스위치(예를 들면, 라우터(Router))를 포함할 수 있다. 한편, 네트워크는 종래에 공지된 다른 네트워크 구성이 이용될 수도 있다.
이에 따라, 각 노드는 다른 노드에 패킷을 송신하고, 패킷을 수신한 노드는 해당 패킷을 송신한 노드에 확인 응답(ACK, Acknowledge)을 송신할 수 있다.
이때, 공격성 파라미터 동적 제어 장치(100)는 노드이거나, 노드에 설치되는 장치일 수 있다. 이에 따라, 프로세서(120)는 네트워크의 패킷 흐름에 기초하여 패킷에 대한 전송률을 제어할 수 있다.
즉, 프로세서(120)는 네트워크에서의 혼잡 제어의 성능이 향상되도록 공격성 파라미터를 동적 조절할 수 있다. 여기에서, 공격성 파라미터는 패킷에 대한 전송률의 증가 정도를 결정하도록 이용되는 값일 수 있다. 예를 들어, 전송률은 공격성 파라미터의 값을 높이는 경우에 비교적 큰 폭으로 증가하고, 공격성 파라미터의 값을 낮추는 경우에 비교적 작은 폭으로 증가할 수 있다.
이와 관련하여, 프로세서(120)는 네트워크 혼잡이 감지되면 전송률을 감소시키고, 혼잡이 해소된 것으로 판단되면 전송률을 증가시킬 수 있다.
이때, 일 실시예에서, 프로세서(120)는 공격성 파라미터가 5 pkts/sec로 설정되고, time = 1s, 2s, 3s인 상황에서 10 pkts/sec로 설정된 현재 전송률을 증가시키는 경우에, time = 1s, 2s, 3s에 대해, 각각 15, 20, 25 pkts/sec으로 전송률을 증가시킬 수 있다.
다른 일 실시예에서, 프로세서(120)는 공격성 파라미터가 2 pkts/sec로 설정되고, time = 1s, 2s, 3s인 상황에서 10 pkts/sec로 설정된 현재 전송률을 증가시키는 경우에, time = 1s, 2s, 3s에 대해, 각각 12, 14, 16 pkts/sec으로 전송률을 증가시킬 수 있다.
이와 같이, 공격성 파라미터는 전송률의 증가량 또는 전송률 증가 단계의 Step Size일 수 있다.
한편, 프로세서(120)는 다수의 패킷 각각의 왕복 시간(RTT, Round Trip Time)에 기초하여 네트워크(즉, 네트워크 내 병목 링크)에서의 동시 흐름의 개수를 예측할 수 있다.
여기에서, 왕복 시간은 패킷이 전송된 시점으로부터 해당 패킷에 대한 확인 응답이 수신된 시점까지의 시간 간격일 수 있다.
또한, 동시 흐름은 패킷의 확인 응답이 수신된 시점에, 스위치에 존재하는 적어도 하나의 플로우(또는 큐(Queue))를 의미할 수 있다. 따라서, 동시 흐름의 개수는 패킷의 확인 응답이 수신된 시점에, 스위치에 존재하는 플로우들의 개수를 예측한 값일 수 있다.
이에 따라, 프로세서(120)는 동시 흐름의 개수에 기초하여 네트워크의 패킷 흐름에 대한 공격성 파라미터를 제어할 수 있다.
한편, 메모리(130)에는 공격성 파라미터 동적 제어 프로그램(200) 및 공격성 파라미터 동적 제어 프로그램(200)의 실행에 필요한 정보가 저장될 수 있다.
본 명세서에서 공격성 파라미터 동적 제어 프로그램(200)은 네트워크에서의 동시 흐름의 개수를 예측하고, 예측된 동시 흐름의 개수에 기초하여 공격성 파라미터를 제어하도록 프로그램된 명령어들을 포함하는 소프트웨어를 의미할 수 있다.
따라서, 프로세서(120)는 공격성 파라미터 동적 제어 프로그램(200)을 실행하기 위하여 메모리(130)에서 공격성 파라미터 동적 제어 프로그램(200) 및 공격성 파라미터 동적 제어 프로그램(200)의 실행에 필요한 정보를 로드할 수 있다.
한편, 공격성 파라미터 동적 제어 프로그램(200)의 기능 및/또는 동작에 대하여는 도 2를 통해 상세하게 살펴보기로 한다.
도 2는 도 1의 공격성 파라미터 동적 제어 프로그램의 일 실시예를 개념적으로 나타낸 블록도이다.
도 2를 참조하면, 공격성 파라미터 동적 제어 프로그램은 예측부(210) 및 제어부(230)를 포함할 수 있다.
한편, 도 2에 도시된 예측부(210) 및 제어부(230)는 공격성 파라미터 동적 제어 프로그램(200)의 기능을 쉽게 설명하기 위하여 공격성 파라미터 동적 제어 프로그램(200)의 기능을 개념적으로 나눈 것으로서, 이에 한정되지 않는다. 실시예들에 따라, 예측부(210) 및 제어부(230)의 기능은 병합/분리 가능하며, 하나의 프로그램에 포함된 일련의 명령어들로 구현될 수도 있다.
예측부(210)는 다수의 패킷 각각의 왕복 시간에 기초하여 네트워크에서의 동시 흐름의 개수를 예측할 수 있다.
이를 위해, 예측부(210)는 왕복 시간 측정부(211), 지터 측정부(213) 및 동시 흐름 예측부(215)를 포함할 수 있다.
이때, 도 2에 도시된 왕복 시간 측정부(211), 지터 측정부(213) 및 동시 흐름 예측부(215)는 예측부(210)의 기능을 쉽게 설명하기 위하여 예측부(210)의 기능을 개념적으로 나눈 것으로서, 이에 한정되지 않는다. 실시예들에 따라, 왕복 시간 측정부(211), 지터 측정부(213) 및 동시 흐름 예측부(215)의 기능은 병합/분리 가능하며, 하나의 프로그램에 포함된 일련의 명령어들로 구현될 수도 있다.
왕복 시간 측정부(211)는 다수의 패킷 각각의 왕복 시간을 측정할 수 있다.
이를 위해, 왕복 시간 측정부(211)는 다수의 패킷 각각에 대한 확인 응답이 수신되면, 다수의 패킷 각각이 송신된 시점으로부터 확인 응답이 각각 수신된 시점까지의 시간 간격을 산출하여 다수의 패킷 각각의 왕복 시간을 측정할 수 있다.
이때, 왕복 시간 측정부(211)는 운영체제 우회(OS-Bypass) 및 NIC(Network Interface Card) 중 적어도 하나를 이용한 타임 스탬핑을 통해 다수의 패킷 각각이 송신된 시점 및 확인 응답이 각각 수신된 시점 중 적어도 하나를 측정할 수 있다. 즉, 왕복 시간 측정부(211)는 패킷 및 확인 응답에 대해 보다 정확한 시점을 측정하기 위해 하드웨어 타임 스탬핑을 이용할 수 있다.
이에 따라, 지터 측정부(213)는 다수의 패킷 중 연속된 패킷의 왕복 시간에 기초하여 연속된 패킷에 대한 지터(Jitter)를 측정할 수 있다.
구체적으로, 지터 측정부(213)는 연속된 패킷 중 앞선 패킷의 왕복 시간과 뒤이은 패킷의 왕복 시간 간의 차이를 산출하여 지터를 측정할 수 있다.
이때, 지터 측정부(213)는 처음으로 측정된 왕복 시간에 대해서는 지터를 측정하지 않을 수도 있다.
이에 따라, 동시 흐름 예측부(215)는 측정된 지터를 이용하여, 연속된 패킷 중 뒤이은 패킷에 대한 확인 응답이 수신된 시점에서의 동시 흐름의 개수를 예측할 수 있다.
이를 위해, 동시 흐름 예측부(215)는 연속된 패킷에 대해 측정된 지터와, 상기의 연속된 패킷보다 앞서는 적어도 하나의 패킷의 왕복 시간을 이용하여 산출된 지터 간의 차이를 산출하여 동시 흐름의 개수를 예측할 수 있다.
즉, 동시 흐름 예측부(215)는 과거에 측정된 적어도 하나의 지터와, 현재의 지터 간의 변화 폭에 기초하여 동시 흐름의 개수에 대한 예측 값을 추정할 수 있다.
이와 관련하여, 네트워크 상에서는 동시 흐름의 개수가 많아질수록 분산적인 플로우 패킷의 비동기적(Asynchronous) 도착 및 전송률의 과도한 진동으로 인하여 지터의 변화가 큰 폭으로 발생할 수 있다.
따라서, 동시 흐름 예측부(215)는 지터 간의 차이가 커질수록 동시 흐름의 개수가 많아지고, 지터 간의 차이가 작아질수록 동시 흐름의 개수가 적어진 것으로 예측할 수 있다.
이에 따라, 제어부(230)는 동시 흐름의 개수에 기초하여 네트워크의 패킷 흐름에 대한 공격성 파라미터를 제어할 수 있다.
이때, 공격성 파라미터는 단위 시간 동안 패킷을 송신하는 비율을 결정하도록 이용되는 값일 수 있다.
예를 들어, 제어부(230)는 예측된 동시 흐름의 개수가 많아질수록 공격성 파라미터의 값을 낮추고, 예측된 동시 흐름의 개수가 적어질수록 공격성 파라미터의 값을 높일 수 있다.
즉, 제어부(230)는 지터의 변화량이 커질수록 단위 시간 동안 송신되는 패킷이 적어지도록 제어하고, 지터의 변화량이 작아질수록 단위 시간 동안 송신되는 패킷이 많아지도록 제어할 수 있다.
도 3은 도 2의 왕복 시간 측정부에서 왕복 시간을 측정하는 일 실시예를 나타낸 도면이다.
도 3을 참조하면, 송신 노드가 패킷을 송신하면, 수신 노드가 스위치를 통해 패킷을 수신하고, 수신한 패킷에 대한 확인 응답을 송신하며, 이에 따라, 송신 노드가 스위치를 통해 확인 응답을 수신하는 과정을 확인할 수 있다.
이와 관련하여, 도 3 내지 도 6에 따른 일 실시예에서, 송신 노드 및 수신 노드는 발명의 이해를 위해 임의로 설정된 노드이며, 이러한 노드들은 서로 교체되거나, 네트워크 상의 다른 노드로 대체될 수도 있다. 또한, 스위치는 네트워크의 구성에 따라 생략되거나, 다른 장치로 대체될 수도 있다. 또한, 송신 노드에는 공격성 파라미터 동적 제어 장치(100)가 포함되는 것으로 이해할 수 있다.
이를 통해, 공격성 파라미터 동적 제어 장치(100)는 왕복 시간으로서, 패킷이 송신되는 시점으로부터 확인 응답을 수신하는 시점까지의 시간 간격을 측정할 수 있다.
도 4는 도 2의 지터 측정부에서 지터를 측정하는 일 실시예를 나타낸 도면이다.
도 4를 참조하면, 공격성 파라미터 동적 제어 장치(100)는 제 1 패킷이 송신되는 시점으로부터 제 1 확인 응답이 수신되는 시점까지의 제 1 왕복 시간을 측정하고, 제 2 패킷이 송신되는 시점으로부터 제 2 확인 응답이 수신되는 시점까지의 제 2 왕복 시간을 측정할 수 있다.
이에 따라, 공격성 파라미터 동적 제어 장치(100)는 지터로서, 제 1 왕복 시간과 제 2 왕복 시간의 차이를 측정할 수 있다.
도 5는 도 2의 동시 흐름 예측부에서 동시 흐름의 개수를 예측하는 일 실시예를 나타낸 도면이다.
도 5를 참조하면, 공격성 파라미터 동적 제어 장치(100)는 연속된 패킷의 왕복 시간에 기초하여 제 1 지터 및 제 2 지터를 각각 측정할 수 있다.
이에 따라, 공격성 파라미터 동적 제어 장치(100)는 제 1 지터와 제 2 지터의 차이를 산출하여 동시 흐름의 개수를 예측하고, 예측된 동시 흐름의 개수에 기초하여 공격성 파라미터를 제어할 수 있다.
도 6은 도 1의 공격성 파라미터 동적 제어 프로그램의 일 실시예를 나타낸 코드이다.
도 6을 참조하면, 연속된 패킷의 왕복 시간(ack.RTT)을 이용하여 지터(Jitter)를 산출하고, 미리 설정된 가중치({}delta)와, 과거의 지터에 대한 현재의 지터의 변화량(EWMA)에 기초하여 동시 흐름의 개수의 예측 값(EWMVAR)을 산출하는 과정을 확인할 수 있다.
이에 따라, 산출된 동시 흐름의 개수의 예측 값과, 미리 설정된 계수(A, B)를 이용하여 공격성 파라미터({}P_{Aggressiveness})를 제어하는 과정을 확인할 수 있다.
이때, 공격성 파라미터({}P_{Aggressiveness})는 동시 흐름의 개수의 예측 값(EWMVAR)에 반비례할 수 있다.
도 7은 본 발명의 일 실시예에 따른 공격성 파라미터 동적 제어 방법의 순서도이다.
도 7을 참조하면, 프로세서(120)는 다수의 패킷 각각의 왕복 시간에 기초하여 네트워크에서의 동시 흐름의 개수를 예측할 수 있다(S100).
이에 따라, 프로세서(120)는 동시 흐름의 개수에 기초하여 네트워크의 패킷 흐름에 대한 공격성 파라미터를 제어할 수 있다(S200).
도 8은 도 7의 네트워크에서의 동시 흐름의 개수를 예측하는 단계의 세부 순서도이다.
도 8을 참조하면, 프로세서(120)는 다수의 패킷 각각의 왕복 시간을 측정할 수 있다(S110).
이에 따라, 프로세서(120)는 다수의 패킷 중 연속된 패킷의 왕복 시간에 기초하여 연속된 패킷에 대한 지터를 측정하고(S130), 측정된 지터를 이용하여, 연속된 패킷 중 뒤이은 패킷에 대한 확인 응답이 수신된 시점에서의 동시 흐름의 개수를 예측할 수 있다(S150).
본 문서의 다양한 실시예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)(예: 메모리(내장 메모리 또는 외장 메모리))에 저장된 명령어를 포함하는 소프트웨어(예: 프로그램)로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시예들에 따른 전자 장치(예: 장치)를 포함할 수 있다. 상기 명령이 프로세서(예: 프로세서)에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어 하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 공격성 파라미터 동적 제어 장치

Claims (16)

  1. 다수의 패킷 각각의 왕복 시간에 기초하여 네트워크에서의 동시 흐름의 개수를 예측하는 단계; 및
    상기 동시 흐름의 개수에 기초하여 상기 네트워크의 패킷 흐름에 대한 공격성 파라미터를 제어하는 단계;를 포함하되,
    상기 네트워크의 패킷 흐름에 대한 공격성 파라미터를 제어하는 단계는,
    상기 예측된 동시 흐름의 개수가 많아질수록 상기 공격성 파라미터의 값을 낮춰서 시간대별 전송률을 제1 설정 폭으로 증가시키고, 상기 예측된 동시 흐름의 개수가 적어질수록 상기 공격성 파라미터의 값을 높여서 상기 시간대별 전송률을 상기 제1 설정 폭보다 높은 스텝 사이즈(step size)의 제2 설정 폭으로 증가시키는, 공격성 파라미터 동적 제어 방법.
  2. 삭제
  3. 제 1 항에 있어서, 상기 동시 흐름의 개수를 예측하는 단계는,
    상기 다수의 패킷 각각의 왕복 시간을 측정하는 단계;
    상기 다수의 패킷 중 연속된 패킷의 왕복 시간에 기초하여 상기 연속된 패킷에 대한 지터(Jitter)를 측정하는 단계; 및
    상기 지터를 이용하여, 상기 연속된 패킷 중 뒤이은 패킷에 대한 확인 응답이 수신된 시점에서의 동시 흐름의 개수를 예측하는 단계;를 포함하는, 공격성 파라미터 동적 제어 방법.
  4. 제 3 항에 있어서, 상기 왕복 시간을 측정하는 단계는,
    상기 다수의 패킷 각각에 대한 확인 응답(ACK)이 수신되면, 상기 다수의 패킷 각각이 송신된 시점으로부터 상기 확인 응답이 각각 수신된 시점까지의 시간 간격을 산출하여 상기 다수의 패킷 각각의 왕복 시간을 측정하는, 공격성 파라미터 동적 제어 방법.
  5. 제 4 항에 있어서,
    상기 다수의 패킷 각각이 송신된 시점 및 상기 확인 응답이 각각 수신된 시점 중 적어도 하나는,
    운영체제 우회 및 NIC 중 적어도 하나를 이용한 타임 스탬핑을 통해 측정되는, 공격성 파라미터 동적 제어 방법.
  6. 제 3 항에 있어서, 상기 지터를 측정하는 단계는,
    상기 연속된 패킷 중 앞선 패킷의 왕복 시간과 상기 뒤이은 패킷의 왕복 시간 간의 차이를 산출하여 상기 지터를 측정하는, 공격성 파라미터 동적 제어 방법.
  7. 제 3 항에 있어서, 상기 동시 흐름의 개수를 예측하는 단계는,
    상기 지터와, 상기 연속된 패킷보다 앞서는 적어도 하나의 패킷의 왕복 시간을 이용하여 산출된 적어도 하나의 지터 간의 차이 에 기초하여 상기 동시 흐름의 개수를 예측하는, 공격성 파라미터 동적 제어 방법.
  8. 네트워크 상에서 다수의 패킷을 송수신하는 통신 모듈; 및
    상기 다수의 패킷 각각의 왕복 시간에 기초하여 상기 네트워크에서의 동시 흐름의 개수를 예측하고, 상기 동시 흐름의 개수에 기초하여 상기 네트워크의 패킷 흐름에 대한 공격성 파라미터를 제어하는 프로세서;를 포함하되,
    상기 프로세서는,
    상기 예측된 동시 흐름의 개수가 많아질수록 상기 공격성 파라미터의 값을 낮춰서 시간대별 전송률을 제1 설정 폭으로 증가시키고, 상기 예측된 동시 흐름의 개수가 적어질수록 상기 공격성 파라미터의 값을 높여서 상기 시간대별 전송률을 상기 제1 설정 폭보다 높은 스텝 사이즈의 제2 설정 폭으로 증가시키는, 공격성 파라미터 동적 제어 장치.
  9. 삭제
  10. 제 8 항에 있어서, 상기 프로세서는,
    상기 다수의 패킷 각각의 왕복 시간을 측정하고, 상기 다수의 패킷 중 연속된 패킷의 왕복 시간에 기초하여 상기 연속된 패킷에 대한 지터(Jitter)를 측정하며, 상기 지터를 이용하여, 상기 연속된 패킷 중 뒤이은 패킷에 대한 확인 응답이 수신된 시점에서의 동시 흐름의 개수를 예측하는, 공격성 파라미터 동적 제어 장치.
  11. 제 10 항에 있어서, 상기 프로세서는,
    상기 다수의 패킷 각각에 대한 확인 응답(ACK)이 수신되면, 상기 다수의 패킷 각각이 송신된 시점으로부터 상기 확인 응답이 각각 수신된 시점까지의 시간 간격을 산출하여 상기 다수의 패킷 각각의 왕복 시간을 측정하는, 공격성 파라미터 동적 제어 장치.
  12. 제 11 항에 있어서, 상기 프로세서는,
    운영체제 우회 및 NIC 중 적어도 하나를 이용한 타임 스탬핑을 통해 상기 다수의 패킷 각각이 송신된 시점 및 상기 확인 응답이 각각 수신된 시점 중 적어도 하나를 측정하는, 공격성 파라미터 동적 제어 장치.
  13. 제 10 항에 있어서, 상기 프로세서는,
    상기 연속된 패킷 중 앞선 패킷의 왕복 시간과 상기 뒤이은 패킷의 왕복 시간 간의 차이를 산출하여 상기 지터를 측정하는, 공격성 파라미터 동적 제어 장치.
  14. 제 10 항에 있어서, 상기 프로세서는,
    상기 지터와, 상기 연속된 패킷보다 앞서는 적어도 하나의 패킷의 왕복 시간을 이용하여 산출된 적어도 하나의 지터 간의 차이에 기초하여 상기 동시 흐름의 개수를 예측하는, 공격성 파라미터 동적 제어 장치.
  15. 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체로서,
    상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면,
    다수의 패킷 각각의 왕복 시간에 기초하여 네트워크에서의 동시 흐름의 개수를 예측하는 단계; 및
    상기 동시 흐름의 개수에 기초하여 상기 네트워크의 패킷 흐름에 대한 공격성 파라미터를 제어하는 단계;를 포함하되,
    상기 네트워크의 패킷 흐름에 대한 공격성 파라미터를 제어하는 단계는,
    상기 예측된 동시 흐름의 개수가 많아질수록 상기 공격성 파라미터의 값을 낮춰서 시간대별 전송률을 제1 설정 폭으로 증가시키고, 상기 예측된 동시 흐름의 개수가 적어질수록 상기 공격성 파라미터의 값을 높여서 상기 시간대별 전송률을 상기 제1 설정 폭보다 높은 스텝 사이즈의 제2 설정 폭으로 증가시키는 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하는, 컴퓨터 판독 가능한 기록매체.
  16. 컴퓨터 판독 가능한 기록매체에 저장되어 있는 컴퓨터 프로그램으로서,
    상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면,
    다수의 패킷 각각의 왕복 시간에 기초하여 네트워크에서의 동시 흐름의 개수를 예측하는 단계; 및
    상기 동시 흐름의 개수에 기초하여 상기 네트워크의 패킷 흐름에 대한 공격성 파라미터를 제어하는 단계;를 포함하되,
    상기 네트워크의 패킷 흐름에 대한 공격성 파라미터를 제어하는 단계는,
    상기 예측된 동시 흐름의 개수가 많아질수록 상기 공격성 파라미터의 값을 낮춰서 시간대별 전송률을 제1 설정 폭으로 증가시키고, 상기 예측된 동시 흐름의 개수가 적어질수록 상기 공격성 파라미터의 값을 높여서 상기 시간대별 전송률을 상기 제1 설정 폭보다 높은 스텝 사이즈의 제2 설정 폭으로 증가시키는 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하는, 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하는 기록매체에 저장된, 컴퓨터 프로그램.
KR1020220073339A 2022-04-04 2022-06-16 네트워크의 패킷 흐름에 대한 공격성 파라미터 동적 제어 방법 및 장치 KR102471228B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220041830 2022-04-04
KR20220041830 2022-04-04

Publications (1)

Publication Number Publication Date
KR102471228B1 true KR102471228B1 (ko) 2022-11-28

Family

ID=84236944

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220073339A KR102471228B1 (ko) 2022-04-04 2022-06-16 네트워크의 패킷 흐름에 대한 공격성 파라미터 동적 제어 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102471228B1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020075246A (ko) 2001-03-21 2002-10-04 가부시키가이샤 엔.티.티.도코모 실시간 패킷 전송 상태와 전송로 혼잡 상태를 이용하는통신 품질 제어 구조
WO2004098134A1 (ja) * 2002-09-13 2004-11-11 Matsushita Electric Industrial Co., Ltd. リアルタイム通信の適応制御方法
KR20080079410A (ko) * 2007-02-27 2008-09-01 한국정보통신대학교 산학협력단 지속적인 혼잡감지를 이용한 tcp 혼잡제어방법
KR20150125739A (ko) * 2013-03-29 2015-11-09 브이아이디 스케일, 인크. 조기 패킷 손실 검출 및 피드백
KR20180004401A (ko) * 2015-03-03 2018-01-11 오팡가 네트웍스, 인크. 데이터 흐름을 페이스 조정하기 위한 시스템 및 방법
KR20180013597A (ko) * 2016-07-29 2018-02-07 공주대학교 산학협력단 이종 망에서 다중 경로 전송제어프로토콜(tcp)의 혼잡 윈도우 제어 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020075246A (ko) 2001-03-21 2002-10-04 가부시키가이샤 엔.티.티.도코모 실시간 패킷 전송 상태와 전송로 혼잡 상태를 이용하는통신 품질 제어 구조
KR100457954B1 (ko) * 2001-03-21 2004-11-18 가부시키가이샤 엔.티.티.도코모 실시간 패킷 전송 상태와 전송로 혼잡 상태를 이용하는통신 품질 제어 구조
WO2004098134A1 (ja) * 2002-09-13 2004-11-11 Matsushita Electric Industrial Co., Ltd. リアルタイム通信の適応制御方法
KR20080079410A (ko) * 2007-02-27 2008-09-01 한국정보통신대학교 산학협력단 지속적인 혼잡감지를 이용한 tcp 혼잡제어방법
KR20150125739A (ko) * 2013-03-29 2015-11-09 브이아이디 스케일, 인크. 조기 패킷 손실 검출 및 피드백
KR20180004401A (ko) * 2015-03-03 2018-01-11 오팡가 네트웍스, 인크. 데이터 흐름을 페이스 조정하기 위한 시스템 및 방법
KR20180013597A (ko) * 2016-07-29 2018-02-07 공주대학교 산학협력단 이종 망에서 다중 경로 전송제어프로토콜(tcp)의 혼잡 윈도우 제어 방법

Similar Documents

Publication Publication Date Title
Kumar et al. Swift: Delay is simple and effective for congestion control in the datacenter
US6560243B1 (en) System and method for receiver based allocation of network bandwidth
JP4407700B2 (ja) 通信端末、通信システム、輻輳制御方法、及び輻輳制御用プログラム
KR20220007698A (ko) 속도 최적화된 정체 관리
KR100773015B1 (ko) 네트워크 장치에서의 흐름 속도 제어 방법, 통신 네트워크에서 데이터 패킷을 처리하는 네트워크 장치 및 컴퓨터 프로그램 저장 매체
De Schepper et al. Pi2: A linearized aqm for both classic and scalable tcp
Li et al. Buffer sizing for 802.11-based networks
US10313244B2 (en) Congestion control within a communication network
US8570864B2 (en) Kernel awareness of physical environment
CN106027407B (zh) 网络中拥塞窗口的调整方法、网络拥塞控制方法及交换机
EP4044525B1 (en) Data transmission method and apparatus
US20090147676A1 (en) Communication system, communication terminal, relay node, communication method used therein, and program thereof
US11588736B2 (en) Communication apparatus, communication method, and program
KR102471228B1 (ko) 네트워크의 패킷 흐름에 대한 공격성 파라미터 동적 제어 방법 및 장치
Lu et al. FAMD: A Flow-Aware Marking and Delay-based TCP algorithm for datacenter networks
Shewmaker et al. TCP inigo: ambidextrous congestion control
JP2014112779A (ja) データ送信制御装置、データ送信制御方法、および、コンピュータ・プログラム
US9882751B2 (en) Communication system, communication controller, communication control method, and medium
WO2019124290A1 (ja) 送信データ量制御装置、方法および記録媒体
JP4915415B2 (ja) 通信端末、通信システム、輻輳制御方法、及び輻輳制御用プログラム
Kühlewind TCP SIAD: Congestion control supporting high speed and low latency
Jain et al. Towards experimental evaluation of explicit congestion control
Das et al. A Dynamic Algorithm for Optimization of Network Traffic through Smart Network Switch Data Flow Management
KR100765316B1 (ko) 네트워크 시스템에서 cpu 사용률 제어장치 및 방법
EP3516858B1 (en) Allocation of physical communication resources

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant