KR100442763B1 - 다중어드레스보안아키텍처 - Google Patents
다중어드레스보안아키텍처 Download PDFInfo
- Publication number
- KR100442763B1 KR100442763B1 KR1019970708407A KR19970708407A KR100442763B1 KR 100442763 B1 KR100442763 B1 KR 100442763B1 KR 1019970708407 A KR1019970708407 A KR 1019970708407A KR 19970708407 A KR19970708407 A KR 19970708407A KR 100442763 B1 KR100442763 B1 KR 100442763B1
- Authority
- KR
- South Korea
- Prior art keywords
- port
- address
- packet
- repeater
- match
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/22—Arrangements for preventing the taking of data from a data transmission channel without authorisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/44—Star or tree networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
- H04L12/4625—Single bridge functionality, e.g. connection of two networks over a single bridge
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Small-Scale Networks (AREA)
Abstract
데이터 패킷 마스킹을 구현하는 보안 중계기(20)는 포트 마다 프로그램가능하고 선택적인 디스럽트 응답을 포함하는바, 이 디스럽트 응답은 몇 개의 선택가능한 인정 조건들중 어느 것에 응답한다. 디스럽트 제어기(70)는 데이터 패킷의 필드들의 다양한 특징들 및 다른 조건들을 나타내는 신호들을 수신한다. 레지스터 뱅크(76)는 한 개의 메모리가 각 포트 및 일부 조건들에 관련되는 다수의 메모리들을 포함하며, 디스럽트 제어기가 데이터 패킷에 대한 관련된 포트의 디스럽트 응답을 결정하는 것을 돕는다. 각 메모리는 디스럽트 제어 코드를 저장한다. 특정 포트에 대한 디스럽트 제어 코드가, 관련된 포트가 인에이블됨을 나타내는 값을 가질 때, 그 제어 코드와 관련된 조건 신호를 비표명하게 되면, 결과적으로 데이터 패킷을 디스럽트시킨다. 셀 어레이(200)는 집적화된 반도체 구조들의 간단하고 효율적인 스케일링 및 형성을 가능하게 하여, 복잡한 디스럽트 논리식들을 실현한다.
Description
본 발명은 일반적으로 근거리 통신망 내의 데이터 패킷 보안에 관한 것으로서, 특히 멀티포트 보안 중계기들(multiport secure repeaters)을 이용하는 네트워크 내에서 선택가능한 패킷 디스럽트(disrupt) 기능을 갖는 개선된 보안 컴퓨터 네트워크에 관한 것이다.
컴퓨터들의 네트워크들은 오늘날의 비즈니스 환경에서 일반적으로 이용되고 있다. 통상적인 네트워크 시스템 구조는 1개 이상의 중계기들을 이용한다. 이리한 중계기는 전형적으로 몇 개의 포트들을 포함한다. 한 포트에 수신되는 특정 데이터 패킷은 중계기의 다른 포트들에 재전송된다. 각 중계기는 상기 한 포트에서 수신된 데이터 패킷들의 타이밍 및 진폭 저하를 복원(restore)한 다음, 이들을 다른 모든 포트들에 재전송하며, 이에 따라 네트워크 전체에 걸쳐서 재전송한다. 이서넷(Ethernet) 네트워크와 같은 CSMA/CD 방식의 네트워크를 이용하는 네트워크들에서, 모든 데이터 패킷은 모든 중계기를 통과한다. 이에 의해, 네트워크 관리자들은, 네트워크의 동작에 대한 정보를 모으는 네트워크 상의 장치로서 각 중계기를 편리하게 이용할 수 있다.
종래의 이서넷 (802.3 10BASE5) 및 치퍼넷(Cheapernet) (802.3 10BASE2)에서는, 동축 케이블이 근거리 통신망의 모든 노드들이 연결되는 선형 버스(linearbus)를 제공한다. IEEE에 의해 공표된 표준 (IEEE 표준 802.3)은 컴퓨터 네트워크들에 대한 다양한 기능들을 정의한다. 이러한 표준은 모든 목적들을 위해 명시적으로 본원의 참조로서 원용한다. 시그널링(signaling)은, 동족 케이블의 중심 도체(center conductor)가 신호에 이용되고 동축 케이블의 차폐 도체(shield conductor)가 기준 전압(전형적으로, 접지)에 이용되는 전류 동기 기술을 이용하여 이루어진다. 꼬임쌍(twisted pair) 이서넷 (802.3 10BASE-T)은 동축 케이블이 아닌 표준 음성 대역 전화 케이블을 이용한다. 이러한 전화 케이블은 전송 및 수신을 위해 개별적인 전도성 와이어들의 쌍들을 이용한다.
상기 꼬임쌍 이서넷을 이용할 때, 네트워크 구성은 스타 토폴로지(star topology)이다. 이러한 스타 토플로지는 몇 개의 단말국들(end stations) 또는 데이터 단말 장비(DTE) 장치들을 고려하는바, 이들은 모두 상기 스타 토폴로지의 중심에 위치된 멀티포트 중계기에 결합된다. 중계기는 신호의 진폭 및 타이밍의 복원을 수행한다. 중계기는 그의 포트들중 하나에서 비트 스트림(bit stream)을 수신하고, 모든 적절한 출력 포트들에 대한 신호 진폭 레벨들 및 타이밍 요건들을 복원한다. 중계기는 이러한 재형성되고 타이밍이 다시 조정된 입력 비트 스트림을 그의 다른 모든 포트들에 중계한다. 어느 의미에서, 중계기는 논리적인 동축 케이블(logical coaxial cable)로서 작용하여, 동축 케이블이 이응될 때와 꼭 마찬가지로, 꼬임쌍 네트워크에 연결된 모든 노드가 어떠한 다른 노드로부터의 각 전송을 수신할 수 있게 한다. 도체들의 쌍들은 차동적인 시그널링(differential signaling)을 이용하는바, 한 쌍은 전송을 위한 것이고, 다른 쌍은 수신을 위한 것이다.
종래의 방식으로 배선된 동축 이서넷 네트워크에서, 중계기가 네트워크의 물리적인 거리 제한을 확장하기 위한 메커니즘으로서 이용되지만, IEEE 802.3 10BASE-T에 있어서의 표준은 2개 이상의 노드들이 존재할 때 마다 노드들 간에 접속 가능 능력을 제공하도록 중계기를 사용할 것을 지정한다. 종래의 이서넷 방식의 중계기와 꼬임쌍 방식이 중계기 간에서는 전선의 물리적인 시그널링이 다르기는 하지만, 중계기들의 기능은 같으며, 네트워크 상의 참가 노드들 간에 메시지들을 전달하는 데에 이용되는 프레임 또는 패킷 포맷도 같다.
패킷들은 교호("1" 및 "0") 패턴인 프리앰블 시퀀스(preamble sequence)로 시작된다. 이 프리앰블 시퀀스는 각 프레임의 시작시 네트워크 상에 단일 주파수(이 경우에서는 5MHz)를 제공하여, 수신기가 관련 비트 스트림을 획득 및 로킹(locking)할 수 있게 한다. 상기 프리앰블 시퀀스의 뒤에는 프레임 시작 식별자 및 바로 이어서 전송의 데이터부가 온다. 프레임 시작 구분 문자(a start of frame delimiter) (802.3)의 시작 또는 동기 시퀀스(이서넷)중 어느 하나는 메시지의 데이터부의 시작을 나타낸다. 프레임 시작 식별자의 뒤에는 2개의 어드레스 필드들, 즉 목적지 어드레스(DA) 및 소스 어드레스(SA)가 온다. 이러한 어드레스들은 모두 48 비트의 값들이며, 최하위 비트(LSB)가 먼저 전송된다.
각 DTE와 관련된 미디어 액세스 제어기(MAC)는 목적지 어드레스를 이용하여, 유입 패킷(incoming packet)이 그에 관련된 노드에 어드레스되는 지를 결정한다. 어느 한 수신 노드가 그 자신의 노드 어드레스와 목적지 어드레스 필드 내에 전송된 어드레스 간에 일치(match)를 검출하면, 그 노드는 그 패킷의 수신을 시도한다. 일치하는 어드레스를 검출하지 않은 MAC를 갖는 노드들은 전형적으로 패킷의 나머지 부분을 무시한다.
802.3 표준에 의해 지원되는 목적지 어드레싱에는 다음과 같은 3종류가 있다.
1. 개별(Individual). DA 필드는 네트워크 상의 단일 노드에 할당되는 개별적이고 유일한(unique) 어드레스를 포함한다.
2. 멀티캐스트(Multicast). DA의 제 1 비트(LSB)가 설정될 때, DA의 나머지는 그룹 어드레스를 포함한다. 실제로 어드레스되는 노드들의 그룹은 상위층 기능에 의해 결정된다. 일반적으로, 그룹 어드레스의 이용은 네트워크 상의 논리적으로 유사한 노드들의 서브세트(subset)에 전달하도록 설계된다.
3. 브로드캐스트(Broadcast). 브로드캐스트는 DA 필드가 모두 "1"로 설정되는 멀티캐스트 어드레스의 특별한 형태이다. 이러한 어드레스는 예약되며, 네트워크 상의 모든 노드들은 브로드캐스트 메세지를 수신할 수 있어야 한다.
데이터 패킷을 전송하는 MAC는 SA 필드 내에 그 자신의 어드레스를 기입한다. 이에 따라, 전송 MAC는 자신이 발신한 패킷들을 식별할 수 있게 된다. 802.3 표준은 수신 MAC가 SA 필드에 기초하여 어떠한 조처를 취할 것을 요구하지 않는다. 관리, 보안 또는 구성과 같은 어떠한 응용들에서는, SA 필드가 추적되고 감시될 수 있다.
2 바이트 길이/종류 필드가 SA 필드 다음에 온다. 길이 또는 종류의 선택은,프레임이 IEEE 802.3 또는 이서넷 표준과 호환 가능한 지에 의존한다. 길이/종류 필드의 보다 상위 바이트가 먼저 전송되는바, 각 바이트의 LSB가 먼저 전송된다.
데이터 필드는, 단말국들 간에 전송되며 46 내지 1500 바이트의 길이를 갖는 실제 패킷 데이터를 포함한다. 논리 링크 제어(LLC) 기능이, 네트워크를 통한 전송에 적절한 블럭 크기들로 데이터를 세분화하는 책임을 진다. 데이터 바이트들은 순차적으로 전송되는바, 각 바이트의 LSB가 먼저 전송된다.
프레임 체크 시퀀스(FCS)는 전체 프레임에 대한 순환 리던던시 체크(cyclic redundancy check; CRC)를 포함하는 4 바이트 필드이다. 전송국(transmitting station)은 DA, SA, 길이/종류 필드 및 데이터 필드 전체에 걸쳐서 CRC를 계산한다. 전송국은 FCS를 프레임의 마지막 4개의 바이트들로서 부가한다. 수신국은 동일한 CRC 알고리즘을 이용하여, 수신된 프레임에 대한 CRC를 계산한다. 수신국은 자신이 계산한 값과 전송된 FCS 내의 CRC 값을 비교한다. 불일치(mismatch)는 불량한 데이터 프레임 등의 에러를 나타낸다. FCS의 CRC 비트는 순서대로 전송된다. 즉, 최상위 비트(MSB)에서 최하위 비트(LSB)로 전송된다.
도 1 및 2는 각각, IEEE 802.3 표준에 따른 패킷 및 이서넷 패킷에 대한 프레임 포맷들을 도시한다. 패킷 포맷을 비교함으로써 나타나는 패킷 종류들 간의 주된 차이는, 802.3에 대한 프레임 시작 구분 문자(SFD)는 "10101011" 패턴을 갖는 바이트로서 정의되는 반면, 이서넷의 시작 프레임 (동기)은 "11" 시퀀스로 정의된다. 비록 그렇다 하더라도, 이러한 두 경우들에서, 프리앰블의 총 비트 수에 프레임 시작 표시를 더한 것은 64 비트 길이이다.
802.3 및 이서넷 표준들은 모두, 프레임이 (프리앰블/SFD를 제외하고) 64 내지 1518 바이트의 범위 내에 있어야 함을 지정한다. 그러나, 802.3 시스템에서의 실제 데이터 필드는, 이러한 최소 크기를 보장하는 데에 필요한 46 바이트 값 보다 작을 수 있다. 보다 작은 크기의 데이터 필드를 처리하기 위해, 전송국의 MAC은 네트워크를 통해 데이터를 전송하기 전에 LLC 데이터 필드에 패드 물자들(pad characters)을 부가한다. 이서넷 표준은, MAC에 데이터를 전달하기 전에 상위층이 최소 데이터 필드가 46 바이트임을 확인한다고 가정하기 때문에, 이서넷 포맷을 구현하는 MAC에는 추가된 패드 문자들의 존재가 알려지지 않는다.
802.3 표준은 또한 단지 데이터 필드에만 있는 데이터 바이트의 수를 나타내는 길이 필드를 이용한다. 한편, 이서넷은 메시지 프로토콜 종류를 식별하기 위해 동일한 2개의 바이트들 내의 종류 필드를 이용한다. 유효한 이서넷 종류 필드들은 항상 802.3 패킷 길이 크기의 유효 최대치 바깥에 할당되기 때문에, 802.3 및 이서넷 패킷은 동일한 네트워크 상에 동시에 존재할 수 있다. 따라서, 다양한 이유들로 인해, 어드레스들을 추적하고 모니터할 수 있는 것이 중요한 것으로 밝혀졌다. 예를 들어, 보안 네트워크들에 대해서는, 네트워크 상의 적절한 노드들이 정보를 확실히 수신할 수 있도록, 인증이 요구되는 것이 중요하다. 또한, 네트워크들에 접속된 노드들의 수가 바뀜에 따라, 어드레스와 네트워크 내의 특정 포트 등을 관련시킬 수 있는 것이 중요하게 되었다.
또한, 보안 네트워크들에서는, 노드가 정보를 요구하지 않는 한, 선택에 따라 노드가 이러한 어드레스 또는 데이터 정보 혹은 이들 모두의 정보를 수신하지못하게 하는 것이 중요하다. 데이터 패킷이 특정 노드에 예정되어 있지 않다면, 이 특정 노드는 일반적으로 데이터 패킷 내의 정보를 필요로 하지 않는다.
또한, 중계기의 각 포트를 그 포트에 연결된 장치(들)의 실제 어드레스 또는 아이덴티티(identity)에 관련시키는 메커니즘을 제공하는 것이 중요하다. 전형적으로, 안전성이 확보되지 않은 중계기들은 신호 진폭 및 타이밍 복원에만 이용되는 장치들이다. 상기 설명된 모든 모드들에서, 보안 중계기에는 또한 네트워크를 통해 전달되는 데이터 패킷들 내의 많은 필드들을 검출하고 해석할 수 있는 성능이 제공되어야 한다.
상기 설명한 바와 같이, 컴퓨터 네트워크에서 전송되는 모든 데이터 패킷은 그 데이터 패킷의 수취인을 확인하기 위한 목적지 어드레스를 포함한다. 보안 네트워크 내의 보안 중계기는 각 포트에 부착된 1개 이상의 단말국들을 가질 수 있다. 각 단말국에는 적어도 1개의 유일한 어드레스가 할당되며, 1개 이상의 멀티캐스트 어드레스들이 할당될 수도 있다. 보안 중계기는 각 출력 포트에 대한 관련 단말국들의 리스트를 보유한다. 본원에 인용된 참조 문헌에서 확인되는 보안 시스템은 각 데이터 패킷으로부터의 목적지 어드레스 필드를 이용하여, 데이터 패킷을 그 목적지 어드레스와 관련된 출력 포트들에만 전송된다. 목적지 어드레스와 일치하지 않는 상기 목적지 어드레스와 관련된 보안 중계기의 출력 포트들은 변형되거나 디스럽트된 데이터 패킷을 수신한다. 보안 환경의 바람직한 실시에서는, 목적지 어드레스 필드가 전송된 후에야 비로소 디스럽션을 시작하는 것이 보통이다. 즉, (소스 어드레스로부터) 목적지 어드레스에 뒤따르는 모든 필드는 디스럽트된다.
컴퓨터 네트워크 보안을 강화하는 디스럽트 메커니즘들은, 데이터 패킷의 예정되지 않은 수취인들인 최종 사용자들에게 전송되는 데이터 패킷을 스크램블(scramble)하도록 설계된다. 개념적으로, 데이터 패킷의 디스럽션을 구현하는 것은 비교적 용이하다. 왜냐하면, 중계기에 연결된 최종 단말국(들)의 어드레스는 학습(learn)될 수 있으며(예를 들어, 중계기는 사용자 단말국으로부터 수신된 데이터 패킷들로부터 추출한 소스 어드레스를 읽고 저장할 수 있다), 이후 수신된 패킷으로부터의 목적지 어드레스와 학습 어드레스를 비교함으로써 다양한 사용자 단말국들에 대한 데이터 패킷들의 분배 및 디스럽션을 제어하기 때문이다.
이러한 보안 시스템은 알려진 많은 문제들로 인해 실제로 구현하기가 어렵다. 첫 번째 문제는, 중계기가 포트 마다 충분한 저장 위치들을 필요로 한다는 것인데, 그 이유는 그 포트를 거쳐 연결되는 단말국들이 존재할 수 있기 때문이다. 다른 중계기 또는 다중 분기 세그먼트(multi-drop segment)(예를 들어, 동축 케이블 등)에 연결된 중계기의 포트들에 대해서는, 잠재적으로 많은 어드레스들을 포트에 관련시켜 저장할 필요가 있다. 네트워크의 실제 토폴로지(topology)는 중계기에는 알려지지 않기 때문에, 저장 위치들의 수는 포트들의 수에 의해 배가(multiplication)된다.
두 번째 문제는, 중계기가 수신하는 멀티캐스트 패킷이 그룹의 전 멤버에게 전달되어야 한다는 것이다. 종종, 한 그룹이 다수의 중계기들에 걸쳐서 분할된다. 중계기간 링크(inter-repeater link), 즉 2개의 중계기들의 포트 간의 연결은 상기 멀티캐스트 패킷을 다른 중계기들 상의 그룹 멤버들에게 전달해야 한다. 그룹의 어느 멤버도 중계기간 링크에 연결되지 않는 경우와 같은 상황에서, 전송되서는 안되는 멀티캐스트 패킷들을 전달하는 것을 막기 위해, 중계기간 링크에 관련된 포트는 다른 중계기 상에 존재하는 모든 멀티캐스트 어드레스들을 저장할 수 있어야 한다.
세 번째 문제는, 개별 어드레스든 멀티캐스트 어드레스든, 보안 중계기에 알려지게 되는 어드레스들 및 알려지지 않게 되는 어드레스들이 있다는 것이다. 알려지지 않은 어드레스들을 갖는 패킷들은 중계기간 링크를 통해 전송되어야 하는데, 그 이유는 다른 중계기 상에, 또는 이 다른 중계기에 연결된 또 다른 중계기 상에, 또는 네트워크 내의 다른 어딘가에 상기 알려지지 않은 어드레스에 관련된 단말국이 존재할 수 있기 때문이다. 그러나, 첫 번째 2개의 문제들은 전형적으로 중계기에 대해 과도한 메모리 요건들을 요구한다. 특히, 중계기간 링크들에 연결된 어드레스들을 저장해야 할 필요가 있는 경우에는 더욱 그렇다. 모든 어드레스들이 다 저장될 수는 없기 때문에, 중계기간 링크는 전형적으로 보안이 유지되지 않으며, 모든 데이터 패킷들을 디스럽트하지 않은 채로 전송한다. 이러한 해결책은 보안 기능을 잃기 때문에, 바람직하지 않다.
본원에 인용된 특허들 및 특허 출원들의 일부는, 1개 이상의 데이터 패킷 디스럽션 제어 양상들을 구현하기 위한 특정한 특징들을 제기한다. 다양한 특허 출원들에 개시된 해결책들은 많은 특정 문제들에 대한 바람직한 실시예들을 개시한다. 이러한 특징들을, 포트 마다 제어가능한 일반화되고 선택가능한 디스럽트 특징들을 갖는 단일의 통합 중계기 내에 통합하게 되면, 실시가 복잡해질 수 있다. 다수의 통합 중계기들로 하여금 증가된 포트들의 수를 갖는 단일 중계기로서 상호 동작을할 수 있도록 확장 버스의 이용을 제기하는 본원에 인용된 특허의 발명 실시예에 따라 구현된 집적 중계기들의 경우 더욱 그러하다.
발명의 요약
본 발명은 데이터 패킷의 보안 중계기 디스럽션에 대한 문제들을 단순하고 효율적으로 처리하는 장치 및 방법을 제공한다.
바람직한 실시예에서, 보안 중계기의 다양한 포트들에 접속된 단말국들의 특정 필드, 예를 들어 소스 어드레스 필드를 저장하기 위해 다수의 어드레스 위치들을 이용할 수 있다. 이에 의해, 다수의 단말국들에 접속된 포트들, 및 (개별 어드레스들이건 멀티캐스트 어드레스들이건 간에) 다수의 어드레스들을 갖는 장치들이 허용된다. 이 어드레스 저장 위치들은 정해진 수의 어드레스 저장 위치들을 각 포트에 할당하고, 나머지 저장 위치들을 저장 풀(storage pool)에 할당하는 것 등과 같이 하여, 전용 어드레스 그룹들로 분할된다. 이 저장 풀내의 어드레스 위치들은 어느 한 포트 또는 다수의 포트들에 할당될 수 있다.
개별 어드레스들 또는 멀티캐스트 어드레스들은 고정된 위치 또는 저장 풀 위치들중 어느 것에도 저장될 수 있는바, 저장 풀에 저장될 때에는, 다수의 포트들에 할당할 수 있다. 따라서, 중계기에 연결된 그룹의 모든 멤버들은 그룹으로 어드레스되는 패킷을 수신하면, 중계기 상의 다른 포트들의 어느 것도 그 패킷을 수신하지 않는다. 또한, 중계기 외부의 그룹 멤버들을 갖지 않는 멀티캐스트 어드레스들이 인지되기 때문에, 중계기는 이 멀티캐스트가 중계기간 링크를 통과하는 것을 디스럽트한다.
중계기에 연결되는 것으로 알려지는 어드레스들은 중계기로 하여금 그 특정한 중계기 및 적절한 단말국을 넘는 데이터 패킷의 추가 전송을 디스럽트할 수 있게 한다.
어떤 경우에서는, 데이터 패킷 디스럽션의 지연을 제어할 수 있어, 보안 네트워크 상에서 통상적인 네트워크 검사 및 분석 장비를 이용할 때, 바람직한 어드레스 필드 정보(목적지 어드레스 또는 목적치 어드레스 및 소스 어드레스)를 디스럽트되지 않은 채로 전달될 수 있게 한다.
이러한 보안 강화책들은, 별개의 중계기 패키지들에 대해 개별적으로 기능할 뿐 아니라, 단일의 논리 중계기를 제공하기 위해 다른 별개의 중계기 패키지들과 결합될 때에도 기능한다.
본 발명의 일 양상에 따르면, 본 발명은 보안 중계기로부터 재전송된 패킷의 디스럽션을 포트 마다 제어하기 위한 장치를 포함한다. 바람직한 실시예에서, 보안 중계기 내에서 이용되는 디스럽트 회로는 다수의 조건 신호들에 응답하여 중계기의 다수의 포트들중 한 포트(p)로부터의 패킷들의 재전송을 독립적으로 제어한다. 상기 디스럽트 회로는, 상기 포트(p)에 결합되어, 패킷을 수신하고, 디스럴트 선택 신호가 제 1 값을 가지면 상기 포트(p)로부터 상기 패킷을 재전송하며, 디스럽트 선택 신호가 제 2 값을 가지면 상기 포트(p)로부터 디스럽트된 패킷을 재전송하는 디스럽터와, 그리고 상기 디스럽터에 결합되어, 다수의 조건 신호들에 응답하여 상기 디스럽트 선택 신호를 제어하는 디스럽트 제어기를 포함하며, 상기 디스럽트 선택 신호는 바람직한 논리 포맷에 따라 제어된다.
상기 디스럽트 제어기는 (조건 신호들에 대응하는 ) 다수의 로우들 및 (중계기의 개별적인 포트들에 대응하는) 다수의 칼럼들을 갖는 단일의 순서화된 규모 조정이 가능한 어레이(a single, ordered, scaleable array) 내에 구현될 수 있다. 부가적인 칼럼들을 간단히 부가해서 부가적인 포트들을 논리에 부가하고, 부가적인 로우들을 간단히 부가하여 다른 조건 신호들을 처리할 수 있는 성능을 부가한다. 이와 유사하게, 칼럼들을 삭제하여 포트들을 제거할 수 있으며, 로우들을 삭제하여 조건들을 제거할 수 있다.
바람직한 실시예에서는, (예를 들어, 일치 조건 등의) 조건은 다른 조건 테스트들의 결과에 영향을 받는다. 이러한 일치 조건에 응답하기 위한 하위 종류(sub-type)의 표준화된 디스럽트 셀들이, 디스럽트 어레이의 출력과 상기 일치 조건에 영향을 주는 테스트들을 갖는 로우들 사이에 배치된다. 일치를 위한 특별 조건 셀들의 한 측에 로우들을 부가함으로써, 이 조건이 일치 조건에 부가된다. 일치 셀들의 다른 측에 로우들을 부가하게 되면, 특별한 조건 체크에 영향을 미치지 않으면서 (와이어 OR 기능(wired-OR function)으로서) 조건이 부가된다.
도면들 및 청구항들을 비롯한 본 명세서의 나머지 부분들을 참조함으로써, 본 발명의 다른 특징들 및 장점들을 이해할 수 있을 것이다. 본 발명의 다른 특징들 및 장점들 뿐 아니라, 본 발명의 많은 실시예들의 구성 및 동작이 첨부 도면들을 참조하여 하기에서 상세히 설명된다. 도면들에서, 동일한 참조 부호들은 동일하거나 기능적으로유사한 요소들을 나타낸다.
도 1은 IEEE 802.3에 따른 패킷 포맷을 도시한 도면이다.
도 2는 이서넷에 따른 패킷 포맷을 도시한 도면이다.
도 3은 스타 토폴로지를 구현하는 다수의 개인용 컴퓨터들로 된 네트워크의 블록도로서, 상기 네트워크는 각 허브(hub)에 보안 중계기를 포함한다.
도 4는 별개의 중계기 패키지들의 결합으로 구현되는 보안 중계기의 개략 블록도이다.
도 5는 선택적인 디스럽트 응답을 구현하는 보안 중계기 패키지의 상세 블록도이다.
도 6은 도 5에 도시된 보안 중계기에서 이용되는 제어기의 상세 블록도이다.
도 7은 도 5에 도시된 디스럽트 제어기의 상세 도면이다.
도 8은 도 5에 도시된 일치 검출기(82)의 개략 블록도이다.
도 9는 단순한 셀 어레이 내에서의 레지스터 뱅크, 디스럽트 제어기 및 일치 검출기의 구현을 개략적으로 나타낸 도면이다.
도 10은 도 9에 도시된 셀 어레이의 상세 레이아웃 도면이다.
도 3은 스타 토폴로지를 구현하는 다수의 단말국들(15)(예를 들어, 개인용 컴퓨터)의 네트워크(10)의 개략적인 블록도를 도시한 것으로, 상기 네트워크는 각 허브에 보안 중계기(20)를 포함한다. 바람직한 실시예는 캐리어 검출 다중 액세스·충돌 검출(CSMA/CD)에 따른 네트워크를 이용하여 구현된다. 보안 중계기(20)는본원에 인용된 IEEE표준 802.3을 따른다.
동작에 있어서, 네트워크(10)는 1개 이상의 보안 중계기들(20)을 통해, 한 단말국(15)으로부터 다른 단말국(15)으로 데이터 패킷을 전달한다. 보안 중계기(20)는 한 포트에서 데이터 패킷을 수신하고, 다른 포트들로 데이터 패킷을 전송한다. 보안 중계기(20)는, 본원에 인용된 참조 문헌들에서 설명되는 바와 같이, 데이터 패킷 차단(masking) 등의 보안 기능들을 실시한다.
도 4는 다수의 별개의 중계기 패키지들(25j)(여기서 j=1 내지 Y), 마이크로 프로세서 유닛(MPU) 및 관리 유닛(28)의 결합으로서 구현되는 보안 중계기(20)의 개략적인 블록도이다. 상기 다수의 별개의 중계기 패키지들(25j)은 데이터 버스(30) 및 일치 없음 버스(no match bus)(32)를 포함하는 확장 버스에 의해 서로 결합된다. 상기 데이터 버스(30)에 대한 상세한 사항은 확장가능한 중계기를 설명하는 본원에 인용된 미국 특허에서 보다 상세히 설명된다. 상기 일치 없음 버스(32)는 !MATCH 신호를 운반한다. 상기 일치 없음 버스(32)는, 저항(R)에 결합된 각각의 별개의 중계기 패키지(25) 내의 오픈 드레인 드라이버들(open drain drivers)을 이용하여 구현된다. 상기 일치 없음 버스(32)는, 각각의 별개의 중계기 패키지(25)로 하여금 어드레스 일치가 발견되었음을 다른 패키지(25)에 통지할 수 있게 한다. 이러한 기능에 대해서는 하기에서 더 설명될 것이다.
MP-DATA 버스(34)는 MPU/관리 유닛(28)을 각각의 별개의 중계기 패키지(25)에 결합한다. 이러한 MP-DATA 버스(34)를 이용하여, 상기 MPU/관리 유닛(28)은 어드레스들을 읽기 및 쓰기를 행할 뿐만 아니라, 보안 중계기(20)의 다양한 디스럽션 특성들을 선택적으로 인에이블 및 디스에이블시킨다. 잘 알려진 바와 같이, 상기 MPU/관리 유닛(28)은, 예를 들어 캘리포니아 서니베일 소재의 어드밴스드 마이크로 디바이시즈사에 의해 제조되어 판매되는 것과 같은, 일반적으로 입수가능한 많은 마이크로프로세서들/마이크로제어기들 중에서 어느 하나를 포함할 수 있다.
도 5는 선택적인 디스럽트 응답을 구현하는 도 4에 도시된 별개의 중계기 패키지(25)의 상세 블록도이다. 별개의 중계기(25)는 중계기 프론트 엔드(50), 제어기(55), 시프트 레지스터(60), 어드레스 비교 회로(65), 다수의 프로그램가능한 디스럽트 제어기들(70i), 다수의 디스럽터들(75i), 레지스터 뱅크(76), 48개 입력의 AND 게이트(78), 다수의 출력 데이터 멀티플렉서들(80i), 일치 검출기(82) 및 마이크로프로세서 인터페이스(84)를 포함한다.
설명을 용이하게 하기 위해, 단지 1개의 프로그램가능한 디스럼트 제어기(70x), 1개의 디스럽터(75x) 및 1개의 멀티플렉서(80x) 만이 도시된다. 주목할 사항으로서, 상기 중계기 패키지(25)의 모든 포트 마다 1개의 디스럽트 제어기, 1개의 더스럽터 및 1개의 멀티플렉서가 있다. 상기 중계기 프로트 엔드(50)는 다수의 입력 포트들(85i, i=1 내지 n)중 특정한 한 포트에서 데이터 패킷을 수신하는바, 여기서 n은 포트들의 수이다. 상기 중계기 프로트 엔드(50)는 본원에 인용된 IEEE 802.3 표준에 따라 데이터 패킷을 처리한다. 상기 중계기 프론트 엔드(50)는 ENABLE 신호와 직렬 출력 스트림인 DATA 신호를 출력한다. DATA는 입력 데이터 패킷으로부터의 데이터에 의해 구동된다. ENABLE은, 중계기 프론트 엔드(50)가 데이터 패킷으로부터의 유효 데이터에 의해 DATA를 구동하고 있는 한, 표명(assertion)된다.
제어기(55)는 중계기 프론트 엔드(50)에 결합되어, ENABLE 신호 및 DATA 신호를 수신한다. 하기에서 보다 상세히 설명되는 바와 같이, 상기 제어기(55)는 SHIFT_ENABLE 신호, COMPARE 신호, 바람직한 실시예에서는 DA_PRESENT 신호인 제 1 어드레스 프리젠트 신호(address present signal)(ADDR_1) 및, 바람직한 실시예에서는 SA_PRESENT 신호인 제 2 어드레스 프리젠트 신호(ADD_2)를 표명하기 위한 논리를 포함하는바, 상기 모든 신호들은 ENABLE및 DATA신호에 응답한다.
시프트 레지스터(60)가 중계기 프론트 엔드(50) 및 제어기(55) 모두에 결합된다. 이 시프트 레지스터(60)는 그 입력에서 BATA를 수신하는 오른쪽 시프트 레지스터이다. 이 시프트 레지스터(60)는 SHIFT_ENABLE 신호의 표명에 응답하여, DATA의 비트들을 그의 메모리 내에 시프트시킨다. 이 시프트 레지스터(60)는 데이터 패킷 내의 목적지 어드레스의 크기에 대응하는 48 비트들(6 바이트들)을 보유한다. 이 시프트 레지스터(60)에 저장된 비트들은 48 비트폭 출력을 통해 출력된다.
AND 게이트(78)의 입력들은 이러한 비트들을 수신하여, 출력 비트들(모두 1 이다)이 브로드캐스트 어드레스들을 나타내는 지를 체크한다. 이 AND 게이트(78)의 출력은 BROADCAST 신호이다. 시프트 레지스터(60)가 브로드캐스트 어드레스를 저장하면, 상기 AND 게이트(78)는 BROADCAST 신호를 표명한다. 상기 시프트 레지스터(60)에 저장된 어드레스의 최하위 비트는 MULTICAST 신호를 제공하는 데에이용된다. 상기 시프트 레지스터(60)가 멀티캐스트 어드레스(목적지 어드레스의 최하위 비트가 1임)를 저장하면, 상기 시프트 레지스터(60)는 MUTICAST 신호 M-BIT 를 표명한다.
어드레스 비교 회로(65)가 제어기(55) 및 시프트 레지스터(60)에 결합된다. 이 어드레스 비교 회로(65)는 1개 이상의 어드레스들을 1개 이상의 출력 포트들에 관련시키는 연관 메모리(associative memory)이다. 바람직한 실시예의 어드레스 비교 회로(65)는, n개의 우선 소스 어드레스 비교(preferred source address compare)(PSAC(x)) 출력 라인들, n개의 최종 소스 어드레스 비교(last address compare)(LSAC(x)) 출력 라인들 및 z개의 교번 어드레스 비교(alternate address compare)(AAC(y)) 출력 라인들을 포함하는바, 여기서 x=0 내지 n-1이고, y=0 내지 z-1이다. 바람직할 실시예에서 n=16, z=32이지만, 다른 구성들에서는 다른 수들을 이용할 수 있다.
1개의 PSAC(x) 및 1개의 LSAC(x) 출력 라인이 각 출력 포트에 대응한다. 각 AAC(x) 출력 라인들은 어느 포트에 맵핑되거나 포트들의 결합에 법정될 수 있다. COMPARE가 표명되면, 어드레스 비교 회로(65)는 시프트 레지스터(60)로부터의 48 비트 출력과 메모리에 저장된 어드레스를 비교한다. 일치가 있을 때 마다, 어드레스 비교 회로(65)는 출력 라인 상에, 시프트 레지스터(60)의 출력에 일치하는 관련된 어드레스를 갖는 출력 라인에 대해 비교 신호를 표명한다. 비교 후, 0으로부터 모두까지의 출력 라인들의 그 어떤 수도 표명될 수 있다. 상기 어드레스 비교 회로(65)의 구성 및 동작에 대한 부가적인 상세한 사항들은 본원에 인용된 참조 문헌들 및 하기의 설명에서 설명된다.
각각의 프로그램가능한 디스럽트 제어기(70x)가 제어기(55), 시프트 레지스터(60), 어드레스 비교 회로(65), 레지스터 뱅크(76), AND 게이트(78) 및 일치 검출기(82)에 결합된다. 상기 각 디스럽트 제어기(70x)는 PSAC 신호들(PSAC(x))중 하나, LSAC 신호들(LSAC(x))중 대응하는 하나, 모든 AAC 신호들, 포트(x)와 관련된 레지스터 뱅크(76)로부터의 모든 인에이블 신호들, 일치 검출기(82)로부터의 !MATCH 신호, BROADCAST 신호, MUTICAST 신호(M-BIT), 제어기(55)로부터의 ADDR_1 신호 및 ADD_2 신호를 수신한다. 이러한 많은 신호들의 조합들의 표명들에 응답하여, 상기 디스럽트 제어기(70x)는 DISRUPT SELECT(x) 신호를 HIGH 또는 LOW중 어느 하나로 구동시킨다.
상기 디스럽트 제어기(70x)는 다음과 같이 DISRUPT SELECT(x)를 구동시킨다.
보안 기능에 대해 설명하기 전에, 모든 보안 관련 레지스터들의 술어를 정의한다.
AA(n): n번째의 할당가능한 어드레스의 갈(예를 들어, 목적지 어드레스에 대해 48 비트)
AAE(n): n번째의 AA 포트 인에이블 벡터의 값, 여기서 AAE(n,p)는 포트(p)에 대응하는 비트이다.
LAS(p): 포트(p)에 대한 최종 소스 어드레스의 값. (48 비트)
LSAE: LSA 포트 인에이블 벡터의 값, 여기서 LSAE(p)는 포트(p)에 대응하는비트이다.
PSA(p): 포트(p)에 대한 최종 소스 어드레스의 값. (48 비트)
PSAE: PSA 포트 인에이블 벡터의 값, 여기서 PSAE(P)는 포트(p)에 대응하는 비트이다.
ENA: 디스럽트 기능 인에이블 벡터의 값, 여기서 ENA(p)는 포트(p)에 대응하는 비트이다.
MULT: 멀티캐스트 통과 인에이블 벡터의 값, 여기서 HULT(p)는 포트(p)에 대응하는 비트이다.
HMAT: 일치 없음 통과 인에이블 벡터의 값, 여기서 NMAT(p)는 포트(p)에 대응하는 비트이다.
DLY: 디스럽트 기능 인에이블 벡터의 지연값, 여기서 DLY(p)는 포트(p)에 대응하는 비트이다.
DA: 유입 목적지 어드레스. DA는 어떠한 48 비트 값이 될 수 있다. DA의 모든 비트들이 1이면, DA는 브로드캐스트 어드레스라 불린다. DA의 최하위 비트가 1이면, DA는 멀티캐스트 어드레스라 불린다.
DA를 제외한 상기 모든 레지스터들은 이용자에 의해 프로그램가능하다.
주: 하기의 설명에 있어서, 모든 인에이블 비트들은 HIGH로 활성화(1=인에이블)되는 것으로 가정한다.
ADDR_1: DA가 완전히 재전송될 때까지 HIGH로 표명된다.
ADDR_2: SA가 완전히 재전송될 때까지 HIGH로 표명된다.
포트에 보안을 제공하기 위해, 포트(p)는 하기의 조건들중 적어도 하나가 일어나지 않는 한 디스럽트되는 것으로 추정된다.
1) ENA(p)는 디스에이블된다.
디스럽트 기능이 디스에이블되면, 패킷은 포트(p)에 대해 디스럼트되지 않을 것이다.
2) DA = 브로드캐스트 어드레스.
브로드캐스트 어드레스를 갖는 패킷은 정의에 의해 모든 국들에 전송되어야하며, 이에 따라 디스럽트가 일어나서는 안된다.
3) LSAE(p) = 인에이블되고, LSA(p) = DA.
패킷이 포트에 연결된 국(들)에 어드레스되는 경우, 패킷은 포트에 대해 디스럽트되어서는 안된다. 이러한 조건이 발생했을 경우, MATCH= 일치를 나타낸다.
4) PSAE(p) = 인에이블되고, PSA(p) = DA.
패킷이 포트에 연결된 국(들)에 어드레스되는 경우, 패킷은 포트에 대해 디스럽트되서는 안된다. 이러한 조건이 발생했을 경우, MATCH= 일치를 나타낸다.
5) AAE(n,p) = 인에이블되고, 적어도 하나의 n에 대해 AA(n) = DA.
패킷이 포트에 열결된 국(들)에 어드레스되는 경우, 패킷은 포트에 대해 디스럽트되서는 안된다. 이러한 조건이 발생했을 경우, MATCH= 일치를 나타낸다.
이러한 조건이 포함하는 의미야말로 AA 레지스터들을 효율적으로 이용하는 열쇠이다. 첫 째로, 몇 개의 n에 대해 AAE(n,p)를 인에이블시킴으로써, 최대로 할당가능한 어드레스 레지스터들의 수(바람직한 실시예에서는 32개)와 같은 SA들을소정의 포트에 대해 할당할 수 있다. 이에 의해, 많은 국들이 접속되어 있을 수 있는 소정의 포트에 AA들을 다이내믹하게 할당할 수 있게 된다. 둘째로, 몇 개의 p에 대해 AAE(n,p)를 인에이블시킴으로써, 1개의 AA를 다수의 포트들과 공유할 수 있게 된다. 이에 의해, 단지 1개의 AA를 이용하는 것만으로 멀티캐스트 어드레스를 많은 포트에 할당할 수 있게 된다.
6) MULT(p) = 인에이블되고, DA = 멀티캐스트 어드레스.
종종, 멀티캐스트 어드레스가 검출되는 경우, 포트를 디스럽트하지 않는 것이 바람직하다. 이러한 기능은, 어떠한 멀티캐스트 어드레스로들로 AA들, LSA(p) 또는 PSA(p)를 프로그램하지 않으면서, 이용자가 멀티캐스트를 갖는 모든 괘킷들을 변형시키지 않고 통과시킬 수 있는 선택권을 갖도록 제공된다.
7) NMAT(p) = 인에이블되고, MATCH! = 일치.
수신된 패킷의 DA와 인에이블된 모든 AA들, LSA들 및 PSA들 사이에 어떠한 일치도 없으면, 포트(p)는 디스에이블되지 않을 것이다. 이러한 기능에 의해, 사용자는 포트에 연결된 어떠한 국 어드레스들로, AA들, LSA(p) 또는 PSA(p)를 프로그램하지 않으면서, 패킷들을 변경되지 않은 채로 선택적으로 통과시킬 수 있게 된다. 이러한 기능은 다수의 국들 또는 다른 허브에 연결된 허브의 포트, 또는 접속되어 있는 국의 어드레스가 알려져있지 않은 포트에 보안을 제공하는 데에 특히 유용하다. 이러한 특징의 원리는, 어떤 시점에서 DA들이 알려지는 포트들에 대해 AA들, LSA들 및 PSA들중 어느 것에서도 일치가 발견되지 않는 경우, DA가 유효한 어드레스라고 가정하면, 패킷은 국 어드레스들이 알려져 있지 않은 그리고/또는 AA들, LSA들 및 PSA들에 완전하게 명시적으로 특정되어 있지 않은 포트들중 적어도 1개에 보내져야한다는 것이다. (이러한 특징의 역을 생각한다면 이해가 쉬울 것이다. 즉, DA가 AA들, LSR들 또는 PSA들중 어느 것에 일치하는 경우, DA는 중계기 내의 물리적인 포트에 대해 예정되어야 하며, 이에 따라 다른 포트로 중계되어서는 안된다). 주목할 사항으로서, 어드레스 비교 회로에 저장된 SA들은 수신된 패킷(들)의 DA들과 일치(또는 비교)된다. 즉, 포트 상에 수신된 SA는 저장된 다음, 다른 패킷들로부터 수신된 DA들과 비교된다.
8) ADDR_1 = HIGH.
미스 어드레싱(mis-addressing)을 막기 위해, 목적지 어드레스는 결코 디스럽트되어서는 안된다. (즉, 디스럽트된 목적지 어드레스는 실제로 네트워크 상의 장치의 어드레스와 일치할 지도 모르기 때문이다).
9) DLY(p) = 인에이블되고, ADD_2 = HIGH.
DLY(p)가 인에이블되고, 프레임의 ADDR_2의 모든 비트들 보다 적은 비트들이 중계되는 경우, 소스 어드레스 필드는 포트(p)에 대해 디스럼트되서는 안된다.
요약하면, 디스럽트 기능이 포트(p)에 대해 디스에이블되는 경우는 다음의 경우이다.
(ENA(p) = 디스에이블된다) 또는
(DA = 브로드캐스트 어드레스) 또는
(LSAE(p) = 인에이블되고, LSA(p) = DA) 또는
(PSAE(p) = 인에이블되고, PSA(p) = DA) 또는
(AAE(n,p) = 인에이블되고, 적어도 1개의 n에 대해 AA(n) = DA) 또는
(MULT(p) = 인에이블되고, DA = 멀티캐스트 어드레스) 또는
(NMAT(p) = 인에이블되고, MATCH! = 일치) 또는
(ADDR_1 = HIGH) 또는 (DLY(p) = 인에이블되고 ADDR_2 = HIGH).
여기서, 이하의 경우 MATCH=일치를 나타낸다.
(LSAE(q) = 인에이블되고, 적어도 1개의 q에 대해 LSA(q) = DA) 또는
(PSAE(s) = 인에이블되고, 적어도 1개의 q에 대해 PSA(q) = DA) 또는
(AAE(n,q) = 인에이블되고, n, q의 적어도 1개의 순열에 대해 AA(q) = DA).
바꾸어 말하면, 이하의 경우에만 포트(p)는 디스럽트된다.
(ENA(p) = 인에이블된다) 그리고
(DA = 브로드캐스트 어드레스) 그리고
(LSAE(p) = 디스에이블되거나, LSA(p)! = DA) 그리고
(PSAE(p) = 디스에이블되거나, PSA(P)! = DA) 그리고
(AAE(n,p) = 디스에이블되거나, 모든 n에 대해 AA(n)! = DA) 그리고
(MULT(p) = 디스에이블되거나, DA! = 멀티캐스트 어드레스) 그리고
NMAT(p) = 디스에이블되거나, MATCH = 일치) 그리고
(ADDR_1 = LOW) 그리고 (DLY(p) = 디스에이블되거나, ADDR_2 = LOW).
주목할 사항으로서, 본 실시에서, AA돌, LSA들 및 PSA들의 모든 48 비트들은 DA와 비교된다. 보다 일반화하기 위해, 대응하는 48 비트 마스크 레지스터를 각 AA, LSA 및 PSA에 부가할 수 있다. AA, LSA 및 PSA의 마스크되지 않은 비트들 만이DA와 비교될 것이다. 주목할 사항으로서, 조건 6은 DA의 멀티캐스트 비트 M-BIT를 제외한 모든 비트를 마스크한다는 점에서, 마스킹의 특별한 예이다.
다수-중계기 허브들
중계기 칩 마다 포트들의 수가 한정되어 있다고 가정하면, 다수의 중계기 칩들이 함에 연결되어, 단일 칩 상에 한정된 포트들 이상의 많은 포트들을 갖는 단일 중계기를 형성할 수 있다. 바람직한 실시예에서는, 본원에 인용된 특허에 따른 확장 버스가 이러한 기능을 제공한다. 상기 설명은 1개의 중계기 칩의 디스럽트 기능에 관련되지만, 이러한 디스럽트 기능은 원칙적으로 다수의 중계기 칩들에 대해 확장가능하다. 즉, 다수의 중계기 칩들에 대해 회로를 분배할 수 있기는 하지만, 약간의 제약을 갖는다. 하기의 설명에서는, 3개의 중계기 칩들이 함께 연결되어 있으며, 각 칩은 16개의 포트들을 갖는 다고 가정할 것이다. 이에 의해, 3세트의 AA들, AAE들, LSA들, LSAE들, PSA들, PSAE들, ENA들, MULT들 및 NMAT들을 갖는 동기 확장버스를 이용하여 48 포트 논리 중계기가 형성될 것이다. 또한, 각 칩은 32개의 할당가능한 어드레스들을 갖는 것으로 가정한다.
포트를 디스럽트시키지 않는 것에 대한 규칙은 하기를 제외하고는 상기와 같다:
조건 5는, AAE(n,p) = 인에이블되고, p를 포함하는 중계기 내의 적어도 1개의 n에 대해 AA(n) = DA이어야 한다. 중계기 칩 상의 AA의 각 세트는, 한 중계기의 AA들을 다른 중계기의 포트들에 맵핑하는 것은 블가능하기 때문에, 동일한 중계기상의 포트들에만 맵핑될 수 있다. 이의 결과는 다음과 같다:
1) 포트 마다 32개 이상의 어드레스들을 명시적으로 맵핑하는 것이 불가능하다.
2) 1개의 AA를 이용하여, 다른 중계기들 상의 포트들에 행정하는 1개의 멀티캐스트 어드레스를 보유하는 것은 불가능하다. 이 경우, 멀티캐스트 어드레스는, 이 멀티캐스트 어드레스가 맵핑되는 포트를 포함하는 각 중계기의 하나의 AA에 맵핑되어야 한다.
상기 조건들 1, 2, 3, 4, 6, 7, 8 및 9는 매 포트에 기초하며, 단일 중계기의 경우와 동일하게 기능한다.
다수의 중계기 경우에는, 다음과 같은 경우 MATCH=일치를 나타낸다.
(LSAE(q) = 인에이블되고, 어느 중계기 칩 상의 적어도 1개의 q에 대해 LSA(q) = DA) 또는
(PSAE(s) = 인에이블되고, 어느 중계기 칩 상의 적어도 1개의 q에 대해 PSA(q) = DA) 또는
(AAE(n,q) = 인에이블되고, 어느 중계기 칩 상의 n, q의 적어도 1개의 순열에 대해 AA(n) = DA)일 경우. 여기서, q = 포트 번호이다.
패킷은 항상 확장 포트에 걸쳐 중계기 칩들 간에 디스럽트되지 않은 채로 통과되며, 각 중계기는 멀티캐스트 및 브로드캐스트를 개별적으로 검출한다. 주목할 사항으로서, 확장 포트는 중계기 칩들 간에만 존재하고 네트워크에는 노출되지 않기 때문에, 패킷을 확장 포트에 걸쳐 디스럽트되지 않은 채로 전달하는 것은 안전상 아무런 문제도 되지 않는다. 각 중계기 칩은 또한 그 자신의 보안 관련 레지스터들의 세트를 갖는다. 전달될 남아있는 유일한 것은, 중계기 칩 내에서 일치가 일어나는 지를 나타내는 신호이다. 일치가 OR 조건이기 때문에, 와이어된 OR 신호(!MATCH)가 중계기 칩들 간에 전달될 수 있다(도 4).
AA, LSA 및 PSA는 어드레스 비교 회로(65)의 CAMREAD, CAM대ITE, CAMADR 및 CAMDATA에 의해 어드레스 비교 회로(65)에 읽기/쓰기를 할 수 있다. 주목할 사항으로서, 이러한 어드레스 비교 회로(65)는 마스킹 레지스터들을 포함하거나 포함하지 않을 수 있다. 수신된 DA는 48 비트 사프트 레지스터(60) 내에 적재된다. 일단 DA가 시프트 레지스터 내에 적재되면, 시프트 레지스터 내의 값은 어드레스 비교 회로(65)에 저장된 모든 어드레스들과 비교된다. 비교 결과는 어드레스 비교 회로(65)로부터 PSAC, LSAC 및 AAC 신호를 통해 전송된다. HIGH는 비교가 같았음을 나타낸다. 시프트 레지스터의 값이 모두 1이면, BROADCAST 신호가 HIGH로 설정되어, DA가 브로드캐스트 어드레스임을 나타낸다. 시프트 레지스터 내로 시프트되는 최초 비트가 HIGH이면, MULTICAST 신호는 HIGH로 설정되어, DA가 멀티캐스트 어드레스임을 나타낸다.
인에이블 레지스터 뱅크는 모든 인에이블 레지스터들 DLY, ENA, PSAE, LSAE, MULT, NMAT 및 AAE를 포함한다. 이러한 레지스터들은 ENAREAD, ENAWRITE, ENAADR 및 ENADATA를 통해 읽기/쓰기를 할 수 있다.
어드레스 비교 회로(65), 시프트 레지스터 및 인에이블 레지스터 뱅크로부터의 신호들은 디스럽트 제어기(70x)에 제공된다. 도 7은 디스컬트 제어기(70s)의 바람직한 실시예를 도시한다. 각 포트에는 1개의 디스럽트 제어기(70x)가 존재한다. MAT(x)는 DA가, 인에이블된 AA, LSA(x) 및 PSA(x)중 어느 것에 일치함을 나타낸다. 도 8에 도시된 바와 같이, 모든 MAT(x)는 OR되어 오픈 드레인 드라이버를 인에이블시킴으로써, MATCH 신호를 표명한다. DISRUPT SELECT(x)는, (미도시된) 포트(x)의 출력을 디스럽트하는 MUX(80)로 진행된다. DISRUPT SELECT(x)가 HIGH일 때, 디스럽트가 인에이블된다.
디스럽터(75x)는, 포트(90x)가 DATA를 재전송해서는 안될 때 마다, 즉 데이터 패킷 디스럽팅 기능이 작동할 때 마다, DATA 대신 변경된 데이터를 출력 포트(90x)에 제공한다. 본 실시에서, 디스럽터(75x)는 단안정 멀티바이브레이터(multivibrator)를 구현함으로써 교번적인 "1" 및 "0"을 출력한 다. 바람직한 실시예에서, 디스럽터(75x)는 출력 포트(90x)에 결합된 플립 플롭의 입력을 가지며, 이 플립 플롭의 출력에는 인버터가 결합된다. 이 인버터의 출력이 디스럽터(75x)의 출력이다.
멀티플렉서(80x)는 2개의 입력들, 즉 디스럽터(75x)의 출력에 결합된 "0" 입력 및 중계기 프론트 엔드(50)로부터의 DATA에 결합된 "1" 입력을 포함한다. 이 멀티플렉서(80x)는 SELECT 입력에 제공되는 DISRUPT SELECT(x)에 응답하여, 입력들중 하나를 출력 포트(90x)에 발송한다. DISRUPT SELECT(x)가 HIGH로 구동되면, 멀티플렉서(80x)는 변형된 데이터를 디스럽터(75x)로부터 출력 포트(90x)에 발송한다. DISRUPT SELECT(x)가 LOW로 구동되면, 멀티플렉서(80x)는 DATA를 출력 포트(90x)에 발송한다.
레지스터 뱅크(76)는, 예를 들어 BROADCAST 신호, MULTICAST 신호, ADDR_2 신호 등의 표명을 디스럽트시킬 것인 지와 같은, 많은 디스럽션 제어 조건 신호들에 대응하는 인에이블 신호들을 제공하기 위한 다수의 메모리 위치들(미도시)을 포함한다.
바람직한 실시예에서는, 각 포트에 관련된 인에이블 신호들이 존재하는바, 이 인에이블 신호들은 포트에 대한 보안을 인에이블하고(ENA 신호), PSA와 일치하면 비 디스럽션(non-disruption)을 인에이블하며(PSAE 신호), LSA와 일치하면 비 디스럽션을 인에이블하고(LSAE 신호), 어느 AA와 일치하면 비 디스럽션을 인에이블하며(AAEx 신호), 멀티캐스트 어드레스가 검출되면 비 디스럽션을 인에이블하고(MULT 신호), 특정 포트와 관련하여 PSA, LSA 또는 AAx 신호 간에 어떠한 일치도 검출되지 않으면 비 디스럽션을 인에이블하며(maAT 신호), 그리고 ADDR_2가 특정 포트로부터의 디스럽트되지 않은 상태로 전송될 때 까지 지연된 주기 동안 비 디스럽션을 인에이블시킨다.
바람직한 하나의 실시예는 특정한 인에이블링 조건과 관련된 인에이블링 워드 내의 비트의 값에 기초하여 각 인에이블링 신호를 발생시킨다. 이러한 인에이블 링 워드는 포트들의 수와 같은 다수의 비트 위치들을 갖는바, 특정 비트 위치들은특정 포트에 맵핑되며 대응한다. 즉, 16개의 포트들의 실시에서, 각 인에이블링 워드는 16비트 길이이다. 비트 위치 0은 바람직하게는 포트 0에 대응하고, 비트 위치 1은 포트 1에 대응하며, 이하 마찬가지이다. 따라서, 디스펄트 제어기(70s)에 대한 보안 특징은 매 포트 마다 제어가능하다.
레지스터 뱅크(76)의 인에이블 값은 MPI(84)에 의해 제공된 데이터 및 제어 신호들에 응답하여 쓰여진다. MPI(84)는 MP_DATA 버스(34)를 통해 MPU(28)와 통신한다(도 4에 도시됨). MPI(84)는 통상적인 방식으로 데이터를 읽고, 레지스터 뱅크(76)에 데이터를 쓴다. 예를 들어, 인에이블 읽기 신호, 인에이블 쓰기 신호, 인에이블 데이터 버스 및 인에이블 어드레스 버스는, 인에이블 워드들이 레지스터 뱅크(76)에 쓰여질 수 있게 한다.
또한, 어드레스들은 MPI(84)로부터의 데이터 및 신호를 이용하여 어드레스 비교 회로(65)에 쓰여진다. 예를 들어, 이러한 신호들은 읽기 신호, 쓰기 신호, 다수의 데이터 신호들 및 다수의 어드레스 신호들을 포함할 수 있다. 메모리 어레이에 대한 읽기 및 쓰기는 통상적이기 때문에, 이에 대해서는 더 이상 설명하지 않는다. 또한, 이러한 어레이들에 이용되는 통상적인 메모리 셀들의 구성 및 동작에 대해서도 설명하지 않는다.
일치 검출기(82)는, 단일 논리 중계기로서 서로 연결된 어떠한 별개의 중계기 패키지(25)에 대해, 어드레스 비교 회로(65)에 저장된 어드레스들중 어느 것이, 그 어드레스에 대한 어드레스 비교가 작동하고 있는 포트에 있어서의 유입 목적지어드레스와 대응하는 지를 나타내도록 동작한다. 각 디스럽트 제어기(70x)는 (PSAC(x), LSAC(x) 또는 어떠한 AACi(x)와 같은) 어드레스 비교 신호와 그의 관련된 인에이블 신호의 논리 곱의 결과에 의존하여 MAT(x) 신호의 상태를 결정한다. 어느 포트에 대해 특정한 신호가 인에이블되고 있는 경우 어드레스 비교 신호들중 어느 것이 표명되면, 디스럽트 제어기(70x)는 MAT(x)를 표명한다. 일치 검출기(82)는 각 포트에 대한 모든 MAT(x) 신호들 뿐 아니라, 도 8에 도시된 일치 없음 버스(no_match bus)(32)로부터의 !MATCH 신호를 수신하며, 어떠한 MAT(x) 신호가 표명되는 경우 !MATCH를 표명한다. 어느 별개의 중계기 패키지(25)에 대해 어떠한 MAT(x)가 표명되는 경우는 다른 별개의 중계기 패키지(25)의 일치 검출기(82)에 의해 검출된다. 일치 검출기(25)는 또한, DISRUPT SELECT(x) 신호를 제어하는 데에 이용되는 !MATCH 신호를 각 디스럽트 제어기(70x)에 제공한다.
동작에 있어서, 중계기 프론트 엔드(50)는 그의 입력 포트들(85i)중 하나로 데이터 패킷을 수신한다. 중계기 프론트 엔드(50)는 데이터 패킷에 포함된 직렬 비트들로 DATA를 구동시키고, 이 DATA가 유효할 때 ENABLE을 표명한다. 프레임 시작 구분 문자 바로 다음에 오는 48 비트들은 목적지 어드레스 필드를 구성한다.
패킷의 처음에서는, ADDR_1 및 ADD_2 모두가 표명되며, 제어기(55)는 DATA의 유입 비트들을 카운트한다. SHIFT_ENABLE은, 목적지 어드레스가 시프트 레지스터(60) 내로 시프트될 때 까지 표명되는바, 이 시점에서 시프트 레지스터(60)는 SHIFT_ENABLE를 비표명(deasserting)함으로써 로크(lock)된다. 제어기(55)는, 소정의 지연 후, 일단 원하는 필드(예를 들어, 목적지 어드레스)가 시프트 레지스터(60) 내에 로크되면, ADDR_1을 비표명한다. 제어기(55)는, 제 2 필드(예를 들어, 소스 어드레스)가 DATA 출력 라인 상에서 구동될 때 까지 ADDR_2 를 표명한다. 제어기(55)는, SHIFT_ENABLE를 비표명하고 목적지 어드레스를 시프트 레지스터(60) 내에 로크한 후, COMPARE를 표명한다.
COMPARE가 표명되면, 어드레스 비교 회로(65)는 시프트 레지스터(60) 내에 로크된 목적지 어드레스와 다수의 저장된 어드레스들 각각을 비교한다. 이러한 저장된 어드레스들은 보안 중계기(20)의 출력 포트들(90)에 결합된(도 3에 도시됨) 관련된 많은 최종 사용자 단말국들(15)에 대응한다. 즉, 어드레스 ADDRESSx를 갖는, 출력 포트(90x)에 결합된 특정한 사용자 단말국(15x)은 POST(90x)와 관련된 비교 회로(65)의 특정 메모리에 저장된 ADDRESSx를 갖는다. 시프트 레지스터(60)에 저장된 목적지 어드레스와 저장된 모든 어드레스들을 비교할 때, 일치가 발견되면 1개 이상의 어드레스 비교 신호들이 표명된다. PSAC(x) 그리고/또는 LSAC(x)는, 일치하는 관련된 저장 어드레스, 또는 AAC(x) 신호들중 하나를 갖는 각 포트(90x)에 대해 표명된다.
지연 디스럽트 제어기(70x)는 ADDR_1 신호, ADDR_2 신호, BROADCAST 및 MULTICAST 신호, 인에이블 신호 및 !MATCH 신호, PSAC(x) 및 LSAC(x) 신호들과 모든 AAC(x) 신호들을 수신한다. 상기 설명된 바와 같이, 디스럽트 제어기(70x)가 구성되는 방법에 따라, 디스럽트 제어기(70x)는 많은 신호들에 따라 DISRUPT SELECT(x)를 HIGH 또는 LOW로 구동시킴으로써, DATA또는 MODIFIED DATA를 각각 출력 포트(90x)에 발송한다. 디스럽트 제어기(70x)는 본원에 인용된 특허 출원들에서 확인되는 특정한 보안 조건들을 충족하도록 용이하게 구성될 수 있다.
디스럽트 제어기(70x)는 상기에서 나타낸 논리 방정식을 만족시키며, 입력 신호들의 값에 따라 DISRUPT SELECT(x)를 HIGH또는 LOW로 표명한다.
도 6은 도 5에 도시된 제어기(55)의 상세한 블록도이다. 제어기(55)는 시작 프레임 검출기(SFD)(100), 카운터(105), 제 1 비교 회로(110), 제 2 비교 회로(115), 인버터(120) 및 지연 소자(125)를 포함한다. DATA 및 ENABLE 신호들은 SFD(100) 내에 입력된다. 이 SFD(100)는 프레임 시작 구분 문자를 찾기 위해 DATA 를 감시한다. 프레임 시작 구분 문자가 검출된 후, SFD(100)는 SEE_SFD 신호를 표명한다. 이 SEE_SFD 신호는 SFD가 검출된 후에 표명되며, ENABLE가 표명된 채로 있는 한, 표명된 채로 유지된다.
카운터(105)가 SFD(100)에 결합되며, 이는 SEE_SFD신호에 응답하여 비트 시간 마다 한 번씩 총 카운트를 증분(increment)시킨다. 따라서, 카운터(105)는 프레임 시작 구분 문자 뒤의 DATA의 각 비트를 카운트한다. 카운터(105)의 전체 카운트는 카운트 버스(130)을 구성하는 출력 라인 상에 출력된다.
제 1 비교 회로(110) 및 제 2 비교 회로(115)가 카운트 버스(130)에 결합되며, 각각 카운터(105)의 전체 카운트를 감시한다. 처음에, SHIFT_ENABLE는 HIGH이다. 카운터(105)가 48까지 카운트하면, 제 1 비교 회로(110)는 SHIFT_ENABLE 신호를 LOW로 비표명한다. 인버터(120)의 입력은 제 1 비교 회로(110)의 출력에 결합된다. 인버터(120)의 출력은 COMPARE 신호를 구동시킨다. 지연 소자(125)의 입력 또한 제 1 비교 회로(110)의 출력에 결합된다. 지연 소자(125)의 출력은 ADDR_1 신호이다. 지연 소자(125)에 의해 설정되는 지연의 양은, 상태가 바뀌기 전에 비교 절차가 완료되어, 어드레스 비교 신호가 표명될 수 있게 한다. 바람직한 실시예에서, 카운터(105)가 바람직한 제 1 필드를 수신하기에 충분한 유입 비트들(목적지 어드레스의 경우에는 48)을 카운트할 때 까지, 제어기(55)는 SHIFT_ENABLE 및 ADDR_1을 표명한다.
카운터(105)가 SFD 뒤의 (소스 어드레스에 대응하는 ADDR_2에 대해) 96 비트들을 카운트하면, 제 2 비교 회로(115)는 ADDR_2를 비표명하여, 어드레스 비교 신호(예를 들어, PSAC(x) 신호)와 일치하면 비 디스럽션을 인에이블시킨다. ADDR_2는 처음에는 HIGH이고, 바람직한 제 2 필드가 DATA 신호 내에 전송된 후 LOW로 바뀐다. 바람직한 실시예는 목적지 어드레스 필드들 및 소스 어드레스 필드들을 이용하지만, 예를 들어 카운터를 조정함으로써 다른 필드들을 선택할 수 있다. 예를 들어, 대안적인 실시에서는, DA 및 SA를 항상 전달하지만, 데이터 필드를 선택적으로 지연시키는 것이 바람직할 수 있다. 카운터 비교값들을 적절히 조정함으로써, 대안적인 실시예를 간단히 구현할 수 있다.
도 7은 디스럽트 제어기(70x)에 대한 바람직한 기능적인 실시예를 나타낸 블록도이다. 디스럽트 제어기(70)는 AAC 출력 라인들(Y)과 고정 어드레스 라인들의 수(여기서는 2로서, 하나는 LSA에 대한 것이고, 다른 하나는 PSA에 대한 것임)의 합과 수적으로 같은 다수의 어드레스 비교 이중 입력 AND 게이트들(F)을 포함한다. 따라서, 바람직한 실시예에 따르면, 각 디스럽트 제어기(70x)에 대해 Y+2(바람직한 실시예에서 Y=32)개의 어드레스 비교 AND 게이트들(F)이 존재한다. 각 AND 게이트(F)는 한 입력에서는 어드레스 비교 신호(예를 들어, LSAC(x))를 수신하고, 다른 입력에서는 관련된 인에이블 신호(예를 들어, LSAE(x))를 수신한다. 어드레스 비교 AND 게이트들(F)의 출력은 Y+2개의 입력들을 갖는 MAT(x) OR 게이트(Gl)에 입력된다. MAT(x) OR 게이트(G1)의 출력은 MAT(x) 신호로서, 이는 도 5에 도시된 일치 검출기(82) 뿐 아니라, 디스럽트 NOR 게이트(G2)의 한 입력에 제공된다.
디스럽트 NOR 게이트(G2)는 별개의 중계기 패키지(25)에 의해 감시된 보안 조건들과 같은 많은 입력들을 갖는바, 바람직한 실시예에서는 디스럼트 NOR 게이트(G2)에 대해 7개의 입력들이 있다. 디스럽트 NOR 게이트(G2)의 출력은 멀티 플렉서(80x)에 제공되는 DISRWT SELECT(x) 신호이다.
입력 조건들에 관해서는, 상기 설명한 바와 같이, MAT(x)가 디스럽트 NOR 게이트(G2)의 제 1 입력에 제공된다. 도 5에 도시된 AND 게이트(78)로부터의 BROADCAST 신호는 NOR 게이트(G2)의 제 2 입력에 입력된다. 이중 입력 멀티캐스트 AND 게이트(G3)는, 한 입력에서는 MULTICAST 신호를 수신하고, 다른 입력에서는 포트(x)(MULT(x))에 대한 멀티캐스트 인에이블 신호를 수신한다. AHD 게이트(G3)의출력은 NOR 게이트(G2)의 제 3 입력에 제공된다. ASDR_1은 HOR 게이트(C2)의 제 4 입력에 제공된다.
이중 입력 일치 AND 게이트(G4)는, 한 입력에서는 도 5에 도시된 일치 검출기(82)로부터 !MATCH 신호를 수신하고, 다른 입력에서는 포트(x)(NMAT(x))에 대한 일치 없음 인에이블 신호를 수신한다. AND 게이트(G4)의 출력은 NOR 게이트(G2)의 제 5 입력에 제공된다. 인버터(G5)는 포트(x)(EHA(x))에 대한 보안 인에이블 신호를 수신한다. 인버터(G5)의 출력은 NOR 게이트(G2)의 제 6 입력에 결합된다. 이중 입력 지연 AND 게이트(G6)는, 한 입력에서는 도 5에 도시된 제어기(55)로부터 ADDR_2를 수신하고, 제 2 입력(DLY(x))에서는 포트(x)에 대한 지연 인에이블 신호를 수신한다. AND 게이트(G6)의 출력은 NOR 게이트(G2)의 제 7 입력에 제공된다.
동작에 있어서, 디스럽트 NOR 게이트(G2)는, 7개의 입력들중 하나가 표명되지 않으면 DISRUPT SELET(x)를 표명한다. DISRUPT SELECT(x)가 표명되면, 멀티플렉서(80x)는 디스럽트된 데이터를 출력한다. NOR 게이트(G2)의 1개 이상의 입력들이 표명되면, DISRUPT SELECT(x)를 비표명시키며, 이에 따라 데이터 패킷은 변형되지 않은 채로 전송된다.
도 8은 도 5에 도시된 3개의 일치 검출기들(82)의 개략적인 블록도이다. 일치 검출기(82)는 다중 입력 OR 게이트(GIO)를 포함하는바, 바람직한 실시예에서 이 OR 게이트(GIO)는 각 포트 마다 하나의 입력을 가져, MAT(x) 신호들(x=1 내지 n-1)을 수신한다. OR 게이트(G10)의 출력은, 기준 전압(예를 들어, 접지)과 !MATCH 데이터 버스(32) 사이에 결합된 n-채널 MOSFET(Q1)의 게이트에 결합된다. MAT(x) 신호들중 어느 것도 표명되지 않는 다면, MOSFET(Q1)은 오프되며, !MATCH는 HIGH가 된다. 어느 중계기 패키지(25)의 어느 MAT(군가 표명되면, 적당한 일치 검출기(82)의 MOSFET(Q1)을 턴온시킴으로써, !MATCH(LOW)를 표명한다. 이 !MATCH 신호는 또한 디스럽트 제어기(70x)에 제공된다.
도 9는 레지스터 뱅크(76), 모든 포트들에 대한 디스럽트 제어기(70x) 및 일치 검출기(82)를 단순 셀 어레이(200)의 형태로 구현하는 중계기 패키지(25)의 바람직한 실시예를 나타낸다. 중계기 패키지(25)는 또한 시프트 레지스터(60), 어드레스 저장 매트릭스(205), 제 1 어드레스 디코더(210) 및 제 2 어드레스 디코더(215)를 포함한다. 설명을 완전하게 하기 위해, 도 4 및 8에 도시된 외부 저항(R)이 도 9에도 도시된다. 어드레스 저장 매트릭스(205) 및 어드레스 디코더(210)는 도 5에 도시된 어드레스 비교 회로(65)를 제공한다.
이러한 전형적인 바람직한 실시예에서, 어드레스 저장 매트릭스(205)는 많은 레지스터들(220)을 포함하는 바, 이 레지스터들(220)의 수는 포트들의 수와 대체 어드레스 저장 위치들의 총수와 1개의 부가적인 레지스터(220)를 더한 수의 2배와 같다. 어드레스 저장 매트릭스(205)는, 32개의 대체 어드레스 저장 위치들을 갖는 16 포트 중계기를 위한 65개의 레지스터들(220)을 포함한다. 따라서, 각 PSA(p)와 각 포트(p)의 각 LSA(p)에 대해서 레지스터(220)가 존재할 뿐 아니라, 각 대체 어드레스 저장 위치 AA(Y)에 대해서도 레지스터가 존재한다. 시프트 레지스터(60)로부터 비교되어야 할 어드레스는 48 비트 어드레스이기 때문에, 바람직한 실시예에서 각 레지스터(220)는 48 비트 레지스터이다. 부가적인 레지스터는 브로드캐스트 어드레스에 대응하도록 하기 위해 모두 "1"의 등가물(equivalent)을 저장하도록 하드와이어(hardwire)된다. 하드와이어된 1을 갖는 이러한 레지스터는 도 5에 도시된 AND 게이트(78)와 기능적으로 같다.
셀 어레이(200)는 어드레스 디코더(215)와 조합하여, 디스럽트 제어기들, 레지스터 뱅크 및 일치 검출기의 기능을 구현한다. 셀 어레이(200)는 다수의 서로 다른 종류의 셀들, 프로그램가능한 셀(P), 인에이블 셀(E), 일치 셀(M) 및 여분의 셀(X)을 포함한다. 각 셀에 대한 상세한 사항은 도 10을 참조하여 더 설명된다.
각 E 셀은 특정 포트에 대한 보안을 인에이블/디스에이블시키는 1개의 ENA 레지스터를 포함한다. 각 P 셀은 (바람직하게는 단일 비트의) 프로그램가능한 레지스터를 포함하는바, 이 레지스터는 DLY, MULT, NMAT, PSAE, LSAE 및 AAE 레지스터 등의 많은 디스럽트 조건들의 인에이블 상태(enablement)를 제어하는 데에 이용된다.
이러한 아키텍쳐는 용이하고 효율적으로 그 규모를 조정할 수 있다. 셀 어레이(200)의 각 칼럼은 하나의 포트에 대응한다. P 셀들의 전체 로우는 각 대체 어드레스 레지스터(220)에 대해 이용되는바, 할당가능한 어드레스 저장 레지스터들의 수는 0부터 그 이상으로 변한다.
1개의 P 셀은 각 LSA또는 PSA 레지스터(220)에 이용되는데, 그 이유는 상기 설명한 바와 같이, LSA 및 PSA 레지스터들(220)이 단일 포트에 대응하도록 고정되기 때문이다. 레지스터(220)를 특정 포트에 대응하도록 고정한 결과, 각 포트에 대한 비교 조건에 대응하는 P 셀들은 대각선으로 배치되게 된다. 또한, PSA 및 LSA 고정된 어드레스들이 실시되지 않는 경우, 이러한 레지스터들에 대응하는 P 셀들은 제거될 수 있다. 고정된 어드레스들의 수가 중가하는 경우, 대각선으로 배치된 P 셀의 부가적인 세트들을 추가할 수 있으며, 각 포트에 같은 수의 고정된 어드레스들을 제공할 필요는 없다.
P 셀들의 1개의 로우 전체, M 셀의 1개의 로우 및 1개의 X 셀은, 역 일치 없음 디스럽트 기능(inverse non-match disrupt function), 또는 다수의 별개의 중계기 패키지들(25)로부터의 유사한 종류의 조건 병합 디스럽트 정보(condition merging disrupt infomation)를 구현하는 데에 이용된다. 상기 역 일치 없음 디스럽트 기능 또는 유사한 기능을 포함하지 않는 실시예들에서, 이러한 로우들은 제거될 수 있다.
P 셀들의 한 로우는 멀티캐스트 패킷 기능에 대한 프로그램가능한 비 디스럽트를 실시하고, 다른 하나의 로우는 디스럽트 기능의 프로그램가능한 지연을 실시한다. 이러한 로우들중 어느 하나 또는 둘 모두는, 대응하는 기능이 이용되지 않는 경우에는 제거될 수 있다.
E 셀들의 한 로우는 BROADCAST 어드레스에 대한 기본적인 인에이블/더스에이블 비 디스럽트 뿐 아니라, 제 1 필드(목적지 어드레스)가 전송되는 동안 비 디스럽트를 수행한다. E 셀의 구성은 수행되는 특정 기능들에 따라 적절히 변경될 수 있다.
개시된 실시예를 이용한다면, 부가적인 인정 조건들(qualifying conditions)을 부가하거나 이러한 인정 조건들을 변형하는 것은 간단한 명제(proposition)이다. 인정 조건은, 예를 들어 AAC(0), PSAC(3), ADDR_2 및 BROADCAST 신호들을 말한다. M 셀들의 로우의 아래에 P 셀들의 로우를 추가하게 되면, MATCH의 표명 판정에 있어서의 인정 조건을 포함하게 된다. M 셀들의 로우 위에 P 셀들의 로우를 추가하게 되면, 대응하는 인정 조건을 MATCH 판정에 포함하지 않으면서, 이 조건을 부가하게 된다.
도 10은 도 9에 도시된 셀 어레이(200)의 상세한 레이아웃도이다. 도 9 및 10에 도시된 바와 같이 셀 어레이(200)를 구성하게 되면, 선택된 셀 종류들의 간단한 접합에 의해, 주문 제작가능한 셀 어레이를 간단히 구성할 수 있게 된다. 도 10에는, 메모리(MEM) 저장 위치들을 액세스하여, 읽고 쓰기 위한 접속은 도시되어 있지 않은데, 그 이유는 본 발명의 바람직한 실시예의 이러한 양상은 잘 알려진 RAM 셀 기술을 이용하기 때문이다. 다른 구성들에서는 서로 다른 방식으로 MEM 위치들을 실시할 수 있다.
도 10에 도시된 셀 어레이(200)는 3 포트 중계기에 대해 실시되는바, 이 3 포트 중계기는 2개의 대체 어드레스 비교 신호들(AA(0) 및 AA(1)), 및 포트 마다의 1개의 고정된 어드레스 비교 어드레스(PSAC(x))를 갖고, 3개의 일반적인 인정 신호들, 즉 ADDR_1, BROASAST 및 !MATCH에 응답하며, ENA 종류의 기능을 포함한다.
바람직한 실시예에서, P 셀은 인에이블 레지스터(300), 이중 입력 AND 게이트(305) 및 n-채널 MOSFET(310)을 포함한다. AND 게이트(305)의 한 입력은 인에이블 레지스터(300)로부터 출력을 수신하고, AND 게이트(305)의 다른 입력은 예를 들어 AAC(1)의 인정 신호를 수신하도록 결합된다. AND 게이트(305)의 출력은 MOSFST(310)의 게이트에 결합된다. MOSFET(310)의 소스는 제 1 기준 전압에 결합되고, 드레인 단자는 특정 포트에 대응하는 칼럼 라인에 결합된다. 이 칼럼 라인은 M 셀을 통해 저항(R1)의 한 단자에 직접 또는 간접적으로 결합된다. 저항(R1)의 제 2 단자는 제 2 기준 전압(Vdd)에 결합된다.
바람직한 실시예의 M 셀들은 인버터(320), 2개의 n-채널 MOSFET들(325 및 330) 및 저항(R2)을 포함한다. 저항(R2)의 한 단자는 제 2 기준 전압에 결합되고, 제 2 단자는 인버터(320)의 입력에 결합된다. 인버터(320)의 입력에는 또한, M 셀과 같은 칼럼 내에 그리고 M 셀 아래에 있는 P 셀들의 MOSFET(310)의 드레인 단자들이 결합된다. 인버터(320)의 출력은 MOSFET(325)의 게이트에 결합되는바, 이 MOSFET(325)의 드레인은 R1에 결합되고, 소스는 제 1 기준 전압 레벨에 결합된다. 인버터(320)의 출력은 또한 MOSFET(330)의 게이트에 결합되는바, 이 MOSFET(330)의 소스는 제 1 기준 전압에 결합된다. 각 M 셀의 MOSFET들(330)의 드레인들은, X 셀에 결합된 로우 라인에 결합된다.
X 셀은 저항(R3), 인버터(350) 및 n 채널 MOSFET(355)을 포함한다. 저항(R3)의 한 단자는 제 2 기준 전압에 결합되고, 저항(R3)의 제 2 단자는 인버터(350)의 입력에 결합된다. 인버터(350)의 출력은 MOSFET(355)의 게이트에 결합된다. MOSFET(355)의 소스는 제 1 기준 전압 레벨에 결합된다. MOSFET(355)의 드레인은 외부 저항(R) 및 다른 별개의 중계기 패키지의 다른 X 셀들에 결합되어, !MATCH 신호를 제공한다. 주목할 사항으로서, 상기 !MATCH 신호는 또한 M 셀들의 로우 위의 P 셀의 로우에 제공되는 인정 조건 신호로서 이용된다.
실제 실시들에서는, 특정한 구성들에 따라, 도시된 것보다 M 셀들의 로우 위에 보다 많은 P 셀들이 존재할 수 있다. 맨 위의 셀들의 로우는 E 셀들이다. 이 E 셀은, 인에이블될 인정 조건의 종류에 따라, 다수의 서로 다른 종류들의 인에이블 링 서브 셀들(예를 들어, Type 1 (T1), Type 2 (T2) 또는 Type 3 (T3))을 포함할 수 있다. 예를 들어, T1 서브 셀들은 n-채널 MOSFET(360)을 갖는바, 이 n-채널 MOSFET(360)의 게이트는 인정 신호를 수신하도록 결합되고, 드레인은 제 1 기준 전압에 결합된 소스 및 칼럼 라인의 상부에 있는 저항(R1)에 결합된다. 대응하는 신호의 표명에 의해 나타낸 바와 같이, 인정 조건이 존재하면, T1 서브 셀을 갖는 특정 포트에 대한 디스럽션은 턴오프된다.
T2 서브 셀은 인에이블 레지스터(370)를 갖는바, 이 레지스터(370)는 n 채널 MOSFET(375)의 게이트에 결합된 반전 출력을 갖는다. MOSFET(375)의 소스는 제 1 기준 전압에 결합되고, 그 드레인은 R1에 결합된다. MOSFET(375)의 제어는 인에이블 레지스터(370)에 저장된 값에 의해서만 제어되기 때문에, T2 서브 셀과 관련된 어떠한 인정 조건 신호도 없다. 바람직한 실시예에서, T2 서브 셀은 어느 포트들에 대해 보안 기능이 작동하게 되는 지를 선택하는 데에 이용된다. 즉, 인에이블 레지스터(370)에 LOW 값을 저장함으로써, 즉 특정한 칼럼에 대한 보안을 디스에이블시킴으로써, 포트는 관련 포트로부터의 데이터 패킷들을 결코 디스에이블시키지 않을 것이며, 모든 패킷을 디스럽트되지 않은 완전한 상태로 전송한다.
T3 서브 셀은 저항(R1)을 포함하는바, 이 저항(R1)의 제 1 단자는 어떠한 칼럼 내의 서브 셀들, P 셀들 및 M 셀의 다수의 출력들에 결합된다. 저항(R1)의 제 2 단자는 제 2 전압 기준 레벨에 결합된다. 또한, 한쌍의 직렬 결합 인버터들이 저항(R1)의 제 1 단자에 결합되어, T3 서브 셀 내에 포함된다. 이러한 인버터들의 쌍의 출력은 특정한 칼럼, 즉 포트에 대한 디스럽트 선택 신호이다.
동작에 있어서, 저항(R1)의 제 1 단자에 결합된 셀들 및 서브 셀들 내의 MOSFET들중 어느 것의 게이트들에 어떠한 신호의 어떠한 표명도, 저항(R1)으로 하여금, T3 서브 셀의 인버터들의 쌍에 제공되는 입력 전압을 HIGH 레벨로 끌어올리게 하지는 않는다. 이러한 HIGH 레벨의 결과, 특정한 칼럼에 대응하는 포트에 대응하는 DISRUPT SELECT 신호가 표명된다. 그러나, 어떠한 인정 조건이 존재한다면, 입력 전압은 LOW로 끌어내려져, DISRUPT SELECT 신호를 비표명한다.
상기 설명한 바와 같이, 보안 중계기(200)는 포트 마다 데이터 패킷을 위한 선택적이고 프로그램가능한 디스럽트 응답을 제공한다. 디스럼트 응답에 의해, 일부 또는 모든 포트들이 디스에이블될 수 있으며, 이에 따라 포트들로부터의 제어가능하고 안전한 재전송을 가능하게 한다. 2개 이상의 별개의 중계기 패키지들을 결합하여 형성된 중계기는, 확장가능하고 서로 관련된 보안 기능을 갖는다. 보안 중계기를 간단하고 효율적으로 규모를 조정할 수 있게 하는 셀 어레이를 형성하기 위한 단순화된 레이아웃이 설명되었다.
결론으로서, 본 발명은 보안 중계기가 데이터 패킷에 대해 선택적인 응답을 할 수 있도록, 간단하고 효율적인 해결책을 제공한다. 상기에서는 본 발명의 바람직한 실시예들에 대해 설명했지만, 많은 대안들, 변형들 및 등가들이 이용될 수 있다. 따라서, 상기 설명은 첨부된 청구 범위들에 의해 정의되는 본 발명의 범위를 한정하는 것으로서 간주되어서는 안된다.
Claims (38)
- 다수의 단말국들을 연결하는 네트워크에서 이용되는 보안 중계기에서의 패킷 보안 방법으로서,제 1 단말국으로부터 목적지 어드레스를 포함하는 패킷을 수신하는 단계와;상기 패킷으로부터 상기 목적지 어드레스를 추출하는 단계와;상기 목적지 어드레스와, 다수의 저장된 어드레스들 각각을 비교하는 단계와, 여기서 상기 다수의 저장된 어드레스들중 하나는 상기 중계기의 2개 이상의 포트들과 관련되며; 그리고상기 목적지 어드레스가 제 1 포트와 관련된 어떠한 저장된 어드레스와도 일치하지 않을 때, 상기 중계기의 포트들중 첫 번째 포트로부터의 상기 패킷의 재전송을 디스럽트하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 1 항에 있어서,상기 목적지 어드레스가 제 2 포트와 관련된 어떠한 저장된 어드레스와도 일치하지 않을 때, 상기 중계기의 포트들중 상기 제 2 포트로부터의 상기 패킷의 재전송을 디스럽트하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 1 항에 있어서,상기 목적지 어드레스가 상기 패킷을 특별한 패킷으로서 식별하는 지를 결정하는 단계와, 그리고상기 패킷이 상기 특별한 패킷일 때 상기 디스럽트하는 단계를 금지함으로써, 상기 목적지 어드레스가 상기 제 1 포트에 관련된 어떠한 저장된 어드레스와도 일치하지 않을 때, 상기 중계기는 상기 제 1 포트로부터 상기 패킷을 재전송하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 3 항에 있어서,상기 제 1 포트는 관련된 특별한 패킷 인에이블링 메모리를 가져, 상기 금지단계는, 상기 관련된 특별한 패킷 인에이블링 메모리가 상기 제 1 포트로부터의 특별한 패킷 재전송이 인에이블됨을 나타낼 때에만 상기 디스럽트 단계를 금지하는 것을 특징으로 하는 방법.
- 제 3 항에 있어서,상기 특별한 패킷은 브로드캐스트 패킷인 것을 것을 특징으로 하는 방법.
- 제 3 항에 있어서,상기 특별한 패킷은 멀티캐스트 패킷인 것을 특징으로 하는 방법.
- 제 4 항에 있어서,상기 특별한 패킷은 멀티캐스트 패킷인 것을 특징으로 하는 방법.
- 제 4 항에 있어서,상기 특별한 패킷은 멀티캐스트 패킷 또는 브로드캐스트 패킷인 것을 특징으로 하는 방법.
- 제 3 항에 있어서,상기 1 포트는 관련된 특별한 패킷 인에이블링 메모리를 가져, 상기 금지 단계는, 상기 관련된 특별한 패킷 인에이블링 메모리가 상기 제 1 포트로부터의 특별한 패킷 재전송이 인에이블됨을 나타낼 때 상기 디스럼트 단계를 금지하고,상기 특별한 패킷은 제 1 종류의 특별한 패킷이며, 그리고상기 금지 단계는, 상기 관련된 특별한 패킷 인에이블링 메모리에 상관없이 상기 특별한 패킷이 제 2 종류의 특별한 패킷일 때 상기 디스럽트 단계를 금지하는 것을 특징으로 하는 방법.
- 제 9 항에 있어서,상기 제 1 종류의 특별한 패킷은 멀티캐스트 패킷이고, 상기 제 2종류의 특별한 패킷은 브로드캐스트 패킷인 것을 특징으로 하는 방법.
- 제 1 항에 있어서,상기 목적지 어드레스가 상기 중계기의 어느 포트에 관련된 어느 저장된 어드레스와 일치하는 지를 결정하는 단계와; 그리고상기 목적지 어드레스가 어느 포트와 관련된 어느 저장된 어드레스와도 일치하지 않을 때, 선택된 포트에 대해 상기 디스럽트 단계를 금지하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 11 항에 있어서,상기 선택된 포트는 관련된 일치 없음 인에이블링 메모리를 가져, 상기 금지 단계는, 상기 관련된 일치 없음 인에이블링 메모리가 어떠한 어드레스의 일치도 없이 상기 선택된 포트로부터 패킷의 재전송이 인에이블됨을 나타낼 해에만 상기 디스럽트 단계를 금지하는 것을 특징으로 하는 방법.
- 제 11 항에 있어서,상기 목적지 어드레스가 상기 패킷을 특별한 패킷으로서 식별하는 지를 결정하는 단계와; 그리고상기 패킷이 상기 특별한 패킷일 때 상기 디스럽트 단계를 금지시켜, 상기 목적지 어드레스가 상기 선택된 포트와 관련된 어느 저장된 어드레스와도 일치하지 않을 때, 상기 중계기가 상기 선택된 포트로부터의 상기 패킷을 재전송하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 13 항에 있어서,상기 선택된 포트는 관련된 특별한 패킷 인에이블링 메모리를 가져, 상기 특별한 패킷 금지 단계는, 상기 관련된 특별한 패킷 인에이블링 메모리가 상기 선택된 포트로부터의 상기 특별한 패킷 재전송이 인에이블됨을 나타낼 때에만 상기 디스럽트 단계를 금지하는 것을 특징으로 하는 방법.
- 제 1 항에 있어서,상기 제 1 포트에 대한 상기 디스럽트 단계는, 상기 목적지 어드레스가 상기 제 1 포트로부터 재전송된 후까지 금지되는 것을 특징으로 하는 방법.
- 제 2 항에 있어서,상기 제 1 포트에 대한 상기 디스럽트 단계는 상기 목적지 어드레스가 상기 제 1 포트로부터 재전송된 후 까지 금지되며, 상기 제 2 포트에 대한 상기 디스럽트 단계는 상기 목적지 어드레스가 상기 제 2 포트로부터 재전송된 후 까지 금지되는 것을 특징으로 하는 방법.
- 제 15 항에 있어서,상기 패킷은 상기 목적지 어드레스에 부가하여 데이터 필드를 포함하며,상기 방법은,상기 제 1 포트가 상기 데이터 필드를 디스럽트하지 않은 채로 상기 패킷을 재전송한 후 까지 상기 리스럽트 단계를 금지시켜, 상기 목적지 어드레스가 상기제 1 포트와 관련된 어느 저장된 어드레스와도 일치하지 않을 때, 상기 중계기가 상기 제 1 포트로부터 상기 목적지 어드레스 및 상기 데이터 필드를 디스럽트하지 않고 재전송하도록 하는 단계와; 그리고상기 목적지 어드레스가 상기 제 1 포트 및 상기 제 2 포트와 관련된 어느 저장된 어드레스와도 일치하지 않을 때, 상기 목적지 어드레스 및 상기 데이터 필드가 디스럽트되지 않은 채로 재전송된 후, 상기 패킷 디스럽트 단계를 다시 인에이블하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 17 항에 있어서,상기 금지 단계 이전에, 상기 제 1 포트와 관련된 데이터 필드 지연 메모리가 상기 제 1 포트에 대한 디스럽션 지연의 인에이블 상태를 나타내는 지를 결정하는 단계를 더 포함하며,상기 금지 단계는, 상기 데이터 필드 지연 메모리가 상기 제 1 포트에 대한 디스럽션 지연의 인에이블 상태를 나타낼 때에만 상기 디스럽트 단계를 금지하는 것을 특징으로 하는 방법.
- 제 17 항에 있어서,상기 데이터 필드는 소스 어드레스인 것을 특징으로 하는 방법.
- 제 17 항에 있어서,상기 데이터 필드는 상기 패킷의 다수의 부분들을 포함하는 것을 특징으로 하는 방법.
- 제 20 항에 있어서,상기 다수의 부분들은 상기 패킷의 불연속적인 부분들을 포함하는 것을 특징으로 하는 방법.
- 제 2 항에 있어서,특정한 저장된 어드레스가 상기 제 1 포트 및 상기 제 2 포트와 관련되며, 그리고 상기 목적지 어드레스가 상기 특정한 저장된 어드레스와 일치할 매, 상기 패킷은 상기 제 1 포트 및 상기 제 2 포트 모두로부터 디스럽트되지 않고 재전송되는 것을 특징으로 하는 방법.
- 제 2 항에 있어서,상기 비교 단계 이전에, 제 1 고정 어드레스 레지스터를 제 1 관련 어드레스를 저장하는 상기 제 1 포트와 관련시키는 단계와;상기 비교 단계 이전에, 제 2 고정 어드레스 레지스터를 제 2 관련 어드레스를 저장하는 상기 제 2 포트와 관련시키는 단계와, 그리고할당가능한 어드레스 레지스터들의 풀로부터의 제 1 할당가능한 어드레스 레지스터를 상기 제 1 포트에 동적으로 할당하여, 상기 제 1 할당가능한 어드레스 레지스터에 저장된 어드레스를 상기 제 1 포트와 관련시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 23 항에 있어서,상기 할당가능한 어드레스 레지스터들의 풀로부터의 제 2 할당가능한 어드레스 레지스터를 상기 제 2 포트에 동적으로 할당하여, 상기 제 2 할당가능한 어드레스 레지스터에 저장된 어드레스를 상기 제 2 포트와 관련시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 23 항에 있어서,상기 할당가능한 어드레스 레지스터들의 풀로부터의 제 2 할당가능한 어드레스 레지스터를 상기 제 1 포트에 동적으로 할당하여, 상기 제 2 할당가능한 어드레스 레지스터에 저장된 제 2 어드레스를 상기 제 1 포트와 관련시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 23 항에 있어서,상기 제 1 할당가능한 어드레스 레지스터를 상기 제 2 포트에 동적으로 할당하여, 상기 제 1 할당가능한 어드레스 레지스터에 저장된 상기 어드레스를 상기 제 1 포트 및 제 2 포트 모두와 관련시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 1 항에 있어서,상기 중계기는 단일 논리 중계기를 형성하기 위해 확장 버스(30, 32)에 의해 제 2 별개의 중계기(252)에 결합된 제 1 별개의 중계기(251)를 포함하며,상기 방법은,상기 제 1 별개의 중계기에 대해, 상기 목적지 어드레스가 상기 제 1 별개의 중계기의 어느 포트에 관련된 어느 저장된 어드레스와 일치하는 지를 결정하는 단계와;제 2 별개의 중계기예서 수신된 목적지 어드레스와 상기 제 2 별개의 중계기의 한 포트와 관련된 어느 저장된 어드레스 간에 일치가 존재하는 지를 나타내는 일치 신호를, 상기 제 2 별개의 중계기로부터 수신하는 단계와; 그리고상기 목적지 어드레스가 상기 제 1 별개의 중계기의 어느 포트와 관련된 어느 저장된 어드레스와도 일치하지 않고, 상기 일치 신호가 상기 수신된 목적지 어드레스와 상기 제 2 별개의 중계기의 어느 저장된 어드레스에 일치가 없음을 나타낼 때, 상기 제 1 별개의 중계기의 선택된 포트에 대해 상기 디스럽트 단계를 금지하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 27 항에 있어서,상기 금지 단계 이전에, 상기 제 2 별개의 중계기로부터의 상기 일치 신호가 상기 수신된 목적지 어드레스와 상기 제 2 별개의 중계기의 어느 저장된 어드레스의 일치를 나타내는 때를 결정하는 단계와, 그리고상기 일치 신호가 일치를 나타내고, 상기 목적지 어드레스가 상기 제 1 별개의 중계기의 어느 포트와 관련된 어느 저장된 어드레스와도 일치하지 않을 때, 상기 제 1 별개의 중계기의 선택된 포트에 대해 상기 디스럽트 단계를 허용하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 1 항에 있어서,상기 중계기는 늘일 논리 중계기를 형성하기 위해 확장 버스에 의해 상기 제 2 별개의 중계기에 결합된 제 1 별개의 중계기를 포함하며,상기 방법은,상기 제 1 별개의 중계기에 대해, 상기 목적지 어드레스가 상기 제 1 별개의 중계기의 다수의 선택된 일치-인에이블된 포트들중 어느 포트와 관련된 어느 저장된 어드레스와 일치하는 지를 결정하는 단계와;상기 제 2 별개의 중계기에서 수신된 목적지 어드레스와 상기 제 2 별개의 중계기의 일치-인에이블된 포트와 관련된 어느 저장된 어드레스 간에 일치가 존재함을 나타내는 일치 신호를, 상기 제 2 별개의 중계기로부터 수신하는 단계와; 그리고상기 목적지 어드레스가 상기 제 1 별개의 중계기의 어느 일치-인에이블된 포트와 관련된 어느 저장된 어드레스와 일치하지 않고, 상기 일치 신호가 상기 수신된 목적지 어드레스와 어느 일치-인에이블된 포트와 관련된 상기 제 2 별개의 중계기의 어느 저장된 어드레스에 일치가 없음을 나타낼 때, 상기 제 1 별개의 중계기의 선택된 포트에 대해 상기 디스럽트 단계를 금지하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 29 항에 있어서,상기 제 1, 2 별개의 중계기의 각 포트는 관련된 일치 레지스터를 포함하며, 상기 선택된 포트들 및 상기 일치-인에이블된 포트들은 상기 관련된 일치 레지스터들에 저장된 값들에 의해 식별되는 것을 특징으로 하는 방법.
- 제 27 항에 있어서,상기 제 1 별개의 중계기는, 상기 목적지 어드레스와 상기 제 1 별개의 중계기의 한 포트와 관련된 어드레스 간의 일치를 검출한 후, 상기 제 2 별개의 중계기에 상기 일치 신호를 표명하는 것을 특징으로 하는 방법.
- 제 27 항에 있어서,상기 제 1 별개의 중계기는 !MATCH인에이블 레지스터를 포함하며,상기 방법은,상기 금지 단계 이전에, 상기 !MATCH 인에이블 레지스터가, 일치가 없을 때 디스럽트 금지를 인에이블시키는 지를 결정하는 단계와; 그리고상기 목적지 어드레스가 상기 제 1 별개의 중계기의 어느 포트와 관련된 어느 저장된 어드레스와도 일치하지 않고, 상기 일치 신호가, 상기 !MATCH 인에이블 레지스터가 디스럽트 금지를 인에이블시키지 않을 경우, 상기 수신된 목적지 어드레스와 상기 제 2 별개의 중계기의 어느 저장된 어드레스에 일치가 없음을 나타낼 때, 상기 제 1 별개의 중계기의 선택된 포트에 대해 상기 디스럽트 단계를 허용하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 1 항에 있어서,상기 비교 단계의 결과에 상관없이 상기 중계기의 상기 제 1 포트로부터 상기 패킷을 재전송하기 위해, 상기 제 1 보안 인에이블 레지스터가 상기 제 1 포트에 대한 보안이 디스에이블되었음을 나타낼 때, 상기 제 1 보안 인에이블 레지스터에 응답하여, 상기 제 1 포트에 대한 디스럽트 단계를 긍지하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 다수의 디스럽트 조건 신호들에 응답하여 중계기(20)의 다수의 포트들로부터의 패킷의 재전송을 독립적으로 제어하기 위해 보안 중계기 내에서 이용되는 디스럽트 회로로서,각 포트에 대해 한 칼럼으로, 다수의 조건 신호들(ADDR, MATCH)에 대응하는 다수의 로우들로, 그리고 각 디스럽트 조건 신호에 대해 향 로우로, 다수의 포트들(P)에 대응하는 다수의 칼럼들을 갖는 유사한 디스럽트 셀들(251)의 어레이를포함하며,어느 특정한 로우는 조건 신호의 종류에 대응하는 한 타입의 디스럽트 셀들로 구성되고,유사한 디스럽트 셀들의 부가적인 로우를 부가함으로써, 부가적인 조건이 부가될 수 있는 것을 특징으로 하는 디스럽트 회로.
- 다수의 디스럽트 조건 신호들에 응답하여 중계기의 다수의 포트들로부터의 패킷의 재전송을 독립적으로 제어하기 위해 보안 중계기 내에서 이용되는 디스럽트 회로로서,각 포트에 대해 한 칼럼으로, 다수의 조건 신호들(ADDR, MATCH)에 대응하는 다수의 로우들로, 그리고 각 디스럼트 조건 신호에 대해 한 로우로, 다수의 포트들(P)에 대응하는 다수의 칼럼들을 갖는 유사한 디스럽트 셀들(25i)의 어레이를 포함하며,어느 특정한 로우는 조건 신호의 종류에 대응하는 한 타입의 디스럽트 셀들로 구성되고,표준화된 디스럽트 셀들의 부가적인 칼럼을 부가함으로써, 부가적인 포트가 부가될 수 있는 것을 특징으로 하는 디스럽트 회로.
- 제 34 항 또는 제 35 항에 있어서,상기 각 칼럼은 독립적으로, 그 대응하는 포트(p)가 패킷을 재전송하고자 하는 경우에는 제 1 값을 갖는 디스럽트 선택 신호를 표명하고, 그 대응하는 포트(p)가 디스럽트된 패킷을 재전송하고자 하는 경우에는 제 2 값을 갖는 상기 디스럽트 선택 신호를 표명하며, 상기 포트(p)에 대한 상기 디스럽트 선택 신호는 하기의 경우,(ENA(p) = 디스에이블된다) 또는(DA = 브로드캐스트 어드레스이다) 또는(LSAE(p) = 인에이블됨을 나타내고, LSA(p)은 DA와 일치한다) 또는(PSAE(p) = 인에이블됨을 나타내고, PSA(p)은 DA와 일치한다) 또는(AAE(n,p) = 인에이블됨을 나타내고, AA(n)은 적어도 하나의 n에 대해 DA와 일치한다) 또는(MULT(p) = 인에이블됨을 나타내고, DA는 멀티캐스트 어드레스이다) 또는(NMAT(p) = 인에이블됨을 나타내고, MATCH는 일치가 없음을 나타낸다) 또는(ADDR_1은 DA가 포트(p)로부터 재전송되지 않았음을 나타낸다) 또는(DLY(p) = 인에이블됨을 나타내고, ADDR_2는 패킷의 소정 필드가 포트(p)로부터 재전송되지 않았음을 나타낸다)는 경우, 상기 제 1 값을 가지며,여기서, MATCH는 하기의 경우,(LSAE(q) = 인에이블됨을 나타내고, LSA(q)는 적어도 하나의 q에 대해 DA와 일치한다) 또는(PSAE(S) = 인에이블됨을 나타내고, PSA(q)는 적어도 하나의 q에 대해 DA와일치한다) 또는(AAE(n,q) = 인에이블됨을 나타내고, AA(q)는 n, q의 적어도 하나의 순열에 대해 DA와 일치한다)일 때 일치를 나타내는-이러한 기호들은 본원에서 이전에 정의된 것들이다- 것을 특징으로 하는 디스럽트 회로.
- 제 34 항에 있어서,상기 다수의 조건 신호들중 하나는 MATCH 조건 신호이고,상기 일치 조건 신호에 대응하는 특정 로우 내의 상기 유사한 디스렙트 셀들은 일치 타입의 디스럽트 셀이며, 상기 일치 타입의 디스럽트 셀들의 디스럽트 응답에 영향을 미치는 상기 유사한 디스럽트 셀들의 다수의 로우들의 부분 집합과 상기 어레이의 출력측 사이에 삽입되는 것을 특징으로 하는 디스럽트 회로.
- 제 37 항에 있어서,상기 선택적으로 인에이블가능한 유사한 디스럽트 셀들은 각 칼럼을 위한 상기 대응하는 조건 신호에 대한 응답을 인에이블시키기 위해 메모리 레지스터를 포함하는 것을 특징으로 하는 디스럽트 회로.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US8/460319 | 1995-06-02 | ||
US08/460,319 US5640393A (en) | 1995-06-02 | 1995-06-02 | Multiple address security architecture |
US08/460319 | 1995-06-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990021932A KR19990021932A (ko) | 1999-03-25 |
KR100442763B1 true KR100442763B1 (ko) | 2004-10-22 |
Family
ID=23828231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970708407A KR100442763B1 (ko) | 1995-06-02 | 1996-04-04 | 다중어드레스보안아키텍처 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5640393A (ko) |
EP (1) | EP0830762A1 (ko) |
JP (1) | JPH11509382A (ko) |
KR (1) | KR100442763B1 (ko) |
WO (1) | WO1996038949A1 (ko) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5748736A (en) * | 1996-06-14 | 1998-05-05 | Mittra; Suvo | System and method for secure group communications via multicast or broadcast |
US6269098B1 (en) * | 1997-02-14 | 2001-07-31 | Advanced Micro Devices, Inc. | Method and apparatus for scaling number of virtual lans in a switch using an indexing scheme |
GB9704060D0 (en) * | 1997-02-27 | 1997-04-16 | 3Com Ireland | Multicast filtering |
US6134240A (en) * | 1997-09-10 | 2000-10-17 | Voloshin; Moshe | Chip address allocation through a serial data ring on a stackable repeater |
US6298406B1 (en) | 1997-10-24 | 2001-10-02 | Sony Corporation | Method of and apparatus for detecting direction of reception of bus packets and controlling direction of transmission of bus packets within an IEEE 1394 serial bus node |
GB2333676B (en) * | 1997-11-28 | 2001-12-12 | 3Com Technologies Ltd | Network security |
BR0016088B1 (pt) | 1999-12-01 | 2010-11-30 | método e instalação para produzir tipos de pneu que são mutuamente diferentes. | |
GB2358761B (en) * | 2000-01-25 | 2002-03-13 | 3Com Corp | Multi-port network communication device with selective mac address filtering |
GB0113901D0 (en) * | 2001-06-07 | 2001-08-01 | Nokia Corp | Security in area networks |
US7274699B2 (en) * | 2002-09-20 | 2007-09-25 | Caterpillar Inc | Method for setting masks for message filtering |
US7738385B2 (en) * | 2004-11-30 | 2010-06-15 | Broadcom Corporation | Mirroring of data in a network device |
US7711949B2 (en) * | 2006-11-30 | 2010-05-04 | Texas Instruments Incorporated | Apparatus and method for frustrating unwanted access to data with a host device |
US20170270062A1 (en) * | 2016-03-21 | 2017-09-21 | Intel Corporation | In-band retimer register access |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5177788A (en) * | 1991-10-15 | 1993-01-05 | Ungermann-Bass, Inc. | Network message security method and apparatus |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8927623D0 (en) * | 1989-12-06 | 1990-02-07 | Bicc Plc | Repeaters for secure local area networks |
US5265123A (en) * | 1990-02-15 | 1993-11-23 | Advanced Micro Devices, Inc. | Expandable repeater |
GB9107031D0 (en) * | 1991-04-04 | 1991-05-22 | Bicc Plc | Repeaters for digital data networks |
US5353353A (en) * | 1993-04-26 | 1994-10-04 | Advanced Micro Devices, Inc. | Repeater security system |
US5394402A (en) * | 1993-06-17 | 1995-02-28 | Ascom Timeplex Trading Ag | Hub for segmented virtual local area network with shared media access |
-
1995
- 1995-06-02 US US08/460,319 patent/US5640393A/en not_active Expired - Lifetime
-
1996
- 1996-04-04 WO PCT/US1996/004663 patent/WO1996038949A1/en active IP Right Grant
- 1996-04-04 JP JP8536446A patent/JPH11509382A/ja active Pending
- 1996-04-04 EP EP96911584A patent/EP0830762A1/en not_active Withdrawn
- 1996-04-04 KR KR1019970708407A patent/KR100442763B1/ko not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5177788A (en) * | 1991-10-15 | 1993-01-05 | Ungermann-Bass, Inc. | Network message security method and apparatus |
Also Published As
Publication number | Publication date |
---|---|
EP0830762A1 (en) | 1998-03-25 |
JPH11509382A (ja) | 1999-08-17 |
WO1996038949A1 (en) | 1996-12-05 |
US5640393A (en) | 1997-06-17 |
KR19990021932A (ko) | 1999-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5850515A (en) | Intrusion control in repeater based networks | |
US5539737A (en) | Programmable disrupt of multicast packets for secure networks | |
US5353353A (en) | Repeater security system | |
KR100442763B1 (ko) | 다중어드레스보안아키텍처 | |
US5414694A (en) | Address tracking over repeater based networks | |
US6236654B1 (en) | Method and apparatus for managing learning in an address table in memory | |
US5859837A (en) | Flow control method and apparatus for ethernet packet switched hub | |
US5550803A (en) | Method and system for increasing network information carried in a data packet via packet tagging | |
US5161192A (en) | Repeaters for secure local area networks | |
EP0469812A1 (en) | Detection of duplicate alias addresses | |
JPH114247A (ja) | ネットワークメディアと集積回路間の自己学習機能を有するブリッジデバイス及びこれに基づく方法 | |
WO1996021302A1 (en) | Programmable address mapping matrix for secure networks | |
US6205147B1 (en) | Virtual network architecture | |
US5654985A (en) | Address tracking over repeater based networks | |
US5590201A (en) | Programmable source address locking mechanism for secure networks | |
EP0815672B1 (en) | Inverse packet disruption secure networks | |
US5754525A (en) | Programmable delay of disrupt for secure networks | |
JPH0548614A (ja) | ハブ装置 | |
EP0668680B1 (en) | Address tracking over repeater based networks | |
US6839360B2 (en) | FIFO storage including pointer misalignment detection | |
KR0132961B1 (ko) | 다중및그룹방송이가능한고속다채널메시지교환장치 | |
JPH04304733A (ja) | 閉域接続用監視ノード |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
N231 | Notification of change of applicant | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20100629 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |