KR101577034B1 - 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 toe 시스템 및 그 제어 방법 - Google Patents

소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 toe 시스템 및 그 제어 방법 Download PDF

Info

Publication number
KR101577034B1
KR101577034B1 KR1020140078968A KR20140078968A KR101577034B1 KR 101577034 B1 KR101577034 B1 KR 101577034B1 KR 1020140078968 A KR1020140078968 A KR 1020140078968A KR 20140078968 A KR20140078968 A KR 20140078968A KR 101577034 B1 KR101577034 B1 KR 101577034B1
Authority
KR
South Korea
Prior art keywords
network
toe
function
tcp
application program
Prior art date
Application number
KR1020140078968A
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 KR1020140078968A priority Critical patent/KR101577034B1/ko
Application granted granted Critical
Publication of KR101577034B1 publication Critical patent/KR101577034B1/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/12Protocol engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 소프트웨어적인 네트워크 부가기능을 추가하기 용이한 멀티코어 기반의 TOE 시스템 및 그 제어 방법에 관한 것으로, 네트워크 트래픽에 대한 부가적인 제어 기능의 추가를 용이하게 하는 TOE 제공 시스템을 멀티코어 프로세스로 구성하여 TOE 본래의 기능에 대한 처리 성능을 향상시키고, TOE 기능을 수행함과 동시에 네트워크 트래픽 제어 기능을 수행하게 함으로써 부가적인 네트워크 기능의 확장 및 연동을 용이하게 구현할 수 있도록 해 주는 것에 관한 것이다.

Description

소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템 및 그 제어 방법{MULTICORE BASED TOE SYSTEM EASY TO ADD SUPPLEMENTAL NETWORK FUNCTIONS WITH SOFTWARE AND THE CONTROL METHOD THEREFOR}
본 발명은 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템 및 그 제어 방법에 관한 것으로, 더욱 구체적으로는 네트워크 트래픽에 대한 주가적인 제어 기능의 추가를 용이하게 하는 TOE 제공 시스템을 멀티코어 프로세스로 구성하여 TOE 본래의 기능에 대한 처리 성능을 향상시키고, 또한 TOE 기능을 수행함과 동시에 네트워크 트래픽 제어 기능을 수행하게 함으로써 부가적인 기능의 확장 및 연동을 용이하게 구현할 수 있도록 해 주는 시스템 및 그 제어 방법에 관한 것이다.
대용량의 데이터 트래픽을 감당해야 하는 기관들을 중심으로 기가비트(Gb)급 이더넷 인프라 구축이 본격화되면서 네트워크 가용성을 획기적으로 높일 수 있는 TCP/IP(Transmission Control Protocol/Internet Protocol) 오프로드 엔진(TCP/IP Offload Engine, TOE) 기술의 적용이 확대되고 있다. TOE는 운영 체계(Operating System, OS) 내부에서 소프트웨어로 수행되는 TCP/IP 프로토콜 스택을 별도의 전용 하드웨어로 구현한 시스템(예: 서버)과는 분리된 별도의 하드웨어 프로토콜 스택을 말하고, 인터넷 표준 프로토콜인 TCP/IP를 중앙처리장치(Central Processing Unit, CPU)가 아닌 별도의 네트워크(이더넷) 인터페이스 카드(Network Interface Card, NIC)를 통해 처리함으로써, 시스템의 부하를 줄이고 데이터 처리속도를 향상시키는 일종의 네트워크 가속(acceleration) 기술이다. TOE 장치를 활용하면 CPU 성능을 약 절반 이상 높일 수 있어 별도 시스템 증설이나 서버의 교체하지 않아도 10 Gbps급 이더넷 네트워크 환경을 저렴하고 효과적으로 구현할 수 있는 장점이 있다.
보통 TOE 하드웨어는 SoC(System on a Chip) 형태로 구현되며 주로 32비트급 RISC(Reduced Instruction Set Computer) 프로세서를 내장하고, 시스템의 공유 자원과 분리되는 독립적인 메모리 공간을 사용한다. TOE 시스템은 마이크로프로세서로부터 TCP/IP 처리를 떼어낸 것으로, 특히 SAN(Storage Area Network) 시스템에서 전송 속도와 처리량을 증가시키고 전반적인 비용을 줄이는데 활용되고 있으며, TCP/IP 가속기 네트워크 인터페이스 카드 또는 TOE 네트워크 인터페이스 카드라고도 부른다. 또한 NAS(Network-attached storage)에서 가속기로 사용되어 이메일과 웹 브라우징 등 인터넷 기능과 파일 전송, 백업, 아카이브 기능을 고속으로 처리하며, TCP/IP 처리 부담을 덜어냈으므로 모든 네트워크 응용 프로그램을 더 빨리 수행시킬 수 있는 장점이 있다. NAS에서 TOE 시스템을 가속기로 설치하여 운영하는 것이 메인 프로세서를 2배로 늘리는 만큼 네트워크 수행이 개선되지만 비용은 더 적게 드는 장점이 있는 것이다.
실제로 TOE 장치를 장착한 듀얼 CPU 시스템과 일반 네트워크 카드를 장착한 쿼드(Quad) 시스템을 비교했을 때 네트워크 속도는 거의 동일하지만 TOE 듀얼 시스템 도입 비용이 쿼드 시스템에 비해 6배 가까이 저렴하다고 알려져 있다. 이러한 장점 때문에 국내외에서 네트워크 카드 형태의 다양한 기가비트급 TOE 장치들이 출시돼 있는 상태이다. 따라서 최근 들어 TOE 기술을 활용하면 기존 시스템 교체나 업그레이드 없이도 10Gbps 이더넷 서비스를 제공받을 수 있는 사실이 알려지면서 TOE 장치에 대한 관심과 수요가 급증하고 있다.
이러한 목적으로 창작된 종래의 선행기술문헌으로는 한국등록특허 제0676674호(2007.01.25.)는 데이터 고속 입출력을 위한 데이터 입출력 가속 장치 및 그 운용 방법에 대해서 기재한 것으로, iSCSI(Internet Small Computer System Interface) 처리 과정에서 iSCSI의 읽기 및 쓰기 명령 수행 시, 부하가 큰 부분에 대해서 각각 전용 하드웨어를 사용하여 부하를 분산시킴으로써, 성능을 개선하고 데이터 처리 과정에서의 데이터 이동경로를 최적화하여 성능을 향상시키기 위한, 데이터 고속 입출력을 위한 데이터 입출력 가속 장치 및 그 운용 방법을 제공하고자 하였다. 구체적으로는, TCP/IP 스택의 일부를 오프로딩하여 외부 로컬 중앙처리장치의 부하를 경감시키기 위한 네트워크 제어수단을 구비하고 있다.
또한 한국공개특허 제2012-0012354호(2012.02.09.)는 부하절감형 TOE 네트워크 장치에 관한 것으로, 단일 포트로 수신되는 패킷에 대하여 그 크기에 따라 PCI Express 통신 프로토콜과 RapidIO 통신 프로토콜을 차별적으로 적용하는 부하 절감형 TOE 네트워크 장치를 제공하는 것으로, PCI 프로토콜을 지원하는 제1 컨트롤러와, RapidIO 프로토콜을 지원하는 제2 컨트롤러를 동시에 구비하는 호스트 인터페이스와, PCI 프로세서 코어와 RapidIO 프로세서 코어를 동시에 구비하는 수신 프로세싱부와, 이더넷 인터페이스로부터 전달받은 패킷의 종류 및 크기를 분석하고, 상기 패킷이 상기 프로세싱부에 통보되어야 할 경우 상기 패킷의 크기에 따라 상기 PCI 프로세서 코어 또는 상기 RapidIO 프로세서 코어로 통보하는 수신처리모듈과, 수신 프로세싱부의 명령에 따라 수신버퍼의 데이터를 상기 호스트 인터페이스의 제1 컨트롤러 또는 제2 컨트롤러를 통해 호스트 CPU로 전송하는 수신관리모듈을 포함하는 것을 특징으로 한다.
또한 한국등록특허 제100626호(2010.12.29.)는 네트워크 프로토콜 오프로드에서 메모리 관리를 지원하기 위한 장치 및 그 방법에 관한 것으로, 오프로드 네트워크 어댑터를 활용하는 시스템 내에서 메모리 관리 및 최적화를 핸들링하는 메커니즘이 제공되며, 이 메모리 관리 메커니즘은 데이터의 버퍼링된 송신 및 수신뿐 아니라 데이터의 제로-카피 송신 및 수신이 가능하고, 또한, 임의의 개수의 속성에 기초하여 특정 접속체 사이에서 공유될 수 있는 DMA(Direct Memory Access) 버퍼의 그룹화가 가능하며, 호스트 시스템으로 전달될 수도 있도록 DMA 요청을 지연시키는 부분 송신 및 수신 버퍼 동작과 호스트 시스템으로의 데이터의 신속한 전송이 가능한 구조를 제시하고 있다.
상기 선행기술문헌과 같은 기존 방식에서는 여전히 네트워크 부가기능을 수행하는 코드가 어플리케이션 프로그램 내부에 삽입되어 그 기능을 수행해야 하기 때문에, 중요 어플리케이션 로직과 네트워크 부가기능을 수행하기 위한 코드가 함께 작성되어, 전체적인 구조가 복잡해지고 오류(bug)를 유발할 가능성이 있으며, 소켓 생성 인터페이스를 호출시 호스트 영역과 임베디드 시스템 간의 인터럽트로 인한 지연이 발행하였다. 그러나 본 발명에서는 소켓 생성 인터페이스 부분을 TOE와 함께 멀티코어 네트워크 프로세서(Network Processor, NP)에서 실행되도록 구성함으로써, 상기 오류와 지연에 대한 원인을 제거할 수 있다. 즉, 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템 및 그 제어 방법에 관한 것으로, 네트워크 트래픽에 대한 부가적인 제어 기능의 추가를 용이하게 하는 TOE 제공 시스템을 멀티코어 프로세스로 구성하여 TOE 본래의 기능에 대한 처리 성능을 향상시키고, TOE 기능을 수행함과 동시에 네트워크 트래픽 제어 기능을 수행하게 함으로써 부가적인 네트워크 기능의 확장 및 연동을 용이하게 구현할 수 있도록 해 주는 시스템 및 그 제어 방법을 제공하고자 한다.
본 발명은 상기와 같은 문제점을 해결하기 위해 창작된 것으로, 소프트웨어로 구성된 TOE 시스템을 제공하여 H/W TOE보다 개발기간을 단축할 수 있도록 하고, 네트워크 부가기능의 구현이 용이하도록 하여 멀티코어 네트워크 프로세서에 최적화된 소프트웨어로 구현함으로써, 기존의 소프트웨어 TOE 시스템보다 우수한 성능을 제공하는 것을 목적으로 한다.
또한 본 발명은 네트워크적인 부가기능을 멀티코어 네트워크 프로세서에 구현하여 소프트웨어 TOE 기능과 연동되도록 구성하여, 하드웨어 TOE 방식보다 추가적인 기능의 구현이 용이하도록 유연성을 제공하는 것을 목적으로 한다.
또한 본 발명은 간단하게 TOE 파라미터를 이용하여 네트워크 부가기능을 구현할 수 있도록 하여, 멀티코어 네트워크 프로세서에 최적화된 소프트웨어로 구현하므로 기존 소프트웨어 TOE보다 우수한 성능을 가지고, 하드웨어 TOE 방식 보다 부가기능 추가가 용이하며, TOE와 부가기능의 연동이 쉽도록 구현이 가능하도록 하는 것을 목적으로 한다.
또한 본 발명은 구체적으로 종래의 소켓에서 처리하거나 개발해야 할 기능을 TOE 기능이 구현되어 있는 멀티코어 기반의 시스템에 추가함으로써, 하드웨어 TOE 방식보다 부가기능 추가가 용이하도록 하고, TOE와 부가기능의 연동이 쉽도록 구성하는 것이 가능하여 어플리케이션의 처리속도를 향상시키도록 하는 것을 목적으로 한다.
본 발명의 일 실시예에 따른 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템은, 복수의 네트워크 인터페이스를 통해서 입력되는 네트워크 부가기능에 대해서 멀티코어 네트워크 프로세서 중에서 로드밸런싱을 수행하는 로드밸런스부; 상기 로드밸런싱 결과에 따라 해당 네트워크 부가기능을 멀티코어 네트워크 프로세서에서 수행하는 부가기능처리부; 및 상기 부가기능에 따라 처리된 결과에 대해서 TCP/IP 프로토콜 처리를 수행하는 TCP/IP처리부;를 포함하며, 상기 네트워크 부가기능은 어플리케이션 프로그램에서 API 파라미터 설정을 통해서 멀티코어의 네트워크 프로세서에서 수행되는 것을 특징으로 한다.
또한 본 발명의 일 실시예에 따른 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템은, 복수의 서버나 호스트를 통해서 입력되는 네트워크 송수신 데이터에 대한 인터페이스를 담당하는 네트워크 인터페이스부;를 더 포함하는 것을 특징으로 한다.
또한 본 발명의 일 실시예에 따른 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템은, TCP/IP처리부에서 처리한 TCP/IP 프로토콜 수행 결과 데이터를 저장하기 위한 시스템 메모리;를 더 포함하는 것을 특징으로 한다.
또한 본 발명의 일 실시예에 따른 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템에서, 상기 네트워크 부가기능은, 어플리케이션 레벨의 보안기능, 네트워크 레벨의 보안기능, 또는 이들의 조합을 포함하는 것을 특징으로 한다.
또한 본 발명의 일 실시예에 따른 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템에서, 상기 보안기능은, FTP, TELNET, HTTP 또는 이들의 조합을 포함하는 프로토콜의 안전성 보장, 서버 인증, 클라이언트 인증, 기밀성 보장 기능을 포함하거나, 공개 및 비밀키 알고리즘을 수행할 수 있거나, 네트워크상의 보안을 위해서 방화벽, 패킷 필터링, 사용자 신분확인, 로깅 및 감시추적, NAT 또는 이들의 조합을 포함한 기능을 수행하거나, 또는 이들의 조합을 포함한 기능을 수행하는 것을 특징으로 한다.
아울러 본 발명의 또 다른 일 실시예에 따른 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템에 대한 제어 방법은, 서버의 어플리케이션 프로그램에서 지정된 호스트에서 오는 패킷만 처리하도록 허용하고 어플리케이션 프로그램의 기능 수행하는 단계; 상기 어플리케이션 프로그램에서 어플리케이션 프로그램의 구동을 시작하면서 TOE 시스템에 필터링 룰을 설정하는 단계; 원격 호스트에서 패킷을 생성하여 어플리케이션 프로그램이 구동되는 서버의 어플리케이션 프로그램으로 전송하는 단계; 및 필터링 룰이 적용된 상기 TOE 시스템은 적어도 하나 이상의 원격 호스트로부터 전달되어온 패킷 중 룰에 부합하는 패킷만 선택적으로 어플리케이션 프로그램에 전달하는 단계;를 포함하는 것을 특징으로 한다.
또한 본 발명의 또 다른 일 실시예에 따른 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템에 대한 제어 방법은, 상기 전송된 패킷이 어플리케이션 프로그램이 구동되는 서버의 인터페이스를 통해서 TOE 시스템에 전달되는 단계;를 더 포함하는 것을 특징으로 한다.
또한 본 발명의 또 다른 일 실시예에 따른 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템에 대한 제어 방법에서, 상기 멀티코어 기반의 TOE 시스템은, 복수의 네트워크 인터페이스를 통해서 입력되는 네트워크 부가기능에 대해서 멀티코어 네트워크 프로세서 중에서 로드밸런싱을 수행하는 로드밸런스부; 상기 로드밸런싱 결과에 따라 해당 네트워크 부가기능을 멀티코어 네트워크 프로세서에서 수행하는 부가기능처리부; 및 상기 부가기능에 따라 처리된 결과에 대해서 TCP/IP 프로토콜 처리를 수행하는 TCP/IP처리부;를 포함하는 것을 특징으로 한다.
또한 본 발명의 또 다른 일 실시예에 따른 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템에 대한 제어 방법은, 상기 네트워크 부가기능은 어플리케이션 프로그램에서 API 파라미터 설정을 통해서 멀티코어의 네트워크 프로세서에서 수행되며, 상기 멀티코어 기반의 TOE 시스템은, 복수의 서버나 호스트를 통해서 입력되는 네트워크 송수신 데이터에 대한 인터페이스를 담당하는 네트워크 인터페이스부; 및 TCP/IP처리부에서 처리한 TCP/IP 프로토콜 수행 결과 데이터를 저장하기 위한 시스템 메모리;를 더 포함하는 것을 특징으로 한다.
또한 본 발명의 또 다른 일 실시예에 따른 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템에 대한 제어 방법에서, 상기 네트워크 부가기능은, 어플리케이션 레벨의 보안기능, 네트워크 레벨의 보안기능, 또는 이들의 조합을 포함하며, 상기 보안기능은, FTP, TELNET, HTTP 또는 이들의 조합을 포함하는 프로토콜의 안전성 보장, 서버 인증, 클라이언트 인증, 기밀성 보장 기능을 포함하거나, 공개 및 비밀키 알고리즘을 수행할 수 있거나, 네트워크상의 보안을 위해서 방화벽, 패킷 필터링, 사용자 신분확인, 로깅 및 감시추적, NAT 또는 이들의 조합을 포함한 기능을 수행하거나, 또는 이들의 조합을 포함한 기능을 수행하는 것을 특징으로 한다.
본 발명은 소프트웨어적인 네트워크 부가기능을 추가하기 용이한 멀티코어 기반의 TOE 시스템 및 그 방법에 관한 것으로, 네트워크 트래픽에 대한 부가적인 제어 기능의 추가를 용이하게 하는 TOE 제공 시스템을 멀티코어 프로세스로 구성하여 TOE 본래의 기능에 대한 처리 성능을 향상시키고, TOE 기능을 수행함과 동시에 네트워크 트래픽 제어 기능을 수행하게 함으로써 부가적인 네트워크 기능의 확장 및 연동을 용이하게 구현할 수 있도록 해 주는 것에 관한 것이다. 즉, 본 발명은 TOE 파라미터를 이용하여 네트워크 부가기능을 구현할 수 있도록 하여, 멀티코어 네트워크 프로세서에 최적화된 소프트웨어로 구현하므로 기존 소프트웨어 TOE보다 우수한 성능을 가지고, 하드웨어 TOE 방식보다 부가기능 추가가 용이하며, TOE와 부가기능의 연동이 쉽도록 구현이 가능하도록 하는 효과가 있다. 다시 말해서, 본 발명은 소켓에서 처리하거나 개발해야 할 기능을 TOE 기능이 구현되어 있는 멀티코어 기반의 시스템에 추가함으로써, 하드웨어 TOE 방식보다 부가기능 추가가 용이하도록 하고, TOE와 부가기능의 연동이 쉽도록 구현 가능하여 어플리케이션의 처리속도를 향상시키도록 하는 효과가 있다.
도 1은 종래 기술에 의한 (a) 서버에서의 TCP/IP 프로토콜에 대한 처리 구조, (b) TOE를 이용한 TCP/IP 프로토콜의 처리 구조, 및 (c) 본 발명의 일 실시예에 따른 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템의 처리 흐름을 설명하기 위한 개념도.
도 2는 본 발명의 일 실시예에 따른 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템에 대한 블록도.
도 3은 본 발명의 일 실시예에 따른 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템에서 TCP/IP 프로토콜과 네트워크 부가기능의 처리에 대한 흐름도.
도 4는 본 발명의 일 실시예에 따른 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템에서 TOE 파라미터를 이용한 네트워크 부가기능의 동시수행을 위한 흐름도.
이하, 첨부된 도면을 참조하여 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템 및 그 제어 방법의 일 실시예를 설명한다.
도 1은 종래 기술에 의한 (a) 서버에서의 TCP/IP 프로토콜에 대한 처리 구조, (b) TOE를 이용한 TCP/IP 프로토콜의 처리 구조, 및 (c) 본 발명의 일 실시예에 따른 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템의 처리 흐름을 설명하기 위한 개념도이다.
도 1의 (a)와 (b)에 도시된 바와 같이, 종래 기술에 따른 서버에서의 TCP/IP 처리 구조는 서버나 호스트 컴퓨터에서 어플리케이션 프로그램을 실행할 때 OS 레벨의 소켓 인터페이스를 통해서 TCP/IP 프로토콜을 처리하고 그 결과는 다시 N/W(network) 카드의 물리계층(PHY)과 미디어 액세스(MAC)을 통해서 클라이언트 혹은 다른 서버나 호스트 컴퓨터와 통신을 수행하게 되는 구조를 가지고 있었다.
무어의 법칙에 따르면 CPU의 성능은 18개월에 약 2배가 증가하지만, 실제로 네트워크의 대역폭은 12개월에 약 3배가 증가하고 있다. 1bps를 처리하기 위해서는 약 1Hz의 CPU 클럭이 필요하다는 법칙에 따르면 10Gbps를 전이중(full-duplex)으로 처리하려면 20GHz의 CPU 클럭이 필요하다는 계산이 나온다. 이러한 처리방식으로는 늘어나는 네트워크 트래픽에 원활하게 대처할 수 없다.
이러한 결과로, 최근에는 도 1의 (b)에 도시된 바와 같이, TOE를 이용하여 TCP/IP 프로토콜의 처리하는 구조를 통해서 늘어나는 트래픽에 대처하고 있다. 즉, TOE는 호스트에서 이루어지던 TCP/IP 프로토콜 처리를 네트워크 어댑터(예: NIC 카드)가 담당하도록 함으로써 호스트 CPU의 부담을 덜어주어 CPU 자원의 활용성을 높이고자 한 것이다.
TOE는 그 구현 방법에 따라 하드웨어 기반 TOE와 소프트웨어 기반 TOE로 나누어 볼 수 있다. 하드웨어 기반 TOE는 성능은 우수한 반면 iSCSI, HTTP, RDMA등과 같은 새로운 응용 계층을 TOE상에 추가하기 힘든 유연성의 단점이 있다. 이와는 반대로 소프트웨어 기반 TOE는 하드웨어 방식보다 성능은 떨어지지만 유연성에서의 장점이 있다. 소프트웨어 기반 TOE는 또 다시 임베디드 운영체제를 사용하여 구현하는 방법이 있고, 운영체제 없이 전용 프로그램을 개발하여 구현하는 방법이 있다. 임베디드 운영체제를 사용하여 구현하는 방법은 그 구현이 용이하지만, 성능이 낮은 단점이 있다. 그리고 운영체제 없이 전용 프로그램을 개발하여 구현하는 방법은 유연성과 성능상의 이점을 고려한 방식이라 할 수 있다.
하드웨어 기반 TOE는 ASIC을 이용하여 TCP/IP를 처리하는 전용 칩을 개발을 통해 구현되는데, 내장된 여러 개의 하드웨어 유닛들을 사용하여 TCP/IP를 병렬로 처리하는 것이 가능하다. 또한 TCP/IP를 완전히 오프로딩하지 않고, 가장 일반적인 데이터 패스 부분만 오프로딩하는 방식이 있다.
소프트웨어 기반 TOE는 ARM이나 XScale등과 같은 임베디드 프로세서를 바탕으로 한 임베디드 시스템 상에서 소프트웨어로 구현될 수 있으며, 예컨대 200MHz의 StrongARM 프로세서를 사용하여 TCP/IP 프로토콜을 전용 프로그램으로서 처리할 수 있다. 임베디드 시스템 상에서 TCP/IP 프로토콜을 소프트웨어적으로 처리하는 방법은 다음과 같은 두 가지 방법이 있다. 첫 번째 방법은 임베디드 운영체제에 내장된 TCP/IP 코드를 사용하는 것이며, 예를 들어 임베디드 리눅스나 VxWorks와 같은 임베디드 시스템 전용 운영체제에 내장된 TCP/IP를 처리하는 코드를 이용한다. 두 번째 방법은 운영체제 없이 독자적으로 TCP/IP를 처리하는 소프트웨어를 사용하는 것이다. 이와 같은 소프트웨어의 대표적인 예는 Lightweight TCP/IP(lwIP) 스택이 있다. lwIP는 자원이 제한된 소형 임베디드 시스템을 위해서 개발이 되었기 때문에 메모리 사용을 최소화하는데 목적을 두고 있다.
TOE는 서버나 호스트의 어플리케이션 프로그램에서 소켓 라이브러리의 함수를 호출하면 그 명령을 서버나 호스트에서 TCP/IP를 처리할 경우, BSD 소켓 계층, INET 소켓 계층, TCP/IP 계층을 거쳐 디바이스 계층으로 전달되게 되어있다. 기존의 소켓 어플리케이션 프로그램은 소켓을 생성하는 socket()함수의 파라미터로 TOE를 정의하기만 하면 TOE 기능을 사용할 수 있게 된다. TOE를 이용하는 프로그램 코드들은 디바이스 계층에 구현된 소켓 함수들을 직접 호출하고 그 결과를 돌려받는 형식을 취한다.
도 1의 (c)에 도시된 바와 같이, 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티모어 기반의 TOE 시스템(10)의 처리구조를 보면, 기존의 어플리케이션 프로그램에서 수행하던 네트워크 부가기능을 어플리케이션 프로그램에서 수행하도록 하는 것이 아니라, TOE 기능이 구현되어 있는 멀티코어 기반의 시스템에서 수행하도록, 소켓함수의 파라미터를 정해줄 수 있도록 하여 어플리케이션 프로그램(100)을 간략화하는 것을 특징으로 한다. 이 경우에는 어플리케이션 프로그램 코드를 작성할 때 복잡하게 작성하여 오류를 유발하지 않도록 소켓 함수에 미리 정의된 파라미터를 사용하여 어플리케이션 프로그램을 간략화할 수 있다.
간략화된 어플리케이션 프로그램(100)은 OS 레벨의 소켓 인터페이스(200)를 거쳐서 TOE 시스템(300)으로 전달되게 된다. 여기서 소켓 인터페이스는 종래의 소켓 인터페이스와 동일하므로 그 설명을 생략하도록 한다.
TOE는 이전에서 설명하였듯이 네트워크 카드에서 하드웨어적으로 구현하는 것도 가능하고, 별도의 프로세서를 사용하여 소프트웨어적으로 처리하는 것도 가능하다.
본 발명에서는 종래에 어플리케이션 프로그램에서 처리하던 네트워크 부가기능을 미리 TOE 시스템에 마련한 다음, 어플리케이션 프로그램으로부터 파라미터를 넘겨 받아 해당하는 부가기능을 멀티코어의 네트워크 프로세서에서 처리하도록 구성한다. 또한 멀티코어의 네트워크 프로세서 중 일부 프로세서는 다수의 TCP/IP 프로코톨을 처리하도록 구성할 수 있다. 따라서 네트워크에서 입력된 트래픽은 로드 밸런싱을 통해서 멀티코어 중 해당하는 부분에 할당되어 처리하도록 구성된다. 이때 부가기능에 대해서도 로드 밸런싱되어 특정 프로세서 코어에 업무가 할당되어 처리된다.
이러한 방식으로 어플리케이션 프로그램을 간략화할 수 있고, 이렇게 간략화된 어플리케이션 프로그램은 그 자체로서 컴파일이나 실행시간을 단축시키는 효과가 있다. 아울러 복잡한 처리를 필요로 하는 네트워크 부가기능을 전용 프로세서에 할당하여 처리하도록 함으로써, 소프트웨어의 유연성과 하드웨어의 처리속도 향상이라는 두 가지 목적을 일정부분 달성할 수 있다.
도 2는 본 발명의 일 실시예에 따른 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템에 대한 블록도이다.
도 2에 도시된 바와 같이, 본 발명의 따른 TOE 시스템은 로드밸런스부(321), 부가기능처리부(322) 및 TCP/IP처리부(323)를 포함하는 TOE 모듈(320)로 구성되고, 상기 TOE 모듈(320)은 네트워크 송수신 데이터와의 네트워크 인터페이스를 담당하는 네트워크 인터페이스부(310) 및 시스템 메모리(350)를 더 포함하여 구성될 수 있다. 여기서 네트워크 인터페이스부(310)와 시스템 메모리(350)는 TOE 시스템에서 제외되도록 하여 구성하는 것도 가능하다.
일단 서버나 호스트상의 어플리케이션 프로그램에서 특정 네트워크 부가기능에 대해 미리 정해진 파라미터를 가진 소켓 함수가 호출되면, 적어도 하나 이상의 서버나 호스트로부터 네트워크 송수신 데이터가 TOE 시스템으로 전달되어 오게 되며, 이 데이터들은 네트워크 인터페이스부(310)를 통해서 로드밸런스부(321)로 전달된다.
상기 로드밸런스부(321)는 전달된 각종 네트워크 부가기능 파라미터를 참조하여 멀티코어의 네트워크 프로세서들에게 각각 해당 부가기능을 수행하도록 작업을 할당하게 된다. 이에 따라서 멀티코어의 네트워크 프로세서에 마련된 네트워크 부가기능에 대한 전용 처리 프로그램이 수행되게 되고, 이를 바탕으로 클라이언트나 또 다른 서버나 호스트에게 TCP/IP 프로토콜을 통해서 해당 데이터를 전달하거나 수신하게 된다. 이러한 역할을 수행하는 것이 부가기능처리부(322)와 TCP/IP처리부(323)이다. 상기 로드밸런스부(321), 부가기능처리부(322) 및 TCP/IP처리부(322)는 각각 멀티코어의 네트워크 프로세서 중에서 각각 할당되어 그 작업을 수행하게 된다.
TCP/IP처리부(323)에서 처리한 데이터는 시스템 메모리(350) 저장되거나, 또 다시 네트워크 인터페이스를 통해서 다른 서버나 호스트로 전송되게 된다.
여기서 네트워크 부가기능에는 보안기능이 포함되며, FTP, TELNET, HTTP 등의 프로토콜의 안전성 보장, 서버 인증, 클라이언트 인증, 기밀성 보장 등의 기능을 포함하고, 공개 및 비밀키 알고리즘을 수행할 수 있으며, 네트워크상의 보안을 위해서 패킷 필터링, 사용자 신분확인, 로깅 및 감시추적, NAT 등의 기능을 수행하는 침입차단시스템을 가동할 수 있다. 즉, NAT, 패킷 필터링, 경계 네트워크, 프록시, 베스천(bastion) 호스트 기술이 사용될 수 있다. 방화벽의 유형으로는 패킷 필터링 방화벽, 상태기반 검사 방화벽, 프록시 방화벽 등을 지원한다.
반드시 여기서 언급되지 않더라도, 어플리케이션 프로그램이나 네트워크 보안과 관련한 각종 부가기능이 멀티코어의 네트워크 프로세서에 할당되어 처리되는 것이 가능함은 자명한 것으로 볼 수 있다.
다음은 본 발명에 따른 멀티코어 네트워크 프로세서 기반 TOE 및 부가기능 처리에 대한 프로토콜상의 처리 흐름에 대해서 설명하도록 한다.
도 3은 본 발명의 일 실시예에 따른 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템에서 TCP/IP 프로토콜과 네트워크 부가기능의 처리에 대한 흐름도이다.
도 3에 도시된 바와 같이, 서버에서 데이터를 송신하고자 SYN 메시지를 클라이언ㅌ로 보내면, 중간에서 TOE가 MSS(메시지 스트림 사이즈와 서버의 시퀀스 번호(Sequence Number, SN)를 보고 셋업 절차를 수행하게 된다. 또한 SYN 메시지를 클라이언트로 전송하게 된다. 클라이언트는 다시 서버로 SYN-ACK 신호를 송신하게 되며, 이때 TOE 시스템은 클라이언트의 MSS와 클라이언트의 SN를 해석하고 SYN-ACK를 서버로 송신한다. 다음으로 서버에서 데이터 세그먼트를 수신하며, 이는 클라이언트로 패스되도록 한다. 이때 TOE 시스템은 서버로 상기 데이터 세그먼트에 대한 ACK 신호를 송신하고, 전송에 실패하면 재전송하는 절차를 수행하게 된다. 한편, 클라이언트에서도 상기 데이터 세그먼트에 대한 수신 ACK 신호를 보내게 되는데, 이때 TOE 시스템은 재전송 타임아웃, 재전송 버퍼에서 데이터 세그먼트 제거 등의 처리를 수행하게 된다. 또한 클라이언트로부터의 데이터 세그먼트는 클라이언트로부터 TOE 시스템을 거쳐서 서버로 전송된다. 이 과정에서 TOE는 시퀀스 번호를 트랜슬레이션하는 과정을 수행한다. 다음으로 서버와 클라이언트는 데이터 세그먼트의 송수신을 완료하고 FIN 메시지를 주고받게 된다. 이러한 과정을 통해서 TOE가 개입한 서버와 클라이언트 사이의 TCP/IP 프로토콜 처리가 완료된다.
이 과정에서 본 발명에 따른 TOE 시스템은 어플리케이션과 네트워크 레벨의 보안기능을 포함한 네트워크 부가기능을 멀티코어의 네트워크 프로세서에서 수행하게 된다.
이러한 TCP/IP 프로토콜의 처리를 기반으로 이하에서는 본 발명에 따른 소프트웨어적인 네트워크 부가기능의 처리에 대해서 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따른 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템에서 TOE 파라미터를 이용한 네트워크 부가기능의 동시수행을 위한 흐름도이다.
먼저 어플리케이션 프로그램 개발자가 소켓 인터페이스를 사용해서 어플리케이션 프로그램 코드를 작성하고, 해당 프로그램을 실행하게 된다. 이때 어플리케이션 프로그램은 지정된 호스트에서 오는 패킷에 대한 처리만 허용하도록 하므로, 어플리케이션 프로그램은 지정된 호스트를 필터링 하기 위한 코드를 작성하지 않아도 된다. 즉, 서버의 어플리케이션 프로그램에서 지정된 호스트에서 오는 패킷만 처리하도록 허용하고 어플리케이션 프로그램의 기능 수행한다(S110).
다음으로, 상기 어플리케이션 프로그램에서는 구동을 시작하면서 TOE에 필터링 룰을 설정하게 된다(S120). 그리고 원격 호스트에서는 패킷을 생성하여 서버의 어플리케이션 프로그램으로 전송하게 된다(S130). 이 때 전송된 패킷은 어플리케이션 프로그램이 구동되는 서버의 인터페이스를 통해서 TOE에 전달되게 된다(S140). 그 후 필터링 룰이 적용된 TOE는 다수의 원격 호스트로부터 전달되어온 패킷 중 룰에 부합하는 패킷만 선택적으로 어플리케이션 프로그램에 전달하도록 한다(S150).
이와 같은 과정을 통해서 필터링 된 패킷만 들어오는 것이 보장됨으로써 패킷 필터링에 대한 코드의 작용 없이 어플리케이션 프로그램은 해당하는 로직을 수행하게 된다.
이와 같은 필터링 룰은 예를 들어, "ALLOW HTTP 10.0.0.1/24 *CALLBACK" , "DROP 192.168.1.100/24 *CALLBACK"과 같이 설정할 수 있다.
기존 방식에서는 서버의 어플리케이션 프로그램들에 패킷 필터링에 관련된 코드가 어플리케이션 프로그램의 내부에 삽입되어 그 기능을 수행해야 하므로 중요 어플리케이션 로직과 필터링을 위한 코드가 함께 작성되므로 전체적인 구조가 복잡해지고 버그를 유발할 가능성이 있었지만, 본 발명에서는 그 원인을 제거할 수 있어 어플리케이션 프로그램을 간략하게 구성하는 것이 가능하다.
한편, 본 소켓에서 처리하거나 개발해야 할 기능을 TOE 기능이 구현되어 있는 멀티코어 기반의 시스템에 추가하는 것이 가능하다. 이 과정은 먼저 어플리케이션 개발자가 소켓 인터페이스를 사용해서 어플리케이션 프로그램 코드를 작성하며, 해당 소켓 인터페이스는 멀티코어 네트워크 프로세서에서 실행되도록 구현된 소켓 인터페이스를 이용한다. 이 때 어플리케이션 프로그램은 TOE 기능을 이용하기 위한 코드를 별도로 작성할 필요가 없으며, TOE 사용 여부에 대한 룰만 설정한다. 소켓 생성 요청을 받은 소켓 생성 API(Application Program Interface)는 응용 프로그램이 지정한 룰에 따라 TOE용 소켓 디스크립터를 생성할지 아니면 일반적인 TCP/IP 소켓 디스크립터를 생성할지 판단 후 요청에 맞는 디스크립터를 생성한다.
소켓 생성은 "SOCKET_MC_TOE(PF_INET, SOCK_MC_TOE, 0)"와 같이 작성할 수 있다.
기존 방식은 소켓 생성 인터페이스를 호출시 호스트 영역과 임베디드 시스템 간의 인터럽트로 인한 딜레이가 발행하였지만, 소켓 생성 인터페이스 부분을 TOE와 함께 멀티코어 네트워크 프로세서에서 실행되도록 수정하여, 본 발명으로 인해서 그 원인을 제거할 수 있는 장점이 있다.
이상에서 살펴본 바와 같이, 멀티코어 네트워크 프로세서를 이용한 TOE 시스템에서 어플레케이션 프로그램에서 수행할 수 있도록 다양한 API를 제공하고, 이를 통해서 개발자는 손쉽게 원하는 어플리케이션을 개발하여 효율적으로 실행할 수 있다.
이상에서 본 발명의 바람직한 실시 예에 대해서 도면을 참조하여 설명하였으나, 본 발명은 상기의 실시 예에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능할 것이므로, 본 발명의 범위는 상기에서 설명된 실시 예에 국한되어서 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이와 균등한 것들을 포함하여 결정되어야 한다.
10 : 멀티코어 기반의 TOE 시스템 100 : 간략화된 어플리케이션
200: 소켓 인터페이스 300: TOE 시스템
400: 네트워크 카드 310: 네트워크 인터페이스
320: TOE 모듈 321: 로드밸런스부
322: 부가기능처리부 323: TCP/IP처리부
350: 시스템 메모리

Claims (10)

  1. 복수의 네트워크 인터페이스를 통해서 입력되는 어플리케이션 레벨의 보안기능, 네트워크 레벨의 보안기능, 또는 이들의 조합을 포함하는 네트워크 부가기능에 대해서 멀티코어 네트워크 프로세서에 마련된 네트워크 부가기능에 대한 전용 처리 프로그램을 수행하도록 로드밸런싱을 수행하는 로드밸런스부;
    상기 로드밸런싱을 수행한 결과에 따라 해당 네트워크 부가기능을 멀티코어 네트워크 프로세서에서 네트워크 부가기능에 대한 전용 처리 프로그램을 수행하는 부가기능처리부; 및
    상기 부가기능에 따라 처리된 결과에 대해서 TCP/IP 프로토콜 처리를 수행하는 TCP/IP처리부;를 포함하며,
    상기 네트워크 부가기능은 어플리케이션 프로그램에서 API 파라미터 설정을 통해서 멀티코어의 네트워크 프로세서에서 수행되는 것을 특징으로 하는 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템.
  2. 청구항 1에 있어서,
    상기 멀티코어 기반의 TOE 시스템은,
    복수의 서버나 호스트를 통해서 입력되는 네트워크 송수신 데이터에 대한 인터페이스를 담당하는 네트워크 인터페이스부;를 더 포함하는 것을 특징으로 하는 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템.
  3. 청구항 1에 있어서,
    상기 멀티코어 기반의 TOE 시스템은,
    TCP/IP처리부에서 처리한 TCP/IP 프로토콜 수행 결과 데이터를 저장하기 위한 시스템 메모리;를 더 포함하는 것을 특징으로 하는 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템.
  4. 삭제
  5. 청구항 1에 있어서,
    상기 보안기능은,
    FTP, TELNET, HTTP 또는 이들의 조합을 포함하는 프로토콜의 안전성 보장, 서버 인증, 클라이언트 인증, 기밀성 보장 기능을 포함하거나,
    공개 및 비밀키 알고리즘을 수행할 수 있거나,
    네트워크상의 보안을 위해서 방화벽, 패킷 필터링, 사용자 신분확인, 로깅 및 감시추적, NAT 또는 이들의 조합을 포함한 기능을 수행하거나,
    또는 이들의 조합을 포함한 기능을 수행하는 것을 특징으로 하는 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템.
  6. 복수의 네트워크 인터페이스를 통해서 입력되는 어플리케이션 레벨의 보안기능, 네트워크 레벨의 보안기능, 또는 이들의 조합을 포함하는 네트워크 부가기능에 대해서 멀티코어 네트워크 프로세서에 마련된 네트워크 부가기능에 대한 전용 처리 프로그램을 수행하도록 로드밸런싱을 수행하는 로드밸런스부, 상기 로드밸런싱을 수행한 결과에 따라 해당 네트워크 부가기능을 멀티코어 네트워크 프로세서에서 네트워크 부가기능에 대한 전용 처리 프로그램을 수행하는 부가기능처리부 및 상기 부가기능에 따라 처리된 결과에 대해서 TCP/IP 프로토콜 처리를 수행하는 TCP/IP처리부를 포함하며, 상기 네트워크 부가기능은 어플리케이션 프로그램에서 API 파라미터 설정을 통해서 멀티코어의 네트워크 프로세서에서 수행되는 것을 특징으로 하는 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템의 제어 방법에 있어서,
    서버의 어플리케이션 프로그램에서 지정된 호스트에서 오는 패킷만 처리하도록 허용하고 어플리케이션 프로그램의 기능을 수행하는 단계;
    상기 어플리케이션 프로그램에서 어플리케이션 프로그램의 구동을 시작하면서 TOE 시스템에 필터링 룰을 설정하는 단계;
    원격 호스트에서 패킷을 생성하여 어플리케이션 프로그램이 구동되는 서버의 어플리케이션 프로그램으로 전송하는 단계; 및
    필터링 룰이 적용된 상기 TOE 시스템은 적어도 하나 이상의 원격 호스트로부터 전달되어온 패킷 중 룰에 부합하는 패킷만 선택적으로 어플리케이션 프로그램에 전달하는 단계;를 포함하는 것을 특징으로 하는 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템의 제어 방법.
  7. 청구항 6에 있어서,
    상기 멀티코어 기반의 TOE 시스템의 제어 방법은,
    상기 전송된 패킷이 어플리케이션 프로그램이 구동되는 서버의 인터페이스를 통해서 TOE 시스템에 전달되는 단계;를 더 포함하는 것을 특징으로 하는 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템의 제어 방법.
  8. 삭제
  9. 청구항 6에 있어서,
    상기 멀티코어 기반의 TOE 시스템은,
    복수의 서버나 호스트를 통해서 입력되는 네트워크 송수신 데이터에 대한 인터페이스를 담당하는 네트워크 인터페이스부; 및
    TCP/IP처리부에서 처리한 TCP/IP 프로토콜 수행 결과 데이터를 저장하기 위한 시스템 메모리;를 더 포함하는 것을 특징으로 하는 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템의 제어 방법.
  10. 청구항 6에 있어서,
    상기 보안기능은,
    FTP, TELNET, HTTP 또는 이들의 조합을 포함하는 프로토콜의 안전성 보장, 서버 인증, 클라이언트 인증, 기밀성 보장 기능을 포함하거나,
    공개 및 비밀키 알고리즘을 수행할 수 있거나,
    네트워크상의 보안을 위해서 방화벽, 패킷 필터링, 사용자 신분확인, 로깅 및 감시추적, NAT 또는 이들의 조합을 포함한 기능을 수행하거나,
    또는 이들의 조합을 포함한 기능을 수행하는 것을 특징으로 하는 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 TOE 시스템의 제어 방법.
KR1020140078968A 2014-06-26 2014-06-26 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 toe 시스템 및 그 제어 방법 KR101577034B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140078968A KR101577034B1 (ko) 2014-06-26 2014-06-26 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 toe 시스템 및 그 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140078968A KR101577034B1 (ko) 2014-06-26 2014-06-26 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 toe 시스템 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR101577034B1 true KR101577034B1 (ko) 2015-12-14

Family

ID=55020994

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140078968A KR101577034B1 (ko) 2014-06-26 2014-06-26 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 toe 시스템 및 그 제어 방법

Country Status (1)

Country Link
KR (1) KR101577034B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200061286A (ko) * 2018-11-23 2020-06-02 한국과학기술원 프록시 서버에서 프록시 서버 기능을 호스트에서 네트워크 어댑터로 동적으로 이양하는 방법 및 이를 수행하는 프록시 서버

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007183738A (ja) * 2006-01-05 2007-07-19 Sony Corp 情報処理装置および方法、並びにプログラム
JP2010063110A (ja) * 2002-06-06 2010-03-18 Nvidia Corp Iscsiおよびipsecプロトコルをサポートするギガビットイーサネットアダプタ

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010063110A (ja) * 2002-06-06 2010-03-18 Nvidia Corp Iscsiおよびipsecプロトコルをサポートするギガビットイーサネットアダプタ
JP2007183738A (ja) * 2006-01-05 2007-07-19 Sony Corp 情報処理装置および方法、並びにプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200061286A (ko) * 2018-11-23 2020-06-02 한국과학기술원 프록시 서버에서 프록시 서버 기능을 호스트에서 네트워크 어댑터로 동적으로 이양하는 방법 및 이를 수행하는 프록시 서버
KR102151987B1 (ko) 2018-11-23 2020-09-04 한국과학기술원 프록시 서버에서 프록시 서버 기능을 호스트에서 네트워크 어댑터로 동적으로 이양하는 방법 및 이를 수행하는 프록시 서버

Similar Documents

Publication Publication Date Title
EP3675432B1 (en) Intelligent and dynamic overlay tunnel formation via automatic discovery of citrivity/sdwan peer in the datapath in a pure plug and play environment with zero networking configuration
US11146665B2 (en) Methods and apparatus for sharing and arbitration of host stack information with user space communication stacks
US9588807B2 (en) Live logical partition migration with stateful offload connections using context extraction and insertion
US8830870B2 (en) Network adapter hardware state migration discovery in a stateful environment
US8156230B2 (en) Offload stack for network, block and file input and output
US9473596B2 (en) Using transmission control protocol/internet protocol (TCP/IP) to setup high speed out of band data communication connections
US20180210752A1 (en) Accelerator virtualization method and apparatus, and centralized resource manager
EP2824880B1 (en) Flexible offload of processing a data flow
US11611545B2 (en) RDP proxy support in presence of RDP server farm with session directory or broker
US11431681B2 (en) Application aware TCP performance tuning on hardware accelerated TCP proxy services
WO2011096307A1 (ja) プロキシ装置とその動作方法
US20220261270A1 (en) Reusing software application containers
EP3070633A1 (en) Network interface devices with remote storage control
KR101577034B1 (ko) 소프트웨어적인 네트워크 부가기능 추가가 용이한 멀티코어 기반의 toe 시스템 및 그 제어 방법
US20230247005A1 (en) Proxy offload to network interface device
CN113419810A (zh) 数据交互方法、装置、电子设备及计算机存储介质
CN114500470A (zh) 一种数据包处理方法及装置

Legal Events

Date Code Title Description
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee