맨위로가기

네트워크 프로세서

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

네트워크 프로세서는 통신 네트워크에서 패킷 데이터를 처리하고 최적화하기 위해 특화된 기능을 갖춘 집적 회로(IC)이다. 라우터, 스위치, 방화벽 등 다양한 네트워크 장비에 사용되며, 프로그래밍 가능하여 여러 기능을 수행할 수 있다. 재구성 가능한 매치 테이블(RMT)을 통해 유연성을 제공하며, 패턴 매칭, 키 조회, 계산, 데이터 조작, 큐 관리 등 다양한 기능을 수행한다. CPU 파이프라인, 병렬 처리, 특수 마이크로코드 엔진, 멀티코어 아키텍처 등 다양한 아키텍처 패러다임을 사용하며, 라우팅, QoS 시행, 접근 제어, 암호화, TCP 오프로드 처리 등 다양한 응용 분야에 활용된다.

더 읽어볼만한 페이지

  • 시스템 온 칩 - 애플 실리콘
    애플 실리콘은 애플이 자체 설계한 시스템 온 칩(SoC) 제품군으로, 아이폰, 아이패드, 맥 등 다양한 애플 기기에 사용되며 A, H, M, R, S, T, U, W 시리즈 및 M 시리즈 보조 프로세서로 구성된다.
  • 시스템 온 칩 - 미디어텍
    미디어텍은 1997년 설립된 대만의 반도체 설계 회사로, 스마트폰 칩셋 공급업체로 성장하여 2020년 퀄컴을 제치고 세계 최대 규모가 되었으며, AIoT 등 다양한 분야로 사업을 확장하고 탄소 순 배출량 제로를 목표로 한다.
  • ASIC - 그래픽 처리 장치
    그래픽 처리 장치(GPU)는 컴퓨터 그래픽 렌더링 및 표시를 가속화하는 전용 프로세서로, 아케이드 게임기에서 시작하여 개인용 컴퓨터의 초기 그래픽 디스플레이 프로세서, 하드웨어 가속 3D 그래픽을 거쳐 인공지능 및 딥러닝 분야에서도 활용되며 다양한 형태로 컴퓨터, 게임 콘솔, 모바일 기기 등 광범위한 분야에서 사용된다.
  • ASIC - 하드웨어 가속
    하드웨어 가속은 성능 향상을 위해 특정 연산을 전용 하드웨어로 처리하는 기술이며, 병렬 처리를 통해 연산 속도를 높이지만 유연성이 감소하고 비용이 증가하는 특징을 갖는다.
  • 하드웨어 가속 - 그래픽 처리 장치
    그래픽 처리 장치(GPU)는 컴퓨터 그래픽 렌더링 및 표시를 가속화하는 전용 프로세서로, 아케이드 게임기에서 시작하여 개인용 컴퓨터의 초기 그래픽 디스플레이 프로세서, 하드웨어 가속 3D 그래픽을 거쳐 인공지능 및 딥러닝 분야에서도 활용되며 다양한 형태로 컴퓨터, 게임 콘솔, 모바일 기기 등 광범위한 분야에서 사용된다.
  • 하드웨어 가속 - FPGA
    FPGA(Field-Programmable Gate Array)는 사용자가 하드웨어 설계를 변경할 수 있는 집적 회로이며, CPLD에서 파생되어 다양한 제조 기술을 사용하고 디지털 신호 처리, 통신 등 여러 분야에 활용된다.
네트워크 프로세서
네트워크 프로세서
인텔 IXP2800 네트워크 프로세서
인텔 IXP2800 네트워크 프로세서
개요
유형마이크로프로세서
용도패킷 처리
프로토콜 처리
콘텐츠 인식
보안 처리
특징
아키텍처병렬 처리 아키텍처
명령어 집합특수 목적 명령어 집합
최적화네트워크 작업에 최적화
활용 분야
네트워크 장비라우터
스위치
방화벽
통신 장비기지국
네트워크 인터페이스 카드
주요 제조사
제조사인텔
브로드컴
퀄컴
마벨
Cavium (Marvell에 인수됨)
NXP
프리스케일 (NXP에 인수됨)
PMC-시에라 (Microsemi에 인수됨)

2. 개발 역사

현대 통신 네트워크에서는 음성, 비디오, 데이터와 같은 정보가 패킷 데이터 형태로 전송(패킷 교환)된다. 이는 정보를 아날로그 신호로 전달했던 기존의 공중 전화 교환망(PSTN)이나 아날로그 TV/라디오 네트워크와는 대조적이다. 이러한 패킷을 처리하기 위해 패킷 데이터 처리에 최적화된 집적 회로(IC)가 개발되었다. 네트워크 프로세서는 네트워크 내에서 패킷 처리를 향상시키고 최적화하기 위한 특정 기능이나 아키텍처를 갖추고 있다.

네트워크 프로세서는 특정 기능을 가진 IC로 발전해왔다. 이러한 발전은 더 복잡하고 유연한 IC를 만드는 데 기여했다. 최신 회로는 프로그래밍이 가능하여, 단일 하드웨어 IC 설계에 적절한 소프트웨어를 설치하면 다양한 기능을 수행할 수 있다.

네트워크 프로세서는 다음과 같은 다양한 유형의 네트워크 장비 제조에 사용된다.

2. 1. 재구성 가능한 매치 테이블 (Reconfigurable Match-Tables)

재구성 가능한 매치 테이블[1][2]은 스위치가 고속으로 작동하면서 실행 중인 네트워크 프로토콜 또는 처리 방식에 유연성을 유지할 수 있도록 2013년에 도입되었다. P4[3]는 칩을 프로그래밍하는 데 사용된다. 베어풋 네트웍스는 이 프로세서를 기반으로 설립되었으며, 2019년 인텔에 인수되었다.

RMP 파이프라인 설명


RMT 파이프라인은 프로그래밍 가능한 파서,[2] 매치-액션 테이블, 프로그래밍 가능한 디파서의 세 가지 주요 단계에 의존한다. 파서는 패킷을 청크 단위로 읽고 이러한 청크를 처리하여 패킷에 사용된 프로토콜(이더넷, VLAN, IPv4 등)을 파악하고, 패킷의 특정 필드를 패킷 헤더 벡터(PHV)로 추출한다. PHV의 특정 필드는 현재 헤더 또는 전체 패킷 길이와 같은 특수 용도로 예약될 수 있다. 프로토콜은 일반적으로 프로그래밍 가능하며 추출할 필드도 프로그래밍 가능하다. 매치-액션 테이블은 입력 PHV를 읽고, 크로스바 및 CAM 메모리를 사용하여 해당 필드를 일치시키는 일련의 유닛이다. 그 결과는 PHV의 하나 이상의 필드 및 이 명령을 지원하는 데이터에 대해 작동하는 광범위한 명령어이다. 그런 다음 출력 PHV는 다음 MA 단계 또는 디파서로 전송된다. 디파서는 PHV와 원래 패킷 및 메타데이터(PHV로 추출되지 않은 누락된 비트를 채우기 위해)를 입력한 다음 수정된 패킷을 청크 단위로 출력한다. 일반적으로 파서와 마찬가지로 프로그래밍 가능하며 일부 구성 파일을 재사용할 수 있다.

FlexNIC[4]은 이 모델을 네트워크 인터페이스 컨트롤러에 적용하여 서버가 CPU 오버헤드를 증가시키지 않고 프로토콜 유연성을 유지하면서 고속으로 패킷을 송수신할 수 있도록 시도한다.

3. 일반적인 기능

현대 통신 네트워크에서는 음성, 비디오, 데이터와 같은 정보가 패킷 데이터 형태로 전송(패킷 교환)된다. 이는 정보를 아날로그 신호로 전달했던 기존의 공중 전화 교환망(PSTN)이나 TV/라디오 네트워크와는 대조적이다. 이러한 패킷을 처리하기 위해 최적화된 집적 회로(IC)가 탄생했는데, 이것이 바로 네트워크 프로세서이다. 네트워크 프로세서는 네트워크 내에서 패킷 처리를 향상시키고 최적화하기 위한 특정 기능이나 구조를 갖추고 있다.

네트워크 프로세서는 일반적으로 다음과 같은 최적화된 기능을 가지고 있다.


  • 패턴 매칭: 패킷 스트림에서 패킷 내의 특정 비트 또는 바이트 패턴을 찾는 기능.
  • 키 조회: 키(일반적으로 패킷의 주소)를 사용하여 라우팅 정보와 같은 결과를 데이터베이스에서 빠르게 찾는 기능.
  • 계산
  • 데이터 비트필드 조작: 패킷 처리 중에 패킷에 포함된 특정 데이터 필드를 변경하는 기능.
  • 관리: 패킷이 수신, 처리되어 전송되도록 예약됨에 따라 큐에 저장되는 것을 관리.
  • 제어 처리: 패킷 처리에 대한 마이크로 연산은 시스템의 다른 노드와의 통신 및 조정을 포함하는 매크로 수준에서 제어.
  • 패킷 버퍼의 빠른 할당 및 재순환.

4. 아키텍처 패러다임

고속 데이터 처리 문제를 해결하기 위해 일반적으로 다음과 같은 여러 아키텍처 패러다임이 사용된다.


  • 프로세서 파이프라인 - 파이프라인의 각 단계는 위에 나열된 기능 중 하나를 수행하는 프로세서로 구성된다.
  • 병렬 처리 - 종종 멀티스레딩을 포함한다.
  • 해당 작업을 보다 효율적으로 수행하기 위한 특수 마이크로코드 엔진.
  • 멀티코어 아키텍처의 등장으로, 네트워크 프로세서는 상위 계층(L4-L7) 처리에 사용될 수 있다.


또한, L2-L3 네트워크 처리에서 중요한 요소이며 다양한 코프로세서에 의해 실행되던 트래픽 관리가 네트워크 프로세서 아키텍처의 필수적인 부분이 되었으며, 실리콘 면적("부지")의 상당 부분이 통합 트래픽 관리자에 할당된다.[5] 최신 네트워크 프로세서는 또한 코어 간의 작은 메시지(소수의 데이터 단어) 교환에 최적화된 저지연 고처리량 온칩 상호 연결 네트워크를 갖추고 있다. 이러한 네트워크는 공유 메모리의 표준 사용 외에 효율적인 코어 간 통신을 위한 대체 시설로 사용될 수 있다.[6]

5. 응용 분야

현대 통신 네트워크에서는 음성, 비디오, 데이터와 같은 정보가 패킷 데이터 형태로 전송(패킷 교환)된다. 이는 정보를 아날로그 신호로 전달했던 기존의 공중 전화 교환망(PSTN)이나 TV/라디오 네트워크와는 대조적이다. 이러한 패킷을 처리하기 위해 최적화된 집적 회로(IC)가 등장했는데, 이것이 바로 네트워크 프로세서이다. 네트워크 프로세서는 네트워크 내에서 패킷 처리를 향상시키고 최적화하기 위한 특정 기능이나 아키텍처를 갖추고 있다.

네트워크 프로세서는 특정 기능을 갖춘 IC로 발전해왔다. 이러한 발전으로 인해 더욱 복잡하고 유연한 IC가 탄생하게 되었다. 최신 회로는 프로그래밍이 가능하므로, 단일 하드웨어 IC 설계에 적절한 소프트웨어를 설치하면 다양한 기능을 수행할 수 있다.

네트워크 프로세서는 다음과 같은 다양한 유형의 네트워크 장비 제조에 사용된다.[7]



네트워크 프로세서의 일반적인 기능을 사용하여 소프트웨어 프로그램은 네트워크 프로세서가 실행하는 응용 프로그램을 구현하며, 그 결과 물리적 장비는 작업을 수행하거나 서비스를 제공한다. 네트워크 프로세서에서 실행되는 소프트웨어로 일반적으로 구현되는 응용 프로그램 유형은 다음과 같다.[7]

  • 패킷 또는 프레임 식별 및 전달 (예: 라우터 또는 스위치의 기본 작동)
  • 서비스 품질(QoS) 시행 - 서로 다른 유형 또는 클래스의 패킷을 식별하고, 일부 유형 또는 클래스의 패킷에 대해 우선적인 처리를 제공
  • 접근 제어 기능 - 특정 패킷 또는 패킷 스트림이 네트워크 장비를 통과하도록 허용해야 하는지 여부 결정
  • 데이터 스트림의 암호화 - 내장된 하드웨어 기반 암호화 엔진을 통해 개별 데이터 흐름을 프로세서가 암호화
  • TCP 오프로드 처리

참조

[1] 논문 Forwarding Metamorphosis: Fast Programmable Match-Action Processing in Hardware for SDN https://www.microsof[...] 2013-08-01
[2] 서적 Architectures for Networking and Communications Systems 2013-10-01
[3] 웹사이트 P4: Programming Protocol-Independent Packet Processors https://www.sigcomm.[...] 2022-03-26
[4] 서적 Proceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Operating Systems Association for Computing Machinery 2016-03-25
[5] 서적 Network Processors: Architecture, Programming, and Implementation http://www.cse.bgu.a[...] Morgan Kaufmann
[6] 학회발표 Run-time mechanisms for fine-grained parallelism on network processors: The TILEPro64 experience http://pages.di.unip[...] 2014-07-21
[7] 서적 Network Systems Design Using Network Processors: Intel 2XXX Version Addison-Wesley
[8] 서적 Network processors: architecture, programming, and implementation http://www.cse.bgu.a[...] Morgan Kaufmann (Elsevier)
[9] 논문 Run-time mechanisms for fine-grained parallelism on network processors: The TILEPro64 experience http://ieeexplore.ie[...] 2014-07-01
[10] 서적 Network Systems Design Using Network Processors: Intel 2XXX Version Addison-Wesley



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com