KR100530856B1 - 임베디드 시스템을 위한 고속 데이터 처리 기능을 가지는통신방법 및 그 장치 - Google Patents

임베디드 시스템을 위한 고속 데이터 처리 기능을 가지는통신방법 및 그 장치 Download PDF

Info

Publication number
KR100530856B1
KR100530856B1 KR1020050039168A KR20050039168A KR100530856B1 KR 100530856 B1 KR100530856 B1 KR 100530856B1 KR 1020050039168 A KR1020050039168 A KR 1020050039168A KR 20050039168 A KR20050039168 A KR 20050039168A KR 100530856 B1 KR100530856 B1 KR 100530856B1
Authority
KR
South Korea
Prior art keywords
data
processing
tcp
hardware
protocol
Prior art date
Application number
KR1020050039168A
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 KR1020050039168A priority Critical patent/KR100530856B1/ko
Application granted granted Critical
Publication of KR100530856B1 publication Critical patent/KR100530856B1/ko
Priority to JP2008511044A priority patent/JP5091121B2/ja
Priority to PCT/KR2006/001552 priority patent/WO2006121247A1/en
Priority to US11/914,130 priority patent/US20080192741A1/en
Priority to GB0721939A priority patent/GB2439708A/en

Links

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/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
    • 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]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • 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
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 임베디드 시스템을 위한 고속 데이터 처리 기능을 가지는 통신방법 및 그 장치에 관한 것으로서, 소프트웨어 TCP/IP가 탑재된 OS와 호스트 인터페이스를 통해서 연결되어 통신처리를 하는 MAC처리장치에, 하드웨어 TCP/IP처리 및 소켓 판단수단을 더 포함시켜 구성하고, 데이터 송신시, 어플리케이션 인터페이스 장치가 송신할 데이터의 포트 번호를 체크하여 미리 설정한 하드웨어 처리용 데이터인 경우 상기 OS를 거치지 않고 직접 상기 하드웨어 TCP/IP처리 수단에서 송신 데이터의 TCP/IP프로토콜을 처리하고, 상기 하드웨어 처리용 데이터 포트 번호가 아닌 경우 상기 OS에서 소프트웨어 방식으로 TCP/IP 프로토콜을 처리하며, 데이터 수신시, 상기 소켓 판단수단이 수신데이터의 포트 번호를 판단하여 상기 미리 설정한 포트 번호의 하드웨어 처리용 데이터인 경우, 상기 하드웨어 TCP/IP 처리수단에서 직접 TCP/IP프로토콜을 처리한 후 수신 데이터를 상기 어플리케이션으로 직접 인터페이스 하며, 하드웨어 처리용 포트 번호의 데이터가 아닌 경우, 상기 OS에서 소프트웨어 TCP/IP프로토콜을 처리하도록 인터페이스 시키는 것을 특징으로 한다.

Description

임베디드 시스템을 위한 고속 데이터 처리 기능을 가지는 통신방법 및 그 장치{HIGH SPEED DATA PROCESSING COMMUNICATION METHOD AND APPARATUS FOR EMBEDDED SYSTEM}
본 발명은 임베디드 시스템을 위한 고속 데이터 처리 기능을 가지는 통신장치에 관한 것으로, 더욱 상세하게는 임베디드 시스템이 인터넷통신이 가능하도록 하는 기존의 통신장치와 달리 하드웨어로 통신 프로토콜을 처리하는 고속 하드웨어 소켓을 이용한 고속 통신 기능을 가지는 통신장치에 관한 것이다.
일반적으로 인터넷 통신을 위한 통신장치는 통상의 맥(MAC)칩을 이용하고 OS에 설치되는 소프트웨어 TCP/IP에 의해 통신을 하고 있다.
도 1은 종래 소프트웨어 TCP/IP방식 네트워크 통신장치의 설명도이다.
이에 도시된 바와 같이, 통신장치는, 물리계층(10)과 Mll 인터페이스로 연결되고 일명 맥(MAC)칩이라고 하는 통신장치(20)와, 그 통신장치(20)와는 호스트 인터페이스로 연결되고 시스템의 통신 제어를 위한 소프트웨어 TCP/IP가 탑재된 OS계층(30)으로 구성되고, 그 OS계층(30)이 어플리케이션(Applications)계층과 소켓 인터페이스로 연결되어 통신처리를 하게 된다.
도 1에서는 데이터 송신을 예시한 것으로서, 어플리케이션에서 데이터 송신을 하기 위해 소켓 인터페이스를 통해서 OS계층(30)으로 '데이터'를 전달하면, 그 OS계층(30)의 소프트웨어 TCP/IP가 IP프로토콜과, TCP프로토콜에 의거하여 'IP헤더', 'TCP헤더'를 생성하여 '데이터'와 정합시키고, 그 데이터 패킷을 호스트 인터페이스를 통해서 통신장치(20)에 전달하면 통신장치는 물리헤더를 상기 데이터 패킷에 더 정합시켜 '물리헤더+IP헤더+TCP헤더+데이터'로 정합된 전송데이터 패킷을 생성하여 Mll인터페이스를 통해 물리계층(10)으로 전달하면 그 물리계층(10)에서 인터넷으로 데이터 패킷을 전송하게 된다.
반대로 데이터 수신시에는 '물리헤더+IP헤더+TCP헤더+데이터'로 이루어진 네트워크 데이터 패킷을 물리계층(10)에서 수신받아 통신장치(20)에서 '물리헤더'를 분리 처리하고, OS계층(30)의 소프트웨어 TCP/IP에서 IP프로토콜과 TCP프로토콜에 의거하여 'IP헤더'와 'TCP헤더'를 분리 처리하고 '데이터'만을 소켓 인터페이스를 통해서 어플리케이션으로 넘겨주게 된다.
그러나 종래의 소프트웨어 TCP/IP 방식 네트워크 통신장치는, 맥칩인 통신장치(20)는 입력된 네트워크 패킷 데이터에서 물리헤더만을 덧붙이거나 분리하고 나머지 데이터 패킷을 단순히 전달하는 역할만 수행한다. 그러므로 네트워크를 통한 통신에 필수적인 통신 프로토콜의 처리는 호스트 시스템 즉, OS계층(30)으로 넘겨지게 된다. 임베디드 시스템은 기존의 PC 시스템과 달리 호스트 시스템의 자원이 매우 한정적이기 때문에 통신 프로토콜의 처리는 시스템에 큰 부하를 주게 되어 다른 어플리케이션의 수행에 문제를 줄 뿐만 아니라 통신속도 역시 크게 저하된다.
특히 멀티미디어 어플리케이션의 증가로 임베디드 시스템의 시스템 부하 문제와 통신 속도 문제를 해결할 수 있는 고속의 데이터 처리기능을 가지는 임베디드 시스템을 위한 통신장치가 필요하다.
상기 도 1에 도시된 바와 같이 통상의 통신장치인 MAC칩을 이용하고 OS의 TCP/IP가 통신 프로토콜을 처리하는 경우, 소프트웨어 TCP/IP는 OS에 포함되어 있으며, 프로토콜의 수정을 쉽게 처리하고, 추가적인 하드웨어가 필요 없다는 장점이 있다.
그렇지만, 프로세서의 처리능력이 요구되고, OS가 필수적으로 필요하며, 프로토콜 처리 속도에 한계가 있다는 단점이 있다.
한편, 소프트웨어 TCP/IP의 단점을 개선하고자 하드웨어로서 TCP/IP를 구현하여 MAC칩과 함께 일체형으로 구현한 하드웨어 TCP/IP가 제안되었다. 그예로 본 출원인이 특허 출원한 대한민국특허출원 2002-19062호 '하드웨어 프로토콜 프로세싱 로직으로 구현된 인터넷 프로토콜 통신장치 및 그 통신장치를 통한 데이터 병렬처리방법'가 있다.
도 2는 종래 하드웨어 TCP/IP방식 네트워크 통신장치의 설명도이다.
이에 도시된 바와 같이, 물리계층(10)과 Mll 인터페이스로 연결되고 맥(MAC)칩과 TCP/IP처리부를 하드웨어로 구현한 하드웨어 TCP/IP 통신장치(40)와, 그 하드웨어 TCP/IP통신장치(40)와는 호스트 인터페이스로 연결되고 시스템의 어플리케이션(Applications)계층과 직접 연결되며, 상기 하드웨어 TCP/IP 통신장치(40)가 어플리케이션과 직접 데이터를 주고받으면서 통신처리를 하게 된다.
도 2에서는 데이터 송신을 예시한 것으로서, 어플리케이션에서 데이터 송신을 하기 위해서는 직접 '데이터'를 하드웨어 TCP/IP 통신장치(40)로 전달하면 그 하드웨어 TCP/IP 통신장치(40)가 맥처리, IP프로토콜 및 TCP프로토콜의 처리에 의해 '물리헤더', 'IP헤더', 'TCP헤더'를 실시간 생성하여 '데이터'와 정합시키고, 그 '물리헤더+IP헤더+TCP헤더+데이터'로 정합된 데이터 패킷을 Mll인터페이스를 통해 물리계층(10)으로 전달하면 그 물리계층(10)에서 인터넷으로 데이터 패킷을 전송하게 된다.
반대로 데이터 수신시에는 '물리헤더+IP헤더+TCP헤더+데이터'로 이루어진 네트웍 데이터 패킷을 물리계층(10)에서 수신받아 하드웨어 TCP/IP 통신장치(40)에 전달하면, 맥처리부에서 '물리헤더'를 하드웨어 TCP/IP처리부에서 IP프로토콜과 TCP프로토콜에 의거하여 'IP헤더'와 'TCP헤더'를 실시간 분리 처리하고 '데이터'만을 직접 어플리케이션으로 넘겨주게 된다.
따라서, 하드웨어 TCP/IP 통신장치는, TCP/IP프로토콜을 하드웨어로 처리함으로써, OS의 통신프로토콜 처리가 필요가 없기 때문에 강력한 CPU나 시스템 리소스가 필요 없다. 그리고 기존의 장비에 적용이 용이하며 실시간 프로토콜 처리로 한정된 시스템에서 최대한 성능을 낼 수 있다는 장점이 있고 비교적 간단한 임베디드 시스템에 쉽게 적용될 수 있다.
그렇지만, 하드웨어 TCP/IP는, 프로토콜 변경에 따른 즉각적인 수정이 불가능하고, 새로운 요구사항이 발생할 때 곧바로 대처할 수 없다는 단점이 있다.
본 발명의 목적은, 상기한 종래의 네트워크 통신장치의 문제점을 해결하기 위해 안출된 것으로서, 호스트 시스템에서 처리해야 할 프로토콜 처리를 하드웨어에서 대신 할 수 있도록 하여 한정된 자원의 임베디드 시스템에서 고속 데이터 처리 기능을 가짐과 동시에 새로운 요구사항이 발생하면 곧바로 유연하게 대처할 수 있는 유연성을 가지는 임베디드 시스템을 위한 고속 데이터 처리 기능을 가지는 통신방법 및 그 장치를 제공하기 위한 것이다.
본 발명의 특징은 멀티미디어 등의 고속 대용량 데이터는 하드웨어로 구성된 전용 하드웨어 소켓을 통하여 통신하고, 일반 데이터는 호스트 시스템의 소프트웨어 TCP/IP프로토콜에 의해 통신할 수 있도록 한 것이다.
또 다른 특징은 하드웨어를 통해 실시간으로 프로토콜을 처리하고 실제 데이터만 호스트에 전달하기 때문에 물리 계층의 최대 대역폭에 근접한 성능을 낼 수 있도록 하여 임베디드 시스템에서 고속 데이터 송수신 기능을 제공함에 그 특징이 있다.
또한 본 발명은, 하드웨어 TCP/IP를 이용한 하드웨어 소켓과 동시에 OS의 소프트웨어 TCP/IP를 사용한 소프트웨어 소켓을 사용할 수 있는 경로 이중화를 통하여 새로운 요구사항이나 프로토콜 변경에 즉시 대응할 수 있는 확장성과 유연성을 제공함에 그 특징이 있다.
이러한 본 발명은, MAC 통신장치에 하드웨어 TCP/IP처리장치와 소켓판단부를 구비하고, 대용량 고속처리가 필요한 데이터는 하드웨어 TCP/IP장치를 통해 직접처리하고, 기타 일반 데이터들은 OS의 소프트웨어 TCP/IP에서 처리할 수 있도록 데이터 통신 경로를 이중화하도록 하는 것이다.
본 발명은, 어플리케이션에 대하여 데이터를 구분할 수 있는 식별자로서 사용되고 있는 TCP 프로토콜 헤더의 포트 번호(port number)를 이용하여 하드웨어 TCP/IP에서 처리할 데이터인지 소프트웨어 TCP/IP에서 처리할 데이터인지를 자동으로 판단하여 제어하도록 함을 특징으로 한다.
상기한 목적 달성을 위한, 본 발명에 따른 임베디드 시스템을 위한 고속 데이터 처리 기능을 가지는 통신방법은,
소프트웨어 TCP/IP가 탑재된 OS와 호스트 인터페이스를 통해서 연결되어 통신처리를 하는 MAC처리장치에, 하드웨어 TCP/IP처리 및 소켓 판단수단을 더 포함시켜 구성하고,
데이터 송신시, 송신할 데이터가 미리 설정한 하드웨어 처리용 데이터인 경우 상기 OS를 거치지 않고 직접 상기 하드웨어 TCP/IP처리 수단에서 송신 데이터의 TCP/IP프로토콜을 처리하고, 상기 하드웨어 처리용 데이터가 아닌 경우 상기 OS에서 소프트웨어 TCP/IP 프로토콜을 처리하여 데이터 송신을 하도록 하며,
데이터 수신시, 상기 소켓 판단수단이 수신데이터를 판단하여 상기 미리 설정한 하드웨어 처리용 데이터인 경우, 상기 하드웨어 TCP/IP 처리수단에서 TCP/IP프로토콜을 처리한 후 수신 데이터를 상기 어플리케이션으로 직접 인터페이스하며, 하드웨어 처리용 데이터가 아닌 경우, 상기 OS에서 소프트웨어 TCP/IP프로토콜을 처리하도록 인터페이스 시키는 것을 특징으로 한다.
상기 하드웨어 처리용 데이터인지와 소프트웨어 처리용 데이터인지의 판단은, TCP헤더의 포트 번호를 이용해 임의의 포트 번호에 대해서 하드웨어 처리로, 그 하드웨어 처리 데이터 포트 번호가 아닌 경우는 일반 데이터로서 소프트웨어 처리로 데이터 통신 경로를 설정함에 특징이 있다.
본 발명에 따른 임베디드 시스템을 위한 고속 데이터 처리 기능을 가지는 통신장치는,
물리계층과 데이터를 인터페이스 하는 물리매체 인터페이스 처리부와; 송신할 데이터를 상위 계층에서 물리매체 인터페이스 처리부로 전달하는 송신 데이터 처리부와; 수신된 데이터를 물리 매체 인터페이스 처리부로부터 전달받아 상위 계층으로 전달하는 수신 데이터 처리부와; 수신된 데이터를 수신데이터 처리 모듈로부터 받아 저장하고 하드웨어 소켓 처리부와 레지스터/제어부의 명령에 따라 상위 인터페이스로 전달하는 수신메모리와; 송신할 데이터를 상위 인터페이스로 전달받아 저장하고 레지스터 제어부의 명령에 따라 하드웨어 소켓처리부와 송신 데이터 처리부로 데이터를 보내주는 송신메모리와; 송수신 데이터중 고속하드웨어 소켓을 통한 고속통신이 필요한 패킷 데이터를 판단하고 이에 대하여 TCP프로토콜과 IP프로토콜을 처리하는 하드웨어 소켓 처리부와; 통신장치의 동작에 관련된 정보를 관리하는 레지스터와 이에 따라 통신장치 전체의 동작을 제어하는 레지스터/제어부와; 호스트 시스템과의 데이터를 송수신하기 위한 상위 인터페이스 처리부를 포함하는 것을 특징으로 한다.
하드웨어 소켓처리부는 IP 계층(layer)에 해당하는 프로토콜을 하드웨어적으로 처리하여 고속의 통신이 가능하도록 처리하는 IP 프로토콜 처리부와;
TCP 계층(layer)에 해당하는 프로토콜을 하드웨어적으로 처리하여 고속의 통신이 가능하도록 처리하는 TCP프로토콜 처리부와,
송수신 되는 데이터의 TCP헤더에서 포트 번호를 식별하여 해당 데이터 소켓이 하드웨어 소켓을 통한 고속 데이터를 처리하기 위한 데이터 패킷인지 일반 통신을 하는 데이터 패킷인지 판단하여 하드웨어 TCP/IP처리부를 제어하는 소켓 판단부로 구성된다.
본 발명은, 데이터 송신시에 상기 어플리케이션에서 미리 포트 번호가 지정된 고속 대용량 데이터에 대해서는 직접 상기 상위 인터페이스 처리부와 인터페이스 되게 하고, 상기 지정된 포트 번호 이외의 일반 데이터에 대해서는 상기 OS계층과 인터페이스 되게 제어하는 어플리케이션 인터페이스부를 더 포함하여 구성됨을 특징으로 한다.
이하, 본 발명의 실시 예를 첨부된 도면을 참조해서 상세히 설명하면 다음과 같다.
도 3은 본 발명에 의한 임베디드 시스템을 위한 고속 데이터 처리 기능을 가지는 통신방법을 설명하기 위한 개요도이다.
이에 도시된 바와 같이, 인터넷과 연결되는 물리계층(10)과, 그 물리계층(10)과 Mll인터페이스를 통해 연결되고 맥처리부 및 LLC를 포함함과 아울러 하드웨어 TCP/IP 처리수단 및 소켓 판단수단을 포함하는 하드웨어 TCP/IP 통신장치(100)와, 그 하드웨어 TCP/IP 통신장치(100)와 호스트 인터페이스를 통해 연결되고, 소프트웨어 TCP/IP가 탑재되어 있는 OS계층(30)과, 그 OS계층(30)과 소켓 인터페이스로 연결되고 어플리케이션 인터페이스부(101)를 포함하는 어플리케이션 계층으로 구성된다.
본 발명의 통신방법은, 고속 대용량 데이터는 어플리케이션 계층과 상기 하드웨어 TCP/IP 통신장치가 직접 데이터를 주고받으면서 하드웨어 TCP/IP프로토콜 처리를 하며, 일반 데이터는 OS계층의 소프트웨어 TCP/IP 프로토콜 처리에 의해 통신하도록 한다.
이를 위해서, 상기 어플리케이션 인터페이스부(101)는, 데이터 송신시, 송신할 데이터의 포트 번호를 체크하여 미리 설정한 하드웨어 처리용 데이터인 경우 상기 OS계층(30)을 거치지 않고 직접 상기 하드웨어 TCP/IP 통신장치(100)로 송신 데이터를 전달하며, 송신할 데이터의 포트 번호가 상기 하드웨어 처리용 데이터 포트 번호가 아닌 일반 데이터인 경우, 상기 OS계층(30)에서 소프트웨어 방식으로 TCP/IP 프로토콜을 처리하도록 OS계층(30)으로 송신 데이터를 전달하는 인터페이스를 사용자 어플리케이션에 제공한다.
그리고 상기 하드웨어 TCP/IP 통신장치(100)의 소켓 판단부는, 물리계층(10)으로 부터 수신된 수신데이터의 포트 번호를 판단하여 상기 미리 설정한 포트 번호의 하드웨어 처리용 데이터인 경우, 상기 하드웨어 TCP/IP 처리수단에서 직접 TCP/IP프로토콜을 처리한 후 수신 데이터를 상기 어플리케이션으로 직접 인터페이스하며, 하드웨어 처리용 포트번호의 데이터가 아닌 경우, 상기 OS에서 소프트웨어 TCP/IP프로토콜을 처리하도록 인터페이스 시키도록 소켓판단부를 구성한다.
이와 같은 본 발명은, 도 3에 도시된 바와 같이, 고속 하드웨어소켓 즉, 고속 대용량 데이터(예; 동영상, 그래픽 등등)는 하드웨어 TCP/IP 처리 및 맥처리를 하도록 하고, 일반소프트웨어소켓인 경우 OS계층에서 소프트웨어 TCP/IP 처리를 하여 맥처리를 거치도록 함으로서 데이터 통신 경로가 이중 경로가 된다.
도 4는 본 발명에 의한 임베디드 시스템을 위한 고속 데이터 처리 기능을 가지는 통신장치의 구성도이다. 이에 도시된 바와 같이,
물리계층(10)과 데이터를 인터페이스 하는 물리매체 인터페이스 처리부(110)와, 송신할 데이터를 링크 계층에서 물리매체 인터페이스 처리부(110)로 전달하는 송신 데이터 처리부(160)와, 수신된 데이터를 물리 매체 인터페이스 처리부(110)로부터 전달받아 상위 계층으로 전달하는 수신 데이터 처리부(120)와, 수신된 데이터를 수신데이터 처리부로부터 받아 저장하고 하드웨어 소켓 처리부(170)와 레지스터/제어부(180)의 명령에 따라 상위 인터페이스로 전달하는 수신메모리(130)와, 송신할 데이터를 상위 인터페이스로부터 전달받아 저장하고 레지스터 제어부(180)의 명령에 따라 하드웨어 소켓처리부(170)와 송신 데이터 처리부(160)로 데이터를 보내주는 송신메모리(150)와, 송수신 데이터중 고속하드웨어 소켓을 통한 고속통신이 필요한 패킷 데이터를 판단하고 이에 대하여 TCP프로토콜과 IP프로토콜을 처리하는 하드웨어 소켓 처리부(170)와, 통신장치의 동작에 관련된 정보를 관리하는 레지스터와 이에 따라 통신장치 전체의 동작을 제어하는 레지스터/제어부(180)와, 호스트 시스템과의 데이터를 송수신하기 위한 상위 인터페이스 처리부(140)를 포함하여 구성 된다.
그리고 상기 상위 인터페이스 처리부(140)와 호스트 인터페이스로 연결되고 소프트웨어 TCP/IP처리 프로그램이 탑재된 OS계층(30)과, 그 OS계층(30)과는 소프트웨어 TCP/IP처리되는 일반 데이터를 인터페이스하고, 상기 상위 인터페이스 처리부(140)와는 하드웨어 TCP/IP프로토콜 처리용 데이터를 인터페이스 하는 어플리케이션 계층의 어플리케이션 인터페이스부(101)를 포함하여 구성된다.
도 5는 본 발명에 의한 하드웨어 소켓 처리부의 구성도이다. 이에 도시된 바와 같이, 하드웨어 소켓처리부(170)는 IP 계층(layer)에 해당하는 프로토콜을 하드웨어적으로 처리하여 고속의 통신이 가능하도록 처리하는 IP 프로토콜 처리부(173)와, TCP 계층(layer)에 해당하는 프로토콜을 하드웨어적으로 처리하여 고속의 통신이 가능하도록 처리하는 TCP프로토콜 처리부(172)와, 송수신 되는 데이터의 TCP헤더에서 포트 번호를 식별하여 해당 데이터 소켓이 하드웨어 소켓을 통한 고속 데이터를 처리하기 위한 데이터 패킷인지 일반 통신을 하는 데이터 패킷인지 판단하여 하드웨어 TCP/IP처리부를 제어하는 소켓 판단부(171)로 구성된다.
이와 같이 구성된 본 발명은, 기존의 맥칩과 OS의 소프트웨어 TCP/IP 프로그램이 탑재된 인터넷 통신 방식에 있어서, 맥칩과 일체로 하드웨어 TCP/IP 처리부와 소켓 판단부를 구성하여 동영상 등의 고속 대용량 데이터는 하드웨어 TCP/IP프로토콜 처리를 하고, 일반 데이터는 소프트웨어 TCP/IP 프로토콜 처리를 하는 이중 경로로 데이터 통신을 하도록 구성한 것이다.
하드웨어 TCP/IP 처리를 할 데이터인지, 소프트웨어 TCP/IP처리를 할 데이터 인지의 판단은, 데이터 포트 번호를 판단하여 데이터통신 경로를 제어하게 된다.
도 6은 일반적인 데이터 패킷의 TCP 패킷헤더의 구성 설명도이다.
TCP 패킷 헤더 중에 소스 포트(Source Port)는, 데이터를 전송하는 어플리케이션의 16비트 포트 번호이고, 디스티네이션 포트(Destination Port)는 데이터를 수신할 어플리케이션의 16비트 포트 번호를 나타낸다. 따라서 본 발명에서는 소스 포트와 디스티네이션 포트의 번호를 판단하여 하드웨어 TCP/IP 처리인지, 소프트웨어 TCP/IP처리인지를 제어하게 된다.
도 7a 및 도 7b은 본 발명을 설명하기 위한 서버와 PC의 통신 어플리케이션 설명도이다.
인터넷을 통하여 서버와 PC가 통신을 하게 되면 인터넷상의 수많은 서버와 PC를 구분하는 것은 IP 주소이다. 이와 같이 하나의 시스템(PC or 서버)에서는 동시에 여러 개의 어플리케이션이 인터넷을 통하여 연결하게 된다. 이때 어플리케이션 별로 그 연결을 지정해 주는 것이 바로 포트 번호(PORT number)이다.
도 7a에 도시된 바와 같은 상황에서 서버와 PC는 두 가지 어플리케이션이 동시에 인터넷을 이용하여 통신을 하고 있다. 그러므로 각 각의 어플리케이션에 대하여 데이터를 구분할 수 있는 식별자가 필요하다. 이때 사용되는 것이 TCP 프로토콜 헤더의 포트 번호(port number)인 것이다.
따라서, 본 발명에서는 도 7b에 도시된 바와 같이, 모든 데이터는 실시간으로 TCP 포트 번호(Port number)까지 분석이 이루어진다. 이 분석 데이터를 바탕으로 실시간으로 소켓판단부에서 하드웨어 TCP/IP를 통한 고속 데이터 처리를 할 것인지 일반 소프트웨어 TCP/IP를 사용하는 소켓데이터인지 판단하여 데이터를 전달해준다.
이와 같은 본 발명의 데이터 송신과정을 설명하면 다음과 같다.
송신할 시스템의 어플리케이션에서는 데이터와 함께 송신 명령을 어플리케이션 인터페이스(101)를 통해 전달한다. 어플리케이션 인터페이스(101)는 사용자의 요구에 따라 하드웨어 TCP/IP를 사용할 데이터의 경우 본 발명의 통신장치의 상위 인터페이스 처리부(140)로 송신명령과 함께 송신 데이터를 전달한다. 송신 명령은 레지스터/제어부(180)에서 판단하여 송신동작을 시작하도록 통신장치의 각 모듈들을 제어하며, 필요한 데이터는 제어 레지스터에 저장한다. 메인 데이터의 경우는 상위 인터페이스(140)를 통해 송신메모리(150)에 저장이 된다. 하드웨어 소켓 처리부(170)는 실시간으로 헤더를 생성하여 송신데이터처리부(160)를 통해 전송을 시작하며 헤더 전송이 끝나면 제어부의 명령에 따라 송신메모리(150)의 해당 데이터까지 송신데이터처리부(170)로 전달되어 패킷은 물리매체인터페이스 처리부(110)를 통해 인터넷으로 전달된다. 모든 동작이 완료되면 하드웨어 소켓 처리부(170)는 레지스터/제어부(150)에 알려주며 이는 상위 인터페이스(140)를 거쳐 MCU까지 알려준다.
소프트웨어 TCP/IP를 사용할 데이터의 경우 OS계층(30)에 있는 소프트웨어 TCP/IP를 사용하여 송신할 데이터를 분석하여 패킷 헤더가 생성되고 처리가 끝나면 이 데이터는 상위 인터페이스 처리부(140)를 통해 송신메모리(150)로 전달되며 송신과 관련된 정보를 포함한 송신 명령은 상위 인터페이스 처리부(140)를 통해 레지스터/제어부(180)로 전달된다. 레지스터 제어부(180)는 명령에 따라 송신메모리(150)로 전송되는 데이터를 송신데이터 처리부(170)를 통해 물리매체인터페이스 처리부(110)로 전송하게 된다. 물리매체인터페이스(110)에서 물리계층으로 송신하게 된다.
데이터 수신과정을 설명하면 다음과 같다.
수신의 경우는 물리매체인터페이스 처리부(110)를 통해 데이터가 들어오게 된다. 이는 수신데이터 처리부(120)를 통해 수신메모리(130)에 저장됨과 동시에 프로토콜 헤더 정보는 하드웨어 소켓처리부(170)로 전달되어 수신한 패킷 데이터에 대한 분석이 수신과 동시에 이루어진다. TCP/IP 프로토콜에 대한 실시간 처리를 통해 포트 번호를 판단하게 되고 이 분석 정보가 레지스터/제어부(180)의 레지스터에 저장되어 있는 정보 값과 비교하여 하드웨어 TCP/IP를 사용하여 처리될 것인지 소프트웨어 TCP/IP를 사용하여 처리될 것인지를 판단하게 된다.
하드웨어 TCP/IP를 통해 처리될 패킷으로 판단된 경우 나머지 TCP/IP 헤더 분석을 모두 마치고 처리 결과는 레지스터/제어부(180)를 통해 상위 인터페이스 처리부(140)로 전달된다. 그 결과는 다시 MCU로 전달되어 수신한 데이터가 있음을 알려주고 순수 데이터부분은 수신메모리(130)를 통하여 상위인터페이스처리부(140)를 거쳐 어플리케이션 인터페이스부(101)로 전달된다.
소프트웨어 TCP/IP를 통해 처리될 패킷으로 판단된 경우는 수신메모리(130)로 입력되는 패킷 정보를 레지스터/제어부(180)의 명령에 따라 상위 인터페이스 처리부(140)를 통해 OS계층(30)의 소프트웨어 TCP/IP로 전달한다. 이후 소프트웨어 TCP/IP로 전달되는 데이터는 OS의 TCP/IP에 대한 처리를 한 후 어플리케이션 인터페이스부(101)로 전달된다.
따라서, 본 발명은, 고속 대용량 처리가 필요한 데이터는 하드웨어 TCP/IP처리를 하고, 일반 데이터는 소프트웨어 TCP/IP처리를 하여 데이터 통신을 효율적으로 할 수 있게 되는 것이다.
이상에서 설명한 바와 같이, 본 발명에 따른 임베디드 시스템을 위한 고속 데이터 처리 기능을 가지는 통신장치에 의하면, 임베디드 시스템에서 선택적으로 고속데이터 처리기능을 사용하여 CPU의 부담없이 고속 통신을 할 수 있으므로, 임베디드 시스템에서의 멀티미디어 서비스등 각종 고속 네트워크 기반의 서비스 제공이 가능하다.
또한, 임베디드 시스템의 CPU가 처리해야 하는 통신 프로토콜 처리의 부담을 덜어줌으로써 임베디드 시스템의 한정된 자원에서 보다 많은 서비스를 제공할 수 있도록 해준다.
또한, 본 발명은, 하드웨어 TCP/IP를 이용한 하드웨어 소켓과 동시에 OS의 소프트웨어 TCP/IP를 사용한 소프트웨어 소켓을 사용할 수 있는 경로 이중화를 통하여 새로운 요구사항이나 프로토콜 변경에 즉시 대응할 수 있는 확장성과 유연성을 제공할 수 있는 효과가 있다.
도 1은 종래 소프트웨어 TCP/IP방식 네트워크 통신장치의 설명도.
도 2는 종래 하드웨어 TCP/IP방식 네트워크 통신장치의 설명도.
도 3은 본 발명에 의한 임베디드 시스템을 위한 고속 데이터 처리 기능을 가지는 통신방법을 설명하기 위한 개요도.
도 4는 본 발명에 의한 임베디드 시스템을 위한 고속 데이터 처리 기능을 가지는 통신장치의 구성도.
도 5는 본 발명에 의한 하드웨어 소켓 처리부의 구성도.
도 6은 일반적인 데이터 패킷의 TCP 패킷 헤더의 구성 설명도.
도 7a 및 도 7b은 본 발명을 설명하기 위한 서버와 PC의 통신 어플리케이션 설명도.
<도면의 주요부분에 대한 부호의 설명>
10 : 물리계층 30 : OS계층
100 : 하드웨어 TCP/IP 통신장치
110 : 물리계층 인터페이스부 120 : 수신 데이터 처리부
130 : 수신 메모리 140 : 상위 인터페이스 처리부
150 : 송신 메모리 160 : 송신 데이터 처리부
170 : 하드웨어 소켓 처리부 171 : 소켓 판단부
172 : 하드웨어 TCP 프로토콜 처리부
173 : 하드웨어 IP 프로토콜 처리부
180 : 레지스터/제어부

Claims (5)

  1. 소프트웨어 TCP/IP가 탑재된 OS와 호스트 인터페이스를 통해서 연결되어 통신처리를 하는 MAC처리통신장치를 통해서 통신하는 방법에 있어서,
    상기 MAC처리통신장치에, 하드웨어 TCP/IP처리 및 소켓 판단수단을 더 포함시켜 구성하고,
    데이터 송신시, 송신할 데이터가 미리 설정한 하드웨어 처리용 데이터인 경우 어플리케이션 인터페이스부가 상기 OS를 거치지 않고 직접 상기 하드웨어 TCP/IP처리 수단으로 데이터를 전달하여 그 하드웨어 TCP/IP처리수단에서 송신 데이터의 TCP/IP프로토콜을 처리하며, 상기 하드웨어 처리용 데이터가 아닌 경우 일반 데이터인 경우 상기 OS에서 소프트웨어 방식으로 TCP/IP 프로토콜을 처리하고,
    데이터 수신시, 상기 소켓 판단수단이 수신데이터를 판단하여 상기 미리 설정한 하드웨어 처리용 데이터인 경우, 상기 하드웨어 TCP/IP 처리수단에서 직접 TCP/IP프로토콜을 처리한 후 수신 데이터를 상기 어플리케이션으로 직접 인터페이스하며, 하드웨어 처리용 포트번호의 데이터가 아닌 경우, 상기 OS에서 소프트웨어 TCP/IP프로토콜을 처리하도록 인터페이스 시키는 것을 특징으로 하는 임베디드 시스템을 위한 고속 데이터 처리 기능을 가지는 통신방법.
  2. 제 1 항에 있어서, 상기 송수신 데이터의 하드웨어 처리 데이터인지 소프트웨어 처리 데이터인지의 판단은, TCP패킷 헤더의 소스 포트와, 디스티네이션 포트의 번호를 이용하여 하드웨어 TCP/IP처리인지 소프트 웨어 TCP/IP처리인지를 판단하는 것을 특징으로 하는 임베디드 시스템을 위한 고속 데이터 처리 기능을 가지는 통신방법.
  3. 물리계층과 데이터를 인터페이스 하는 물리매체 인터페이스 처리부와;
    송신할 데이터를 링크 계층에서 물리매체 인터페이스 처리부로 전달하는 송신 데이터 처리부와;
    수신된 데이터를 물리 매체 인터페이스 처리부로부터 전달받아 상위 계층으로 전달하는 수신 데이터 처리부와;
    수신된 데이터를 수신데이터 처리 모듈로부터 받아 저장하고 하드웨어 소켓 처리부와 레지스터/제어부의 명령에 따라 상위 인터페이스로 전달하는 수신메모리와;
    송신할 데이터를 상위 인터페이스로 전달받아 저장하고 레지스터 제어부의 명령에 따라 하드웨어 소켓처리부와 송신 데이터 처리부로 데이터를 보내주는 송신메모리와;
    송수신 데이터중 고속하드웨어 소켓을 통한 고속통신이 필요한 패킷 데이터를 판단하고 이에 대하여 TCP프로토콜과 IP프로토콜을 처리하는 하드웨어 소켓 처리부와;
    통신장치의 동작에 관련된 정보를 관리하는 레지스터와 이에 따라 통신장치 전체의 동작을 제어하는 레지스터/제어부와;
    호스트 시스템과의 데이터를 송수신하기 위한 상위 인터페이스 처리부를 포함하는 것을 특징으로 하는 임베디드 시스템을 위한 고속 데이터 처리 기능을 가지는 통신장치.
  4. 제 3 항에 있어서, 상기 하드웨어 소켓 처리부는,
    하드웨어 소켓처리부는 IP 계층(layer)에 해당하는 프로토콜을 하드웨어적으로 처리하여 고속의 통신이 가능하도록 처리하는 IP 프로토콜 처리부와;
    TCP 계층(layer)에 해당하는 프로토콜을 하드웨어적으로 처리하여 고속의 통신이 가능하도록 처리하는 TCP프로토콜 처리부와,
    송수신 되는 데이터의 TCP헤더에서 포트 번호를 식별하여 해당 데이터 소켓이 하드웨어 소켓을 통한 고속 데이터를 처리하기 위한 데이터 패킷인지 일반 통신을 하는 데이터 패킷인지 판단하여 하드웨어 TCP/IP처리부를 제어하는 소켓 판단부로 구성된 것을 특징으로 하는 임베디드 시스템을 위한 고속 데이터 처리 기능을 가지는 통신장치.
  5. 제 3 항에 있어서, 데이터 송신시에 상기 어플리케이션에서 미리 포트 번호가 지정된 고속 대용량 데이터에 대해서는 직접 상기 상위 인터페이스 처리부와 인터페이스 되게 하고, 상기 지정된 포트 번호 이외의 일반 데이터에 대해서는 상기 OS계층과 인터페이스 되게 제어하는 어플리케이션 인터페이스부를 더 포함하여 구성된 것을 특징으로 하는 임베디드 시스템을 위한 고속 데이터 처리 기능을 가지는 통신 장치.
KR1020050039168A 2005-05-11 2005-05-11 임베디드 시스템을 위한 고속 데이터 처리 기능을 가지는통신방법 및 그 장치 KR100530856B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020050039168A KR100530856B1 (ko) 2005-05-11 2005-05-11 임베디드 시스템을 위한 고속 데이터 처리 기능을 가지는통신방법 및 그 장치
JP2008511044A JP5091121B2 (ja) 2005-05-11 2006-04-25 埋め込み型システムのための高速データ処理・通信方法及び装置
PCT/KR2006/001552 WO2006121247A1 (en) 2005-05-11 2006-04-25 High speed data processing communication method and apparatus for embedded system
US11/914,130 US20080192741A1 (en) 2005-05-11 2006-04-25 High Speed Data Processing Communication Method and Apparatus for Embedded System
GB0721939A GB2439708A (en) 2005-05-11 2006-04-25 High speed data processing communication method and apparatus for embedded system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050039168A KR100530856B1 (ko) 2005-05-11 2005-05-11 임베디드 시스템을 위한 고속 데이터 처리 기능을 가지는통신방법 및 그 장치

Publications (1)

Publication Number Publication Date
KR100530856B1 true KR100530856B1 (ko) 2005-11-23

Family

ID=37306186

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050039168A KR100530856B1 (ko) 2005-05-11 2005-05-11 임베디드 시스템을 위한 고속 데이터 처리 기능을 가지는통신방법 및 그 장치

Country Status (5)

Country Link
US (1) US20080192741A1 (ko)
JP (1) JP5091121B2 (ko)
KR (1) KR100530856B1 (ko)
GB (1) GB2439708A (ko)
WO (1) WO2006121247A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9807056B2 (en) 2015-05-22 2017-10-31 Wiznet Co., Ltd. Communication chipset and apparatus secure from internet attack

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5481485B2 (ja) * 2009-09-16 2014-04-23 株式会社東芝 通信装置とそれを用いた受信処理方法及び送信処理方法
CN101917319B (zh) * 2010-02-11 2015-04-01 深圳市国微电子有限公司 一种高低速共存总线终端数据发送控制方法、模块及终端
CN102812445A (zh) * 2010-03-17 2012-12-05 富士通株式会社 分层型多核处理器、多核处理器系统、以及控制程序
US10897426B2 (en) 2013-09-30 2021-01-19 Mitsubishi Electric Corporation Reception apparatus and communication apparatus
JP6976786B2 (ja) * 2017-09-20 2021-12-08 キヤノン株式会社 通信装置および通信装置の制御方法
CN109743410A (zh) * 2018-12-07 2019-05-10 天津津航计算技术研究所 无操作系统嵌入式设备与pc实现以太网通信的系统和方法
CN112882766A (zh) * 2021-02-03 2021-06-01 广州华欣电子科技有限公司 一种数据处理方法、装置和系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3165050B2 (ja) * 1996-12-24 2001-05-14 九州日本電気通信システム株式会社 パケットエラー検出方式
US6687758B2 (en) * 2001-03-07 2004-02-03 Alacritech, Inc. Port aggregation for network connections that are offloaded to network interface devices
JP2000092118A (ja) * 1998-09-08 2000-03-31 Hitachi Ltd プログラマブルネットワーク
JP2000138688A (ja) * 1998-10-30 2000-05-16 Toshiba Corp ルータ装置
US7031267B2 (en) * 2000-12-21 2006-04-18 802 Systems Llc PLD-based packet filtering methods with PLD configuration data update of filtering rules
US6760782B1 (en) * 2000-08-04 2004-07-06 Schneider Automation Inc. Apparatus for controlling internetwork communications
US6961349B2 (en) * 2001-05-30 2005-11-01 Telefonaktiebolaget Lm Ericsson (Publ) Handling TCP protocol for connections transmitted in parallel over radio link
JP2003318984A (ja) * 2002-04-26 2003-11-07 Nippon Telegr & Teleph Corp <Ntt> Pdu観測方法、コネクションレス型データ通信装置、およびpdu観測装置
US7631107B2 (en) * 2002-06-11 2009-12-08 Pandya Ashish A Runtime adaptable protocol processor
US20040049580A1 (en) * 2002-09-05 2004-03-11 International Business Machines Corporation Receive queue device with efficient queue flow control, segment placement and virtualization mechanisms

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9807056B2 (en) 2015-05-22 2017-10-31 Wiznet Co., Ltd. Communication chipset and apparatus secure from internet attack

Also Published As

Publication number Publication date
JP2008541605A (ja) 2008-11-20
JP5091121B2 (ja) 2012-12-05
GB2439708A (en) 2008-01-02
WO2006121247A1 (en) 2006-11-16
GB0721939D0 (en) 2007-12-19
US20080192741A1 (en) 2008-08-14

Similar Documents

Publication Publication Date Title
KR100530856B1 (ko) 임베디드 시스템을 위한 고속 데이터 처리 기능을 가지는통신방법 및 그 장치
US7937447B1 (en) Communication between computer systems over an input/output (I/O) bus
US7761588B2 (en) System and article of manufacture for enabling communication between nodes
EP1570361B1 (en) Method and apparatus for performing network processing functions
US8208470B2 (en) Connectionless packet data transport over a connection-based point-to-point link
US7966380B2 (en) Method, system, and program for forwarding messages between nodes
US7200641B1 (en) Method and system for encoding SCSI requests for transmission using TCP/IP
EP1678909B1 (en) Method, system and article for dynamic real-time stream aggregation in a network
US7320071B1 (en) Secure universal serial bus
US6185607B1 (en) Method for managing network data transfers with minimal host processor involvement
US11895027B2 (en) Methods and systems for service distribution using data path state replication and intermediate device mapping
EP2497031B1 (en) Network switch
US7639715B1 (en) Dedicated application interface for network systems
KR20070061329A (ko) 다중 암호엔진을 사용하는 고성능 암호화 장치
US7181675B2 (en) System and method for checksum offloading
EP1575236B1 (en) Connectivity confirmation method for network storage device and host computer
JP2003050788A (ja) 高レベル・データ・リンク・コントローラから多数個のディジタル信号プロセッサ・コアに信号を分配するための装置と方法
KR100412237B1 (ko) 사용자 수준의 소켓 계층과 그를 이용한 통신 인터페이스방법
JP4519090B2 (ja) 送信装置、受信装置およびそれらの方法
KR102716942B1 (ko) 터널 Ctrl 쓰레드를 이용한 데이터 통신에서의 터널 데이터 업데이트 처리방법
JP2007228098A (ja) ネットワーク機能プロキシ
KR100359890B1 (ko) 분리수용방식에 의한 안정적 대역폭의 멀티미디어 데이터전송 방법 및 그시스템
CN114513381A (zh) 基于af_xdp的实时以太网现场总线数据包处理方法
KR20230103044A (ko) 터널 Ctrl 쓰레드를 이용한 데이터 통신에서의 터널 데이터 업데이트 처리방법
CN117221417A (zh) 一种tcp/ip协议卸载引擎装置

Legal Events

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

Payment date: 20120917

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20131001

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20141030

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20151029

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20161115

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180920

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20190905

Year of fee payment: 15