KR101275751B1 - 3단계 동적 분류를 통한 10기가급 대용량 플로우 생성 및 제어 장치 - Google Patents

3단계 동적 분류를 통한 10기가급 대용량 플로우 생성 및 제어 장치 Download PDF

Info

Publication number
KR101275751B1
KR101275751B1 KR1020070076495A KR20070076495A KR101275751B1 KR 101275751 B1 KR101275751 B1 KR 101275751B1 KR 1020070076495 A KR1020070076495 A KR 1020070076495A KR 20070076495 A KR20070076495 A KR 20070076495A KR 101275751 B1 KR101275751 B1 KR 101275751B1
Authority
KR
South Korea
Prior art keywords
flow
packet
information
module
control
Prior art date
Application number
KR1020070076495A
Other languages
English (en)
Other versions
KR20090012568A (ko
Inventor
김영탁
박정기
씨라잽 자혼기르
퀴아오 케
Original Assignee
영남대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 영남대학교 산학협력단 filed Critical 영남대학교 산학협력단
Priority to KR1020070076495A priority Critical patent/KR101275751B1/ko
Publication of KR20090012568A publication Critical patent/KR20090012568A/ko
Application granted granted Critical
Publication of KR101275751B1 publication Critical patent/KR101275751B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Abstract

본 발명은 3단계 동적 분류를 통한 10Gbps급 대용량 플로우 생성 및 제어 장치 및 방법에 관한 것이다.
본 발명은 외부 모듈로 통신방법을 제공하는 이출인터페이스부 및 제어인터페이스부, 패킷이 해당하는 플로우를 찾아내고 패킷이 속한 플로우 정보를 갱신하며, 주기적으로 외부 수집자에게 플로우 정보를 전달하는 플로우생성모듈, 플로우 정책과 각 플로들의 우선순위결정 및 스케줄링을 수행하여 패킷전송모듈로 전송하는 플로우제어모듈을 포함하여 구성된 데이터평면 처리모듈과, 플로우들에 의해 주기적으로 모든 정보를 전달받는 수집자, 수집된 모든 정보를 저장하는 저장소, 저장된 정보에 의해 현재 네트워크 상태를 분석하고 제어어플리케이션에게 결과를 통보하는 분석기로 구성된 수집 및 분석자와, 분석기로부터의 현재 네트워크 상태를 전달받는 수집기/분석기 인터페이스, 전달받은 현태 네트워크상태를 표시하는 그래픽유저 인터페이스, 사용자가 특정 플로우를 조정하도록 하는 제어인터페이스를 포함하여 구성된 제어 어플리케이션으로 구성된 것을 특징으로 한다.
플로우 생성, 플로우 모니터링, NetFlow

Description

3단계 동적 분류를 통한 10기가급 대용량 플로우 생성 및 제어 장치{10 Gbps scalable flow generation and control, using dynamic classification with 3-level aggregation}
본 발명은 IXP2800 네트워크 프로세서를 이용하여 10Gbps급 트래픽에 대한 플로우 생성 및 제어 기술에 관한 것이며, 더욱 상세히는 3단계 동적 분류를 통한 10Gbps급 대용량 플로우 생성 및 제어 장치 및 방법에 관한 것이다.
인터넷의 성장 및 발전과 함께, 네트워크 트래픽에 대한 구성 및 원동력의 이해는 네트워크 엔지니어링, 계획, 설계, 공격감지를 위해 매우 중요하다.
1) 플로우 모니터링 ( Flow Monitoring ):
플로우(flow)는 같은 특성을 가지는 네트워크 패킷의 수를 말한다. 예를 들어, 두 프로세스(process)간에 메시지 정보를 전달하는 모든 패킷은 하나의 플로우로 구분될 수 있다. 플로우 모니터링은 인터넷 서비스 프로바이더(Internet Service Providers)에게 네트워크 활동여부 확인, 비정상적인 동작 및 공격에 대한 감지, 미래 계획과 요금 정산을 위한 네트워크 통계 수립이 가능하게 해준다. 플로 우 생성은 플로우 정보 데이터의 생성, 시간 초과된 플로우의 제거의 동작을 포함하는 네트워크 노드에서 동적인 플로우 모니터링을 말한다.
2) Cisco NetFlow :
시스코 넷플로우(Cisco Netflow)는 네트워크 모니터링을 위하여 표준처럼 사용되고 있는 도구 중 하나이다. 넷플로우는 플로우의 이출(移出) 구조와 프로토클의 구제적 정의를 제공한다. 넷플로우 구조는 넷플로우가 가능한 네트워크 노드와 수집기 분석기로 구성된다. 넷플로우가 가능한 네트워크 노드는 일시적인 플로우 정보와 주기적으로 수집기로 전달되는 정보를 담고 있는 플로우캐시(flow-cache)를 유지관리하여야 한다. 플로우캐시의 크기는 해당 네트워크에서 한순간에 대한 정확한 모니터링을 보장할 수 있도록 충분해야한다. 즉, 플로우캐시에서 유지되는 플로우의 수는 해단 네트워크 노드를 통과할 수 있는 최대 플로우 수 이상이 되어야 한다.
3) 플로우 집합 ( Flow Aggregation ):
플로우 집합은 같거나 비슷한 특성을 가지는 여러 플로우들을 모은 것이다. 플로우 집합은 네트워크 어플리케이션에서 플로우 분류 기능을 간단하게 해주고, 더욱 큰 용량에 대한 처리를 가능하게 해준다. 이러한 점으로 인해 시스템의 성능을 강화할 수 있도록 도와준다.
4) 플로우 제어 ( Flow Control )
플로우 제어는 네트워크 자원에서 각각의 플로우에 대해 몇 가지 제어 기능을 제공하는데 사용된다. 플로우 제어를 적용하는 것은 특정 플로우의 우선권을 높 이거나 대역폭의 제한을 두는 등의 네트워크 동작을 가능하게 한다. 플로우 제어를 하기 위해서는 먼저 플로우 구별이 이루어져야한다. 플로우 제어는 특정 플로우에 대한 정책적용, 큐잉(queueing), 스케쥴링(scheduling)을 포함한다.
5) Intel IXP 2800과 Radisys ATCA -7010, TCAM
인텔 IXP2800 네트워크 프로세서는 XScale 임베디드 프로세서와 16개의 프로그래밍이 가능한 32-비트 마이크로엔진(microengine)을 제공해준다. IXP2800의 각 마이크로엔진은 패킷 구분, 미터링(metering), 마킹(marking), 큐잉(queuing), 스케쥴링(scheduling)과 같은 고속 패킷 처리 기능을 수행할 수 있다. 또한 IXP2800은 OC-192급의 10Gbps 트래픽에 대한 처리가 가능하다. XScale 코어는 로컬 주소 패킷의 처리, 패킷의 단편화와 같은 저속 패킷 처리와 네트워크 노드의 제어평면에서의 기능을 수행하는데 사용된다.
RadiSys사의 ATCA-7010은 표준 ATCA 섀시에 설치가 가능한 형태의 모듈로 설계되어있다. 기본 카드에는 TCAM(네트워크 검색 엔진), ATCA 광 백플레인(Fabric backplane) 카드 등의 여러 옵션 카드들을 제어할 수 있으며, 10개의 1기가비트 이더넷 포트를 가지는 Rear Transition Module(RTM)에 접속가능하다. 두 개의 IXP2800 네트워크 프로세서 유닛(Network Processor Unit)과 32MB 플래시 메모리, 758MB RDRAM, 24MB QDR Ⅱ SRAM, 48Mbits TCAM을 탑재하고 있다. 두 개의 NPU는 RTM, Fabric Interface와 함께 SPI 스위치를 중심으로 연결구성되어 있다.
Content Addressable Memory (CAM)은 컨텐츠의 결합을 통한 메모리 주소 검색기능을 가지는 메모리의 특별한 형태이다. TCAM은 (0, 1, *)의 세 비트 상태를 지원하는 CAM이다. TCAM은 단 한번의 메모리 접근으로 결과를 얻어올 수 있기 때문에 다양한 검색, 구별기능을 매우 빠르게 해결할 수 있게 해준다.
6) Intel IXA Portability Framework
IntelPortability Framework는 VxWorks와 Montavista 리눅스에서 네트워크 어플리케이션의 개발을 위한 모듈 및 이식가능한 코드로 이루어진 소프트웨어 구조를 의미한다. 이것은 다음과 같은 장점을 가진다.
■ 어플리케이션 공통적인 기능에 대하여 라이브러리로 제공되어 개발 속도를 빠르게 한다.
■ 샘플 어플리케이션의 제공으로 고성능 어플리케이션의 개발이 쉽다.
■ 개발된 코드의 재사용이 가능하여 여러 어플리케이션 구현에 적용이 가능하다.
Intel IXA Framework는 2가지의 데이터 평면으로 나뉘어진다. 고속 처리 평면에서는 병렬 구조로 마이크로엔진에서 수행되며, 대부분의 트래픽을 처리한다. 저속 처리 평면은 예외 패킷이나 긴 처리 시간이 요구되는 패킷에 대하여 XScale 프로세서에서 수행된다. 어플리케이션은 코어 콤포넌트(Core Component)와 마이크로블럭(microblock)으로 구성된다. 마이크로블럭은 저급 언어 라이브러리를 사용하여 쓰여진 매크로와 빠른 패킷 처리를 위하여 최적화된 코드이다. 코어 콤포넌트는 마이크로블럭의 관리와 XScale의 수행을 위한 라이브러리로 이루어져 있다. 보다 나은 성능을 위해 패킷은 병렬로 처리된다. 이러한 점은 네트워크 처리 어플리케이션의 임계영역에 대한 주의 깊은 제어를 요구한다. 각 패킷은 버퍼에 저장되어 있 으며 메타데이터(metadata)를 가진다. 메타데이터는 패킷의 길이, 입출력 포트 번호, 플로우 구별번호와 같은 패킷자체에서 가지고 있지 않은 부가적인 정보를 각 마이크로블럭 사이에서 전달해주는 기능을 한다.
본 발명은 상기한 바와 같은 종래의 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 네트워크 과금, 보안, QoS 보장형 서비스를 위하여, 3단계 동적 분류 방식을 통한 초고속대용량 플로우 생성, 제어 기법 및 IXP2800 네트워크 프로세서 어플리케이션을 구현하는 3단계 동적 분류를 통한 10Gbps급 대용량 플로우 생성 및 제어 장치 및 방법을 제공하는 것이다.
상기한 바와 같은 본 발명의 목적을 달성하기 위하여, 본 발명에 따른 3단계 동적 분류를 통한 10Gbps급 대용량 플로우 생성 및 제어장치는 네트워크 인터페이스 버퍼로부터 패킷을 받는 패킷수신모듈과 IP 라우팅 수행 및 패킷의 출력 포트를 결정하는 라우팅 및 스위칭 모듈, 패킷을 네트워크 인터페이스 버퍼로 보내는 패킷 전송모듈로 구성되어 일반적인 IP 라우터 처리를 수행하는 데이터평면 처리모듈과, 수집 및 분석자와, 제어 어플리케이션으로 구성되어 10Gbps급 트래픽을 다룰 수 있는 유연하고 확장성이 큰 플로우 생성, 제어 및 정보측정 기능을 제공하는 10Gbps급 대용량 플로우 생성 및 제어장치에 있어서, 상기 데이터평면 처리모듈은 상기 외부 모듈로 통신방법을 제공하는 이출인터페이스부 및 제어인터페이스부와, 패킷이 해당하는 플로우를 찾아내고, 해당 패킷이 속한 플로우 정보를 갱신하며, 주기적으로 플로우정보 수집자에게 플로우 정보를 전달하는 플로우생성모듈과, 플로우 정책과 각 플로들의 우선순위결정 및 스케줄링을 수행하여 상기 패킷전송모듈로 전송하는 플로우제어모듈을 포함하여 구성되며, 상기 수집 및 분석자는 플로우들에 의해 주기적으로 모든 정보를 전달받는 수집자와, 상기 수집자에서 수집된 모든 정보를 저장하는 저장소와, 상기 저장소에 저장된 정보에 의해 현재 네트워크 상태를 분석하고 상기 제어어플리케이션에게 결과를 통보하는 분석기로 구성되며, 상기 제어 어플리케이션은 상기 분석기로부터의 현재 네트워크 상태를 전달받는 수집기/분석기 인터페이스와, 상기 수집기/분석기 인터페이스를 통해 전달받은 현태 네트워크상태를 표시하는 그래픽유저 인터페이스와, 사용자가 특정 플로우를 조정하도록 하는 제어인터페이스를 포함하여 구성된 것을 특징으로 한다.
본 발명의 목적을 달성하기 위한 3단계 동적 분류를 통한 10Gbps급 대용량 플로우 생성 및 제어과정은 데이터평면처리모듈에 의하여 여러 개의 처리 블레이드를 동시에 사용가능하도록 인그레스 네트워크 프로세서와 이그레스 네트워크 프로세서로 구성된 10Gbps급 대용량 플로우 생성 및 제어방법에 있어서, 상기 인그레스 네트워크 프로세서는 RX 마이크로블럭(301)에 의해 주기적으로 네트워크 인터페이스에 새로운 패킷이 도착했는지를 확인하고, 도착한 패킷은 메모리버퍼에 저장되고, L2 decap 마이크로블록(302)으로 전달되어 2계층 헤더를 분석하는 제 1 과정; 상기 L2 decap 마이크로블록(302)에서 전달된 패킷은 분류자 마이크로블록(303)에 의해서 필드별로 분류하고, 패킷이 어떤 플로우에 속하는지 검사하는 제 2 과정; 상기 제 2 과정에서 검사된 패킷은 IPv4 마이크로블록(304)에서 라우팅작업을 거친 후 미터링(305)에 의해 제어해야할 플로우에 속한 패킷들에 대하여 정책을 수행하는 제 3 과정; 통계 마이크로블록(306)에 의해 플로우 정보 구조체를 갱신하고, 큐매니저/ 스케줄러(307)로 패킷 정보를 전달하는 제 4 과정; 상기 패킷 정보를 전달받은 큐메니저/스케줄러(307)에서 스케줄러는 다른 ATCA 프로레이드로의 패킷전달에 대한 일정을 조절하는 제 5 과정; TX 마이크로블럭(308)은 스위칭 패브릭으로 패킷을 전달하여 필요한 블레이드로 보내지도록 하고, 이그레스 NPU의 버퍼로 패킷을 전달하는 제 6 과정; 상기 이그레스 NPU의 RX마이크로블럭(309)은 스위칭 패브릭으로부터 받은 패킷을 저장하고 L2 encap 마이크로블럭(310)으로 패킷 정보를 전달하여 패킷에 2계층 이더넷 정보를 기록하는 제 7 과정; 상기 패킷에 대하여 WRED(Weighted Random Early Detection)마이크로블럭(311)에서 액티브 큐 매니지먼트 기능을 수행하고, 큐매니저/스케줄러(312)는 어떤 패킷이 다음에 전달될지 순서를 결정짓는 제 8 과정; 및 TX마이크로블럭(314)에 의해 네트워크 인터페이스를 통해 상기 패킷을 내보내는 제 9과정;을 포함하여 이루어진 것을 특징으로 한다.
여기서, 상기 제 2 과정에서 패킷이 어떤 플로우에 속하는지 검사한 결과, 새로운 플로우를 생성해야할 경우 분류자 코어 콤포넌트는 망대망(network-to-network), 호스트 대 호스트(host-to-host), 프로세스 대 프로세스(process-to-process)의 3단계 플로우 집합으로 단계적으로 구별하되, 새로운 플로우가 생성될 때 망대망 집합을 생성하는 단계; 주기적으로 플로우 캐시에 저장된 플로우의 전송률을 확인하여, 상기 소정의 한 플로우가 전송률이 미리 정해진 한계점을 넘을 경우 해당 플로우 집합은 호스트 대 호스트집합으로 지정하는 단계; 및 상기 프로세스 대 프로세스 집합을 가지는 모든 새로운 플로우는 모든 필드에 값을 채운 TCAM 엔트리를 갖는 단계;를 포함하여 이루어진 것을 특징으로 한다.
이상에서 설명한 바와 같은 본 발명에 의하면, 10Gbps 트래픽에서 최대 12만 5천개의 플로우 생성 및 제어가 가능하다.
본 발명에서는 매우 낮은 트래픽양을 가지는 플로우까지 모니터링 할 수 있는 동적인 플로우 집합 생성을 제안한다. 이 방법은 저속 플로우 정보의 수집과 트래이드오프(tradeoff)를 통해 동시에 매우 많은 수의 플로우를 생성 및 모니터링을 가능하게 한다. 이것은 트래픽의 전체 플로우 수가 적다면 심도 싶은 플로우까지 구별이 가능하고, 전체 플로우 수가 많다면 속도가 적은 플로우들은 플로우-캐쉬가 허락하는 한도 내에서 그룹으로 묶어 모니터링을 가능하게 한다.
삭제
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 더욱 상세하게 설명한다.
본 발명은 IXP2800 네트워크 프로세서를 이용하여 10Gbps급 트래픽에 대한 플로우 생성 및 제어에 관한 것이다. 발명된 내용에 있어서 동적이고 플로우의 생성은 각 플로우의 전송속도에 따라 동적으로 플로우의 생성 범위가 조절된다. 매우 빠르고 대용량 처리가 가능한 6-Tuple TCAM 기반의 분류(구별)장치(classification)를 사용하며, 분류된 플로우는 미터링(metering), 마킹(marking), 큐잉(queuing) 및 스케듈링(scheduling)에 의해 제어된다.
이와 같은 플로우 제어는 네트워크의 QoS 보장형 서비스 및 네트워크 공격 차단 기능을 제공한다.
본 발명은 Radysys사의 ATCA-7010 프로세싱 모듈기반으로 설계되었으며, 이 모듈은 두 개의 IXP2800 네트워크 프로세서와 고속 구별장치(classification)를 탑재하고 있다. 본 발명의 시스템은 10Gbps 트래픽에서 최대 12만 5천개의 플로우 생성 및 제어가 가능하다.
본 발명은 Radisys ATCA-7010 플랫폼에 10Gbps급 트래픽을 다룰 수 있는 유연하고 확장성 큰 플로우 생성 및 제어 시스템을 설계 및 구현한 것이다.
도 1은 본 발명의 실시예에 따른 10Gbps 플로우 생성 및 제어 시스템의 구조를 도시한 도면으로, 이를 참조하여 상세히 설명하면 다음과 같다.
플로우 생성 및 제어 시스템은 플로우 정보 측정 기능을 제공한다. 이 아키텍처는 데이터 평면 처리 모듈(101), 외부 수집 및 분석자(102), 그리고 제어 어플리케이션(103)의 3개 요소로 이루어져 있다.
데이터 평면 처리 모듈(101)은 추가적으로 플로우 생성(105)와 제어 기능(110)과 함께 일반적인 IP 라우터 처리를 수행한다. 일반적인 라우터는 네트워크 인터페이스 버퍼로부터 패킷을 받는 Packet RX(104) 모듈, IP 라우팅 수행 및 패킷의 출력 포트를 결정하는 Routing과 Switching(109) 모듈, 패킷을 네트워크 인터페이스 버퍼로 보내는 Packet TX(110) 모듈로 구성된다.
본 발명에서의 데이터 평면 처리는 이출인터페이스(115)와 제어(116) 인터페이스를 포함한다. 이것은 데이터 평면 처리 모듈(101)이 외부 모듈로 통신 방법을 제공하는 역할을 한다. 플로우 생성 모듈(105)는 아래의 3가지 일을 수행한다.
■ 분류자(106)는 패킷이 해당하는 플로우를 찾아낸다. 일반적인 6-Tuple( source IP address, destination IP address, source port, destination port, IP protocol type, IP type of service) 정보를 IP 헤더로부터 추출하여 분류자가 현재 관리되고 있는 플로우에 속하는지를 검사한다. 만약 그렇다면 패킷 플로우 ID는 추후 동작을 위해 메타데이터 정보에 기록된다. 그렇지 않다면 패킷 정보는 새로운 플로우 엔트리의 생성에 사용된다.
■ 플로우 모니터링(107)은 그 패킷이 속한 플로우 정보를 갱신한다. 갱신되는 플로우 정보에는 플로우의 누적 byte, 패킷 수, 그리고 마지막 타임스탬프 등이 있다.
■ 플로우 이출(108)은 주기적으로 외부 수집 및 분석자(102)의 플로우정보 수집자(117)에게 플로우 정보를 전달한다. 주기적 플로우 이출은 분류자 플로우캐시가 오버플로 되지 않으면서 현재 네트워크 상태에 대한 가장 최신 정보를 받을 수 있도록 제어한다.
플로우 제어는 플로우 정책을 위한 미터링/마킹(111), 각 플로우들의 우선순위를 결정는 액티브 큐 매니지먼트(active queue management)(112)와 스케줄링(113)을 통틀어 말한다. 미터링/마킹은 2개의 토큰 버켓(token bucket)으로 구성된 Two-Rate Three Color Meter를 사용하며 동작한다.
도 2는 본 발명에서 사용한 Two-Rate Three Color Meter를 이용한 미터링(metering)과 마킹(marking)을 도시한 도면으로, 이를 참조하여 상세히 설명하면 다음과 같다.
첫 번째 토큰 버켓(201)은 녹색 토큰(G)을 가지며 두 번째(202)는 노란색 토큰(Y)을 가진다. 이 토큰들은 녹색 토큰 버켓(G)에 Committed Information Rate(CIR)이 할당되고, 노란색 토큰 버켓(Y)에는 PIR(Peak Information Rate)이 할당된다.
패킷은 녹색, 노란색, 붉은색 중 하나의 토큰에 대한 정보가 기록된다. 이 색은 액티브 큐 매니지먼트에서 사용되며, 액티브 큐 매니지먼트는 Weighted Random Early Detection(WRED)알고리즘을 기반으로 구현된다.
녹색 토큰(G)을 가진 패킷은 가장 적은 확률로 드롭 되고, 붉은색 토큰(R)을 가진 패킷은 가장 높은 확률로 드롭 되며, 노란색 토큰(Y)을 가진 패킷은 그 사이의 확률로 드롭 된다.
플로우들은 주기적으로 모든 정보를 플로우정보 수집자(117)로 전달하여 수집기는 저장소(118)에 저장한다. 분석기(119)는 현재 네트워크 상태에 대한 분석을 하고 제어 어플리케이션(103)에게 수집기/분석기 인터페이스(120)을 통해 결과를 통보한다.
상기 제어 어플리케이션(103)은 그래픽 유저 인터페이스(GUI)(114)를 통해 현재 네트워크 상태를 보여주고, 제어 인터페이스(121)를 통해 특정 플로우를 조정할 수 있게 한다.
또한, 상기 제어 어플리케이션(103)은 네트워크 공격처럼 특별한 케이스의 플로우에 대해서 자동적으로 처리할 수 있도록 설계할 수 있다.
이렇게 다양한 환경에 적용할 수 있도록 융통성 있게 설계되었다. 더욱 간단한 케이스로, 수집기와 제어 어플리케이션은 하나의 모듈로 통합되어 구현이 가능하다.
데이터 평면 처리모듈(101)은 Radisys ATCA-7010 플랫폼 기반으로 구현되었으며, 이 시스템은 매우 좋은 확장성을 제공한다.
만약, 더욱더 많은 처리를 필요로 한다면 여러 개의 처리 블레이드를 동시에 사용이 가능하다. Radisys ATCA-7010은 두 개의 IXP2800 네트워크 프로세서로 구성되어 있으며, 각각은 Ingress NPU와 Egress NPU로 구분된다.
도 3은 본 발명의 실시예에 따른 ATCA-7010 프로세싱 모듈 상에 구현된 시스템 구조를 도시한 도면으로, 이를 참조하여 상세히 설명하면 다음과 같다.
Ingress NPU는 패킷 분류, 라우팅 및 정책 적용부분을 처리하며, Egress NPU는 큐잉, 스케쥴링을 처리한다.
RX 마이크로블럭(301)은 주기적으로 네트워크 인터페이스에 새로운 패킷이 도착했는지를 확인한다. 도착한 패킷은 즉시 메모리 버퍼에 저장되고 2계층 헤더를 분석하는 L2 decap 마이크로블럭(302)으로 전달된다.
이후 패킷은 분류자 마이크로블럭(303)에 의해서 필드(source IP address, destination IP address, source port number, destination port number, IP protocol type, and IP type of service)에 따라 분류된다.
그리고 패킷이 어떤 플로우에 속하는지 검사를 한다. 만약 이전까지 존재하지 않던 플로우에 대한 분류가 된다면, 새로운 플로우를 생성이 필요로 함으로, 분류자 코어 콤포넌트(315)에 의해 메모리에 새로운 데이터 정보를 만들어 저장시킨다. 그리고 메타데이터에는 새롭게 부여받은 플로우 ID를 기록한다.
이후 패킷은 IPv4 마이크로블럭(304)에서 일반적인 네트워크 노드에서 처리하는 라우팅 작업을 거친다. 미터링(305)은 제어해야할 플로우에 속한 패킷들에 대하여 정책을 수행한다.
상기 통계 마이크로블럭(306)은 플로우 정보 구조체를 갱신하고, 큐 매니저와 스케줄러(307)로 패킷정보를 전달한다.
상기 Ingress NPU에서의 스케줄러는 다른 ATCA 블레이드로의 패킷전달에 대한 일정을 조절한다. 상기 Ingress NPU에서 TX 마이크로블럭(308)은 스위칭 패브릭(switching fabric)으로 패킷을 전달하여 필요한 블레이드로 보내지도록 한다.
만약, 멀티블레이드 처리를 하지 않는다면 TX 마이크로블럭은 곧바로 Egress NPU의 버퍼로 패킷을 전달하게 된다.
상기 Egress NPU의 RX 마이크로블럭(309)은 스위칭 패브릭으로부터 받은 패킷을 저장하고 L2 encap 마이크로블럭으로 정보를 전달하여 패킷에 2계층 이더넷 정보를 기록한다.
WRED(Weighted Random Early Detection) 마이크로블럭(311)은 패킷에 대하여 액티브 큐 매니지먼트 기능을 수행하고, 큐매니저와 스케줄러(312)는 어떤 패킷이 다음에 전달될지 순서를 결정짓는다.
마지막으로 Egress NPU의 TX 마이크로블럭(314)는 네트워크 인터페이스를 통해 패킷을 내보낸다.
분류자 코어 콤포넌트(315)가 마이크로블럭으로부터 예외 메시지를 받았을 때, 새 플로우 생성 절차를 시작한다. 분류자는 3개의 다른 플로우 집합을 사용한다. network-to-network, host-to-host, process-to-process 가 그것이다.
저레벨 플로우를 하나의 집합으로 모으는 것은 더 큰 확장성과 많은 수의 플로우에 대한 지원을 가능하게 한다.
도 4는 본 발명에서 TCAM 구별장치의 동작을 위한 전체 데이터 구조를 도시한 도면으로, 이를 참조하여 보다 상세히 설명하면 다음과 같다.
즉, 새로운 플로우가 생성될 때 가장 먼저 network-to-network 집합이 생성된다. 이러한 종류의 플로우의 IP prefix는 24를 가지며 나머지는 와일드카드로 지정된다(401).
상기 분류자 코어 콤포넌트(315)는 주기적으로 플로우캐시에 저장된 플로우의 전송률을 확인한다. 만약 한 플로우의 전송률이 미리 정해진 한계점을 넘을 경우 해당 플로우 집합은 host-to-host 집합으로 지정된다.
그러기 위해서 TCAM 내의 network-to-network 플로우 집합의 IP 주소값 4bytes 중 마지막 바이트 값을 와일드카드(*)에서 0으로 바뀌게 하여, 이 시점 이후의 해당 플로우 집합은 host-to-host 서브-플로우 집합으로 새롭게 구분되도록 한다(402).
상기 구분자 코어 콤포넌트는 새로운 플로우들을 상위 플로우 집합의 확장 플로우 리스트에 집어넣게 된다.
상기 host-to-host 집합의 플로우들은 정확한 IP 주소를 가지며 여전히 그 외의 모든 값은 와일드카드(*) 상태이다(403).
비슷한 방법으로 host-to-host 플로우의 전송률이 제한된 값을 넘게 되면 다음 단계의 집합으로 확장된다. 이때 비로소 모든 값이 0으로 지정된다(404).
그리고 process-to-process 집합을 가지는 모든 새로운 플로우는 모든 필드에 값을 채운 TCAM 엔트리를 가질 것이다(405).
최종적으로 전체 데이터 구조는 상기 설명한 엔트리들의 리스트 혹은 트리 형태로 저장된다.
이 방법은 대용량 플로우를 가지는 트래픽에 대하여 구체적인 정보를 유지할 수 있도록 할 수 있는 확장성이 큰 시스템에 적합하다.
삭제
삭제
삭제
이상에서 설명한 본 발명에 따른 3단계 동적 분류를 통한 10Gbps급 대용량 플로우 생성 및 제어 장치 및 방법은 상기한 실시예에 한정되지 않고, 이하의 특허 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양하게 변경하여 실시할 수 있는 범위까지 그 기술적 정신이 있다.
도 1은 본 발명에서 10Gbps 플로우 생성 및 제어 시스템의 구조를 도시한 도면.
도 2는 본 발명에서 사용한 Two-Rate Three Color Meter를 이용한 미터링(metering)과 마킹(marking)을 도시한 도면.
도 3은 본 발명에서 ATCA-7010 프로세싱 모듈 상에 구현된 시스템 구조를 도시한 도면.
도 4는 본 발명에서 TCAM 구별장치의 동작을 위한 전체 데이터 구조를 도시한 도면.

Claims (8)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 외부 모듈과의 통신을 위해 네트워크 인터페이스 버퍼로부터 패킷을 받는 패킷수신모듈(104)과 IP 라우팅 수행 및 패킷의 출력 포트를 결정하는 라우팅 및 스위칭 모듈(109), 패킷을 출력단 네트워크 인터페이스 버퍼로 보내는 패킷전송모듈(114)로 구성되어 일반적인 IP 라우터 처리를 수행하는 데이터평면 처리모듈(101)과, 외부 수집 및 분석자(102)와, 제어 어플리케이션(103)으로 구성되어 10Gbps급 트래픽 정보를 다루는 유연하고 확장성이 큰 트래픽 플로우 생성, 트래픽 정보 수집 및 분석 제어 및 정보측정 기능을 제공하는 10Gbps급 대용량 플로우 생성 및 제어장치에 있어서,
    상기 데이터평면 처리모듈(101)은 상기 외부 모듈로 통신방법을 제공하는 이 출인터페이스부(115) 및 제어 인터페이스부(116)와, 패킷이 해당하는 플로우를 찾아내고, 해당 패킷이 속한 플로우 정보를 갱신하며, 주기적으로 플로우정보 수집자(117)에게 플로우 정보를 전달하는 플로우 생성모듈(105)과, 플로우 정책과 각 플로우들의 우선순위결정 및 스케줄링을 수행하여 상기 패킷전송모듈(114)로 전송하는 플로우제어모듈(110)을 포함하여 구성되며,
    상기 외부 수집 및 분석자(102)는 플로우들에 대해 주기적으로 모든 정보를 전달받는 플로우정보 수집자(117)와, 상기 플로우정보 수집자(117)에서 수집된 모든 정보를 저장하는 저장소(118)와, 상기 저장소(118)에 저장된 정보에 의해 현재 네트워크 상태를 분석하고 상기 제어 어플리케이션(103)에게 결과를 통보하는 분석기(119)로 구성되며,
    상기 제어 어플리케이션(103)은 상기 분석기(119)로부터의 현재 네트워크 상태를 전달받는 수집기/분석기 인터페이스(120)와, 상기 수집기/분석기 인터페이스(120)를 통해 전달받은 현재 네트워크 상태를 표시하는 그래픽유저 인터페이스와, 사용자가 특정 플로우를 조정하도록 하는 제어 인터페이스(121)를 포함하여 구성하되,
    상기 데이터평면 처리모듈(101)의 패킷수신모듈(104)은 패킷 분류, 라우팅 및 정책 적용부분을 처리하는 인그레스 네트워크 프로세서(Ingress NPU)로 구성되며, 상기 패킷전송모듈(114)은 큐잉, 스케쥴링을 처리하는 이그레스 네트워크 프로세서(Egress NPU)로 구성된 것을 특징으로 하는 3단계 동적분류를 통한 10Gbps급 대용량 플로우 생성 및 제어장치.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
KR1020070076495A 2007-07-30 2007-07-30 3단계 동적 분류를 통한 10기가급 대용량 플로우 생성 및 제어 장치 KR101275751B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070076495A KR101275751B1 (ko) 2007-07-30 2007-07-30 3단계 동적 분류를 통한 10기가급 대용량 플로우 생성 및 제어 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070076495A KR101275751B1 (ko) 2007-07-30 2007-07-30 3단계 동적 분류를 통한 10기가급 대용량 플로우 생성 및 제어 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020110128132A Division KR101191251B1 (ko) 2011-12-02 2011-12-02 3단계 동적 분류를 통한 10기가급 대용량 플로우 생성 및 제어방법

Publications (2)

Publication Number Publication Date
KR20090012568A KR20090012568A (ko) 2009-02-04
KR101275751B1 true KR101275751B1 (ko) 2013-06-14

Family

ID=40683314

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070076495A KR101275751B1 (ko) 2007-07-30 2007-07-30 3단계 동적 분류를 통한 10기가급 대용량 플로우 생성 및 제어 장치

Country Status (1)

Country Link
KR (1) KR101275751B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023249242A1 (ko) * 2022-06-24 2023-12-28 삼성전자주식회사 플로우 스케줄링 방법 및 상기 방법을 수행하는 전자 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100495086B1 (ko) * 2001-09-27 2005-06-14 주식회사 케이티 수동적 측정 방식을 이용한 인터넷 프로토콜 네트워크트래픽 정보 분석 장치 및 방법
KR100523486B1 (ko) * 2002-12-13 2005-10-24 한국전자통신연구원 트래픽 측정 시스템 및 그의 트래픽 분석 방법
KR20070055861A (ko) * 2005-11-28 2007-05-31 주식회사 케이티 인터넷 프로토콜 패킷특성 분석 시스템 및 그 방법
US20070153682A1 (en) * 2005-12-30 2007-07-05 Erik Swenson Multi-priority multi-color markers for traffic metering

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100495086B1 (ko) * 2001-09-27 2005-06-14 주식회사 케이티 수동적 측정 방식을 이용한 인터넷 프로토콜 네트워크트래픽 정보 분석 장치 및 방법
KR100523486B1 (ko) * 2002-12-13 2005-10-24 한국전자통신연구원 트래픽 측정 시스템 및 그의 트래픽 분석 방법
KR20070055861A (ko) * 2005-11-28 2007-05-31 주식회사 케이티 인터넷 프로토콜 패킷특성 분석 시스템 및 그 방법
US20070153682A1 (en) * 2005-12-30 2007-07-05 Erik Swenson Multi-priority multi-color markers for traffic metering

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023249242A1 (ko) * 2022-06-24 2023-12-28 삼성전자주식회사 플로우 스케줄링 방법 및 상기 방법을 수행하는 전자 장치

Also Published As

Publication number Publication date
KR20090012568A (ko) 2009-02-04

Similar Documents

Publication Publication Date Title
CN109743340B (zh) 报文处理的方法和网络装置
US8059532B2 (en) Data and control plane architecture including server-side triggered flow policy mechanism
CN103765839B (zh) 用于网络设备内的分组处理的基于变量的转发路径结构
US8284665B1 (en) Flow-based rate limiting
US7742406B1 (en) Coordinated environment for classification and control of network traffic
US8804747B2 (en) Network interface controller for virtual and distributed services
US7522521B2 (en) Route processor adjusting of line card admission control parameters for packets destined for the route processor
EP1754349B1 (en) Hardware filtering support for denial-of-service attacks
US6185214B1 (en) Use of code vectors for frame forwarding in a bridge/router
US10296551B2 (en) Analytics for a distributed network
US8005012B1 (en) Traffic analysis of data flows
US11374858B2 (en) Methods and systems for directing traffic flows based on traffic flow classifications
US8761182B2 (en) Targeted flow sampling
JP2005277804A (ja) 情報中継装置
US9356844B2 (en) Efficient application recognition in network traffic
US20130142205A1 (en) Hierarchical Self-Organizing Classification Processing in a Network Switch
KR101191251B1 (ko) 3단계 동적 분류를 통한 10기가급 대용량 플로우 생성 및 제어방법
CN101106518B (zh) 为中央处理器提供负载保护的拒绝服务方法
CN101626323A (zh) 一种网络数据流量监测方法和装置
US20180176139A1 (en) Correlating discarded network traffic with network policy events through augmented flow
CN111771358B (zh) 包可编程状态集
US11818022B2 (en) Methods and systems for classifying traffic flows based on packet processing metadata
US20120076153A1 (en) Statistics module for network processors in virtual local area networks
CN1875585A (zh) 利用mac限制来控制动态未知l2泛滥
CN101827073A (zh) 跟踪片段数据流

Legal Events

Date Code Title Description
AMND Amendment
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
E90F Notification of reason for final refusal
A107 Divisional application of patent
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20110628

Effective date: 20130123

S901 Examination by remand of revocation
E902 Notification of reason for refusal
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160601

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170612

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee