KR20180104664A - 차별화된 서비스 코드 포인트(dscp) 및 명시적 혼잡 통지(ecn)를 모니터링하기 위한 데이터 플레인을 위한 방법 및 장치 - Google Patents

차별화된 서비스 코드 포인트(dscp) 및 명시적 혼잡 통지(ecn)를 모니터링하기 위한 데이터 플레인을 위한 방법 및 장치 Download PDF

Info

Publication number
KR20180104664A
KR20180104664A KR1020187023605A KR20187023605A KR20180104664A KR 20180104664 A KR20180104664 A KR 20180104664A KR 1020187023605 A KR1020187023605 A KR 1020187023605A KR 20187023605 A KR20187023605 A KR 20187023605A KR 20180104664 A KR20180104664 A KR 20180104664A
Authority
KR
South Korea
Prior art keywords
ecn
session
dscp
test
test packet
Prior art date
Application number
KR1020187023605A
Other languages
English (en)
Other versions
KR102066978B1 (ko
Inventor
그레고리 미르스카이
스티브 바일라르지온
Original Assignee
텔레폰악티에볼라겟엘엠에릭슨(펍)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 텔레폰악티에볼라겟엘엠에릭슨(펍) filed Critical 텔레폰악티에볼라겟엘엠에릭슨(펍)
Publication of KR20180104664A publication Critical patent/KR20180104664A/ko
Application granted granted Critical
Publication of KR102066978B1 publication Critical patent/KR102066978B1/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/50Testing arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • 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
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2408Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

방법은 차별화된 서비스 코드 포인트(DSCP) 및 명시적 혼잡 통지(ECN)가 세션-전송기와 세션-반사기간 순방향 및 역방향으로 단일의 테스트 세션에서 변경되었는지의 여부를 결정하기 위한 테스트를 수행하기 위해 세션-전송기를 실행하는 네트워크 장치에 의해 실행되고, 여기서 다수의 DSCP 및 ECN은 상기 단일의 테스트 세션을 이용하여 테스트된다. 상기 방법은 제1초기 순방향 DSCP 및 ECN을 결정하는 단계, 상기 제1초기 순방향 DSCP 및 ECN을 포함하는 제1테스트 패킷을 생성하며, 상기 단일의 테스트 세션에서 상기 세션-반사기로 상기 제1테스트 패킷을 전송하는 단계를 포함한다. 상기 방법은 제2초기 순방향 DSCP 및 ECN을 결정하는 단계, 상기 제2초기 순방향 DSCP 및 ECN을 포함하는 제2테스트 패킷을 생성하는 단계, 및 상기 단일의 테스트 세션에서 상기 세션-반사기로 상기 제2테스트 패킷을 전송하는 단계를 더 포함한다.

Description

차별화된 서비스 코드 포인트(DSCP) 및 명시적 혼잡 통지(ECN)를 모니터링하기 위한 데이터 플레인을 위한 방법 및 장치
본 출원은 본 출원과 동일한 데이터로 출원된 "Method and Apparatus for Control Plane to Configure Monitoring of Differentiated Services Code Point (DSCP) and Explicit Congestion Notification (ECN),"로 명칭된 출원과 관련된다.
본 발명의 실시예들은 데이터 트래픽 측정 분야에 관한 것으로, 특히 차별화된 서비스 코드 포인트(DSCP; differentiated services code point) 값 및 명시적 혼잡 통지(ECN; Explicit Congestion Notification) 값을 모니터링하기 위한 것에 관한 것이다. 상기 실시예들은 단일의 테스트 세션을 이용하여 DSCP 및 ECN의 다수의 조합을 테스팅할 수 있게 한다.
국제 인터넷 표준화 기구(IETF; Internet Engineering Task Force) 요청에 대한 코멘트 (RFC) 5357에 의해 규정된 양방향 능동 측정 프로토콜(TWAMP; Two-Way Active Measurement Protocol)은 인터넷 프로토콜(IP) 네트워크에서 지연 및 지연 변화를 측정하기 위해 널리 사용된다. TWAMP는 IETF RFC 4656에 의해 규정된 초기 프로토콜 일방향 능동 측정 프로토콜(OWAMP; One-Way Active Measurement Protocol)을 기반으로 한다. TWAMP는 네트워크 장치들간의 양방향 메트릭을 측정하기 위한 공통 프로토콜을 제공한다. 그러한 측정은 2개의 네트워크 장치들간의 테스트 세션에서 데이터 트래픽의 양방향 또는 왕복 측정을 가능하게 하는 그러한 테스트 세션에서 수행된다.
TWAMP는 2개의 상호-관련 프로토콜, 즉 제어 프로토콜(TWAMP-Control) 및 테스트 프로토콜(TWAMP-Test)로 구성된다. TWAMP-Control은 데스트 세션들을 개시하고, 시작하고 그리고 중지하는데 사용되며, 반면 TWAMP-Test는 2개의 TWAMP 엔티티들간 테스트 패킷을 교환하는데 사용된다. 세션-전송기, 세션-반사기, 서버 및 제어-클라이언트라고 하는 TWAMP 엔티티 또는 TWAMP 논리 엔티티 세트가 있다.
상기 제어-클라이언트는 그리팅 메시지(greeting message)로 응답하는 서버와의 전송 제어 프로토콜(TCP) 커넥션을 개시한다. 상기 제어-클라이언트는 모드 정보로 응답하고, 이후 서버는 그 수락을 전송한다. 상기 제어-클라이언트는 세션-반사기에 의해 테스트 세션에서 테스트 패킷을 전송하도록 상기 세션-전송기를 구성한다. 상기 서버는 세션-전송기로부터 수신된 테스트 패킷을 세션-전송기로 리턴(return)하도록 상기 세션-반사기를 구성한다. 따라서, 이런 식으로, TWAMP는 세션-전송기가 각각 세션-전송기 및 세션-반사기를 구현하는 네트워크 장치들간 데이터 트래픽의 흐름을 식별하고 측정할 수 있는 테스트 세션을 구현한다.
각각의 테스트 세션은 차별화된 서비스 코드 포인트(DSCP) 및 명시적 혼잡 통지(ECN) 필드에 의해 행해진다. TWAMP에 대한 DSCP 및 ECN 모니터링 확장을 통해, 의도된 것이든 또는 오류이든 상관없이, 오퍼레이터는 ECN 필드에서의 변경 뿐만 아니라 DSCP 필드의 재마킹(remarking)을 2개의 테스트 포인트간 순방향 및 역방향으로 검출한다. 그러나, DSCP 및 ECN의 다수의 조합을 테스트하기 위해서는 각 조합에 구현될 각각의 별도의 테스트 세션을 필요로 한다. 따라서, TWAMP-Control 프로토콜이 TWAMP 테스트 세션을 협정(negotiate)하기 위해 사용되는 경우, 소스 및 대상 사용자 데이터그램 프로토콜(UDP; user datagram protocol) 포트 넘버를 포함한 테스트 파라미터가 재협정되어 DSCP 및 ECN 모니터링의 결과에 영향을 미칠 수 있다. 그리고, TWAMP가 명령 라인 인터페이스(CLI) 또는 네트워크 관리 시스템(NMS)/중앙 제어기로 제어되는 경우, 각각의 별도의 테스트 세션을 구성해야 한다.
본 발명은 차별화된 서비스 코드 포인트(DSCP) 및 명시적 혼잡 통지(ECN)를 모니터링하기 위한 데이터 플레인을 위한 방법 및 장치를 제공하기 위한 것이다.
일 실시예에 있어서, 방법은 차별화된 서비스 코드 포인트(DSCP) 및 명시적 혼잡 통지(ECN)가 세션-전송기와 세션-반사기간 순방향 및 역방향으로 단일의 테스트 세션에서 변경되었는지의 여부를 결정하기 위한 테스트를 수행하기 위해 세션-전송기를 실행하는 네트워크 장치에 의해 실행되며, 여기서 다수의 DSCP 및 ECN은 상기 단일의 테스트 세션을 이용하여 테스트된다. 상기 방법은, 제1초기 순방향 DSCP 및 ECN을 결정하는 단계, 상기 제1초기 순방향 DSCP 및 ECN을 포함하는 제1테스트 패킷을 생성하는 단계, 및 상기 단일의 테스트 세션에서 상기 세션-반사기로 상기 제1테스트 패킷을 전송하는 단계를 포함한다. 상기 방법은 제2초기 순방향 DSCP 및 ECN을 결정하는 단계, 상기 제2초기 순방향 ESCP 및 ECN을 포함하는 제2테스트 패킷을 생성하는 단계, 및 상기 단일의 테스트 세션에서 상기 세션-반사기로 상기 제2테스트 패킷을 전송하는 단계를 더 포함한다.
다른 실시예에서, 방법은 차별화된 서비스 코드 포인트(DSCP) 및 명시적 혼잡 통지(ECN)가 세션-전송기와 세션-반사기간 순방향 및 역방향으로 단일의 테스트 세션에서 변경되었는지의 여부를 결정하기 위한 테스트를 수행하기 위해 세션-전송기를 실행하는 네트워크 장치에 의해 실행되며, 여기서 다수의 DSCP 및 ECN은 상기 단일의 테스트 세션을 이용하여 테스트된다. 상기 방법은, 상기 세션-전송기와 세션-반사기간 사용될 초기 순방향 DSCP 및 ECN과 초기 역방향 DSCP 및 ECN을 협정하는 단계, 상기 초기 순방향 DSCP 및 ECN을 이용하여 제1테스트 패킷을 생성하는 단계, 및 시퀀스 넘버를 포함하는 제1테스트 패킷을 상기 세션-반사기로 전송하는 단계를 포함한다. 상기 방법은 시퀀스 넘버와 함께 제2테스트 패킷을 상기 세션-반사기로부터 수신하는 단계, 상기 시퀀스 넘버를 이용하여 상기 제1테스트 패킷을 상기 제2테스트 패킷과 연관시키는 단계, 및 각각의 다수의 DSCP 및 ECN이 상기 단일의 테스트 세션에서 테스트될 때까지 각각의 다수의 DSCP 및 ECN을 반복하는 단계를 더 포함한다.
일 실시예에서, 방법은 차별화된 서비스 코드 포인트(DSCP) 및 명시적 혼잡 통지(ECN)가 세션-전송기와 세션-반사기간 순방향 및 역방향으로 단일의 테스트 세션에서 변경되었는지의 여부를 결정하기 위한 테스트를 수행하기 위해 세션-반사기를 실행하는 네트워크 장치에 의해 실행되며, 여기서 다수의 DSCP 및 ECN은 상기 단일의 테스트 세션을 이용하여 테스트된다. 상기 방법은 상기 단일의 테스트 세션 내에 세션-전송기로부터 제1테스트 패킷을 수신하는 단계, 상기 제1테스트 패킷에서 최종 순방향 DSCP 및 ECN을 식별하는 단계, 및 상기 제1테스트 패킷에서 초기 역방향 DSCP 및 ECN을 식별하는 단계를 포함한다. 상기 방법은 상기 최종 순방향 DSCP 및 ECN과 상기 초기 역방향 DSCP 및 ECN을 포함하는 제2테스트 패킷을 생성하는 단계, 상기 단일의 테스트 세션 내에 세션-전송기로 상기 제2테스트 패킷을 전송하는 단계, 및 각각의 다수의 DSCP 및 ECN이 상기 단일의 테스트 세션에서 테스트될 때까지 각각의 다수의 DSCP 및 ECN을 반복하는 단계를 더 포함한다.
일 실시예에서, 네트워크 장치는 차별화된 서비스 코드 포인트(DSCP) 및 명시적 혼잡 통지(ECN)가 세션-전송기와 세션-반사기간 순방향 및 역방향으로 단일의 테스트 세션에서 변경되었는지의 여부를 결정하기 위한 테스트를 수행하기 위해 세션-전송기를 실행하하며, 여기서 다수의 DSCP 및 ECN은 상기 단일의 테스트 세션을 이용하여 테스트된다. 상기 네트워크 장치는 테스트 세션 매니저를 내부에 저장한 비일시적 기계 판독가능 매체 및 프로세서를 포함한다. 상기 프로세서는 상기 비일시적 기계 판독가능 매체에 연결된다. 상기 프로세서는 테스트 세션 매니저를 실행한다. 상기 테스트 세션 매니저는 제1초기 순방향 DSCP 및 ECN을 결정하고, 상기 제1초기 순방향 DSCP 및 ECN을 포함하는 제1테스트 패킷을 생성하고, 상기 단일의 테스트 세션에서 상기 세션-반사기로 상기 제1테스트 패킷을 전송하고, 제2초기 순방향 DSCP 및 ECN을 결정하고, 상기 제2초기 순방향 DSCP 및 ECN을 포함하는 제2테스트 패킷을 생성하며, 상기 단일의 테스트 세션에서 상기 세션-반사기로 상기 제2테스트 패킷을 전송하도록 구성된다.
일 실시예에서, 컴퓨팅 장치는 다수의 네트워크 장치를 갖는 네트워크에서 네트워크 장치와 통신한다. 상기 컴퓨팅 장치는 네트워크 기능 가상화(NFV)를 구현하기 위한 다수의 가상 머신을 실행하며, 여기서 상기 다수의 가상 머신들로부터의 가상 머신은 차별화된 서비스 코드 포인트(DSCP) 및 명시적 혼잡 통지(ECN)가 세션-전송기와 세션-반사기간 순방향 및 역방향으로 단일의 테스트 세션에서 변경되었는지의 여부를 결정하기 위한 테스트를 수행하기 위해 세션-전송기를 실행하며, 여기서 다수의 DSCP 및 ECN은 상기 단일의 테스트 세션을 이용하여 테스트된다. 상기 컴퓨팅 장치는 테스트 세션 매니저를 내부에 저장한 비일시적 기계 판독가능 매체 및 프로세서를 포함한한다. 상기 프로세서는 상기 비일시적 기계 판독가능 매체에 연결된다. 상기 프로세서는 가상 머신을 실행한다. 상기 가상 머신은 상기 테스트 세션 매니저를 실행하도록 구성된다. 상기 테스트 세션 매니저는 제1초기 순방향 DSCP 및 ECN을 결정하고, 상기 제1초기 순방향 DSCP 및 ECN을 포함하는 제1테스트 패킷을 생성하고, 상기 단일의 테스트 세션에서 상기 세션-반사기로 상기 제1테스트 패킷을 전송하고, 제2초기 순방향 DSCP 및 ECN을 결정하고, 상기 제2초기 순방향 DSCP 및 ECN을 포함하는 제2테스트 패킷을 생성하며, 상기 단일의 테스트 세션에서 세션-반사기로 제2테스트 패킷을 전송하도록 구성된다.
다른 실시예에서, 제어 플레인 장치는 다수의 네트워크 장치를 포함하는 소프트웨어 정의 네트워킹(SDN) 네트워크의 제어 플레인을 실행하도록 구성되며, 여기서 상기 제어 플레인 장치는 차별화된 서비스 코드 포인트(DSCP) 및 명시적 혼잡 통지(ECN)가 세션-전송기 및 세션-반사기간 순방향 및 역방향으로 단일의 테스트 세션에서 변경되었는지의 여부를 결정하기 위한 테스트를 수행하기 위해 세션-전송기를 실행하기 위한 방법을 실행하도록 구성되며, 여기서 다수의 DSCP 및 ECN은 상기 단일의 테스트 세션을 이용하여 테스트된다. 상기 제어 플레인은 테스트 세션 매니저를 내부에 저장한 비일시적 기계 판독가능 매체 및 프로세서를 포함한다. 상기 프로세서는 상기 비일시적 기계 판독가능 매체에 연결된다. 상기 프로세서는 상기 테스트 세션 매니저를 실행한다. 상기 테스트 세션 매니저는 다음 초기 순방향 DSCP 및 ECN을 결정하고, 다음 초기 역방향 DSCP 및 ECN을 결정하고, 상기 다음 초기 순방향 DSCP 및 ECN과 상기 다음 초기 역방향 DSCP 및 ECN을 포함하는 제1테스트 패킷을 생성하고, 상기 단일의 테스트 세션에서 상기 세션-반사기로 상기 제1테스트 패킷을 전송하고, 동일한 테스트 세션 내에 최종 순방향 DSCP 및 ECN과 최종 역방향 DSCP 및 ECN을 포함하는 제2테스트 패킷을 수신하며, 각각의 다수의 DSCP 및 ECN이 상기 단일의 테스트 세션에서 테스트될 때까지 각각의 다수의 DSCP 및 ECN을 반복하도록 구성된다.
본 발명에 따르면, 차별화된 서비스 코드 포인트(DSCP) 및 명시적 혼잡 통지(ECN)를 모니터링하기 위한 데이터 플레인을 위한 방법 및 장치를 제공할 수 있다.
본 발명은 발명의 실시예를 설명하기 위해 사용되는 이하의 설명 및 수반되는 도면을 참조함으로써 가장 잘 이해될 수 있다. 도면에서:
도 1a는 양방향 능동 측정 프로토콜(TWAMP)의 제어-클라이언트를 위한 프로세스의 일 실시예의 흐름도이다.
도 1b는 소프트웨어 정의 네트워킹(SDN) 제어기에 의해 실행된 TWAMP 테스트 세션의 오케스트레이터를 위한 프로세스의 일 실시예의 흐름도이다.
도 2는 TWAMP의 서버를 위한 프로세스의 일 실시예의 흐름도이다.
도 3은 TWAMP의 세션-전송기를 위한 프로세스의 일 실시예의 흐름도이다.
도 4는 TWAMP의 세션-반사기를 위한 프로세스의 일 실시예의 흐롬도이다.
도 5는 TWAMP의 세션-전송기를 위한 다른 프로세스의 예시의 일 실시예의 흐름도이다.
도 6은 TWAMP의 세션-반사기를 위한 다른 프로세스의 예시의 일 실시예의 흐름도이다.
도 7은 TWAMP의 세션-전송기를 위한 다른 프로세스의 예시의 다른 실시예의 흐름도이다.
도 8은 TWAMP의 세션-반사기를 위한 다른 프로세스의 예시의 다른 실시예의 흐름도이다.
도 9는 세션-전송기와 세션-반사기간 예시의 테스트 세션이다.
도 10a는 본 발명의 일부 실시예에 따른, 예시의 네트워크 내의 네트워크 장치(ND)들간 연결성 뿐만 아니라 ND들의 3가지 예시의 구현예를 나타낸다.
도 10b는 본 발명의 일부 실시예에에 따른 특수-목적의 네트워크 장치를 실시하기 위한 예시의 방식을 나타낸다.
도 10c는 본 발명의 일부 실시예에 따른 가상 네트워크 요소(VNE)들이 연결될 수 있는 다양한 예시의 방식을 나타낸다.
도 10d는 본 발명의 일부 실시예에 따른, 각각의 ND에서 단일의 네트워크 요소(NE)를 갖는 네트워크를 도시하며, 이러한 직진형 접근방식은 도달 가능성 및 포워딩 정보(네트워크 제어라고도 부르는)를 유지하기 위한 중앙집중형 접근방식을 갖는 기존의 분산형 접근방식(통상 기존의 라우터에 의해 사용된)과 대조된다.
도 10e는 본 발명의 일부 실시예에 따른, 각각의 ND들이 단일의 NE를 구현하는 간단한 경우를 나타내지만, 중앙집중형 제어 플레인은 상이한 ND들 내의 다수의 NE들을 가상 네트워크(들) 중 하나의 단일의 NE에 (나타내도록) 추상화했다.
도 10f는 본 발명의 일부 실시예에 따른, 다수의 VNE가 상이한 ND들에 구현되고 서로 연결되는 경우를 나타내며, 가상 네트워크 중 하나 내의 단일의 VNE로서 나타나도록 중앙집중형 제어 플레인이 이러한 다수의 VNE를 추상화했다.
도 11은 본 발명의 일부 실시예에 따른 중앙집중형 제어 플레인(CCP) 소프트웨어를 갖는 범용 제어 플레인을 나타낸다.
이하의 설명은 데이터 트래픽 측정을 위한 방법 및 장치, 특히 양방향 능동 측정 프로토콜(TWAMP) 또는 유사한 프로토콜을 이용하여 차별화된 서비스 코드 포인트(DSCP) 및 명시적 혼잡 통지(ECN)의 다수의 조합을 테스팅하기 위한 방법 및 장치를 기술한다. 그러한 실시예들은 단일의 테스트 세션을 이용하여 다수의 조합을 테스팅할 수 있게 한다. 단일의 테스트 세션을 이용하면, 다수의 테스트 세션의 설정 및 해제로 인해 오버헤드가 야기되는 다수의 DSCP 및 ECN 조합의 테스팅과 연관된 오버헤드를 감소시킨다. 종래의 기술은 테스트될 DSCP 및 ECN의 각 조합에 대해 확립되는 각각의 별도의 테스트 세션을 필요로 하므로 추가의 컴퓨팅 및 스토리지 리소스를 필요로 한다. 그러한 제공된 실시예들은 주로 TWAMP를 이용하여 테스트 세션을 실시하는 것과 연관되어 기술되나, 당업자는 핑(ping), 서비스-레벨 협약(SLA; service-level agreement) 테스팅 및 유사한 기술들을 포함하는 다른 유사한 테스팅 세션 기술들에도 그러한 원리 및 프로세스가 적용가능하다는 것을 이해할 수 있을 것이다.
다음의 설명에서, 논리 구현, 오피코드(opcode), 피연산자를 지정하는 수단, 리소스 분할/공유/복제 구현, 시스템 요소의 타입 및 상호 관계, 논리 분할/통합 선택과 같은 수많은 특정 세부 사항이 본 발명의 보다 완전한 이해를 제공하기 위해 제시된다. 그러나, 당업자라면 본 발명이 그와 같은 특정 세부 사항 없이 실시될 수 있다는 것을 알 수 있을 것이다. 다른 경우들에서, 제어 구조들, 게이트 레벨 회로들 및 전체 소프트웨어 명령 시퀀스들은 본 발명을 모호하게 하지 않기 위해 상세히 나타내지 않았다. 당업자는, 포함된 설명과 함께, 과도한 실험없이 적절한 기능을 구현할 수 있을 것이다.
"일 실시예", "한 실시예", "예시의 실시예" 등과 같은 명세서에서의 참조는 기술된 실시예가 특정 형태, 구조 또는 특성을 포함할 수 있으나, 그러한 특정 형태, 구조 또는 특성을 반드시 포함할 필요는 없다는 것을 나타낸다. 또한, 그와 같은 문구들은 반드시 동일한 실시예를 언급하는 것은 아니다. 더욱이, 특정 형태, 구조 또는 특성이 실시예와 관련하여 설명될 때, 명시적으로 기술되었는지의 여부에 상관없이 다른 실시예와 관련한 그러한 특징, 구조 또는 특성에 영향을 미치도록 당업자의 지식 범위 내에 있다는 것이 제시된다.
본 발명의 실시예에 추가적인 특징을 부가하는 옵션의 동작들을 설명하기 위해 대괄호로 이루어진 텍스트 및 점선으로 이루어진 블록(예컨대, 큰 점선, 작은 점선, 점선으로 이루어진 점 및 점들)이 본 명세서에 사용될 수 있다. 그러나, 그와 같은 표기법은 이들이 유일한 옵션 또는 옵션의 동작들이고, 그리고/또 끊김이 없는 경계를 갖는 블록들이 본 발명의 특정 실시예에서 옵션이 아님을 의미하는 것으로 받아 들여서는 안된다.
다음의 설명 및 청구범위에서, 용어 "결합된" 및 "연결된"은 그들의 유도물과 함께 사용될 수 있다. 이들 용어는 서로 동의어인 것으로 의도된 것이 아니라는 것을 이해해야 한다. "결합된"은 서로 물리적 또는 전기적으로 직접 접촉할 수도 있고 그렇지 않을 수도 있는 둘 이상의 요소들이 서로 협력하거나 상호 작용하는 것을 나타내기 위해 사용된다. "연결된"은 서로 연결된 둘 이상의 요소들간 통신 설정을 나타내는 데 사용된다.
전자 장치는 기계-판독가능 스토리지 매체(예컨대, 자기 디스크, 광 디스크, 독출 전용 메모리(ROM), 플래시 메모리 장치, 위상 변경 메모리) 및 기계-판독가능 전송 매체(캐리어라고도 부르는)(예컨대, 캐리어 웨이브, 적외선 신호와 같은 전기, 광, 라디오, 음향 또는 다른 형태의 전파된 신호)와 같은 기계-판독가능 매체를 이용하여 코드(소프트웨어 명령으로 이루어지고 종종 컴퓨터 프로그램 코드 또는 컴퓨터 프로그램이라고 부르는) 및/또는 데이터를 저장 및 전송한다(내부적으로 및/또는 네트워크를 통해 다른 전자 장치에 의해). 따라서, 전자 장치(예컨대, 컴퓨터)는 하나 이상의 프로세서 세트에서 실행하기 위한 코드를 저장하고 그리고/또 데이터를 저장하기 위해 하나 이상의 기계-판독가능 스토리지 매체에 연결된 하나 이상의 프로세서 세트와 같은 하드웨어 및 소프트웨어를 포함한다. 예를 들어, 전자 장치는 이러한 전자 장치가 턴 오프될때(전원이 제거될 때)에도 비-휘발성 메모리가 코드/데이터를 유지할 수 있기 때문에 코드를 포함하는 비-휘발성 메모리를 포함할 수 있으며, 상기 전자 장치가 턴 온는 되는 동안, 그 전자 장치의 프로세서(들)에 의해 실행될 코드의 부분은 통상 느린 비-휘발성 메모리로부터 그 전자 장치의 휘발성 메모리(예컨대, 동적 랜덤 액세스 메모리(DRAM), 정적 랜덤 액세스 메모리(SRAM))로 복사된다. 통상 전자 장치들은 또한 다른 전자 장치들과 네트워크 커넥션을 구축하기 위해(전파되는 신호들을 이용하여 코드 및/또는 데이터를 전송 및/또는 수신하기 위해) 세트 또는 하나 이상의 물리적 네트워크 인터페이스(들)를 포함한다. 본 발명 실시예의 하나 이상의 부분은 소프트웨어, 펌웨어, 및/또는 하드웨어의 상이한 조합을 이용하여 실시될 수 있다.
네트워크 장치(ND)는 네트워크 상의 다른 전자 장치들(예컨대, 다른 네트워크 장치들, 단부-사용자 장치들)을 통신가능하게 상호 연결되는 전자 장치이다. 일부의 네트워크 장치는 다수의 네트워킹 기능(예컨대, 라우팅, 브릿징(bridging), 스위칭, 계층 2 집성, 세션 경계 제어, 서비스 품질 및/또는 가입자 관리)을 지원하며, 그리고/또 다수의 애플리케이션 서비스(예컨대, 데이터, 음성 및 비디오)를 지원하는 "다중 서비스 네트워크 장치"이다.
개요
각각의 양방향 능동 측정 프로토콜(TWAMP) 테스트 세션은 세션-전송기와 세션-반사기간 교환된 테스트 패킷에 사용되는 특정 차별화된 서비스 코드 포인트(DSCP) 및 명시적 혼잡 통지(ECN)에 의해 행해진다. 그러한 DSCP 및 ECN은 세션-전송기와 세션-반사기간 순방향 경로 및 역방향 경로에서 변경되지 않을 것으로 예상되는 TWAMP 테스트 세션에서 사용되는 TWAMP 테스트 패킷의 필드이다. TWAMP에 대한 DSCP 및 ECN 모니터링 확장을 규정하여, 의도된 것이든 또는 오류이든 상관없이, 오퍼레이터는 ECN 필드에서의 변경 뿐만 아니라 테스트 패킷에서의 DSCP 필드의 데이터 트래픽의 재마킹을 검출할 수 있다. 이들 필드의 모니터링은 2개의 테스트 포인트(즉, 세션-전송기 및 세션-반사기)들간 순방향 및 역방향으로 행해질 수 있다. 그러나, DSCP와 ECN의 다수의 조합의 결과를 테스트하고 모니터링하기 위해, DSCP와 ECN의 모든 조합 또는 이들 값의 서브세트까지 포함하여, 일부 실시예에서 상기 동일한 DSCP와 ECN 조합의 반복된 테스팅을 포함한 테스트될 각 DSCP와 ECN 조합을 위해 확립될 각각의 별도의 테스트 세션을 필요로 한다. 따라서, TWAMP-제어 프로토콜이 TWAMP 테스트 세션을 협정 및 확립하기 위해 사용되는 경우, 소스 및 대상 사용자 데이터그램 프로토콜(UDP) 포트 넘버를 포함하는 테스트 파라미터들이 재협정될 것이며, 이는 DSCP 및 ECN 모니터링의 결과에 영향을 줄 수 있다. TWAMP가 명령 라인 인터페이스(CLI) 또는 네트워크 관리 시스템(NMS)/중앙 제어기에 의해 제어되는 경우, 각각의 DSCP 및 ECN 조합을 테스트 및 모니터링하기 위해 각각의 별도의 테스트 세션이 구성되어야 한다.
기존의 TWAMP-제어 프로토콜과 같이, CLI 또는 중앙 제어기는 테스트 세션에 대한 DSCP 및 ECN 필드의 특정 값을 포함하는 파라미터를 구성하는 데 사용될 수 있다. 일부 실시예에서, DSCP 및 ECN 모니터링 TWAMP 확장은 DSCP 및 ECN에서의 변경을 테스트 세션의 순방향 및 역방향으로 검출할 수 있게 하는데 사용되나, 이들 DSCP 및 ECN 값의 단일 조합에 대해서만 사용된다. 그러한 기존의 TWAMP-테스트 프로토콜은 세션-전송기 및 세션-반사기에 의해 설정된 DSCP 및 ECN 값들이 특정 테스트 세션의 수명에 걸쳐 동일하게 유지될 것을 요구한다. 각각의 별도의 TWAMP 테스트 세션을 이용하여 다수의 DSCP 및 ECN 조합을 테스트하면, 조합(1:1) 기준마다 각 테스트 세션을 설정 및 해제하는 데 상당한 오버헤드가 발생한다. 본 발명의 실시예들은 종래 기술의 이러한 한계를 극복한다.
그러한 실시예들은 대응하는 반사된 TWAMP 테스트 패킷의 DSCP 및 ECN 값으로서 그 수신된 TWAMP 테스트 패킷에 규정된 특정 DSCP 및 ECN 값을 사용하도록 세션-반사기에 지시하기 위한 메카니즘을 추가함으로써 DSCP 및 ECN을 모니터링하기 위한 TWAMP 프로세스의 결합을 극복한다. 필수 DSCP 및 ECN을 포함하도록 TWAMP를 확장하는 특정 DSCP 및 ECN 모니터링 TWAMP 확장과 결합하여, 상기 실시예들은 이러한 정보를 활용하여 단일의 테스트 세션에서 포괄적인 DSCP 및 ECN 모니터링을 가능하게 하는 일련의 방법 및 시스템을 제공한다.
상기 실시예들은 세션-반사기에 의해 특정 DSCP 및 ECN 모니터링 모드를 요청하도록 DSCP 및 ECN의 일방향/양방향 모니터링의 파라미터를 협정하는 네트워크 엔티티에 의해 사용되는 방법 및 장치를 제공함으로써 기존의 TWAMP 프로토콜의 한계를 극복한다. 상기 실시예들은 주어진 테스트 단독 개체(singleton)에 사용된 DSCP 및 ECN 처리 모드를 지정하기 위해 인터넷 프로토콜(IP) 네트워크에서 DSCP 및 ECN 모니터링을 실시하는 네트워크 장치에 의해 사용되는 방법 및 장치를 제안한다. RFC 5357은 TWAMP 테스트 세션에 대한 파라미터를 협정하고 시그널링하기 위해 사용될 수 있는 TWAMP 제어 프로토콜을 지정한다. 서버 그리팅 메시지에서의 모드 필드의 서버는 세션 반사기의 기능을 나열한다. 설정 응답 메시지의 모드 필드에서의 제어-클라이언트는 세션-전송기를 대신하여 모드를 요청한다. 각각의 서버 및 제어-클라이언트는 공지된 기능을 비교하고, 이에 따라 세션-전송기 및 세션-반사기에 대한 테스트 모드를 설정한다.
일 실시예에서, DSCP 및 ECN 모니터링은 순방향 및 역방향으로 실시된다. 세션-반사기가 DSCP 및 ECN 모니터링 TWAMP 확장을 모두 서포트하는지의 확인이 이루어진다. TWAMP 확장은 RFC 5357에 규정된 기본 TWAMP 기능의 변경 및 확장을 나타낸다. 세션-반사기가 DSCP 및 ECN 모니터링을 처리할 수 있으면, 그 세션-반사기는 적어도 왕복 테스팅(즉, 세션-반사기가 DSCP 및 ECN 모니터링 TWAMP 확장을 서포트)을 처리하도록 구성될 수 있다. 상기 세션-반사기가 DSCP 및 ECN 모니터링을 서포트하지 않으면, 상기 제어-클라이언트와 서버간 TWAMP 제어 프로토콜 협정은 TWAMP 세션을 시작하지 않을 것이다(즉, 상기 세션-반사기가 상기 DSCP 및 ECN 모니터링 확장을 서포트할 수 없는 경우). 명령 라인 인터페이스(CLI) 또는 중앙 제어기(예컨대, SDN 네트워크에서)가 TWAMP 테스트 세션의 파라미터를 구성하는데 사용되는 경우, 모드의 선택은 CLI, Netconf 또는 유사한 질의에 응답하여 상기 세션-전송기 및 세션-반사기에 의해 리포트된 기능에 기초하여 행해질 수 있다. 상기 세션-반사기가 DSCP 및 ECN 모니터링 또는 유사한 TWAMP 확장을 서포트하면, 순방향 및 역방향의 좀더 상세한 독립 테스팅이 가능하다. 이들 실시예는 왕복 및/또는 각각의 독립된 순방향 테스팅 및 역방향 테스팅을 위한 단일의 TWAMP 테스트 세션 내에서 새로운 타입의 IP 성능 측정, DSCP 및 ECN 모니터링의 실행을 가능하게 함으로써 기존의 TWAMP 실시 이상의 장점을 제공한다. 상기 실시예들의 특징은 본원에서 단일의 테스트 세션 다수의 DSCP TWAMP 확장과 관련된 TWAMP에 대한 확장으로서 실시될 수 있다.
도 1a는 양방향 능동 측정 프로토콜(TWAMP)의 클라이언트-제어 엔티티를 위한 프로세스의 일 실시예의 흐름도이다. 이러한 제어-클라이언트 프로세스의 실시예는 상기 제어-클라이언트가 서버 또는 서버 및 세션-반사기를 실시하는 네트워크 장치와 통신하는 네트워크 장치에 의해 실시된다. 상기 제어-클라이언트를 실시하는 네트워크 장치는 또한 일부 실시예에서 세션-전송기를 실시한다. 상기 프로세스는 TWAMP의 제어 플레인인 TWAMP 제어 프로토콜의 동작의 컨택스트(context) 내에서 시작한다. 상기 서버 및 제어-클라이언트는 상기 세션-전송기 및 세션-반사기의 특성 및/또는 기능과 관련된 정보를 포함하는 메시지를 교환한다. 상기 제어-클라이언트는 이러한 협정을 개시하기 위해 TCP 커넥션을 확립한다.
그러한 TCP 커넥션이 확립된 후, 상기 제어-클라이언트는 상기 세션-반사기의 특성 및 기능을 포함하는 서버 그리팅 메시지를 상기 서버로부터 수신한다(블록 101). 특히, 상기 서버 그리팅 메시지는 상기 세션-반사기가 상기 DSCP 및 ECN 모니터링 TWAMP 확장 및/또는 단일의 테스트 세션 다수의 DSCP TWAMP 확장 또는 유사한 기능을 서포트하는지의 여부에 대한 정보를 포함할 수 있다. 이들 TWAMP에 대한 확장은 세션-전송기가 동일한 테스트 세션에서 다수의 DSCP 및 ECN이 테스트되는 테스트 세션을 생성 및 활용할 수 있게 하고, 단일의 테스트 세션은 세션-전송기와 세션-반사기간 순방향 및 역방향의 독립 테스팅을 가능하게 한다.
상기 제어-클라이언트의 프로세스는 이들 TWAMP의 서포트를 위한 세션-반사기의 수신된 특성을 확인한다. 상기 프로세스는 세션-반사기가 단일의 테스트 세션 다수의 DSCP TWAMP 확장을 서포트하는지의 여부, 즉 상기 세션-반사기가 단일의 테스트 세션에서 다수의 DSCP의 사용을 서포트하는지의 여부를 확인한다(블록 103). 세션-반사기가 단일의 테스트 세션에서 다수의 DSCP를 서포트하지 않으면 그 프로세스를 종료할 수 있으며(블록 109), 이로 인해 원하는 단일의 테스트 세션 프로세스가 수행될 수 없다. 다른 실시예들에서, 상기 프로세스는 테스팅을 수행하기 위해 다수의 테스트 세션을 사용하는 것으로 되돌아 갈 수 있다. 상기 세션-반사기가 단일의 테스트 세션 다수의 DSCP를 서포트하면, 설정-응답 메시지가 상기 제어-클라이언트에 의해 서버로 전송될 준비가 된다. 이러한 설정-응답 메시지는 DSCP 및 ECN 테스팅이 연관된 테스트 세션에서 이용된다는 것을 나타내기 위해 업데이트될 수 있으며(블록 105), 이는 그 테스트 세션이 세션-반사기의 이러한 기능을 이용할 것이라는 것을 의미한다.
다음에, 상기 제어-클라이언트는 세션-반사기가 DSCP 및 ECN 모니터링을 서포트하는지의 여부를 확인한다(블록 107). 상기 세션-반사기가 DSCP 및 ECN 모니터링을 서포트하면, 상기 프로세스는 DSCP 및 ECN 모니터링이 실행되는 것을 나타내기 위해 설정-응답 메시지에 표시자를 추가한다(블록 111). 상기 세션-반사기가 DSCP 및 ECN 모니터링을 서포트하지 않으면, 상기 프로세스는 설정-응답 메시지를 서버로 포워딩한다(블록 115). 다음에, 상기 서버는 TWAMP를 이용하여 테스트 세션의 원하는 구성을 서포트하기 위해 상기 세션-반시기를 구성하도록 이러한 정보 및 피드백을 사용할 수 있다. 이러한 프로세스의 실행은 제어-클라이언트를 실시하는 네트워크 장치에 의해 실행된 TWAMP 모듈을 통해 이루어질 수 있다.
도 1b는 소트트웨어 정의 네트워킹(SDN) 제어기에 의해 실행된 TWAMP 테스트 세션의 오케스트레이터(orchestrator)를 위한 프로세스의 일 실시예의 흐름도이다. 이러한 실시예에서, 세션-반사기 및 세션-전송기의 기능들을 결정하는 프로세스는 상기 중앙 제어기에 의해 실행된 오케스트레이터의 형태인 테스트 세션 매니저에 의해 실행된다. 상기 제어-클라이언트 실행과 마찬가지로, 상기 테스트 세션 매니저는 상기 세션-반사기 및/또는 세션-전송기의 특성을 결정해야 한다(블록 151). 상기 세션-반사기 및/또는 세션-전송기는 그들의 기능을 직접 상기 중앙 제어기의 오케스트레이터로 리포트할 수 있거나, 또는 상기 제어-클라이언트 및 서버는 각각 이들 기능을 리포트할 수 있다. 일단 그러한 기능들이 리포트되면, 상기 세션-반사기가 단일의 테스트 세션에서 다수의 DSCP의 사용을 서포트하는지의 여부를 결정하기 위한 결정이 이루어진다(블록 153). 만약 이것이 서포트되면, 상기 세션-반사기 또는 서버로 전송될 구성 메시지는 DSCP 및 ECN 테스팅이 수행되는 것을 나타내기 위해 업데이트된다(블록 155). 단일의 테스트 세션에서 다수의 DSCP가 서포트되지 않으면, 상기 프로세스는 테스트 세션의 구성을 종료할 수 있으며(블록 159), 이로 인해 상기 세션-반사기는 그것을 서포트할 수 없다. 이는 각각의 DSCP 및 ECN 조합에 대해 각각의 별도의 테스트 세션을 이용하여 표준 DSCP 및 ECN을 사용할 수 있게 한다.
그러한 구성 메시지의 업데이트 후, DSCP 및 ECN 모니터링에 대한 서포트가 세션-반사기 및/또는 세션-전송기에 의해 서포트되는지의 여부 결정이 이루어진다(블록 157). 상기 세션-반사기(및 세션-전송기)가 상기 DSCP 및 ECN 모니터링을 서포트하면, 상기 구성 메시지는 DSCP 및 ECN 모니터링이 사용되는 표시자를 추가하도록 업데이트될 수 있다(블록 161). 상기 DSCP 및 ECN 모니터링이 서포트되지 않으면, 상기 구성 메시지는 완료되고 그러한 구성을 실시하기 위해 그것이 상기 세션-반사기 또는 서버로 전송될 수 있다(블록 165). 세션-반사기의 구성이 기술되었지만, 당업자라면 생성, 설정 및 전송된 유사한 구성 메시지와 동일한 방식으로 DSCP 및 ECN 테스팅을 위해 테스트 세션에 참여하도록 그러한 세션-전송기가 유사하게 구성될 수 있음을 이해할 것이다.
도 2는 TWAMP의 서버의 프로세스의 일 실시예의 흐름도이다. 그러한 서버는 DSCP 및 ECN 테스팅을 위한 TWAMP 테스트 세션을 확립하기 위해 세션-반사기의 구성을 담당한다. 상기 프로세스는 세션-반사기가 TWAMP에 대한 DSCP 및 ECN 모니터링 확장과 단일의 테스트 세션에서 다수의 DSCP를 서포트(예컨대, 단일의 테스트 세션 다수의 DSCP TWAMP 확장을 통해)하는지의 여부를 포함하는 세션-반사기 특성 및 기능을 포함하는 서버 그리팅 메시지를 제어-클라이언트로 전송함으로써 개시될 수 있다(블록 201). 이러한 메시지 전송에 응답하여, 상기 서버는 상기 제어-클라이언트로부터 설정-응답 메시지를 수신할 수 있다. 상기 설정-응답 메시지는 단일의 테스트 세션에서 다수의 DSCP의 사용을 포함하는 테스트 세션 파라미터 및 테스트 세션에 대한 DSCP 및 ECN 모니터링 파라미터를 나타낼 수 있다(블록 203). 다음에, 상기 서버는 수신된 DSCP 및 ECN 테스팅 파라미터에 따라 세션-반사기를 구성할 수 있다(블록 205).
도 3은 TWAMP의 세션-전송기를 위한 프로세스의 일 실시예의 흐름도이다. 상기 제어-클라이언트는 상기 세션-반사기에 의해 TWAMP 테스트 세션을 시작하도록 상기 세션-전송기를 구성한다. 다음에, 상기 세션-전송기는 테스트될 다음 초기 순방향 DSCP 및 ECN을 결정하고, 테스트될 다음 초기 역방향 DSCP 및 ECN을 결정한다(블록 301). 다음에, 상기 세션-전송기는 다음 초기 순방향 DSCP 및 ECN(예컨대, IP 헤더 또는 유사한 위치에서)과 다음 초기 역방향 DSCP 및 ECN(예컨대, 제1테스트 패킷의 페이로드 또는 유사한 위치에서)을 포함하는 제1테스트 패킷을 생성한다(블록 303). 상기 세션-전송기는 단일의 테스트 세션 내에서 사용하기 위한 상기 기술한 바와 같은 선택된 순방향 및 역방향 DSCP 및 ECN을 갖는 상기 생성된 제1테스트 패킷을 전송한다(305). 다른 실시예들에서, 상기 제1테스트 패킷은 세트의 테스트 패킷들 중 하나로서 전송될 수 있다. 이들 테스트 패킷은 동일한 DSCP 및 ECN 조합을 가질 수 있다. 이런 식으로, 상기 프로세스는 상기 세트의 테스트 패킷들 중 일부가 변경되거나 다르게 처리되거나 라우팅될 수 있는지의 여부를 결정할 수 있어, 하나의 테스트 패킷이 아닌 세트를 전송하면 그와 같은 발생을 발견할 가능성이 높아진다. 그러나, 명료성을 위해, 실시예들은 주로 단일의 테스트 패킷을 전송하는 것과 관련하여 기술된다. 당업자는 원칙, 프로세스 및 구조 또한 세트의 테스트 패킷의 사용을 포괄함을 이해할 것이다.
상기 제1테스트 패킷은 테스트될 조합의 세트에 걸쳐 반복되는 소정의 알고리즘을 이용하여 선택될 수 있는 2개 세트의 DSCP 및 ECN을 포함한다. 2개 세트 중 하나는 순방향에 대한 것이고(예컨대, 순방향으로 IP 헤더에 존재할 수 있고), 두번째 세트는 역방향에 대한 것이다(예컨대, 그 세트는 두번째 테스트 패킷이 역방향을 위해 생성될 때 세션-반사기에 의해 사용될 페이로드에 존재할 수 있다). 이런 식으로, 그러한 2개의 방향(즉, 세션-전송기에서 세션-반사기 및 세션-반사기에서 세션-전송기)은 각각 분리되어 별도로 테스트될 수 있다. 지정된 초기 순방향 DSCP 및 ECN이 세션-반사기에 도달하고(즉, 순방향으로) 초기 역방향 DSCP 및 ECN이 세션-전송기에 도착하면(즉, 역방향으로), 이러한 조합을 위한 DSCP 및 ECN 테스팅은 DSCP와 ECN이 각 방향으로 변경되지 않았다는 것을 나타내는 성공적인 것이다. 상기 DSCP 또는 ECN이 어느 방향으로든 변경되면, 단지 왕복 테스팅만이 가능했을 경우(즉, 동일한 DSCP 및 ECN이 순방향 및 역방향으로 사용된) 알려지지 않을 수 있는 특정 방향으로 변경이 일어났다는 것을 알 수 있다.
상기 제1테스트 패킷의 전송에 응답하여, 상기 세션-전송기는 세션-반사기에 도달되는 최종 순방향 DSCP 및 ECN과 최종 역방향 DSCP 및 ECN을 갖는 제2테스트 패킷을 수신한다(블록 307). 상기 각각의 제1테스트 패킷 및 제2테스트 패킷의 순방향 및 역방향 전송은 동일한 테스트 세션에서 발생한다. 그러한 테스트 세션은 개방을 유지하고 이러한 프로세스는 순방향 및 역방향에 이용된 각각의 분리된 별도 세트의 DSCP 및 ECN과 임의의 수의 DSCP 및 ECN 조합을 통해 반복될 수 있다. 상기 제2테스트 패킷이 상기 제1테스트 패킷에 응답하여 전송되지만, 그러한 테스트 패킷의 전송 및 수신은 각각의 분리된 별도의 프로세스에 의해 병렬로 처리될 수 있다. 그러한 프로세스는 명료성을 위해 단일의 프로세스로 나타냈다. 그러나, 세션-반사기에 의해 리턴된 테스트 패킷은 임의의 순서로 처리될 수 있으며, 테스트 패킷의 직렬 처리로 한정하진 않는다.
일부 실시예에서, 수신된 제2테스트 패킷이 유효 테스트 패킷인지의 여부 확인이 이루어진다(블록 309). 그러한 유효성 확인은 수신된 제2테스트 패킷의 콘텐츠 및 포맷을 인증 또는 유사하게 분석할 수 있다. 상기 제2테스트 패킷이 유효하지 않으면, 상기 제1테스트 패킷이 재전송될 수 있다. 유효 응답 제2테스트 패킷을 얻기 위해 제1테스트 패킷을 재전송하기 위한 시도의 횟수에 대한 한계가 주어질 수 있다. 만약 그러한 패킷이 유효하거나 또는 유효성 확인이 이루어지지 않으면, 그 프로세스는 제2테스트 패킷으로부터 최종 순방향 및 최종 역방향 DSCP 및 ECN을 수집하는 것으로 진행한다(블록 311). 이러한 정보는 상호 연관되고 소정 데이터 구조에 저장되어 테스트된 각각의 DSCP 및 ECN 조합의 성공 및 실패의 추적을 가능하게 한다. 세트의 테스트 패킷이 전송 및 수신되는 경우, 각각의 그러한 세트는 개별적으로 또는 그룹으로서 수집되어 분석될 수 있다.
다음에, 모든 순방향 및 역방향 DSCP 및 ECN 조합이 테스트되었는지의 여부 결정이 이루어진다(블록 317). 만약 그렇다면, 지정된 DSCP 및 ECN 조합 모두를 테스팅하는 프로세스가 완료된다(블록 319). 추가적인 DSCP 및 ECN 조합이 순방향 또는 역방향 중 하나로 테스트되는 것으로 유지되면, 다음 DSCP 및 ECN 조합이 테스트되는 것으로 결정한다(블록 301). 다음에, 모든 지정된 서브세트의 DSCP 및 ECN(모든 DSCP 및 ECN 조합 또는 그 서브세트)이 테스트될 때까지 동일한 테스트 세션(즉, 동일한 TCP 커넥션 및 TWAMP 테스트 세션) 내에서 프로세스가 계속된다.
도 4는 TWAMP의 세션-반사기를 위한 프로세스의 일 실시예의 흐름도이다. 그러한 세션-반사기는 서버에 의해 구성된다. 상기 세션-반사기는 테스트 세션 내에서 세션-전송기로부터 제1테스트 패킷을 수신한다(블록 401). 상기 언급한 바와 같이, 상기 제1테스트 패킷은 세트의 테스트 패킷들 중 하나일 수 있으나, 세션-반사기에서 수신됨에 따라 각각 개별적으로 처리된다. 일부의 실시예(나타내지 않음)에서, 상기 제1테스트 패킷은 유효할 수 있으며, 만약 유효하지 않으면 상기 제1테스트 패킷을 재전송하기 위한 요청이 이루어질 수 있다. 상기 세션-반사기는 수신된 제1테스트 패킷을 검사하고 순방향에 대한 최종 DSCP 및 ECN을 식별 및 수집한다(블록 403). 다음에, 역방향에 대한 제2테스트 패킷에서 이용되도록 설정된 DSCP 및 ECN이 식별된다(블록 405). 그러한 역방향에서 사용될 DSCP 및 ECN은 페이로드에 존재하거나 또는 그 수신된 제1테스트 패킷의 유사한 섹션에 존재할 수 있다. 다른 실시예들에서, 그 구성이 중앙 제어기 또는 CLI를 통해 이루어지는 것과 같이, 상기 역방향 DSCP 및 ECN은 서버에 의해 제공되거나 또는 세션-반사기에서 유사하게 구성될 수 있다.
다음에, 제2테스트 패킷이 세션-반사기에 의해 생성된다(블록 407). 역방향에 대한 결정된 DSCP 및 ECN은 소정의 다른 관련 정보와 함께 제2테스트 패킷에 삽입될 수 있다. 상기 제2테스트 패킷에 삽입된 정보는 제1테스트 패킷의 최종 순방향 DSCP 및 ECN을 포함할 수 있으며, 이에 의해 역방향의 테스팅과는 별도로 순방향의 결과를 리포팅한다. 상기 제1테스트 패킷 최종 순방향 DSCP 및 ECN은 상기 제2테스트 패킷의 페이로드에 삽입될 수 있다. 다음에, 생성된 제2테스트 패킷은 상기 프로세스의 임의의 이전 반복 뿐만 아니라 순방향에 대해 사용된 것과 같은 동일한 테스트 세션 내에 세션-전송기 쪽으로 전송된다(블록 409). 실시예들에서, 세션-반사기가 DSCP 및 ECN 모니터링을 서포트하지 않는 경우, 각각의 별도의 역방향 DSCP 및 ECN의 식별이 수행되지 않고 상기 세션-반사기에 의해 수신된 동일한 DSCP 및 ECN이 응답 메시지에서 이용된다.
도 5는 TWAMP의 세션-전송기 엔티티를 위한 프로세스의 예시의 일 실시예의 흐름도이다. 이러한 예시의 실시예에 있어서, 상기 세션-전송기는 초기 역방향 DSCP 및 ECN을 포함하는 페이로드와 초기 순방향 DSCP 및 ECN을 갖는 IP 헤더를 갖춘 제1테스트 패킷을 생성한다(블록 501). 일부 실시예에서, 제1테스트 패킷은 동일한 DSCP 및 ECN을 갖는 소정 수의 테스트 패킷을 갖는 세트의 테스트 패킷의 일부일 수 있다. 페이로드에 위치된 DSCP 및 ECN은 역방향 테스팅을 위해 사용되는 것이다. IP 헤더의 DSCP 및 ECN은 순방향 테스팅을 위한 것이다. 다음에, 상기 제1테스트 패킷이 세션-반사기로 전송된다(블록 503). 상기 제1테스트 패킷에 대한 응답으로, 상기 세션-반사기는 제2테스트 패킷을 리턴한다(블록 505). 그러한 제2테스트 패킷은 상기 세션-전송기에 의해 전송된 초기 순방향 DSCP 및 ECN과 비교될 수 있는, 상기 제1테스트 패킷으로부터 순방향으로 상기 세션-반사기에 의해 수신된 실제 DSCP 및 ECN을 식별하는 페이로드에서의 최종 순방향 DSCP 및 ECN을 포함한다. 상기 제2테스트 패킷의 IP 헤더는 최종 역방향 DSCP 및 ECN을 포함한다. 그러한 최종 역방향 DSCP 및 ECN은 상기 제1테스트 패킷에 포함된 예상된 초기 역방향 DSCP 및 ECN과 비교될 수 있다. 상기 최종 순방향 및 역방향 DSCP 및 ECN이 최초 순방향 및 역방향 DSCP 및 ECN과 다르면, 상기 세션-전송기는 주어진 DSCP 및 ECN이 각각의 순방향 또는 역방향으로 적절히 처리되었는지의 여부를 결정할 수 있다. 이러한 프로세스는 단일의 TWAMP 테스트 세션 내에서 실행될 수 있다.
도 6은 TWAMP의 세션-반사기 엔티티를 위한 다른 프로세스의 예시의 일 실시예의 흐름도이다. 이러한 프로세스는 도 5의 세션-전송기 프로세스를 보충하는 예시의 실시예이다. 프로세스는 세션-반사기에 의해 실행된다. 상기 세션-반사기는 이 세션-반사기로부터 제1테스트 패킷을 수신한다(블록 601). 상기 제1테스트 패킷은 역방향 테스팅에 사용될 초기 역방향 DSCP 및 ECN을 갖는 페이로드를 포함한다. 그 IP 헤더는 순방향의 DSCP 및 ECN이 변경없이 포워딩되는지의 여부를 확인하기 위해 세션-전송기로 리턴될 수 있는 최종 순방향 DSCP 및 ECN인 제2세트의 DSCP 및 ECN을 갖는다.
상기 세션-반사기는 세션-전송기로부터 수신된 메시지의 페이로드에 지정된 초기 역방향 DSCP 및 ECN을 포함하는 IP 헤더를 갖는 제2테스트 패킷을 생성한다(블록 603). 상기 제2테스트 패킷은 또한 수신된 제1테스트 패킷의 IP 헤더로부터 최종 순방향 DSCP 및 ECN을 포함한다. 이는 세션-전송기에 의해 확인될 제2테스트 패킷의 페이로드에 위치될 수 있다. 일단 상기 제2테스트 패킷이 완료되면, 그것은 세션-전송기로 전송될 수 있다(블록 605).
도 7은 TWAMP의 세션-전송기를 위한 다른 프로세스의 예시의 다른 실시예의 흐름도이다. 이러한 대안의 실시예에 있어서, 역방향 테스팅을 위한 DSCP 및/또는 ECN은 제1테스트 패킷으로 전송되지 않는다. 대신, 그것은 제어-클라이언트/세션-전송기 및 서버/세션-반사기에 의해 각각 분리되어 별도로 협정된다. 이러한 경우, 상기 세션-전송기와 세션-반사기간 사용될 DSCP 및 ECN은 TWAMP 제어 메시지의 교환에 의해 또는 유사한 메카니즘을 이용하여 협정된다(블록 701). 다음에, 제1테스트 패킷이 순방향에 대한 협약된(즉, 협정된) 초기 순방향 DSCP 및 ECN을 이용하여 세션-전송기에 의해 생성된다(블록 703). 다음에, 그러한 협약된 초기 순방향 DSCP 및 ECN을 갖는 제1테스트 패킷은 시퀀스 넘버와 함께 세션-반사기로 전송된다(블록 705). 협정되는 그러한 DSCP 및 ECN 조합은 동일한 테스트 세션 내에서 전송될 소정 수의 테스트 패킷에 사용될 수 있으나, 그 시퀀스 넘버는 각각의 테스트 패킷이 생성될 때 증가(advance)될 것이다. 다음에, 동일한 시퀀스 넘버와 함께 제2테스트 패킷은 세션-반사기에 의해 리턴되고 세션-전송기에 의해 수신된다(블록 707). 상기 제2테스트 패킷은 시퀀스 넘버를 이용하여 상기 제1테스트 패킷과 연관된다(블록 709). 일단 연관되면, 검증이 세션-전송기에서 수행될 수 있다. 역방향으로 사용되는 DSCP 및 ECN은 동일하거나 별도로 협정될 수 있다.
도 8은 TWAMP의 세션-반사기 엔티티를 위한 다른 프로세스의 예시의 다른 실시예의 흐름도이다. 이러한 대안의 실시예에 있어서, 역방향 테스팅을 위한 DSCP 및 ECN은 제1테스트 패킷으로 전송되지 않는다. 대신, 그것은 제어-클라이언트/세션-전송기 및 서버/세션-반사기에 의해 각각 분리되어 별도로 협정된다. 이것은 도 7의 세션-전송기를 위한 프로세스에 대한 보충이다. 이러한 경우, 상기 세션-전송기와 세션-반사기간 사용될 역방향 DSCP 및 ECN은 TWAMP 제어 메시지에 의해 또는 유사한 메카니즘을 이용하여 협정된다(블록 801). 다음에, 제1테스트 패킷이 순방향에 대한 협약된 초기 DSCP 및 ECN을 이용하여 세션-반사기에 의해 수신된다(블록 803). 다음에, 그러한 협약된 역방향 DSCP 및 ECN을 갖는 제2테스트 패킷은 수신된 제1테스트 패킷에서 시퀀스 넘버를 이용하여 세션-반사기에 의해 생성된다(블록 805). 상기 협정된 DSCP 및 ECN은 동일한 테스트 세션 내에서 테스트될 소정 수의 테스트 패킷에 사용될 수 있으나, 그 시퀀스 넘버는 각각의 테스트 패킷이 테스트 패킷들간 차별화하기 위해 생성될 때 증가될 것이다. 다음에, 동일한 시퀀스 넘버와 함께 제2테스트 패킷이 세션-반사기에 의해 전송된다(블록 807).
도 9는 세션-전송기와 세션-반사기간 예시의 테스트 세션이다. 이러한 예시는 세션-반사기와 통신하는 세션-전송기의 시나리오를 나타낸다. 상기 세션-전송기 및 세션-반사기는 그 세션-전송기와 세션-반사기간 전송 제어 프로토콜(TCP)과 같은 커넥션을 확립한다. 상기 세션-전송기는 DSCP 및 ECN 모니터(예컨대, 테스트 세션 매니저의 일부 또는 유사한 요소)를 포함한다. 상기 세션-전송기는 역방향에 대한 초기 역방향 DSCP 및 ECN(예컨대, DSCP A1 및 ECN B1)을 갖는 페이로드 및 다른 DSCP 및 ECN 조합(예컨대, DSCP X1 및 ECN Y1)을 갖는 IP 헤더를 포함하는 제1테스트 패킷을 생성 및 전송한다. 루트(route)를 따라 제1테스트 패킷은 DSCP가 Z1이 되도록 변경된다. 그러한 DSCP 및 ECN은 소정의 중간 네트워크 장치에 의해 변경될 수 있다.
상기 세션-반사기는 IP 및 UDP 또는 TCP 포트를 통해 상기 제1테스트 패킷을 수신한다. 상기 세션-반사기는 테스트 세션 매니저 또는 유사한 요소에 DSCP 및 ECN 패킷 프로세서를 포함할 수 있다. 상기 세션-반사기는 제1테스트 패킷 페이로드에 지정된 DSCP 및 ECN을 포함하는 IP 헤더를 갖는 제2테스트 패킷을 생성한다. 상기 제1테스트 패킷 IP 헤더(예컨대, DSCP Z1 및 ECN Y1)에서 수신된 상기 최종 순방향 DSCP 및 ECN은 또한 상기 세션-전송기에서 검증될 페이로드의 제2테스트 패킷에 추가된다. 수신된 제1테스트 패킷 페이로드에 지정된 초기 역방향 DSCP 및 ECN(예컨대, DSCP A1 및 ECN B1)은 전송된 제2테스트 패킷에서 IP 헤더 DSCP 및 ECN으로서 사용된다. 상기 전송된 제2테스트 패킷은 세션-전송기에서 수신된다. 이러한 예시의 케이스에서, 그러한 IP 헤더의 ECN은 변경된다(예컨대, ECN C1). 따라서, 순방향 및 역방향의 테스팅은 세션-전송기가 순방향 및 역방향의 방향으로 특정한 DSCP 및 ECN의 변경을 식별할 수 있도록 구분된다.
이러한 흐름도 및 다른 흐름도들의 동작들은 다른 도면들의 예시의 실시예들을 참조하여 기술될 것이다. 그러나, 그러한 흐름도들의 동작들은 다른 도면들을 참조하여 기술한 것 외에 본 발명의 실시예들에 의해 수행될 수 있으며, 이들 다른 도면들을 참조하여 기술한 본 발명의 실시예들은 그러한 흐름도들을 참조하여 기술한 것들과 다른 동작들을 수행할 수 있다는 것을 알아야 할 것이다.
구성
도 10a는 본 발명의 일부 실시예에 따른 예시의 네트워크 내에서의 네트워크 장치(ND)들간의 연결 뿐만 아니라 그러한 네트워크 장치(ND)들의 3개의 예시의 구현을 나타낸다. 도 10a는 ND(1000A-H)들을 나타내며, 그리고 H와 각각의 A, C, D 및 G 사이 뿐만 아니라 A-B, B-C, C-D, D-E, E-F, F-G 및 A-G 사이의 라인을 통한 그것들의 연결을 나타낸다. 이러한 ND들은 물리적 장치이며, 이러한 ND들간의 연결은 무선 또는 유선 연결(종종 링크라 칭하는)일 수 있다. ND(1000A, 1000E, 및 1000F)들로부터 확장되는 추가의 라인은 이러한 ND들이 네트워크의 입구 및 출구 지점으로 작용함을 나타낸다(그리고, 이에 따라 이러한 ND들은 때때로 에지 ND라고하며; 다른 ND들은 코어 ND라고 할 수 있다).
도 10a에서 다음과 같은 2개의 예시 구현의 ND가 있다: 1) 주문형 집적회로(ASIC) 및 독점 운영 시스템(OS)을 사용하는 특수-목적 네트워크 장치(1002); 및 2) COTS(common-off-the-shelf) 프로세서 및 표준 OS를 사용하는 범용 네트워크 장치(1004).
상기 특수-목적의 네트워크 장치(1002)는 컴퓨트 리소스(들)(1012; 통상 하나 이상의 프로세서 세트를 포함하는), 포워딩 리소스(들)(1014; 통상 하나 이상의 ASIC 및/또는 네트워크 프로세서들), 및 물리적 네트워크 인터페이스(NIs)(1016; 종종 물리적 포트라고 부르는) 뿐만 아니라, 내부에 네트워킹 소프트웨어(1020)가 저장된 비일시적 기계 판독가능 스토리지 매체(1018)를 포함하는 네트워킹 하드웨어(1010)를 포함한다. 물리적 NIs는, ND(1000A-H)들간 연결로 나타낸 것과 같이, 네트워크 커넥션(예컨대, 무선 네트워크 인터페이스 제어기(WNIC)를 통한 무선 연결 또는 네트워크 인터페이스 제어기(NIC)에 연결된 물리적 포트에 대한 케이블 연결)이 이루어지는 ND에서의 하드웨어이다. 동작 동안, 상기 네트워킹 소프트웨어(1020)는 하나 이상의 네트워킹 소프트웨어 인스턴스(instance)(1022)의 세트를 인스턴스화(instantiate)하기 위해 상기 네트워크 하드웨어(1010)에 의해 실행될 수 있다. 각각의 네트워킹 소프트웨어 인스턴스(들)(1022) 및 그 네트워크 소프트웨어 인스턴스를 실행하는 네트워킹 하드웨어(1010)의 부분{다른 네트워킹 소프트웨어 인스턴스(들)(1022)와 그 네트워킹 소프트웨어 인스턴스에 의해 일시적으로 공유되는 하드웨어의 타임 슬라이스 및/또는 그 네트워킹 소프트웨어 인스턴스에 전용인 하드웨어}은 각각의 별도의 가상 네트워크 요소(1030A-R)를 형성한다. 그러한 각각의 가상 네트워크 요소(들)(VNE)(1030A-R)는 제어 통신 및 구성 모듈(1032A-R; 종종 로컬 제어 모듈 또는 제어 통신 모듈이라고 부르는) 및 포워딩 테이블(들)(1034A-R)을 포함하며, 주어진 가상 네트워크 요소(예컨대, 1030A)는 제어 통신 및 구성 모듈(예컨대, 1032A), 하나 이상의 포워딩 테이블(들)(예컨대, 1034A), 및 상기 가상 네트워크 요소(예컨대, 1030A)를 실행하는 네트워킹 하드웨어(1010)의 부분을 포함한다.
소프트웨어(1020)는 네트워킹 하드웨어(1010)에 의해 실행될 때 네트워킹 하드웨어(1010)가 부분 네트워킹 소프트웨어 인스턴스(1022)로서 본 발명의 하나 이상의 실시예의 동작들을 수행하게 하는 코드를 포함할 수 있다. 그러한 소프트웨어(1020)는 서버, 제어-클라이언트, 세션-전송기 및/또는 세션-반사기의 방법을 실행하는 DSCP 및 ECN 패킷 프로세서 및/또는 DSCP 및 ECN 모니터를 수반하는 테스트 세션 매니저(1064A)를 포함할 수 있다. 일 실시예에서, 상기 테스트 세션 매니저(1064A)는 서버 또는 제어-클라이언트에 의해 실행되고, DSCP 및 ECN 모니터링은 세션-전송기에 의해 실행되며, DSCP 및 ECN 패킷 프로세서는 세션-반사기에 의해 실행된다.
상기 특수-목적의 네트워크 장치(1002)는 종종 다음을 포함하도록 물리적으로 그리고/또 논리적으로 고려된다: 1) 제어 통신 및 구성 모듈(들)(1032A-R)을 실행하는 컴퓨트 리소스(들)(1012)를 포함하는 ND 제어 플레인(1024; 종종 제어 플레인이라고 부르는); 및 2) 포워딩 테이블(들)(1034A-R) 및 물리적 NIs(1016)를 이용하는 포워딩 리소스(들)(1014)를 포함하는 ND 포워딩 플레인(1026; 종종 포워딩 플레인(forwarding plane), a 데이터 플레인(data plane), or a 미디어 플레인이라 부르는). 예로서, ND가 라우터인 경우(또는 라우팅 기능을 실행하는 경우), 상기 ND 제어 플레인 1024(제어 통신 및 구성 모듈(들)(1032A-R)을 실행하는 컴퓨트 리소스(들)(1012))는 통상 데이터(예컨대, 패킷들)가 라우팅되는(예컨대, 데이터에 대한 다음 홉(hop) 및 해당 데이터에 대한 아웃고잉(outgoing) 물리적 NI) 방식을 제어하고 그 라우팅 정보를 포워딩 테이블(들)(1034A-R)에 저장하는데 참여하는 것을 담당하고, ND 포워딩 플레인(1026)은 물리적 NIs(1016) 상의 그 데이터를 수신하고 그 데이터를 포워딩 테이블(들)(1034A-R)에 기초하여 물리적 NIs(1016) 중 적절한 것들로 전송하는 것을 담당한다.
도 10b는 본 발명의 일부 실시예들에 따른 특수-목적의 네트워크 장치(1002)를 실시하기 위한 예시의 방식을 나타낸다. 도 10b는 카드(1038; 통상 핫 플러그블(hot pluggable))를 포함하는 특수-목적의 네트워크 장치를 나타낸다. 일부 실시예들에서 상기 카드(1038)가 2가지 타입{하나 이상이 ND 포워딩 플레인(1026)으로 동작하고(종종 라인 카드라 부르는), 하나 이상이 ND 제어 플레인(1024)을 실행하도록 동작하는(종종 제어 카드라 부르는)}이지만, 대안의 실시예들은 기능을 단일의 카드 상에 결합하고 그리고/또 추가의 카드 타입(예컨대, 하나의 추가적인 타입의 카드를 서비스 카드, 리소스 카드 또는 다중-애플리케이션 카드라고 부르는)을 포함할 수 있다. 서비스 카드는 특별한 처리를 위해 제공될 수 있다{예컨대, 계층 4 내지 계층 7 서비스(예컨대, 방화벽, 인터넷 프로토콜 보안(IPsec), 보안 소켓 계층(SSL)/전송 계층 보안(TLS), 침입 탐지 시스템(IDS), 피어-투-피어(P2P), 보이스 오버 IP(VoIP) 세션 경계 제어기, 모바일 무선 게이트웨이(게이트웨이 범용 패킷 무선 서비스(GPRS) 서포트 노드(GGSN), 진화된 패킷 코어(EPC) 게이트웨이)}. 예로서, 서비스 카드는 IPsec 터널을 종료하고 교환원 인증 및 암호화 알고리즘을 실행하는 데 사용될 수 있다. 이들 카드는 백플레인(1036; backplane)으로 나타낸 하나 이상의 상호연결 메카니즘을 통해 함께 연결된다(예컨대,, 라인 카드를 연결하는 제1풀 메쉬(full mesh) 및 모든 카드를 연결하는 제2풀 메쉬).
도 10a로 되돌아 가서, 상기 범용 네트워크 장치(1004)는 세트의 하나 이상의 프로세서(들)(1042; 종종 COTS 프로세서인) 및 네트워크 인터페이스 제어기(들)(1044; 물리적 NIs 1046를 포함)(NIC; 네트워크 인터페이스 카드라고도 알려진) 뿐만 아니라, 내부에 소프트웨어(1050)를 저장하고 있는 비일시적 기계 판독가능 스토리지 매체(1048)를 포함하는 하드웨어(1040)를 포함한다. 동작 동안, 상기 프로세서(들)(1042)는 하나 이상의 세트의 하나 이상의 애플리케이션(1064A-R)을 인스턴스화하기 위해 상기 소프트웨어(1050)를 실행한다. 일 실시예가 가상화를 실시하지는 않지만, 대안의 실시예들은 가상화 계층(1054) 및 소프트웨어 컨테이너(1062A-R)로 나타내는 상이한 형태의 가상화를 사용할 수 있다. 예를 들어, 하나의 그와 같은 대안의 실시예는 동작 시스템-레벨 가상화를 실시하며, 그러한 경우 가상화 계층(1054)은 세트의 애플리케이션(1064A-R)들 중 하나를 각각 실행하는 데 사용될 수 있는 다수의 소프트웨어 컨테이너(1062A-R)의 생성을 허용하는 동작 시스템의 커널(또는 베이스 동작 시스템 상에서 실행되는 심(shim))을 나타낸다. 이러한 실시예에서, 다수의 소프트웨어 컨테이너(1062A-R)(가상화 엔진, 가상 사설 서버 또는 제일(jail)이라고도 함)는 각각 사용자 공간 인스턴스(통상적으로 가상 메모리 공간)이고; 이들 사용자 공간 인스턴스는 서로 별개이며 동작 시스템이 실행되는 커널 공간과 별개이며; 주어진 사용자 공간에서 실행중인 응용 프로그램 세트는 명시적으로 허용되지 않는 한 다른 프로세스의 메모리에 액세스할 수 없다. 다른 그와 같은 대안의 실시예는 완전 가상화를 실시하며, 그 경우 1) 가상화 계층(1054)은 호스트 동작 시스템의 상부에서 실행되는 하이퍼비저(hypervisor; 종종 가상 머신 모니터(VMM)라고 부르는)를 나타내고, 2) 소프트웨어 컨테이너(1062A-R) 각각은 상기 하이퍼비저에 의해 실행되고 게스트 동작 시스템을 포함하는 가상 머신이라 부르는 완전히 분리된 형태의 소프트웨어 컨테이너를 나타낸다. 가상 머신은 프로그램이 물리적 비가상화 머신 상에서 실행되는 것처럼 그 프로그램을 실행하는 물리적 머신의 소프트웨어 구현이며, 애플리케이션은 일반적으로 동작 시스템 또는 애플리케이션이 최적화의 목적으로 가상화의 존재를 인식하게 하는 반-가상화(para-virtualization)를 일부 시스템이 제공하지만, "베어 메탈(bare metal)" 호스트 전자 장치에서 실행되는 것과는 달리 가상 머신에서 실행되고 있음을 알지 못한다.
구현되는 경우, 가상화 계층(1054) 및 소프트웨어 컨테이너(1062A-R) 뿐만 아니라 하나 이상의 애플리케이션(1064A-R)의 하나 이상의 세트의 인스턴스화는 소프트웨어 인스턴스(1052)로 통칭한다. 각각의 세트의 애플리케이션(1064A-R), 대응하는 소프트웨어 컨테이너(1062A-R), 및 이들을 실행하는 하드웨어(1040)(소프트웨어 컨테이너(1062A-R)에 의해 일시적으로 공유되는 하드웨어의 타임 슬라이스 및/또는 실행 전용 하드웨어)의 부분은 별도의 가상 네트워크 요소(들)(1060A-R)를 형성한다.
상기 가상 네트워크 요소(들)(1060A-R)는 가상 네트워크 요소(들)(1030A-R)와 유사한 기능, 예컨대 제어 통신 및 구성 모듈(들)(1032A)과 포워딩 테이블(들)(1034A)과 유사한 기능을 수행한다(이러한 하드웨어(1040)의 가상화는 종종 네트워크 가상화(NFV)라 부른다). 따라서, NFV는 많은 네트워크 장비 타입을 데이터 센터, ND, 및 고객 구내 장비(CPE; customer premise equipment)에 위치될 수 있는 업계 표준 대용량 서버 하드웨어, 물리적 스위치, 및 물리적 스토리지에 통합하는 데 사용될 수 있다. 그러나, 본 발명의 각기 다른 실시예들은 하나 이상의 소프트웨어 컨테이너(들)(1062A-R)를 다르게 실시할 수 있다. 예를 들어, 본 발명의 실시예들이 각각 다른 소프트웨어 컨테이너(1062A-R)로 기술되었지만, 대안의 실시예들은 미세한 레벨 세분성(예컨대, 라인 카드 가상 머신들이 라인 카드를 가상화하고, 제어 카드 가상 머신이 제어 카드를 가상화하는 등)으로 이러한 대응을 구현할 수 있다. VNE에 대한 소프트웨어 컨테이너(1062A-R)의 대응을 참조하여 본원에 기술된 기술은 또한 미세한 레벨의 세분성이 사용되는 실시예들에 적용된다는 것을 이해해야 한다.
특정 실시예들에서, 가상화 계층(1054)은 물리적 이더넷 스위치와 유사한 포워딩 서비스를 제공하는 가상 스위치를 포함한다. 특히, 이러한 가상 스위치는 소프트웨어 컨테이너(1062A-R)들과 NIC(들)(1044)간 뿐만 아니라, 옵션으로 그러한 소프트웨어 컨테이너(1062A-R)들간 트래픽을 포워딩한다. 게다가, 이러한 가상 스위치는 정책에 의해 서로 통신하는 것이 허용되지 않는 VNE(1060A-R)들간 네트워크 격리를 강제할 수 있다(예컨대, 가상 근거리 통신망(VLAN)을 승낙함으로써).
소프트웨어(1050)는 프로세서(들)(1042)에 의해 실행될 때 프로세서(들)(1042)가 부분 소프트웨어 컨테이너(1062A-R)로서 본 발명의 하나 이상의 실시예들의 동작들을 수행하게 하는 코드를 포함할 수 있다. 상기 소프트웨어(1050)는 서버, 제어-클라이언트, 세션-전송기 및/또는 세션-반사기의 방법들을 실시하는 DSCP 및 ECN 모니터 및/또는 DSCP 및 ECN 패킷 프로세서를 포함하는 테스트 세션 매니저(1065A)를 포함할 수 있다. 일 실시예에서, 상기 테스트 세션 매니저(1064A)는 서버 또는 제어-클라인언트에 의해 실행되고, DSCP 및 ECN 모니터링은 세션-전송기에 의해 실행되며, DSCP 및 ECN 패킷 프로세서는 세션-반사기에 의해 실행된다.
도 10a에서의 제3의 예시의 ND 구현은 하나의 ND 내에 고객 주문형 ASIC/독점 OS 및 COTS 프로세서/표준 OS 또는 ND 내에 단일의 카드를 모두 포함하는 하이브리드 네트워크 장치(1006)이다. 그와 같은 하이브리드 네트워크 장치의 특정 실시예들에서, 플랫폼 VM(즉, 특수-목적의 네트워크 장치(1002)의 기능을 실행하는 VM)은 하이브리드 네트워크 장치(1006)에 제공된 네트워킹 하드웨어에 반가상화를 제공할 수 있다.
상기 예시의 ND 구현에 상관없이, ND에 의해 실시된 다수의 VNE들 중 단 하나가 고려되는 경우(예컨대, VNE들 중 단 하나만이 주어진 가상 네트워크의 일부 인) 또는 단 하나의 VNE가 ND에 의해 현재 실시되는 경우, 단축 용어 네트워크 요소(NE)가 때때로 그 VNE를 지칭하기 위해 사용된다. 또한, 상기 예시의 구현 모두에서, 각각의 VNE(VNE들 1030A-R, VNE들 1060A-R, 및 하이브리드 네트워크 장치(1006) 내의 것들)들은 물리적 NIs(예컨대, 1016, 1046)에 관한 데이터를 수신하고 그 데이터를 물리적 NIs(예컨대, 1016, 1046) 중 적절한 것들로 포워딩한다. 예를 들어, IP 라우터 기능을 실행하는 VNE는 IP 패킷 내의 일부의 IP 헤더 정보의 기준에 대한 IP패킷을 포워딩하며, 여기서 IP 헤더 정보는 소스 IP 주소, 목적지 IP 주소, 소스 포트, 목적지 포트(여기서 "소스 포트" 및 "목적지 포트"는 본원에서 ND의 물리적 포트와 대조적으로 프로토콜 포트와 관련됨), 전송 프로토콜(예컨대, 사용자 데이터그램 프로토콜(UDP), 전송 제어 프로토콜(TCP), 및 차별화된 서비스 코드 포인트(DSCP) 값들을 포함한다.
도 10c는 본 발명의 일부 실시예에 따른 VNE들이 연결될 수 있는 다양한 예시의 방식들을 나타낸다. 도 10c는 DN(1000A)에서 실시된 VNE(1070A.1-1070A.P; 및 옵션으로 VNE(1070A.Q-1070A.R)들)들 및 ND(1000H)의 VNE(1070H.1)를 나타낸다. 도 10c에서, VNE(1070A.1-P)들은 ND(1000A) 외부에서 패킷들을 수신하고 ND(1000A) 외부로 패킷을 포워딩할 수 있다는 점에서 서로 분리되어 있다. VNE (1070A.1)는 VNE(1070H.1)와 연결되며, 이에 따라 그것들은 그들 각각의 ND들간 패킷을 통신한다. VNE(1070A.2-1070A.3)는 ND(1000A) 외부로 패킷을 포워딩하지 않고 패킷을 선택적으로 그들간 포워딩할 수 있다. VNE(1070A.P)는 선택적으로 VNE(1070A.Q) 다음에 VNE(1070A.R)가 포함된 VANE 체인의 첫번째 요소일 수 있다(이것은 때때로 일련의 VNE들 내의 각각의 VNE가 상이한 서비스, 예컨대 하나 이상의 계층 4-7 네트워크 서비스들을 제공하는 동적 서비스 체인화라고도 한다). 도 10c는 VNE들간의 다양한 예시의 관계를 나타내지만, 대안의 실시예들은 다른 관계들(예컨대, 더 많거나/더 적은 VNE들, 더 많거나/더 적은 동적 서비스 체인들, 일부 공통의 VNE들 및 일부 상이한 VNE들을 갖는 다수의 상이한 동적 서비스 체인)을 서포트할 수 있다.
예를 들어, 도 10a의 ND들은 인터넷 또는 사설 네트워크의 일부를 형성하며, 다른 전자 장치(나타내지 않음; 워크스테이션, 랩톱, 넷북, 태블릿, 팜 톱, 모바일 폰, 스마트폰, 패블릿, 멀티미디어 폰, 보이스 오버 인터넷 프로토콜(VOIP; Voice over Internet Protocol) 폰, 단말기, 휴대용 미디어 플레이어, GPS 장치, 웨어러블 장치, 게이밍 시스템, 셋톱 박스, 인터넷 가능 가전 제품을 포함하는 최종 사용자 장치들과 같은)들은 네트워크(예컨대, 인터넷 또는 이러한 인터넷 상에 중첩 된(예컨대, 터널링된) 가상 사설 네트워크(VPN)들)를 통해 서로 통신하고 그리고/또 콘텐츠 및/또는 서비스에 액세스기 위해 네트워크(직접적으로 또는 액세스 네트워크들과 같은 다른 네트워크들을 통해)에 결합될 수 있다. 그와 같은 콘텐츠 및/또는 서비스는 통상 피어-투-피어(P2P) 서비스에 참여하는 하나 이상의 최종 사용자 장치(나타내지 않음) 또는 서비스/콘텐츠 공급자에 속하는 하나 이상의 서버(나타내지 않음)에 의해 제공되며, 예를 들어 공공 웹페이지(예컨대, 무료 콘텐츠, 스토어 프론트(store front), 검색 서비스), 사설 웹페이지(예컨대, 이메일 서비스를 제공하는 웹페이지에 접속한 사용자명/패스워드), 및/또는 VPN을 통한 기업 네트워크를 포함할 수 있다. 예를 들어, 최종 사용자 장치는 서버로서 작용하는 전자 장치들에 연결된 다른 에지 ND들에 연결되는 에지 ND들에 연결될 수 있다(예컨대, 액세스 네트워크에 연결된(유선 또는 무선으로) 고객 구내 장비를 통해). 그러나, 컴퓨트 및 스토리지 가상화를 통해, 도 10a에서 ND로서 동작하는 하나 이상의 전자 장치들은 또한 하나 이상의 그와 같은 서버들을 호스팅할 수 있으며{예컨대, 범용 네트워크 장치(1004)의 경우, 하나 이상의 소프트웨어 컨테이너(1062A-R)들은 서버로서 동작하고; 하이브리드 네트워크 장치(1006)에 대해서도 마찬가지이며; 특수-목적의 네트워크 서비스(1002)의 경우, 하나 이상의 그와 같은 서버는 또한 컴퓨트 리소스(들)(1012)에 의해 실행된 가상화 계층에서 실행될 수 있음}, 그러한 경우 상기 서버들은 해당 ND의 VNE들과 공동 위치에 위치된다.
가상 네트워크는 네트워크 서비스(예컨대, L2 및/또는 L3 서비스)를 제공하는 물리적 네트워크(도 10a에서의 것과 같은)의 논리적 추상화이다. 가상 네트워크는 언더레이(underlay) 네트워크{예컨대, 오버레이 네트워크를 생성하기 위해 터널(예컨대, 범용 라우팅 캡슐화(GRE), 계층 2 터널링 프로토콜(L2TP), IPSec)를 사용하는 인터넷 프로토콜(IP) 네트워크와 같은 L3 네트워크}를 통해 네트워크 서비스(예컨대, 계층 2(L2, 데이터 링크 계층) 및/또는 계층 3(L3, 네트워크 계층) 서비스)들을 제공하는 오버레이(overlay) 네트워크(때때로 네트워크 가상화 오버레이라고 부르는)로서 실시될 수 있다.
네트워크 가상화 에지(NVE)는 언더레이 네트워크의 에지에 위치하여 네트워크 가상화를 구현하는 데 참여하며, 네트워크 대면측의 상기 NVE는 다른 NVE들로 그리고 그로부터 프레임들을 터널링하도록 상기 언더레이 네트워크를 사용하고, 바깥쪽 대면측의 상기 NVE는 네트워크 외부의 시스템으로 그리고 그로부터 데이터를 전송 및 수신한다. 가상 네트워크 인스턴스(VNI)는 NVE(예컨대, ND 상의 NE/VNE, ND 상의 NE/VNE의 일부, 여기서 NE/VNE가 에뮬레이션(emulation)을 통해 다수의 VNE들로 분할됨) 상의 가상 네트워크의 특정 인스턴스이고, 하나 이상의 VNI는 NVE 상에서 인스턴스화될 수 있다(예컨대, ND 상의 다른 VNE들로). 가상 액세스 포인트(VAP)는 외부 시스템을 가상 네트워크에 연결하기 위한 NVE 상의 논리 커넥션 포인트이고, VAP는 논리 인터페이스 식별자(예컨대, VLAN ID)를 통해 식별된 물리 또는 가상 포트일 수 있다.
네트워크 서비스의 예들로는 1) 외부 시스템들이 언더레이 네트워크에 걸친 LAN 환경에서 네트워크를 가로질러 상호연결된 이더넷 LAN 에뮬레이션 서비스(국제 인터넷 표준화 기구(IETF) 멀티프로토콜 라벨 스위칭(MPLS)과 유사한 이더넷-기반 멀티포인트 서비스 또는 이더넷 VPN(EVPN) 서비스)(예컨대, NVE는 상이한 그와 같은 가상 네트워크들 위한 각각의 별도의 L2 VNI(가상 스위칭 인스턴스)들, 및 언더레이 네트워크에 걸친 L3(예컨대, IP/MPLS) 터널링 캡슐화를 제공함); 및 2) 외부 시스템들이 언더레이 네트워크에 걸친 L3 환경에서 네트워크를 가로질러 상호연결된 가상화된 IP 포워딩 서비스(서비스 정의 관점에서 IETF IP VPN(예컨대, 경계 게이트웨이 프로토콜(BGP)/MPLS IPVPN)와 유사함)(예컨대, NVE는 상이한 그와 같은 가상 네트워크들 위한 각각의 별도의 L3 VNI(포워딩 및 라우팅 인스턴스)들, 및 언더레이 네트워크에 걸친 L3(예컨대, IP/MPLS) 터널링 캡슐화를 제공함)를 포함한다. 네트워크 서비스는 또한 서비스 품질 기능(예컨대, 트래픽 분류 마킹, 트래픽 컨디셔닝 및 스케줄링), 보안 기능(예컨대, 네트워크-기원의 공격으로부터 고객 구내를 보호하고, 잘못된 루트 공지를 피하기 위한 필터), 및 관리 기능(예컨대, 완전 검출 및 처리)을 포함할 수 있다.
도 10d는 본 발명의 일부 실시예에 따른, 도 10a의 각각의 ND에서 단일의 네트워크 요소(NE)를 갖는 네트워크를 도시하며, 이러한 직진형 접근방식은 도달 가능성 및 포워딩 정보(네트워크 제어라고도 부르는)를 유지하기 위한 중앙집중형 접근방식을 갖는 기존의 분산형 접근방식(통상 기존의 라우터에 의해 사용된)과 대조된다. 특히, 도 10d는 도 10a의 ND(1000A-H)들과 동일한 연결성을 갖는 네트워크 요소 NE(1070A-H)들을 나타낸다.
도 10d는 분산형 접근방식(1072)이 NE(1070A-H)들을 통해 도달 가능성 및 포워딩 정보를 생성할 책임을 분산시키는 것을 나타낸다. 즉, 이웃 탐색 및 토폴로지(topology) 탐색이 분산된다.
예를 들어, 특수-목적의 네트워크 장치(1002)가 사용된 경우, ND 제어 플레인(1024)의 제어 통신 및 구성 모듈(들)(1032A-R)은 통상 하나 이상의 라우팅 프로토콜(예컨대, 경계 게이트웨이 프로토콜(BGP)과 같은 외부 게이트웨이 프로토콜, 내부 게이트웨이 프로토콜(들)(IGP)(예컨대, 개방형 최단 경로 우선(OSPF; Open Shortest Path First), 중간 시스템-중간 시스템(IS-IS; Intermediate System to Intermediate System), 라우팅 정보 프로토콜(RIP)), 라벨 분산 프로토콜(LDP), 리소스 예약 프로토콜(RSVP) 뿐만 아니라, RSVP-트래픽 엔지니어링(TE): 즉, LSP 터널을 위한 RSVP에 대한 확장, 루트를 교환하고, 이후 이들 루트를 하나 이상의 라우팅 메트릭에 기초하여 선택하기 위해 다른 NE들과 통신하는 일반화된 멀티-프로토콜 라벨 스위칭(GMPLS) 시그널링 RSVP-TE를 실시하기 위한 도달 가능성 및 포워딩 정보를 포함한다. 따라서, NE(1070A-H; 제어 통신 및 구성 모듈(들)(1032A-R)을 실행하는 컴퓨트 리소스(들)(1012))들은 네트워크 내에 도달 가능성을 분산적으로 결정하고 그들 각각의 포워딩 정보를 계산함으로써 데이터(예컨대, 패킷들)가 라우팅되는(예컨대, 데이터에 대한 다음 홉 및 해당 데이터에 대한 아웃고잉 물리적 NI) 방식을 제어하기 위한 그들의 임무를 수행한다. 루트 및 인접은 ND 제어 플레인(1024) 상의 하나 이상의 라우팅 구조(예컨대, 라우팅 정보 베이스(RIB), 라벨 정보 베이스(LIB), 하나 이상의 인접 구조)에 저장된다. 상기 ND 제어 플레인(1024)은 그러한 라우팅 구조(들)에 기초한 정보(예컨대, 인접 및 루트 정보)로 ND 포워딩 플레인(1026)을 프로그램한다. 예를 들어, 상기 ND 제어 플레인(1024)은 상기 ND 포워딩 플레인(1026) 상의 하나 이상의 포워딩 테이블(들)(1034A-R)(예컨대, 포워딩 정보 베이스(FIB), 라벨 포워딩 정보 베이스(LFIB), 및 하나 이상의 인접 구조)에 그러한 인접 및 루트 정보를 프로그램한다. 계층 2 포워딩의 경우, ND는 해당 데이터에서의 계층 2 정보에 기초하여 데이터를 포워딩하는 데 사용되는 하나 이상의 브릿징 테이블을 저장할 수 있다. 상기한 예가 특수-목적의 네트워크 장치(1002)를 이용하지만, 그 동일한 분산형 접근방식(1072)은 범용 네트워크 장치(1004) 및 하이브리드 네트워크 장치(1006)에서 실시될 수 있다.
도 10 d는 트래픽을 선택된 목적지로 포워딩하는 하위 시스템으로부터 트래픽이 전송되는 장소에 대한 결정을 하는 시스템을 분리하는 중앙집중형 접근방식(1074; 소프트웨어 정의 네트워킹(SDN)으로도 알려진)을 나타낸다. 나타낸 중앙집중형 접근방식(1074)은 중앙집중형 제어 플레인(1076)(때때로 SDN 제어 모듈, 제어기, 네트워크 제어기, OpenFlow 제어기, SDN 제어기, 제어 플레인 노드, 네트워크 가상화 기관 , 또는 관리 제어 엔티티라고도 함)에서 도달 가능성 및 포워딩 정보의 생성에 대한 책임이 있으며, 따라서 이웃 탐색 및 토폴로지 탐색의 프로세스가 중앙집중된다. 중앙집중형 제어 플레인(1076)은 NE들(1070A-H)(때때로 스위치, 포워딩 요소, 데이터 플레인 요소 또는 노드라고도 함)을 포함하는 데이터 플레인(1080)(인프라구조 계층, 네트워크 포워딩 플레인, 또는 포워딩 플레인(ND 포워딩 플레인과 혼동해서는 안 됨)이라고도 함)을 갖는 사우스 바운드 인터페이스(1082; south bound interface)를 갖는다. 중앙집중형 제어 플레인(1076)은 네트워크 내의 도달 가능성을 결정하고 포워딩 정보를 사우스 바운드 인터페이스(1082)를 통해 데이터 플레인(1080)의 NE(1070A-H)들로 분산시키는 중앙집중 도달 가능성 및 포워딩 정보 모듈(1079)을 포함하는 네트워크 제어기(1078)를 포함한다(OpenFlow 프로토콜을 사용할 수 있음). 따라서, 네트워크 인텔리전스는 통상적으로 ND들과 분리된 전자 장치들 상에서 실행되는 중앙집중형 제어 플레인(1076)에 중앙집중된다.
예를 들어, 특수-목적의 네트워크 장치(1002)가 데이터 플레인(1080)에서 사용되는 경우, ND 제어 플레인(1024)의 제어 통신 및 구성 모듈(들)(1032A-R) 각각은 통상적으로 사우스 바운드 인터페이스(1082)의 VNE 측을 제공하는 제어 에이전트를 포함한다. 이러한 경우, ND 제어 플레인(1024)(제어 통신 및 구성 모듈(들)(1032A-R)을 실행하는 컴퓨트 리소스(들)(1012))은 중앙집중 도달 가능성 및 포워딩 정보 모듈(1079)로부터 포워딩 정보(및 일부의 경우, 도달 가능성 정보)를 수신하기 위해 중앙집중형 제어 플레인(1076)과 통신하는 제어 에이전트를 통해 데이터(예컨대, 패킷들)가 라우팅되는(예컨대, 데이터에 대한 다음 홉 및 해당 데이터에 대한 아웃고잉 물리적 NI) 방식을 제어하는 데 참여하기 위한 책임을 수행한다(본 발명의 일부 실시예들에서, 제어 통신 및 구성 모듈(들)(1032A-R)은 또한, 중앙집중형 제어 플레인(1076)과 통신하는 것 외에, 분산형 접근방식의 경우보다 정보가 적을 지라도, 도달 가능성을 결정하고 그리고/또 포워딩 정보를 계산하는 데 어느 정도의 역할을 할 수 있다는 것을 알아야 하며; 그와 같은 실시예는 일반적으로 중앙집중형 접근방식(1074)에 속하는 것으로 고려되지만, 하이브리드 접근방식으로 고려될 수도 있다).
상기 예가 특수-목적의 네트워크 장치(1002)를 사용하지만, 동일한 중앙집중형 접근방식(1074)은 범용 네트워크 장치(1004)(예컨대, 각각의 VNE(1060A-R)는 중앙집중 도달 가능성 및 포워딩 정보 모듈(1079)로부터 포워딩 정보(및 일부의 경우, 도달 가능성 정보)를 수신하기 위해 중앙집중형 제어 플레인(1076)과 통신함으로써 데이터(예컨대, 패킷들)가 라우팅되는(예컨대, 데이터에 대한 다음 홉 및 해당 데이터에 대한 아웃고잉 물리적 NI) 방식을 제어하기 위한 그 책임을 수행하고; 본 발명의 일부 실시예들에서, VNE(1060A-R)들은 또한, 중앙집중형 제어 플레인(1076)과 통신하는 것 외에, 분산형 접근방식의 경우보다 적을지라도, 도달 가능성을 결정하고 그리고/또 포워딩 정보를 계산하는 데 어느 정도의 역할을 할 수도 있다는 것을 알아야 함) 및 하이브리드 네트워크 장치(1006)에 의해 실시될 수 있다. 실제로, SDN 기술의 사용은 NFV가 SDN 소프트웨어가 실행될 수 있는 인프라구조를 제공함으로써 SDN을 서포트할 수 있으므로 범용 네트워크 장치(1004) 또는 하이브리드 네트워크 장치(1006) 구현에 통상적으로 사용되는 NFV 기술을 향상시킬 수 있으며, NFV 및 SDN은 모두 범용 서버 하드웨어 및 물리적 스위치를 사용하는 것을 목표로 한다.
일부 실시예에서, 중앙집중형 제어 플레인(1064)은, 네트워크 장치에 의해 실행될 때, 네트워크 장치가 테스트 세션 매니저 또는 오케스트레이터(1081)의 일부로서 본 발명의 하나 이상의 실시예들의 동작을 수행하게 하는 코드를 포함할 수 있다. 상기 테스트 세션 매니저 또는 오케스트레이터(1081)는 상기 본원에 기술한 바와 같이 세션-전송기 및 세션-반사기를 구성한다.
도 10d는 또한 중앙집중형 제어 플레인(1076)이 애플리케이션(들)(1088)에 상주하는 애플리케이션 계층(1086)에 대한 노스 바운드 인터페이스(1084; north bound interface)를 갖는 것을 나타낸다. 중앙집중형 제어 플레인(1076)은 애플리케이션(들)(1088)에 대한 가상 네트워크(1092){때때로 논리적 포워딩 플레인, 네트워크 서비스 또는 오버레이 네트워크(언더레이 네트워크인 데이터 플레인(1080)의 NE(1070A-H)들을 갖는)라 부름}를 형성하는 능력을 갖는다. 따라서, 중앙집중형 제어 플레인(1076)은 모든 ND 및 구성된 NE/VNE들의 글로벌 뷰를 유지하고, 가상 네트워크를 하위 ND에 효율적으로 맵핑한다(하드웨어(ND, 링크 또는 ND 요소) 실패, 추가 또는 제거를 통해 물리적 네트워크가 변경됨에 따라 이들 맵핑을 유지하는 것을 포함).
도 10d는 중앙집중형 접근방식(1074)과 별개인 분산형 접근방식(1072)을 나타내고 있지만, 네트워크 제어의 노력은 본 발명의 특정 실시예들에서 상이하게 분산되거나 2가지가 결합될 수 있다. 예를 들어, 1) 실시예들은 일반적으로 중앙집중형 접근방식(SDN)(1074)을 사용할 수 있지만, NE에 위임된 특정 기능을 갖거나(예컨대, 분산형 접근방식은 하나 이상의 장애 모니터링, 성능 모니터링, 보호 스위칭 및 이웃에 대한 프리미티브(primitives) 및/또는 토폴로지 탐색을 실시하는 데 사용될 수 있음); 또는 2) 본 발명의 실시예들은 중앙집중형 제어 플레인 및 분산 프로토콜 모두를 통해 이웃 탐색 및 토폴로지 탐색을 수행할 수 있으며, 그 결과는 이들이 협약하지 않는 예외를 발생시키는 것과 비교된다. 그와 같은 실시예들은 일반적으로 중앙집중형 접근방식(1074)에 속하는 것으로 고려되지만, 하이브리드 접근방식으로 고려될 수도 있다.
도 10d는 각각의 ND(1000A-H)들이 단일의 NE(1070A-H)를 구현하는 간단한 경우를 나타내지만, 도 10d를 참조하여 기술된 네트워크 제어 접근방식은 또한 하나 이상의 ND(1000A-H)들이 다수의 VNE(예컨대, VNE(1030A-R)들, VNE(1060A-R)들, 하이브리드 네트워크 장치(1006) 내의 것들)를 구현하는 네트워크에도 작용한다는 것을 이해해야 한다. 대안으로 또는 추가로, 네트워크 제어기(1078)는 또한 단일의 ND에서 다수의 VNE의 구현을 에뮬레이션할 수 있다. 특히, 단일의 ND에서 다수의 VNE를 구현하는 대신에(또는 추가하여), 네트워크 제어기(1078)는 가상 네트워크(1092)에 다수의 VNE로서 단일의 ND에서(모두 가상 네트워크(들)(1092) 중 동일한 네트워크에서, 가상 네트워크(들)(1092) 중 다른 네트워크에서, 또는 일부 조합) VNE/NE의 구현을 제공할 수 있다. 예를 들어, 상기 네트워크 제어기(1078)는 ND가 언더레이 네트워크에서 단일의 VNE(NE)를 구현하게 하고, 이어서 가상 네트워크(들)(1092)에 다른 VNE들을 제공하기 위해 중앙집중형 제어 플레인(1076) 내에서 그 NE의 리소스들을 논리적으로 분할할 수 있다(오버레이 네트워크들에서 서로 다른 VNE들이 언더레이 네트워크에서 ND에 단일의 VNE/NE 구현의 리소스들을 공유하는 경우).
한편, 도 10e 및 10f는 가상 네트워크(1092)들 중 다른 하나의 부분으로서 네트워크 제어기(1078)가 제공될 수 있는 NE 및 VNE들의 예시의 추상화를 각각 나타낸다. 도 10e는 본 발명의 일부 실시예에 따른, 각각의 ND(1000A-H)들이 단일의 NE(1070A-H; 도 10d 참조)를 구현하는 간단한 경우를 나타내지만, 중앙집중형 제어 플레인(1076)은 상이한 ND(NE 1070A-C 및 G-H)들 내의 다수의 NE들을 도 10d의 가상 네트워크(1092)(들) 중 하나의 단일의 NE(1070I)에 (나타내도록) 추상화했다. 도 10e는 이러한 가상 네트워크에서 상기 NE(1070I)가 NE 1070D 및 1070E에 연결되고, 상기 NE 1070D 및 1070E가 모두 여전히 NE(1070E)에 연결되는 것을 나타낸다.
도 10f는 본 발명의 일부 실시예에 따른, 다수의 VNE(VNE 1070A.1 및 VNE 1070H.1)가 상이한 ND(ND 1000A 및 ND 1000H)들에 구현되고 서로 연결되는 경우를 나타내며, 도 10d의 가상 네트워크(1092) 중 하나 내의 단일의 VNE(1070T)로서 나타나도록 중앙집중형 제어 플레인(1076)이 이러한 다수의 VNE를 추상화했다. 따라서, NE 또는 VNE의 추상화(abstraction)는 다수의 ND에 걸쳐 있을 수 있다.
본 발명의 일부 실시예들이 단일의 엔티티(예컨대, 단일의 전자 장치에서 실행되는 소프트웨어의 단일의 인스턴스)로서 중앙집중형 제어 플레인(1076)을 실시하지만, 대안의 실시예들은 리던던시 및/또는 스케일러빌리티(scalability) 목적(예컨대, 상이한 전자 장치들 상에서 실행되는 소프트웨어의 다수의 인스턴스)을 위해 다수의 엔티티들에 걸쳐 기능을 분산시킬 수 있다.
그러한 네트워크 장치 구현과 유사하게, 중앙집중형 제어 플레인(1076), 및 중앙집중 도달 가능성 및 포워딩 정보 모듈(1079)를 포함하는 네트워크 제어기(1078)를 실행하는 전자 장치(들)는 다양한 방식으로 구현될 수 있다(예컨대, 특수 목적 장치, 범용(예컨대, COTS) 장치 또는 하이브리드 장치). 이러한 전자 장치(들)는 유사하게 컴퓨트 리소스(들), 세트 또는 하나 이상의 물리적 NIC들, 및 중앙집중형 제어 플레인 소프트웨어가 저장된 비일시적 기계-판독가능 스토리지 매체를 포함한다. 예를 들어, 도 11은 하드웨어(1140)를 포함하는 범용 제어 플레인(1104)을 나타내며, 상기 하드웨어(1140)는 세트의 하나 이상의 프로세서(들)(1142; 종종 COTS 프로세서인) 및 물리적 NIC(1146)를 포함하는 네트워크 인터페이스 제어기(들)(1144; NIC들, 네트워크 인터페이스 카드라고도 알려진) 뿐만 아니라, 내부에 중앙집중형 제어 플레인(CCP) 소프트웨어(1150)가 저장된 비일시적 기계 판독가능 스토리지 매체(1148)를 포함한다.
컴퓨트 가상화를 이용하는 실시예들에서, 상기 프로세서(들)(1142)는 통상 소프트웨어를 실행하여 가상화 계층(1154) 및 소프트웨어 컨테이너(들)(1162A-R)를 인스턴스화한다{예컨대, 동작 시스템-레벨 가상화의 경우, 상기 가상화 계층(1154)은 세트의 하나 이상의 애플리케이션을 실행하기 위해 각각 사용될 수 있는 다수의 소프트웨어 컨테이너(1162A-R)(각각의 별도의 사용자 공간 인스턴스를 나타내고, 가상화 엔진, 가상 사설 서버 또는 제일(jail)이라고도 부르는)의 생성을 허용하는 동작 시스템의 커널(또는 베이스 동작 시스템에서 실행되는 심)을 나타내고; 완전 가상화의 경우, 상기 가상화 계층(1154)는 하이퍼비저(때때로 가상 머신 모니터(VMM)라 부르는) 또는 호스트 동작 시스템의 상부에서 실행되는 하이퍼비저를 나타내고, 상기 소프트웨어 컨테이너(1162A-R)들 각각은 상기 하이퍼비저에 의해 실행되고 게스트 동작 시스템을 포함하는 가상 머신이라 부르는 완전히 분리된 형태의 소프트웨어 컨테이너를 나타내며; 반가상화의 경우, 가상 머신에 의해 실행되는 애플리케이션 또는 동작 시스템은 최적화의 목적으로 가상화의 존재를 인식할 수 있음}. 다시, 컴퓨트 가상화가 사용되는 실시예들에서, 동작 동안 CCP 소프트웨어(1150)의 인스턴스(CCP 인스턴스(1176A)로 나타낸)가 가상화 계층(1154) 상의 소프트웨어 컨테이너(1162A) 내에서 실행된다. 컴퓨트 가상화가 사용되지 않는 실시예들에서, 호스트 동작 시스템의 상부의 CCP 인스턴스(1176A)는 "베어 메탈 (bare metal)" 범용 제어 플레인(1104) 상에서 실행된다. 실시될 경우 가상화 계층(1154) 및 소프트웨어 컨테이너(1162A-R)들 뿐만 아니라, CCP 인스턴스(1176A)의 인스턴스화는 소프트웨어 인스턴스(들)(1152)로 통칭한다.
일부 실시예에서, 상기 CCP 인스턴스(1176A)는 네트워크 제어기 인스턴스(1178)를 포함한다. 그러한 네트워크 제어기 인스턴스(1178)는 중앙집중 도달 가능성 및 포워딩 정보 모듈 인스턴스(1179)(동작 시스템에 네트워크 제어기(1078)의 컨텍스트를 제공하고 다양한 NE들과 통신하는 미들웨어 계층인), 및 상기 미들웨어 계층(프로토콜, 네트워크 상황 인식, 및 사용자-인터페이스와 같은 다양한 네트워크 동작에 필요한 인텔리전스 제공하는) 상의 CCP 애플리케이션 계층(1180)(때때로 애플리케이션 계층이라고 부르는)을 포함한다. 보다 추상적인 레벨에서, 중앙집중형 제어 플레인(1076) 내의 이러한 CCP 애플리케이션 계층(1180)은 가상 네트워크 뷰(들)(네트워크의 논리적 뷰(들))와 함께 동작하고, 미들웨어 계층은 가상 네트워크로부터 물리적 뷰로의 변환을 제공한다.
일부 실시예에서, 상기 제어 플레인 장치(1104)는, 실행될 때, 상기 제어 플레인 장치가 테스트 세션 매니저 또는 오케스트레이터(1181)의 부분으로서 본 발명의 하나 이상의 실시예의 동작들을 수행하게 하는 코드를 포함할 수 있다. 상기 테스트 세션 매니저 또는 오케스트레이터(1181)는 상기 본원에 기술된 바와 같은 세션-전송기 및 세션-반사기를 구성한다.
중앙집중형 제어 플레인(1076)은 각 플로우(flow)에 대한 CCP 애플리케이션 계층(1180) 계산 및 미들웨어 계층 맵핑에 기초하여 관련 메시지들을 데이터 플레인(1080)으로 전송한다. 플로우는 헤더가 주어진 비트 패턴과 일치하는 패킷 세트로 규정될 수 있고, 이러한 의미에서 예컨대 통상의 IP 포워딩은 또한 플로우가 목적지 IP 주소에 의해 규정되는 곳에서의 플로우 기반 포워딩이며, 그러나 다른 구현에서, 플로우 규정에 사용되는 주어진 비트 패턴은 패킷 헤더에 더 많은 필드(예컨대, 10 또는 그 이상)를 포함할 수 있다. 상기 데이터 플레인(1080)의 상이한 ND들/NE들/VNE들은 상이한 메시지들을 수신하고, 이에 따라 상이한 포워딩 정보를 수신할 수 있다. 데이터 플레인(1080)은 이들 메시지를 처리하고 적절한 NE/VNE들의 포워딩 테이블(때때로 플로우 테이블이라 부르는)에서 적절한 플로우 정보 및 대응하는 동작들을 프로그램한 다음, 그러한 NE들/VNE들은 포워딩 테이블에 나타낸 플로우로 인커밍 패킷(incoming packet)을 맵핑하고 상기 포워딩 테이블의 일치 항목에 기초하여 포워딩 패킷(forward packet)을 맵핑한다.
OpenFlow와 같은 표준은 패킷을 처리하기 위한 모델 뿐만 아니라 메시지들에 사용되는 프로토콜을 규정한다. 그러한 패킷 처리 모델은 헤더 구문 분석, 패킷 분류, 및 결정을 포함한다. 헤더 구문 분석은 잘 알려진 프로토콜 세트를 기초하여 패킷을 해석하는 방법을 기술한다. 일부 프로토콜 필드는 패킷 분류에 사용되는 매칭 구조(또는 키)를 작성하는 데 사용된다(예컨대, 제1키 필드는 소스 매체 접근 제어(MAC) 주소일 수 있고, 제2키 필드는 목적지 MAC 주소일 수 있다).
패킷 분류는 포워딩 테이블 엔트리의 매칭 구조 또는 키에 기초하여 포워딩 테이블의 어느 엔트리(포워딩 테이블 엔트리 또는 플로우 엔트리라고도 함)가 패킷과 가장 잘 매칭되는지를 결정함으로써 패킷을 분류하기 위해 메모리에서 룩업을 실행하는 것을 포함한다. 포워딩 테이블 엔트리에 나타낸 많은 플로우가 패킷에 대응/일치할 수 있고, 이러한 경우, 시스템은 통상적으로 규정된 스킴에 따라 다수로부터 하나의 포워딩 테이블 엔트리를 결정하도록 구성된다(예컨대, 매칭되는 제1포워딩 테이블 엔트리를 선택함). 포워딩 테이블 엔트리는 특정 매칭 기준 세트(일련의 값들 또는 와일드카드들, 또는 매칭되는 기능들에 의해 규정된 특정 값/값들/와일드카드들과 비교되어야하는 패킷의 부분이 무엇인지의 표시 - 패킷 헤더에서의 특정 필드, 또는 다른 패킷 콘텐츠), 및 매칭 패킷을 수신할 때 데이터 플레인에 대한 하나 이상의 동작 세트 모두를 포함한다. 예를 들어, 특정 포트를 사용하는 패킷의 경우, 헤더를 패킷으로 푸시(push)하거나, 패킷을 범람(flood)시키거나, 또는 단순히 패킷을 드롭(drop)시키는 동작들이 있을 수 있다. 따라서, 특정 전송 제어 프로토콜(TCP) 목적지 포트가 있는 IPv4/IPv6 패킷에 대한 포워딩 테이블 엔트리에는 이들 패킷이 삭제되어야 한다는 내용의 동작이 포함될 수 있다.
포워딩 결정을 내리고 동작을 수행하는 것은, 패킷 분류 동안 식별된 포워딩 테이블 엔트리에 기초하여, 패킷 상의 매칭된 포워딩 테이블 엔트리에서 식별된 동작 세트를 실행함으로써 일어난다.
그러나, 공지되지 않은 패킷(예 : OpenFlow 용어로 사용된 "missed packet" 또는 "match-miss")이 데이터 플레인(1080)에 도달할 때, 그 패킷(또는 패킷 헤더 및 콘텐츠의 서브 세트)은 통상적으로 중앙집중형 제어 플레인(1076)으로 포워딩된다. 다음에, 중앙집중형 제어 플레인(1076)은 공지되지 않은 패킷의 플로우에 속하는 패킷들을 수용하기 위해 데이터 플레인(1080)으로 포워딩 테이블 엔트리를 프로그램할 것이다. 특정 포워딩 테이블 엔트리가 중앙집중형 제어 플레인(1076)에 의해 데이터 플레인(1080)으로 프로그램되면, 매칭 크리덴셜(credential)을 갖는 다음 패킷은 그 포워딩 테이블 엔트리와 매칭되고 그 매칭된 엔트리와 연관된 동작 세트를 취할 것이다.
상기한 상세한 설명의 일부는 컴퓨터 메모리 내의 데이터 비트에 대한 처리의 알고리즘 및 기호 표현과 관련하여 설명되었다. 이들 알고리즘 설명 및 표현은 데이터 처리 기술 분야의 숙련자가 자신의 연구 내용을 당업자에게 가장 효과적으로 전달하는 데 사용되는 방식이다. 알고리즘은 여기에 있으며, 일반적으로 원하는 결과로 이어지는 일관된 처리의 시퀀스로 인식된다. 그러한 처리는 물리적인 양을 물리적으로 조작해야 하는 처리이다. 일반적으로, 반드시 그런 것은 아니지만, 이러한 양은 저장, 전송, 결합, 비교 및 기타 조작될 수 있는 전기 또는 자기 신호들의 형태를 취한다. 주로 공통적인 사용의 이유로 이들 신호를 비트, 값, 요소, 기호, 문자, 용어, 숫자 등으로 참조하는 것이 때로는 편리하다고 판명되었다.
그러나, 이들 및 유사한 용어들 모두는 적절한 물리적 양들과 연관되며, 단지 이들 양에 적용되는 간편한 라벨일 뿐이라는 것을 염두에 두어야 한다. 상기 설명으로부터 명백한 바와 같이 달리 명시하지 않는 한, 그러한 설명을 통해, "처리" 또는 "컴퓨팅" 또는 "계산" 또는 "결정" 또는 "디스플레잉" 등과 같은 용어를 사용하는 설명은 컴퓨터 시스템, 또는 유사한 전자 컴퓨팅 장치의 동작 및 프로세스와 관련된다는 것을 알야아 하며, 상기 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 장치는 컴퓨터 시스템의 레지스터 및 메모리 내의 물리(전자)적 양으로 표현된 데이터를 컴퓨터 시스템 메모리 또는 레지스터 또는 다른 그러한 정보 스토리지, 전송 또는 디스플레이 장치들 내에서 물리적 양으로 유사하게 표현되는 다른 데이터로 조작 및 변환한다.
본원에 제시된 알고리즘 및 디스플레이들은 본질적으로 임의의 특정 컴퓨터 또는 다른 장치와 관련되지 않는다. 다양한 범용 시스템이 본원의 교시에 따라 프로그램과 함께 사용되거나, 또는 요구된 방법 처리를 수행하기 위해 보다 특수화된 장치를 구성하는 것이 편리할 수 있다. 다양한 이들 시스템에 필요한 구조는 위의 설명에 나타나 있다. 또한, 본 발명의 실시예들은 임의의 특정 프로그래밍 언어를 참조하여 설명되지 않는다. 본원에 설명된 본 발명의 실시예들의 교시를 구현하기 위해 다양한 프로그래밍 언어가 사용될 수 있다는 것을 이해해야 할 것이다.
상술한 명세서에서, 본 발명의 실시예들은 그 특정 예시의 실시예들을 참조하여 설명되었다. 다음의 청구범위에 설명된 본 발명의 더 넓은 사상 및 범위를 벗어나지 않으면서 다양한 변형이 가능하다는 것은 명백할 것이다. 따라서, 명세서 및 도면들은 제한적인 의미라기보다는 예시의 의미로 간주되어야 한다.
설명을 통해, 본 발명의 실시예들은 흐름도를 통해 기술되었다. 이들 흐름도에 기술된 처리의 순서는 단지 예시의 목적을 위한 것이며, 본 발명의 제한을 의도하지 않는다는 것을 알아야 할 것이다. 당업자는 다음의 청구범위에 설명된 본 발명의 더 넓은 사상 및 범위를 벗어나지 않고 흐름도를 변형할 수 있음을 인식할 것이다.

Claims (20)

  1. 차별화된 서비스 코드 포인트(DSCP) 및 명시적 혼잡 통지(ECN)가 세션-전송기와 세션-반사기간 순방향 및 역방향으로 단일의 테스트 세션에서 변경되었는지의 여부를 결정하기 위한 테스트를 수행하기 위해 세션-전송기를 실행하는 네트워크 장치에 의해 실행된 방법으로서, 여기서 다수의 DSCP 및 ECN은 상기 단일의 테스트 세션을 이용하여 테스트되고, 상기 방법은:
    제1초기 순방향 DSCP 및 ECN을 결정하는 단계;
    상기 제1초기 순방향 DSCP 및 ECN을 포함하는 제1테스트 패킷을 생성하는 단계;
    상기 단일의 테스트 세션에서 상기 세션-반사기로 상기 제1테스트 패킷을 전송하는 단계;
    제2초기 순방향 DSCP 및 ECN을 결정하는 단계;
    상기 제2초기 순방향 DSCP 및 ECN을 포함하는 제2테스트 패킷을 생성하는 단계; 및
    상기 단일의 테스트 세션에서 상기 세션-반사기로 상기 제2테스트 패킷을 전송하는 단계를 포함하는, 방법.
  2. 청구항 1에 있어서,
    제1초기 역방향 DSCP 및 ECN을 결정하는 단계; 및
    제1초기 역방향 DSCP 및 ECN을 포함하는 제1초기 역방향 DSCP 및 ECN을 결정하는 단계; 및
    동일한 테스트 세션 내에 최종 순방향 DSCP 및 ECN과 최종 역방향 DSCP 및 ECN을 포함하는 제3테스트 패킷을 수신하는 단계를 포함하며,
    상기 제1테스트 패킷은 상기 제1초기 역방향 DSCP 및 ECN을 포함하는, 방법.
  3. 청구항 1에 있어서,
    제1초기 순방향 DSCP 및 ECN은 제1테스트 패킷의 IP 헤더에 존재하는, 방법.
  4. 청구항 2에 있어서,
    제1초기 역방향 DSCP 및 ECN은 제1테스트 패킷의 페이로드에 존재하는, 방법.
  5. 청구항 2에 있어서,
    순방향으로 IP 헤더의 변경을 결정하기 위해 제1초기 순방향 DSCP 및 ECN을 최종 순방향 DSCP 및 ECN과 비교하는 단계; 및
    역방향으로 IP 헤더의 변경을 결정하기 위해 제1초기 역방향 DSCP 및 ECN을 최종 역방향 DSCP 및 ECN과 비교하는 단계를 더 포함하는, 방법.
  6. 차별화된 서비스 코드 포인트(DSCP) 및 명시적 혼잡 통지(ECN)가 세션-전송기와 세션-반사기간 순방향 및 역방향으로 단일의 테스트 세션에서 변경되었는지의 여부를 결정하기 위한 테스트를 수행하기 위해 세션-전송기를 실행하는 네트워크 장치에 의해 실행된 방법으로서, 여기서 다수의 DSCP 및 ECN은 상기 단일의 테스트 세션을 이용하여 테스트되고, 상기 방법은:
    상기 세션-전송기와 세션-반사기간 사용될 초기 순방향 DSCP 및 ECN과 초기 역방향 DSCP 및 ECN을 협정하는 단계;
    상기 초기 순방향 DSCP 및 ECN을 이용하여 제1테스트 패킷을 생성하는 단계;
    시퀀스 넘버를 포함하는 제1테스트 패킷을 상기 세션-반사기로 전송하는 단계;
    시퀀스 넘버와 함께 제2테스트 패킷을 상기 세션-반사기로부터 수신하는 단계;
    상기 시퀀스 넘버를 이용하여 상기 제1테스트 패킷을 상기 제2테스트 패킷과 연관시키는 단계; 및
    각각의 다수의 DSCP 및 ECN이 상기 단일의 테스트 세션에서 테스트될 때까지 각각의 다수의 DSCP 및 ECN을 반복하는 단계를 포함하는, 방법.
  7. 차별화된 서비스 코드 포인트(DSCP) 및 명시적 혼잡 통지(ECN)가 세션-전송기와 세션-반사기간 순방향 및 역방향으로 단일의 테스트 세션에서 변경되었는지의 여부를 결정하기 위한 테스트를 수행하기 위해 세션-반사기를 실행하는 네트워크 장치에 의해 실행된 방법으로서, 여기서 다수의 DSCP 및 ECN은 상기 단일의 테스트 세션을 이용하여 테스트되고, 상기 방법은:
    상기 단일의 테스트 세션 내에 세션-전송기로부터 제1테스트 패킷을 수신하는 단계;
    상기 제1테스트 패킷에서 최종 순방향 DSCP 및 ECN을 식별하는 단계;
    상기 제1테스트 패킷에서 초기 역방향 DSCP 및 ECN을 식별하는 단계:
    상기 최종 순방향 DSCP 및 ECN과 상기 초기 역방향 DSCP 및 ECN을 포함하는 제2테스트 패킷을 생성하는 단계;
    상기 단일의 테스트 세션 내에 세션-전송기로 상기 제2테스트 패킷을 전송하는 단계; 및
    각각의 다수의 DSCP 및 ECN이 상기 단일의 테스트 세션에서 테스트될 때까지 각각의 다수의 DSCP 및 ECN을 반복하는 단계를 포함하는, 방법.
  8. 청구항 7에 있어서,
    최종 순방향 DSCP 및 ECN은 제1테스트 패킷의 IP 헤더에 존재하는, 방법.
  9. 청구항 7에 있어서,
    초기 역방향 DSCP 및 ECN은 제1테스트 패킷의 페이로드에 존재하는, 방법.
  10. 청구항 7에 있어서,
    초기 순방향 DSCP 및 ECN과 초기 역방향 DSCP 및 ECN을 세션-전송기와 협정하는, 방법.
  11. 청구항 7에 있어서,
    제2테스트 패킷은 제1테스트 패킷으로부터의 수신된 시퀀스 넘버를 매칭시키기 위한 시퀀스 넘버를 포함하는, 방법.
  12. 차별화된 서비스 코드 포인트(DSCP) 및 명시적 혼잡 통지(ECN)가 세션-전송기와 세션-반사기간 순방향 및 역방향으로 단일의 테스트 세션에서 변경되었는지의 여부를 결정하기 위한 테스트를 수행하기 위해 세션-전송기를 실행하는 네트워크 장치로서, 여기서 다수의 DSCP 및 ECN은 상기 단일의 테스트 세션을 이용하여 테스트되고, 상기 네트워크 장치는:
    테스트 세션 매니저를 내부에 저장한 비일시적 기계 판독가능 매체; 및
    상기 비일시적 기계 판독가능 매체에 연결된 프로세서를 포함하며,
    상기 프로세서는 상기 테스트 세션 매니저를 실행하고, 상기 테스트 세션 매니저는 제1초기 순방향 DSCP 및 ECN을 결정하고, 상기 제1초기 순방향 DSCP 및 ECN을 포함하는 제1테스트 패킷을 생성하고, 상기 단일의 테스트 세션에서 상기 세션-반사기로 상기 제1테스트 패킷을 전송하고, 제2초기 순방향 DSCP 및 ECN을 결정하고, 상기 제2초기 순방향 DSCP 및 ECN을 포함하는 제2테스트 패킷을 생성하며, 상기 단일의 테스트 세션에서 상기 세션-반사기로 상기 제2테스트 패킷을 전송하도록 구성되는, 네트워크 장치.
  13. 청구항 12에 있어서,
    상기 테스트 세션 매니저는 제1초기 역방향 DSCP 및 ECN을 결정하고, 동일한 테스트 세션 내에 최종 순방향 DSCP 및 ECN과 최종 역방향 DSCP 및 ECN을 포함하는 제3테스트 패킷을 수신하도록 더 구성되며, 상기 제1테스트 패킷은 상기 제1초기 역방향 DSCP 및 ECN을 포함하는, 네트워크 장치.
  14. 청구항 12에 있어서,
    제1초기 순방향 DSCP 및 ECN은 제1테스트 패킷의 IP 헤더에 존재하는, 네트워크 장치.
  15. 청구항 13에 있어서,
    제1초기 역방향 DSCP 및 ECN은 제1테스트 패킷의 페이로드에 존재하는, 네트워크 장치.
  16. 다수의 네트워크 장치를 갖는 네트워크에서 네트워크 장치와 통신하는 컴퓨팅 장치로서, 상기 컴퓨팅 장치는 네트워크 기능 가상화(NFV)를 구현하기 위한 다수의 가상 머신을 실행하며, 여기서 상기 다수의 가상 머신들로부터의 가상 머신은 차별화된 서비스 코드 포인트(DSCP) 및 명시적 혼잡 통지(ECN)가 세션-전송기와 세션-반사기간 순방향 및 역방향으로 단일의 테스트 세션에서 변경되었는지의 여부를 결정하기 위한 테스트를 수행하기 위해 세션-전송기를 실행하며, 여기서 다수의 DSCP 및 ECN은 상기 단일의 테스트 세션을 이용하여 테스트되고, 상기 컴퓨팅 장치는:
    테스트 세션 매니저를 내부에 저장한 비일시적 기계 판독가능 매체; 및
    상기 비일시적 기계 판독가능 매체에 연결된 프로세서를 포함하며,
    상기 프로세서는 가상 머신을 실행하고, 상기 가상 머신은 상기 테스트 세션 매니저를 실행하도록 구성되며, 상기 테스트 세션 매니저는 제1초기 순방향 DSCP 및 ECN을 결정하고, 상기 제1초기 순방향 DSCP 및 ECN을 포함하는 제1테스트 패킷을 생성하고, 상기 단일의 테스트 세션에서 상기 세션-반사기로 상기 제1테스트 패킷을 전송하고, 제2초기 순방향 DSCP 및 ECN을 결정하고, 상기 제2초기 순방향 DSCP 및 ECN을 포함하는 제2테스트 패킷을 생성하며, 상기 단일의 테스트 세션에서 세션-반사기로 제2테스트 패킷을 전송하도록 구성되는, 컴퓨팅 장치.
  17. 청구항 16에 있어서,
    상기 테스트 세션 매니저는 제1초기 역방향 DSCP 및 ECN을 결정하고, 동일한 테스트 세션 내에 최종 순방향 DSCP 및 ECN과 최종 역방향 DSCP 및 ECN을 포함하는 제3테스트 패킷을 수신하도록 더 구성되며, 상기 제1테스트 패킷은 상기 제1초기 역방향 ESCP 및 ECN을 포함하는, 컴퓨팅 장치.
  18. 청구항 17에 있어서,
    최종 역방향 DSCP 및 ECN은 제3테스트 패킷의 IP 헤더에 존재하는, 컴퓨팅 장치.
  19. 청구항 17에 있어서,
    최종 순방향 DSCP 및 ECN은 제3테스트 패킷의 페이로드에 존재하는, 컴퓨팅 장치.
  20. 다수의 네트워크 장치를 포함하는 소프트웨어 정의 네트워킹(SDN) 네트워크의 제어 플레인을 실행하도록 구성된 제어 플레인 장치로서, 여기서 상기 제어 플레인 장치는 차별화된 서비스 코드 포인트(DSCP) 및 명시적 혼잡 통지(ECN)가 세션-전송기 및 세션-반사기간 순방향 및 역방향으로 단일의 테스트 세션에서 변경되었는지의 여부를 결정하기 위한 테스트를 수행하기 위해 세션-전송기를 실행하기 위한 방법을 실행하도록 구성되며, 여기서 다수의 DSCP 및 ECN은 상기 단일의 테스트 세션을 이용하여 테스트되고, 상기 제어 플레인 장치는:
    테스트 세션 매니저를 내부에 저장한 비일시적 기계 판독가능 매체; 및
    상기 비일시적 기계 판독가능 매체에 연결된 프로세서를 포함하며,
    상기 프로세서는 상기 테스트 세션 매니저를 실행하고, 상기 테스트 세션 매니저는 다음 초기 순방향 DSCP 및 ECN을 결정하고, 다음 초기 역방향 DSCP 및 ECN을 결정하고, 상기 다음 초기 순방향 DSCP 및 ECN과 상기 다음 초기 역방향 DSCP 및 ECN을 포함하는 제1테스트 패킷을 생성하고, 상기 단일의 테스트 세션에서 상기 세션-반사기로 상기 제1테스트 패킷을 전송하고, 동일한 테스트 세션 내에 최종 순방향 DSCP 및 ECN과 최종 역방향 DSCP 및 ECN을 포함하는 제2테스트 패킷을 수신하며, 각각의 다수의 DSCP 및 ECN이 상기 단일의 테스트 세션에서 테스트될 때까지 각각의 다수의 DSCP 및 ECN을 반복하도록 구성되는, 제어 플레인 장치.
KR1020187023605A 2016-02-05 2016-02-05 차별화된 서비스 코드 포인트(dscp) 및 명시적 혼잡 통지(ecn)를 모니터링하기 위한 데이터 플레인을 위한 방법 및 장치 KR102066978B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2016/050616 WO2017134489A1 (en) 2016-02-05 2016-02-05 Method and apparatus for data plane to monitor differentiated services code point (dscp) and explicit congestion notification (ecn)

Publications (2)

Publication Number Publication Date
KR20180104664A true KR20180104664A (ko) 2018-09-21
KR102066978B1 KR102066978B1 (ko) 2020-01-16

Family

ID=55405385

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187023605A KR102066978B1 (ko) 2016-02-05 2016-02-05 차별화된 서비스 코드 포인트(dscp) 및 명시적 혼잡 통지(ecn)를 모니터링하기 위한 데이터 플레인을 위한 방법 및 장치

Country Status (6)

Country Link
US (1) US10965577B2 (ko)
EP (1) EP3412004B1 (ko)
JP (1) JP6622922B2 (ko)
KR (1) KR102066978B1 (ko)
CN (1) CN108604999B (ko)
WO (1) WO2017134489A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230055132A (ko) * 2021-10-18 2023-04-25 주식회사 엘지유플러스 VPN (Virtual Private Network) 서비스를 제공하는 방법 및 장치

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017134489A1 (en) * 2016-02-05 2017-08-10 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for data plane to monitor differentiated services code point (dscp) and explicit congestion notification (ecn)
CN108604997B (zh) 2016-02-05 2021-03-02 瑞典爱立信有限公司 用于对差异化服务编码点(dscp)和显式拥塞通知(ecn)的监视进行配置的控制平面的方法和设备
US20190036842A1 (en) * 2017-07-31 2019-01-31 Cisco Technology, Inc. Traffic steering in fastpath
US20190036814A1 (en) * 2017-07-31 2019-01-31 Cisco Technology, Inc. Traffic steering with path ordering
US11463880B2 (en) * 2018-12-28 2022-10-04 Korea Advanced Institute Of Science And Technology Dynamic security analysis method for control plane and system therefore
US10749785B1 (en) * 2019-05-31 2020-08-18 Juniper Networks, Inc. Enhanced two-way active measurement protocol
EP4140106A1 (en) * 2020-04-23 2023-03-01 Juniper Networks, Inc. Session monitoring using metrics of session establishment
US20230021412A1 (en) * 2021-07-19 2023-01-26 Vianai Systems, Inc. Techniques for implementing container-based software services

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120128000A1 (en) * 2010-11-18 2012-05-24 Telefonaktiebolaget L M Ericsson (Publ) Systems and Methods for Measuring Available Capacity and Tight Link Capacity of IP Paths from a Single Endpoint
US20140169183A1 (en) * 2012-12-14 2014-06-19 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for augmenting twamp

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4078755B2 (ja) * 1999-06-02 2008-04-23 株式会社日立製作所 帯域監視方法
US6839321B1 (en) * 2000-07-18 2005-01-04 Alcatel Domain based congestion management
US8339963B2 (en) * 2003-08-27 2012-12-25 Rockstar Consortium Us Lp Technique for end-to-end admission control of real-time packet flows
US7623458B2 (en) * 2005-09-30 2009-11-24 The Boeing Company System and method for providing integrated services across cryptographic boundaries in a network
JP4758362B2 (ja) * 2007-01-30 2011-08-24 株式会社日立製作所 中継装置、プログラム及び中継方法
US9306812B2 (en) * 2007-07-05 2016-04-05 Rpx Clearinghouse Llc System and method for providing network application performance management in a network
US20090086719A1 (en) * 2007-10-02 2009-04-02 Nokia Corporation Dynamic initiation of I1-ps signaling in IMS centralized services
CN101662379A (zh) * 2008-08-29 2010-03-03 华为技术有限公司 一种终端设备维护的方法、设备及系统
US8238254B2 (en) * 2009-05-14 2012-08-07 Avaya Inc. Detection and display of packet changes in a network
CN101997840B (zh) * 2009-08-17 2013-12-04 华为技术有限公司 网元间dscp映射关系建立方法、装置和系统
US8619621B2 (en) * 2009-08-20 2013-12-31 Verizon Patent And Licensing Inc. Performance monitoring-based network resource management with mobility support
CN101808016B (zh) * 2010-03-02 2012-12-26 河海大学常州校区 IPv6下DiffServ区域端到端网络性能的快速测量方法及系统
EP2391068A1 (en) * 2010-03-31 2011-11-30 British Telecommunications public limited company Provision of path characterisation information in networks
US8724467B2 (en) * 2011-02-04 2014-05-13 Cisco Technology, Inc. System and method for managing congestion in a network environment
CN103959854A (zh) * 2011-12-01 2014-07-30 瑞典爱立信有限公司 降低由于高ecn比率造成的分组首部压缩开销
US9236559B2 (en) * 2012-01-05 2016-01-12 Voipfuture Gmbh Determination of a quality induced termination rate of communication sessions
EP2648441A1 (en) 2012-04-05 2013-10-09 Alcatel Lucent Probing techniques
EP2665239B1 (en) * 2012-05-14 2016-08-31 Alcatel Lucent An adaptive streaming aware networks node, client and method with priority marking
EP2904834B1 (en) * 2012-10-02 2017-12-20 Telefonaktiebolaget LM Ericsson (publ) Method and system for radio service optimization using active probing over transport networks
US9602383B2 (en) * 2012-10-11 2017-03-21 Telefonaktiebolaget Lm Ericsson (Publ) General packet radio service tunnel performance monitoring
US9338678B2 (en) * 2012-10-11 2016-05-10 Telefonaktiebolaget Lm Ericsson (Publ) Performance monitoring of control and provisioning of wireless access points (CAPWAP) control channels
KR101955689B1 (ko) * 2012-10-26 2019-03-07 삼성전자주식회사 서로 다른 이동 통신 네트워크들의 엔티티들을 포함하는 네트워크에서 종단간 서비스 레벨 협약을 측정 및 관리하는 방법 및 장치
US9331925B2 (en) * 2013-03-12 2016-05-03 Cisco Technology, Inc. Multiple test site bandwidth limit measurement
WO2014200406A1 (en) 2013-06-13 2014-12-18 Telefonaktiebolaget L M Ericsson (Publ) Congestion control for a multimedia session
US9350657B2 (en) * 2013-07-08 2016-05-24 Nicira, Inc. Encapsulating data packets using an adaptive tunnelling protocol
CN105684546B (zh) * 2013-09-20 2019-11-15 康维达无线有限责任公司 在可信wlan接入和网络中基于流量检测和dscp映射的wifi qos的移动网络运营商(mno)控制
WO2015069165A1 (en) * 2013-11-08 2015-05-14 Telefonaktiebolaget L M Ericsson (Publ) Allocation of ressources for real-time communication
US9363178B2 (en) * 2013-12-18 2016-06-07 Telefonaktiebolaget L M Ericsson (Publ) Method, apparatus, and system for supporting flexible lookup keys in software-defined networks
EP3164973B1 (en) * 2014-07-04 2019-05-08 Telefonaktiebolaget LM Ericsson (publ) Methods and first, second and network nodes for managing traffic characteristics
US9948605B2 (en) 2014-07-18 2018-04-17 Comcast Cable Communications, Llc Network traffic classification
US9537741B2 (en) 2014-07-25 2017-01-03 Telefonaktiebolaget L M Ericsson (Publ) Data path performance measurement using test messages in a software defined network
JP6553196B2 (ja) 2015-01-27 2019-07-31 ノキア ソリューションズ アンド ネットワークス オサケユキチュア トラフィックフローの監視
US9906453B2 (en) * 2015-11-13 2018-02-27 Wipro Limited System and method for modifying per hop behavior of one or more expedited forwarding packets
CN108604997B (zh) * 2016-02-05 2021-03-02 瑞典爱立信有限公司 用于对差异化服务编码点(dscp)和显式拥塞通知(ecn)的监视进行配置的控制平面的方法和设备
WO2017134489A1 (en) * 2016-02-05 2017-08-10 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for data plane to monitor differentiated services code point (dscp) and explicit congestion notification (ecn)
US10476770B2 (en) * 2017-12-29 2019-11-12 Juniper Networks, Inc. Packet loss detection for user datagram protocol (UDP) traffic

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120128000A1 (en) * 2010-11-18 2012-05-24 Telefonaktiebolaget L M Ericsson (Publ) Systems and Methods for Measuring Available Capacity and Tight Link Capacity of IP Paths from a Single Endpoint
US20140169183A1 (en) * 2012-12-14 2014-06-19 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for augmenting twamp

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230055132A (ko) * 2021-10-18 2023-04-25 주식회사 엘지유플러스 VPN (Virtual Private Network) 서비스를 제공하는 방법 및 장치

Also Published As

Publication number Publication date
JP2019504568A (ja) 2019-02-14
EP3412004B1 (en) 2022-04-06
KR102066978B1 (ko) 2020-01-16
JP6622922B2 (ja) 2019-12-18
WO2017134489A1 (en) 2017-08-10
US20180375754A1 (en) 2018-12-27
EP3412004A1 (en) 2018-12-12
US10965577B2 (en) 2021-03-30
CN108604999B (zh) 2022-03-15
CN108604999A (zh) 2018-09-28

Similar Documents

Publication Publication Date Title
US11038634B2 (en) Control for BFD return path
US20200267079A1 (en) Using border gateway protocol to expose maximum segment identifier depth to an external application
US9923796B2 (en) Apparatus and method to efficiently use the PTP timestamp for two-way delay and delay variation measurement in IP networks
US9509599B2 (en) Self-bootstrapping BFD session over MPLS LSP
US11968082B2 (en) Robust node failure detection mechanism for SDN controller cluster
KR102066978B1 (ko) 차별화된 서비스 코드 포인트(dscp) 및 명시적 혼잡 통지(ecn)를 모니터링하기 위한 데이터 플레인을 위한 방법 및 장치
EP3417580B1 (en) Techniques for exposing maximum node and/or link segment identifier depth utilizing is-is
EP3417579B1 (en) Techniques for exposing maximum node and/or link segment identifier depth utilizing ospf
EP3412003B1 (en) Method and apparatus for control plane to configure monitoring of differentiated service code point (dscp) and explicit congestion notification (ecn)
US10721157B2 (en) Mechanism to detect data plane loops in an openflow network

Legal Events

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