KR101551729B1 - 인터넷 공격에 안전한 통신 칩셋 및 통신 장치 - Google Patents

인터넷 공격에 안전한 통신 칩셋 및 통신 장치 Download PDF

Info

Publication number
KR101551729B1
KR101551729B1 KR1020150071510A KR20150071510A KR101551729B1 KR 101551729 B1 KR101551729 B1 KR 101551729B1 KR 1020150071510 A KR1020150071510 A KR 1020150071510A KR 20150071510 A KR20150071510 A KR 20150071510A KR 101551729 B1 KR101551729 B1 KR 101551729B1
Authority
KR
South Korea
Prior art keywords
module
data
data link
type
layer
Prior art date
Application number
KR1020150071510A
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 KR1020150071510A priority Critical patent/KR101551729B1/ko
Application granted granted Critical
Publication of KR101551729B1 publication Critical patent/KR101551729B1/ko
Priority to US14/881,168 priority patent/US9807056B2/en
Priority to CN201510813152.8A priority patent/CN106169986B/zh

Links

Images

Classifications

    • 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
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • 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
    • H04L63/162Implementing security features at a particular protocol layer at the data link layer
    • H04L61/20
    • 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
    • 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
    • H04L63/164Implementing security features at a particular protocol layer at the network layer
    • 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
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/088Access security using filters or firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

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

Abstract

본 발명은, 다수 유형의 데이터 링크 레이어 및 네트워크 레이어를 지원하면서도 여러 레이어상의 설정 데이터를 활용하여 각 레이어 상에서 구성된 패킷에 대한 필터링이 가능하도록 하고, 이에 따라 외부로부터 통신망을 통한 인터넷 공격에 안전한, 통신 칩셋 및 통신 장치에 관한 것이다.

Description

인터넷 공격에 안전한 통신 칩셋 및 통신 장치{COMMUNICATION CHIPSET AND APPARATUS SECURE FROM INTERNET ATTACK}
본 발명은 인터넷 공격에 안전한 통신 칩셋 및 통신 장치에 관한 것으로서, 구체적으로는 다수 유형의 데이터 링크 레이어 및 네트워크 레이어를 지원하면서도 여러 레이어상의 설정 데이터를 활용하여 각 레이어 상에서 구성된 패킷에 대한 필터링이 가능하도록 하고, 이에 따라 외부로부터 통신망을 통한 인터넷 공격에 안전한, 통신 칩셋 및 통신 장치에 관한 것이다.
여러 기기(장치)들은 통신망을 통해서 서로 데이터를 송수신한다. 통신망을 통한 데이터의 송수신은 일반적으로 OSI(Open System Interconnection) 7 레이어 모델(OSI 7 Layer Model)의 각 레이어상의 다양한 유형의 통신 프로토콜을 통해서 이루어진다.
예를 들어, 인터넷망을 통해서 다른 장치와 데이터를 송수신하기 위해서, 장치는 트랜스포트(Transport, 전송) 레이어의 TCP/UDP 패킷을 생성하고, 생성된 트랜스포트 레이어의 패킷을 포함하는 IP(Internet Protocol) 패킷을 생성한다. 이후 장치는 IP 패킷을 포함하는 데이터링크 (Data Link) 레이어의 패킷을 생성하여 물리 레이어(예를 들어 파이(PHY) 칩)를 거쳐서 유선이나 무선의 전송매체로 패킷을 전송한다. 수신 장치는 역의 과정을 통해서 TCP/UDP 패킷을 생성하고 나아가 응용 레이어에 해당 TCP/UDP 패킷을 전달한다.
OSI 7 레이어 모델은 그 복잡한 구조와 각 레이어에서의 다양한 요구 조건 들로 인해서 일반적으로 소프트웨어를 통해서 처리된다. 즉 장치들은 프로세서를 구비하며 프로세서는 통신 레이어 처리를 위한 커널 프로그램을 통해서 데이터링크 레이어의 패킷을 추출하고 IP 패킷을 (재)구성하고 TCP나 UDP 패킷을 (재)구성한다.
소프트웨어적인 레이어 패킷 처리는 일면 장치에 레이어 패킷의 처리 유연성을 제공하고 다양한 유형이나 다양한 통신 프로토콜에 대응이 용이하며 설계 변경이 유리한 장점이 있다.
그러나 소프트웨어를 통한 패킷 처리는 다양한 외부 통신 공격에 노출된다. 예를 들어 장치는 구비된 프로세서를 통해서 외부 장치로부터 패킷을 수신할 수 있고 이를 처리해야 한다. 레이어를 통한 계층적인 패킷 처리는 소프트웨어를 통해서 이루어지기 때문에 패킷에 포함된 다양한 위험 요소에 의해서 해당 장치가 무력화될 수 있다. 예를 들어 프로세서의 프로그램 카운트(Program Counter, PC)는 패킷에 포함된 특정 위험 데이터에 의해서 변경될 수 있고 이로써 프로세서는 오작동될 수 있다.
또한 장치는 외부의 무작위의 장치로부터 다수의 패킷을 수신할 수 있다. 예를 들어 여러 장치들이 하나의 타켓(target) 장치에, 이 타켓 장치의 처리 불능 상태를 만들기 위해 다수의 패킷을 지속적으로 전송할 수 있다. 이러한 패킷들을 수신한 장치는 소프트웨어를 통해서 지속적으로 전송되는 패킷들을 모두 처리해야 하며 이에 따라 프로세서의 부하가 증가하고 처리 불능 상태에 빠질 수 있다.
반대로 하드웨어 로직을 통한 패킷 처리를 상정할 수 있다. 본 출원인에 의해서 출원되고 등록된 발명(발명의 명칭 : 임베디드 시스템을 위한 고속 데이터 처리 기능을 가지는 통신방법 및 그 장치, 등록번호 : 10-0530856, 공고일자 : 2005년 11월 23일)에 알 수 있는 바와 같이, 알려진 하드웨어 로직은 OSI 7 Layer 모델 중 특정 레이어상의 특정 통신 프로토콜을 하드웨어 로직으로 처리 가능하다.
하드웨어 로직을 통한 통신 패킷의 처리는 장치에 구비된 프로세서의 부하를 줄일 수 있고 프로세서에 통신 레이어를 위한 별도 OS(Operating System)의 구성이 필요 없게 된다. 이와 같이 하드웨어 로직을 통한 통신 패킷의 처리는 여러 유용한 장점을 제공한다.
하드웨어 로직을 통한 통신 패킷의 처리에 있어서도, 통신망을 통한 외부 공격에 대비할 필요가 있다. 비록, 프로세서에 의한 제어 없이 각 계층의 하드웨어 로직들이 패킷들을 처리하고 TCP 패킷을 구성하나, 프로세서가 해당 TCP 패킷 상위의 응용(application) 데이터를 처리하여야 한다. 이와 같이 하드웨어 로직을 통한 패킷 처리에 있어서도 외부 공격에 노출될 수 있고 TCP 패킷의 처리에 전력을 사용하는 문제점이 존재한다.
따라서, 하드웨어 로직을 통한 통신 패킷의 처리에 있어서도, 프로세서에 의해서 처리가 필요없는 패킷들을 레이어별로 먼저 필터링하여 외부 공격에 안전하고 전력 소비를 줄일 수 있도록 하는 통신 칩셋과 장치가 필요하다.
또한, 하드웨어 로직을 가진 패킷 처리 모듈은 그 구조가 일반적으로 복잡하여 특정 레이어상에 새로운 처리 모듈을 삽입하는 것이 용이치 않다. 특히 데이터링크 레이어 상에 새로운 처리 모듈이 삽입되는 경우에 다른 장치와의 계층적인 통신 연결을 구성하기 위해 하위 레이어의 처리 모듈과 상위 레이어의 처리 모듈간의 설정을 구성하는 것이 용이치 않다. 예를 들어 다수의 데이터링크 레이어 처리 모듈이 존재하는 경우에 소켓(Socket) 설정 과정에서 어떤 데이터링크 레이어를 이용할 것인지 또는 적합한 지를 결정하는 것은 결코 용이치 않다.
따라서, 특정 레이어 상에 다수의 처리 모듈이 존재하는 경우에 상위 레이어의 처리 모듈이 이 특정 레이어의 여러 처리 모듈들과 연계하여 다른 장치와 통신 연결 설정이 가능케 하는 통신 칩셋과 장치가 필요하다.
본 발명은 상술한 문제점을 해결하기 위해서 안출한 것으로서, 하드웨어 로직을 통해서 계층적으로 패킷들을 구성하고 구성된 패킷들의 필터링을 여러 레이어상에서 처리하여 인터넷 공격에 안전한 통신 칩셋 및 통신 장치를 제공하는 데 그 목적이 있다.
또한 본 발명은 전용 하드웨어 로직으로 구성되어 보안 침입자의 코드가 수행될 수 없도록 하는 통신 칩셋 및 통신 장치를 제공하는 데 그 목적이 있다.
또한 본 발명은 각 레이어상에서의 필터링이 여러 레이어상에서 설정된 설정 데이터들을 이용하여 이루어져 불필요한 패킷의 상위 레이어로의 전달을 방지하는 통신 칩셋 및 통신 장치를 제공하는 데 그 목적이 있다.
또한 본 발명은 하드웨어 로직을 통한 패킷 처리와 계층적 패킷 필터링으로 패킷 처리에 필요한 전력 소비를 줄일 수 있도록 하는 통신 칩셋 및 통신 장치를 제공하는 데 그 목적이 있다.
또한 본 발명은 통신채널 설정시에 특정 레이어의 여러 처리 모듈들 중 하나의 처리 모듈을 자동으로 식별할 수 있도록 하는 통신 칩셋 및 통신 장치를 제공하는 데 그 목적이 있다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 목적을 달성하기 위한 통신 칩셋은 복수 장치와의 통신채널의 설정을 가능케하는 레지스터 맵, 제1 타입의 물리 레이어 데이터를 송수신하고 제1 타입에 따른 데이터링크 레이어 처리를 수행하는 제1 데이터링크 모듈, 제2 타입의 물리 레이어 데이터를 송수신하고 제2 타입에 따른 데이터링크 레이어 처리를 수행하는 제2 데이터링크 모듈 및 제1 데이터링크 모듈 및 제2 데이터링크 모듈에 연결되어 제1 데이터링크 모듈 및 제2 데이터링크 모듈로부터의 데이터링크 데이터를 레지스터 맵에 저장된 복수 통신채널의 설정 데이터를 이용하여 필터링하는 제1 처리 모듈을 포함한다.
또한 상기와 같은 목적을 달성하기 위한 통신 장치는 통신 칩셋 및 통신 칩셋을 통해서 응용 레이어 상의 데이터를 송신하고 수신하는 프로세서를 포함하고, 통신 칩셋은 복수 장치와의 통신채널의 설정을 가능케하는 레지스터 맵, 제1 타입의 물리 레이어 데이터를 송수신하고 제1 타입에 따른 데이터링크 레이어 처리를 수행하는 제1 데이터링크 모듈, 제2 타입의 물리 레이어 데이터를 송수신하고 제2 타입에 따른 데이터링크 레이어 처리를 수행하는 제2 데이터링크 모듈 및 제1 데이터링크 모듈과 제2 데이터링크 모듈에 연결되어 제1 데이터링크 모듈과 제2 데이터링크 모듈로부터의 데이터링크 데이터를 레지스터 맵에 저장된 복수 통신채널의 설정 데이터를 이용하여 필터링하는 제1 처리 모듈을 포함한다.
상기와 같은 본 발명에 따른 통신 칩셋 및 통신 장치는 하드웨어 로직을 통해서 계층적으로 패킷들을 구성하고 구성된 패킷들의 필터링을 여러 레이어상에서 처리하여 인터넷 공격에 안전한 효과가 있다.
또한 상기와 같은 본 발명에 따른 통신 칩셋 및 통신 장치는 전용 하드웨어 로직으로 구성되어 보안 침입자의 코드가 수행될 수 없도록 하는 효과가 있다.
또한 상기와 같은 본 발명에 따른 통신 칩셋 및 통신 장치는 각 레이어상에서의 필터링이 여러 레이어상에서 설정된 설정 데이터들을 이용하여 이루어져 불필요한 패킷의 상위 레이어로의 전달을 방지하는 효과가 있다.
또한 상기와 같은 본 발명에 따른 통신 칩셋 및 통신 장치는 하드웨어 로직을 통한 패킷 처리와 계층적 패킷 필터링으로 패킷 처리에 필요한 전력 소비를 줄일 수 있도록 하는 효과가 있다.
또한 상기와 같은 본 발명에 따른 통신 칩셋 및 통신 장치는 통신채널 설정시에 특정 레이어의 여러 처리 모듈들 중 하나의 처리 모듈을 자동으로 식별할 수 있도록 하는 효과가 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 통신 장치를 포함하는 예시적인 통신 시스템 블록도를 도시한 도면이다.
도 2는 통신 장치의 예시적인 블록도를 도시한 도면이다.
도 3은 통신 칩셋의 예시적인 하드웨어 블록도를 도시한 도면이다.
도 4는 통신채널의 설정에 필요한 레지스터를 도시하고 있는 예시적인 레지스터 맵의 내부 구조를 도시한 도면이다.
도 5는 외부로부터 물리 신호의 수신시에 계층적 필터링이 이루어지는 제어 흐름의 예를 도시한 도면이다.
상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술 되어 있는 상세한 설명을 통하여 더욱 명확해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하기로 한다.
도 1은 본 발명의 통신 장치(10)를 포함하는 예시적인 통신 시스템 블록도를 도시한 도면이다.
도 1에 따르면 본 발명에 따른 예시적인 통신 시스템은 통신 장치(10), 하나 이상의 외부 장치(20)를 포함한다. 본 발명의 통신 장치(10)와 외부 장치(20)는 근거리 통신 표준에 따라 연결되고 데이터를 송수신할 수 있다.
도 1을 통해 본 통신 시스템을 살펴보면, 통신 장치(10)는 하나 또는 바람직하게는 복수의 근거리 통신 표준을 통해서 데이터를 전송하고 수신할 수 있는 장치이다. 예를 들어 통신 장치(10)는 유선의 근거리 통신 표준에 따라 유선에 연결되어 있는 외부 장치(20)에 데이터를 전송하고 이 외부 장치(20)로부터 데이터를 수신할 수 있다. 또한 통신 장치(10)는 무선의 근거리 통신 표준에 따라 무선 매체에 연결되어 있는 외부 장치(20)에 무선 데이터를 전송하고 이 외부 장치(20)로부터 무선 데이터를 수신할 수 있다. 이와 같이, 통신 장치(10)는 복수의 근거리 통신 표준에 따르는 유무선의 근거리 네트워크에 연결 가능하며 각 근거리 통신 표준에 따라 특정 외부 장치(20)와 데이터 통신이 가능하다.
본 발명에 따른 통신 장치(10)에 대해서는 도 2 이하에서 상세히 살펴보도록 한다.
외부 장치(20)는 통신 장치(10)와 지정된 통신 표준에 따라 연결되어 데이터를 송수신할 수 있는 장치이다. 외부 장치(20)는 무선 매체를 통해서 통신 장치(10)에 연결되거나 유선 매체를 통해서 통신 장치(10)에 연결된다.
예를 들어 외부 장치(20)는 지그비 통신 표준이나 블루투스 통신 표준을 통해서 통신 장치(10)에 연결되고 통신 장치(10)와 무선으로 데이터를 송수신할 수 있다. 또는 외부 장치(20)는 이더넷 표준 등을 통해서 유선으로 통신 장치(10)에 연결되고 통신 장치(10)와 유선으로 데이터를 송수신할 수 있다.
외부 장치(20)는 유선 또는 무선의 근거리 네트워크를 통해서 통신 장치(10)에 연결되는 데, 통신 장치(10)는 두 가지 유형의 또는 그 이상의 근거리 통신 표준을 지원한다. 예를 들어 통신 장치(10)는 제1 근거리 통신을 통해서 특정 하나 이상의 외부 장치(20)에 연결되고 다른 표준의 제2 근거리 통신을 통해서 하나 이상의 외부 장치(20)에 연결되어 서로 데이터를 송수신한다.
제1 근거리 통신 및 제2 근거리 통신은 각각 적어도 통신 매체, 물리 레이어(Physical Layer) 표준(규약) 및 데이터링크 레이어(Data-Link Layer) 표준으로 정의된다. 예를 들어 제1 근거리 통신은 이더넷 표준을 나타내고 제2 근거리 통신은 와이파이나 지그비, 블루투스 등의 특정 표준을 나타낸다.
제1 근거리 통신 및 제2 근거리 통신을 통해서 통신 장치(10)는 다양한 통신 유형의 외부 장치(20)와 데이터를 수신하고 송신할 수 있다.
도 2는 통신 장치(10)의 예시적인 블록도를 도시한 도면이다. 도 2의 블록도는 바람직하게는 하드웨어 블록도를 나타낸다.
도 2에 따르면 통신 장치(10)는 프로세서(100), 메모리(200), 통신 칩셋(300), 적어도 2개의 파이(Phy) 칩(400)을 포함한다. 이중 일부의 블록은 설계 변형 예에 따라 생략될 수 있다. 예를 들어 하나 또는 복수의 파이 칩(400)은 통신 칩셋(300) 내에 내장될 수도 있다. 또는 도 2에 포함되지 않은 다른 블록이 이 통신 장치(10)에 더 포함될 수도 있다. 예를 들어 통신 장치(10)는 사용자 입력을 수신하기 위한 입력 인터페이스 및/또는 이미지 등을 출력하기 위한 디스플레이, 신호 출력을 위한 LED(Light Emitting Diode), 파일 등을 저장하기 위한 하드디스크 등을 더 구비할 수도 있다.
프로세서(100)는 메모리(200)에 저장된 프로그램을 이용하여 통신 장치(10)를 제어한다. 프로세서(100)는 프로그램을 로딩하여 프로그램의 명령어 코드를 실행할 수 있도록 구성된다. 프로세서(100)는 소위 CPU(Central Processing Unit), MPU(Micro Processor Unit), 마이크로 콘트롤러(Micro Controller) 등으로 지칭될 수 있다.
프로세서(100)는 내부 인터페이스를 통해서 데이터를 통신 칩셋(300)으로 전달하고 통신 칩셋(300)으로부터 데이터를 수신한다. 프로세서(100)와 통신 칩셋(300) 사이에 송수신되는 데이터는 근거리 통신 표준을 통해서 외부 장치(200)로 송출되거나 외부 장치(200)로부터 수신되는 데이터를 포함한다. 바람직하게, 프로세서(100)에서 통신 칩셋(300)으로 전달되는 데이터는 OSI 7 레이어 모델 상의 트랜스포트 레이어 이상의 응용레이어에서 이용되는 데이터이다. 또한 통신 칩셋(300)으로부터 프로세서(100)로 전달되는 데이터 역시 응용레이어에서 이용되는 데이터이다.
프로세서(100)는 내부 인터페이스를 통해서 통신 칩셋(300)을 액세스하고 제어할 수 있는 데, 프로세서(100)는 내부 인터페이스의 주소 버스를 통해 통신 칩셋(300) 내의 특정 레지스터를 선택하고 해당 레지스터에 설정값(데이터)을 셋팅할 수 있다.
프로세서(100)는 이러한 레지스터들에 대한 설정으로 다수의 통신채널을 구성할 수 있다. 특히 프로세서(100)는 적어도 두 타입 이상의 근거리 통신을 통해서 여러 외부 장치(20)들과의 통신채널들을 설정 가능하다. 통신채널들 각각은 대응하는 설정 레지스터들의 설정값(데이터)을 이용해서 외부 장치(20)에 연결된다. 각각의 통신채널은 다양한 타입 중 특정 타입을 나타내는 설정데이터로 정의되고 이러한 타입의 설정데이터들을 활용하여 제1 또는 제2 근거리 통신을 통해 수신된 통신 패킷들이 본 발명에 따라 필터링된다.
내부 인터페이스는 예를 들어 시리얼 인터페이스이거나 병렬 인터페이스일 수 있다. 예를 들어 내부 인터페이스는 SPI(Serial Peripheral Interface Bus), UART(Universal asynchronous receiver/transmitter), USB(Universal Serial bus ), I2C 등과 같은 시리얼 인터페이스이거나 프로세서(100)에서 제공하는 8 비트, 16 비트, 32 비트 등의 병렬 버스일 수 있다.
메모리(200)는 휘발성 메모리 및/또는 비휘발성 메모리를 포함한다. 예를 들어 메모리(200)는 DRAM 타입의 휘발성 메모리나 NAND나 NOR 타입의 비휘발성 메모리를 하나 이상 포함한다.
메모리(200)는 각종 프로그램과 데이터를 저장한다. 예를 들어 메모리(200)는 응용레이어 상에서 통신 처리를 수행하기 위한 프로그램을 저장하고 통신을 통해 송신할 데이터, 파일이나 수신된 데이터, 파일 등을 저장한다.
통신 칩셋(300)은 0SI 7 레이어 모델 상에서 여러 레이어를 처리하도록 구성된다. 예를 들어 통신 칩셋(300)은 데이터링크 레이어, 네트워크 레이어 및 트랜스포트 레이어를 처리하도록 구성된다. 통신 칩셋(300)이 트랜스포트 레이어로부터 데이터링크 레이어까지의 패킷 처리가 가능하여 프로세서(100)는 각 레이어의 처리를 담당할 필요없이 실제 송수신할 응용 데이터만을 처리하도록 구성된다.
통신 칩셋(300)은 적어도 연속적인 3개의 레이어를 계층적으로 처리하도록 구성된다. 통신 칩셋(300)은 각 단계별 레이어의 데이터 처리를 통해서 계층적으로 패킷 필터링이 가능하다. 계층적 패킷 필터링은 여러 통신채널을 위해서 설정되는 레지스터들을 이용하여 이루어진다.
통신 칩셋(300)에서의 데이터링크 레이어, 네트워크 레이어 및 트랜스포트 레이어의 처리는 바람직하게는 하드웨어 로직으로 구성된다. 이와 같이 통신 칩셋(300)은 프로세서(100) 등에 의한 프로그램의 수행 없이도 각 레이어의 처리가 가능하다.
통신 칩셋(300)이 처리하는 각 레이어는 다수의 표준 규격을 지원하도록 구성된다. 예를 들어 통신 칩셋(300)의 트랜스포트 레이어는 TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)를 처리하며 ICMP(Internet Control Message Protocol)를 처리하도록 구성된다. 통신 칩셋(300)의 네트워크 레이어는 IPv4(Internet Protocol version 4)와 동시에 IPv6(Internet Protocol version 6)를 처리하며 ICMPv6를 처리하도록 구성된다. 또한 네트워크 레이어는 IPv6와 인터페이스할 수 있는 BT(Bluetooth) 적응 레이어(Adaptation Layer)나 6LowPAN(IPv6 over Low power Wireless Personal Area Networks)과 인터페이스할 수 있는 6LowPAN 적응 레이어를 더 구비할 수 있다. 또한 데이터링크 레이어는 이더넷 MAC(Media Access Control), 와이파이 MAC, 6LowPAN MAC, BT(Bluetooth) MAC 등을 처리하도록 구성된다. 각 MAC의 처리를 통해서 파이 칩(400)으로 전달될 물리 레이어 데이터가 생성된다.
파이(PHY) 칩(140)은 통신 칩셋(300)에 유선으로 연결되어 유선 신호를 통해서 물리 레이어 데이터를 송수신한다. 또한 파이 칩(400)은 통신 칩셋(300)으로부터 수신된 물리 레이어 데이터를 물리 레이어 표준에 따라 인코딩하여 송출한다. 예를 들어 파이 칩(400)은 이더넷 아래의 물레레이어 표준에 따라 데이터를 인코딩하여 유선을 통해서 송출한다. 또는 파이 칩(400)은 무선 표준에 따라 데이터를 인코딩하여 지정된 주파수로 구비된 안테나를 통해서 송출한다.
하나의 파이 칩(400)은 하나의 근거리 통신 표준에 대응하고 다른 하나의 파이 칩(400)은 다른 근거리 통신 표준에 대응할 수 있다. 예를 들어 하나의 파이 칩(400)은 제1 근거리 통신 표준에 따르는 물리 레이어의 신호 처리를 담당하고 다른 하나의 파이 칩(400)은 제2 근거리 통신 표준에 따르는 물리 레이어의 신호 처리를 담당한다.
파이 칩(400)은 설계 변형에 따라 통신 칩셋(300) 내에 내장될 수도 있다.
도 3은 통신 칩셋(300)의 예시적인 하드웨어 블록도를 도시한 도면이다. 도 3의 블록도는 통신 칩셋(300)에 구현된 하드웨어 로직을 기능과 연결 관계에 따라 블록 형태로 도시한 도면이다. 여러 통신채널을 설정 가능한 환경하에서 불필요한 패킷을 필터링하는 구조를 중심으로 이하 살펴보도록 한다.
도 3의 블록도를 통해서 통신 칩셋(300)에 대해서 좀 더 살펴보면, 통신 칩셋(300)은 호스트 인터페이스(301), TX/RX 버퍼(303), 레지스터 맵(305), 복수의 트랜스포트 레이어 모듈(307), 제2 처리 모듈(309), 복수의 네트워크 레이어 모듈(311), 제1 처리 모듈(313), 복수의 데이터링크 모듈(315), 하나 이상의 파이 인터페이스(317), 주소할당 모듈(319), 데이터링크타입 결정모듈(321) 및 전송데이터 제어모듈(323)을 포함한다. 도 3의 통신 칩셋(300)은 하드웨어 로직으로 구성되고 각 블록의 제어에 필요한 각종 게이트 로직으로 구성된다.
호스트 인터페이스(301)(Host Interface)는 프로세서(100)와 인터페이스하기 위한 로직이다. 호스트 인터페이스(301)는 프로세서(100)가 구비하고 있는 내부 인터페이스의 데이터, 제어 신호를 처리할 수 있도록 구성된다. 호스트 인터페이스(301)는 프로세서(100)와 연동하여 특정 주소에 특정 데이터를 기록하거나 특정 주소에 기록된 데이터를 프로세서(100)로 제공 가능하다. 예를 들어 호스트 인터페이스(301)는 프로세서(100)에 의한 제어로 TX/RX 버퍼(303)에 전송되어야하는 데이터(응용레이어 이상의 데이터)를 기록하거나 읽어 들일 수 있고 레지스터 맵(305)에 각종 설정 데이터를 기록하고 읽어 들일 수 있다.
TX/RX 버퍼(303)(Buffer)는 근거리통신을 통해서 전송되어야 하거나 수신된 응용레이어 상의 데이터를 저장하는 버퍼이다. TX/RX 버퍼(303)는 통신 칩셋(300)에서 설정 및 처리 가능한 통신채널의 개수만큼의 독립적인 저장 공간을 프로세서(100)에게 제공한다. 통신채널은 트랜스포트 상위의 응용레이어 상의 설정 채널을 나타낼 수 있고 예를 들어 소켓(Socket)을 나타낸다. 이와 같이 본 발명에 따른 통신 칩셋(300)은 독립적인 통신채널을 복수개(예를 들어 8개) 제공하고 프로세서(100)는 TX/RX 버퍼(303)의 독립적인 저장 공간에 전송해야할 응용 데이터를 기록하고 수신된 응용 데이터를 읽어 들일 수 있다.
레지스터 맵(305)(Registers Map)은 각종 설정 데이터를 저장하고 각종 상태 등을 저장한다. 특히 레지스터 맵(305)은 근거리통신을 통한 여러 복수의 외부 장치(20)와의 통신채널의 설정을 가능케한다.
도 4는 통신채널의 설정에 필요한 레지스터를 도시하고 있는 예시적인 레지스터 맵(305)의 내부 구조를 도시한 도면이다. 각각의 레지스터는 호스트 인터페이스(301)를 통해서 프로세서(100)가 기록하고 액세스할 수 있다.
도 4에서 알 수 있는 바와 같이, 레지스터 맵(305)은 통신 장치(10)의 로컬 주소 설정을 위한 로컬주소 설정 레지스터(의 영역)를 포함하고 통신 칩셋(300)에서 제공하고 있는 통신채널들을 각각 제어하고 모니터링 가능한 통신채널 레지스터(의 영역)들을 포함한다.
로컬주소 설정 레지스터는 하나 이상의 네트워크 레이어 상의 주소와 하나 이상의 데이터링크 레이어 상의 주소를 설정할 수 있다. 바람직하게는 로컬주소 설정 레지스터는 지원하는 2개 이상의 네트워크 레이어 주소와 지원하는 2개 이상의 데이터링크 레이어 주소를 설정할 수 있는 레지스터들을 포함할 수 있다.
예를 들어, 로컬주소 설정 레지스터는 IPv4 주소 레지스터, IPv6 주소 레지스터를 네트워크 레이어 주소를 설정하기 위한 레지스터로서 가지고 이더넷 MAC 주소 레지스터, 지그비 MAC 주소 레지스터, BT MAC 주소 레지스터를 데이터링크 레이어 주소를 설정하기 위한 레지스터로서 가질 수 있다. 특정 주소는 다른 주소와 동일한 레지스터를 공유 가능하다. 예를 들어 이더넷 MAC 주소 레지스터 중 하위 3 바이트(byte) 영역은 지그비 MAC 주소 레지스터와 동일한 영역일 수 있다.
또한, 로컬주소 설정 레지스터는 각 네트워크 레이어 주소의 타입을 설정하는 레지스터를 더 포함한다. 예를 들어 로컬주소 설정 레지스터는 IPv4의 주소가 고정타입 또는 DHCPv4(DHCP(dynamic host configuration protocol) for IPv4) 타입을 지정하는 IPv4 주소 타입 레지스터를 포함한다. 또한 로컬주소 설정 레지스터는 IPv6의 주소가 고정타입 또는 DHCPv6(DHCP for IPv6) 또는 자동 설정(Auto Configuration) 타입을 지정하는 IPv6 주소 타입 레지스터를 포함한다. 주소 타입 레지스터에 의해서 하나의 통신 칩셋(300)의, 구체적으로는 하나의 통신 장치(10)의, 두개의 네트워크 주소가 설정된다.
이와 같이, 로컬주소 설정 레지스터는 통신 장치(10)에 대하여 2개 이상의 네트워크 레이어 주소를 설정 가능케하고(거나) 2개 이상의 데이터링크 레이어 주소를 설정 가능케한다.
레지스터 맵(305)은 통신 칩셋(300)이 지원가능한 통신채널에 관련된 각종 설정, 상태를 기록하기 위한 통신채널 설정 레지스터들(의 영역)을 포함한다. 각각의 통신채널 설정 레지스터들은 하나의 통신채널에 대응한다.
통신채널 설정 레지스터는 통신 칩셋(300)에 의해서 제공가능한 여러 레이어의 타입들 중에서 어떤 타입의 레이어를 이용하는 지를 설정 가능케 하고 나아가 각 통신채널의 상태를 모니터링할 수 있도록 한다. 통신채널 설정 레지스터는 트랜스포트 레이어 타입 레지스터, 네트워크 레이어 타입 레지스터 및/또는 데이터링크(또는 파이) 레이어 타입의 레지스터를 포함한다. 통신채널 설정 레지스터에 대해서 설정된 각 타입에 따라, 특정 통신채널은 특정(specify)되고 이후 응용 데이터의 송수신이 가능하다.
예를 들어, 트랜스포트 레이어 타입 레지스터는 TCP나 UDP나 ICMP 등의 타입으로 설정 가능하다. 예를 들어 네트워크 레이어 타입 레지스터는 IPv4나 IPv6 등의 타입으로 설정 가능하다. 예를 들어 데이터링크 레이어 타입 레지스터는 이더넷, 지그비나 블루투스 타입으로 설정된다. 또는 데이터링크 레이어 타입의 설정이 불가능한 경우 등에 데이터링크 레이어 타입 레지스터는 자동 설정으로 설정 될 수 있다. 자동 설정에 따라 특정 데이터링크 레이어 타입이 통신 칩셋(300)에 의해서 식별될 수 있다. 이에 대해서는 이후 살펴보도록 한다.
통신채널 설정 레지스터는 또한 커맨드 레지스터를 더 포함한다. 커맨드 레지스터는 해당 통신채널을 제어하기 위한 레지스터로서 프로세서(100)에 의해서 기록될 수 있다. 커맨드 레지스터는 응용레이어에서 활용가능한 명령어 집합 중 하나 이상을 기록할 수 있도록 구성된다. 예를 들어 프로세서(100)는 통신채널(소켓)의 오픈(Open), 클로즈(Close), 전송(Send), 수신(Receive) 등의 명령을 이 커맨드 레지스터에 기록할 수 있다. 이 컨맨드 레지스터에 따라 통신 칩셋(300)은 지정된 기능을 수행한다.
통신채널 설정 레지스터는 또한 통신채널의 현재 상태를 알 수 있는 상태 레지스터를 더 포함한다. 상태 레지스터는 통신채널이 오픈되어 있는지 또는 클로즈 되어 있는지를 식별 가능하고 각 통신채널을 처리하는 레이어의 특정 통신 프로토콜의 상태를 저장할 수 있다. 예를 들어 상태 레지스터는 TCP의 상태(Status), 시퀀스(Sequence) 넘버, ACK 넘버 등을 저장한다. TCP의 상태는, 예를 들어 TCP 통신 프로토콜에서 인지 가능한, 통신채널이 끊어진(종료된) 상태인지, 연결을 시도하는 상태인지, 연결되어 있는 상태인지, 연결 종료를 시도하는 상태인지 등을 나타낼 수 있다. TCP의 상태는 이후 패킷 필터링에 이용 가능하다. 시퀀스 넘버 및 ACK 넘버는 TCP 패킷의 송신과 수신에 따라 하드웨어 로직에 의해 자동으로 갱신된다.
통신채널 설정 레지스터는 도 4에서 도시하지 않는 각종 설정 데이터를 더 저장할 수 있다. 예를 들어 특정 통신채널의 설정 레지스터는 TCP나 UDP 등에서 이용 가능한 본 통신 칩셋(300) 또는 통신 장치(10)의 로컬 포트 넘버와 통신채널을 통해서 연결되는 상대방 장치의 포트 넘버를 저장한다. 또한 특정 통신채널의 설정 레지스터는 통신채널에 연결되는 상대방 장치의 IP 주소를 더 포함한다.
도 4에서 알 수 있는 바와 같이, 레지스터 맵(305)은 통신 장치(10)의 로컬 주소를 설정할 수 있고 하나 이상의 통신채널을 설정할 수 있다. 또한 레지스터 맵(305)의 각종 설정 데이터들은 이하에서 구체적으로 살펴볼 바와 같이 수신되는 패킷의 필터링에 이용된다.
또한 레지스터 맵(305)는 통신 칩셋(300)에서 제공가능한 다수의 통신채널을 독립적으로 설정 가능하다. 예를 들어 본 발명에 따른 통신 칩셋(300)은 8개(N=8)의 통신채널을 설정 가능하며 이에 따라 TX/RX 버퍼(303)에 8개의 독립적인 송수신 버퍼가 할당된다.
다시 도 3의 각 블록을 살펴보면, 하나 이상의 파이 인터페이스(317)(PHY Interface)는 지정된 파이 칩(400)에 연결되어 파이 칩(400)으로부터 물리 레이어 정의에 따른 물리 신호를 수신하고 이를 데이터로 복원한다. 복원된 물리 레이어 데이터는 1대1로 연결된 데이터링크 모듈(315)로 전달한다. 파이 인터페이스(317)는 또한 데이터링크 모듈(315)로부터 물리 레이어 데이터를 수신하고 이를 인코딩하여 유선이나 무선 매체를 통해서 송출할 수 있다.
복수의 데이터링크(Data-Link Layer) 모듈은 대응하는 파이 인터페이스(317)로부터 물리 레이어 데이터를 수신하고 지정된 데이터링크 레이어 타입에 따른 데이터링크 레이어 처리를 수행한다. 예를 들어 하나의 데이터링크 모듈(315)은 이더넷 MAC 처리를 수행할 수 있고 수신된 데이터에서 MAC 패킷을 식별하고 MAC 패킷 상의 페이로드를 추출 가능하다. 다른 하나의 데이터링크 모듈(315)은 지그비 MAC 처리를 수행할 수 있고 수신된 데이터에서 지그비 MAC 패킷을 식별하고 MAC 패킷 상의 페이로드를 추출 가능하다. 또 다른 하나의 데이터링크 모듈(315)은 BT MAC 처리를 수행할 수 있고 수신된 데이터에서 BT MAC 패킷을 식별하고 MAC 패킷 상의 페이로드를 추출 가능하다.
각각의 데이터링크 모듈(315)은 레지스터 맵(305)에 포함되는 대응 주소(예를 들어 이더넷 MAC 주소, 지그비 MAC 주소, BT MAC 주소)를 이용하여 파이 인터페이스(317)를 통해서 수신된 물리 레이어 데이터의 상위 레이어로의 전송 여부를 결정한다.
또한 각각의 데이터링크 모듈(315)은 상위의 모듈(예를 들어 제1 처리 모듈(313))에 연결되어 수신된 네트워크 레이어 패킷을 MAC 패킷으로 인코딩하여 대응하는 파이 인터페이스(317)로 출력할 수 있다.
제1 처리 모듈(313)은 복수의 데이터링크 모듈(315)에 연결되어 복수의 데이터링크 모듈(315)로부터 추출된 데이터링크 데이터(데이터링크 패킷의 페이로드)를 레지스터 맵(305)에 저장되어 있는 복수 통신채널의 설정 데이터를 이용하여 필터링한다.
예를 들어, 제1 처리 모듈(313)은 데이터링크 데이터의 네트워크 레이어 타입을 결정한다. 하나의 데이터링크 모듈(315)(예를 들어 이더넷 MAC 모듈)은 IPv4, IPv6 네트워크 레이어 타입을 가질 수 있고 다른 하나의 데이터링크 모듈(315)(예를 들어 지그비 MAC 모듈이나 BT MAC 모듈)은 IPv6 네트워크 레이어 타입을 가진다. 또한 이더넷 MAC 모듈은 데이터링크 데이터의 추출시에 IPv4 또는 IPv6 타입의 식별이 가능하며 이 타입 데이터가 제1 처리 모듈(313)로 전달된다.
이와 같이, 제1 처리 모듈(313)은 데이터링크 데이터를 추출한 모듈에 의해서 또는 해당 모듈로부터 수신된 타입 데이터에 의해서 데이터링크 데이터의 네트워크 레이어 타입을 결정 가능하다.
제1 처리 모듈(313)은 데이터링크 데이터에 대해서 결정된 네트워크 레이어 타입과 레지스터 맵(305)의 모든 통신채널의 설정 레지스터에 포함된 네트워크 레이어 타입들의 비교로 데이터링크 모듈(315)로부터의 데이터링크 데이터를 필터링한다.
즉, 제1 처리 모듈(313)은 모든 통신채널의 네트워크 레이어 타입이 동일한 타입인 경우(AND나 NOR 연산을 통해)로서 수신된 데이터링크 데이터의 결정된 네트워크 레이어 타입과 통신채널의 네트워크 레이어 타입이 다른 경우, 해당 데이터링크 데이터를 필터링하고 이후의 네트워크 레이어 모듈(311)로 출력하지 않을 수 있다. 이러한 비교는 하드웨어 비교기(comparator)를 통해서 이루어진다.
즉, 통신채널의 네트워크 레이어 타입들 중 동일한 타입이 존재하는 경우에 제1 처리 모듈(313)은 데이터링크 데이터를 네트워크 레이어 모듈(311)로 출력한다. 네트워크 레이어 모듈(311)로의 데이터링크 데이터의 출력은 모든 네트워크 레이어 모듈(311)로 출력될 수도 있으나 바람직하게는 지정된 네트워크 레이어 모듈(311)로 출력된다.
또한 제1 처리 모듈(313)은 데이터링크 레이어 타입에 더 기초해서 데이터링크 데이터를 필터링 가능하다. 예를 들어 제1 처리 모듈(313)은 모든 통신채널의 데이터링크 레이어 타입이 동일한 타입인 경우로서 수신된 데이터링크 데이터의 대응하는 데이터링크 모듈(315)이 다른 경우, 해당 데이터링크 데이터를 제1 처리 모듈(313)이 필터링한다. 이러한 비교는 하드웨어 로직으로 구성된 비교기를 통해서 이루어진다.
여기서, 통신채널이 오픈되지 않을 때에는 데이터링크 레이어 타입이나 네트워크 레이어 타입은 널(Null) 타입으로 설정되거나 제1 처리 모듈(313)에 의해 감지될 수 있고 이 널 타입은 데이터링크 모듈(315)의 모든 타입과는 다른 타입으로 제1 처리 모듈(313)에 의해서 인식된다. 즉, 제1 처리 모듈(313)은 통신채널이 오픈된 타입에 대해서만 비교를 통한 후속 모듈로의 데이터 출력이 가능하고 오픈된 통신채널이 없는 경우에는 비록 MAC 주소가 일치되는 경우라도 필터링된다.
이와 같이, 데이터링크 레이어 타입이 모두 동일하거나 통신채널의 데이터링크 레이어 타입들 중 하나라도 동일한 타입이 존재하는 경우에 제1 처리 모듈(313)은 데이터링크 데이터를 네트워크 레이어 모듈(311)로 출력한다. 데이터링크 레이어 타입을 이용한 필터링과 네트워크 레이어 타입을 이용한 필터링은 같이 수행될 수 있다. 예를 들어 먼저 데이터링크 레이어 타입에 대한 필터링 후에 네트워크 레이어 타입에 대한 필터링이 제1 처리 모듈(313)에 의해서 이루어질 수 있다.
제1 처리 모듈(313)은 또한 네트워크 레이어 모듈(311)로부터 수신된 네트워크 레이어 패킷을 지정된 특정 데이터링크 모듈(315)로 전달할 수 있다.
복수의 네트워크 레이어(Network Layer) 모듈(311)은 제1 처리 모듈(313)에 연결되어 제1 처리 모듈(313)로부터 데이터링크 데이터를 수신하고 지정된 통신 프로토콜에 따른 네트워크 레이어 처리를 수행한다.
예를 들어, 하나의 네트워크 레이어 모듈(311)은 IPv4 통신 프로토콜을 처리하고 다른 하나의 네트워크 레이어 모듈(311)은 IPv4와 달리 주소 체계가 더 확장된 IPv6 통신 프로토콜을 처리하도록 구성된다.
IPv6를 처리하는 네트워크 레이어 모듈(311)은 데이터링크 데이터를 적응시키기 위한 중간단계의 네트워크 레이어 모듈(311)과 연계하여 네트워크 레이어에서 수행되어야 하는 각종 처리를 수행한다. 예를 들어 IPv6 네트워크 레이어 모듈(311)은 지그비 확장을 위한 6LowPAN 적응 모듈(311)에 연결되거나 블루투스 확장을 위한 BT 적응 모듈(311)에 연결되어 적응을 거친 데이터링크 데이터를 처리하도록 구성된다.
네트워크 레이어 모듈(311)은 또한 상위의 제2 처리 모듈(309) 등으로부터 수신된 트랜스포트 패킷을 네트워크 레이어 패킷으로 구성하여 제1 처리 모듈(313)로 전달 가능하다.
제2 처리 모듈(309)은 복수의 네트워크 레이어 모듈(311)에 연결되어 네트워크 레이어 모듈(311)로부터의 네트워크 레이어 데이터(네트워크 패킷의 페이로드)를 레지스터 맵(305)에 저장되어 있는 복수 통신채널의 설정 데이터를 이용하여 필터링한다.
구체적으로, 제2 처리 모듈(309)은 네트워크 레이어 데이터에 대응하는 트랜스포트 레이어 타입을 결정하고 결정된 트랜스포트 레이어 타입과 통신채널에 대해서 설정되어 있는 모든 트랜스포트 레이어 타입의 비교로 네트워크 레이어 데이터를 필터링하거나 상위 레이어로 출력한다.
즉, 제2 처리 모듈(309)은 모든 통신채널의 트랜스포트 레이어 타입이 동일한 타입인 경우(AND나 NOR 연산을 통해)로서 수신된 네트워크 레이어 데이터의 결정된 트랜스포트 레이어 타입과 통신채널의 트랜스포트 레이어 타입이 다른 경우, 해당 네트워크 레이어 데이터를 필터링한다. 이러한 비교는 하드웨어 비교기(comparator)를 통해서 이루어진다.
이와 같이 제2 처리 모듈(309)은 동일한 트랜스포트 레이어 타입이 존재하지 않는 경우 해당 네트워크 레이어 데이터를 제거(필터링)하고 존재하는 경우 이 네트워크 레이어 데이터를 출력한다.
또한 제2 처리 모듈(309)은 트랜스포트 레이어 모듈(307)에 연결되어 트랜스포트 레이어 모듈(307)로부터의 트랜스포트 패킷을 수신하고 이를 지정된 네트워크 레이어 모듈(311)로 전달한다.
통신 칩셋(300)은 복수의 트랜스포트 레이어(Transport Layer) 모듈(307)을 포함하고 트랜스포트 레이어 모듈(307)은 제2 처리 모듈(309)에 연결되어 제2 처리 모듈(309)로부터 네트워크 레이어 데이터를 수신하고 지정된 트랜스포트 레이어 처리를 수행한다.
예를 들어, 하나의 트랜스포트 레이어 모듈(307)(TCP 모듈)은 네트워크 레이어 데이터로부터 TCP 패킷을 인식하고 TCP 패킷에서 헤더와 테일을 제외한 페이로드의 TCP 데이터를 추출하고 해당 TCP 데이터를 TX/RX 버퍼(303)로 출력하여 특정 통신채널을 위한 버퍼에 기록한다. 또한 이 TCP 모듈(307)은 특정 통신채널의 송수신 상태를 대응하는 레지스터 맵(305)의 설정 레지스터에 기록 가능하다. 예를 들어 TCP 모듈(307)은 통신채널을 트랜스포트 레이어 타입, 데이터링크 레이어 타입, 네트워크 레이어 타입 및 포트 넘버 등을 이용하여 식별한다. TCP 모듈(307)은 식별된 통신채널의 상태 레지스터에 TCP 패킷의 수신과 송신에 따라 상태, 시퀀스 넘버, ACK 넘버 등을 기록한다.
다른 하나의 트랜스포트 레이어 모듈(307)(UDP 모듈)은 네트워크 레이어 데이터로부터 UDP 패킷을 인식하고 페이로드의 UDP 데이터를 추출하고 TX/RX 버퍼(303)로 출력하여 특정 통신채널을 위한 버퍼에 기록한다.
또 다른 하나의 트랜스포트 레이어 모듈(307)(ICMP 모듈)은 네트워크 레이어 데이터로부터 ICMP 메시지를 인식하고 ICMP 메시지에 따른 처리를 수행한다. 예를 들어 이 트랜스포트 레이어 모듈(307)은 핑(Ping) 메시지를 처리할 수 있다.
특정 하나의 트랜스포트 레이어 모듈(307)(TCP 모듈)은 트랜스포트 패킷에 대응하는 통신채널의 송수신상태를 이용하여 추출된 트랜스포트 레이어 데이터(트랜스포트 패킷의 페이로드)를 필터링 가능하다. 예를 들어 TCP 모듈(307)은 상태로 기록된 시퀀스 넘버와 ACK 넘버와 네트워크 레이어 모듈(311) 등을 통해서 수신된 트랜스포트 패킷의 시퀀스 넘버와 ACK 넘버의 비교로 추출된 트랜스포트 레이어 데이터를 필터링 가능하다.
이와 같이 각각의 트랜스포트 레이어 모듈(307)은 트랜스포트 레이어 상의 서로 다른 표준 프로토콜에 따른 처리를 수행한다. 또한 각각의 트랜스포트 레이어 모듈(307)은 TX/RX 버퍼(303)의 응용 데이터를 트랜스포트 패킷으로 구성하여 제2 처리 모듈(309)로 전달할 수 있다.
한편, 제1 처리 모듈(313)은 데이터링크 데이터의 타입 데이터를 상위 레이어(예를 들어 네트워크 레이어 모듈(311)이나 트랜스포트 레이어 모듈(307))로 전달하고 제2 처리 모듈(309)은 네트워크 레이어 데이터의 타입 데이터를 상위 레이어(예를 들어 트랜스포트 레이어 모듈(307))로 전달 가능하다. 전달되는 타입은 신호 라인을 통해서 전달된다.
트랜스포트 레이어 모듈(307)은 최종적으로 추출된 트랜스포트 레이어 데이터를 TX/RX 버퍼(303)로 출력할 것인지 또는 필터링(제거)할 것인지를 이 데이터링크 레이어 타입과 네트워크 레이어 타입으로 또한 결정할 수 있다.
예를 들어, 트랜스포트 레이어 모듈(307)은 제1 처리 모듈(313)로부터 전달받거나 결정된 데이터링크 데이터의 타입, 제2 처리 모듈(309)로부터 전달받거나 결정된 네트워크 레이어 타입, 및 해당 트랜스포트 레이어 모듈(307)의 타입을 통신채널의 대응하는 타입과 비교한다. 일치하는 통신채널이 존재하는 경우에 트랜스포트 레이어 모듈(307)은 해당 통신채널을 위한 TX/RX 버퍼(303)(의 통신채널 영역)에 추출된 트랜스포트 레이어 데이터를 기록한다. 그렇지 않은 경우에는 이 트랜스포트 레이어 데이터는 제거된다.
이와 같이, 본 발명에 따른 통신 칩셋(300)은 각 레이어를 통해서 계층적으로 패킷이 필터링된다. 특히 설정된 복수의 통신채널의 설정 데이터를 활용하여 설정 데이터와 수신된 패킷의 데이터의 비교로 필터링이 진행된다.
이에 따라, 통신채널을 통해 연결되지 않은 외부 장치(20)나 임의의 외부 장치(20)로부터의 통신 공격으로부터 보호된다. 특히 프로세서(100)를 이용하지 않고 하드웨어 로직을 통해서 필터링이 이루어져, 프로세서(100)를 포함하는 통신 장치(10)를 안전하게 보호할 수 있다. 또한 레이어별 필터링에 의해서 전력 소비를 효과적으로 제어 가능하다. 이러한 구조를 통해서 통신 장치(10)는 외부의 무작위 공격이나 의도한 공격을 받지 않을 수 있고 안전하게 보호될 수 있다.
주소할당 모듈(319)은 로컬주소 설정 레지스터의 주소의 타입에 따라 통신 장치(10)를 위한 하나 이상의 네트워크 레이어 주소(예를 들어 IPv4 주소나 IPv6 주소)를 동적으로 할당한다.
예를 들어, IPv4 주소 타입이 자동 설정을 위한 DHCPv4 타입으로 설정되어 있는 경우에 주소할당 모듈(319)은 트랜스포트 레이어 모듈(307)인 ICMP 모듈을 제어하여 IPv4용 주소를 자동 획득하고 이를 IPv4 주소 레지스터에 할당(기록)한다.
또는, IPv6 주소 타입이 DHCPv6 또는 자동 설정 등으로 설정되어 있는 경우에, 주소할당 모듈(319)은 네트워크 레이어 모듈(311)에 더 포함될 수 있는 ICMPv6 모듈을 통해서 IPv6용 주소를 획득하고 이를 IPv6 주소 레지스터에 할당한다.
본 발명에 따른 통신 칩셋(300)은 데이터링크타입 결정모듈(321)을 더 포함한다. 네트워크 주소(예를 들어 IP 주소 등)를 통해서 다른 외부 장치(20)와 연결시에, 일반적으로 어떠한 근거리통신을 통해서 연결되어야 하는 지를 알기 쉽지 않다. 데이터링크타입 결정모듈(321)은 통신채널의 설정시에 통신채널 설정 레지스터의 데이터링크 레이어 타입 레지스터가 자동 설정으로 설정된 경우에 구동되고 데이터링크 레이어 타입의 자동 결정으로 데이터링크 타입 레지스터를 변경 설정한다. 예를 들어 데이터링크타입 결정모듈(321)은 이더넷이나 지그비나 블루투스 MAC 타입으로 데이터링크 레이어 타입을 설정할 수 있다.
데이터링크타입 결정모듈(321)은, 특정 통신채널의 데이터링크 타입의 자동 설정에 따라, 통신채널에 설정된 트랜스포트 레이어 타입에 대응하는 트랜스포트 레이어 모듈(307), 네트워크 레이어 타입에 대응하는 네트워크 레이어 모듈(311)과 하위의 복수개의 데이터링크 모듈(315)들의 제어로 데이터링크 레이어 타입을 결정하고 이를 데이터링크 레이어 타입 레지스터에 기록 가능하다.
예를 들어 데이터링크타입 결정모듈(321)은, 자동 설정에 따라, TCP 연결 설정(통신채널의 커맨드 레지스터를 이용하여)시에 TCP 모듈(307)을 제어하여 TCP 채널 설정을 위한 TCP 패킷을 구성하도록 한다. 이후 TCP 패킷은 IPv4 모듈(311)을 통해 IP 패킷으로 구성되고 이더넷 MAC 모듈(315)을 통하여 이더넷 패킷이 구성되어 이더넷의 물리 레이어 데이터로 송출된다. 그리고 그 응답은 이더넷 MAC 모듈(315)과 IPv4 모듈(311)과 TCP 모듈(307)을 통해 수신되고 데이터링크타입 결정모듈(321)로 전달될 수 있다. 만일 데이터링크타입 결정모듈(321)이 IPv4 모듈(311)을 통해서 응답을 수신하면 데이터링크타입 결정모듈(321)은 데이터링크 레이어 타입을 이더넷 MAC 타입으로 결정 가능하다.
만일 이더넷 MAC 모듈(315)을 통해서 응답이 수신되지 않는 경우에 데이터링크타입 결정모듈(321)은 IPv6 모듈(311)과 지그비 MAC 모듈(315)이나 BT MAC 모듈(315)등의 다른 데이터링크 모듈(315)을 통해서 물리 레이어 데이터의 송출과 응답을 시도한다. 만일 응답을 수신하는 경우에 데이터링크타입 결정모듈(321)은 데이터링크 레이어 타입을 지그비 MAC 타입이나 BT MAC 타입으로 결정 가능하다.
데이터링크타입 결정모듈은(321)은 통신채널이 UDP 타입으로 설정되는 경우에도 이용될 수 있다. 예를 들어 데이터링크타입 결정모듈은(321)은 UDP 타입이면서 데이터링크 레이어 타입이 자동 설정인 경우에, 해당 통신채널을 통한 전송 명령(커맨드 레지스터)에 후속하여, 매번 데이터링크 레이어 타입을 자동 결정하고 이후 결정된 데이터링크 레이어 타입을 이용하여 TX/RX 퍼버(303)의 응용데이터를 송출할 수 있도록 한다.
이와 같이 데이터링크타입 결정모듈(321)은 네트워크 레이어 이상의 레이어에서의 데이터 패킷의 송출과 그 응답의 수신 여부 확인으로 데이터링크 레이어 타입을 특정 타입으로 결정 가능하다.
전송데이터 제어모듈(323)은 호스트 인터페이스(301)를 통해서 프로세서(100)에 의해 기록된 응용 데이터를 통신채널의 각종 설정 데이터를 이용하여 특정 근거리통신을 통해서 송출하도록 한다. 즉 전송데이터 제어모듈(323)은 통신채널의 설정 데이터를 이용해서 특정 트랜스포트 레이어 모듈(307), 특정 네트워크 레이어 모듈(311) 및 특정 데이터링크 모듈(315)을 제어하여 응용 데이터를 지정된 근거리통신을 통해서 송출한다.
전송데이터 제어모듈(323)에 의한 제어를 살펴보면, 전송데이터 제어모듈(323)은 임의의 통신채널에 기록되는 전송 명령에 따라, TX/RX 버퍼(303)의 특정 응용 데이터를 통신채널에 설정된 트랜스포트 레이어 타입에 따라 지정되는 트랜스포트 레이어 모듈(307)을 구동시킨다.
트랜스포트 레이어 모듈(307)은 응용 데이터를 트랜스포트 패킷으로 구성하고 이를 출력한다. 전송데이터 제어모듈(323)은 제2 처리 모듈(309)을 제어하여 출력된 트랜스포트 패킷을 통신채널의 네트워크 레이어 타입에 따라 지정된 네트워크 레이어 모듈(311)로 전달하도록 하고 이 네트워크 레이어 모듈(311)을 구동시킨다.
여기서, 전송데이터 제어모듈(323)은 트랜스포트 레이어 모듈(307)을 통해 전송되는 트랜스포트 패킷의 전송을 모니터링하고 모니터링에 따라 특정 트랜스포트 패킷을 재전송한다.
예를 들어, 전송데이터 제어모듈(323)은 TCP 패킷의 전송에 대한 ACK 신호의 수신을 모니터링하고 만일 통신 칩셋(300)에 내장되고 하드웨어 로직으로 구비된 내부 타이머에 의해 설정되는 시간 동안에 ACK 신호를 수신된 TCP 패킷을 통해 인식하지 못하면 ACK 신호를 받지 못한 TCP 패킷을 재전송한다. 전송데이터 제어모듈(323)에서의 재전송은 프로세서(100)에 의한 관여 없이 하드웨어 로직으로 자동으로 이루어진다.
네트워크 레이어 모듈(311)은 또한 수신된 트랜스포트 패킷을 네트워크 레이어 패킷으로 구성하고 이를 출력한다. 전송데이터 제어모듈(323)은 제1 처리 모듈(313)을 제어하여 출력된 네트워크 레이어 패킷을 통신채널의 데이터링크 레이어 타입에 따라 지정되는 데이터링크 모듈(315)로 전달하고 해당 데이터링크 모듈(315)을 구동시킨다.
데이터링크 모듈(315)은 네트워크 레이어 패킷을 데이터링크 패킷으로 구성하여 이를 파이 인터페이스(317)를 통해서 출력할 수 있다.
이와 같이, 전송데이터 제어모듈(323)은 통신 장치(10)로부터 외부 장치(20)로 출력되는 응용 데이터의 레이어별 제어가 가능하도록 한다.
반면에 외부 장치(20)로부터 수신된 물리 신호 또는 물리 레이어 데이터는 실제 상위 레이어(예를 들어 트랜스포트 레이어) 처리가 이루어지기 전까지는 본 통신 장치(10)를 위한 데이터인지를 식별할 수 없다.
그러나 본 발명에 따른 통신 칩셋(300)은 제1 처리 모듈(313)과 제2 처리 모듈(309)을 구비하여 단계적인 패킷 필터링이 가능하여 상위 레이어에서의 처리 이전에 이미 필터링이 가능하다. 제1 처리 모듈(313)과 제2 처리 모듈(309)은 바람직하게는 하드웨어 로직으로 구성되며 예를 들어 비교기를 이용하여 통신채널에 설정된 타입과 데이터 수신으로 식별된 타입의 비교로 계층적으로 필터링할 수 있다.
도 5는 외부로부터 물리 신호의 수신시에 계층적 필터링이 이루어지는 제어 흐름의 예를 도시한 도면이다.
도 5의 흐름의 예의 진행이전에 먼저 프로세서(100)는 필요에 따라 호스트 인터페이스(301)를 통해서 레지스터 맵(305)에 접근 가능하고 레지스터 맵(305)에 로컬주소를 설정한다. 프로세서(100)는 두개의 IP 주소를 설정하고 하나의 IP 주소는 IPv4 주소로 설정하고 다른 하나의 IP 주소는 IPv6 로 설정한다. 이와 같이 통신 장치(10)는 서로 다른 네트워크 레이어 타입의 주소를 가진다. 또한 프로세서(100)는 3개의 데이터링크(또는 PHY) 타입을 위한 주소를 설정한다.
IP 주소와 데이터링크 타입 주소의 설정으로 통신 장치(10)는 여러 유형의 근거리통신이 가능하다.
또한 프로세서(100)는 통신채널을 설정한다. 예를 들어 프로세서(100)는 호스트 인터페이스(301)를 통해서 2개의 통신채널을 설정한다. 하나의 통신채널은 TCP, IPv6, 이더넷 타입으로 설정되고 다른 하나의 통신채널은 TCP, IPv6, 지그비 타입으로 설정된다고 가정된다.
이후, BT MAC 모듈(315)이 통신 장치(10)의 BT MAC 주소를 가지는 MAC 패킷을 식별하고 MAC 패킷의 페이로드를 추출하여 추출된 데이터링크 데이터를 제1 처리 모듈(313)로 전달(① 참조)한다.
제1 처리 모듈(313)은 통신채널의 설정 데이터의 데이터링크 타입들과 추출된 데이터링크 데이터의 타입을 비교하고 동일하지 않아 추출된 데이터링크 데이터를 필터링(② 참조)한다.
이후에, 이더넷 MAC 모듈(315)이 통신 장치(10)의 이더넷 MAC 주소를 가지는 MAC 패킷을 식별하고 MAC 패킷의 페이로드를 추출하여 추출된 데이터링크 데이터를 제1 처리 모듈(313)로 전달(③ 참조)한다. 이더넷 MAC 모듈(315)은 IP 타입을 또한 추출 가능하고 IP 타입이 IPv4 인지를 인식하여 이 타입을 제1 처리 모듈(313)로 전달한다.
제1 처리 모듈(313)은 통신채널의 데이터링크 타입과 추출된 데이터 타입을 비교하여 동일한 것을 인지한다. 또한 제1 처리 모듈(313)은 통신채널의 네트워크 레이어 타입과 이더넷을 통해서 결정된 네트워크 레이어 타입을 비교한다. 비교에 따라 네트워크 레이어 타입이 또한 달라 이더넷 MAC 모듈(315)로부터의 데이터링크 데이터는 제거(필터링)(④ 참조)된다.
이후에. 지그비 MAC 모듈(315)은 통신 장치(10)의 지그비 MAC 주소를 가지는 MAC 패킷을 식별하고 MAC 패킷의 페이로드를 추출하여 추출된 데이터링크 데이터를 제1 처리 모듈(313)로 전달(⑤ 참조)한다.
제1 처리 모듈(313)은 데이터링크 타입의 비교로 동일한 데이터링크 타입이 존재하고 네트워크 레이어 타입의 비교로 동일한 네트워크 레이어 타입이 존재하는 것을 확인하고 이 데이터링크 데이터를 출력(⑥ 참조)한다. 데이터링크 데이터는 지정된 네트워크 레이어 모듈(311)로 출력되거나 모든 네트워크 레이어 모듈(311)로 출력된다. 제1 처리 모듈(313)은 지그비 MAC 모듈(315)을 나타내는 인덱스(Index)나 데이터링크 레이어 타입을 출력할 수도 있다.
데이터링크 데이터는 6LowPAN 적응 모듈(311)로 전달되고 6LowPAN 적응 모듈(311)은 IPv6 패킷으로 확장하고 이를 IPv6 처리 모듈(311)로 전달한다. IPv6 처리 모듈(311)은 IPv6 통신 프로토콜에 따라 데이터를 처리하고 페이로드를 추출(⑦ 참조)한다.
IPv6 처리 모듈은 추출된 페이로드를 네트워크 레이어 데이터로 하여 제2 처리 모듈(309)로 전달(⑧ 참조)한다.
제2 처리 모듈(309)은 네트워크 레이어 데이터에 대하여 트랜스포트 레이어 타입을 결정한다. 제2 처리 모듈(309)은 그 트랜스포트 레이어 타입이 UDP로 결정할 수 있다.
제2 처리 모듈(309)은 설정되어 있는 통신채널의 트랜스포트 레이어 타입과 결정된 트랜스포트 레이어 타입을 비교하고 동일한 타입이 없음을 판단할 수 있다. 이에 따라 제2 처리 모듈(309)은 네트워크 레이어 데이터를 제거하여 상위 레이어에서 처리되지 않도록 필터링(⑨ 참조)한다.
만일 동일한 트랜스포트 레이어 타입이 존재한다면 해당 네트워크 레이어 데이터는 상위 레이어(트랜스포트 레이어)의 특정 모듈(307)로 전달되고 처리가 될 수 있다. 상위 레이어의 모듈(307)은 레지스터 맵(305)의 설정 데이터(각종 타입이나 포트 넘버)를 이용하여 특정 통신채널을 위한 데이터인지를 판별할 수 있다. 또는 이 모듈(307)은 통신채널 설정 레지스터의 상태 등을 이용하여 데이터를 필터링(⑩ 참조)할 수 있다.
예를 들어, TCP 모듈(307)은 전달받은 하나 이상의 네트워크 레이어 데이터로부터 TCP 패킷을 구성한다. 이후 TCP 모듈(307)은 설정 레지스터에 저장된 각종 상태와 설정 데이터를 이용하여 구성된 TCP 패킷을 필터링(제거)하도록 구성된다.
필터링의 한 예로서, 구성된 TCP 패킷의 헤더로부터 소스 포트(Source Port) 넘버를 추출하고 또한 TCP 패킷을 전송한 상대방 장치의 IP 주소를 결정한다. IP 주소는 제2 처리 모듈(309)이나 네트워크 레이어 모듈(311)로부터 수신되거나 설정 가능하다. TCP 모듈(307)은 상대방 IP 주소와 소스 포트 넘버를 통신채널의 통신채널 설정 레지스터에 포함된 상대방 장치의 IP 주소 및 상대방 장치의 포트 넘버와 비교하고 둘다 일치하지 않으면 해당 TCP 패킷을 필터링한다.
추출되거나 결정된 IP 주소 및 소스 포트 넘버는 모든 통신채널에 설정된 상대방 장치의 IP 주소 및 포트 넘버와 비교된다. IP 주소 및 포트 넘버의 비교로 TCP 모듈(307)은 통신채널을 특정(specify) 가능하다. 이와 같이 TCP 모듈(307)은 적어도 IP 주소와 포트 넘버를 이용하여 하나의 통신채널을 특정할 수 있고 특정되지 않으면 해당 TCP 패킷을 삭제할 수 있다.
통신채널의 특정에 따라, 이후 TCP 모듈(307)은 특정된 통신채널의 설정 레지스터를 더 이용하여 TCP 패킷을 필터링한다.
통신채널의 특정후의 필터링의 예로서, TCP 패킷의 헤더로부터 추출되는 목적지(Destination) 포트 넘버가 특정된 통신 채널의 설정 레지스터의 로컬 포트 넘버와 동일한 지를 TCP 모듈(307)이 확인하고 동일하지 않으면 해당 TCP 패킷을 통신채널에 할당된 TX/RX 버퍼(303)로 전달하지 않고 삭제한다.
또한 TCP 모듈(307)은 통신채널의 연결상태(통신채널 설정 레지스터의 상태 레지스터를 통해서 확인 가능함)를 이용하여 TCP 패킷의 필터링을 더 수행할 수 있다. 연결상태를 이용한 패킷의 필터링의 예로서, 연결 시도 상태에서 TCP 모듈(307)은 TCP 패킷의 헤더의 플래그(Flag)를 추출하고 SYN 플래그가 셋팅되어 있는 지를 확인한다. SYN 플래그가 셋팅되어 있지 않은 TCP 패킷은 TCP 모듈(307)에 의해서 필터링된다.
연결 시도 상태나 연결이 끊어진 상태 등에서 TCP 모듈(307)은 구성된 TCP 패킷에 수신될 데이터가 있는 지를 확인할 수 있다. 데이터가 포함된 TCP 데이터 패킷은 TCP 모듈(307)에 의해서 필터링된다.
연결 종료를 시도하는 상태에서 TCP 모듈(307)은 TCP 패킷의 헤더의 플래그를 추출하고 FIN 플래그가 셋팅되어 있는 지를 확인한다. FIN 플래그가 셋팅되어 있지 않은 TCP 패킷은 TCP 모듈(307)에 의해서 필터링된다.
또한 TCP 모듈(307)은 상태 레지스터에 포함된 시퀀스 넘버와 ACK 넘버를 더 이용하여 TCP 패킷을 더 필터링할 수 있다.
시퀀스 넘버와 ACK 넘버를 이용한 필터링의 예로서, TCP 모듈(307)은 구성된 TCP 패킷의 시퀀스 넘버와 상태 레지스터에서 관리되고 송출되는 ACK 넘버와 다르면 해당 TCP 패킷을 삭제한다.
또한 TCP 모듈(307)은 구성된 TCP 패킷의 시퀀스 넘버가 이미 받은 TCP 패킷에 대응하면 해당 TCP 패킷을 삭제한다. 즉 TCP 모듈(307)은 특정된 통신채널의 상태 레지스터의 시퀀스 넘버와 구성된 TCP 패킷의 시퀀스 넘버의 비교로 구성된 시퀀스 넘버가 상태 레지스터의 시퀀스 넘버보다 작으면 해당 TCP 패킷을 삭제한다.
또한 TCP 모듈(307)은 구성된 TCP 패킷의 페이로드의 크기를 TCP 패킷의 헤더 등을 이용하여 결정할 수 있다. 만일 페이로드의 크기가 TX/RX 버퍼(303)에 할당된 통신채널의 버퍼의 크기보다 크면 해당 TCP 패킷을 삭제한다.
UDP 모듈(307) 또한 설정 데이터나 상태를 이용하여 UDP 패킷을 필터링할 수 있다. 예를 들어 UDP 모듈(307)은 소스 포트 넘버 및 목적지 포트 넘버와 통신채널의 설정 레지스터 등에 저장되어 있는 포트 넘버 등의 비교로 해당 UDP 패킷을 필터링할 수 있다.
필터링되지 않은 TCP 패킷의 페이로드 데이터는 트랜스포트 레이어 모듈(307)에 의해서 추출되고 추출된 페이로드 데이터는 특정 통신채널에 할당된 버퍼(303)에 기록된다. 이후 프로세서(100)는 TX/RX 버퍼(300)에 기록된 것을 인식하고 응용 데이터인 해당 페이로드 데이터를 읽어 들일 수 있다.
이와 같이, 트랜스포트 레이어 모듈(307)은 설정 데이터와 상태 데이터를 이용하여 패킷에 대한 각종 필터링을 수행한다. 특히 트랜스포트 레이어 모듈(307)은 통신채널에 대하여 설정되어 있는 설정 데이터와 상태 데이터에 부합하는 패킷 만을 프로세서(100)로 전달하도록 구성된다. 이에 따라 다른 소프트웨어 솔루션과는 달리 플러딩(Flooding) 공격이나 시퀀스 넘버 변조 공격, 무작위 공격 등 다양한 외부의 장치로부터의 인터넷 공격을 방어할 수 있다.
특히 트랜스포트 레이어 모듈(307)을 포함하는 통신 칩셋(300)이 하드웨어 로직으로 구성되어 본 발명의 통신 칩셋(300)과 통신 장치(10)는 인터넷 공격에 더욱더 안전하게 구성된다.
이상의 예에서 알 수 있는 바와 같이, 본 발명에 따른 통신 칩셋(300)은 불특정 데이터 패킷의 수신시에도 데이터 패킷을 프로세서(100)에 전달하기 전에 단계적으로 패킷 필터링을 수행하여 통신 장치(10)를 보호할 수 있다.
특히 통신 장치(10)는 다양한 유형의 통신채널들을 지원 가능하고 다양한 유형의 통신채널의 설정 타입을 이용하여 각 레이어 사이에서 패킷을 필터링할 수 있도로 구성된다. 또한 통신 칩셋(300)의 모듈들은 모두 전용의 하드웨어 로직으로 구성되어 호스트 인터페이스(301)를 통한 프로세서(100)의 패킷 접근 이전에 연결되지 않거나 지정되지 않은 각종 레이어의 패킷을 필터링할 수 있다.
이에 따라 외부 통신 공격으로부터 통신 장치(10)를 안전하게 보호할 수 있고 원하는 통신채널을 통해서 데이터를 처리할 수 있고 하드웨어를 통한 고속 데이터 통신 처리가 가능하다.
이와 같이, 전용 하드웨어 로직으로 구현된 통신 칩셋(300)은 보안 침입자가 수행하려는 코드를 수행할 수 있는 환경을 제공하지 않기에 인터넷을 통한 보안 침입을 원천적으로 봉쇄할 수 있다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니다.
10 : 통신 장치
100 : 프로세서 200 : 메모리
300 : 통신 칩셋
301 : 호스트 인터페이스 303 : TX/RX 버퍼
305 : 레지스터 맵 307 : 트랜스포트 레이어 모듈
309 : 제2 처리 모듈 311 : 네트워크 레이어 모듈
313 : 제1 처리 모듈 315 : 데이터링크 모듈
317 : 파이 인터페이스 319 : 주소할당 모듈
321 : 데이터링크타입 결정모듈 323 : 전송데이터 제어모듈
400 : 파이 칩
20 : 외부 장치

Claims (9)

  1. 복수 장치와의 통신채널의 설정을 가능케하는 레지스터 맵;
    제1 타입의 물리 레이어 데이터를 송수신하고 제1 타입에 따른 데이터링크 레이어 처리를 수행하는 제1 데이터링크 모듈;
    제2 타입의 물리 레이어 데이터를 송수신하고 제2 타입에 따른 데이터링크 레이어 처리를 수행하는 제2 데이터링크 모듈;
    상기 제1 데이터링크 모듈 및 상기 제2 데이터링크 모듈에 연결되어 상기 제1 데이터링크 모듈 및 상기 제2 데이터링크 모듈로부터의 데이터링크 데이터를 상기 레지스터 맵에 저장된 복수 통신채널의 설정 데이터를 이용하여 필터링하는 제1 처리 모듈;
    상기 제1 처리 모듈에 의해 출력된 데이터링크 데이터를 수신하고 지정된 네트워크 레이어 처리를 수행하는 제1 네트워크 레이어 모듈;
    상기 제1 처리 모듈에 의해 출력된 데이터링크 데이터를 수신하고 상기 제1 네트워크 레이어 모듈과는 상이한 네트워크 레이어 처리를 수행하는 제2 네트워크 레이어 모듈; 및
    상기 제1 네트워크 레이어 모듈 및 상기 제2 네트워크 레이어 모듈에 연결되어 상기 제1 네트워크 레이어 모듈 및 상기 제2 네트워크 레이어 모듈로부터의 네트워크 레이어 데이터를 상기 레지스터 맵에 저장된 복수 통신채널의 설정 데이터를 이용하여 필터링하는 제2 처리 모듈;을 포함하는,
    통신 칩셋.
  2. 제1항에 있어서,
    상기 레지스터 맵은 복수의 통신채널의 설정을 위한 복수개의 통신채널 설정 레지스터를 포함하고, 상기 통신채널 설정 레지스터는 네트워크 레이어 타입 및 상기 제1 타입 또는 상기 제2 타입을 나타내는 데이터링크 레이어 타입을 포함하며,
    상기 제1 처리 모듈은 상기 데이터링크 데이터에 대응하는 네트워크 레이어 타입과 복수의 네트워크 레이어 타입의 비교에 기초하여 제1 데이터링크 모듈 또는 제2 데이터링크 모듈로부터의 데이터링크 데이터를 필터링하거나 출력하는,
    통신 칩셋.
  3. 제2항에 있어서,
    상기 제1 처리 모듈은 상기 데이터링크 데이터를 출력하는 제1 데이터링크 모듈 또는 제2 데이터링크 모듈의 타입과 복수의 데이터링크 레이어 타입의 비교에 더 기초하여 데이터링크 데이터를 필터링하거나 출력하는,
    통신 칩셋.
  4. 삭제
  5. 제1항에 있어서,
    상기 레지스터 맵은 복수의 통신채널의 설정을 위한 복수개의 통신채널 설정 레지스터를 포함하고, 상기 통신채널 설정 레지스터는 트랜스포트 레이어 타입을 포함하며,
    상기 제2 처리 모듈은 상기 네트워크 레이어 데이터에 대응하는 트랜스포트 레이어 타입과 상기 복수개의 통신채널 설정 레지스터의 복수의 트랜스포트 레이어 타입의 비교에 기초하여 상기 네트워크 레이어 데이터를 필터링하거나 출력하는,
    통신 칩셋.
  6. 제1항에 있어서,
    상기 제2 처리 모듈에 의해 출력된 네트워크 레이어 데이터를 수신하고 지정된 트랜스포트 레이어 처리를 수행하는 제1 트랜스포트 레이어 모듈; 및
    상기 제2 처리 모듈에 의해 출력된 네트워크 레이어 데이터를 수신하고 상기 제1 트랜스포트 레이어 모듈과는 상이한 트랜스포트 레이어 처리를 수행하는 제2 트랜스포트 레이어 모듈;을 더 포함하며,
    상기 제1 트랜스포트 레이어 모듈은 연결된 통신채널의 송수신 상태를 이용하여 처리된 트랜스포트 레이어 데이터를 필터링하는,
    통신 칩셋.
  7. 통신 칩셋으로서,
    복수 장치와의 통신채널의 설정을 가능케하는 레지스터 맵;
    제1 타입의 물리 레이어 데이터를 송수신하고 제1 타입에 따른 데이터링크 레이어 처리를 수행하는 제1 데이터링크 모듈;
    제2 타입의 물리 레이어 데이터를 송수신하고 제2 타입에 따른 데이터링크 레이어 처리를 수행하는 제2 데이터링크 모듈;
    상기 제1 데이터링크 모듈 및 상기 제2 데이터링크 모듈에 연결되어 상기 제1 데이터링크 모듈 및 상기 제2 데이터링크 모듈로부터의 데이터링크 데이터를 상기 레지스터 맵에 저장된 복수 통신채널의 설정 데이터를 이용하여 필터링하는 제1 처리 모듈; 및
    연결되는 통신채널의 데이터링크 레이어 타입을 결정 가능한 데이터링크타입 결정모듈;을 포함하고,
    상기 레지스터 맵은 복수의 통신채널의 설정을 위한 복수개의 통신채널 설정 레지스터를 포함하고, 상기 통신채널 설정 레지스터는 상기 제1 타입 또는 상기 제2 타입을 나타내거나 상기 제1 타입 또는 상기 제2 타입 중 하나의 자동선택을 요구하는 데이터링크 레이어 타입을 포함하며,
    상기 데이터링크타입 결정모듈은, 자동선택을 요구하는 데이터링크 레이어 타입의 설정에 따라, 상기 제1 데이터링크 모듈을 통한 물리 레이어 데이터의 송출과 대응하는 응답의 수신으로 제1 타입으로 결정하거나 상기 제2 데이터링크 모듈을 통한 물리 레이어 데이터의 송출과 대응하는 응답의 수신으로 제2 타입으로 결정하며,
    상기 데이터링크타입 결정모듈은 네트워크 레이어 이상의 레이어에서 데이터 패킷의 송출과 대응하는 응답의 수신으로 제1 타입 또는 제2 타입을 결정하는,
    통신 칩셋.
  8. 통신 칩셋으로서,
    복수 장치와의 통신채널의 설정을 가능케하는 레지스터 맵;
    제1 타입의 물리 레이어 데이터를 송수신하고 제1 타입에 따른 데이터링크 레이어 처리를 수행하는 제1 데이터링크 모듈;
    제2 타입의 물리 레이어 데이터를 송수신하고 제2 타입에 따른 데이터링크 레이어 처리를 수행하는 제2 데이터링크 모듈;
    상기 제1 데이터링크 모듈 및 상기 제2 데이터링크 모듈에 연결되어 상기 제1 데이터링크 모듈 및 상기 제2 데이터링크 모듈로부터의 데이터링크 데이터를 상기 레지스터 맵에 저장된 복수 통신채널의 설정 데이터를 이용하여 필터링하는 제1 처리 모듈; 및
    상기 통신 칩셋이 탑재된 장치의 하나 이상의 네트워크 레이어 주소를 할당하기 위한 주소할당 모듈;을 포함하며,
    상기 레지스터 맵은 상기 장치의 제1 네트워크 레이어 주소를 저장하는 제1 주소 레지스터, 제2 네트워크 레이어 주소를 저장하는 제2 주소 레지스터 및 상기 제1 네트워크 레이어 주소 타입을 설정하는 제1 주소 타입 레지스터, 상기 제2 네트워크 레이어 주소 타입을 설정하는 제2 주소 타입 레지스터를 포함하고,
    상기 주소할당 모듈은 상기 제1 주소 타입 레지스터의 설정데이터에 따라 상기 제1 네트워크 레이어 주소를 자동으로 제1 주소 레지스터에 할당하고 상기 제2 주소 타입 레지스터의 설정데이터에 따라 상기 제2 네트워크 레이어 주소를 자동으로 제2 주소 레지스터에 할당하는,
    통신 칩셋.
  9. 제1항의 통신 칩셋; 및
    상기 통신 칩셋을 통해서 응용레이어 상의 데이터를 송신하고 수신하는 프로세서;를 포함하는,
    통신 장치.
KR1020150071510A 2015-05-22 2015-05-22 인터넷 공격에 안전한 통신 칩셋 및 통신 장치 KR101551729B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020150071510A KR101551729B1 (ko) 2015-05-22 2015-05-22 인터넷 공격에 안전한 통신 칩셋 및 통신 장치
US14/881,168 US9807056B2 (en) 2015-05-22 2015-10-13 Communication chipset and apparatus secure from internet attack
CN201510813152.8A CN106169986B (zh) 2015-05-22 2015-11-20 对网络攻击安全的通信芯片组及通信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150071510A KR101551729B1 (ko) 2015-05-22 2015-05-22 인터넷 공격에 안전한 통신 칩셋 및 통신 장치

Publications (1)

Publication Number Publication Date
KR101551729B1 true KR101551729B1 (ko) 2015-09-10

Family

ID=54247807

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150071510A KR101551729B1 (ko) 2015-05-22 2015-05-22 인터넷 공격에 안전한 통신 칩셋 및 통신 장치

Country Status (3)

Country Link
US (1) US9807056B2 (ko)
KR (1) KR101551729B1 (ko)
CN (1) CN106169986B (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101989406B1 (ko) * 2019-02-19 2019-06-14 (주)위즈네트 주소 자동 할당을 위한 프로토콜 오프로드 장치 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101319981B1 (ko) 2013-05-22 2013-10-18 (주) 위즈네트 독립적으로 통신 상태의 확인이 가능하도록 하는 통신 커넥트 및 이 통신 커넥트를 포함하는 통신 장치
KR101454879B1 (ko) 2014-05-22 2014-11-04 (주) 위즈네트 복수의 통신 인터페이스를 구비한 통신 장치 및 복수의 통신 인터페이스에서의 데이터 처리 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7454499B2 (en) * 2002-11-07 2008-11-18 Tippingpoint Technologies, Inc. Active network defense system and method
KR100530856B1 (ko) 2005-05-11 2005-11-23 (주) 위즈네트 임베디드 시스템을 위한 고속 데이터 처리 기능을 가지는통신방법 및 그 장치
US8806064B2 (en) * 2006-09-29 2014-08-12 Broadcom Corporation Virtual interface to the PoE device through an expanded registered map in a networking device such as a PHY
KR20130043474A (ko) * 2011-10-20 2013-04-30 에스케이하이닉스 주식회사 통합 메모리 블록 및 이를 포함하는 데이터 처리 시스템
US8867568B2 (en) * 2011-10-28 2014-10-21 Emulex Corporation Method for parsing network packets having future defined tags

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101319981B1 (ko) 2013-05-22 2013-10-18 (주) 위즈네트 독립적으로 통신 상태의 확인이 가능하도록 하는 통신 커넥트 및 이 통신 커넥트를 포함하는 통신 장치
KR101454879B1 (ko) 2014-05-22 2014-11-04 (주) 위즈네트 복수의 통신 인터페이스를 구비한 통신 장치 및 복수의 통신 인터페이스에서의 데이터 처리 방법

Also Published As

Publication number Publication date
US20160344755A1 (en) 2016-11-24
CN106169986B (zh) 2019-05-07
CN106169986A (zh) 2016-11-30
US9807056B2 (en) 2017-10-31

Similar Documents

Publication Publication Date Title
US11269316B2 (en) Intelligent controller and sensor network bus, system and method including smart compliant actuator module
US11169591B2 (en) Ethernet PHY-MAC communication with in-band wake-up/sleep commands
US20080005395A1 (en) Adapter to convert USB device into WUSB device
US11089140B2 (en) Intelligent controller and sensor network bus, system and method including generic encapsulation mode
CN113228567B (zh) 一种信息处理的方法、装置和信息处理系统
CN108243185A (zh) 基于ax88180的科学级ccd千兆以太网通信系统及方法
US9866639B2 (en) Communication apparatus, information processor, communication method, and computer-readable storage medium
US20120327950A1 (en) Method for Transmitting Data Packets
CN105471852A (zh) 一种udp高速数据收发系统及方法
US10848419B2 (en) Data transmission method, communication network and master participant
JP6463898B2 (ja) 通信装置、情報処理装置、通信方法及び通信プログラム
EP2690828B1 (en) Station, target apparatus, initiator apparatus, communication system, and communication method
KR101551729B1 (ko) 인터넷 공격에 안전한 통신 칩셋 및 통신 장치
JP2013543307A (ja) 制御方法、装置、及びシステム
KR101536555B1 (ko) 주소 설정 기능을 갖는 네트워크 스위치
CN111177058A (zh) 用于与主机通信的电子设备及该电子设备的操作方法
JP5839705B2 (ja) 遠隔制御システム、遠隔制御装置、遠隔制御方法、および遠隔制御プログラム
US10965638B2 (en) Communication chipset, communication device and protocol offload method for automatic address allocation
US20150249616A1 (en) Apparatus and method for supporting multi-host access
US8902756B2 (en) Packet transfer processing device, packet transfer processing method, and packet transfer processing program
KR102280343B1 (ko) 복수의 이더넷 포트를 가지는 사물인터넷 디바이스
WO2021076333A1 (en) Intelligent controller and sensor network bus, system and method including smart compliant actuator module
WO2021055205A1 (en) Intelligent controller and sensor network bus, system and method including generic encapsulation mode
CN102790717B (zh) 以太网数据包中控制信息的获取方法及系统
KR200414898Y1 (ko) 범용 프로세서를 이용한 이더넷 네트워크 장치

Legal Events

Date Code Title Description
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: 20180807

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190909

Year of fee payment: 5