KR100308112B1 - 이더넷 컨트롤러의 어드레스 검출장치 및 검출방법 - Google Patents

이더넷 컨트롤러의 어드레스 검출장치 및 검출방법 Download PDF

Info

Publication number
KR100308112B1
KR100308112B1 KR1019970031841A KR19970031841A KR100308112B1 KR 100308112 B1 KR100308112 B1 KR 100308112B1 KR 1019970031841 A KR1019970031841 A KR 1019970031841A KR 19970031841 A KR19970031841 A KR 19970031841A KR 100308112 B1 KR100308112 B1 KR 100308112B1
Authority
KR
South Korea
Prior art keywords
address
mac
group
unit
destination
Prior art date
Application number
KR1019970031841A
Other languages
English (en)
Other versions
KR19990009428A (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 KR1019970031841A priority Critical patent/KR100308112B1/ko
Priority to US08/949,703 priority patent/US6061350A/en
Priority to DE19751270A priority patent/DE19751270A1/de
Priority to JP10056506A priority patent/JP2961531B2/ja
Publication of KR19990009428A publication Critical patent/KR19990009428A/ko
Application granted granted Critical
Publication of KR100308112B1 publication Critical patent/KR100308112B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/345Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
    • 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]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • 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]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40032Details regarding a bus interface enhancer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 목적지 어드레스와 그룹 어드레스를 비교하는데 걸리는 시간을 최소화하여 패킷의 처리능력을 향상시키는데 적당한 이더넷 컨트롤러의 어드레스 검출장치 및 검출방법에 관한 것으로서 이에따른 이더넷 컨트롤러의 어드레스 검출방법은 전송된 패킷에 대한 소정 byte의 목적지 어드레스가 MAC부내에 저장되었는지를 검출하여 저장되었으면 저장된 목적지 어드레스를 출력하는 스텝과, MAC부로부터 입력된 목적지 어드레스와 소정 byte의 그룹 어드레스를 비교하는 스텝과, 상기 비교결과 목적지 어드레스와 그룹 어드레스가 동일하면 상기 MAC부로 동일함을 알리는 신호를 출력하는 스텝과, 상기 동일함을 알리는 신호에 따라 소정 byte의 목적지 및 그룹 어드레스를 제외한 나머지 byte의 목적지 어드레스 및 그룹 어드레스를 서로 비교하는 스텝과, 상기 비교결과 나머지 byte의 목적지 어드레스와 그룹 어드레스가 서로 동일하면 패킷을 수신하는 스텝을 포함하여 이루어진다.

Description

이더넷 컨트롤러의 어드레스 검출장치 및 검출방법{METHOD APPARATUS FOR DETECTING ADDRESSES IN ETHERNET CONTROLLER}
본 발명은 이더넷 프로토콜(Ethernet protocol)에 관한 것으로 특히, 근거리 통신(LAN : Local Area Network)에 연결된 네트워크 인터페이스 카드(NIC : Network Interface Card)로부터 입력되는 패킷 어드레스를 검출하는데 적당한 이더넷 컨트롤러의 어드레스 검출장치 및 검출방법에 관한 것이다.
일반적으로 컴퓨터, 워드프로세서 등과 같은 데이타 단말장치간의 상호접속에 따른 근거리 통신망(LAN)의 사용은 잘 알려져 있다.
근거리 통신망에서 각 디바이스들은 고유의 어드레스를 가짐과 동시에 그 밖의 여러개의 그룹 어드레스를 가지고 있다.
따라서 각 디바이스 내부에 위치한 네트워크 인터페이스 카드로 전달되는 어드레스와 자신의 어드레스 및 그룹 어드레스를 비교하여 그 결과에 따라 데이타를 수신하거나 수신하지 않게된다.
일반적으로 네트워크상에서 각 디바이스들간의 데이타 송수신은 패킷단위로 이루어진다.
따라서 디바이스는 패킷단위로 입력되는 데이타중 목적지 어드레스를 검출하여 자신이 목적지 어드레스에 해당하면 현재 전송되어 오는 패킷을 받아들이고 목적지 어드레스에 해당되지 않으면 패킷을 받아들이지 않게된다.
이하, 첨부된 도면을 참조하여 종래 이더넷 컨트롤러의 어드레스 검출장치 를 설명하기로 한다.
도 1은 종래 이더넷 컨트롤러의 어드레스 검출장치의 구성블록도이다.
도 1에 도시한 바와같이 시스템버스 인터페이스부(13)와, MAC(Media Access Controller)부(15), 그리고 어테치 모듈(Attach module)부(17)로 구성된다.
시스템버스 인터페이스부(13)는 시스템버스(11)와 연결된다.
어테치 모듈부(17)는 각 네트워크로부터 패킷단위의 데이타를 받는다.
어테치 모듈부(17)는 프론트 앤드(front end)모듈이라고도 부르며 네트워크로부터 데이타를 수신하고 네트워크로 데이타를 송신하기 위한 모듈레이션(modulation) 및 디모듈레이션(demodulation)기능을 수행한다.
MAC부(15)는 도 2에 도시한 바와같이 에스램(SRAM)(15a), FIFO메모리부(15b) 그리고 비교부(15c)를 포함한다.
비교부(15)는 에스램(15a)과 FIFO메모리부(15b)와 연결된다.
에스램(15a)은 복수개의 그룹(group) 어드레스를 저장하고 있고 FIFO메모리부(15b)는 패킷단위로 전송되어오는 데이타의 목적지 어드레스를 받은 후 비교부(15c)에 순차적으로 출력한다.
비교부(15c)는 에스램(15a)에 저장되어 있는 그룹어드레스와 FIFO메모리부(15b)로부터 출력되는 어드레스를 비교한다.
시스템버스 인터페이스부(13)는 시스템버스(11)와 MAC부(15)사이에 배치된다.
이와같이 구성된 종래 이더넷 컨트롤러의 어드레스 검출장치의 어드레스 검출방법은 다음과 같다.
도 1 내지 도 2에 도시한 바와같이 시리얼로 입력되는 목적지 어드레스가 MAC부(15)내의 FIFO메모리부(15b)에 순차적으로 입력되고 최초에 입력된 어드레스부터 순차적으로 출력된다.
이때 에스램(15a)에는 복수개의 그룹 어드레스가 저장되어 있는데 상기 비교부(15c)는 에스램(15a)에 저장된 그룹 어드레스들과 FIFO메모리부(15b)로부터 출력되는 어드레스를 비교한다.
이와같이 비교과정을 통해 에스램(15a)에 저장되어 있던 어드레스와 FIFO메모리부(15b)로부터 출력되는 어드레스가 서로 동일하면 동일함을 알리는 신호(hit신호)를 출력하고 비교결과 동일하지 않으면 FIFO메모리부(15b)와 에스램(15a)에 저장된 데이타를 리셋(reset)시킨다.
도 1에 도시된 어드레스 검출장치에 따른 어드레스 검출방법에 의하면 어드레스를 검출하는 블록이 MAC부(15)내에 위치하고 있다는 것이다.
이와같이 어드레스를 검출하는 블록이 MAC부(15)내가 아니라 MAC부(15)외부에 위치하는 경우에 대해서 설명하기로 한다.
도 3은 종래 다른 실시예에 따른 이더넷 컨트롤러의 어드레스 검출장치의 구성블록도이다.
도 3은 어드레스를 검출하는 블록이 MAC외부에 위치하는 경우를 도시한 것이다.
도 3에 도시한 바와같이 시스템버스 인터페이스부(13), MAC부(15), 어테치 모듈(17) 그리고 어드레스 검출부(19)로 구성된다.
어드레스 검출부(19)는 MAC부(15)와 어테치 모듈(17)에 각각 연결된다.
시스템버스 인터페이스부(13)는 시스템버스(11)와 MAC(15)사이에 배치되며 이들을 인터페이싱 시킨다.
어드레스 검출부(19)는 MAC(15)에 저장된 그룹 어드레스와 상기 어테치 모듈(17)로부터 출력되는 목적지 어드레스를 비교하여 두 어드레스의 동일여부를 검출한다.
여기서 MAC부(15)내에는 에스램(도면에 도시하지 않음)이 구성되어 그룹 어드레스를 저장하고 있다.
이와같이 종래 다른실시예에 따른 어드레스 검출장치는 어드레스를 비교검출하는 블록이 MAC(15)의 외부에 위치하여 MAC(15)에 저장된 그룹 어드레스와 어테치 모듈(17)에서 출력하는 어드레스를 비교하고 그 결과를 다시 MAC(15)로 전달한다.
지금까지는 어드레스를 검출하는 블록이 MAC 내부 또는 외부에 존재하여 입력되는 어드레스와 저장하고 있던 어드레스를 비교하는 경우에 대해서 설명하였다.
어드레스를 검출방법에 따른 종래 또다른 실시예로서는 소프트웨어 해쉬(software hash)방법이 있다.
이러한 소프트웨어 해쉬방법은 네트워크 인터페이스 카드가 로딩(loading)될 때까지 각각의 그룹 어드레스들과 약속된 폴리노미얼로 CRC알고리즘을 거친다.
그리고 그 결과에 따라 8byte의 멀티케스트 테이블(multicast table)를 작성한다.
도 4는 이러한 CRC알고리즘을 나타내었다.
도 4에서와 같이 CRC알고리즘을 이용해서 정해진 내부의 멀티케스트 어드레스 레지스터(multicast address register)의 위치에 한 비트(bit)을 셋팅(setting)시킨다.
이와같은 방법으로 멀티케스트 테이블을 작성하게 되는데 도 5는 작성된 멀티케스트 테이블을 도시하였다.
멀티케스트 테이블을 작성한 후 패킷이 들어오면 상기 패킷에 대해 CRC알고리즘을 거친다음, 그 결과값을 가지고 멀티케스트 테이블을 참고하여 해당 위치에 비트가 셋팅되어 있는지를 확인한다.
만일 해당위치에 비트가 셋팅되어 있으면 패킷을 받아들이고 그렇지 않으면 패킷을 받아들이지 않는다.
그러나 상기와 같은 종래 이더넷 컨트롤러의 어드레스 검출장치 및 어드레스 검출방법은 다음과 같은 문제점이 있었다.
첫째, 소프트웨어 해쉬방법은 속도가 매우 느리므로 패킷의 처리능력이 현저히 떨어진다.
둘째, MAC내부에서 어드레스를 검출하는 방식은 모든 그룹 어드레스를 저장하기 위해 많은 저장영역을 필요로 하고 패킷이 수신될 때마다 어드레스가 일치할 때까지 모든 그룹 어드레스를 비교하여야 하므로 패킷의 처리능력을 감소시킨다.
본 발명은 상기한 문제점을 해결하기 위해 안출한 것으로서 어드레스의 상위비트 복수개를 1차적으로 비교하여 신속한 비교동작을 통해 패킷의 처리능력을 향상시키는데 적당한 이더넷 컨트롤러의 어드레스 검출장치 및 어드레스 검출방법을 제공하는데 그 목적이 있다.
도 1은 종래 이더넷 컨트롤러의 어드레스검출장치의 구성블록도
도 2는 도 1의 부분적 상세구성도
도 3은 종래 다른 실시예에 따른 이더넷 컨트롤러의 어드레스검출장치의 구성블록도
도 4는 종래 이더넷 컨트롤러의 어드레스검출방법에 따른 CRC알고리즘을 나타낸 도면
도 5는 도 4의 어드레스검출방법에 따른 멀티캐스트 테이블을 나타낸 도면
도 6은 본 발명의 이더넷 컨트롤러의 어드레스검출장치에 따른 구성블록도
도 7은 본 발명에 따른 MAC부의 상세구성도
도 8은 본 발명에 따른 예비 어드레스비교부의 상세구성도
도 9는 대표적인 이더넷 패킷을 나타낸 도면
도 10은 본 발명에 따른 예비 어드레스비교부의 제 2 메모리부에 저장된 어드레스를 보여주는 도면
도 11은 본 발명에 따른 MAC내부의 인터널 캠에 저장된 어드레스를 보여주는 도면
도 12는 본 발명의 이더넷 컨트롤러의 어드레스 검출방법을 설명하기 위한 플로우챠트
도 13은 본 발명의 다른 실시예에 따른 이더넷 컨트롤러의 어드레스검출장치의 구성블록도
도면의 주요부분에 대한 부호의 설명
61 : 시스템버스 63 : 시스템버스 인터페이스부
65 : MAC부 65a : 에스램(SRAM)
65b : FIFO메모리부 65c : 어드레스 비교 및 제어부
67 : 메모리부 69 : 예비 어드레스비교부
69a : 제 1 메모리부 69b : 비교제어부
69c : 제 2 메모리부 75 : 인터널 캠(interal CAM)
상기의 목적을 달성하기 위한 본 발명의 이더넷 컨트롤러의 어드레스 검출장치는 네트워크에서 복수개의 그룹 어드레스를 갖는 디바이스들간의 패킷전송에 있어서, 그룹 어드레스를 저장하는 메모리부와, 메모리부에 저장된 그룹 어드레스와 패킷의 목적지 어드레스를 1차적으로 비교하고 그 결과값을 출력하는 예비 어드레스비교부와, 시스템버스를 통해 입력되는 패킷의 목적지 어드레스를 저장하고 예비어드레스비교부에서 출력하는 결과값을 받아 목적지 어드레스와 그룹 어드레스를 2차적으로 비교하는 MAC부를 포함하여 구성되고 본 발명의 이더넷 컨트롤러의 어드레스 검출방법은 전송된 패킷에 대한 소정 byte의 목적지 어드레스가 MAC부내에 저장되었는지를 검출하여 저장되었으면 저장된 목적지 어드레스를 출력하는 스텝과, MAC부로부터 입력된 목적지 어드레스와 소정 byte의 그룹 어드레스를 비교하는 스텝과, 상기 비교결과 목적지 어드레스와 그룹 어드레스가 동일하면 상기 MAC부로 동일함을 알리는 신호를 출력하는 스텝과, 상기 동일함을 알리는 신호에 따라 소정 byte의 목적지 및 그룹 어드레스를 제외한 나머지 byte의 목적지 어드레스 및 그룹 어드레스를 서로 비교하는 스텝과, 상기 비교결과 나머지 byte의 목적지 어드레스와 그룹 어드레스가 서로 동일하면 패킷을 수신하는 스텝을 포함하여 이루어진다.
이하, 첨부된 도면을 참조하여 본 발명의 이더넷 컨트롤러의 어드레스 검출장치 및 검출방법을 설명하기로 한다.
도 6은 본 발명의 이더넷 컨트롤러의 어드레스 검출장치를 나타낸 구성 블록도이다.
도 6에 도시한 바와같이 본 발명의 이더넷 컨트롤러의 어드레스 검출장치는 시스템버스 인터페이스부(63), MAC부(65), 메모리부(67) 그리고 예비 어드레스비교부(69)로 구성된다.
시스템버스 인터페이스부(63)는 시스템버스(61)와 MAC부(65)사이에 배치되고 이들간에 인터페이싱을 담당한다.
메모리부(67)는 MAC부(65) 및 예비 어드레스비교부(69)와 연결되며 선입선출방식을 이용한 FIFO메모리이다.
상기 MAC부(65)는 시스템버스 인터페이스부(63)와 연결되고 메모리부(67) 및 예비 어드레스비교부(69)와도 연결된다.
도 7은 MAC부의 상세블록도이다.
도 7에 도시한 바와같이 MAC부는 에스램(Static RAM)(65a)과, FIFO메모리부(65b), 어드레스 비교 및 제어부(65c)를 포함한다.
MAC부(65)내에 배치된 FIFO메모리부(65b)는 시스템버스 인터페이스부(63)를 통해 시스템버스(61)와 연결되고 패킷의 목적지 어드레스를 입력한다.
목적지 어드레스는 6byte로 이루어지는데, 6byte의 어드레스중 4byte가 입력되면 FIFO메모리부(65b)는 예비 어드레스 로드(load)신호와 함께 4byte의 어드레스를 예비 어드레스비교부(도 6에 도시됨)로 출력한다.
여기서, 상기 예비 어드레스비교부의 상세한 구성은 다음과 같다.
도 8은 본 발명에 따른 예비 어드레스비교부의 구성블록도이다.
도 8에 도시한 바와같이 예비 어드레스비교부(69)는 제 1 메모리부(69a), 비교제어부(69b), 그리고 제 2 메모리부(69c)로 구성된다.
제 1 메모리부(69a)는 MAC부(65)내에 배치된 FIFO메모리부(65b)와 연결되고 비교제어부(69b)는 제 1 메모리부(69a)와 제 2 메모리부(69c)에 각각 연결된다.
FIFO메모리부(65b)는 전술한 바와같이 6byte의 목적지 어드레스중 4byte가 채워지면 이를 제 1 메모리부(69a)로 출력하므로 제 1 메모리부(69a) 또한 4byte의 목적지 어드레스를 저장하게 된다.
제 2 메모리부(69c)는 비교제어부(69b)와 연결되고 제 1 메모리부(69a)에 저장되는 4byte의 목적지 어드레스와 비교할 그룹 어드레스를 저장한다.
이때 그룹 어드레스도 4byte만을 저장하게 된다.
제 2 메모리부(69c)에 저장되는 4byte의 그룹 어드레스를 제외한 나머지 2byte의 어드레스는 상기 MAC부(65)내의 에스램(65)에 저장된다.
여기서 상기 제 2 메모리부(69c)는 제 1 메모리부(69a)에 저장된 4byte의 목적지 어드레스와 비교할 4byte의 그룹 어드레스를 저장하고, 그룹 어드레스중 나머지 2byte가 저장된 에스램(65a)의 시작 어드레스와, 비교할 그룹 어드레스의 갯수를 저장한다.
따라서 비교제어부(69b)는 제 1 메모리부(69a)에 저장된 4byte의 목적지 어드레스와 제 2 메모리부(69c)에 저장된 4byte의 그룹 어드레스를 비교한다.
상기 비교결과 목적지 어드레스와 그룹 어드레스가 동일하면 동일함을 알리는 신호(Hit신호)를 MAC부(65)로 출력한다.
여기서 상기 MAC부(65)내에 배치된 에스램(65a)은 두 부분으로 구분되는데 그중 한 부분은 인터널(Interal)CAM(Contents Address Memory)(75)으로서 상위 4byte를 제외한 나머지 2byte가 순차적으로 저장되고 다른 한 부분은 데이타 송수신에 따른 버퍼(76)로 사용된다.
이와같이 구성된 본 발명의 이더넷 컨트롤러의 어드레스 검출방법을 설명하면 다음과 같다.
도 9는 대표적인 이더넷 패킷(Ethernet packet)을 나타낸 것이다.
하나의 패킷은 7byte로 이루어진 프리엠블(preamble)로 시작된다.
프리엠블 다음에는 스타트 프레임 딜리미터(SFD : Start Frame Delimeter)가 뒤따르고 그 다음에는 목적지 어드레스, 소오스 어드레스, 데이타의 길이에 대한 정보가 뒤따른다.
이어, 데이타(data), 패드, 에러체킹을 위한 프레임 체크 시퀀스(FCS : Frame Check Sequence)가 뒤따른다.
본 발명에 따른 어드레스 검출방법은 도 9에 도시한 바와같이 6byte의 목적지 어드레스중 상위 4byte는 예비 어드레스비교부(69)에서 그룹 어드레스와 1차적으로 비교하고 나머지 2byte의 목적지 어드레스는 MAC(65)내부에서 그룹 어드레스와 비교한다.
첨부도면을 참조하여 보다 상세히 설명하면 다음과 같다.
도 6 내지 도 7에 도시한 바와같이 네트워크로부터 패킷이 전송되어 오면 MAC부(65)에서는 스타트 프레임 딜리미터(SFD)를 검출한다.
그리고 MAC부(65)내의 FIFO메모리부(65b)는 시스템버스 인터페이스부(63)를 통해 4byte의 목적지 어드레스를 저장한다.
FIFO메모리부(65b)에 4byte의 목적지 어드레스가 모두 저장되면 예비 어드레스 로드(load)신호와 함께 상기 4byte의 목적지 어드레스를 예비 어드레스비교부(69)의 제 1 메모리부(69a)로 출력한다.
이때 도 6에 도시된 메모리부(67)에는 4byte의 목적지 어드레스와 비교할 4byte의 그룹 어드레스를 저장하고 있다.
이어, 도 7에 도시한 바와같이 예비 어드레스비교부(69)의 제 1 메모리부(69a)는 MAC부(65)내의 FIFO메모리부(65b)로부터 전달된 4byte의 목적지 어드레스를 저장하고 제 2 메모리부(69c)는 4byte의 그룹 어드레스를 저장한다.
따라서 비교제어부(69b)는 이를 순차적으로 불러내어 비교하여 서로 동일하면 동일함을 알리는 신호를 MAC부(65)로 출력한다.
여기서 예비 어드레스비교부(69)의 동작설명을 보다 상세히 설명하기로 한다.
도 10은 예비 어드레스비교부의 제 2 메모리부를 나타낸 것이다.
도 10에 나타낸 제 2 메모리부는 일예로 6byte의 그룹 어드레스가 아래와 같이 ABABABAB3456, ABABABAB789A, ABABABABCDEF, 333333337777, 333333334321, 27272727ABAB, 27272727CDCD, 272727274444, 343434347777, 343434343456 라고 가정할 경우를 도시한 것이다.
도 10에 도시한 바와같이 제 2 메모리부(69c)의 첫 번째 어드레스에는 그룹 어드레스중 상위 4byte에 해당하는 27272727이 저장된다.
그 다음 어드레스에는 상기 27272727로 시작하는 그룹 어드레스들의 나머지 2byte를 저장해 놓은 곳(MAC내부의 인터널 캠)의 첫 번째 어드레스와, 27272727로 시작하는 그룹 어드레스의 갯수가 저장된다.
여기서, 27272727로 시작하는 그룹 어드레스의 갯수는 3개임을 알 수 있다.
이어, 그 다음 어드레스에는 전술한 그룹 어드레스들중 ABABABAB가 저장되고 위에서와 마찬가지로 다음 어드레스에는 나머지 2byte를 저장해 놓은 곳의 첫 번째어드레스와, 상기 ABABABAB로 시작하는 그룹 어드레스의 갯수가 저장된다.
여기서, ABABABAB로 시작하는 그룹 어드레스의 갯수는 3개이다.
이와같이 33333333 및 34343434로 시작하는 그룹 어드레스도 상기와 동일하게 적용된다.
한편 도 11은 MAC부 내부의 인터널 캠(Internal CAM)에 저장되는 어드레스를 나타낸 것이다.
도 11에 도시한 바와같이 인터널 캠(75)은 27272727로 시작하는 그룹 어드레스의 나머지 2byte를 순차적으로 저장하고 이어서 ABABABAB, 33333333, 34343434로 시작하는 그룹 어드레스의 나머지 2byte를 순차적으로 저장한다.
즉, 전술한 그룹 어드레스중 27272727 다음의 2byte는 도 11에 도시한 바와같이 ABAB와 CDCD와, 4444가 해당된다.
그리고 ABABABAB 다음의 2byte는 3456과, 789A와, CDEF가 해당된다.
마찬가지로 33333333은 7777과, 4321이 해당되고 34343434는 7777과, 3456이 해당된다.
결과적으로 예비 어드레스비교부(69)에서 제 1 메모리부(69a)와 제 2 메모리부(69c)로부터 어드레스를 불러내어 1차적으로 비교하여 서로 동일하면 동일함을 알리는 신호를 MAC부(65)로 출력하게 된다.
따라서 MAC부(65)내의 어드레스 비교 및 제어부(65c)는 인터널 캠(75)에 저장된 그룹 어드레스중 나머지 2byte와 상기 예비 어드레스비교부(69)로부터 로딩(loading)된 2byte를 2차적으로 비교한다.
상기 비교결과 서로 동일하면 현재 전송되는 패킷을 받아들이고 그렇지 않으면 받아들이지 않는다.
한편 도 12은 본 발명의 이더넷 컨트롤러의 어드레스 검출방법을 설명하기 위한 플로우챠트이다.
도 11에 도시한 바와같이 본 발명의 어드레스 검출방법은 패킷이 전송되면(101)MAC부 스타트 프레임 딜리미터(SFD)를 검출하고 4byte의 목적지 어드레스를 저장한다.
이어, MAC내부의 FIFO메모리부에 목적지 어드레스중 4byte가 모두 저장되었는지를 판단(102)하여 모두 저장되었으면 예비 어드레스로딩신호와 함께 4byte의 목적지 어드레스를 예비 어드레스비교부로 출력한다(103).
따라서 예비 어드레스비교부는 제 1 메모리부에 저장된 4byte의 목적지 어드레스와 제 2 메모리부에 저장된 4byte의 그룹 어드레스를 1차적으로 비교한다(104).
상기 목적지 어드레스와 그룹 어드레스가 서로 동일한지를 판정하여(105)이들이 서로 동일하면 Hit신호를 MAC부로 출력한다(106).
그리고 서로 동일하지 않으면 입력되는 패킷을 받아 들이지 않는다(106a).
예비 어드레스비교부로부터 동일함을 알리는 Hit신호를 받은 MAC부는 에스램에 저장된 그룹 어드레스의 나머지 2byte와 목적지 어드레스의 나머지 2byte를 2차적으로 비교한다(107).
이어, 2byte의 목적지 어드레스와 그룹 어드레스가 동일한지를판정하여(108) 이들이 서로 동일하면 전송되어온 패킷을 최종적으로 수신하고(109) 그렇지 않으면 패킷을 받아들이지 않는다(109a).
이와같이 본 패킷의 수신여부를 판단함에 있어서 목적지 어드레스와 그룹어드레스를 MAC외부에서 1차적으로 비교한 후 다시 MAC내부에서 2차적으로 비교하게 된다.
본 발명에 따른 다른 실시예로서는 1차적으로 비교하는 블록을 MAC내부에 구성하는 것으로서 이는 도 13에 도시한 바와같다.
즉, 도 13에 도시한 바와같이 예비 어드레스비교부(69)를 MAC(65)내부에 구성하므로서 MAC(65)내부에서 1차 및 2차 비교를 수행하는 것이다.
이상 상술한 바와같이 본 발명의 이더넷 컨트롤러의 어드레스 검출장치 및 검출방법은 다음과 같은 효과가 있다.
첫째, 예비 어드레스비교부를 이용하여 1차적으로 목적지 어드레스와 그룹 어드레스를 비교하므로써 패킷의 수신여부를 신속하게 결정할 수 있다.
둘째, MAC내부에서 2byte만을 비교하므로 패킷 수신여부를 신속하게 결정할 수 있다.
셋째, 전체 6byte의 어드레스를 MAC과 예비 어드레스비교부에 분리하여 저장하므로 그룹 어드레스의 수가 증가하더라도 용이하게 처리할 수 있다.

Claims (6)

  1. 네트워크에서 복수개의 Nbyte 그룹 어드레스를 갖는 디바이스들간의 패킷전송에 있어서,
    상기 Nbyte 그룹 어드레스중 소정 byte의 어드레스를 저장하는 메모리부;
    상기 메모리부에 저장된 그룹 어드레스와 상기 패킷의 Nbyte 목적지 어드레스중 소정 byte의 목적지 어드레스를 1차적으로 비교하고 그 결과값을 출력하는 예비 어드레스비교부;
    상기 예비 어드레스비교부에서 출력되는 결과에 기초하여서 일치한다는 신호가 출력될 경우에는 상기 소정 byte를 제외한 나머지 byte의 목적지 어드레스와 그룹 어드레스를 2차적으로 비교하고, 일치하지 않는다는 신호가 출력될 경우에는 패킷 수신을 거절하도록 구성된 MAC부를 포함하여 구성되는 것을 특징으로 하는 이더넷 컨트롤러의 어드레스 검출장치.
  2. 제 1 항에 있어서,
    상기 예비 어드레스비교부는 MAC내부의 FIFO메모리로부터 전달된 목적지 어드레스을 저장하는 제 1 메모리부와, 상기 제 1 메모리부의 어드레스와 비교할 정 byte의 그룹 어드레스를 저장하고 있는 제 2 메모리부와, 상기 제 1, 제 2 메모리부에 저장된 어드레스를 비교한 후 결과값을 출력하는 비교제어부를 포함하여 구성되는 것을 특징으로 하는 이더넷 컨트롤러의 어드레스 검출장치.
  3. 제 1 항에 있어서,
    상기 MAC부는 스테이틱 램(SRAM)과, FIFO메모리와, 어드레스 비교 및 제어부를 포함하여 구성되는 것을 특징으로 하는 이더넷 컨트롤러의 어드레스 검출장치.
  4. 제 2 항에 있어서,
    상기 제 2 메모리부는 제 1 메모리부의 어드레스와 비교할 소정 byte의 그룹 어드레스를 저장하고, 상기 소정 byte를 제외한 나머지 byte를 저장하고 있는 상기 인터널 캠의 시작어드레스 및 나머지 byte의 갯수를 저장하는 것을 특징으로 하는 이더넷 컨트롤러의 어드레스 검출장치.
  5. 전송된 패킷에 대한 소정 byte의 목적지 어드레스가 MAC부내에 저장되었는지를 검출하여 저장되었으면 저장된 목적지 어드레스를 출력하는 스텝;
    MAC부로부터 입력된 목적지 어드레스와 소정 byte의 그룹 어드레스를 비교하는 스텝;
    상기 비교결과 목적지 어드레스와 그룹 어드레스가 동일하면 상기 MAC부로 동일함을 알리는 신호를 출력하고 동일하지 않으면 동일하지 않다는 신호를 출력하는 스텝;
    상기 동일함을 알리는 신호가 출력되었을 경우에만 소정 byte의 목적지 및 그룹 어드레스를 제외한 나머지 byte의 목적지 어드레스 및 그룹 어드레스를 서로비교하는 스텝;
    상기 비교결과 나머지 byte의 목적지 어드레스와 그룹 어드레스가 서로 동일할 경우에만 패킷을 수신하는 스텝을 포함하여 이루어지는 것을 특징으로 하는 이더넷 컨트롤러의 어드레스 검출방법.
  6. 제 5 항에 있어서,
    상기 목적지 어드레스 및 그룹 어드레스는 6byte로 이루어져 있고 상기 MAC내부에 저장되는 소정 byte의 목적지 어드레스는 4byte로 이루어지는 것을 특징으로 하는 이더넷 컨트롤러의 어드레스 검출방법.
KR1019970031841A 1997-07-09 1997-07-09 이더넷 컨트롤러의 어드레스 검출장치 및 검출방법 KR100308112B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1019970031841A KR100308112B1 (ko) 1997-07-09 1997-07-09 이더넷 컨트롤러의 어드레스 검출장치 및 검출방법
US08/949,703 US6061350A (en) 1997-07-09 1997-10-14 Address detecting device of ethernet controller and address detecting method thereof
DE19751270A DE19751270A1 (de) 1997-07-09 1997-11-19 Adressenerkennungsvorrichtung eines Ethernetcontrollers wie zugehöriges Adressenerkennungsverfahren
JP10056506A JP2961531B2 (ja) 1997-07-09 1998-03-09 イーサネットコントローラのアドレス検出装置及び検出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970031841A KR100308112B1 (ko) 1997-07-09 1997-07-09 이더넷 컨트롤러의 어드레스 검출장치 및 검출방법

Publications (2)

Publication Number Publication Date
KR19990009428A KR19990009428A (ko) 1999-02-05
KR100308112B1 true KR100308112B1 (ko) 2001-10-19

Family

ID=19513927

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970031841A KR100308112B1 (ko) 1997-07-09 1997-07-09 이더넷 컨트롤러의 어드레스 검출장치 및 검출방법

Country Status (4)

Country Link
US (1) US6061350A (ko)
JP (1) JP2961531B2 (ko)
KR (1) KR100308112B1 (ko)
DE (1) DE19751270A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3513027B2 (ja) * 1998-09-08 2004-03-31 富士通株式会社 監視システム及びその監視方法
US6721379B1 (en) * 1998-09-25 2004-04-13 International Business Machines Corporation DAC/Driver waveform generator with phase lock rise time control
KR100577148B1 (ko) * 1998-11-28 2006-07-25 엘지전자 주식회사 이더넷 컨트롤러의 어드레스검출장치 및 검출방법
US6208647B1 (en) * 1999-04-14 2001-03-27 Verizon Laboratories Inc. Multicast extension to data link layer protocols
US6778539B1 (en) * 2000-03-07 2004-08-17 Sun Microsystems, Inc. Multilevel table routing
BE1014777A3 (fr) * 2001-12-21 2004-04-06 Thales Comm Belgium S A Systeme de communications securisees, comportant un reseau local par exemple du type ethernet, notamment embarque dans un aeronef.
US7698561B2 (en) * 2004-08-12 2010-04-13 Cisco Technology, Inc. Method and system for detection of aliases in a network
KR101711698B1 (ko) * 2014-05-26 2017-03-02 한국전자통신연구원 데이터 처리 방법, 및 데이터 처리 장치
US9900209B2 (en) 2015-09-14 2018-02-20 Cisco Technology, Inc. Techniques for YANG model version control validation
KR102298731B1 (ko) * 2021-03-24 2021-09-06 퍼시픽 센츄리 주식회사 무선통신장치 및 그 장치의 구동방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537623A (en) * 1993-03-01 1996-07-16 International Business Machines Corporation Multiple group address recognition

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6382534A (ja) * 1986-09-26 1988-04-13 Matsushita Electric Ind Co Ltd メモリ保護装置
US5095480A (en) * 1989-06-16 1992-03-10 Fenner Peter R Message routing system for shared communication media networks
US5327534A (en) * 1990-07-30 1994-07-05 Digital Equipment Corporation Detection of duplicate alias addresses
JP2891567B2 (ja) * 1991-08-30 1999-05-17 富士通株式会社 アドレス判定回路のチェックシステム
US5305321A (en) * 1992-02-24 1994-04-19 Advanced Micro Devices Ethernet media access controller with external address detection interface and associated method
US5461634A (en) * 1993-03-25 1995-10-24 General Electric Company Memory storage verification system for use in an integrated circuit for performing power signal measurements
US5854786A (en) * 1995-08-09 1998-12-29 Qualcomm Incorporated Method and apparatus for distribution/consolidation (DISCO) interface units for packet switched interconnection system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537623A (en) * 1993-03-01 1996-07-16 International Business Machines Corporation Multiple group address recognition

Also Published As

Publication number Publication date
US6061350A (en) 2000-05-09
DE19751270A1 (de) 1999-01-14
JP2961531B2 (ja) 1999-10-12
KR19990009428A (ko) 1999-02-05
JPH1139238A (ja) 1999-02-12

Similar Documents

Publication Publication Date Title
KR100216857B1 (ko) 내용 어드레스 메모리 장치
US5058110A (en) Protocol processor
US5477547A (en) Inter-LAN connection equipment
US5515513A (en) Disposition filtering of messages using a single address and protocol table bridge
US4692918A (en) Reliable local data network arrangement
US5245606A (en) Computer network bridge circuit
US5590285A (en) Network station with multiple network addresses
US5541930A (en) Byte aligned communication system for transferring data from one memory to another memory over an ISDN
US5528592A (en) Method and apparatus for route processing asynchronous transfer mode cells
US5414694A (en) Address tracking over repeater based networks
KR100308112B1 (ko) 이더넷 컨트롤러의 어드레스 검출장치 및 검출방법
EP0469812A1 (en) Detection of duplicate alias addresses
EP0409539A2 (en) Frame routing method for communication networks
US5293381A (en) Byte tracking system and method
US6256307B1 (en) Local area network receive filter
US5495478A (en) Apparatus and method for processing asynchronous transfer mode cells
US5654985A (en) Address tracking over repeater based networks
US5146560A (en) Apparatus for processing bit streams
US6661792B1 (en) Apparatus for processing data packet of ethernet switch system and method thereof
JP2521031B2 (ja) メッセ―ジ通信方法
US5245617A (en) First-in, first-out memory circuit
US6381648B1 (en) Method and apparatus for filtering ethernet frames
KR20060131758A (ko) 패턴 매칭을 사용하는 네트워크 메시지 처리
KR100577148B1 (ko) 이더넷 컨트롤러의 어드레스검출장치 및 검출방법
US5394390A (en) FDDI network test adapter history store circuit (HSC)

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20050718

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee