KR100601874B1 - 네트워크 프린팅 기기의 mac 컨트롤러 및 네트워크프린팅 기기의 버스 대역폭 확장방법 - Google Patents

네트워크 프린팅 기기의 mac 컨트롤러 및 네트워크프린팅 기기의 버스 대역폭 확장방법 Download PDF

Info

Publication number
KR100601874B1
KR100601874B1 KR1020040005189A KR20040005189A KR100601874B1 KR 100601874 B1 KR100601874 B1 KR 100601874B1 KR 1020040005189 A KR1020040005189 A KR 1020040005189A KR 20040005189 A KR20040005189 A KR 20040005189A KR 100601874 B1 KR100601874 B1 KR 100601874B1
Authority
KR
South Korea
Prior art keywords
packet
network
address
printing device
arp
Prior art date
Application number
KR1020040005189A
Other languages
English (en)
Other versions
KR20050077229A (ko
Inventor
이혁재
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020040005189A priority Critical patent/KR100601874B1/ko
Priority to US11/037,148 priority patent/US20050165956A1/en
Publication of KR20050077229A publication Critical patent/KR20050077229A/ko
Application granted granted Critical
Publication of KR100601874B1 publication Critical patent/KR100601874B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00278Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a printing apparatus, e.g. a laser beam printer
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47JKITCHEN EQUIPMENT; COFFEE MILLS; SPICE MILLS; APPARATUS FOR MAKING BEVERAGES
    • A47J37/00Baking; Roasting; Grilling; Frying
    • A47J37/12Deep fat fryers, e.g. for frying fish or chips
    • A47J37/1223Deep fat fryers, e.g. for frying fish or chips with means for filtering the frying liquid
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/128Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine for dedicated transfers to a network
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47JKITCHEN EQUIPMENT; COFFEE MILLS; SPICE MILLS; APPARATUS FOR MAKING BEVERAGES
    • A47J37/00Baking; Roasting; Grilling; Frying
    • A47J37/12Deep fat fryers, e.g. for frying fish or chips
    • A47J37/1276Constructional details
    • A47J37/1285Valves or arrangements to drain used oil or food particles settled at the bottom of the frying vessel

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Food Science & Technology (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Abstract

네트워크 프린팅 기기의 MAC 컨트롤러가 개시된다. 본 MAC 컨트롤러는, 네트워크망을 통해 패킷을 송수신 하는 MAC 컨트롤러, 및 적어도 하나의 버스 마스터를 구비하는 네트워크 프린팅 기기의 MAC 컨트롤러에 관한 것으로서, 패킷을 임시 저장하기 위한 버퍼, 및 버퍼에 저장된 패킷의 IP 헤더를 분석하여 패킷의 IP 어드레스와 기 설정된 IP 어드레스를 비교하고, 비교 결과에 따라 패킷의 수용 여부를 결정하는 IP 헤더분석부를 갖는다. 이러한 MAC 컨트롤러에 의하면, 네트워크망에 접속되는 네트워크 프린팅 기기에 불필요한 패킷의 접근을 최소화 하여 싱글 프로세서를 구비하는 네트워크 프린팅 기기의 버스 대역폭을 최대한 확보 할 수 있다.
네트워크 프린팅 기기, MAC 컨트롤러, 싱글 프로세서, ARP, IP

Description

네트워크 프린팅 기기의 MAC 컨트롤러 및 네트워크 프린팅 기기의 버스 대역폭 확장방법{Mac controller of network printing device and Method for increasing bus bandwidth of network printer}
도 1은 종래의 네트워크 프린팅 기기의 일 예에 따른 블록개념도,
도 2는 네트워크망으로부터 전송되는 TCP/IP 프로토콜에 따른 패킷의 어드레스 체계를 나타내는 도면,
도 3은 IP 패킷의 헤더 구조를 나타내는 도면,
도 4는 도 1에 도시된 MAC 컨트롤러 및 주변 디바이스에 대한 내부 블록개념도,
도 5에 도시된 ARP 패킷의 구조를 나타내는 도면, 그리고
도 6은 본 발명에 따른 네트워크 프린팅 기기의 버스 대역폭 확장방법의 일 실시예에 대한 흐름도를 나타낸다.
*도면의 주요 부분에 대한 부호의 설명*
100 : MAC 컨트롤러 110 : MII 인터페이스부
120 : PHY 인터페이스부 130 : 버퍼
140 : IP 헤더분석부 150 : ARP 헤더분석부
160 : DMA 컨트롤러 170 : 제어 레지스터
본 발명은 네트워크 프린팅 기기의 네트워크 컨트롤러에 관한 것으로, 특히 싱글 프로세서를 구비하는 네트워크 프린팅 기기의 내부 대역폭 확장을 위한 네트워크 컨트롤러에 관한 것이다.
일반적으로, LAN(Local Network Area)과 같은 네트워크망에 접속되어 사용되는 프린터, 스캐너, 복합기와 같은 네트워크 프린팅 기기의 경우 USB(Universal Serial Bus), IEEE1284, 및 IEEE1394 인터페이스에 의해 호스트 컴퓨터와 1:1로 접속되는 프린팅 기기에 비해 네트워크망 으로부터 불필요한 패킷이 입력된다. 일 예로서, 네트워크에 서버가 접속되어 있는 경우, 서버로부터의 브로드 캐스트(broad cast)에 의해 프린팅 기기 자신이 파일 시스템인지를 확인하는 패킷을 수신받는 경우가 많으며, 네트워크 망에 접속된 주변 기기간의 패킷이 유입시, 이 패킷이 자신의 것인지 확인하는 작업이 요구된다. 이에 따라, 네트워크망에 접속된 프린팅 기기는 불필요한 패킷을 수신시, 수신된 패킷이 자신의 것인지를 확인하여야 하며, 이러한 확인작업에 의해 네트워크 프린팅 기기에 구비되는 버스의 대역폭은 감소된다.
도 1은 종래의 네트워크 프린팅 기기의 일 예에 따른 블록개념도를 나타낸다.
도시된 네트워크 프린팅 기기는 MAC 컨트롤러(100), 프로세서(CPU)(200), 메 인 메모리(DRAM)(600), 그래픽 처리부(300), 래스터라이저(400), 및 엔진부(500)를 갖는다.
MAC 컨트롤러(100)는 IEEE802.3 프로토콜에 의해 네트워크망과 접속되며, 네트워크와 데이터 통신을 수행한다. MAC 컨트롤러(100)는 네트워크망으로부터 패킷(packet)을 수신하고, 수신된 패킷에서 헤더(header)를 분리하여 이를 버스(BUS)를 통해 메인 메모리(DRAM)(600)에 인가한다. 프로세서(CPU)(200)는 MAC 컨트롤러(100)에 수신된 패킷이 인쇄데이터인 경우, 이를 오브젝트(object)로 변환하여 메인 메모리(DRAM)(600)에 임시 저장한다. 그래픽 처리부(300)는 메인 메모리(DRAM)(600)에 저장된 오브젝트를 프린팅 기기가 인쇄하는데 사용되는 비트맵 데이터로 변환하고, 변환된 비트맵 패킷을 버스(BUS)를 경유하여 래스터라이저(400)에 인가한다. 래스터라이저(400)는 비트맵 패킷을 엔진부(500)에 시리얼(serial) 전송하며, 엔진부(500)는 래스터라이저(400)로부터 시리얼 전송된 비트맵 데이터로 화상을 구현하게 된다. 상기한 네트워크 프린팅 기기에서 그래픽 처리부(300), 프로세서(CPU)(200), 및 MAC 컨트롤러(100)는 각자의 역할에 따라 메인 메모리(DRAM)(600)를 직접 억세스(acess)하며, 메인 메모리(DRAM)(600)를 억세스 하기 위해 버스(BUS)의 사용권한을 가지므로 이들을 통상 버스마스터(bus master)라 한다. 각각의 버스 마스터는 필요에 따라 메인 메모리(DRAM)(600)를 억세스 할 수 있으며, 메인 메모리(DRAM)(600)를 억세스시, 메인 메모리(DRAM)(600)를 억세스 하는 디바이스(그래픽 처리부, 프로세서, 및 MAC 컨트롤러 중 어느 하나)는 버스를 점유하게 된다. MAC 컨트롤러(100)에 시리얼 형태의 패킷이 인가되는 경우 MAC 컨트롤러(100)는 이를 병렬 데이터로 변환하여 내부 버퍼(미도시)에 임시 저장한다. 내부 버퍼에 저장된 데이터는 패킷 버퍼 체인(packet buffer chain)에 의해 패킷을 결합한 후, 프로세서(CPU)(200)를 거치지 않고 DMA(Direct Memory Acess) 전송을 통해 메인 메모리(DRAM)(600)로 전송된다. 이때, MAC 컨트롤러(100)는 네트워크망을 통해 인가된 데이터에 첨부되는 하드웨어 어드레스(adress)가 자신의 것인지를 확인하여 자신의 하드웨어 어드레스가 아닌 경우 이 패킷을 메인 메모리(DRAM)(600)에 전송하지 않는다. 예컨데, 네트워크망을 통해 전송된 패킷이 IEEE802.3 프로토콜에 따른 MAC 컨트롤러(100)의 어드레스가 아닌 경우, 이를 메인 메모리(DRAM)(600)로 전송하지 않고 버린다. 일단, 메인 메모리(DRAM)(600)에 저장된 패킷은 패킷의 처리를 위한 인터럽터(interruper)를 발생시키며, 프로세서(CPU)(200)에 의해 패킷이 갖는 레이어(layer)에 따른 프로그램에 의해 처리된다. 이때, 프로세서(CPU)(200)와, 메인 메모리(DRAM)(600)에 저장된 패킷간의 데이터 전송을 필요로 하므로 프로세서(CPU)(200)는 버스(BUS)를 점유하게 된다. 한편, 네트워크망으로부터 TCP/IP 프로토콜에 따른 패킷이 MAC 컨트롤러(100)로 인가시, MAC 컨트롤러(100)는 이를 메인 메모리(DRAM)(600)에 전송하며, 프로세서(CPU)(200)는 스트리머 프로그램(streamer software)을 통해 IP 레이어(layer) 프로그램에 버퍼 포인터를 전달하며, IP 레이어 프로그램에서는 MAC 컨트롤러(100)에 대한 어드레스가 맞는 경우, TCP/IP 프로토콜에 따른 패킷에서 헤더를 분리 후, 헤더가 분리된 패킷을 결합한다. 만일, 메인 메모리(DRAM)(600)에 저장된 패킷이 MAC 컨트롤러(100)의 것이 아닌 경우, 이에 대한 처리는 중단되며, 패킷은 버려지게 된다. 그러나, MAC 컨트롤러(100)에 대한 패킷이 아니라 하더라도, 이미 프로세서(CPU)(200)는 메인 메모리(DRAM)(600)에 저장된 패킷을 처리하기 위해 버스를 점유하는 상태가 되므로 네트워크 프린팅 기기의 버스(BUS) 대역폭이 감소하게 된다. 더욱이, 네트워크망과 접속되어 있는 서버(미도시)와 같은 호스트로부터 브로드 캐스트 패킷이 수시로 발송되는 경우, 네트워크 프린팅 기기는 이에 응답하여 브로드 캐스트 패킷이 요청한 작업을 처리해야 하는 바, 네트워크 프린팅 기기에 마련되는 프로세서(CPU)(200)와 메인 메모리(DRAM)(600), 및 버스(BUS)는 인쇄데이터의 해석과 렌더링(rendering) 작업 이외의 불필요한 작업에 사용되어 네트워크 프린팅 기기의 버스 대역폭을 감소시키고, 네트워크 프린팅 기기의 성능을 열화시키는 문제점이 있다. 한편, 상기한 브로드 캐스트 패킷이 네트워크 프린팅 기기로 인가되지 않도록 할 수도 있으나, 이 경우, 네트워크 프린팅 기기를 네트워크망에 최초 접속시, 서버가 네트워크 프린팅 기기를 확인하기 위해서 네트워크망으로 보내는 브로드 캐스트 패킷까지 인지하지 못하게 됨으로써 네트워크 프린팅 기기를 사용하지 못하게 되는 문제점이 있다.
본 발명은 상기한 종래의 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 네트워크 프린팅 기기에 인가되는 불필요한 패킷의 접근을 차단하여 싱글 프로세서를 구비하는 네트워크 프린팅 기기의 버스 대역폭을 확보하는 방법 및 MAC 컨트롤러를 제공함에 있다.
상기한 목적은 본 발명에 따라, 네트워크망을 통해 패킷을 송수신 하는 MAC 컨트롤러, 및 적어도 하나의 버스 마스터를 구비하는 네트워크 프린팅 기기에 있어서, 상기 MAC 컨트롤러는, 상기 패킷을 임시 저정하기 위한 버퍼, 및 상기 버퍼에 저장된 상기 패킷의 IP 헤더를 분석하여 상기 패킷의 IP 어드레스와 기 설정된 IP 어드레스를 비교하고, 비교 결과에 따라 상기 패킷의 수용 여부를 결정하는 IP 헤더분석부에 의해 달성된다.
바람직하게는, 상기 버퍼에 임시 저장된 상기 패킷에서 ARP 패킷을 검출하고, ARP 패킷이 검출시, 상기 검출된 ARP 패킷에 설정된 IP 어드레스와 기 설정된 IP 어드레스를 비교하여 기 설정된 IP 어드레스인 경우 상기 패킷에 대한 ARP 응답 패킷을 생성하여 상기 네트워크망으로 전송하는 ARP 헤더분석부를 더 포함한다.
바람직하게는, 상기 IP 헤더분석부와 상기 ARP 헤더분석부에 기 설정된 IP 어드레스를 저장하는 레지스터를 더 포함한다.
바람직하게는, 상기 네트워크망을 통해 인가되는 직렬 구조의 패킷을 니블 단위의 병렬 패킷으로 변환하는 인터페이스부를 더 포함한다.
바람직하게는, 상기 버퍼에 저장된 패킷을 상기 네트워크 프린팅 기기에 마련되는 메인 메모리로 DMA 전송하는 DMA 컨트롤러를 더 포함한다.
상기한 목적은 본 발명에 따라, 메인 메모리, 및 싱글 프로세서를 구비하는 네트워크 프린팅 기기의 버스 대역폭을 확장하는 방법에 있어서, 네트워크망으로부터 전송된 패킷의 IP 헤더를 분석하고, 상기 네트워크 프린팅 기기에 기 설정된 IP 어드레스와 비교하는 단계, 상기 비교결과 상기 패킷의 IP 어드레스가 상기 기 설 정된 IP 어드레스와 동일하면 이를 버퍼링하고 그렇지 않으면, 상기 패킷을 제거하는 단계 및 상기 버퍼링된 패킷을 상기 메인 메모리로 DMA 전송하는 단계에 의해 달성된다.
바람직하게는, 상기 네트워크망으로부터 전송된 상기 패킷이 ARP 패킷인지를 판단하는 단계, 및 상기 판단결과 ARP 패킷인 경우 상기 패킷에 대한 ARP 응답 패킷을 상기 네트워크망으로 전송하는 단계를 더 포함한다.
전송된 패킷의 IP 헤더의 분석은, 상기 패킷이 브로드 캐스트 패킷인지를 판단하는 단계, 및 상기 판단결과, 브로드 캐스트 패킷인 경우 이를 제거하는 단계를 포함한다.
상기 ARP 패킷인지를 판단하는 단계는, 상기 패킷에서 ARP 패킷을 검출하는 단계, 및 상기 검출된 ARP 패킷에 마련되는 IP 어드레스와 상기 네트워크 프린팅 기기에 기 설정된 IP 어드레스를 비교하는 단계를 포함하는 것이 바람직하다.
상기 네트워크망으로 전송하는 단계는, 상기 ARP 패킷을 버퍼링하는 단계, 상기 버퍼링된 패킷에서 ARP 영역에 대해 상기 네트워크 프린팅 기기의 물리 어드레스를 기입하여 상기 네트워크망으로 전송하는 단계를 포함하는 것이 바람직하다.
이하, 도면을 참조하여 본 발명을 상세히 설명한다.
도 2는 네트워크망으로부터 전송되는 TCP/IP 프로토콜에 따른 패킷의 어드레스 체계를 나타낸다.
도시된 바와 같이, TCP/IP 프로토콜에는 3개의 각기 다른 어드레스가 부여된다. TCP/IP 프로토콜에서는 물리 어드레스(physical address), IP(Internet Protocol) 어드레스, 및 포트(port) 어드레스가 정의된다. 물리 어드레스는 LAN(Local Area Network)이나 WAN(WAN)에서 정의된 노드(node)의 주소로서 통상 이더넷 카드(ethernet card)에 마련되는 주소를 가리킨다. 물리 어드레스로는 유니캐스트(unicast), 멀티캐스트(multicast), 및 브로드 캐스트(broadcast)가 될 수 있다. 즉, 네트워크망을 통해 단일 디바이스(예컨데 네트워크 프린팅 기기)에 접근하기 위한 주소로는 유니캐스트 어드레스가 되며, 네트워크망에 접속된 모든 디바이스에 접근하기 위한 주소로는 브로드캐스트 어드레스가 될 수 있다. 한편, 물리 어드레스는 서로 다른 네트워크망에는 접속하지 못한다.
IP 어드레스는 서로 다른 네트워크망에 접속되어 있는 호스트의 식별을 위한 것으로서 통상 4개의 10진수 군으로 구성된다. 예컨데 "132.24.75.9"와 같은 형태를 가진다. 포트 어드레스는 네트워크망에 접속되어 있는 디바이스의 프로세서가 받아들일 수 있는 포트에 대한 어드레스를 나타낸다. 통상 프로세서(processor)는 다중 작업, 즉, 여러 개의 프로세스(process)를 처리하며, 처리되는 프로세스중 네트워크망과 통신하기 위한 프로세스를 식별할 필요가 있다. 즉, 네트워크망과 접속되어 작업하는 프로세스를 식별하기 위한 어드레스가 포트 어드레스가 된다.
도 4은 IP 패킷의 헤더 구조를 나타낸다.
도 4에 도시된 IP 패킷의 헤더에서 VER은 IP 프로토콜의 버전을 나타내고, TOS는 서비스 유형을 나타내는 것으로서, 4비트로 구성된다. 4비트가 "0000"인 경우 표준전송, "0001"인 경우 최소 손실, "0010"인 경우 최대 신뢰성(maximize reliability), "0100"인 경우 최대 스루풋(maximize throuput), "1000"인 경우 최소 지연(minimize delay)을 나타낸다. total length는 패킷에 대한 헤더와 데이터의 전체 길이를 바이트 단위로 나타낸다. TTL(Time To Live)은 패킷의 수명을 제한하는 것으로, 패킷이 방문하는 라우터의 숫자를 의미한다. 이 값이 "0"이 되면 패킷은 소멸된다. protocol은 IP 계층(layer)를 이용하는 상위 계층 프로토콜을 정의한다. 이 필드(field)에서 정의 가능한 프로토콜로는 TCP, UDP, ICMP, 및 IGMP등이 정의된다. Destination Ip Address는 타겟의 IP 어드레스를 정의한다. 이 값은 호스트(예컨데 네트워크망에 접속된 서버)에서 타겟(예컨데 네트워크 프린팅 기기)으로 전송되는 동안 그 값이 변해서는 안된다. 이하, 본 발명을 이해하는데 불필요한 필드의 설명은 생략하도록 한다.
도 3은 도 1에 도시된 MAC 컨트롤러 및 주변 디바이스에 대한 내부 블록개념도를 나타낸다.
도시된 MAC 컨트롤러는, MII 인터페이스부(110), PHY 인터페이스부(120), 버퍼(130), IP 헤더분석부(140), ARP 헤더분석부(150), DMA 컨트롤러(160), 및 제어 레지스터(170)를 갖는다. PHY 칩(101)은 네트워크망과 접속되며, 네트워크망으로부터 수신되는 패킷을 802.3 프로토콜에 의해 수신하거나, PHY 인터페이스부(120)에서 출력되는 패킷을 802.3 프로토콜로 변환하여 네트워크망으로 전송한다. MII 인터페이스부(110)는 PHY 칩(101)으로부터 수신된 시리얼 형태의 패킷을 니블(nibble)단위로 변환하여 버퍼(130)로 전송한다.
IP 헤더분석부(140)는 MII 인터페이스부(110)를 통해 니블 단위로 변환된 패킷의 헤더를 분석하여 유니캐스트 어드레스인지를 판단한다. 판단 결과 유니캐스 트 어드레스의 형태를 가지나 지정된 어드레스가 없는 경우, IP 헤더분석부(140)는 니블 단위로 변환된 패킷을 버린다. 만일 패킷의 어드레스가 유니캐스트 어드레스이면서 MAC 컨트롤러의 물리 어드레스인 경우, IP 헤더분석부(140)는 이를 버퍼(130)에 저장한다.
IP 헤더분석부(140)는 수신된 패킷이 IP 패킷인 경우 수신된 IP 패킷의 IP 어드레스와 IP 헤더분석부(140)를 내장하는 디바이스(예컨데 네트워크 프린팅 기기)에 설정된 IP 어드레스와 동일한지를 판단한다. 수신된 IP 패킷이 디바이스에 설정된 IP 어드레스와 동일한 경우, 패킷에 구비되는 헤더의 크기가 기본 IP 패킷인지를 검출한다. 패킷의 헤더가 20 바이트의 크기를 가지는 기본 IP 패킷인 경우 패킷에서 UDP와 TCP 프로토콜을 검출하고, 검출된 TCP 프로토콜로부터 타겟 포트 어드레스를 검출한다. 검출된 타겟 포트 어드레스는 네트워크 프린팅 기기에 구비되는 프로세서(CPU)(200)의 프로세스중 어느 하나일 가능성이 있으며, 프로세스에 대응되는 포트 어드레스인 경우 버퍼(130)로 전송하고, 대응되는 프로세스가 없는 경우 제거된다. 이때, 제어 레지스터(170)의 어레이(Array)의 개수가 한정될 수 있으므로 포트 어드레스의 비교는 비교 대상을 한정 함으로써 모든 포트 어드레스를 비교하지는 않도록 한다. 한편, IP 헤더분석부(140)에서 검출된 패킷의 IP 어드레스값이 유니캐스트 어드레스이면서 네트워크 프린팅 기기에 대한 IP 어드레스는 아닌 경우, 이를 제거한다고 설명한 바 있다. 이는 네트워크 프린팅 기기의 경우 라우터(router)나 게이트웨이(gateway)가 아니므로 IP 패킷을 다른 호스트로 포워딩(forwarding)하지 않아도 되기 때문이다.
ARP 헤더분석부(150)는 수신된 패킷이 ARP 패킷인 경우, 전송된 어드레스가 해당 IP 어드레스인 경우 버퍼(130)로 전송하고 그렇지 않으면 버린다. ARP(Adress Resolution Protocol)는 서버와 같은 호스트나 라우터(router)가 전송할 대상의 물리 어드레스를 모르는 경우 수신 대상 디바이스에게 물리 어드레스를 요청하는데 이용된다. 즉, 패킷에 ARP 패킷을 부가하여 전송하면, 수신측 디바이스는 이를 처리하여 자신의 물리 어드레스를 응답한다. ARP 패킷의 구조는 아래의 도 5에 도시된 바와 같다.
도 5에 도시된 ARP 패킷의 구조에서 하드웨어 타입(H/W type)은 ARP가 수행되고 있는 네트워크의 유형을 나타내고, 프로토콜 타입(Prot type)은 ARP가 수행되고 있는 네트워크의 프로토콜 타입을 나타내고, 전송 이더넷 어드레스(sender ethernet address)는 송신자(예컨데 서버와 같은 호스트)의 물리 어드레스를 나타내며, 타겟 이더넷 어드레스(target ethernet address)는 호스트로부터 정의되는 타겟(예컨데 본 발명의 MAC 컨트롤러)의 물리 어드레스를 나타낸다. 여기서, 타겟 이더넷 어드레스는 호스트가 타겟으로 전송시, 타겟의 물리 어드레스를 모르므로 "0"으로 셋팅되어 네트워크망에 전송된다. 이외에도 타겟 IP 어드레스, 및 IP 어드레스 전송등 설명되지 않은 기능이 있으나, 이는 본 발명을 이해하는 데는 불필요하므로 이에 대한 설명은, 생략하도록 한다.
ARP 헤더분석부(150)는 네트워크망으로부터 전송된 패킷에 ARP 패킷이 있는지를 검출하고, ARP 패킷이 있는 경우, ARP 패킷에서 찾는 어드레스가 기 설정된 IP 어드레스, 즉 네트워크 프린팅 기기에 할당된 IP 어드레스인 경우 이를 버퍼(130)에 저장하고 그렇지 않은 경우 이 패킷을 제거한다. 버퍼(130)에 저장된 ARP 패킷은 메인 메모리(DRAM)(600)로 전송하지 않고, PHY 칩(101)의 물리 어드레스를 구비하는 ARP 응답 패킷을 생성하여 IEEE802.3 프로토콜에 따른 패킷으로 변환한 후, 네트워크망으로 재 전송된다. 네트워크망으로 전송된 ARP 응답패킷은 서버와 같은 호스트로 전송되며, 호스트는 ARP 응답패킷을 통해 타겟의 물리 어드레스를 인지하게 된다.
상기한 IP 헤더분석부(140)와 ARP 헤더분석부(150)에 의해 네트워크 프린팅 기기와 직접 연관이 없는 패킷은 필터링되어 제거된다. 이에 따라, DMA 컨트롤러(160)를 통해 메인 메모리(DRAM)(600)로 인가되는 패킷은 대부분 호스트(예컨데 서버 및 퍼스널 컴퓨터등)에서 인가되는 인쇄패킷이 된다. 이에 따라, 네트워크 프린팅 기기에 마련되는 버스(BUS)는 불필요한 패킷의 분석을 위해 사용되지 않게 되므로 호스트로부터 인가되는 인쇄패킷을 위한 버스폭(bus bandwidth)을 확보하게 된다.
도 6은 본 발명에 따른 네트워크 프린팅 기기의 버스 대역폭 확장방법의 일 실시예에 대한 흐름도를 나타낸다.
먼저, ARP 헤더분석부(150)는 MII 인터페이스부(110)를 통해 인가된 패킷이 ARP 패킷인지를 판단한다(S700). 인가된 패킷에 ARP 패킷이 구비되는 경우, ARP 헤더분석부(150)는 이를 ARP 패킷으로 판단하며, ARP 패킷으로 판단되면 ARP 패킷내에 구비되는 IP 어드레스와 네트워크 프린팅 기기에 설정되어 있는 IP 어드레스를 비교한다(S740). 비교 결과 ARP 패킷에 구비되는 IP 어드레스와 네트워크 프린 팅 기기에 설정된 IP 어드레스가 동일한 경우, 이는 네트워크망과 접속된 서버와 같은 호스트로 전송할 ARP 응답 패킷을 구성하고(S750) 이를 네트워크망을 통해 서버와 같은 호스트로 전송한다(S760). 다음으로, MII 인터페이스부(110)를 통해 인가된 패킷이 ARP 패킷이 아닌 경우 IP 헤더분석부(140)는 이 패킷이 브로드 캐스트 패킷인 가를 판단한다. 판단 결과 인가된 패킷이 브로드 캐스트 패킷인 경우, IP 헤더분석부(140)는 제어레지스터(170)의 셋팅된 설정값을 참조하여(S720) 브로드 캐스트 패킷의 전송 여부를 판단한다. 제어레지스터에 설정된 설정값이 브로드 캐스트 패킷을 차단하도록 설정되어 있으면 브로드 캐스트 패킷은 메인 메모리(DRAM)(600)로 전송되지 않고 제거되나(S720), 반대의 경우 브로드 캐스트 패킷은 메인 메모리(DRAM)(600)로 전송된다(S790).
다음으로, IP 헤더분석부(140)에서의 판단결과, 인가된 패킷이 브로드 캐스트 패킷이 아닌 경우 IP 헤더분석부(140)는 이를 유니캐스트 또는 멀티캐스트 패킷으로 판단하고, 이 패킷에 설정되어 있는 IP 어드레스가 네트워크 프린팅 기기에 설정된 IP 어드레스와 동일한지를 판단한다(S770). 판단 결과, 동일하지 않으면, 네트워크 프린팅 기기와 무관한 패킷으로 판단하여 이를 제거하며(S730), 반대의 경우 이 패킷에 마련되는 포트 어드레스와 네트워크 프린팅 기기에 설정된 포트 어드레스를 비교한다(S780). 비교 결과, 패킷에 설정된 포트 어드레스와 네트워크 프린팅 기기에 설정된 포트 어드레스가 일치하면, 이 패킷을 DMA 컨트롤러(160)를 통해 메인 메모리(DRAM)(600)로 전송하고(S790), 반대의 경우 이 패킷은 제거된다(S730). 이에 따라, 본 발명의 MAC 콘트롤러(100)는 네트워크망으로부터 인가되는 불필요한 패킷이 DMA 전송을 통해 메인 메모리(DRAM)(600)에 접근되는 것을 최대한 차단 함으로써 저가의 싱글 프로세서를 구비하는 네트워크 프린팅 기기에서도 프로세서(CPU)(200)와 같은 버스 마스터와 메인 메모리(DRAM)(600)간에 최대한의 버스 대역폭을 확보할 수 있도록 한다.
상기한 바와 같이, 본 발명은 네트워크망에 접속되는 네트워크 프린팅 기기에 불필요한 패킷의 접근을 최소화 하여 싱글 프로세서를 구비하는 네트워크 프린팅 기기의 버스 대역폭을 최대한 확보 할 수 있다.
이상에서는 본 발명의 바람직한 실시예에 대해서 도시하고 설명하였으나, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게된다.

Claims (10)

  1. 네트워크망을 통해 패킷을 송수신 하는 MAC 컨트롤러, 및 적어도 하나의 버스 마스터를 구비하는 네트워크 프린팅 기기에 있어서,
    상기 MAC 컨트롤러는,
    상기 패킷을 임시 저정하기 위한 버퍼; 및
    상기 버퍼에 저장된 상기 패킷의 IP 헤더를 분석하여 상기 패킷의 IP 어드레스와 기 설정된 IP 어드레스를 비교하고, 비교 결과에 따라 상기 패킷의 수용 여부를 결정하는 IP 헤더분석부;를 포함하고
    상기 IP 헤더분석부에 의해 네트워크 프린터와 무관한 패킷은 제거되는 것을 특징으로 하는 네트워크 프린팅 기기의 MAC 컨트롤러.
  2. 제1항에 있어서,
    상기 버퍼에 임시 저장된 상기 패킷에서 ARP 패킷을 검출하고, ARP 패킷이 검출시, 상기 검출된 ARP 패킷에 설정된 IP 어드레스와 기 설정된 IP 어드레스를 비교하여 기 설정된 IP 어드레스인 경우 상기 패킷에 대한 ARP 응답 패킷을 생성하여 상기 네트워크망으로 전송하는 ARP 헤더분석부;를 더 포함하는 것을 특징으로 하는 네트워크 프린팅 기기의 MAC 컨트롤러.
  3. 제2항에 있어서,
    상기 IP 헤더분석부와 상기 ARP 헤더분석부에 기 설정된 IP 어드레스를 저장하는 레지스터;를 더 포함하는 것을 특징으로 하는 네트워크 프린팅 기기의 MAC 컨트롤러.
  4. 제1항에 있어서,
    상기 네트워크망을 통해 인가되는 직렬 구조의 패킷을 니블 단위의 병렬 패킷으로 변환하는 인터페이스부;를 더 포함하는 것을 특징으로 하는 네트워크 프린팅 기기의 MAC 컨트롤러.
  5. 제1항에 있어서,
    상기 버퍼에 저장된 패킷을 상기 네트워크 프린팅 기기에 마련되는 메인 메모리로 DMA 전송하는 DMA 컨트롤러;를 더 포함하는 것을 특징으로 하는 네트워크 프린팅 기기의 MAC 컨트롤러.
  6. 메인 메모리, 및 싱글 프로세서를 구비하는 네트워크 프린팅 기기의 버스 대역폭을 확장하는 방법에 있어서,
    네트워크망으로부터 전송된 패킷의 IP 헤더를 분석하고, 상기 네트워크 프린팅 기기에 기 설정된 IP 어드레스와 비교하는 단계;
    상기 비교결과 상기 패킷의 IP 어드레스가 상기 기 설정된 IP 어드레스와 동일하면 이를 버퍼링하고 그렇지 않으면, 상기 패킷을 제거하는 단계; 및
    상기 버퍼링된 패킷을 상기 메인 메모리로 DMA 전송하는 단계;를 포함하는 것을 특징으로 하는 네트워크 프린팅 기기의 버스 대역폭 확장방법.
  7. 제6항에 있어서,
    상기 네트워크망으로부터 전송된 상기 패킷이 ARP 패킷인지를 판단하는 단계; 및
    상기 판단결과 ARP 패킷인 경우 상기 패킷에 대한 ARP 응답 패킷을 상기 네트워크망으로 전송하는 단계;를 더 포함하는 것을 특징으로 하는 네트워크 프린팅 기기의 버스 대역폭 확장방법.
  8. 제6항에 있어서,
    전송된 패킷의 IP 헤더의 분석은,
    상기 패킷이 브로드 캐스트 패킷인지를 판단하는 단계; 및
    상기 판단결과, 브로드 캐스트 패킷인 경우 이를 제거하는 단계;를 포함하는 것을 특징으로 하는 네트워크 프린팅 기기의 버스 대역폭 확장방법.
  9. 제7항에 있어서,
    상기 ARP 패킷인지를 판단하는 단계는,
    상기 패킷에서 ARP 패킷을 검출하는 단계; 및
    상기 검출된 ARP 패킷에 마련되는 IP 어드레스와 상기 네트워크 프린팅 기기에 기 설정된 IP 어드레스를 비교하는 단계를 포함하는 것을 특징으로 하는 네트워크 프린팅 기기의 버스 대역폭 확장방법.
  10. 제7항에 있어서,
    상기 네트워크망으로 전송하는 단계는,
    상기 ARP 패킷을 버퍼링하는 단계;
    상기 버퍼링된 패킷에서 ARP 영역에 대해 상기 네트워크 프린팅 기기의 물리 어드레스를 기입하여 상기 네트워크망으로 전송하는 단계;를 포함하는 것을 특징으 로 하는 네트워크 프린팅 기기의 버스 대역폭 확장방법.
KR1020040005189A 2004-01-27 2004-01-27 네트워크 프린팅 기기의 mac 컨트롤러 및 네트워크프린팅 기기의 버스 대역폭 확장방법 KR100601874B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020040005189A KR100601874B1 (ko) 2004-01-27 2004-01-27 네트워크 프린팅 기기의 mac 컨트롤러 및 네트워크프린팅 기기의 버스 대역폭 확장방법
US11/037,148 US20050165956A1 (en) 2004-01-27 2005-01-19 MAC controller of network printing device and method for enlarging bus bandwidth of network printing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040005189A KR100601874B1 (ko) 2004-01-27 2004-01-27 네트워크 프린팅 기기의 mac 컨트롤러 및 네트워크프린팅 기기의 버스 대역폭 확장방법

Publications (2)

Publication Number Publication Date
KR20050077229A KR20050077229A (ko) 2005-08-01
KR100601874B1 true KR100601874B1 (ko) 2006-07-19

Family

ID=34793343

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040005189A KR100601874B1 (ko) 2004-01-27 2004-01-27 네트워크 프린팅 기기의 mac 컨트롤러 및 네트워크프린팅 기기의 버스 대역폭 확장방법

Country Status (2)

Country Link
US (1) US20050165956A1 (ko)
KR (1) KR100601874B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101207280B1 (ko) 2006-11-28 2012-12-03 삼성전자주식회사 화상형성장치 및 그 제어방법과, 인터페이스장치
US8850041B2 (en) * 2009-05-26 2014-09-30 Microsoft Corporation Role based delegated administration model
US8843648B2 (en) * 2009-05-26 2014-09-23 Microsoft Corporation External access and partner delegation
KR101025674B1 (ko) * 2010-02-03 2011-03-30 엘에스산전 주식회사 듀얼 포트를 갖는 이더넷 시스템의 스위칭 장치
US8902891B2 (en) * 2011-07-27 2014-12-02 Hewlett-Packard Development Company, L.P. Method of managing broadcasts and multicasts by a network device
US9652297B2 (en) * 2013-09-19 2017-05-16 Intel Corporation Techniques for distributed processing task portion assignment

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010027817A (ko) * 1999-09-16 2001-04-06 윤종용 네트워크 프린터의 인쇄 보안방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5922049A (en) * 1996-12-09 1999-07-13 Sun Microsystems, Inc. Method for using DHCP and marking to override learned IP addesseses in a network
US6434620B1 (en) * 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
US7002941B1 (en) * 1997-10-14 2006-02-21 Alvarion Israel (2003) Ltd. Method and apparatus for synchronizing fast ethernet data packets to radio frames in a wireless metropolitan area network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010027817A (ko) * 1999-09-16 2001-04-06 윤종용 네트워크 프린터의 인쇄 보안방법

Also Published As

Publication number Publication date
KR20050077229A (ko) 2005-08-01
US20050165956A1 (en) 2005-07-28

Similar Documents

Publication Publication Date Title
US8532105B2 (en) Image forming apparatus, and control method and interface apparatus thereof
US8615604B2 (en) Information processing apparatus, information processing system and computer readable medium for maintaining communication while IP addresses change
US7630368B2 (en) Virtual network interface card loopback fastpath
US8005022B2 (en) Host operating system bypass for packets destined for a virtual machine
JP4657720B2 (ja) ネットワーク・インターフェースおよびプロトコル
US7684423B2 (en) System and method for virtual network interface cards based on internet protocol addresses
US9009830B2 (en) Inline intrusion detection
TWI400910B (zh) 用於接收端調整之方法與裝置
US7623450B2 (en) Methods and apparatus for improving security while transmitting a data packet
US20070223472A1 (en) Network processing apparatus, multiprocessor system and network protocol processing method
US20040123142A1 (en) Detecting a network attack
US7613132B2 (en) Method and system for controlling virtual machine bandwidth
WO2011053284A1 (en) Methods and apparatus for detection of a nat device
US20080077724A1 (en) Interrupt coalescing control scheme
US9866639B2 (en) Communication apparatus, information processor, communication method, and computer-readable storage medium
US20050165956A1 (en) MAC controller of network printing device and method for enlarging bus bandwidth of network printing device
US9961147B2 (en) Communication apparatus, information processor, communication method, and computer-readable storage medium
US20050141018A1 (en) Network printer control system and data reception control method thereof
WO2003069440A2 (en) Network processor with high-speed transceiver
US7688821B2 (en) Method and apparatus for distributing data packets by using multi-network address translation
US7505418B1 (en) Network loopback using a virtual address
KR100312865B1 (ko) 네트워크 프린트 서버 기능을 제공하는 멀티포트 네트워크정합장치 및 패킷 데이터 송/수신 방법
US20020142720A1 (en) Method of sharing a printer
US10949133B2 (en) Information processing apparatus configured to determine a transmission source device of a packet and information processing method
US8116199B2 (en) Method and system for monitoring network communication

Legal Events

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