KR100947324B1 - Toe 장치 및 이를 이용한 패킷 전송 방법 - Google Patents

Toe 장치 및 이를 이용한 패킷 전송 방법 Download PDF

Info

Publication number
KR100947324B1
KR100947324B1 KR1020080015294A KR20080015294A KR100947324B1 KR 100947324 B1 KR100947324 B1 KR 100947324B1 KR 1020080015294 A KR1020080015294 A KR 1020080015294A KR 20080015294 A KR20080015294 A KR 20080015294A KR 100947324 B1 KR100947324 B1 KR 100947324B1
Authority
KR
South Korea
Prior art keywords
header
information
data
pci
packet
Prior art date
Application number
KR1020080015294A
Other languages
English (en)
Other versions
KR20090090052A (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 KR1020080015294A priority Critical patent/KR100947324B1/ko
Priority to US12/320,910 priority patent/US20090210578A1/en
Publication of KR20090090052A publication Critical patent/KR20090090052A/ko
Application granted granted Critical
Publication of KR100947324B1 publication Critical patent/KR100947324B1/ko

Links

Images

Classifications

    • 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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields

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)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Bus Control (AREA)

Abstract

TOE 장치 및 이를 이용한 패킷 전송 방법을 제공한다. TOE 장치는 물리적 메모리의 주소 및 크기에 대한 정보를 수신하고 수신된 정보의 내용에 따라 프로토타입 헤더를 생성하는 임베디드 프로세서 및 프로토타입 헤더를 이용하여 패킷의 헤더 정보를 생성하고, 호스트로부터 수신된 정보에 포함된 물리적 메모리의 주소 및 크기에 따라 주 PCI 버스, PCI-to-PCI 브릿지, 및 부 PCI 버스를 통해 데이터를 수신하고, 데이터에 헤더 정보를 추가하여 네트워크로 전송하는 기가비트 이더넷를 포함한다.
TOE(TCP/IP Offload Engine), 패킷 전송, TCP/IP 처리

Description

TOE 장치 및 이를 이용한 패킷 전송 방법{An apparatus of TCP/IP offload engine and a method of packet transfer using the same}
본 발명은 컴퓨터에 장착된 네트워크 어댑터가 컴퓨터 네트워크 프로토콜인 TCP/IP를 처리하는 방법에 관한 것이다. 이러한 기능을 수행하는 네트워크 어댑터를 TCP/IP Offload Engine(TOE) 이라고 부른다. 특히 본 발명은 데이터 전송 시, TOE 내부의 데이터 복사를 제거시킬 수 있는 방법에 관한 것이다.
네트워크 속도가 기가비트 이더넷(Gigabit Ethernet)과 10 기가비트 이더넷으로 발전함에 따라 호스트 프로세스는 실제 업무를 수행하는 것보다 TCP/IP 프로토콜 스택을 처리하는데 더 많은 CPU 사이클을 사용하게 되었다. 특히 IP를 통한 스토로지 데이터 전송을 수행하는 iSCSI(IP SAN) 프로토콜에서 TCP/IP 오버헤더로 인한 성능 저하가 현격하게 발생하고 있다. 따라서 이러한 대용량의 IP 네트워크 처리에 있어 CPU의 부담을 덜어주기 위한 방법으로 TCP/IP 기능을 하드웨어로 구현하는 TCP/IP Offload Engine(TOE) 기술이 부각되고 있다. TOE는 CPU의 TCP/IP 패킷 처리의 부하를 NIC(Network Interface Card) 하드웨어가 처리하는 TCP/IP 가속 장치라 할 수 있다.
도 1 및 도 2는 종래 TOE(INIC)를 이용한 패킷 전송의 개념도이다.
먼저, 도 1은 구체적으로 미국 Alacritech社의 TOE의 개념도이다. 이하, 도 1을 참조하여 INIC의 데이터 전송 방식을 설명하기로 한다.
우선 INIC은, 내부의 DMA(Direct Memory Access) 컨트롤러(20)를 이용하여 호스트 디바이스(예를 들어 호스트 컴퓨터)와 연결된 PCI 버스(30)를 통해 전송될 데이터를 DRAM 영역(40)으로 DMA한다. 여기서, 패킷의 크기보다 큰 데이터는 패킷의 크기 단위로 쪼개어져 DMA된다. 또한, 패킷 헤더는 SRAM 영역(41)에 생성되며, 완전한 하나의 패킷을 생성하기 위해 SRAM 영역(41)에 있는 패킷 헤더는 DRAM 영역(40)에 생성된 (패킷) 데이터의 헤더에 DMA 전송을 통해 추가된다. 이와 같이 생성된 패킷들은, INIC에 장착된 전송 큐(50,51,52,53) 중 어느 하나에 전송되며, 상기 전송 큐(50,51,52,53)과 쌍으로 이루어진 MAC 인터페이스(60,61,62,63)를 통해 최종적으로 네트워크로 전송된다.
상술된 방식은 호스트 디바이스와 연결된 PCI 버스(30)를 통해 전송될 데이터가 TOE 내부에 있는 DRAM 영역(40)으로 복사됨으로써, TOE가 패킷을 네트워크로 전송하기까지의 소요 시간을 증가시키며, 이는 지연시간 및 대역폭 성능 저하를 가져오는 문제점이 있다.
한편, 도 2는 한국전자통신원의 TOE의 개념도이다.
도 2에 도시된 바와 같이, 호스트 디바이스의 사용자 영역 데이터는 가상적의 연속된 메모리 영역(100)에 저장되어 있다. 그리고, 가상 메모리 영역(100)은 실제적으로는 분리된 물리적 메모리 영역(110)에 매핑되어 있다. TOE는 사용자 영 역의 데이터를 전송할 때 호스트 디바이스의 커널 영역으로 데이터를 복사하지 않고 실제 (물리적) 메모리 주소와 메모리 크기에 대한 정보를 포함하는 리스트(120)를 작성하여 TOE(130)로 전송한다. 이후, 리스트(120)를 전송 받은 TOE(130)는 실제적으로 분리된 물리적 메모리 영역(110)에 저장된 데이터를 TOE 내부의 메모리(140)로 DMA를 통해 전송(즉, DMA 전송)한다.
상술된 방식은 호스트 사용자 영역의 데이터를 호스트 커널 영역으로 복사하지는 않지만, TOE 내부의 메모리로 데이터를 복사한다는 문제점을 여전히 가지고 있다. 즉, TOE가 패킷을 네트워크로 전송하기까지 소요되는 시간을 증가시키며, 지연시간 및 대역폭 성능 저하를 가져오게 된다.
따라서, 사용자 영역의 데이터를 전송할 때 호스트 커널 영역 또는 TOE 내부 메모리로 데이터를 복사하지 않고도, 보다 효율적으로 패킷을 생성하여 전송할 필요성이 제기된다.
본 발명은 TOE 장치 및 이를 이용한 패킷 전송 방법에 관한 것으로 호스트 커널 영역 또는 TOE 내부 메모리로 데이터를 복사하지 않고도 패킷을 생성하여 네트워크로 전송하는 데에 그 목적이 있다.
본 발명의 또 다른 목적은 종래의 패킷 전송의 지연 시간 및 대역폭 성능 상의 문제점을 해결하여 효율적으로 패킷을 생성하고 이를 전송하는 데에 그 목적이 있다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 TOE 장치는 물리적 메모리의 주소 및 크기에 대한 정보를 수신하고 수신된 정보의 내용에 따라 프로토타입 헤더를 생성하는 임베디드 프로세서 및 프로토타입 헤더를 이용하여 패킷의 헤더 정보를 생성하고, 호스트로부터 수신된 정보에 포함된 물리적 메모리의 주소 및 크기에 따라 주 PCI 버스, PCI-to-PCI 브릿지, 및 부 PCI 버스를 통해 데이터를 수신하고, 데이터에 헤더 정보를 추가하여 네트워크로 전송하는 기가비트 이더넷를 포함한다.
본 발명의 실시예에 따른 패킷 전송 방법은 임베디드 프로세서가 물리적 메모리의 주소 및 크기에 대한 정보를 수신하는 (a) 단계와, 임베디드 프로세서가 수신된 정보의 내용에 따라 프로토타입 헤더를 생성하는 (b) 단계와, 기가비트 이더넷이 프로토타입 헤더를 이용하여 패킷의 헤더 정보를 생성하는 (c) 단계 및 기가비트 이더넷이 호스트로부터 수신된 정보에 포함된 물리적 메모리의 주소 및 크기에 따라 주 PCI 버스, PCI-to-PCI 브릿지, 및 부 PCI 버스를 통해 데이터를 수신하고, 데이터에 헤더 정보를 추가하여 네트워크로 전송하는 (d) 단계를 포함한다.
본 발명의 TOE 장치 및 이를 이용한 패킷 전송 방법에 따르면 종래의 호스트 커널 영역 또는 TOE 내부 메모리로 데이터를 복사하는 과정에서 발생하는 지연 시간 및 대역폭 성능상의 문제점을 해결하여 바로 패킷을 생성하여 전송할 수 있는 장점이 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
도 3은 본 발명의 일 실시예에 따른 TOE 장치 및 이를 이용하여 TOE 내부에 데이터를 복사하지 않고 패킷을 전송하는 방식의 개념도이다.
상술된 바와 같이, 컴퓨터에 장착된 네트워크 어댑터(TOE)가 컴퓨터 네트워크 프로토콜인 TCP/IP를 처리하는 방식에 있어서, 이하, 본 발명의 실시예를 통해 데이터 전송 시 TOE 내부로의 데이터 복사를 수행하지 않고, 패킷이 전송되는 과정에 대해서 보다 구체적으로 설명하기로 한다. 본 발명의 실시예를 통해 호스트 커널 영역으로 데이터를 복사하지 않을 뿐만 아니라, TOE 내부 메모리로의 데이터 복사의 수행 없이 패킷이 전송될 수 있다.
도 3에 도시된 바와 같이, TOE 장치(400)는 SDRAM(330), 임베디드 프로세서(340), 기가비트 이더넷(360), DMA 컨트롤러(370), 및 PCI-to-PCI 브릿지(380)를 포함한다. 이하, 각 구성요소와 함께 TOE 장치(400)를 이용한 패킷 전송에 대해서 보다 구체적으로 설명하기로 한다.
호스트 디바이스의 사용자 영역의 데이터는 가상적으로 연속된 메모리 영역(200)에 저장되어 있다. 이러한 가상 메모리 영역(200)은 실제적으로는 분리된 물리적 메모리 영역(210)에 매핑되어 있다. 사용자 영역의 데이터를 전송할 때, 본 발명의 실시예에서는 호스트 디바이스의 커널 영역으로 데이터를 복사하지 않고, 실제 메모리 주소와 메모리 크기에 대한 정보를 포함하는 리스트(220)를 작성하여 TOE(300)로 전달한다.
기존의 방식은 리스트(220)를 전송 받은 후에 데이터를 TOE 내부의 메모리로 DMA를 통하여 전송하지만, 본 발명의 실시예에서는 임베디드 프로세서(340)가 리스트(220)를 전달 받은 후, 리스트(220)의 내용에 따라 프로토타입 헤더(350)를 생성한다. 그리고, SDRAM(330)은 생성된 정보를 저장하는 저장부(모듈)의 기능을 수행한다. SDRAM(330)은 캐쉬, ROM(Read Only Memory), PROM(Programable ROM), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM) 및 플래쉬 메모리(Flash memory)와 같은 비휘발성 메모리 소자 또는 RAM(Random Access Memory)과 같은 휘발성 메모리 소자 중 적어도 하나로 구현될 수 있으나 이에 한정되지는 않는다.
상기 프로토타입 헤더(350)는 기가비트 이더넷(360)을 통해 패킷이 전송될 때, 매 패킷의 헤더 부분의 구성에 필요한 정보를 포함한다.
프로토타입 헤더(350)가 생성된 이후, 임베디드 프로세서(340)는 프로토타입 헤더(350)가 있는 위치(즉, SDRAM의 메모리 주소)와 리스트(220)에 포함된 내용을 기가비트 이더넷(360)에 통보한다. 여기서, 통보는 기가비트 이더넷(360)의 특정 레지스터에 값을 기술함으로써 통보하는 방법일 수 있다.
그리고, 기가비트 이더넷(360)은 프로토타입 헤더(350)를 DMA를 통해 수신하고, 프로토타입 헤더(350)의 내용을 확인하고, 프로토타입 헤더(350)를 이용하여 패킷의 헤더 정보를 생성한다.
또한, 기가비트 이더넷(360)은 리스트(220)의 내용, 즉 전송할 데이터에 대한 실제 메모리 주소와 메모리 크기에 따라 사용자 영역의 데이터(물리적 메모리 영역(210)에 포함된 데이터)를 주 PCI 버스(310), PCI-to-PCI 브릿지(380), 및 부 PCI 버스(390)를 이용하여 DMA통해 수신한다.
여기서, 주 PCI 버스(310)는 호스트(컴퓨터)와 TOE 장치(400)를 연결시키는 역할을 담당한다. 그리고, PCI-to-PCI 브릿지(380)는 TOE 내부에서 PCI 장치들을 장착할 때 사용될 수 있으며, 본 발명의 실시예에 따른 TOE 장치(400)에서는 기가비트 이더넷이 장착되어 있다. 또한, 부 PCI 버스(390)는 기가비트 이더넷(360)과 PCI-to-PCI 브릿지(380)를 연결할 때 사용될 수 있다. 따라서, 기가비트 이더넷(360)이 호스트 컴퓨터의 데이터를 DMA해오는 것을 요청하면 주 PCI 버스(310), PCI-to-PCI 브릿지(380), 및 부 PCI 버스(390) 순서로 데이터가 이동하여 도착하게 된다.
또한, DAM 컨트롤러(370)는 물리적 메모리 영역(210)과 TOE 장치(400)의 SDRAM(330) 영역간의 데이터 전송을 위해 사용될 수 있다. 그리고, 내부버스(320)는 임베디드 프로세서(340)와 SDRAM(330)을 연결시켜 주는 역할을 담당한다.
상기 기가비트 이더넷(360)은, 데이터를 DMA통해 수신해 오면서 해당 데이터 가 패킷 하나 크기보다 작으면 프로토타입 헤더(350)에 기반하여 생성한 패킷 헤더를 패킷의 데이터 앞에 추가하여 네트워크로 전송한다. 또한, 데이터가 패킷 하나 크기보다 크면 패킷의 크기 단위로 데이터를 분할하고, 각 패킷 데이터 앞에 패킷 헤더를 추가하여 네트워크로 전송할 수 있다.
상술된 방식을 통해 기가비트 이더넷(360)은 TOE 내부의 메모리(330)로 데이터를 복사하지 않고도, 바로 네트워크로 패킷을 생성하여 전송할 수 있게 된다.
도 4는 본 발명의 일 실시예에 따른 TOE 장치를 이용하여 패킷을 전송하는 방법의 순서도이다.
먼저, 임베디드 프로세서(340)가 실제 메모리 주소와 메모리 크기에 대한 정보를 포함하는 리스트(220)를 수신하고, 리스트(220)의 내용에 따라 프로토타입 헤더를 생성한다(S401). 여기서, 프로토타입 헤더는 기가비트 이더넷이 리스트의 내용에 따라 데이터를 DMA해와서 패킷화할 때 필요한 TCP/IP정보를 포함한 헤더이다. 그리고, SDRAM(330)은 상기 생성된 정보를 저장한다.
또한, 임베디드 프로세서(340)가 프로토타입 헤더(350)가 저장되어 있는 메모리상의 위치와 리스트(220)에 포함된 내용을 기가비트 이더넷(360)에 통보한다(S411).
다음으로, 기가비트 이더넷(360)이 프로토타입 헤더(350)를 DMA를 통해 수신하고, 프로토타입 헤더(350)의 내용을 확인하고, 프로토타입 헤더(350)를 이용하여 패킷의 헤더 정보를 생성한다(S421).
또한, 기가비트 이더넷(360)이 리스트(220)의 내용, 즉 전송할 데이터에 대 한 실제 메모리 주소와 메모리 크기에 따라 사용자 영역의 데이터를 주 PCI 버스(310), PCI-to-PCI 브릿지(380), 및 부 PCI 버스(390)를 이용하여 DMA 통해 전송받는다(S431). 즉, 사용자 영역의 데이터는 물리적 메모리 영역에 흩어져 있는데, 이러한 메모리 영역의 각 시작 위치와 길이 정보를 가지고 DMA를 통해 전송받아, 기가비트 이더넷의 내부 버퍼에 저장하고 이를 패킷화하여 전송하게 된다.
그리고, 기가비트 이더넷(360)이 프로토타입 헤더(350)에 기반하여 생성한 패킷 헤더를 패킷의 데이터 앞(헤더)에 추가(즉, 패킷 헤더 처리)하여 네트워크로 전송한다(S441). 여기서, 해당 데이터가 패킷 하나 크기보다 작으면 프로토타입 헤더(350)에 기반하여 생성한 패킷 헤더를 패킷의 데이터 앞에 추가하여 네트워크로 전송하고, 데이터가 패킷 하나 크기보다 크면 패킷의 크기 단위로 데이터를 분할하고, 각 패킷 데이터 앞에 패킷 헤더를 추가하여 네트워크로 전송할 수 있다. 상기 분할에 있어서, 데이터는 MTU(Maximum Transmission Unit) 사이즈에 맞게 분할될 수 있다.
상기 도 3에서 도시된 각각의 구성요소는 일종의 '모듈'로 구성될 수 있다. 상기 '모듈'은 소프트웨어 또는 Field Programmable Gate Array(FPGA) 또는 주문형 반도체(Application Specific Integrated Circuit, ASIC)과 같은 하드웨어 구성요소를 의미하며, 모듈은 어떤 역할들을 수행한다. 그렇지만 모듈은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. 모듈은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 구성요소들과 모듈들에서 제공되는 기능은 더 작은 수의 구성요소들 및 모듈 들로 결합되거나 추가적인 구성요소들과 모듈들로 더 분리될 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
도 1 및 도 2는 종래 TOE(INIC)를 이용한 패킷 전송의 개념도이다.
도 3은 본 발명의 일 실시예에 따른 TOE 장치 및 이를 이용하여 TOE 내부에 데이터를 복사하지 않고 패킷을 전송하는 방식의 개념도이다.
도 4는 본 발명의 일 실시예에 따른 TOE 장치를 이용하여 패킷을 전송하는 방법의 순서도이다.
<도면의 주요 부분에 관한 부호의 설명>
310: 주 PCI 버스 320: 내부 버스
330: SDRAM 340: 임베디드 프로세서
360: 기가비트 이더넷 370: DMA 컨트롤러
380: PCI-to-PCI 브릿지
390:부PCI버스

Claims (6)

  1. 물리적 메모리의 주소 및 크기에 대한 정보를 수신하고 수신된 상기 정보의 내용에 따라 프로토타입 헤더를 생성하는 임베디드 프로세서; 및
    상기 프로토타입 헤더를 이용하여 패킷의 헤더 정보를 생성하고, 호스트로부터 수신된 상기 정보에 포함된 물리적 메모리의 주소 및 크기에 따라 주 PCI 버스, PCI-to-PCI 브릿지, 및 부 PCI 버스를 통해 데이터를 수신하고, 상기 데이터에 상기 헤더 정보를 추가하여 네트워크로 전송하는 기가비트 이더넷를 포함하고, 상기 PCI-to-PCI 브릿지는 호스트와 TOE(TCP/IP Offload Engine) 간 연결을 위한 상기 주 PCI 버스와 상기 부 PCI 버스 사이에 위치하여 구성되는, TOE 장치.
  2. 삭제
  3. 제 1항에 있어서,
    상기 기가비트 이더넷은 상기 부 PCI 버스를 통해 상기 PCI-to-PCI 브릿지와 연결되어 구성된, TOE 장치.
  4. 임베디드 프로세서가 물리적 메모리의 주소 및 크기에 대한 정보를 수신하는 (a) 단계;
    상기 임베디드 프로세서가 수신된 상기 정보의 내용에 따라 프로토타입 헤더를 생성하는 (b) 단계;
    기가비트 이더넷이 상기 프로토타입 헤더를 이용하여 패킷의 헤더 정보를 생성하는 (c) 단계; 및
    상기 기가비트 이더넷이 호스트로부터 수신된 상기 정보에 포함된 물리적 메모리의 주소 및 크기에 따라 주 PCI 버스, PCI-to-PCI 브릿지, 및 부 PCI 버스를 통해 데이터를 수신하고, 상기 데이터에 상기 헤더 정보를 추가하여 네트워크로 전송하는 (d) 단계를 포함하는, 패킷 전송 방법.
  5. 제 4항에 있어서, 상기 (b) 단계는,
    상기 임베디드 프로세서가 생성된 상기 프로토타입 헤더가 저장되어 있는 메모리 상의 위치와 수신된 상기 정보에 포함된 내용을 상기 기가비트 이더넷에 통보하는 단계를 더 포함하는, 패킷 전송 방법.
  6. 제 5항에 있어서, 상기 (c) 단계는,
    상기 기가비트 이더넷이 상기 프로토타입 헤더를 DMA(Direct Memory Access)를 통해 수신하는 단계를 더 포함하는, 패킷 전송 방법.
KR1020080015294A 2008-02-20 2008-02-20 Toe 장치 및 이를 이용한 패킷 전송 방법 KR100947324B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080015294A KR100947324B1 (ko) 2008-02-20 2008-02-20 Toe 장치 및 이를 이용한 패킷 전송 방법
US12/320,910 US20090210578A1 (en) 2008-02-20 2009-02-09 Apparatus of TCP/IP offload engine and method for transferring packet using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080015294A KR100947324B1 (ko) 2008-02-20 2008-02-20 Toe 장치 및 이를 이용한 패킷 전송 방법

Publications (2)

Publication Number Publication Date
KR20090090052A KR20090090052A (ko) 2009-08-25
KR100947324B1 true KR100947324B1 (ko) 2010-03-16

Family

ID=40956150

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080015294A KR100947324B1 (ko) 2008-02-20 2008-02-20 Toe 장치 및 이를 이용한 패킷 전송 방법

Country Status (2)

Country Link
US (1) US20090210578A1 (ko)
KR (1) KR100947324B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102280543B1 (ko) 2014-12-01 2021-07-26 삼성전자주식회사 전자 디바이스의 작업 수행 장치 및 방법
CN109933553B (zh) * 2019-02-28 2020-09-29 厦门码灵半导体技术有限公司 一种控制系统及其设计方法、一组控制系统、电子装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7293197B2 (en) * 2003-08-13 2007-11-06 Micro Memory Llc Non-volatile memory with network fail-over
US7710968B2 (en) * 2006-05-11 2010-05-04 Intel Corporation Techniques to generate network protocol units

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
윤인수 등, 임베디드 시스템상에서 Lightweight TCP/IP를 이용한 TCP/IP Offload Engine의 구현, 정보과학회논문지, 시스템 및 이론 제33권 제7호, page 413-420(2006.07)*
장한국 등, Hybrid TCP/IP Offload Engine 프로토타입의 설계 및 구현, 정보과학회논문지, 시스템 및 이론 제33권 제5호, page 257-266(2006.06)*

Also Published As

Publication number Publication date
KR20090090052A (ko) 2009-08-25
US20090210578A1 (en) 2009-08-20

Similar Documents

Publication Publication Date Title
US7844742B2 (en) Network interface and protocol
US8996718B2 (en) TCP-aware receive side coalescing
US8005022B2 (en) Host operating system bypass for packets destined for a virtual machine
CN108632110B (zh) 设备性能测试方法、系统、计算机设备和存储介质
WO2023005773A1 (zh) 基于远程直接数据存储的报文转发方法、装置、网卡及设备
US20090240874A1 (en) Framework for user-level packet processing
CN108965148B (zh) 一种处理器及报文处理方法
Scholz et al. SYN flood defense in programmable data planes
US20190149486A1 (en) Efficient Scatter-Gather Over an Uplink
JP2007259446A (ja) データ・パケットを伝送しながらセキュリティを改良するための方法及び装置
CN104022998A (zh) 网络传输数据病毒检测处理方法
Agarwal et al. Understanding host interconnect congestion
KR100738339B1 (ko) 인터넷 프로토콜 오프로드의 패킷 전송 장치 및 방법
KR100947324B1 (ko) Toe 장치 및 이를 이용한 패킷 전송 방법
Leitao Tuning 10Gb network cards on Linux
US20090198483A1 (en) Apparatus and method for network emulation by using hardware accelerated network interface cards
KR100932968B1 (ko) 호스트 컴퓨터의 개입이 없는 toe의 tcp 재전송 처리방법
US20080002701A1 (en) Network interface card virtualization based on hardware resources and software rings
CN211183974U (zh) 基于tcp/ip卸载引擎的量子密钥分发片上系统
KR20120012354A (ko) 부하 절감형 toe 네트워크 장치
US20080002730A1 (en) Serialization queue framework for transmitting packets
Salah et al. Evaluating system performance in gigabit networks
Cascallana et al. Collecting packet traces at high speed
Jie et al. Implementation of TCP large receive offload on multi-core NPU platform
Yoon et al. Implementation and performance evaluation of M-VIA on AceNIC Gigabit Ethernet Card

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130306

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140305

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee