KR20140052101A - 패킷을 처리하는 방법 및 이를 위한 장치 - Google Patents

패킷을 처리하는 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR20140052101A
KR20140052101A KR1020120111772A KR20120111772A KR20140052101A KR 20140052101 A KR20140052101 A KR 20140052101A KR 1020120111772 A KR1020120111772 A KR 1020120111772A KR 20120111772 A KR20120111772 A KR 20120111772A KR 20140052101 A KR20140052101 A KR 20140052101A
Authority
KR
South Korea
Prior art keywords
type
packet
converting
packets
data
Prior art date
Application number
KR1020120111772A
Other languages
English (en)
Other versions
KR101420306B1 (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 KR1020120111772A priority Critical patent/KR101420306B1/ko
Publication of KR20140052101A publication Critical patent/KR20140052101A/ko
Application granted granted Critical
Publication of KR101420306B1 publication Critical patent/KR101420306B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • H04L47/365Dynamic adaptation of the packet size

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은, 패킷 처리 방법 등에 관한 것으로서, 복수의 제1 타입의 패킷으로 구성된 데이터를 네트워크를 통하여 송수신하면, 상기 복수의 제1 타입 패킷을 적어도 하나의 제2 타입 패킷으로 변환하고, 상기 변환된 적어도 하나의 제2 타입의 패킷을 소정 입출력 인터페이스를 통하여 네트워크 인터페이스 컨트롤러로부터 호스트에 전송하거나, 호스트로부터 네트워크 인터페이스 컨트롤러로 전송하여 기존 장치와 호환 가능하고 패킷 처리 효율성 및 속도가 향상되도록 할 수 있다.

Description

패킷을 처리하는 방법 및 이를 위한 장치 {METHOD FOR PROCESSING PACHET AND DEVICE THEREOF}
본발명은, 패킷을 처리하는 방법 및 이를 위한 장치에 관한 것으로서, 특히, PCI 익스프레스와 같은 직렬 구조의 인터페이스를 통하여 호스트로 송수신되는 데이터를 효율적으로 송신 또는 수신하기 위한 방법 등에 관한 것이다.
PCI 익스프레스(Peripheral Component Interconnect Express)는 컴퓨터 메인보드에 네트워크 인터페이스 컨트롤러(Network Interface Controller)와 같은 주변 장치를 장착하는 데 쓰이는 컴퓨터 버스의 일종이다. PCI 익스프레스는 입출력을 위한 직렬 구조의 인터페이스로서, 2004년부터 본격적으로 쓰이기 시작했으며, 1초에 8기가 바이트(GByte) 정도의 데이터를 전송할 수 있다. PCIe 또는 PCI-E 라고 명명하기도 하며 규격으로서 PCI 익스프레스 2.0과 PCI 익스프레스 3.0 등이 알려져 있다.
PCI 익스프레스는 기존 PCI 버스와 비교하여 페러럴(parallel) 방식에서 시리얼(serial) 방식으로 시그널을 전송하고, 이에 따라 PCI 익스프레스에 연결되는 모든 디바이스 또는 프로세서가 최고의 대역폭을 사용하여 통신할 수 있어 데이터 전송 효율을 높일 수 있다.
한편, 도 1에서와 같이, 범용 네트워크 인터페이스 컨트롤러(10)를 사용하여 데이터를 주고받는 경우, 데이터는 네트워크를 통하여 송수신 인터페이스(50)를 경유하여 범용 네트워크 인터페이스 컨트롤러(10)로 수신되고, 이어서 PCI 익스프레스와 같은 버스(40)를 통하여 메인 프로세서를 포함한 호스트(20)에 전달, 처리된다. 이 경우, 초당 프레임수(packet per second)가 작으면서 크기가 큰 패킷을 송수신하는데 있어서는 PCI 익스프레스의 대역폭은 문제가 되지 않는다. 그러나, 온라인 게임의 경우와 같이 작은 패킷을 주고받는 경우에는 필요한 데이터양은 일정한 반면 초당 프레임 수가 많아지게 되어 PCI 익스프레스를 통한 데이터 연결에 있어서 대역폭의 제한이 발생하게 된다.
예컨대, 10 Gbps 인터페이스에서 최대 도착 가능한 초당 패킷은, 패킷 사이즈가 64바이트인 경우 약 148만 pps(1,488,095 pps) 가 되고, 1,518 바이트인 경우 약 81만 pps(81,274 pps) 가 인터페이스를 통해 유입 가능하다. 즉, 패킷의 크기가 작을수록 초당 유입해야 할 패킷 수(packet per second)는 많아진다.
이에 따라, 네트워크 인터페이스 컨트롤러(Network Interface Controller or Network Interface Card)에서 사용하는 PCI 익스프레스라는 범용 버스의 특수성에 기인하여 패킷의 크기가 작을수록 매 트랜잭션 당 전송해야 할 실제 데이터량, 즉, 페이로드(payload) 내 전송되는 데이터량을 작아지게 된다. 왜냐하면, 1 패킷에는 페이로드를 통하여 전송할 데이터 이외에 일정 크기의 헤더가 존재하기 때문이다. 즉, 작은 패킷의 데이터일수록 통신 효율이 작아질 수밖에 없다.
또한, 하나의 패킷을 처리하는데 패킷 자체의 처리 이외에도 패킷 버퍼를 관리하기 위하여 PCI 익스프레스 트랜잭션에서 버스가 사용된다. 즉, 초당 패킷 유입량이 많아질수록 버스의 효율이 떨어지게 된다. 예컨대, 10 Gbps 의 데이터를 처리하는데 1,518 바이트의 패킷이 버스를 통하여 전송되는 경우, 초당 약 80만번만 수신하면 되는 반면, 64 바이트의 패킷은 약 1,481 만번의 패킷을 수신하여야 하므로 해당 패킷의 수만큼의 트랜잭션이 소요되기 때문이다.
본 발명은 상술한 문제점을 해결하기 위하여, 송수신되는 데이터 패킷의 크기에 상관없이 PCI 익스프레스 버스를 통과하는 데이터 패킷을 벌크하게 처리하도록 하기 위한 패킷 처리 방법을 제공하도록 한다.
본 발명은 메인 프로세서에 전달되는 데이터 패킷을 원하는 크기로 변환하여 기존 장치와 호환 가능하도록 한 패킷 처리 장치를 제공하도록 한다.
본 발명의 일 실시예에 따른 패킷 처리 방법은, 복수의 제1 타입의 패킷으로 구성된 데이터를 수신하는 단계; 상기 복수의 제1 타입 패킷을 적어도 하나의 제2 타입 패킷으로 변환하는 단계; 상기 변환된 적어도 하나의 제2 타입의 패킷을 소정 입출력 인터페이스를 통하여 호스트에 전송하는 단계; 및 상기 제2 타입을 상기 제1 타입으로 변환하는 단계를 포함한다.
본 발명의 일 실시예에 따른 패킷 처리 방법은, 호스트 내에서 복수의 제1 타입의 패킷으로 구성된 데이터를 생성하는 단계; 상기 복수의 제1 타입 패킷을 적어도 하나의 제2 타입 패킷으로 변환하는 단계; 상기 변환된 적어도 하나의 제2 타입의 패킷을 소정 입출력 인터페이스를 통하여 네트워크 인터페이스 컨트롤러에 전송하는 단계; 및 상기 제2 타입을 상기 제1 타입으로 변환하는 단계를 포함한다.
본 발명의 일 실시예에 따른 패킷 처리 장치는, 네트워크를 통하여 복수의 제1 타입의 패킷으로 구성된 데이터를 수신 또는 송신하는 외부 인터페이스부; 상기 수신된 복수의 제1 타입 패킷을 적어도 하나의 제2 타입 패킷으로 변환하거나, 송신 대상인 적어도 하나의 제2 타입 패킷으로 구성된 데이터를 상기 제1 타입으로 변환하는 변환부; 상기 적어도 하나의 제2 타입의 패킷을 소정 입출력 인터페이스를 통하여 호스트에 도달하도록 네트워크 인터페이스 컨트롤러에 전달하는 외부 인터페이스부를 포함한다.
본 발명의 일 실시예에 따른 네트워크 인터페이스 컨트롤러는, 네트워크를 통하여 복수의 제1 타입의 패킷으로 구성된 데이터를 송수신하는 인터페이스부; 및 상기 수신된 복수의 제1 타입 패킷을 적어도 하나의 제2 타입 패킷으로 변환하는 변환부;를 포함하고 상기 변환된 적어도 하나의 제2 타입의 패킷을 소정 입출력 인터페이스를 통하여 호스트에 전송하도록 전달한다.
본 발명에 따르면 데이터 처리 효율성 및 속도를 증가할 수 있도록 한다.
본 발명에 따르면 기존 장치와의 호환성도 보장될 수 있다.
도 1은 종래 범용 NIC 를 사용하는 경우의 패킷 처리 시스템의 일부 구성에 대한 블록도를 나타낸다.
도 2는 본 발명의 일 실시예에 따른 패킷 처리 장치를 포함한 패킷 처리 시스템의 일부 구성에 대한 블록도를 나타낸다.
도 3은 본 발명의 다른 실시예에 따른 패킷 처리 장치를 포함한 패킷 처리 시스템의 일부 구성에 대한 블록도를 나타낸다.
도 4는 본 발명의 일 실시예에 따른 패킷 처리 방법에 대한 순서도를 나타낸다.
도 5는 본 발명의 일 실시예에 따른 패킷 처리 방법에 대한 순서도를 나타낸다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
도 2는 본 발명의 일 실시예에 따른 패킷 처리 장치를 포함한 패킷 처리 시스템의 일부 구성에 대한 블록도를 나타낸다. 도 2를 참조하면 본발명의 패킷 처리 장치(100)는 네트워크를 통하여 전송되는 데이터를 외부 인터페이스(150)를 이용하여 수신한다. 데이터는 64byte, 128byte, 256byte와 같은 임의 크기를 가진 복수의 패킷으로 구성될 수 있다. 본 명세서에서 네트워크를 통하여 송수신되는 데이터의 패킷 타입은 제1 타입 패킷일 수 있다. 즉, 제1 타입 패킷은 본발명의 패킷 처리 장치에 의해 변환되지 아니하고, 외부 네트워크를 통하여 송수신될 임의의 패킷일 수 있다.
패킷 처리 장치(100)는 제1 타입의 패킷으로 구성된 데이터를 제1 타입의 크기보다 큰 크기의 제2 타입 패킷으로 변환하는 변환부(102)를 포함할 수 있다. 제2 타입은 네트워크 인터페이스 컨트롤러(110)로부터 메인 프로세서가 있는 호스트(120)로 직렬 방식의 인터페이스(140)를 통하여 신속하게 전송될 수 있도록 제1 타입의 패킷 크기보다 그 크기가 클 수 있다. 이로 인하여 네트워크 인터페이스 컨트롤러(110)의 패킷 당 데이터 전송 효율도 증가할 수 있다.
패킷 처리 장치(100)는, 변환된 적어도 하나의 제2 타입의 패킷을 내부 인터페이스(151)를 통하여 네트워크 인터페이스 컨트롤러(110)에 전송함으로써 소정 입출력 인터페이스(140)를 통하여 호스트(120)에 전송되도록 한다.
한편, 패킷 처리 장치(100)는, 데이터를 제2 타입으로 변환할 때마다 호스트(120)를 통하여 전송하지 않고, 변환된 제2 타입의 데이터를 패킷 처리 장치(100) 내에 수집할 수 있다. 제2 타입 데이터의 수집을 위해 패킷 처리 장치(100)는 메모리(미도시)를 더 포함할 수 있다. 수집된 데이터의 크기가 소정 크기를 초과하는 경우에 호스트(120)로 전달하도록 할 수 있다. 이로 인해, 제2 타입 데이터의 변환 시마다 보내는 것과 비교하여 패킷 처리 장치(100) 및 호스트(120) 간의 데이터 트래픽을 감소시킬 수 있다. 호스트(120)는 메인 프로세서 뿐만 아니라 메모리 또는 패킷의 송수신 처리를 위한 패킷 처리 모듈을 더 포함할 수 있다. 소정 입출력 인터페이스(140)는 앞서 예시한 PCI 익스프레스 버스일 수 있지만 네트워크 인터페이스 컨트롤러(110) 및 호스트(120) 간 인터페이스의 규격에 따라 달라지며 본발명의 범위는 이에 한정되지 않는다.
호스트(120)는, 수신한 제2 타입 패킷의 데이터를 호스트(120)에서 처리 가능한 제1 타입의 패킷 데이터로 다시 변환하는 신호 처리부(130)를 포함한다. 즉, 신호 처리부(130)는 제2 타입의 패킷을 제1 타입의 패킷으로 다시 변환하는 디배칭(de-batching)을 수행할 수 있다.
마찬가지로, 신호 처리부(130)는, 호스트(120) 내에서 생성되어 네트워크를 통하여 전송될 제1 타입 패킷을 제2 타입으로 변환할 수도 있다. 즉, 신호 처리부(130)는 데이터의 송신 또는 수신에 부합하여 해당 데이터 패킷을 제1 타입 또는 제2 타입으로 변환하도록 구성될 수 있다. 호스트(200)에 구비된 신호 처리부(130)는 본발명의 패킷 처리 장치(100)와 상호 동작하므로 본발명의 범위는 신호 처리부(130)에도 미친다.
호스트(120)에서 송신 대상의 제1 타입 패킷의 데이터가 생성되면, 호스트(120) 내 신호 처리부(130)에서 제2 타입으로 변환하고, 다시 소정 입출력 인터페이스(140)를 경유하여 네트워크 인터페이스 컨트롤러(110)를 통하여 전송된다. 마찬가지로, 호스트(120)에서 변환된 제2 타입 데이터는 변환할 때마다 네트워크 인터페이스 컨트롤러(110)로 전송하지 않고, 변환된 제2 타입의 데이터를 수집하고, 수집된 데이터의 크기가 소정 크기를 초과하는 경우에 네트워크 인터페이스 컨트롤러(110)로 전달하도록 할 수 있다.
이후에 다시 본발명의 패킷 처리 장치(110)의 내부 인터페이스부(151)를 통하여 패킷 처리 장치(110)에 입력되면 변환부(102)에서 다시 제1 타입 패킷으로 변환되며, 외부 인터페이스부(150)를 통하여 네트워크로 전송된다. 즉, 데이터의 송신의 경우에도 각 부품 및 버스를 통과하는 패킷의 타입은 데이터의 수신의 그것과 동일하다.
도 3은 본 발명의 다른 실시예에 따른 패킷 처리 장치를 포함한 패킷 처리 시스템의 일부 구성에 대한 블록도를 나타낸다. 도 3을 참조하면, 본발명의 패킷 처리 장치는 네트워크 인터페이스 컨트롤러(200)에 통합되어 구성될 수 있다. 즉, 네트워크 인터페이스 컨트롤러(200) 내에 도 2에서 설명한 패킷 처리 장치(100)의 구성을 포함시켜 제작하는 경우이다. 이 경우 네트워크 인터페이스 컨트롤러(200)는 본발명의 범위에 포함된다. 네트워크 인터페이스 컨트롤러(200)는, 네트워크를 통하여 복수의 제1 타입의 패킷으로 구성된 데이터를 송수신하는 인터페이스부(250) 및 상기 수신된 복수의 제1 타입 패킷을 적어도 하나의 제2 타입 패킷으로 변환하는 변환부(102)를 포함함으로써, 상기 변환된 적어도 하나의 제2 타입의 패킷을 소정 입출력 인터페이스(240)를 통하여 호스트(220)에 전송하도록 전달할 수 있다. 소정 입출력 인터페이스(240)는 PCI 익스프레스 버스일 수 있다. 마찬가지로, 호스트(220) 에서는 소정 입출력 인터페이스(240)를 통하여 수신한 데이터 패킷을 다시 제1 타입으로 변환하는 신호 처리부(230)를 포함할 수 있다. 신호 처리부(230)의 기능 및 기타 설명은 도 2의 그것과 동일하므로 설명을 생략한다.
도 4는 본 발명의 일 실시예에 따른 패킷 처리 방법에 대한 순서도를 나타낸다. 도 4에서 예시되는 순서도는 패킷을 수신하여 처리하는 방법에 대한 설명이다.
단계(S11)에서, 네트워크를 통하여 복수의 제1 타입의 패킷으로 구성된 데이터를 수신한다. 구체적으로, 본발명의 패킷 처리 장치에 구성된 외부 인터페이스부를 통하여 제1 타입의 패킷이 수신될 수 있다.
단계(S12)에서, 제1 타입 패킷을 적어도 하나의 제2 타입 패킷으로 변환한다. 구체적으로, 본발명의 패킷 처리 장치 내 변환부에서 제1 타입 패킷이 배칭되어 제2 타입으로 변환될 수 있다. 이후에 제1 타입 패킷은 네트워크 인터페이스 컨트롤러에 전달될 수 있다.
단계(S13)에서, 데이터를 제2 타입으로 변환 후 즉시 호스트로 전송하지 않고, 변환된 제2 타입의 데이터의 크기가 소정 크기를 초과하는 지를 판단할 수 있다. 상술한 바와 같이, 제2 타입 데이터를 수집하고 수집된 데이터 크기가 소정 크기를 초과할 때 호스트로 전송하도록 함으로써 패킷 처리 장치 및 호스트 간의 데이터 트래픽을 감소시킬 수 있다.
수집된 데이터 크기가 소정 크기를 초과하지 아니한 경우에는 해당 제2 타입 데이터를 패킷 처리 장치에 수집(저장)하고, 제1 타입 패킷의 데이터 수신(S11) 및 제2 타입으로의 변환 단계(S12)를 반복하여 데이터 크기가 기 설정된 크기를 초과하는 지를 지속적으로 판단한다.
단계(S14)에서, 단계(S13)에서 수집된 제2 타입의 데이터의 크기가 소정 크기를 초과하는 것으로 판단된 경우에, 제2 타입의 패킷을 소정 입출력 인터페이스를 통하여 호스트에 전송한다. 구체적으로, 네트워크 인터페이스 컨트롤러에 전달된 제2 타입 패킷은 PCI 익스프레스를 통하여 호스트에 전달될 수 있다.
한편, 도 4에는 도시되지 않았지만 제1 타입의 패킷이 천천이 유입되는 경우 수집되는 데이터 크기가 소정 크기를 초과하는데 긴 시간이 소요될 수 있다. 이 경우, 호스트에 데이터가 늦게 전달될 수 있으므로 소정 시간( timeout )을 설정하고, 소정 시간을 초과한 경우는 현재까지 수집된 제2 타입 데이터만을 호스트로 전달하는 과정이 일반적인 구현에서는 사용이 될 수 있다.
즉, 수집된 제2 타입의 데이터의 크기가 소정 크기를 초과하거나 제2 타입 패킷의 수집 시간이 설정된 타임아웃이 초과한 경우에 제2 타입의 패킷을 소정 입출력 인터페이스를 통하여 호스트에 전송하도록 할 수도 있다.
제2 타입 패킷의 수집 시간은 단계(S11) 내지 단계(S13) 까지 반복하는데 소요되는 시간, 즉, 제1 타입 패킷을 복수 개 수신하고, 제2 타입으로 적어도 한번 이상 변환하여 호스트로의 전송 이전까지 소요되는 일련의 시간일 수 있다.
단계(S15)에서, 호스트에 도달한 제2 타입 패킷은 패킷 처리를 위해 다시 제1 타입으로 변환된다.
단계(S16)에서, 호스트에서 패킷 처리가 수행된다.
도 5는 본 발명의 일 실시예에 따른 패킷 처리 방법에 대한 순서도를 나타낸다. 도 4에서 예시되는 순서도는 패킷을 송신하여 처리하는 방법에 대한 설명이다.
단계(S21)에서, 호스트 내에서 복수의 제1 타입의 패킷으로 구성된 데이터를 생성한다.
단계(S22)에서, 복수의 제1 타입 패킷을 적어도 하나의 제2 타입 패킷으로 변환한다. 송신 데이터의 제2 타입으로의 패킷 변환은 호스트 내 구비된 변환부에 의해 패킷이 배칭됨으로써 수행될 수 있다.
단계(S23)에서, 데이터를 제2 타입으로 변환 후 즉시 네트워크 인터페이스 컨트롤러에 전송하지 않고, 변환된 제2 타입의 데이터의 크기가 소정 크기를 초과하는 지를 판단할 수 있다. 수집된 데이터 크기가 소정 크기를 초과하지 아니한 경우에는 해당 데이터를 호스트에 수집(저장)하고, 제1 타입 패킷의 데이터 생성(S21) 및 제2 타입으로의 변환 단계(S22)를 반복하여 데이터 크기가 기 설정된 크기를 초과하는 지를 지속적으로 판단한다.
단계(S24)에서, 단계(S23)에서 수집된 제2 타입의 데이터의 크기가 소정 크기를 초과하는 것으로 판단된 경우에, 변환된 적어도 하나의 제2 타입의 패킷을 소정 입출력 인터페이스, 예컨대 PCI 익스프레스를 통하여 네트워크 인터페이스 컨트롤러에 전송한다. 이후에 네트워크 인터페이스 컨트롤로러부터 본 발명의 패킷 처리 장치로 입력될 수 있다.
한편, 데이터 송신시에 호스트에서 제1 타입의 패킷을 천천히 전송하는 경우 수집되는 데이터 크기가 소정 크기를 초과하는데 오래 걸릴 수 있다. 이 경우, 최종적으로 네트워크로 패킷이 전달되는데 긴 시간이 소요므로 설정된 소정 시간을 초과한 경우는 현재까지 수집된 제2 타입 데이터를 소정 입출력 인터페이스로 전달해서 패킷 전송시의 지연을 완화할 수 있다.
즉, 수집된 제2 타입의 데이터의 크기가 소정 크기를 초과하거나, 또는, 제2 타입 패킷의 수집 시간이 설정된 타임아웃이 지난 경우에는 변환된 적어도 하나의 제2 타입의 패킷을 소정 입출력 인터페이스로 전달할 수도 있다.
제2 타입 패킷의 수집 시간은 단계(S21) 내지 단계(S23) 까지 반복하는데 소요되는 시간, 즉, 제1 타입 패킷을 복수 개 생성하고, 제2 타입으로 적어도 한번 이상 변환하여 외부로 전송하기 이전까지 소요되는 일련의 시간일 수 있다.
단계(S25)에서, 제2 타입 패킷을 제1 타입 패킷으로 변환한다. 구체적으로 본발명의 패킷 처리 장치 내 변환부에서 패킷의 디배칭(de-batching)이 수행될 수 있다.
단계(S26)에서, 제1 타입의 패킷으로 구성된 데이터를 네트워크를 통하여 송신한다.
이상, 본 발명의 일 실시예에 따른 패킷 처리 장치 등에 대해 설명하였다. 본 발명의 범위는 본 발명의 패킷 처리 방법을 실행하기 위한 전자적 코드로 저장되어 컴퓨터 판독 가능한 기록 매체에 대해서도 적용될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 설명하였다. 그러나, 본 발명의 실시예는 당업계에서 통상의 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되어지는 것으로, 본 발명의 범위가 상기의 실시예에 한정되는 것은 아니며, 여러 가지 다른 형태로 변형이 가능함은 물론이다.

Claims (15)

  1. 패킷 처리 방법에 있어서,
    복수의 제1 타입의 패킷으로 구성된 데이터를 수신하는 단계;
    상기 복수의 제1 타입 패킷을 적어도 하나의 제2 타입 패킷으로 변환하는 단계;
    상기 변환된 적어도 하나의 제2 타입의 패킷을 소정 입출력 인터페이스를 통하여 호스트에 전송하는 단계; 및
    상기 제2 타입을 상기 제1 타입으로 변환하는 단계를 포함하는 패킷 처리 방법.
  2. 제1항에 있어서,
    상기 제2 패킷의 크기는 상기 제1 패킷의 크기보다 큰 패킷 처리 방법.
  3. 제1항에 있어서,
    상기 제2 타입 패킷으로 변환하는 단계는 적어도 하나의 상기 제1 타입 패킷을 배칭(batching)하는 단계를 포함하는 패킷 처리 방법.
  4. 제1항에 있어서,
    상기 제1 타입 패킷으로 변환하는 단계는 상기 제2 타입 패킷을 디배칭(de-batching)하는 단계를 포함하는 패킷 처리 방법.
  5. 제1항에 있어서,
    상기 소정 입출력 인터페이스는 PCI 익스프레스(Peripheral Component Interconnect Express)인 패킷 처리 방법.
  6. 제1항에 있어서,
    변환된 적어도 하나의 제2 타입의 패킷을 수집하는 단계; 및
    상기 수집된 제2 타입 패킷이 소정 크기를 초과하는 지 또는 제2 타입 패킷의 수집 시간이 소정 시간을 초과하는 지를 판단하는 단계를 더 포함하는 패킷 처리 방법.
  7. 패킷 처리 방법에 있어서,
    호스트 내에서 복수의 제1 타입의 패킷으로 구성된 데이터를 생성하는 단계;
    상기 복수의 제1 타입 패킷을 적어도 하나의 제2 타입 패킷으로 변환하는 단계;
    상기 변환된 적어도 하나의 제2 타입의 패킷을 소정 입출력 인터페이스를 통하여 네트워크 인터페이스 컨트롤러에 전송하는 단계; 및
    상기 제2 타입을 상기 제1 타입으로 변환하는 단계를 포함하는 패킷 처리 방법.
  8. 제7항에 있어서,
    상기 제1 타입의 패킷으로 구성된 데이터를 네트워크를 통하여 송신하는 단계를 포함하는 패킷 처리 방법.
  9. 제7항에 있어서,
    상기 제2 패킷의 크기는 상기 제1 패킷의 크기보다 큰 패킷 처리 방법.
  10. 제7항에 있어서,
    상기 제2 타입 패킷으로 변환하는 단계는 적어도 하나의 상기 제1 타입 패킷을 배칭(batching)하는 단계를 포함하는 패킷 처리 방법.
  11. 제7항에 있어서,
    상기 제1 타입 패킷으로 변환하는 단계는 상기 제2 타입 패킷을 디배칭(de-batching)하는 단계를 포함하는 패킷 처리 방법.
  12. 제7항에 있어서,
    변환된 적어도 하나의 제2 타입의 패킷을 수집하는 단계; 및
    상기 수집된 제2 타입 패킷이 소정 크기를 초과하는 지 또는 제2 타입 패킷의 수집 시간이 소정 시간을 초과하는 지를 판단하는 단계를 더 포함하는 패킷 처리 방법.
  13. 패킷 처리 장치에 있어서,
    네트워크를 통하여 복수의 제1 타입의 패킷으로 구성된 데이터를 수신 또는 송신하는 외부 인터페이스부;
    상기 수신된 복수의 제1 타입 패킷을 적어도 하나의 제2 타입 패킷으로 변환하거나, 송신 대상인 적어도 하나의 제2 타입 패킷으로 구성된 데이터를 상기 제1 타입으로 변환하는 변환부;
    상기 적어도 하나의 제2 타입의 패킷을 소정 입출력 인터페이스를 통하여 호스트에 도달하도록 네트워크 인터페이스 컨트롤러에 전달하는 외부 인터페이스부를 포함하는 패킷 처리 장치.
  14. 제13항에 있어서,
    상기 호스트 내에 구비되어 상기 제2 타입을 상기 제1 타입으로 변환하는 신호 처리부를 더 포함하는 패킷 처리 장치.
  15. 제13항에 있어서,
    상기 제2 타입 패킷으로 변환은 적어도 하나의 상기 제1 타입 패킷을 배칭(batching)하는 것을 포함하는 패킷 처리 장치.
KR1020120111772A 2012-10-09 2012-10-09 패킷을 처리하는 방법 및 이를 위한 장치 KR101420306B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120111772A KR101420306B1 (ko) 2012-10-09 2012-10-09 패킷을 처리하는 방법 및 이를 위한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120111772A KR101420306B1 (ko) 2012-10-09 2012-10-09 패킷을 처리하는 방법 및 이를 위한 장치

Publications (2)

Publication Number Publication Date
KR20140052101A true KR20140052101A (ko) 2014-05-07
KR101420306B1 KR101420306B1 (ko) 2014-07-23

Family

ID=50885396

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120111772A KR101420306B1 (ko) 2012-10-09 2012-10-09 패킷을 처리하는 방법 및 이를 위한 장치

Country Status (1)

Country Link
KR (1) KR101420306B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6052265B2 (ja) * 2014-10-21 2016-12-27 横河電機株式会社 I/oモジュール、設定装置、及びプロセス制御システムの構築方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519790B2 (en) * 2005-11-14 2009-04-14 Intel Corporation Method, apparatus and system for memory instructions in processors with embedded memory controllers
KR20080060882A (ko) * 2006-12-27 2008-07-02 삼성전자주식회사 적응형 패킷 크기 기반 라우팅 방법 및 라우팅 장치
KR101283482B1 (ko) * 2009-12-11 2013-07-12 한국전자통신연구원 Pci 익스프레스 프로토콜 처리 장치
US8693501B2 (en) * 2010-11-23 2014-04-08 The Chinese University Of Hong Kong Subset coding for communication systems

Also Published As

Publication number Publication date
KR101420306B1 (ko) 2014-07-23

Similar Documents

Publication Publication Date Title
US8347008B2 (en) Method and system for hardware based implementation of USB 1.1 over a high speed link
US7493431B2 (en) Method and apparatus for extending the range of the universal serial bus protocol
CN111656336B (zh) 一种pcie发送、接收方法及装置、设备和系统
US20200265004A1 (en) Serial connection between management controller and microcontroller
CN110471872B (zh) 一种基于zynq芯片实现m-lvds总线数据交互系统和方法
US9256564B2 (en) Techniques for improving throughput and performance of a distributed interconnect peripheral bus
CN101788972A (zh) 一种数据传输的系统与方法
US20170068628A1 (en) Reducing ethernet latency in a multi-server chassis
CN103077148B (zh) 一种基于pcie的主机通讯方法和主机
US7565580B2 (en) Method and system for testing network device logic
CN108733600B (zh) 具有直接存储器访问控制器的电子系统及其操作方法
US11177969B2 (en) Interface device and data communication method
CN104461978B (zh) 单向数据传输的方法及装置
CN115499505A (zh) Usb网卡和通信方法
KR101420306B1 (ko) 패킷을 처리하는 방법 및 이를 위한 장치
TWI627537B (zh) 應用於通用序列匯流排系統的資料傳輸電路及相關的資料傳輸方法
KR20140125311A (ko) 멀티 코어를 가진 네트워크 인터페이스 카드를 이용한 트래픽 처리 장치 및 방법
US9906468B2 (en) Packet traffic control in a network processor
US20130232285A1 (en) Control method of flow control scheme and control module thereof
CN210155653U (zh) 基于zynq芯片实现m-lvds总线数据交互装置
WO2014047900A1 (zh) 报文发送控制方法、处理方法、设备及系统
CN101227688A (zh) 一种手机上通过usb接口传输数据的方法
KR20120012354A (ko) 부하 절감형 toe 네트워크 장치
US20210303496A1 (en) Actuation of data transmission lanes between states
CN110096461A (zh) 一种基于usb3.0辅助协议的实时高速数据传输方法及系统

Legal Events

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