문맥 (context)
인터넷의 성장 및 발전과 함께, 네트워크 트래픽에 대한 구성 및 원동력의 이해는 네트워크 엔지니어링, 계획, 설계, 공격감지를 위해 매우 중요하다.
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)를 가진다. 메타데이터는 패킷의 길이, 입출력 포트 번호, 플로우 구별번호와 같은 패킷자체에서 가지고 있지 않은 부가적인 정보를 각 마이크로블럭 사이에서 전달해주는 기능을 한다.
지시문 (instruction)
주어진 원문을 읽고 필요한 정보를 파악하여, 원문에 근거해 질문에 답하라.
질문 (question)
Intel IXA Portability Framework의 어플리케이션을 구성하는 두 가지 요소는 무엇인가?
추론 과정 (compact_reasoning)
-
1과제 해석
task_interpretationIntel IXA Portability Framework 내 어플리케이션의 구성 요소를 찾는 질문이다.
-
2정보 추출
information_extractionIntel IXA Framework 관련 설명 중 어플리케이션 구성에 관한 문장을 탐색한다.
- 어플리케이션은 코어 콤포넌트(Core Component)와 마이크로블럭(microblock)으로 구성된다.
-
3근거 선택
evidence_selection어플리케이션의 구성 요소를 명시한 구절을 근거로 선택한다.
- 어플리케이션은 코어 콤포넌트(Core Component)와 마이크로블럭(microblock)으로 구성된다.
-
4논리 통합
logical_integration추출된 두 구성 요소인 코어 콤포넌트와 마이크로블럭을 결합한다.
-
5결론 도출
conclusion_formulation질문에서 요구한 구성 요소를 명확히 정리한다.
- 코어 콤포넌트(Core Component)와 마이크로블럭(microblock)
-
6답변 생성
answer_generationlist 형식에 맞춰 두 요소를 나열하여 답변을 생성한다.
- 어플리케이션은 코어 콤포넌트(Core Component)와 마이크로블럭(microblock)으로 구성된다.
최종 답변 (final_answer)
코어 콤포넌트(Core Component)와 마이크로블럭(microblock)이다.
핵심 해석 (core_interpretation)
Intel IXA Portability Framework의 어플리케이션은 코어 콤포넌트와 마이크로블럭으로 구성된다.