KR101952985B1 - 분리된 아키텍처 네트워크에서의 네트워크-와이드 플로우 모니터링 - Google Patents

분리된 아키텍처 네트워크에서의 네트워크-와이드 플로우 모니터링 Download PDF

Info

Publication number
KR101952985B1
KR101952985B1 KR1020147009475A KR20147009475A KR101952985B1 KR 101952985 B1 KR101952985 B1 KR 101952985B1 KR 1020147009475 A KR1020147009475 A KR 1020147009475A KR 20147009475 A KR20147009475 A KR 20147009475A KR 101952985 B1 KR101952985 B1 KR 101952985B1
Authority
KR
South Korea
Prior art keywords
flows
switches
switch
network
flow
Prior art date
Application number
KR1020147009475A
Other languages
English (en)
Other versions
KR20140068177A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=46982655&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR101952985(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘) filed Critical 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘)
Publication of KR20140068177A publication Critical patent/KR20140068177A/ko
Application granted granted Critical
Publication of KR101952985B1 publication Critical patent/KR101952985B1/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/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • 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/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV

Landscapes

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

Abstract

네트워크-와이드 플로우 모니터링을 최적화하기 위해 분리된 아키텍처 네트워크 내의 스위치들의 세트에 플로우 모니터링 작업들이 할당된다. 이 할당은 모니터링되는 플로우의 수를 최대화하고 플로우 모니터링의 오버헤드를 감소시킨다. 컨트롤러가 네트워크 내의 각각의 경로에 대한 추정 트래픽 양을 수신한다. 컨트롤러는, 스위치들 전부와 경로들 전부에 대해, 스위치들에 의해 샘플링되는 플로우의 수를 최대화하는 샘플링 비율들을 계산한다. 네트워크 내의 경로들 중 하나의 경로를 가로지르는 새로운 플로우를 설정하라는 요청에 응답하여, 컨트롤러는 경로들 중 하나의 경로에 위치해 있는 스위치들 중 하나의 스위치에 새로운 플로우를 할당하는데, 이 할당은 할당받는 스위치와 경로들 중 하나의 경로에 대한 샘플링 비율, 대역폭 제약 및 메모리 제약에 기초한다.

Description

분리된 아키텍처 네트워크에서의 네트워크-와이드 플로우 모니터링{NETWORK-WIDE FLOW MONITORING IN SPLIT ARCHITECTURE NETWORKS}
본 발명의 실시예들은 분리된 아키텍처 네트워크(split architecture networks) 분야에 관한 것으로; 더 구체적으로는, 분리된 아키텍처 네트워크에서의 플로우 모니터링에 관한 것이다.
네트워크 서비스 제공자들은 네트워크 관리 애플리케이션들의 실행을 가이드하기 위해 플로우-레벨 측정치들을 일상적으로 수집할 필요가 있다. 이 플로우 정보는 고객 회계 및 트래픽 엔지니어링에 이용될 수 있고, 이는 주로 총 트래픽 양 통계에 의존한다. 네트워크 관리의 복잡성이 증가함에 따라, 다수의 중요한 네트워크 관리, 예를 들어 이상 탐지, 원치 않는 네트워크 트래픽의 식별, 및 법의학적 분석 등을 위해 플로우 모니터링이 점점 더 많이 요구되고 있다. 이러한 분석은 가능한 한 많은 별개의 플로우들을 식별하고 분석할 필요가 있다. 이러한 증가된 복잡성의 한 가지 결과는 미세한 플로우 측정에 대한 요구의 증가이다. 그러나, 네트워크 사업자들은 보통 모니터링 기반 구조가 수행해야 하는 상세한 측정 작업들에 대한 사전 지식을 가지고 있지 않다. 이의 일례는 보안 애플리케이션이다. 예를 들어, 트래픽 엔지니어링 목적으로 "레이더 아래에" 있는 특정 네트워크 프리픽스가 조기 이상 탐지에 중요한 역할을 할 수 있다.
종래의 플로우 모니터링 해결책들은 많은 이러한 네트워크 관리 애플리케이션들에 부적당하다. 미세하면서도 정확한 플로우 모니터링 기법을 개발하는 것은 도전적인 과제이다. 계산 및 저장 리소스 제약으로 인해, 종래의 라우터들은 이들을 통과하는 모든 패킷들 또는 플로우들을 기록하지 못한다. 따라서, 라우터들의 CPU와 메모리 리소스들이 허용하는 만큼의 패킷들을 선택적으로 기록하도록 제안된 다양한 샘플링 기법들이 있어 왔다. 예를 들어, 현재 많은 라우터 판매 회사들이 NetFlow에 의해 제공되는 샘플링 메커니즘과 같은 균일한 패킷 샘플링을 구현하고 있다(Cisco Systems NetFlow Services Export Version 9. RFC 3954 참조). NetFlow 샘플링에서는, 각각의 라우터가 소정 샘플링 확률(통상 0.001과 0.01 사이)로 패킷을 독립적으로 선택하고 이 선택된 패킷들을 플로우 레코드들로 한데 모은다. 이 접근법은 기술적으로 실현 가능할 정도로 간단하다. 이는 라우터에 작은 오버헤드만을 도입한다. 그러나, 이 접근법은 플로우-레벨 측정 결과들을 이용하는 다른 애플리케이션들의 전반적인 품질을 저하시키기도 한다.
그러므로, 기존 샘플링 기법들은 새로운 네트워크 관리 애플리케이션들의 증가하는 요구에 충분하지 않다. 한 가지 해결책은 라우터 계산 및 저장 능력을 계속해서 증가시키는 것이다. 극단적으로, 링크 상의 모든 패킷을 캡처하는 수동 모니터링 장비는 매우 정확한 측정을 허용한다. 그러나, 이러한 접근법은 설치 및 유지를 위한 높은 단가를 감안할 때, 대규모 네트워크에 대해서는 스케일링이 매우 좋지 못하다.
분리된 아키텍처 네트워크에서 컨트롤러로서의 기능을 하는 방법, 시스템 및 네트워크 요소가 기술된다. 본 발명의 실시예들에 따르면, 네트워크-와이드 플로우 모니터링을 최적화하기 위해 네트워크 내의 스위치들의 세트에 플로우 모니터링 작업들이 할당된다. 이 할당은 모니터링되는 플로우의 수를 최대화하고 플로우 모니터링의 오버헤드를 감소시킨다. 스위치들 각각은 컨트롤러에 의해 지시받은 대로 플로우들을 샘플링하는데, 여기서 스위치들 각각은 플로우들의 서브세트를 모니터링하고 그 플로우들의 서브세트의 측정들을 기록함으로써 플로우들을 샘플링한다. 플로우들 각각은 (시발점(Origin), 목적지(Destination))("OD") 쌍들의 세트 중 한 쌍에 의해 정의된 경로를 통해 네트워크를 가로지르는데, 여기서 시발점은 스위치들 중 플로우가 네트워크에 들어가는 진입(ingress) 스위치이고, 목적지는 스위치들 중 플로우가 네트워크에서 나가는 출구(egress) 스위치이다.
일 실시예에서, 방법은 컨트롤러가, OD 쌍들 각각에 의해 정의된 경로들 각각에 대한 추정 트래픽 양을 포함하는 입력을 수신하는 단계, 상기 스위치들 전부와 상기 경로들 전부에 대해, 상기 스위치들에 의해 샘플링되는 플로우의 수를 최대화하는 샘플링 비율(sampling fraction)들을 계산하는 단계를 포함한다. 주어진 스위치와 주어진 경로에 대한 상기 샘플링 비율은 상기 주어진 스위치와 상기 주어진 경로를 통과하고 상기 주어진 스위치에 의해 샘플링되는 플로우의 수를 상기 주어진 경로를 통과하는 플로우의 총수로 나눈 값으로 정의되고, 상기 계산하는 단계는 상기 추정 트래픽 양에 기초하고 상기 스위치들의 대역폭 제약 및 메모리 제약을 조건으로 하며, 이 방법은 네트워크 내의 상기 경로들 중 하나의 경로를 가로지르는 새로운 플로우를 설정하라는 요청을 수신하는 단계; 및 상기 경로들 중 상기 하나의 경로에 위치해 있는 상기 스위치들 중 하나의 스위치에 상기 새로운 플로우를 할당하는 단계 - 이 할당은 할당받는 스위치와 상기 경로들 중 상기 하나의 경로에 대한 샘플링 비율, 상기 대역폭 제약 및 상기 메모리 제약에 기초함 - 를 포함한다.
일 실시예에서, 시스템은 플로우들의 전송 및 샘플링을 지시하는 컨트롤러; 및 네트워크를 통해 상기 컨트롤러에 연결된 스위치들의 세트를 포함한다. 상기 컨트롤러는 상기 OD 쌍들 각각에 의해 정의된 상기 경로들 각각에 대한 추정 트래픽 양을 저장하는 메모리; 상기 메모리에 연결된 프로세서를 포함하고, 상기 프로세서는 상기 스위치들 전부와 상기 경로들 전부에 대해, 상기 스위치들 전부에 의해 샘플링되는 플로우의 수를 최대화하는 샘플링 비율들을 계산하도록 구성되어 있다. 주어진 스위치와 주어진 경로에 대한 샘플링 비율은 상기 주어진 경로를 통과하고 상기 주어진 스위치에 의해 샘플링되는 플로우의 수를 상기 주어진 경로를 통과하는 플로우의 총수로 나눈 값으로 정의되고, 상기 계산은 상기 추정 트래픽 양에 기초하고 상기 스위치들의 대역폭 제약 및 메모리 제약을 조건으로 한다. 상기 컨트롤러는 또한 상기 네트워크 내의 상기 경로들 중 하나의 경로를 가로지르는 새로운 플로우를 설정하라는 요청을 수신하는 네트워크 인터페이스를 포함하는데, 여기서 상기 요청은 상기 프로세서로 하여금 상기 경로들 중 상기 하나의 경로에 위치해 있는 상기 스위치들 중 하나의 스위치에 상기 새로운 플로우를 할당하게 한다 - 이 할당은 할당받는 스위치와 상기 경로들 중 상기 하나의 경로에 대한 샘플링 비율, 상기 대역폭 제약 및 상기 메모리 제약에 기초함 -.
일 실시예에서, 컨트롤러로서의 기능을 하는 네트워크 요소는 상기 OD 쌍들 각각에 의해 정의된 상기 경로들 각각에 대한 추정 트래픽 양을 저장하는 메모리; 상기 메모리에 연결된 프로세서를 포함하고, 상기 프로세서는 상기 스위치들 전부와 상기 경로들 전부에 대해, 상기 스위치들에 의해 샘플링되는 플로우의 수를 최대화하는 샘플링 비율들을 계산하도록 구성되어 있다. 주어진 스위치와 주어진 경로에 대한 샘플링 비율은 상기 주어진 스위치와 상기 주어진 경로를 통과하고 상기 주어진 스위치에 의해 샘플링되는 플로우의 수를 상기 주어진 경로를 통과하는 플로우의 총수로 나눈 값으로 정의되고, 상기 계산은 상기 추정 트래픽 양에 기초하고 상기 스위치들의 대역폭 제약 및 메모리 제약을 조건으로 한다. 상기 네트워크 요소는 또한 상기 네트워크 내의 상기 경로들 중 하나의 경로를 가로지르는 새로운 플로우를 설정하라는 요청을 수신하는 네트워크 인터페이스를 포함하는데, 여기서 상기 요청은 상기 프로세서로 하여금 상기 경로들 중 상기 하나의 경로에 위치해 있는 상기 스위치들 중 하나의 스위치에 상기 새로운 플로우를 할당하게 한다 - 이 할당은 할당받는 스위치와 상기 경로들 중 상기 하나의 경로에 대한 샘플링 비율, 상기 대역폭 제약 및 상기 메모리 제약에 기초함 -.
본 발명은 같은 참조 번호들이 유사한 요소들을 나타내는 첨부 도면들에 제한이 아니라 예로서 도시되어 있다. 이 개시 내용에서 "한" 또는 "일" 실시예에 대한 상이한 언급들은 반드시 동일한 실시예에 대한 것은 아니며, 그러한 언급들은 적어도 하나를 의미한다는 것에 유의해야 한다. 또한, 한 실시예와 관련하여 특정한 특징, 구조, 또는 특성이 기술되어 있는 경우, 명시적으로 기술되어 있든 아니든 간에 그러한 특징, 구조, 또는 특성을 다른 실시예들과 관련하여 달성하는 것은 숙련된 당업자라면 알고 있는 것이라고 생각된다.
도 1은 플로우 모니터링이 수행되는 분리된 아키텍처 네트워크의 한 실시예를 보여주고 있다.
도 2는 분리된 아키텍처 네트워크 내의 컨트롤러 및 스위치의 한 실시예를 보여주고 있다.
도 3은 네트워크-와이드 플로우 모니터링을 위한 방법의 한 실시예를 보여주는 흐름도이다.
도 4는 컨트롤러와 연관된 스위치들에의 플로우들의 할당을 최적화하기 위한 방법의 한 실시예를 보여주는 흐름도이다.
도 5는 컨트롤러 간 조정(cross-controller coordination)을 위한 방법의 한 실시예를 보여주는 흐름도이다.
다음의 설명에서는, 다수의 특정 상세들이 기술된다. 그러나, 본 발명의 실시예들은 이러한 특정 상세들 없이 실시될 수 있다고 생각된다. 다른 경우에, 이 설명의 이해를 모호하게 하지 않기 위하여 잘 알려진 회로들, 구조들 및 기법들은 상세히 제시되지 않았다. 그러나, 숙련된 당업자는 본 발명이 그러한 특정 상세들 없이 실시될 수 있다는 것을 알 것이다. 통상의 기술을 가진 당업자들은, 여기에 포함된 설명들을 이용해, 과도한 실험 없이 적절한 기능을 구현할 수 있을 것이다.
도 1은 다수의 컨트롤러들(예를 들어, 컨트롤러들(110 및 120)) 및 다수의 스위치들(예를 들어, 스위치들(130A-C 및 140A-D))을 포함하는 분리된 아키텍처 네트워크(100)의 한 실시예를 보여주고 있다. 각 컨트롤러는 이 컨트롤러에 의해 관리되는 스위치들의 세트에 연결되어 있다; 예를 들어, 컨트롤러(110)는 스위치들(130A-C)에 연결되어 있고, 컨트롤러(120)는 스위치들(140A-D)에 연결되어 있다. 각 컨트롤러는 미리 정해진 구역에서의 데이터 패킷 플로우들을 관리한다; 예를 들어, 컨트롤러(110)는 구역(180)에서의 플로우들을 관리하고, 컨트롤러(120)는 구역(190)에서의 플로우들을 관리한다.
분리된 아키텍처 네트워크(100)의 토폴로지는 예시의 편의를 위해 간소화되어 있다고 생각된다. 분리된 아키텍처 네트워크는 임의 수의 컨트롤러들 및 임의 수의 스위치들을 포함할 수 있다. 각 컨트롤러(110, 120)는 그것이 관리하는(즉, 컨트롤러와 동일 구역(180) 내의) 스위치들의 세트들 사이에 상호 접속 및 라우팅을 정의한다. 각 컨트롤러(110, 120)는 또한 스위치들의 세트로부터 정보를 수집하고 스위치들에 라우팅 명령을 분배하는 것과 같은 네트워크 상태 분배를 처리한다. 각 컨트롤러(110, 120)는 또한 새로운 어드레싱, 라우팅, 및 복잡한 패킷 처리 애플리케이션들을 지원하도록 프로그램되어 있을 수 있다. 즉, 컨트롤러들(110, 120)은 네트워크(100)의 "브레인"이다. 각 스위치(130A-C 및 140A-D)는 올바르게 기능하기 위해 적어도 하나의 컨트롤러에 접속될 필요가 있다.
예를 들어, 스위치(130C)가 패킷을 어디에 송신할지를 모른 채 새로운 플로우를 수신할 경우, 스위치(130C)는 그 패킷을 그의 컨트롤러(110)에 전송한다. 그 패킷을 수신하는 즉시, 컨트롤러(110)는 스위치(130C)에게 새로운 패킷을 어디에 전송할지에 관하여 지시한다. 그 후 그 전송 규칙은 동일 플로우에 속하는 장래의 패킷들을 처리하기 위해 스위치(130C)에 설치된다.
분리된 아키텍처 네트워크(100)와 같은 분리된 아키텍처 네트워크는 컨트롤 플레인이 전송 플레인에서 분리되어 있는 분산 시스템이다. 컨트롤 플레인은 소수의 컨트롤러들(예를 들어, 컨트롤러들(110 및 120))과 같은 네트워크-와이드 컨트롤 플랫폼을 포함한다. 일 실시예에서, 컨트롤러들(110 및 120)은 네트워크(100) 내의 하나 이상의 서버에서 실행되고 스위치들(예를 들어, 스위치들(130A-C 및 140A-D))과 같은 간단한 상호 접속된 전송 요소들의 세트의 전송 행태를 지시한다. 컨트롤 플레인과 전송 플레인의 분리는 컨트롤 플레인과 전송 플레인이 동일 박스 내에 타이트하게 연결되어 있는 전통적인 라우터의 아키텍처와 대비된다. 라우터의 통합 설계는 보통 결과적으로 지나치게 복잡한 컨트롤 플레인과 복잡한 네트워크 관리를 야기한다. 이러한 라우터의 복잡성은 새로운 프로토콜들의 개발과 네트워크 업그레이드에 높은 장벽을 야기한다. 전통적인 네트워크에는, 네트워크의 전모를 유지하는 중앙집중형 엔티티(centralized entity)가 없다.
도 2는 도 1의 분리된 아키텍처 네트워크(100) 내의 컨트롤러(110) 및 스위치(130)의 한 실시예를 보여주고 있다. 분리된 아키텍처 네트워크(100) 내의 다른 컨트롤러들(예를 들어, 컨트롤러(120) 및 스위치들(예를 들어, 스위치들(130A-C 및 140A-D))이 각각 컨트롤러(110) 및 스위치(130)와 동일한 구성요소들을 포함할 수 있다고 생각된다.
일 실시예에서, 스위치(130)는 플로우 테이블(252) 내의 규칙들에 따라 진입 포트로부터 출구 포트로 패킷들을 전송하는 전송 요소로서의 기능을 한다. 일 실시예에서, 스위치(130)는 메모리(250)에 연결된 프로세서(240)와, 네트워크(100) 내의 다른 네트워크 요소들(예를 들어, 컨트롤러들 및 스위치들)과 통신하기 위한 네트워크 인터페이스들의 세트(예를 들어, 260)를 포함한다. 메모리(250)는 측정된 플로우 데이터(251) 및 플로우 테이블(252)을 저장한다. 측정된 플로우 데이터(251)는 스위치(130)에 의해 모니터링되고 샘플링되는 플로우들의 측정을 기록한다. 플로우 테이블(252)은, 컨트롤러(110)의 제어를 받아, 프로세서(240)에 의해, 진입 포트로부터 출구 포트로 패킷들을 전송하기 위한 규칙들을 기록하도록 프로그램될 수 있다. 플로우 테이블(252) 내의 각각의 플로우 엔트리는 패킷들을 주어진 포트로 전송하는 것, 패킷 헤더 내의 특정 비트들을 수정하는 것, 컨트롤러로의 패킷들을 캡슐화하는 것, 또는 단순히 패킷들을 드롭하는 것과 같은 액션들의 세트를 포함하는 규칙이다. 새로운 플로우 내의 첫 번째 패킷에 대해, 스위치(130)는 그 패킷을 컨트롤러(110)에 전송하여 그의 플로우 테이블(252)로의 새로운 플로우 엔트리의 프로그래밍을 트리거할 수 있다. 스위치(130)는 또한 모든 저속-경로 패킷들(예를 들어 인터넷 제어 메시지 프로토콜(Internet Control Message Protocol, ICMP) 패킷들)을 처리를 위해 컨트롤러(110)에 전송할 수 있다.
일 실시예에서, 컨트롤러(110)는 메모리(220)에 연결된 프로세서(210)와, 네트워크(100) 내의 다른 네트워크 요소들(예를 들어, 컨트롤러들 및 스위치들)과 통신하기 위한 네트워크 인터페이스(230)를 포함한다. 메모리(220)는 트래픽 행렬(223), 스위치 정보(224), 라우팅 정보(225) 및 해시 범위 테이블(226)을 저장한다. 트래픽 행렬(223)은 네트워크 내의 각각의 경로들(즉, 아래 설명될 "각각의 OD 쌍 경로")에 대한 추정 트래픽 양을 저장한다. 일 실시예에서, 트래픽 행렬은 엔트리들의 세트를 포함한다. 트래픽 행렬의 각각의 행은 진입 스위치에 대응하고, 각각의 열은 출구 스위치에 대응한다. 트래픽 행렬 내의 각각의 엔트리는 동일한 행 내의 대응하는 진입 스위치와 동일한 열 내의 대응하는 출구 스위치에 의해 정의된 경로를 가로지르는 플로우의 수를 나타내는 숫자(값)를 포함한다. 스위치 정보(224)는 컨트롤러(110)에 의해 관리되는 각각의 스위치들의 메모리, 대역폭, 및 처리 정보(또는 제약들)를 저장한다. 라우팅 정보(225)는 컨트롤러(110)에 의해 관리되는 스위치들 사이의 경로 정보를 저장한다. 예를 들어, 플로우가 네트워크에 들어가고 네트워크에서 나가는 각각의 진입 스위치와 출구 스위치에 대해, 라우팅 정보(225)는 그 진입 스위치와 그 출구 스위치 사이에 경로를 형성하는 다른 스위치들의 목록을 저장한다. 일 실시예에서, 라우팅 정보(225)는 또한 컨트롤러(110)에 의해 관리되는 각각의 스위치들에 대한 할당된 플로우들을 계속 추적하기 위한 정보를 포함한다. 해시 범위 테이블(226)은 컨트롤러 간 조정이 구현되는 실시예에서 이용된다. 해시 범위 테이블(226)은 컨트롤러(110)에 할당된 하나 이상의 해시 범위들을 저장한다. 컨트롤러(110)는 이 해시 범위들을 이용하여 그것이 주어진 플로우를 처리하는 데 대해 책임이 있는지 여부를 결정한다. 컨트롤러 간 조정에 대해서는 도 5를 참조하여 더 상세히 설명될 것이다.
본 발명의 실시예들에 따른 네트워크-와이드 플로우 모니터링 기법의 세부 사항들을 기술하기 전에, 먼저 일부 용어를 설명하는 것이 유용하다.
플로우. 트래픽의 플로우("패킷 플로우" 또는 "데이터 플로우"라고도 함)는 일정 기간 내에 관측되는, 플로우 키(flow key)라고 알려진, 공통 속성을 가진 패킷들의 세트이다. 따라서, 본 명세서에서 용어 "플로우"는 광범위하게 정의될 수 있다 - 예를 들어, 전송 제어 프로토콜(TCP) 접속 상의 데이터 트래픽, 또는 특정 매체 접근 제어(MAC) 주소 또는 인터넷 프로토콜(IP) 주소로부터의 모든 트래픽. 스위치들은 그것들을 통과하는 패킷 플로우들에 대한 요약 통계(summary statistics)를 구성하여 내보낸다. 플로우 키는 보통 패킷 헤더 내의 필드들, 예를 들어 인터넷 프로토콜(IP) 소스 및 목적지 주소들 및 전송 제어 프로토콜(TCP)/사용자 데이터그램 프로토콜(UDP) 포트 번호들 등에 의해 명시된다. 플로우 키가 이러한 필드들의 개개의 값들에 의해 명시되는 플로우들은, 플로우 키가 이러한 양들의 범위에 의해 명시되는 집합 플로우(aggregate flows)와는 대조적으로, 원시 플로우(raw flows)라고 부른다. 패킷들의 세트가 플로우에 포함될 것인지의 여부는 컨트롤러가 패킷들을 플로우들에 할당하기 위해 이용하는 알고리즘에 좌우된다.
플로우 레코드. 플로우 레코드는 다음과 같이 생성될 수 있다. 패킷이 스위치에 도착할 때, 스위치는 플로우가 활성인지 여부; 즉, 패킷의 플로우 키에 대하여 통계가 현재 수집되고 있는지 여부를 결정한다. 그렇지 않다면, 스위치는 플로우 키에 대한 새로운 통계 세트를 인스턴스화한다. 통계는 플로우 키와 매칭하는 각각의 패킷에 대해 업데이트되는 바이트들 및 패킷들에 대한 카운터들을 포함한다. 스위치가 플로우가 종료되었다고 결정하면, 플로우의 통계는 플로우 레코드로서 내보내지고 연관된 메모리는 새로운 플로우들에 의한 사용을 위해 해제된다. 스위치는 다음의 기준들 중 하나가 충족되면 플로우를 종료시킬 수 있다: (i) 비활성 플로우 또는 패킷 간 타임아웃; 즉, 플로우에 대해 관측된 마지막 패킷 이후의 시간이 어떤 임계치를 초과한 경우; (ii) 프로토콜 레벨 정보, 예를 들어 TCP 접속을 종료시키는 TCP FIN 패킷; (iii) 메모리 관리; 즉, 새로운 플로우들을 위해 메모리를 해제시키는 종료; (iv) 활성 플로우 타임아웃; 즉, 데이터 진부함(data staleness)을 방지하기 위해, 플로우의 첫 번째 패킷의 도착 이후 소정의 경과 시간 후에 플로우들이 종료된다.
패킷 샘플링 및 플로우 샘플링. 일반적으로, 두 가지 유형의 샘플링 방법이 있다. 패킷 샘플링의 경우, 패킷들의 서브세트가 샘플링되고 샘플링된 패킷들의 통계가 수집되고 측정된다. 플로우 샘플링의 경우, 플로우들의 서브세트가 샘플링되고 샘플링된 플로우들의 통계가 수집되고 측정된다. 플로우 샘플링은 플로우들을 원래대로 보존하는데, 이는 샘플링이 (플로우들 내의 개별 패킷들 대신에) 플로우들에 대해 수행되기 때문이다. 실제로는, 플로우 통계를 수집하려는 어떠한 시도라도 개별 패킷들을 플로우들로 분류하는 것을 수반한다. 모든 패킷들의 메타데이터는 플로우 샘플링이 발생하기 전에 플로우들로 편성되어야 한다. 따라서, 플로우 샘플링은 일반적으로 패킷 샘플링보다 더 많은 CPU 부하와 더 많은 메모리를 수반한다.
이상적으로, 네트워크 사업자들은 네트워크 전체에 대한 가시성을 제공하는 정확한 모니터링 기반 구조를 필요로 한다. 그러나, 네트워크들에서의 많은 트래픽 양과 컨트롤러들/스위치들에 대한 부담은 측정 기반 구조에서의 리소스들의 소비를 조절할 필요를 야기하였다. 종래의 패킷 샘플링의 사용을 야기하는 몇 가지 제약이 있는데, 레코드 버퍼의 크기, 보고 대역폭, CPU 속도, 및 레코드 검색 시간이 그러한 것들이다.
그러나, 패킷 샘플링은 대형 플로우들로 편중되는 본질적인 문제가 있다. 따라서, 패킷 샘플링은 보통 좋지 못한 플로우 커버리지를 야기한다. 그 결과, 패킷 샘플링은 이상 탐지와 같은 많은 부류의 보안 애플리케이션들의 필요 조건들을 만족시키지 못한다. 게다가, 이러한 편중은 상이한 스위치들에 의해 수집된 여분의(redundant) 플로우 보고를 증가시킨다.
종래의 플로우 샘플링 역시 그의 문제점들이 있다. 단일 패킷이 라우터들에 걸쳐 여러 번 샘플링되는 확률이 무시해도 될 정도라고 가정하는 것이 합리적이지만, 이러한 가정은 플로우-레벨 모니터링의 상황에서는 타당하지 않다. 플로우 크기들이 두터운 꼬리를 가진 분포(heavy-tailed distributions)를 따르므로 2개의 스위치가 동일 플로우를 샘플링하는 확률은 높다. 그러므로, 네트워크-와이드 관점에서, 상이한 스위치들에서 중복된 플로우 레코드들을 갖는 것은 네트워크 리소스의 낭비이다.
샘플링 레이트의 선택. 보고 대역폭 및 부하와 같은 리소스들에서의 오버헤드와 플로우 커버리지 사이에 본질적인 트레이드오프가 있다. 커버리지와 오버헤드 사이의 트레이드오프를 감안할 때, 네트워크 사업자들은 어느 스위치로 샘플링을 가능하게 할지 및 어떤 샘플링 레이트로 샘플링할지의 결정에 직면한다. 다음과 같은 2개의 옵션이 있을 수 있다:
ㆍ 잠재적인 네트워크 영향을 최소화하기 위해 모든 스위치들에서 그러나 매우 낮은 샘플링 레이트를 이용하여 플로우 모니터링을 가능하게 하는 것, 또는
ㆍ 샘플링 레이트가 측정 작업과 목표 정확도에 따라 설정되는 선택된 스위치들의 세트에서 플로우 모니터링을 가능하게 하는 것.
현재, 제1 옵션은 대부분의 인터넷 서비스 제공자(IPS)들이 따르는 것인데, 그 이유는 제2 옵션에 대해서는 자동화된 방법이 존재하지 않기 때문이다. 그러나, 제1 옵션의 효과는 샘플링 방법의 영향에 크게 의존한다. 낮은 샘플링 레이트를 감안할 때, 측정은 보통 덜 정확하다. 제1 옵션은 간단한 통계만을 제공할 수 있고 보다 높은 정확도를 요구하는 애플리케이션들에 대해서는 그렇지 못하다.
본 발명의 실시예들은 플로우 샘플링을 이용하는데 그 이유는 플로우 샘플링이 플로우 커버리지와 대형 플로우들로의 편중의 방지 측면에서 다른 해결책들보다 일반적으로 더 낫기 때문이다. 플로우 샘플링은 멀웨어, 분산 서비스 거부(distributed denial of service, DDoS) 공격, 및 기타 악성 공격의 탐지와 같은 인기 있는 보안 애플리케이션들의 세트를 지원한다. 더욱이, 플로우 샘플링은 트래픽 양 추정의 정확도를 보존한다. 따라서, 샘플링 결과들은 트래픽 엔지니어링 애플리케이션들에 더 적합할 수 있다. 또한, 본 명세서에 기술된 플로우 샘플링 기법은 애플리케이션들에 걸친 일반성과 플로우 커버리지 사이의 트레이드오프를 고려하여, 스위치 리소스 제약들 내에서 효율적으로 작동한다.
본 발명의 실시예들은 컨트롤 플레인과 전송 플레인이 분리되어 있는 분리된 아키텍처 네트워크에서 새로운 네트워크-와이드 플로우 모니터링 접근법을 제공한다. 분리된 아키텍처 네트워크의 일례는 도 1의 분리된 아키텍처 네트워크(100)이다. 중앙집중형 컨트롤러를 가진 분리된 아키텍처 네트워크에서는, 모니터링 정확도와 비용 사이에 더 나은 트레이드오프를 달성하기 위한 새로운 네트워크-와이드 플로우 샘플링 방법론을 설계하는 독특한 기회가 있다. 본 발명의 실시예들은 분리된 아키텍처로 전개되는 차세대 네트워크들에서의 일반적 트래픽 모니터링에 유용하다. 그것은 또한 GMPLS(Generalized Multi-Protocol Label Switching) 네트워크들과 같은 라우팅을 위한 중앙집중형 컨트롤러를 가진 어떠한 네트워크에도 적용될 수 있다.
중앙집중형 컨트롤러를 가진 분리된 아키텍처 네트워크는 지능적인 플로우 모니터링을 수행할 수 있다. 중앙집중형 컨트롤러는 어떤 스위치가 어떤 샘플링 레이트로 어떤 유형의 플로우를 모니터링해야 하는지를 결정한다. 중앙집중형 컨트롤러의 사용은, 플로우 측정들을 서로 완전히 독립적으로 기록하고, 그에 따라, 여분의 플로우 측정들 및 비효율적인 라우터 리소스들의 이용에 대한 근본적인 원인이 되는, 종래의 라우터들에 의해 수행되는 독립적인 결정 프로세스를 방지한다.
본 발명의 실시예들에 따르면, 중앙집중형 컨트롤러는 모니터링 책임들을 상이한 스위치들에 걸쳐 조정하는 애플리케이션을 실행할 수 있다. 이 조정은 네트워크-와이드 플로우 모니터링 능력들의 커버리지와 정확도를 상당히 증가시킬 수 있다. 본 명세서에 기술된 플로우 모니터링 기법은 기업 네트워크, 자율적 시스템(Autonomous System, AS), 또는 모바일 백홀 및 모바일 코어 전송 네트워크에서 작동할 수 있다. 이 네트워크는 하나 이상의 컨트롤러와 하나 이상의 스위치 세트를 포함한다. 각각의 스위치는 기본적 샘플링 메커니즘을 가지고 있다. 샘플링된 데이터(수집된/측정된 통계임)는 네트워크 내의 플로우 수집 서버에 보내질 수 있다.
본 명세서에 기술된 네트워크-와이드 플로우 모니터링 기법은 다음과 같은 특징들을 가지고 있다:
ㆍ 대형 플로우들과 소형 플로우들 양쪽 모두를 포함하여, 높은 플로우 커버리즈를 제공한다.
ㆍ 모든 샘플링 엔티티들로부터의 전체 측정에서 여분의 보고들을 최소화한다.
ㆍ 사업자가 다른 것들보다 더 정확하게 모니터링되어야 하는 임의의 트래픽 서브세트를 유연하게 지정하게 해주는, 네트워크-와이드 플로우 모니터링 목적들을 만족시킨다. 사업자는 또한 상이한 트래픽 서브세트들에 걸쳐 공정성을 보장하는 것과 같은 다른 목적들에 기초한 기준들을 지정할 수도 있다.
ㆍ 샘플링이 스위치에 과부하가 걸리게 하지 않도록, 즉 스위치 리소스 제약 내에 있도록, 스위치에 대한 오버헤드를 고려한다.
하기에서는, 플로우 모니터링 기법의 세부 사항들이 기술된다. 첫째로, 고안된 네트워크-와이드 최적화들의 문제와 선형 최적화를 이용한 해결책이 기술된다. 둘째로, 다수의 분리된 아키텍처 도메인들에 걸쳐 샘플링 작업들을 분리하는 것이 기술된다. 그 목적을 위해서, 상이한 도메인들 내의 샘플들 간에 중복 없음을 보장하는 해시 기반 알고리즘이 도입된다. 최적화는 오프라인으로 사전 계산될 수 있고 그 출력은 컨트롤러가 실시간으로 샘플링 작업들을 스위치들에 할당하는 데 이용될 수 있다. 대안으로, 최적화 알고리즘 및 해시 기반 알고리즘은 양쪽 모두 컨트롤러에서 실시간으로 실행될 수 있다.
도 3은 분리된 아키텍처 네트워크에서의 플로우 모니터링을 위한 방법(300)의 실시예를 보여주고 있다. 일 실시예에서, 방법(300)은 도 1의 분리된 아키텍처 네트워크(100)와 같은 분리된 아키텍처 네트워크에서의 컨트롤러들 및 스위치들에 의해 수행된다. 방법(300)은 4개의 단계에 관하여 컨트롤러들 및 스위치들의 동작들의 개요를 제공한다. 이 동작들의 추가 세부 사항들이 도 4 및 도 5에 관련하여 아래에 기술될 것이다.
일 실시예에서, 제1 단계에서는, 컨트롤러가 샘플링 비율들을 계산한다(블록 310). 아래에 수학적으로 정의되는 바와 같이, 주어진 스위치와 주어진 경로에 대한 샘플링 비율은 주어진 스위치와 주어진 경로를 통과하고 주어진 스위치에 의해 샘플링되는 플로우의 수를 주어진 스위치와 주어진 경로를 통과하는 플로우의 총수로 나눈 값으로 정의된다. 샘플링 비율들이 계산된 후, 제2 단계에서는, 컨트롤러가 컨트롤러 간 조정을 수행한다(블록 320). 컨트롤러 간 조정의 결과는 컨트롤러가 플로우를 관리하는 데 대해 책임이 있는지 여부를 나타낸다. 컨트롤러가 플로우를 관리하는 데 대해 책임이 있다면, 제3 단계에서는, 컨트롤러가 그의 스위치들 중 어느 스위치에 플로우 모니터링의 작업이 할당되어야 하는지를 결정한다(블록 330). 제4 단계에서는, 할당받은 스위치가 플로우를 측정 및 기록하고, 기록된 플로우 데이터를 중앙집중형 서버에 보낸다(블록 340).
네트워크-와이드 최적화. 어느 스위치에 플로우 모니터링 작업이 할당되어야 하는지를 결정하기 위해, 스위치들의 리소스 제약 하에서 네트워크-와이드 모니터링 목적들을 지정하고 만족시키기 위해 최적화 프레임워크가 이용된다. 이 최적화의 출력은 컨트롤러에 샘플링 템플릿으로서 저장된다. 새로운 플로우가 스위치에 도달할 때, 스위치는 이 새로운 플로우에 대해 컨트롤러에 알린다. 컨트롤러는 스위치에게 플로우를 어디로 전송할지 그리고 스위치가 이 플로우를 샘플링해야 하는지를 지시하는 플로우 엔트리를 스위치에 보낸다. 이 플로우 엔트리는 동일한 플로우의 착신되는 패킷들에 관하여 스위치를 가이드하기 위해 미리 정해진 기간 동안 스위치에 저장된다.
일 실시예에서, 할당은 최적화 문제로서 모델링될 수 있다. 최적화 문제에 대한 제1 입력은 추정 트래픽 행렬이다. 네트워크 사업자들은 보통 진입 스위치와 출구 스위치의 임의의 쌍 사이의 트래픽 양을 기록하는 추정 트래픽 행렬을 유지한다. 트래픽 행렬의 행들은 진입 스위치들에 대응하고 열들은 출구 스위치들에 대응한다. 진입/출구 조합의 각 쌍은 시발점-목적지(OD) 쌍으로 알려져 있다. 트래픽 행렬 내의 각 엔트리는 대응하는 OD 쌍 사이의 추정 트래픽 양이다. 일 실시예에서, 추정 트래픽 양은 플로우의 수에 의해 표현된다. 일부 실시예들에서, 엔트리들은 컨트롤러에 의해 동적으로 조절될 수 있다.
최적화 문제에 대한 또 다른 입력은 라우팅 정보이다. 일 실시예에서, 컨트롤러는 임의의 OD 쌍들 사이의 스위치 레벨 경로들을 저장한다. 이 정보는 컨트롤러에서 플로우 엔트리들을 각 스위치에 제공하는 데 이용 가능하다. 임의의 주어진 OD 쌍 사이에는 단 하나의 스위치 레벨 경로만 있다고 가정한다. 게다가, 컨트롤러는 또한 컨트롤러와 연관된 각각의 스위치들의 리소스 제약을 저장하거나 수신한다.
하기에서, Pi는 OD-쌍 ODi 사이의 경로("OD 경로"라고도 함)로 정의되고(i ∈ [1,N]), Ti는 Pi 상의 플로우의 수이다. N은 OD 쌍의 총수이다. 각 경로는 스위치들 Sj의 세트로 이루어진다(j ∈ [1,K]). 각 스위치는 최대 리소스 한계를 갖는다. 리소스 한계는 메모리(예를 들어, 스태틱 랜덤 액세스 메모리(SRAM)) 내의 플로우당 카운터들의 최대수로서 메모리 제약에 의해 부과될 수 있고/거나, 리소스 한계는 저장을 위해 중앙집중형 서버에 플로우 레코드들을 보고하기 위한 대역폭으로서 대역폭 제약에 의해 부과될 수 있다. 추가로 또는 대안으로, 리소스 한계는 착신되는 패킷들을 처리하기 위한 스위치의 처리 제약에 의해 부과될 수 있다. 본 명세서에 기술된 알고리즘은, 스위치 Si에 저장될 수 있는 최대 플로우 엔트리들 및 측정 간격마다 보고될 수 있는 플로우의 수에 각각 대응하는, 메모리 제약 Mj 및 대역폭 제약 Bj 양쪽 모두를 고려한다. Mj 및 Bj 이외의 제약도 고려될 수 있다고 생각된다.
하기에서,
Figure 112014034085380-pct00001
는 스위치 Sj에 의해 기록되는(즉, 샘플링되거나, 수집되거나, 측정되는) Pi 상의 플로우들의 샘플링 비율로 정의된다.
Figure 112014034085380-pct00002
이면, 스위치 Sj는 Pi를 가로지르는 플로우의 적어도 일부 비율을 기록한다. 그러므로,
Figure 112014034085380-pct00003
는 모니터링되는 Pi 상의 플로우들의 총 비율이고, 플로우 모니터링 전략의 커버리지를 나타낸다.
일 실시예에서, 모니터링 작업들의 할당은 최적화 문제로서 모델링될 수 있다. 최적화의 목적은 모든 스위치들에 걸쳐 모니터링되는(즉, 샘플링되는) 플로우의 총수를 최대화하는 것으로, 즉, Ti는 알려져 있다고 가정하여
Figure 112014034085380-pct00004
를 최대화하는 것이다. 최적화는 각 스위치에 대한 용량 제약을 조건으로 한다. 형식적으로, 최적화 문제는 다음과 같이 정의된다:
목적: 다음 식들을 조건으로,
Figure 112014034085380-pct00005
를 최대화
1)
Figure 112014034085380-pct00006
(식 1)
2)
Figure 112014034085380-pct00007
(식 2)
3)
Figure 112014034085380-pct00008
(식 3)
4)
Figure 112014034085380-pct00009
(식 4)
5)
Figure 112014034085380-pct00010
(식 5)
위에 나타낸 바와 같이, 최적화는 5개의 제약을 조건으로 한다. 제1 제약은 고정 간격으로 스위치 Sj에 의해 생성된 플로우 레코드의 양이 중앙집중형 서버에 데이터를 보내기 위해 할당되는 대역폭 Bj의 양을 초과하지 않는 것을 보장한다. 상수 c는 고정 간격에서 각 플로우에 대한 레코드의 크기이다. 유사하게, 제2 제약은 각 스위치에서의 저장이 최대 메모리 용량을 초과하지 않는 것을 나타낸다. 제3 제약은, ODi 경로를 따른 각 스위치의 합계이어야 하는, 커버되는 플로우들의 총 비율의 정의이다.
Figure 112014034085380-pct00011
는 비율이므로, 그것은 0과 1 사이의 값이어야 한다. 동일한 제약이 fi에 적용된다.
일 실시예에서, 최적화 문제를 풀어 모든 i 및 j에 대해 샘플링 비율들(
Figure 112014034085380-pct00012
)을 구하기 위해 선형 프로그래밍(LP) 기법들이 이용될 수 있다. 선형 프로그래밍은 수학적 프로그래밍의 분야에서 흔히 공지되어 있으므로, 여기에서 설명하지 않는다.
다음 단계에서, 컨트롤러는 표 1의 알고리즘을 이용하여 어느 스위치가 어느 플로우를 모니터링해야 하는지를 지시한다. 이 알고리즘은 스위치들 사이에 부하의 균형을 맞추는 것을 목표로 한다. 그것은 또한 상이한 스위치들에 할당된 플로우 세트들이 겹치지 않는 것을 보장한다. 다시 말해서, 각 플로우는 OD 경로를 따라 하나의 스위치에 의해 모니터링될 것이다.
Figure 112014034085380-pct00013
표 1: 샘플링 작업 할당 알고리즘
도 4는 컨트롤러와 연관된 스위치들에의 플로우들의 할당을 최적화하기 위한 방법(400)의 한 실시예를 보여주고 있다. 일 실시예에서, 방법(400)은 도 1의 컨트롤러(110 또는 120)와 같은 컨트롤러에 의해 수행된다. 방법(400)의 동작들은 도 3에 도시된 방법(300)의 단계 1 및 단계 3에 대응한다. 방법(300)의 단계 2는 컨트롤러 간 조정이 구현되는 실시예에서도 수행될 수 있다.
일 실시예에서, 컨트롤러가 각각의 OD 쌍들에 의해 정의된 각각의 경로들에 대한 추정 트래픽 양을 포함하는 입력을 수신한다(블록 410). 컨트롤러는 또한 각각의 그의 연관된(즉, 관리되는) 스위치들에서의 리소스 제약에 액세스할 수 있다. 컨트롤러는 스위치들에 의해 샘플링되는 플로우의 수를 최대화하는 샘플링 비율들을 계산하고, 여기서 주어진 스위치와 주어진 경로에 대한 샘플링 비율은 주어진 스위치와 주어진 경로를 통과하고 주어진 스위치에 의해 샘플링되는 플로우의 수를 주어진 경로를 통과하는 플로우의 총수로 나눈 값으로 정의된다(블록 420). 이 계산은 추정 트래픽 양에 기초하고 스위치들의 대역폭 제약 및 메모리 제약을 조건으로 한다. 일 실시예에서, 블록 420의 계산은 선형 프로그램을 이용하여 수행된다. 샘플링 비율들이 계산된 후, 컨트롤러는 네트워크 내의 경로를 가로지르는 새로운 플로우를 설정하라는 요청을 수신한다(블록 430). 컨트롤러가 (예를 들어, 도 5에 관련하여 기술된 컨트롤러 간 조정에 의해 결정된 바와 같이) 새로운 플로우를 관리하는 데 대해 책임이 있다면, 컨트롤러는 경로들 중 하나의 경로에 위치해 있는 스위치들 중 하나의 스위치에 새로운 플로우를 할당한다 - 이 할당은 할당받는 스위치와 상기 경로들 중 상기 하나의 경로에 대한 샘플링 비율, 상기 대역폭 제약 및 상기 메모리 제약에 기초함 - (블록 440). 일 실시예에서, 스위치 할당은 표 1에 기술된 알고리즘에 기초한다. 즉, 컨트롤러는 OD 경로를 따라 각 스위치를 검사하여 스위치가 그의 샘플링 비율, 대역폭 제약 및 메모리 제약에 도달했는지를 결정한다. 도달하지 않았다면, 컨트롤러는 해당 스위치에 플로우 샘플링 작업을 할당한다. 도달했다면, 플로우 샘플링 작업은 경로 내의 또 다른 스위치(예를 들어, 다음 스위치)에 할당된다.
컨트롤러 간 해시 기반 조정. 일 실시예에서, 상이한 컨트롤러들과 연관된 스위치들에 걸쳐 중복 측정들을 제거하기 위해 해시 기반 선택 알고리즘이 이용된다. 이에 따라 컨트롤러들 사이의 명시적인 통신을 요구하지 않고 상이한 컨트롤러들에 의해 제어되는 스위치들이 분리 플로우 세트들(disjoint sets of flows)을 모니터링할 수 있다. 이 해시 기반 선택 알고리즘은 네트워크에 걸쳐 여분의 측정들을 제거하는 데 도움이 될 수 있다.
예를 들어, ISP가 복수의 네트워크 구역들을 운영할 수 있고 플로우들의 일부 또는 대부분이 복수의 구역들에 걸쳐 가로지를 수 있다. 따라서, 중복된 엔트리들의 모니터링을 방지하기 위해 컨트롤러들 사이에 조정의 필요가 있다. 각각의 컨트롤러가 별개로 작동한다면, 상이한 라우터들로부터 얻어지는 측정들은 중복들을 포함할 가능성이 있다. 표 2는 컨트롤러 간 조정을 위한 알고리즘을 보여준다.
Figure 112014034085380-pct00014
표 2: 컨트롤러 간 조정
일 실시예에서, 각각의 컨트롤러는 해시 키로 인덱싱된 해시 범위들의 표인 샘플링 매니페스트를 갖는다. 해시 범위들 중 하나 이상이 각각의 컨트롤러에 할당된다. 패킷을 수신하는 즉시, 컨트롤러는 패킷의 헤더 필드들로부터 얻어진 해시 키를 이용하여 해시 범위들을 검색한다. 컨트롤러는 헤더 필드들 내의 패킷의 플로우 식별자의 해시를 계산한다. 해시 값이 컨트롤러에 할당된 해시 범위(또는 범위들)에 포함된다면, 패킷(뿐만 아니라 연관된 플로우)은 컨트롤러와 연관된 스위치들에 의해 샘플링되어야 한다.
해시 기반 샘플링은 상이한 컨트롤러들 하의 스위치들 사이에 중복 측정들을 방지하는 간단하고 강력한 조정 전략을 가능하게 한다. 컨트롤러들은 동일한 해시 함수를 이용하도록 구성되어 있지만, 분리(disjoint) 해시 범위들을 할당받고 있어 어떠한 플로우의 해시라도 고작 하나의 컨트롤러의 해시 범위와 매칭할 것이다. 그러므로, 상이한 컨트롤러들과 연관된 상이한 스위치들에 의해 샘플링되는 플로우 세트들은 겹치지 않을 것이다. 겹치지 않는 해시 범위들을 할당함으로써, 명시적인 통신이나 복잡한 분산 프로토콜들 없이 컨트롤러 간 조정이 달성될 수 있다.
도 5는 샘플링 작업들을 복수의 컨트롤러들 사이에 조정하기 위한 방법의 한 실시예를 보여주고 있다. 일 실시예에서, 방법(500)은 도 1의 컨트롤러들(110 및 120)과 같은 분리된 아키텍처 네트워크의 컨트롤러들에 의해 수행된다. 방법(500)의 동작들은 도 3에 도시된 방법(300)의 단계 2 및 단계 3에 대응한다.
일 실시예에서, 컨트롤러가 네트워크 내의 경로를 가로지르는 새로운 플로우를 설정하라는 요청을 수신한다(블록 510). 일 실시예에서, 새로운 플로우를 수신하는 스위치는 그의 컨트롤러에게 보고하고, 해당 컨트롤러는 네트워크 내의 다른 모든 컨트롤러들에게 알린다. 대안의 실시예에서, 새로운 플로우를 수신하는 스위치는 중앙집중형 서버에 보고하고, 해당 중앙집중형 서버는 네트워크 내의 모든 컨트롤러들에게 알린다. 컨트롤러(뿐만 아니라 네트워크 내의 다른 컨트롤러들)는 새로운 플로우의 플로우 식별자를 해싱하여 해시 값을 생성한다(블록 520). 해시 값이 컨트롤러의 해시 범위에 포함된다면, 컨트롤러는 새로운 플로우를 경로들 중 하나의 경로에 위치해 있는 스위치들 중 하나의 스위치에 할당한다(블록 530). 이 스위치 할당은 도 4의 방법(400)에 의해 구현될 수 있고, 이는 할당받는 스위치와 상기 경로들 중 하나의 경로에 대한 상기 계산된 샘플링 비율, 상기 대역폭 제약 및 상기 메모리 제약에 기초한다. 그 후 컨트롤러는 각각의 스위치들에 대한 할당된 플로우들을 계속 추적하기 위해 컨트롤러에 저장된 라우팅 정보를 업데이트한다(블록 540). 컨트롤러는 새로운 플로우를 그의 연관된 스위치들 중 하나의 스위치에 할당한다. 그 후 할당받은 스위치는 방법(300)(도 3)의 블록 340의 동작을 속행할 수 있다.
도 3-5의 흐름도들의 동작들은 도 1 및 도 2의 모범적인 실시예에 관련하여 기술되었다. 그러나, 도 3-5의 흐름도들의 동작들은 도 1 및 도 2에 관련하여 설명된 것들 이외의 본 발명의 실시예들에 의해 수행될 수 있으며, 도 1 및 도 2에 관련하여 설명된 실시예들은 흐름도들에 관련하여 설명된 것들과 다른 동작들을 수행할 수 있다는 것을 이해해야 한다. 도 3-5의 흐름도들은 본 발명의 특정 실시예들에 의해 수행되는 동작들의 특정 순서를 보여주고 있지만, 그러한 순서는 모범적이라는 것을 이해해야 한다(예를 들어, 대안의 실시예들은 그 동작들을 상이한 순서로 수행하고, 특정 동작들을 결합하고, 특정 동작들을 겹치게 하고, 등등을 행할 수 있다).
본 명세서에 기술된 바와 같이, 명령들은 특정 동작들을 수행하도록 구성되거나 미리 정해진 기능을 가진 주문형 반도체(ASIC)들과 같은 하드웨어의 특정 구성들 또는 비일시적 컴퓨터 판독가능 매체에 구현된 메모리에 저장된 소프트웨어 명령들을 지칭할 수 있다. 따라서, 도면들에 도시된 기법들은 하나 이상의 전자 장치(예를 들어, 종단국, 네트워크 요소)에 저장되어 실행되는 코드 및 데이터를 이용하여 구현될 수 있다. 그러한 전자 장치들은 컴퓨터 판독가능 매체, 예를 들어 비일시적 컴퓨터 판독가능 저장 매체(예를 들어, 자기 디스크; 광 디스크; 랜덤 액세스 메모리; 판독 전용 메모리; 플래시 메모리 장치; 상변화 메모리) 및 일시적 컴퓨터 판독가능 통신 매체(예를 들어, 전기, 광, 음향 또는 다른 종류의 전파 신호들 - 예를 들어 반송파, 적외선 신호, 디지털 신호)를 이용하여 코드 및 데이터를 저장하고 통신한다(내부적으로 및/또는 네트워크를 통해 다른 전자 장치들과). 게다가, 그러한 전자 장치들은 보통 하나 이상의 다른 구성요소, 예를 들어 하나 이상의 저장 장치(비일시적 기계 판독가능 저장 매체), 사용자 입력/출력 장치들(예를 들어, 키보드, 터치스크린, 및/또는 디스플레이), 및 네트워크 접속들에 연결된 하나 이상의 프로세서의 세트를 포함한다. 프로세서들의 세트와 다른 구성요소들의 연결은 보통 하나 이상의 버스 및 브리지(버스 컨트롤러라고도 함)를 통해 이루어진다. 따라서, 주어진 전자 장치의 저장 장치는 보통 해당 전자 장치의 하나 이상의 프로세서의 세트에서 실행하기 위한 코드 및/또는 데이터를 저장한다. 물론, 본 발명의 한 실시예의 하나 이상의 부분들은 소프트웨어, 펌웨어, 및/또는 하드웨어의 상이한 조합들을 이용하여 구현될 수 있다.
본 발명은 몇몇 실시예들에 관하여 기술되었지만, 숙련된 당업자들은 본 발명이 기술된 실시예들에 제한되지 않고, 첨부된 청구항들의 진의 및 범위 내에서 수정 및 변경과 함께 실시될 수 있다는 것을 알 것이다. 따라서 이 설명은 제한하는 것이 아니라 예시적인 것으로 간주되어야 한다.

Claims (18)

  1. 분리된 아키텍처 네트워크에서 컨트롤러(110, 120)로서의 기능을 하는 네트워크 요소가, 모니터링되는 플로우의 수를 최대화하고 플로우 모니터링의 오버헤드를 감소시킴으로써 네트워크-와이드(network-wide) 플로우 모니터링을 최적화하기 위해 상기 네트워크 내의 스위치들(130A, 130B, 130C; 140A, 140B, 140C, 140D)의 세트에 플로우 모니터링 작업들을 할당하는 방법으로서, 상기 스위치들 각각은 상기 컨트롤러에 의해 지시받은 대로 플로우들을 샘플링하고, 여기서 상기 스위치들 각각은 상기 플로우들의 서브세트를 모니터링하고 상기 플로우들의 서브세트의 측정들을 기록함으로써 상기 플로우들을 샘플링하고, 상기 플로우들 각각은 (시발점(Origin), 목적지(Destination))("OD") 쌍들의 세트 중 한 쌍에 의해 정의된 경로를 통해 상기 네트워크를 가로지르고, 여기서 상기 시발점은 상기 스위치들 중 상기 플로우가 상기 네트워크에 들어가는 진입(ingress) 스위치이고, 상기 목적지는 상기 스위치들 중 상기 플로우가 상기 네트워크에서 나가는 출구(egress) 스위치이고, 상기 방법은
    상기 컨트롤러가, 상기 OD 쌍들 각각에 의해 정의된 상기 경로들 각각에 대한 추정 트래픽 양을 포함하는 입력을 수신하는 단계(410);
    상기 스위치들 전부와 상기 경로들 전부에 대해, 상기 스위치들에 의해 샘플링되는 상기 플로우의 수를 최대화하는 샘플링 비율(sampling fraction)들을 계산하는 단계(420) - 주어진 스위치와 주어진 경로에 대한 샘플링 비율은 상기 주어진 스위치와 상기 주어진 경로를 통과하고 상기 주어진 스위치에 의해 샘플링되는 플로우의 수를 상기 주어진 경로를 통과하는 플로우의 총수로 나눈 값으로 정의되고, 상기 계산하는 단계는 상기 추정 트래픽 양에 기초하고 상기 스위치들의 대역폭 제약 및 메모리 제약을 받음 -;
    상기 네트워크 내의 상기 경로들 중 하나의 경로를 가로지르는 새로운 플로우를 설정하라는 요청을 수신하는 단계(430); 및
    할당받는 스위치와 상기 경로들 중 상기 하나의 경로에 대한 샘플링 비율, 상기 대역폭 제약 및 상기 메모리 제약에 기초하여, 상기 경로들 중 상기 하나의 경로에 위치해 있는 상기 스위치들 중 하나의 스위치에 모니터링을 위한 상기 새로운 플로우를 할당하는 단계(440)
    를 포함하는 방법.
  2. 제1항에 있어서,
    Figure 112014034085380-pct00015
    는 상기 스위치들 중 하나의 스위치(Sj)(j ∈ [1,K])와 상기 경로들 중 하나의 경로(Pi)(i ∈ [1,N])에 대한 샘플링 비율을 나타내고, 상기 계산하는 단계는
    Figure 112014034085380-pct00016
    를 최대화하는 샘플링 비율들을 계산하는 단계를 더 포함하고, 여기서
    Figure 112014034085380-pct00017
    는 샘플링되는 상기 경로(Pi) 상의 플로우들의 총 비율이고, Ti는 상기 경로(Pi) 상에서 가로지르는 플로우의 수인 방법.
  3. 제2항에 있어서, 상기 계산하는 단계는 상기 대역폭 제약
    Figure 112014034085380-pct00018
    Figure 112014034085380-pct00019
    의 상기 메모리 제약을 받는 상기 샘플링 비율들을 계산하는 단계를 더 포함하고, 여기서 c는 상기 플로우들을 샘플링함으로써 생성되는 플로우 레코드의 크기를 나타내는 상수인 방법.
  4. 제1항에 있어서, 상기 할당하는 단계는
    상기 새로운 플로우가 상기 경로들 중 상기 하나의 경로(Pi) 상의 제1 스위치에, 상기 제1 스위치와 상기 경로(Pi)에 대한 샘플링 비율, 상기 대역폭 제약 및 상기 메모리 제약 내에서, 할당될 수 있는지를 식별하는 단계; 및
    상기 제1 스위치가 상기 새로운 플로우를 수용할 수 없다면, 상기 새로운 플로우를 상기 경로(Pi) 상의 제2 스위치에, 상기 제2 스위치와 상기 경로(Pi)에 대한 샘플링 비율, 상기 대역폭 제약 및 상기 메모리 제약 내에서, 할당하는 단계
    를 더 포함하는 방법.
  5. 제1항에 있어서, 상기 네트워크는 상기 스위치들에게 상기 플로우들을 전송하고 샘플링하라고 지시하는 복수의 컨트롤러를 포함하고, 상기 방법은
    상기 새로운 플로우의 식별자를 해싱하여 해시 값을 생성하는 단계;
    상기 해시 값이 상기 컨트롤러와 연관된 미리 정해진 해시 범위 내에 있다면, 상기 컨트롤러가, 상기 새로운 플로우를 상기 경로들 중 상기 하나의 경로에 위치해 있는 상기 스위치들 중 하나의 스위치에 할당하는 단계; 및
    상기 스위치들 각각에 대한 할당된 플로우들을 계속 추적하기 위해 상기 컨트롤러에 저장된 라우팅 정보를 업데이트하는 단계
    를 더 포함하는 방법.
  6. 제1항에 있어서, 상기 추정 트래픽 양을 수신하는 단계는
    엔트리들의 세트를 포함하는 트래픽 행렬을 수신하는 단계를 더 포함하고, 상기 트래픽 행렬의 행들은 상기 스위치들 중 진입 스위치들에 대응하고, 상기 트래픽 행렬의 열들은 상기 스위치들 중 출구 스위치들에 대응하고, 상기 트래픽 행렬 내의 상기 엔트리들 각각은 동일한 행의 대응하는 진입 스위치와 동일한 열의 대응하는 출구 스위치에 의해 정의된 경로 상에서 가로지르는 플로우의 수를 나타내는 숫자를 포함하는 방법.
  7. 분리된 아키텍처 네트워크를 위한 컨트롤러(110, 120)로서의 기능을 하는 네트워크 요소로서, 상기 네트워크 요소는 모니터링되는 플로우의 수를 최대화하고 플로우 모니터링의 오버헤드를 감소시킴으로써 네트워크-와이드 플로우 모니터링을 최적화하기 위해 상기 네트워크 내의 스위치들(130A, 130B, 130C; 140A, 140B, 140C, 140D)의 세트에 플로우 모니터링 작업들을 할당하고, 상기 스위치들 각각은 상기 네트워크 요소에 의해 지시받은 대로 플로우들을 샘플링하고, 여기서 상기 스위치들 각각은 상기 플로우들의 서브세트를 모니터링하고 상기 플로우들의 서브세트의 측정들을 기록함으로써 상기 플로우들을 샘플링하고, 상기 플로우들 각각은 (시발점(Origin), 목적지(Destination))("OD") 쌍들의 세트 중 한 쌍에 의해 정의된 경로를 통해 상기 네트워크를 가로지르고, 여기서 상기 시발점은 상기 스위치들 중 상기 플로우가 상기 네트워크에 들어가는 진입 스위치이고, 상기 목적지는 상기 스위치들 중 상기 플로우가 상기 네트워크에서 나가는 출구 스위치이고, 상기 네트워크 요소는
    상기 OD 쌍들 각각에 의해 정의된 상기 경로들 각각에 대한 추정 트래픽 양을 저장하도록 구성된 메모리(220);
    상기 메모리에 연결된 프로세서(210) - 상기 프로세서는 상기 스위치들 전부와 상기 경로들 전부에 대해, 상기 스위치들에 의해 샘플링되는 플로우의 수를 최대화하는 샘플링 비율들을 계산하도록 구성되어 있고, 주어진 스위치와 주어진 경로에 대한 샘플링 비율은 상기 주어진 스위치와 상기 주어진 경로를 통과하고 상기 주어진 스위치에 의해 샘플링되는 플로우의 수를 상기 주어진 경로를 통과하는 플로우의 총수로 나눈 값으로 정의되고, 상기 계산은 상기 추정 트래픽 양에 기초하고 상기 스위치들의 대역폭 제약 및 메모리 제약을 받음 -; 및
    상기 네트워크 내의 상기 경로들 중 하나의 경로를 가로지르는 새로운 플로우를 설정하라는 요청을 수신하도록 구성된 네트워크 인터페이스(230) - 상기 요청은 상기 프로세서로 하여금, 할당받는 스위치와 상기 경로들 중 상기 하나의 경로에 대한 샘플링 비율, 상기 대역폭 제약 및 상기 메모리 제약에 기초하여, 상기 경로들 중 상기 하나의 경로에 위치해 있는 상기 스위치들 중 하나의 스위치에 모니터링을 위한 상기 새로운 플로우를 할당하게 함 -
    를 포함하는 네트워크 요소.
  8. 제7항에 있어서,
    Figure 112017065630035-pct00026
    는 상기 스위치들 중 하나의 스위치(Sj)(j ∈ [1,K])와 상기 경로들 중 하나의 경로(Pi)(i ∈ [1,N])에 대한 샘플링 비율을 나타내고, 상기 프로세서는
    Figure 112017065630035-pct00027
    를 최대화하는 샘플링 비율들을 계산하도록 구성되어 있고, 여기서
    Figure 112017065630035-pct00028
    는 샘플링되는 상기 경로(Pi) 상의 플로우들의 총 비율이고, Ti는 상기 경로(Pi) 상에서 가로지르는 플로우의 수인 네트워크 요소.
  9. 제8항에 있어서, 상기 샘플링 비율들(
    Figure 112017065630035-pct00029
    )은 상기 대역폭 제약
    Figure 112017065630035-pct00030
    Figure 112017065630035-pct00031
    의 상기 메모리 제약을 받아 계산되고, 여기서 c는 상기 플로우들을 샘플링함으로써 생성되는 플로우 레코드의 크기를 나타내는 상수인 네트워크 요소.
  10. 제7항에 있어서, 상기 새로운 플로우를 할당할 때, 상기 프로세서는
    상기 새로운 플로우가 상기 경로들 중 상기 하나의 경로(Pi) 상의 제1 스위치에, 상기 제1 스위치와 상기 경로(Pi)에 대한 샘플링 비율, 상기 대역폭 제약 및 상기 메모리 제약 내에서, 할당될 수 있는지를 식별하고;
    상기 제1 스위치가 상기 새로운 플로우를 수용할 수 없다면, 상기 새로운 플로우를 상기 경로(Pi) 상의 제2 스위치에, 상기 제2 스위치와 상기 경로(Pi)에 대한 샘플링 비율, 상기 대역폭 제약 및 상기 메모리 제약 내에서, 할당하도록
    구성되어 있는 네트워크 요소.
  11. 제7항에 있어서, 상기 컨트롤러는 상기 네트워크를 통해 상기 스위치들에게 상기 플로우들을 전송하고 샘플링하라고 지시하는 복수의 컨트롤러에 연결되어 있고, 상기 컨트롤러의 프로세서는
    상기 새로운 플로우의 식별자를 해싱하여 해시 값을 생성하고;
    상기 해시 값이 상기 컨트롤러와 연관된 미리 정해진 해시 범위 내에 있다면, 상기 새로운 플로우를 상기 경로들 중 상기 하나의 경로에 위치해 있는 상기 스위치들 중 하나의 스위치에 할당하고;
    상기 스위치들 각각에 대한 할당된 플로우들을 계속 추적하기 위해 상기 컨트롤러에 저장된 라우팅 정보를 업데이트하도록
    구성되어 있는 네트워크 요소.
  12. 제7항에 있어서, 저장된 상기 추정 트래픽 양은 엔트리들의 세트를 포함하는 트래픽 행렬이고, 상기 트래픽 행렬의 행들은 상기 스위치들 중 진입 스위치들에 대응하고, 상기 트래픽 행렬의 열들은 상기 스위치들 중 출구 스위치들에 대응하고, 상기 트래픽 행렬 내의 상기 엔트리들 각각은 동일한 행의 대응하는 진입 스위치와 동일한 열의 대응하는 출구 스위치에 의해 정의된 경로 상에서 가로지르는 플로우의 수를 나타내는 숫자를 포함하는 네트워크 요소.
  13. 네트워크 내의 스위치들의 세트에 플로우 모니터링 작업들을 할당하는 분리된 아키텍처 네트워크의 시스템으로서, 상기 시스템은 모니터링되는 플로우의 수를 최대화하고 플로우 모니터링의 오버헤드를 감소시킴으로써 네트워크-와이드 플로우 모니터링을 최적화하고, 여기서 상기 스위치들 각각은 상기 플로우들의 서브세트를 모니터링하고 상기 플로우들의 서브세트의 측정들을 기록함으로써 상기 플로우들을 샘플링하고, 상기 플로우들 각각은 (시발점(Origin), 목적지(Destination))("OD") 쌍들의 세트 중 한 쌍에 의해 정의된 경로를 통해 상기 네트워크를 가로지르고, 여기서 상기 시발점은 상기 스위치들 중 상기 플로우가 상기 네트워크에 들어가는 진입 스위치이고, 상기 목적지는 상기 스위치들 중 상기 플로우가 상기 네트워크에서 나가는 출구 스위치이고, 상기 시스템은
    상기 플로우들의 전송 및 샘플링을 지시하는 제7항 내지 제12항 중 어느 한 항의 컨트롤러(110); 및
    상기 네트워크를 통해 상기 컨트롤러에 연결된 상기 스위치들(130A, 130B, 130C)의 세트
    를 포함하는 시스템.
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
KR1020147009475A 2011-09-14 2012-08-07 분리된 아키텍처 네트워크에서의 네트워크-와이드 플로우 모니터링 KR101952985B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/232,719 US8593958B2 (en) 2011-09-14 2011-09-14 Network-wide flow monitoring in split architecture networks
US13/232,719 2011-09-14
PCT/IB2012/054030 WO2013038279A1 (en) 2011-09-14 2012-08-07 Network-wide flow monitoring in split architecture networks

Publications (2)

Publication Number Publication Date
KR20140068177A KR20140068177A (ko) 2014-06-05
KR101952985B1 true KR101952985B1 (ko) 2019-02-27

Family

ID=46982655

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147009475A KR101952985B1 (ko) 2011-09-14 2012-08-07 분리된 아키텍처 네트워크에서의 네트워크-와이드 플로우 모니터링

Country Status (10)

Country Link
US (1) US8593958B2 (ko)
EP (1) EP2745468B1 (ko)
JP (1) JP6013486B2 (ko)
KR (1) KR101952985B1 (ko)
CN (1) CN103782546B (ko)
AU (1) AU2012310178B2 (ko)
BR (1) BR112014004824B1 (ko)
CA (1) CA2848360C (ko)
SG (1) SG11201400106YA (ko)
WO (1) WO2013038279A1 (ko)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5660198B2 (ja) * 2011-03-18 2015-01-28 日本電気株式会社 ネットワークシステム、及びスイッチ方法
US9185027B2 (en) * 2011-07-29 2015-11-10 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for resilient routing of control traffic in a split-architecture system
US8804490B2 (en) 2011-07-29 2014-08-12 Telefonaktiebolaget L M Ericsson (Publ) Controller placement for fast failover in the split architecture
US8811212B2 (en) 2012-02-22 2014-08-19 Telefonaktiebolaget L M Ericsson (Publ) Controller placement for fast failover in the split architecture
JP5794320B2 (ja) * 2012-02-02 2015-10-14 日本電気株式会社 コントローラ、負荷分散方法、プログラム、コンピュータシステム、制御装置
CN104106237B (zh) * 2012-02-10 2017-08-11 日本电气株式会社 计算机系统和虚拟网络可视化方法
WO2013118690A1 (ja) 2012-02-10 2013-08-15 日本電気株式会社 コンピュータシステム、及び仮想ネットワークの可視化方法
US9596182B2 (en) * 2013-02-12 2017-03-14 Adara Networks, Inc. Controlling non-congestion controlled flows
US9692775B2 (en) * 2013-04-29 2017-06-27 Telefonaktiebolaget Lm Ericsson (Publ) Method and system to dynamically detect traffic anomalies in a network
US9124506B2 (en) 2013-06-07 2015-09-01 Brocade Communications Systems, Inc. Techniques for end-to-end network bandwidth optimization using software defined networking
US9288143B2 (en) * 2013-10-14 2016-03-15 Hewlett Packard Enterprise Development Lp Data flow path determination
US9755942B2 (en) * 2013-10-25 2017-09-05 Vmware, Inc. Method and system for monitoring conditions in a dynamic network environment
US10263903B2 (en) * 2014-02-05 2019-04-16 Ibasis, Inc. Method and apparatus for managing communication flow in an inter-network system
US9629018B2 (en) 2014-02-05 2017-04-18 Ibasis, Inc. Method and apparatus for triggering management of communication flow in an inter-network system
US9755924B2 (en) * 2014-04-02 2017-09-05 The Boeing Company Network resource requirements of traffic through a multiple stage switch network
CN104104685B (zh) * 2014-07-23 2018-01-02 天脉聚源(北京)教育科技有限公司 一种图片转发方法及装置
US10270699B2 (en) 2014-07-28 2019-04-23 Telefonaktiebolaget Lm Ericsson (Publ) Automated flow devolvement in an aggregate flow environment
WO2016044291A1 (en) * 2014-09-15 2016-03-24 Huawei Technologies Co., Ltd. System and method for overlapping rate region zoning
CN107211310B (zh) * 2014-12-15 2020-08-18 诺基亚通信公司 用于通信中的测量协调的方法和装置
US9853874B2 (en) * 2015-03-23 2017-12-26 Brocade Communications Systems, Inc. Flow-specific failure detection in SDN networks
US9912536B2 (en) 2015-04-01 2018-03-06 Brocade Communications Systems LLC Techniques for facilitating port mirroring in virtual networks
US9807002B2 (en) 2015-04-29 2017-10-31 At&T Intellectual Property I, L.P. Centralized route determination in communication networks
US9749401B2 (en) 2015-07-10 2017-08-29 Brocade Communications Systems, Inc. Intelligent load balancer selection in a multi-load balancer environment
CN107046504B (zh) * 2016-02-05 2020-08-25 华为技术有限公司 用于通信网络中的流量工程的方法和控制器
US10469343B2 (en) 2016-05-04 2019-11-05 Telefonaktiebolaget Lm Ericsson (Publ) Path continuity determination in an aggregate flow environment
CN106209493B (zh) * 2016-06-22 2019-02-22 北京三快在线科技有限公司 一种对互联网服务系统进行流量跟踪的系统与方法
US10979890B2 (en) 2016-09-09 2021-04-13 Ibasis, Inc. Policy control framework
CN106375160A (zh) * 2016-10-28 2017-02-01 上海优刻得信息科技有限公司 流量监测系统及流量监测方法
CN106357479B (zh) * 2016-11-15 2019-08-23 中国人民解放军防空兵学院 一种全网络流量监测方法
TWI641251B (zh) * 2016-11-18 2018-11-11 財團法人工業技術研究院 網路流量監控方法與系統
CN112910914A (zh) * 2017-01-18 2021-06-04 群晖科技股份有限公司 路由器及流量控制方法与流量监测方法
US10104000B2 (en) 2017-01-31 2018-10-16 Hewlett Packard Enterprise Development Lp Reducing control plane overload of a network device
CN110036656B (zh) 2017-03-30 2022-10-11 伊巴西斯公司 无需sms的esim简档切换
US10524116B2 (en) 2017-06-27 2019-12-31 Ibasis, Inc. Internet of things services architecture
CN107508757B (zh) * 2017-08-15 2021-11-19 网宿科技股份有限公司 多进程负载均衡方法及装置
US10116671B1 (en) * 2017-09-28 2018-10-30 International Business Machines Corporation Distributed denial-of-service attack detection based on shared network flow information
CN108391283B (zh) * 2018-06-04 2021-12-10 江苏方洋智能科技有限公司 一种基于互联网的手机流量监控系统
US11323379B2 (en) * 2018-10-05 2022-05-03 International Business Machines Corporation Adaptive monitoring of computing systems
JP2022515990A (ja) * 2018-12-10 2022-02-24 ドライブネッツ リミテッド 通信ネットワークにおけるトラフィックフローをモニタリングするシステム及び方法
CN110545217B (zh) * 2019-08-30 2022-07-05 西南交通大学 一种事件驱动的细粒度tcp流量测量方法
US11295253B2 (en) 2019-12-03 2022-04-05 Copperleaf Technologies Inc. Method and apparatus for asset management
CN114500381A (zh) * 2022-01-20 2022-05-13 北京奇艺世纪科技有限公司 网络带宽限制方法、系统、电子设备及可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011042035A1 (en) 2009-10-09 2011-04-14 Nec Europe Ltd. A method for monitoring traffic in a network and a network

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60045552D1 (de) * 1999-06-30 2011-03-03 Apptitude Inc Verfahren und gerät um den netzwerkverkehr zu überwachen
US6842463B1 (en) * 2000-07-14 2005-01-11 Nortel Networks Limited Automated and adaptive management of bandwidth capacity in telecommunications networks
US20060149841A1 (en) * 2004-12-20 2006-07-06 Alcatel Application session management for flow-based statistics
US8817629B2 (en) * 2010-03-16 2014-08-26 Deutsche Telekom Ag Method for routing-assisted traffic monitoring

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011042035A1 (en) 2009-10-09 2011-04-14 Nec Europe Ltd. A method for monitoring traffic in a network and a network

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Saqib Raza et al: "MeasuRouting: A Framework for Routing Assisted Traffic Monitoring", Infocom, 2010 proceedings IEEE, 2010.03.14*
Vyas Sekar et al., CSAMP: A System for Network-Wide Flow Monitoring, NSDI'08: 5th USENIX Symposium on Networked Systems Design and Implementation, 2008년, pp.233-246

Also Published As

Publication number Publication date
AU2012310178A1 (en) 2014-04-03
US8593958B2 (en) 2013-11-26
US20130064079A1 (en) 2013-03-14
EP2745468B1 (en) 2015-10-28
CA2848360A1 (en) 2013-03-21
CA2848360C (en) 2019-08-27
JP2014526836A (ja) 2014-10-06
WO2013038279A1 (en) 2013-03-21
CN103782546A (zh) 2014-05-07
JP6013486B2 (ja) 2016-10-25
CN103782546B (zh) 2017-04-05
KR20140068177A (ko) 2014-06-05
BR112014004824B1 (pt) 2022-04-19
EP2745468A1 (en) 2014-06-25
SG11201400106YA (en) 2014-03-28
AU2012310178B2 (en) 2016-05-26
BR112014004824A2 (pt) 2017-04-04

Similar Documents

Publication Publication Date Title
KR101952985B1 (ko) 분리된 아키텍처 네트워크에서의 네트워크-와이드 플로우 모니터링
US10715414B2 (en) Network communication methods and apparatus
US11539576B2 (en) Dynamic path selection and data flow forwarding
CN105493450B (zh) 动态检测网络中的业务异常的方法和系统
KR102104047B1 (ko) 패킷 데이터 네트워킹에서의 혼잡 제어
US9288162B2 (en) Adaptive infrastructure for distributed virtual switch
WO2015103297A1 (en) Network communication methods and apparatus
Chaudhary et al. LOADS: Load optimization and anomaly detection scheme for software-defined networks
Rashid Sorted-GFF: An efficient large flows placing mechanism in software defined network datacenter
Abushagur et al. Hybrid software-defined network monitoring
Phan Fine-Grained and Distributed Traffic Monitoring Platform in Software-Defined Networks
Zaw Delay-Aware Elephant Flow Rerouting in Software-Defined Networking (SDN)
Ghita et al. Internet of Profiling-Traffic, Users and Applications
Wu OpenFlow-enabled dynamic DMZ for local networks

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