KR20120012354A - 부하 절감형 toe 네트워크 장치 - Google Patents

부하 절감형 toe 네트워크 장치 Download PDF

Info

Publication number
KR20120012354A
KR20120012354A KR1020100074451A KR20100074451A KR20120012354A KR 20120012354 A KR20120012354 A KR 20120012354A KR 1020100074451 A KR1020100074451 A KR 1020100074451A KR 20100074451 A KR20100074451 A KR 20100074451A KR 20120012354 A KR20120012354 A KR 20120012354A
Authority
KR
South Korea
Prior art keywords
packet
protocol
module
reception
received
Prior art date
Application number
KR1020100074451A
Other languages
English (en)
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 KR1020100074451A priority Critical patent/KR20120012354A/ko
Publication of KR20120012354A publication Critical patent/KR20120012354A/ko

Links

Images

Classifications

    • 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/08Protocols for interworking; Protocol conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9042Separate storage for different parts of the packet, e.g. header and payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0024Peripheral component interconnect [PCI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)

Abstract

단일 포트로 수신되는 패킷에 대하여 그 크기에 따라 PCI Express 통신 프로토콜과 RapidIO 통신 프로토콜을 차별적으로 적용하는 부하 절감형 TOE 네트워크 장치가 제공된다. 본 발명의 TOE 네트워크 장치는 PCI 프로토콜을 지원하는 제1 컨트롤러와, RapidIO 프로토콜을 지원하는 제2 컨트롤러를 동시에 구비하는 호스트 인터페이스와, PCI 프로세서 코어와 RapidIO 프로세서 코어를 동시에 구비하는 수신 프로세싱부와, 이더넷 인터페이스로부터 전달받은 패킷의 종류 및 크기를 분석하고, 상기 패킷이 상기 프로세싱부에 통보되어야 할 경우 상기 패킷의 크기에 따라 상기 PCI 프로세서 코어 또는 상기 RapidIO 프로세서 코어로 통보하는 수신처리모듈과, 수신 프로세싱부의 명령에 따라 수신버퍼의 데이터를 상기 호스트 인터페이스의 제1 컨트롤러 또는 제2 컨트롤러를 통해 호스트 CPU로 전송하는 수신관리모듈을 포함한다.

Description

부하 절감형 TOE 네트워크 장치{device for reducing load of TCP/IP Offload Engine}
본 발명은 하드웨어 기반의 송수신 가속기(TCP/IP Offload Engine, 이하 'TOE'라 함)의 부하 절감 장치에 관한 것으로서, 단일 포트로 수신되는 데이터의 크기에 따라 PCI Express 통신 프로토콜 또는 RapidIO 통신 프로토콜을 적용함으로써 데이터 처리 속도를 최적화하는 장치에 관한 것이다.
현재 네트워크 기술은 기가비트급의 속도를 넘어 급속히 발전하고 있다. 네트워크는 점점 더 고도화되고, 임베디드 시스템들은 점점 더 복잡화, 고기능화되는 추세이다. 이러한 추세로 멀티미디어 스트리밍 서비스 및 다량의 데이터 전송, 엄청난 수의 사용자 동시접속 서비스 등이 요구되는바, 고속 네트워크상에서 TCP/IP를 사용할 경우, 호스트 CPU에서 TCP/IP 프로토콜을 처리하는데 많은 부하가 발생한다.
이러한 문제를 해결하기 위하여 TCP/IP 처리 부분을 별도의 하드웨어나 NIC에서 담당하게 하여, 서버가 애플리케이션 처리에 좀더 집중할 수 있게 하고 안정적인 서비스를 제공하도록 하는 TOE 기술이 적용되고 있다.
하지만, IT 기술의 발전으로 인한 디바이스의 컨버전스, 네트워크의 컨버전스의 가속화현상으로 인한 멀티미디어 스트리밍 서비스, 다량의 데이터 교환 등이 예상되는 기가비트 환경에 맞는 TOE 구현을 위해서는 데이터의 특성을 고려한 데이터 처리 방안이 고려되어야 한다.
즉, IPv6의 사용으로 인하여 RFID/USN 장비들의 사용 빈도가 높아지고 있으므로 향후에는 256 byte 이하의 작은 데이터의 수신 횟수가 지금보다 훨씬 많아질 것이 예상된다. 그러나 이러한 통신 특성을 감안하지 않고 모든 수신 데이터에 대해 호스트 인터페이싱을 위해 일률적으로 동일한 통신 프로토콜(예를 들어 PCI 프로토콜)을 사용한다면 전체적으로 보면 시스템의 낭비 요소가 될 뿐더러 데이터의 처리가 지연되는 요인이 된다.
본 발명이 해결하고자 하는 과제는 단일 포트로 수신되는 데이터의 크기에 따라 PCI Express 통신 프로토콜과 RapidIO 통신 프로토콜을 차별적으로 적용하는 TOE 네트워크 장치를 제공하는 것이다.
위의 과제들을 해결하기 위해 본 발명은, 제1 통신프로토콜을 지원하는 제1 컨트롤러와, 제2 통신프로토콜을 지원하는 제2 컨트롤러를 포함하는 호스트 인터페이스; 및 상기 제1 통신프로토콜에 의한 데이터 처리를 수행하는 제1 프로세서 코어와 상기 제2 통신프로토콜에 의한 데이터 처리를 수행하는 제2 프로세서 코어를 포함하는 수신 프로세싱부와, 이더넷 인터페이스로부터 전달받은 패킷의 종류 및 크기를 분석하고, 상기 패킷이 상기 프로세싱부에 통보되어야 할 경우 상기 패킷의 크기에 따라 상기 제1 프로세서 코어 또는 상기 제2 프로세서 코어로 통보하는 수신처리모듈과, 상기 수신 프로세싱부의 명령에 의해 상기 패킷을 상기 호스트 인터페이스를 통해 호스트 CPU로 전송하는 수신관리모듈을 포함하는 TOE 모듈;을 포함하는 부하 절감형 TOE 네트워크 장치를 일 실시예로 제안한다.
또한 본 발명은 위의 과제들을 해결하기 위해, 제1 프로토콜을 지원하는 호스트 인터페이스; 및 상기 제1 프로토콜에 의한 데이터 처리를 수행하는 제1 프로세서 코어와 제2 프로토콜에 의한 데이터 처리를 수행하는 제2 프로세서 코어를 포함하는 수신 프로세싱부와, 이더넷 인터페이스로부터 전달받은 패킷의 종류 및 크기를 분석하고, 상기 패킷이 상기 프로세싱부에 통보되어야 할 경우 상기 패킷의 크기에 따라 상기 제1 프로세서 코어 또는 상기 제2 프로세서 코어로 통보하는 수신처리모듈과, 상기 수신 프로세싱부의 명령에 의해 상기 패킷을 PCI 프로토콜로 변환하여 상기 호스트 인터페이스를 통해 호스트 CPU로 전송하는 수신관리모듈을 포함하는 TOE 모듈(TCP/IP Offload Engine);을 포함하는 부하 절감형 TOE 네트워크 장치를 다른 일 실시예로 제안한다.
위의 두 가지 실시예에 있어서, 상기 제1 프로토콜은 PCI 프로토콜이고 상기 제2 프로토콜은 RapidIO 프로토콜일 수 있다.
본 발명의 실시예들에 의하면 TOE 수신단의 부하를 절감시켜 전체 시스템의 효율을 높일 수 있다. 다시 말해, 256 byte 등과 같은 소정 크기 이하의 데이터는 RapidIO 프로토콜을 사용할 때 더 신속하고 저전력으로 처리되므로 모든 데이터를 일률적으로 PCI 프로토콜로만 처리하는 것보다 수신 데이터의 크기에 맞게 적절한 프로토콜로 처리함으로써 최대의 데이터 처리 효과를 기대할 수 있다.
도 1은 TOE 네트워크 장치의 전반적인 구조를 블록으로 도시한 것이다.
도 2는 실시예 1의 TOE 네트워크 장치 구조를 블록으로 도시한다.
도 3은 실시예 2의 TOE 네트워크 장치 구조를 블록으로 도시한다.
아래에서는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 첨부한 도면을 참고로 하여 본 발명의 실시예를 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예들에 한정되지 않는다. 그리고 도면에서는 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분을 생략하였으며 명세서 전체를 통하여 동일한 부분에 대해서는 동일한 도면 부호를 사용한다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
종래의 TOE 네트워크 장치는 호스트와의 통신을 위한 인터페이스가 PCI 또는 PCI Express 규격만을 지원하는 것으로 되어 있지만 소정 크기(예를 들어 256 byte) 이하의 작은 데이터들을 처리하기 위해서는 PCI 계열의 프로토콜보다 RapidIO 프로토콜 등과 같은 특화된 프로토콜을 사용하는 것이 더욱 효율적이다.
본 발명은 위와 같은 내용에 착안한 것으로서 하이브리드 방식의 TOE 네트워크 장치에 있어서 수신된 데이터에서 TCP/IP 헤더를 분리해낸 후 페이로드 데이터의 크기에 따라 PCI 계열의 프로토콜(이하 'PCI 프로토콜'이라 함) 또는 RapidIO 프로토콜 중 어느 하나를 적용하여 호스트 단으로 전송하는 것을 기본 내용으로 한다.
여기서, 하이브리드 방식의 TOE 네트워크 장치라 함은 TCP/IP의 기능 중 일부는 하드웨어로 처리하고 다른 일부는 소프트웨어로 처리하는 방식을 통칭하는 것으로서, 본 발명에서는 하드웨어로 처리되는 기능과 소프트웨어로 처리되는 기능을 특정한 기능들로 한정하지는 않는다.
우선 본 발명의 실시예들이 적용되는 TOE 네트워크 장치의 전반적인 구조에 대해 살펴본 후 구체적인 구성상의 특징을 실시예 별로 다시 상세히 설명하기로 한다.
도 1은 TOE 네트워크 장치의 전반적인 구조를 블록으로 도시한 것이다.
도 1의 TOE 네트워크 장치는 이더넷 인터페이스(100), TOE 모듈(200) 및 호스트 인터페이스(300)를 포함하여 이루어지며, TOE 모듈(200)은 수신 프로세싱부(210), 송신 프로세싱부(220) 및 프로세서 간 인터페이스(230)를 포함한다.
수신 프로세싱부(210) 및 송신 프로세싱부(220)에 구비되는 두 개의 프로세서 코어들(미도시)은 각각 송신 처리를 분담하는 TX 프로세서와 수신 처리를 분담하는 RX 프로세서로 사용되며, 프로세서 간 인터페이스(230)를 사용하여 상대방 프로세서에게 작업을 요청할 수 있다.
수신 프로세싱부(210) 및 송신 프로세싱부(220)는 PLB(Processor Local Bus) 버스 등을 통해 FPGA 외부에 연결된 SDRAM과 연결되고, OPB(On-chip Peripheral Bus) 버스 등을 통해 플래시 메모리에 연결된다. 본 발명에서는 수신 프로세싱부(210)에 PCI 프로토콜 처리를 담당하는 제1 프로세서 코어와 RapidIO 프로토콜 처리를 담당하는 제2 프로세서 코어가 동시에 구비된다는 점이 특징적이다.
플래시 메모리에는 각 프로세서에서 운용될 소프트웨어들의 압축 이미지가 저장되고, SDRAM에서는 실제 소프트웨어가 운용된다.
이더넷 인터페이스(100)에 포함된 이더넷 컨트롤러는 기가비트 이더넷 MAC/PHY 칩과의 인터페이스를 담당하여 이더넷 패킷의 송신과 수신을 처리한다.
호스트 인터페이스(300)는 PCI 컨트롤러를 단독으로 내장하거나, PCI 컨트롤러 및 RapidIO 컨트롤러를 함께 내장하여 호스트 CPU와 TOE 모듈 사이에서 인터페이스를 담당한다.
TOE 모듈(200)은 수신 프로세싱부(210) 및 송신 프로세싱부(220)의 PLB 버스에 양쪽으로 연결되며, 수신 프로세싱부(210) 및 송신 프로세싱부(220)는 메모리에 접근하는 방식으로 TOE 모듈(200)에 접근할 수 있다. 수신 프로세싱부(210) 및 송신 프로세싱부(220)는 TOE 모듈 내의 연결 정보 버퍼(미도시)를 통해 TCP 연결에 대한 정보를 공유한다. TCP 연결 정보는 TCP, IP, MAC 헤더를 생성하거나 처리하는데 필요한 정보들을 가리킨다.
한편, 이상과 같은 TOE 네트워크 장치는 시험용 FPGA나 상용 ASIC 등의 칩므로 구현이 가능하다.
이하에서는 도 1에 도시된 TOE 네트워크 장치의 구체적인 구성 및 동작을 실시예별로 상세히 설명한다.
<실시예 1>
실시예 1은 PCI 프로토콜을 위한 제1 호스트 인터페이스와 RapidIO 프로토콜을 위한 제2 호스트 인터페이스를 별도로 구비하는 TOE 네트워크 장치에 관한 것이다.
도 2는 실시예 1의 TOE 네트워크 장치 구조를 블록으로 도시한다.
도 2의 TOE 네트워크 장치는 이더넷 인터페이스(100), TOE 모듈(200) 및 호스트 인터페이스(300)를 포함하여 이루어지며, TOE 모듈(200)은 수신 프로세싱부(210), 송신 프로세싱부(220), 수신관리모듈(230), 수신처리모듈(240), ACK 패킷생성모듈(250), 헤더생성모듈(260), 송신관리모듈(270)을 포함하여 이루어진다.
먼저, TOE 모듈(200)에 대해 설명하면 다음과 같다.
수신관리모듈(230)은 수신버퍼(231) 및 DMA처리부(232)를 포함한다.
DMA처리부(232)는 수신버퍼(231)에 저장된 패킷에서 추출된 데이터에 대해 호스트 CPU의 메인 메모리(미도시)로 DMA(Direct Memory Access) 전송을 수행한다. 구체적으로, DMA처리부(232)는 수신 프로세싱부(210)의 프로세스 코어(211, 212)로부터 DMA 전송을 명령받게 되는데, PCI 프로세스 코어로부터 명령이 수신되면 수신버퍼(231)의 데이터를 호스트 인터페이스(300)의 PCI 호스트 인터페이스(또는 제1 컨트롤러를 포함하는 제1 호스트 인터페이스)(310)를 통해 호스트 CPU로 전송하고, RapidIO 프로세스 코어(212)로부터 명령이 수신되면 수신버퍼(231)의 데이터를 호스트 인터페이스(300)의 RapidIO 호스트 인터페이스(또는 제2 컨트롤러를 포함하는 제2 호스트 인터페이스)(320)를 통해 호스트 CPU로 전송한다.
수신처리모듈(240)은 수신버퍼(231)에 저장된 수신 패킷의 이상 유무를 검사하는 검사모듈(241)과, 수신 패킷의 종류와 크기를 분류하는 분석모듈(242)을 포함한다. 그리고 수신 패킷이 데이터 패킷인 경우 해당 패킷에서 헤더와 페이로드 부분을 분리하는 분리모듈(232)을 포함한다.
특히 분석모듈(242)은 수신버퍼(231)에 들어온 패킷이 인터럽트의 대상이 되는 패킷(예를 들어 통신 연결 설정을 위한 패킷)이고 패킷 크기가 256 byte 이상인 것으로 판단되면, 수신 프로세싱부(210)의 PCI 프로세스 코어(211)에 인터럽트를 건다. 그리고 만약 수신버퍼(231)에 들어온 패킷이 인터럽트 대상인 패킷이지만 패킷 크기가 256 byte 이하인 것으로 판단되면, 수신 프로세싱부(210)의 RapidIO 프로세스 코어(212)에 인터럽트를 건다.
ACK 패킷생성모듈(250)은 수신 패킷에 대한 수신처리모듈(240)의 검사 결과에 이상이 없으면 ACK 패킷을 생성한다.
헤더생성모듈(260)은 송신할 데이터 패킷에 대하여 TCP 헤더, IP 헤더, MAC 헤더를 생성하고, 이를 송신버퍼(271)에 저장되어 있는 데이터 페이로드에 추가하여 데이터 패킷을 완성한다.
송신관리모듈(270)은 송신 데이터의 체크섬, 길이 및 기타 전송관련정보를 헤더생성모듈(260)에 제공하고, 헤더생성모듈(260)에서 완성된 데이터 패킷 또는 ACK 패킷생성모듈(250)에서 생성된 ACK 패킷을 송신버퍼(271)에 저장한다. 저장된 패킷은 이더넷 인터페이스(100)를 통해 외부로 전송된다.
다음으로, 수신 프로세싱부(210)는 연결 설정, ARP/ICMP 처리, 흐름 제어, 혼잡 제어, 재전송, 보안 중 적어도 하나의 프로세스를 처리하며, PCI 프로토콜을 지원하는 PCI 프로세스 코어(211)와 RapidIO 프로토콜을 지원하는 RapidIO 프로세스 코어(212)를 동시에 포함한다.
일례로, 수신 프로세싱부(210)는 TOE 모듈(200)의 수신처리모듈(240)로부터 연결 설정을 위한 인터럽트가 걸려오면 수신 패킷의 데이터 크기에 따라 PCI 프로세스 코어(211) 또는 RapidIO 프로세스 코어(212) 중 어느 하나가 연결 설정 작업을 수행하게 된다.
상기 연결 설정, ARP/ICMP 처리, 흐름 제어, 혼잡 제어, 재전송, 보안 등의 프로세스를 위한 프로그램들은 도 1의 플래시 메모리나 SDRAM에 저장되어 있다가 프로세스 코어(211, 212)에 의해 실행된다.
<실시예 2>
실시예 2는 PCI 프로토콜을 단일하게 지원하는 호스트 인터페이스를 구비하되, 그 앞단에 RapidIO 프로토콜의 데이터를 PCI 프로토콜로 변환해주는 브리지 모듈을 배치한 TOE 네트워크 장치에 관한 것이다.
도 3은 실시예 2의 TOE 네트워크 장치 구조를 블록으로 도시한다.
도 3의 TOE 네트워크 장치는 이더넷 인터페이스(100), TOE 모듈(200) 및 호스트 인터페이스(300-1)를 포함하여 이루어지며, TOE 모듈(200)은 수신 프로세싱부(210), 송신 프로세싱부(220), 수신관리모듈(230-1), 수신처리모듈(240), ACK 패킷생성모듈(250), 헤더생성모듈(260), 송신관리모듈(270)을 포함하여 이루어진다.
여기서, 이더넷 인터페이스(100)와, TOE 모듈(200)의 수신 프로세싱부(210), 송신 프로세싱부(220), 수신처리모듈(240), ACK 패킷생성모듈(250), 헤더생성모듈(260), 송신관리모듈(270)의 구성과 역할은 실시예 1의 그것들과 동일하다. 따라서 이하에서는 실시예 1에 비해 차이점을 가지는 수신관리모듈(230-1)과 호스트 인터페이스(300-1)에 대하여만 상세히 설명한다.
수신관리모듈(230-1)은 수신버퍼(231), DMA처리부(232-1) 및 브리지모듈(233)을 포함한다.
DMA처리부(232-1)는 수신버퍼(231)에 저장된 패킷에서 추출된 데이터에 대해 호스트 CPU의 메인 메모리(미도시)로 DMA(Direct Memory Access) 전송을 수행한다. 구체적으로, DMA처리부(232-1)는 수신 프로세싱부(210)의 프로세스 코어(211, 212)로부터 DMA 전송을 명령받게 되는데, PCI 프로세스 코어(211)로부터 명령이 수신되면 수신버퍼(231)의 데이터를 호스트 인터페이스(300)를 통해 곧바로 호스트 CPU로 전송하고, RapidIO 프로세스 코어(212)로부터 명령이 수신되면 수신버퍼(231)의 데이터를 브리지모듈(233)로 전송하여 프로토콜의 변환을 수행한 후에 호스트 CPU에 전송한다.
브리지모듈(233)은 RapidIO 프로세스 코어(212)에 의해 전송되는 제어 명령 또는 RapidIO 프로세스 코어(212)에 의해 수신버퍼(231)에 저장된 데이터를 PCI 프로토콜로 변환한다.
한편, 호스트 인터페이스(300-1)는 실시예 1과는 달리 PCI 프로토콜을 이용하여 DMA를 수행하는 컨트롤러만을 포함한다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리 범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (12)

  1. 제1 통신프로토콜을 지원하는 제1 컨트롤러와, 제2 통신프로토콜을 지원하는 제2 컨트롤러를 포함하는 호스트 인터페이스; 및
    상기 제1 통신프로토콜에 의한 데이터 처리를 수행하는 제1 프로세서 코어와 상기 제2 통신프로토콜에 의한 데이터 처리를 수행하는 제2 프로세서 코어를 포함하는 수신 프로세싱부와,
    이더넷 인터페이스로부터 전달받은 패킷의 종류 및 크기를 분석하고, 상기 패킷이 상기 프로세싱부에 통보되어야 할 경우 상기 패킷의 크기에 따라 상기 제1 프로세서 코어 또는 상기 제2 프로세서 코어로 통보하는 수신처리모듈과,
    상기 수신 프로세싱부의 명령에 의해 상기 패킷을 상기 호스트 인터페이스를 통해 호스트 CPU로 전송하는 수신관리모듈을 포함하는 TOE 모듈(TCP/IP Offload Engine);
    을 포함하는 부하 절감형 TOE 네트워크 장치.
  2. 제1항에 있어서, 상기 수신관리모듈은,
    상기 이더넷 인터페이스로부터 전달받은 패킷을 저장하는 수신버퍼; 및
    상기 수신버퍼에 저장된 패킷에서 추출된 데이터에 대해 호스트 CPU의 메인 메모리로 DMA(Direct Memory Access) 전송을 수행하는 DMA처리부
    를 포함하는 부하 절감형 TOE 네트워크 장치.
  3. 제2항에 있어서, 상기 DMA처리부는,
    상기 제1 프로세스 코어로부터 명령이 수신되면 수신버퍼의 데이터를 상기 호스트 인터페이스의 제1 컨트롤러를 통해 호스트 CPU로 전송하고,
    상기 제2 프로세스 코어로부터 명령이 수신되면 수신버퍼의 데이터를 상기 호스트 인터페이스의 제2 컨트롤러를 통해 호스트 CPU로 전송하는 것을 특징으로 하는 부하 절감형 TOE 네트워크 장치.
  4. 제2항에 있어서, 상기 수신처리모듈은,
    상기 수신버퍼에 저장된 수신 패킷의 이상 유무를 검사하는 검사모듈과,
    상기 수신 패킷의 종류와 크기를 분류하는 분석모듈과,
    상기 수신 패킷이 데이터 패킷인 경우 해당 패킷에서 헤더와 페이로드 부분을 분리하는 분리모듈
    을 포함하는 것을 특징으로 하는 부하 절감형 TOE 네트워크 장치.
  5. 제4항에 있어서, 상기 분석모듈은,
    상기 수신버퍼에 들어온 패킷이 인터럽트의 대상이 되는 패킷이고 패킷 크기가 256 byte 이상인 것으로 판단되면, 상기 수신 프로세싱부의 제1 프로세스 코어에 인터럽트를 전송하고,
    상기 수신버퍼에 들어온 패킷이 인터럽트의 대상이 되는 패킷이고 패킷 크기가 256 byte 이하인 것으로 판단되면, 상기 수신 프로세싱부의 제2 프로세스 코어에 인터럽트를 전송하는 것을 특징으로 하는 부하 절감형 TOE 네트워크 장치.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 제1 프로토콜은 PCI 프로토콜이고, 상기 제2 프로토콜은 RapidIO 프로토콜인 것을 특징으로 하는 부하 절감형 TOE 네트워크 장치.
  7. 제1 프로토콜을 지원하는 호스트 인터페이스; 및
    상기 제1 프로토콜에 의한 데이터 처리를 수행하는 제1 프로세서 코어와 제2 프로토콜에 의한 데이터 처리를 수행하는 제2 프로세서 코어를 포함하는 수신 프로세싱부와,
    이더넷 인터페이스로부터 전달받은 패킷의 종류 및 크기를 분석하고, 상기 패킷이 상기 프로세싱부에 통보되어야 할 경우 상기 패킷의 크기에 따라 상기 제1 프로세서 코어 또는 상기 제2 프로세서 코어로 통보하는 수신처리모듈과,
    상기 수신 프로세싱부의 명령에 의해 상기 패킷을 PCI 프로토콜로 변환하여 상기 호스트 인터페이스를 통해 호스트 CPU로 전송하는 수신관리모듈을 포함하는 TOE 모듈(TCP/IP Offload Engine);
    을 포함하는 부하 절감형 TOE 네트워크 장치.
  8. 제7항에 있어서, 상기 수신관리모듈은,
    상기 이더넷 인터페이스로부터 전달받은 패킷을 저장하는 수신버퍼;
    상기 수신버퍼에 저장된 패킷에서 추출된 데이터에 대해 호스트 CPU의 메인 메모리로 DMA(Direct Memory Access) 전송을 수행하는 DMA처리부; 및
    상기 제2 프로세스 코어에 의해 전송되는 제어 명령 또는 상기 제2 프로세스 코어에 의해 상기 수신버퍼에 저장된 데이터를 상기 제1 프로토콜로 변환하는 브리지모듈
    을 포함하는 것을 특징으로 하는 부하 절감형 TOE 네트워크 장치.
  9. 제8항에 있어서, 상기 DMA처리부는,
    상기 제1 프로세스 코어로부터 명령이 수신되면 상기 수신버퍼의 데이터를 상기 호스트 인터페이스를 통해 곧바로 호스트 CPU로 전송하고,
    상기 제2 프로세스 코어로부터 명령이 수신되면 상기 수신버퍼의 데이터를 상기 브리지모듈로 전송하여 프로토콜의 변환을 수행한 후에 호스트 CPU에 전송하는 것을 특징으로 하는 부하 절감형 TOE 네트워크 장치.
  10. 제7항에 있어서, 상기 수신처리모듈은,
    상기 수신버퍼에 저장된 수신 패킷의 이상 유무를 검사하는 검사모듈과,
    상기 수신 패킷의 종류와 크기를 분류하는 분석모듈과,
    상기 수신 패킷이 데이터 패킷인 경우 해당 패킷에서 헤더와 페이로드 부분을 분리하는 분리모듈
    을 포함하는 것을 특징으로 하는 부하 절감형 TOE 네트워크 장치.
  11. 제10항에 있어서, 상기 분석모듈은,
    상기 수신버퍼에 들어온 패킷이 인터럽트의 대상이 되는 패킷이고 패킷 크기가 256 byte 이상인 것으로 판단되면, 상기 수신 프로세싱부의 제1 프로세스 코어에 인터럽트를 전송하고,
    상기 수신버퍼에 들어온 패킷이 인터럽트의 대상이 되는 패킷이고 패킷 크기가 256 byte 이하인 것으로 판단되면, 상기 수신 프로세싱부의 제2 프로세스 코어에 인터럽트를 전송하는 것을 특징으로 하는 부하 절감형 TOE 네트워크 장치.
  12. 제7항 내지 제11항 중 어느 한 항에 있어서,
    상기 제1 프로토콜은 PCI 프로토콜이고, 상기 제2 프로토콜은 RapidIO 프로토콜인 것을 특징으로 하는 부하 절감형 TOE 네트워크 장치.
KR1020100074451A 2010-07-31 2010-07-31 부하 절감형 toe 네트워크 장치 KR20120012354A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100074451A KR20120012354A (ko) 2010-07-31 2010-07-31 부하 절감형 toe 네트워크 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100074451A KR20120012354A (ko) 2010-07-31 2010-07-31 부하 절감형 toe 네트워크 장치

Publications (1)

Publication Number Publication Date
KR20120012354A true KR20120012354A (ko) 2012-02-09

Family

ID=45836315

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100074451A KR20120012354A (ko) 2010-07-31 2010-07-31 부하 절감형 toe 네트워크 장치

Country Status (1)

Country Link
KR (1) KR20120012354A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130086295A1 (en) * 2010-02-22 2013-04-04 Youichi Hidaka Communication control system, switching node, communication control method and communication control program
CN107426246A (zh) * 2017-08-31 2017-12-01 北京计算机技术及应用研究所 基于FPGA的万兆以太网和RapidIO协议间高速数据交换系统
CN110061999A (zh) * 2019-04-28 2019-07-26 华东师范大学 一种基于zynq的网络数据安全分析辅助设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130086295A1 (en) * 2010-02-22 2013-04-04 Youichi Hidaka Communication control system, switching node, communication control method and communication control program
US9047416B2 (en) * 2010-02-22 2015-06-02 Nec Corporation Communication control system, switching node, communication control method and communication control program including PCI express switch and LAN interface
CN107426246A (zh) * 2017-08-31 2017-12-01 北京计算机技术及应用研究所 基于FPGA的万兆以太网和RapidIO协议间高速数据交换系统
CN107426246B (zh) * 2017-08-31 2020-09-08 北京计算机技术及应用研究所 基于FPGA的万兆以太网和RapidIO协议间高速数据交换系统
CN110061999A (zh) * 2019-04-28 2019-07-26 华东师范大学 一种基于zynq的网络数据安全分析辅助设备

Similar Documents

Publication Publication Date Title
US10129153B2 (en) In-line network accelerator
US9380134B2 (en) RoCE packet sequence acceleration
CN101217493B (zh) 一种tcp数据包的传输方法
CN101217464B (zh) 一种udp数据包的传输方法
CN107787570B (zh) 网络接口卡和使能网络接口卡间通信的方法
KR101401874B1 (ko) 통신제어 시스템, 스위칭 노드, 통신제어 방법, 및 통신제어용 프로그램
CN112631788B (zh) 数据传输方法及数据传输服务器
US10609125B2 (en) Method and system for transmitting communication data
US7269661B2 (en) Method using receive and transmit protocol aware logic modules for confirming checksum values stored in network packet
CN114489840A (zh) 基于fpga的tcp/ip硬件卸载系统及其实现方法
KR20120012354A (ko) 부하 절감형 toe 네트워크 장치
US8832332B2 (en) Packet processing apparatus
US11784929B2 (en) Heterogeneous link data translation and distribution method, system and device, and storage medium
CN112637075A (zh) 一种基于fpga的udp/ip协议栈实现方法及fpga芯片
US8842547B2 (en) Communication control apparatus and control method
CN211183974U (zh) 基于tcp/ip卸载引擎的量子密钥分发片上系统
Lin et al. In-kernel relay for scalable one-to-many streaming
JP2012049883A (ja) 通信装置およびパケット処理方法
CN102065028B (zh) 一种网关设备以及报文处理方法
Wang et al. An Optimized RDMA QP Communication Mechanism for Hyperscale AI Infrastructure
WO2014073050A1 (ja) 情報処理装置及び情報処理方法
JP2013046173A (ja) 制御装置、制御方法、及びプログラム
CN118784601A (zh) 流量镜像方法、装置、设备和介质
Song et al. Reconfigure Feasibility Analyzing and Implementation of Embedded Protocol Stack

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid