KR101989586B1 - 이더넷 네트워크들에 대한 보안 검출을 이용하는 지능형 phy - Google Patents

이더넷 네트워크들에 대한 보안 검출을 이용하는 지능형 phy Download PDF

Info

Publication number
KR101989586B1
KR101989586B1 KR1020147004063A KR20147004063A KR101989586B1 KR 101989586 B1 KR101989586 B1 KR 101989586B1 KR 1020147004063 A KR1020147004063 A KR 1020147004063A KR 20147004063 A KR20147004063 A KR 20147004063A KR 101989586 B1 KR101989586 B1 KR 101989586B1
Authority
KR
South Korea
Prior art keywords
packets
module
physical layer
control module
memory
Prior art date
Application number
KR1020147004063A
Other languages
English (en)
Other versions
KR20140048284A (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 마벨 월드 트레이드 리미티드
Publication of KR20140048284A publication Critical patent/KR20140048284A/ko
Application granted granted Critical
Publication of KR101989586B1 publication Critical patent/KR101989586B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • 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/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access
    • H04L12/2869Operational details of access network equipments
    • H04L12/2878Access multiplexer, e.g. DSLAM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/162Implementing security features at a particular protocol layer at the data link layer

Abstract

물리층 디바이스가 메모리, 메모리 제어 모듈 및 물리층 모듈을 포함한다. 상기 메모리 제어 모듈은 상기 메모리로의 액세스를 제어하도록 구성된다. 상기 물리층 모듈은 상기 메모리 제어 모듈을 통해 상기 메모리에 패킷들을 저장하도록 구성된다. 상기 물리층 모듈은 네트워크 및 인터페이스 버스를 통해 네트워크 디바이스로부터 상기 패킷들을 수신하도록 구성된 인터페이스를 포함한다. 상기 인터페이스 버스는 제어 모듈 및 정규 표현식 모듈 중 적어도 하나를 포함한다. 상기 제어 모듈 및 정규 표현식 모듈 중 적어도 하나는 상기 패킷들의 보안 레벨을 결정하기 위해 상기 패킷들을 검사하도록 구성된다. 네트워크 인터페이스는 상기 보안 레벨에 근거하여, 상기 물리층 디바이스와 별개인 디바이스에 상기 패킷들을 제공하도록 구성된다.

Description

이더넷 네트워크들에 대한 보안 검출을 이용하는 지능형 PHY{INTELLIGENT PHY WITH SECURITY DETECTION FOR ETHERNET NETWORKS}
[관련 출원의 상호 참조]
본 출원은 2012년 8월 10일자로 출원된 미국 출원 제13/571,870호의 우선권을 주장하고, 또한 2011년 8월 10일자로 출원된 미국 가출원 제61/522,158호, 2011년 9월 12일자로 출원된 미국 가출원 제61/533,436호, 및 2011년 10월 21일자로 출원된 미국 가출원 제61/550,315호의 이익을 주장한다. 상기 출원들의 내용은 그 전체가 본 명세서에 참조로서 포함된다.
[기술분야]
본 발명은 네트워크 디바이스들 내의 보안 검출 시스템들에 관한 것이다.
본 명세서에서 제공되는 배경 설명은 본 발명의 배경을 개괄적으로 제시하기 위한 것이다. 본 배경기술란에서 기술되는 정도의 본 발명의 발명자들의 연구와, 그렇지 않을 경우 출원 시점에 종래기술로서 볼 수 없는 본 발명의 양상들은, 본 발명에 대해 명시적으로나 암시적으로도 종래기술로서 인정되는 것은 아니다.
액세스 네트워크들은 둘 이상의 네트워크 디바이스들 사이 및/또는 네트워크 디바이스와 인터넷 사이에 연결들을 제공한다. 상기 네트워크 디바이스들은 예컨대, 사용자 디바이스들, 주변 디바이스들 및 데이터 스토리지 디바이스들을 포함할 수 있다. 상기 디바이스들은 하나 이상의 네트워크들에 위치될 수 있다. 상기 연결들은 디바이스들 사이 및/또는 디바이스들과 인터넷 사이에서 신호들을 업링크(uplink) 및/또는 다운링크(downlink)하도록 확립된다.
일례로, 이더넷-기반의(ethernet-based) 액세스 네트워크는 액세스 샤시(access chassis)를 포함할 수 있다. 액세스 샤시는 네트워크 디바이스들 사이 및/또는 네트워크 디바이스들과 인터넷 사이에 연결들을 제공한다. 액세스 샤시는 예컨대, 페브릭 카드들(예컨대, 2개의 페브릭 카드들) 및 라인 카드들(예컨대, 16개의 라인 카드들)을 포함할 수 있다. 페브릭 카드들의 각각은 라인 카드들의 각각에 연결될 수 있다. 상기 라인 카드들은 이더넷 네트워크를 통해 네트워크 디바이스들에 연결된다. 하나 이상의 라인 카드들의 미리 결정된 포트들 또는 업링크 포트들은 인터넷에 연결될 수 있다. 페브릭 카드들은 상기 라인 카드들 사이에 연결들을 제공한다. 상기 라인 카드들은 네트워크 디바이스들과 상기 페브릭 카드들 사이 및/또는 상기 페브릭 카드들과 인터넷 사이에 연결들을 제공한다.
페브릭 카드들의 각각은 전형적으로, 통합 스위치(aggregation switch) 및 중앙 제어 모듈을 포함한다. 상기 통합 스위치는 예컨대, a) 제1 라인 카드에 연결된 제1 사용자 디바이스로부터 b) 제2 라인 카드에 연결된 제2 사용자 디바이스 또는 인터넷으로 신호들을 라우팅하도록 라인 카드들 사이에 연결들을 제공한다. 중앙 제어 모듈은 라인 카드들 사이의 연결들의 상태들 및 패킷들의 전달을 제어한다. 라인 카드들의 각각은 전형적으로, 액세스 스위치 및 복수의 PHY 디바이스들(예컨대, 6개의 PHY 디바이스들)을 포함한다. 상기 PHY 디바이스들의 각각은 하나 이상의 PHY 모듈들을 포함한다. 액세스 스위치는 페브릭 카드 상에 위치된 통합 스위치와 PHY 모듈들과의 사이에 연결들을 제공한다.
물리층 디바이스가 제공되며, 메모리, 메모리 제어 모듈 및 물리층 모듈을 포함한다. 상기 메모리 제어 모듈은 상기 메모리로의 액세스를 제어하도록 구성된다. 상기 물리층 모듈은 상기 메모리 제어 모듈을 통해 상기 메모리에 패킷들을 저장하도록 구성된다. 상기 물리층 모듈은 네트워크 및 인터페이스 버스를 통해 네트워크 디바이스로부터 상기 패킷들을 수신하도록 구성된 인터페이스를 포함한다. 상기 인터페이스 버스는 제어 모듈 및 정규 표현식 모듈(regular expression module) 중 적어도 하나를 포함한다. 상기 제어 모듈 및 정규 표현식 모듈 중 적어도 하나는 패킷들의 보안 레벨을 결정하기 위해 상기 패킷들을 검사하도록 구성된다. 네트워크 인터페이스는 보안 레벨에 근거하여, 물리층 디바이스와 별개인 디바이스에 패킷들을 제공하도록 구성된다.
다른 특징들에서, 방법이 제공되며, 물리층 모듈의 인터페이스에서 네트워크를 통해 네트워크 디바이스로부터 패킷들을 수신하는 단계를 포함한다. 상기 패킷들은 메모리에 상기 패킷들을 저장하도록 물리층 디바이스로부터 메모리 제어 모듈에 전달된다. 상기 물리층 디바이스는 물리층 모듈을 포함한다. 상기 물리층 모듈은 인터페이스 버스를 포함한다. 상기 패킷들은 제어 모듈 및 정규 표현식 모듈 중 적어도 하나를 통해 패킷들의 보안 레벨을 결정하도록 검사된다. 인터페이스 버스는 상기 제어 모듈 및 정규 표현식 모듈 중 적어도 하나를 포함한다. 보안 레벨에 근거하여, 상기 패킷들은 물리층 인터페이스를 통해 물리층 디바이스와 별개인 디바이스에 제공된다.
다른 특징들에서, 일 물리층 디바이스가 또한 제공되며, 메모리 인터페이스, 메모리 제어 모듈, 물리층 모듈 및 제2 네트워크 인터페이스를 포함한다. 상기 메모리 인터페이스는 상기 메모리에 연결된다. 상기 메모리 제어 모듈은 상기 메모리로의 액세스를 제어하도록 구성된다. 상기 물리층 모듈은 제1 네트워크 인터페이스에서 네트워크를 통해 네트워크 디바이스로부터 패킷들을 수신하고 상기 메모리 제어 모듈을 통해 상기 메모리에 상기 패킷들을 저장하도록 구성된다. 상기 물리층 모듈은 상기 메모리와 별개이다. 상기 제2 네트워크 인터페이스는 상기 물리층 디바이스 및 상기 메모리와 별개인 디바이스에 상기 패킷들을 제공하도록 구성된다.
본 발명의 응용의 추가 영역들이 상세한 설명, 특허 청구 범위 및 도면들로부터 분명해질 것이다. 상세한 설명 및 특정한 예들은 예시만을 위해 의도된 것이며, 본 발명의 범위를 제한하고자 의도된 것이 아니다.
본 발명은 상세한 설명 및 첨부된 도면들로부터 더욱 완전히 이해될 것이다.
도 1은 본 발명에 따른 액세스 샤시를 포함하는 액세스 네트워크의 기능 블록도이다.
도 2는 도 1의 액세스 샤시의 부분의 기능 블록도이다.
도 3은 본 발명에 따른 PHY 디바이스들을 포함하는 다른 액세스 네트워크의 기능 블록도이다.
도 4는 본 발명에 따른 PHY 디바이스의 기능 블록도이다.
도 5는 본 발명에 따른 다중-레벨 보안 검출을 제공하는 PHY 모듈의 진입 부분의 기능 블록도이다.
도 6은 본 발명에 따른 네트워크 인터페이스의 기능 블록도이다.
도 7은 본 발명에 따른 보안 검출 방법을 포함하는 네트워크 액세스 방법을 예시한다.
액세스 네트워크는 페브릭 카드들 및 라인 카드들을 가진 액세스 샤시를 포함할 수 있다. 상기 페브릭 카드들은 통합 스위치 및 중앙 제어 모듈을 각각 포함할 수 있다. 라인 카드들은 액세스 스위치 및 복수의 PHY 디바이스들을 각각 포함할 수 있다. 페브릭 카드들의 각각이 중앙 제어 모듈 및 통합 스위치를 포함하고 라인 카드들의 각각이 액세스 스위치를 포함하기 때문에, 액세스 샤시와 관련된 제어면(control plane)은 복잡하다(complex). 상기 라인 카드들은 액세스 스위치의 포함 및 동작으로 인해 고 비용 및/또는 고-전력 카드들로 나타내질 수 있다. 액세스 샤시는, 제어 별 업그레이드(control specific upgrade)(예컨대, 스위치 연결들을 제공하는 방식을 변경하도록 업그레이드)를 수행하기 위해서 라인 카드들의 각각이 교체될 필요가 있음에 따라 업그레이드가 제한적일 수 있다.
다음의 예들에서, 복수의 액세스 네트워크들이 제공된다. 제1 액세스 네트워크는 도 1 내지 2에 개시되고, 액세스 스위치들을 포함하지 않는 라인 카드들을 포함한다. 라인 카드들 사이, 네트워크 디바이스들 사이, 그리고 네트워크 디바이스와 인터넷 사이의 스위칭이 페브릭 카드들을 통해 제공된다. 그 결과, 라인 카드들은 저 비용 및/또는 저-전력 라인 카드들로 나타내질 수 있다. 라인 카드들은 DPI(deep packet inspection)를 수행하도록 구성될 수 있는 PHY 모듈들을 포함한다. DPI는 패킷이 유효 패킷인지 무효 패킷인지 결정하도록 하는 패킷들의 검사를 포함한다. 패킷은, 상기 패킷이 부정확한 포맷을 가지는 경우, 어택(attack) 및/또는 바이러스와 관련된 패턴을 포함하는 경우, 부적절한 값(들)을 가지는 경우, 스팸(spam)을 포함하는 경우, 보안 위협을 도입하는 경우, 그리고/또는 미리 정의된 기준을 만족시키지 못하는 경우, 무효 패킷일 수 있다. DPI는 하나 이상의 패킷들의 헤더들 및/또는 페이로드의 검사를 포함할 수 있다. 헤더들은 예컨대, 인터넷 프로토콜(IP) 헤더, 전송 제어 프로토콜(TCP), 사용자 데이터그램 프로토콜(UDP) 및/또는 다른 헤더들을 포함할 수 있다.
라인 카드들이 액세스 스위치들을 포함하지 않고, 페브릭 카드들이 라인 카드들, 네트워크 디바이스들 및 인터넷에 대한 액세스, 통합 및 스위칭 기능을 제어하기 때문에, 액세스 네트워크 샤시는 쉽게 업그레이드가능하다. 업그레이드 동안, 제어 로직, 소프트웨어 및/또는 하드웨어는 변경 및/또는 교체될 수 있다. 액세스 네트워크는 단순히, 페브릭 카드들 중 하나 이상을 교체하고 라인 카드들을 교체하지 않음으로써 업그레이드될 수 있다. 추가적으로, 액세스 네트워크와 관련된 제어면의 복잡도가 감소되는 바, 그 이유는 연결들의 스위칭이 다수의 라인 카드들 및 페브릭 카드들에서 수행되는 것과 반대로 하나 이상의 집중화된 위치들에서 수행되기 때문이다. 도 1 내지 2의 액세스 네트워크 및 다른 예시적 액세스 네트워크들 그리고 관련 특징들은 하기에 기술된다.
도 1에서, 액세스 네트워크(10)가 도시된다. 예로서, 액세스 네트워크(10)는 어플리케이션-인지 네트워크(application-aware network)일 수 있다. 어플리케이션-인지 네트워크는 어플리케이션 별 요건들에 대한 네트워크 응답성을 최대화하도록 어플리케이션들 및 서비스들과 직접적으로 협동(cooperate)하는 네트워크이다. 어플리케이션-인지 네트워크에서의 모듈들은 네트워크 내의 서로 다른 포인트들에서 호출될 방법들을 포함하는 객체(object)들을 전할 수 있다. 스위치들 및 프로세싱 디바이스들의 어플리케이션 별 프로그래밍은 방법들에 따라 수행된다. 모듈들은 어플리케이션 별 요건들을 충족시키도록 맞춤화된 연산(ustomized computation)들 및 자원 관리를 수행한다. 어플리케이션-인지 네트워크는 사유 네트워크(proprietary network)들 및/또는 로컬 영역 네트워크(LAN)들의 보안을 관리하는 데 사용될 수 있다.
액세스 네트워크(10)는 액세스 샤시(12), 네트워크(14), 인터넷(16) 및 네트워크 디바이스들(18)(p개의 네트워크 디바이스가 도시됨)을 포함할 수 있다. 상기 액세스 샤시(12)는 네트워크(14)를 통해 네트워크 디바이스들(18)에 연결된다. 네트워크(14)는 예컨대, 이더넷 네트워크일 수 있다. 액세스 샤시(12)는 네트워크 디바이스들(18) 사이 및/또는 네트워크 디바이스들(18)과 인터넷(16) 사이에서 신호들을 라우팅한다. 네트워크 디바이스(18)는 사용자 디바이스들, 주변 디바이스들 및/또는 데이터 스토리지 디바이스들을 포함할 수 있다. 사용자 디바이스들은 컴퓨터들, 셀룰러 폰들, 셋 톱 박스들, 텔레비전들 등을 포함할 수 있다.
액세스 샤시(12)는 하나 이상의 페브릭 카드들(20)(2개가 도시된다) 및 하나 이상의 라인 카드들(22)(n개가 도시된다)을 포함한다. 라인 카드들(22)은 PHY 디바이스들(24)을 포함한다. PHY 디바이스의 예는 도 4에 도시된다. 도시된 예에서, 라인 카드들(22)의 각각은 m개의 PHY 디바이스들을 포함한다. 예로서, 액세스 샤시(12)는 48개의 라인 카드들을 포함할 수 있고, 상기 라인 카드들의 각각은 하나 이상의 PHY 디바이스들(예컨대, 6개의 PHY 디바이스들)을 포함한다. 페브릭 카드들(20)의 각각은 라인 카드들(22) 사이, 동일한 라인 카드 상의 PHY 디바이스들(24) 사이 및/또는 라인 카드들(22) 중 서로 다른 라인 카드들 상의 PHY 디바이스들 사이에 연결들을 제공하는 통합 스위치(26)를 포함한다.
이제, 도 2를 또한 참조하면, 액세스 샤시(12)의 부분(30)이 도시된다. 상기 부분(30)은 페브릭 카드들(20) 중 ((32)로 지정된) 일 페브릭 카드 및 라인 카드들(22) 중 ((34)로 지정된) 일 라인 카드를 포함한다. 페브릭 카드들(20)의 각각은 중앙 제어 모듈(36), (도 2에 (38)로 지정된) 통합 스위치 및 메모리 디바이스들(40)을 포함할 수 있다. 일 구현에서, 중앙 제어 모듈(36)은 통합 스위치(38)에 포함되지 않는다. 통합 스위치(38)는 라인 카드들(22) 상의 PHY 디바이스들(24) 간을 스위칭하고 집중화된 스위칭을 제공한다. 중앙 제어 모듈(36)은 통합 스위치(38)에서의 스위치들(42)의 상태들을 제어할 수 있다.
메모리 디바이스들(40)은 예컨대, DDR3(double data rate type 3) 동기식 랜덤 액세스 메모리(SRAM) 및/또는 동적 랜덤 액세스 메모리(DRAM)와 같은 다른 적절한 메모리를 각각 포함할 수 있다. 라인 카드들(22)의 각각은 PHY 디바이스들(24) 중 각각의 PHY 디바이스들을 포함하며(제1 라인 카드(34)의 예시적 PHY 디바이스들이 도 2에 (44)로 지정된다), 액세스 스위치를 포함하지 않는다. 액세스 스위치는, 라인 카드 상에 위치되고 액세스 샤시의 라인 카드와 페브릭 카드 사이에 연결들을 제공하도록 구성된 스위치를 나타낸다.
PHY 디바이스들(44)은 집중화된 스위칭을 할 수 있다. 스위칭은 PHY 디바이스들(44)에서 수행되는 것이 아니라, 페브릭 카드들(20)에서 수행된다. PHY 디바이스들(44)은 페브릭 카드들(44)에 수신된 패킷들을 포워딩해서, 그 다음, 예상된 또는 본래 선택된 목적지들에 포워딩되도록 한다. PHY 디바이스들(44)의 각각은 DPI를 수행할 수 있다. 이는 액세스 네트워크(30)의 에지(edge)에서 DPI를 제공한다. 액세스 네트워크의 에지는 액세스 샤시(32)와 네트워크(14) 사이의 경계(boundary) 및/또는 액세스 샤시(32)와 네트워크 디바이스들(18)과의 사이의 경계를 나타낼 수 있다. DPI는, PHY 디바이스들(44) 중 일 PHY 디바이스의 PHY 모듈이 패킷이 유효 패킷인지 무효 패킷인지 결정할 수 없을 때 중앙 제어 모듈(36)에 패킷들을 보내는 것을 포함할 수 있다. 예로서, 패킷은 검사를 위해 통합 스위치(38)를 통해 PHY 모듈로부터 중앙 제어 모듈(36)로 포워딩 될 수 있다. 중앙 제어 모듈(36)은 상기 패킷의 유효성을 결정하도록 상기 패킷을 검사하고 그 다음, 검사의 결과들에 근거하여, 제1 패킷과 유사한 패킷들을 드롭(즉, 상기 패킷과 유사한 패킷들의 추가 전송을 삭제 및/또는 방지)시키거나 또는 포워딩하도록 PHY 모듈에 명령할 수 있다. 무효 패킷은 드롭될 수 있는 반면, 유효 패킷은 포워딩될 수 있다. 유사한 패킷들은 동일한 포맷, 소스 어드레스, 목적지 어드레스 및/또는 다른 패킷 파라미터들 및/또는 필드들을 가진 패킷들을 나타낼 수 있다.
PHY 모듈은 진입 패킷들을 검사하고, 통합 스위치(38) 쪽으로 상기 진입 패킷들을 포워딩하며, 추가의 검사를 위해 중앙 제어 모듈(36)로 상기 진입 패킷들을 터널링하고, 그리고/또는 상기 진입 패킷들 중 무효의 또는 안전하지 않은 패킷들을 드롭시킬 수 있다. 패킷 검사 동안, PHY 디바이스들(44)의 PHY 하드웨어는 진입 패킷들을 유효 패킷들, 추가의 로컬화된 검사가 수행될 패킷들, 집중화된 검사가 수행될 패킷들 또는 무효 패킷들로서 식별한다. 로컬화된 검사는 PHY 디바이스들(44) 내에서 수행되는 검사 및/또는 PHY 디바이스들(44) 내의 모듈들에 의해 수행되는 검사를 나타낸다. 집중화된 검사는 PHY 디바이스들(44) 외부에서 수행되는 검사 및 예컨대, 중앙 제어 모듈(36)에서 수행되는 검사를 나타낸다. 유효 패킷은 안전하고 정확하다(하나 이상의 에러들을 가지지 않는다)고 빠르게 (미리 결정된 주기 내에) 그리고/또는 분명하게 결정된 그리고/또는 적절한 포맷, 서명(signature) 및/또는 패턴을 가지는 패킷을 나타낼 수 있다. 일례로, 특별한 로컬 소스로부터 수신된 패킷은 소스의 수신된 어드레스에 근거하여 유효하다고 결정될 수 있다.
추가의 집중화된 검사가 수행될 패킷은, 관련 PHY 디바이스의 PHY 하드웨어 및/또는 모듈에 의해 검사되었지만 유효 패킷이라고 빠르게 그리고/또는 명확하게 결정되지 않은 패킷을 나타낼 수 있다. 이러한 패킷은 하나 이상의 에러들, 알려지지 않은 포맷을 가지거나, 의심스러운 컨텐트를 포함하거나 또는 로컬 네트워크의 외부의 원격 소스로부터 온 것일 수 있다. 이러한 이유로, 패킷은 중앙 제어 모듈(36)에 의해 추가로 검사될 수 있다.
터널링 패킷은, PHY 디바이스 및/또는 PHY 디바이스의 모듈에 인식가능하지 않고, PHY 디바이스 및/또는 PHY 디바이스의 모듈에 의해 검사되었으며, 그리고/또는 PHY 디바이스 및/또는 PHY 디바이스의 모듈이 패킷이 유효 패킷인지 무효 패킷인지 결정할 수 없는 패킷을 나타낸다. 상기 터널링 패킷은 PHY 디바이스 및/또는 PHY 디바이스의 모듈에 의해 검사되지 않을 수 있고, 단순히 중앙 제어 모듈(36)에 포워딩될 수 있다. 무효 패킷은 검사를 통해 무효로 결정되는 패킷이다. 상기 무효 패킷은 부적절한 포맷, 서명, 패턴 및/또는 값들을 가질 수 있다. 패킷이 PHY 디바이스 및/또는 PHY 디바이스의 모듈에 의해 무효로 결정되면, 상기 패킷은 드롭되고, 삭제되며, 액세스 샤시 내의 디바이스 또는 모듈에 포워딩되는 것이 방지될 수 있고 그리고/또는 페브릭 카드들(20) 중 하나에 포워딩되지 않을 수 있다. 터널링 패킷들 및 추가의 로걸화된 검사가 수행될 패킷들은 의심스러운 패킷들로 나타내질 수 있다.
PHY 디바이스들(24, 44)의 각각은 페브릭 카드들(20)의 각각으로의 통신 링크를 포함할 수 있다. 도 2에서, FC1은 페브릭 카드1을 나타낸다. FC2는 페브릭 카드2를 나타낸다. 통신 링크들 FC1, FC2의 각각의 서브스크립트들은 PHY 디바이스들(44) 중 하나를 나타낸다. 예를 들어, FC11은 페브릭 카드1과 PHY 디바이스1 사이의 통신 링크들을 나타낸다. 두 개의 통신 링크들이 로드 밸런싱 및/또는 인터페이스 리던던시(interface redundancy)를 위해 제공된다. 로드 밸런싱은 동일한 시간 주기 동안 둘 이상의 링크들에 걸쳐 동일한 양의 데이터를 전송하는 것을 포함할 수 있다. 인터페이스 리던던시는 둘 이상의 인터페이스들(또는 통신 링크들)을 포함하는 것을 나타낼 수 있고, 인터페이스들 중 하나 이상은 일 인터페이스가 동작불가능하거나 이용불가능한 경우의 백업(backup)으로 제공된다.
메모리 디바이스들(40)은 명령들, 코드, 룰들, 테이블들 및/또는 패킷 데이터를 저장하는 데 사용될 수 있다. 상기 명령들, 코드, 룰들 및/또는 테이블들은 DPI를 수행할 때 그리고/또는 스위치들(42)의 상태들을 제어할 때, 중앙 제어 모듈(36), 통합 스위치(38) 및/또는 PHY 디바이스들(44)에 의해 사용될 수 있다. 메모리 디바이스들(40)은 검사되는 패킷들, 검사되도록 선택된 패킷들의 복사본들 및/또는 포워딩, 업링크 및/또는 다운링크될 패킷들을 저장하는 데 사용될 수 있다. 패킷은 상기 패킷이 액세스 샤시(12)를 통해 네트워크 디바이스들(18) 중 하나로부터 인터넷(16)으로 포워딩될 때 업링크된다. 패킷은 상기 패킷이 액세스 샤시(12)를 통해 인터넷(16)으로부터 네트워크 디바이스들(18) 중 하나로 포워딩될 때 다운링크된다.
도 3에서, 다른 액세스 네트워크(50)가 도시된다. 예로서, 액세스 네트워크(50)는 어플리케이션-인지 네트워크일 수 있고, 하나 이상의 액세스 샤시(52)(m개가 도시된다), 네트워크(14), 인터넷(16) 및 네트워크 디바이스들(18)을 포함한다. 액세스 샤시(52)는 라우터들, 스위치들, 컴퓨터들, 서버들 또는 다른 적절한 액세스 디바이스들을 포함할 수 있다. 액세스 샤시(52)의 각각은 라인 카드(54)를 포함한다. 라인 카드들(54)의 각각은 하나 이상의 PHY 디바이스들(56)을 포함한다. PHY 디바이스의 예가 도 4에 도시된다. PHY 디바이스들(56)의 각각은 하나 이상의 PHY 모듈들을 포함한다. 예시적인 PHY 모듈들은 도 4에 도시된다. PHY 디바이스들(56)은 네트워크(14)를 통해 네트워크 디바이스들(18)과 통신한다.
액세스 샤시(52)는 서로 간의 연결, 동일한 액세스 샤시의 PHY 디바이스들 사이의 연결, 서로 다른 액세스 샤시의 PHY 디바이스들 사이의 연결 및/또는 PHY 디바이스들과 인터넷(16)과의 사이의 연결을 제공할 수 있다. 그렇게 함으로써, 액세스 샤시(52)는 네트워크 디바이스들(18) 사이 및/또는 네트워크 디바이스들(18)과 인터넷(16)과의 사이의 연결들을 제공할 수 있다.
액세스 네트워크(50)는 또한, 중앙 네트워크 디바이스(60)를 포함할 수 있다. 상기 중앙 네트워크 디바이스(60)는 DPI를 수행하도록 그리고/또는 액세스 샤시(52)에 의해 식별할 수 없는 (터널링 패킷들로 나타내진) 패킷들을 검사하도록 액세스 샤시(52)를 제어하는 데 사용될 수 있다. 터널링 패킷은 액세스 샤시, PHY 디바이스 및/또는 PHY 디바이스의 모듈에 의해 유효 또는 뮤효로 결정될 수 없는 패킷일 수 있다.
중앙 네트워크 디바이스(60)는 액세스 샤시(52)로부터 원격인 네트워크에 위치될 수 있고 그리고/또는 액세스 샤시(52)의 로컬 네트워크에 위치될 수 있다. 중앙 네트워크 디바이스(60)는 액세스 샤시(52) 중 하나 이상 내에 위치될 수 있다. 중앙 네트워크 디바이스(60) 및/또는 액세스 샤시(52) 중 하나 이상은 집합적으로는, 하나 이상의 서비스들을 네트워크 디바이스들(18)에 제공하는 서비스 제공자일 수 있다.
도 1 내지 3의 PHY 디바이스들(24, 44, 56) 및 PHY 디바이스들(24, 44, 56)의 모듈들은 예컨대, a) 네트워크(14) 또는 인터넷(16)과 b) 라인 카드들(22, 34) 및 액세스 샤시(52) 내의 MAC 디바이스들 및/또는 다른 고층 디바이스들과의 사이에 위치되고 그리고/또는 연결될 수 있다. PHY 디바이스들(24, 44, 56)은 라인 카드들(22, 34) 및 액세스 샤시(52)의 물리층 내의 디바이스들을 나타낼 수 있다.
도 4를 또한 참조하면, PHY 디바이스(100)가 도시된다. PHY 디바이스(100)는 네트워크들 사이의 보안 방화벽을 제공하는 데 사용되고, 제로 데이 어택 차단( zero-day attack prevention)을 위해 사용되며, 액세스 기업 네트워크들 등에 사용될 수 있다. PHY 디바이스(100)는 PHY 패키지 내의 방화벽으로 나타내질 수 있다. PHY 디바이스(100)는 PHY 층에 걸칠 뿐만 아니라 복수의 ISO(International Organization for Standardization) 및 OSI(open systems interconnection) 층들에 걸쳐 동작하는 방화벽을 기능적으로 제공할 수 있다. 방화벽 기능은 PHY 층들 및 PHY 층들보다 높은 층들(예컨대, MAC 층들)에 걸쳐 제공된다. 제로 데이 어택은 컴퓨터 어플리케이션에서 이전에 알려지지 않은 취약점을 악용하는 어택이다. 제로 데이 어택은 취약점을 알게된 "그 당시"(day zero of awareness)에 발생된다. 이는 취약점을 해결하거나 패치하기 위해 0일이 지났음을 의미한다. 제로 데이 어택은 어택을 실행하는 데 보안 허점(hole)을 사용하는 소프트웨어를 악용한다. 제로 데이 어택 차단은 제로 데이 어택을 차단하는 것을 나타낸다. 이는 바이러스 또는 웜(worm)과 관련된 패킷들과 같은 무효 패킷들이 퍼지는 것(즉, 네트워크를 따라 추가로 패스되는 것)을 차단함을 포함할 수 있다. 이는 상기 어택의 검출 시 무효 패킷들을 드롭(또는 삭제)시키는 것을 포함한다. 상기 패킷들의 검출 및 드롭은 PHY 디바이스(100) 및/또는 PHY 디바이스(100)의 디바이스들 및/또는 모듈들 중 하나에 의해 수행될 수 있다.
액세스 기업 네트워크에서, PHY 디바이스(100) 및/또는 PHY 디바이스들(100)의 하나 이상의 디바이스들 및/또는 모듈들은 네트워크 디바이스들이 인터넷(16)에 액세스하는 것을 방지하고, 인터넷(16)으로의 제한된 액세스를 제공하는 데 사용될 수 있다. PHY 디바이스(100)의 예시적 디바이스들 및 모듈들이 하기에 기술된다.
PHY 디바이스(100)는 (PHY 채널들로 나타내질 수 있는) PHY 모듈들(102), 메모리 제어 모듈(104), PHY 메모리(106) 및 (페브릭 인터페이스로 나타내질 수 있는) 네트워크 인터페이스(108)를 포함한다. PHY 디바이스(100)는 PHY 모듈들(102)을 통해 네트워크(14)와 통신하고, 예컨대, 네트워크 인터페이스(108)를 통해 통합 스위치(예컨대, 통합 스위치(38)) 또는 중앙 네트워크 디바이스(예컨대, 중앙 네트워크 디바이스(60))와 통신한다. 통합 스위치 및 중앙 네트워크 디바이스는 도 4에 액세스 디바이스(112)로 도시된다. 통합 스위치는 PHY 모듈들(102) 사이 그리고/또는 서로 다른 PHY 디바이스들의 PHY 모듈들 사이에서 패킷들을 라우팅하도록 하는 스위칭을 제공할 수 있다.
PHY 모듈들(102)의 각각은 MDI(media dependent interface)(114)(또는 제1 네트워크 인터페이스), 진입 모듈들(116), 인터페이스 버스(118) 및 출구 모듈들(120)을 포함할 수 있다. MDI들(114)은 네트워크(14)를 통해 예컨대, 하나 이상의 네트워크 디바이스들로부터 패킷들을 수신하고, 진입 모듈들(116)에 상기 패킷들을 포워딩한다. MDI들(114)은 또한, 출구 모듈들(120)로부터 패킷들을 수신하고, 네트워크(14)를 통해 예컨대, 상기 네트워크 디바이스들에 상기 패킷들을 전송한다. 일 구현에서, MDI들(114)의 각각은 연선 쌍(twisted wire pair)에 연결된다. 도시된 구현에서, PHY 디바이스(100)는 8개의 MDI들 또는 다른 적절한 인터페이스(들)를 포함한다.
인터페이스 버스(118) 외의 진입 모듈들(116), 출구 모듈들(120) 및/또는 각각의 PHY 모듈들(102)의 다른 모듈들 및/또는 디바이스들은 집합적으로는, PHY 하드웨어로 나타내질 수 있다. 진입 모듈들(116)은 진입 정규 표현식(RegEx) 모듈(116-1), 진입 파싱 모듈(116-2), 제1 수신 모듈(116-3), 수신 선입선출(FIFO) 모듈(116-4) 및 제1 전송 모듈(116-5)을 포함할 수 있다. PHY 모듈들(102)은 진입 모듈들(116) 중 하나 이상을 포함하지 않을 수 있다. 진입 RegEx 모듈(116-1)은 포함될 때, 패킷들을 검사하도록 RegEx 프로세스를 수행한다. 상기 RegEx 프로세스는 미리 결정된 데이터의 문자들, 단어들, 서명들 또는 패턴들과 데이터의 문자들, 단어들, 서명들 또는 패턴들을 비교하는 것을 포함한다. 상기 RegEx 프로세스는 DPI 프로세스의 부분으로 수행될 수 있다. 진입 RegEx 프로세스는 유효 또는 무효한 패킷들을 빠르게 식별하도록 수행될 수 있다.
진입 파싱 모듈(116-2)은 무효 패킷들을 폐기할 수 있고, 유효 패킷들 및/또는 유효 패킷들의 헤더들을 인터페이스 버스(118) 및 제1 수신 모듈(116-3)에 포워딩할 수 있다. 제1 수신 모듈(116-3)은 DMA(direct memory access) 디바이스이며, PHY 메모리(106) 및/또는 인터페이스 버스(118)의 버스 메모리(130) 에 진입 파싱 모듈(116-2) 및/또는 인터페이스 버스(118)로부터 수신된 패킷들, 상기 패킷들의 부분들, 패킷 디스크립터들 및/또는 패킷 정보를 복사 및/또는 저장할 수 있다. 상기 인터페이스 버스(118)의 버스 제어 모듈(132)은 버스 메모리(130) 내의 데이터의 저장을 제어할 수 있다. PHY 메모리(106) 내의 저장은 메모리 제어 모듈(104)을 통해 수행될 수 있다. 패킷들의 부분들은 패킷들의 하나 이상의 헤더들 및/또는 페이로드들을 포함할 수 있다. 패킷 정보는 헤더들 내에 포함된 정보 및/또는 패킷의 검사 레벨, 소스 어드레스, 목적지 어드레스, 소스 ID, 목적지 ID, 프로토콜 ID, 패킷의 길이 등과 같은 다른 정보를 포함할 수 있다. 검사 레벨은 상기 패킷이 유효 패킷인지, 추가적인 검사가 버스 제어 모듈(132) 및/또는 버스 정규 표현식 모듈(134)에 의해 수행될 패킷인지, 중앙 제어 모듈(예컨대, 중앙 제어 모듈(62))에 터널링될 패킷인지 또는 드롭될 무효 패킷인지 나타낼 수 있다.
진입 파싱 모듈(116-2)은 또한, 패킷이 인터페이스 버스(118) 및/또는 버스 제어 모듈(132)에 의해 검사되어야 하는지 인터페이스 버스(118) 및/또는 버스 제어 모듈(132)에 나타낼 수 있다. 제1 수신 모듈(116-3)은 인터페이스 버스(118)로부터의 명령들에 근거하여, a) PHY 메모리(106)에 패킷들을 저장 및/또는 패킷들을 복사하고 그리고/또는 b) 수신 FIFO 모듈(116-4)에 패킷들을 포워딩할 수 있다.
수신 FIFO 모듈(116-4)은 포함될 때, 네트워크 인터페이스(108)(또는 제2 네트워크 인터페이스)에 포워딩될 패킷들을 저장한다. 버스 메모리(130) 및/또는 PHY 메모리(106)에 저장된 패킷, 패킷 디스크립터들 및/또는 패킷 정보는 인터페이스 버스(118)의 버스 제어 모듈(132) 및/또는 버스 RegEx 모듈(134)에 의한 검사를 위해 수신 FIFO 모듈(116-4)에 저장될 수 있다. 버스 제어 모듈(132) 및/또는 버스 RegEx 모듈(134)은 개별적으로 또는 집합적으로, 로컬 제어 모듈로 나타내질 수 있고, 패킷들의 로컬화된 검사를 수행할 수 있다.
제1 전송 모듈(116-5)은 또한, DMA 디바이스일 수 있으며, 수신 FIFO 모듈(116-4), PHY 메모리(106) 및/또는 인터페이스 버스(118)로부터 수신된 패킷들을 네트워크 인터페이스(108)에 전송한다. 제1 전송 모듈(116-5)은 인터페이스 버스(118) 및/또는 상기 인터페이스 버스(118)의 모듈들로부터 수신된 명령들에 근거하여, a) PHY 메모리(106)에 저장된 패킷들에 액세스하고 그리고/또는 b) 네트워크 인터페이스(108)에 패킷들을 포워딩할 수 있다. 상기 제1 전송 모듈(116-5)은 패킷이 통합 스위치 및/또는 중앙 제어 모듈에 의해 검사되어야 하는지 네트워크 인터페이스(108), 액세스 디바이스(112)에 나타낼 수 있다.
인터페이스 버스(118)는 AXI(advanced extensible interface)일 수 있고 그리고/또는 AMBA(advanced microcontroller bus architecture)를 가지며 AMBA 프로토콜을 사용할 수 있다. 인터페이스 버스(118)는 버스 메모리(130), 버스 제어 모듈(132) 및 버스 RegEx 모듈(134)을 포함할 수 있다. 버스 메모리(130)는 예컨대, SRAM 또는 다른 적절한 메모리를 포함할 수 있다. 버스 메모리(130)는 DPI를 수행할 때 그리고/또는 통합 스위치, 중앙 네트워크 디바이스(예컨대, 중앙 네트워크 디바이스(60)) 및/또는 액세스 디바이스(예컨대, 액세스 디바이스(112)) 내의 스위치들의 상태들을 제어할 때 액세스 디바이스(112) 및/또는 PHY 디바이스(100)에 의해 사용될 수 있다.
버스 제어 모듈(132) 및/또는 버스 RegEx 모듈(134)은, 수신된 패킷들의 보안 레벨을 결정하고, 무효 패킷들을 드롭시키며, 유효 패킷들을 포워딩하고 그리고/또는 추가의 검사를 위해 중앙 제어 모듈에 패킷들을 터널링시키도록 DPI를 수행할 수 있다. 버스 제어 모듈(132)은 버스 RegEx 모듈(134)에 의해 수행된 RegEx 파싱을 제어할 수 있다. 버스 제어 모듈(132)은 제로 데이 어택 차단을 수행할 때, 버스 메모리(130), 메모리 제어 모듈(104) 및/또는 PHY 메모리(106)를 사용할 수 있다. PHY 모듈들(102)의 각각이 버스 제어 모듈 및/또는 하나 이상의 RegEx 모듈(들)을 포함할 수 있음에 따라, 버스 제어 모듈 및 RegEx 모듈은 MDI들(114)의 각각에 제공될 수 있다. 이는 인터페이스 또는 포트 별 패킷 검사 및 RegEx 파싱을 제공한다.
버스 제어 모듈(132)은 어플리케이션-기반 네트워킹 및 네트워크 보안 어플리케이션들에 대해 컨텐트 서명 인식 태스크들을 수행할 수 있다. 버스 제어 모듈(132)은 와이어-속도(예컨대, 1 Gbps)에서 패킷들을 검사할 수 있다. 버스 제어 모듈(132)은 패킷을 분석하고 와이어-속도에서 식별할 수 없는 패킷을 드롭시킬지, 포워딩할지 그리고/또는 마킹할지 결정할 수 있다. 버스 제어 모듈(132)은 32-비트 프로세서일 수 있다. PHY 모듈들(102)의 각각 내의 각각의 버스 제어 모듈은 액세스 디바이스(112)와 통신할 수 있다. 이 통신은 중앙 제어 모듈로부터 패킷 검사를 위해 룰 및/또는 테이블 업데이트들을 수신하는 것 그리고 PHY 모듈들(102)로부터 중앙 제어 모듈로 비정상적인 그리고/또는 의심스러운 패킷들을 재-라우팅 및/또는 보고하는 것을 포함할 수 있다.
출구 모듈(120)은 출구 RegEx 모듈(120-1), 출구 파싱 모듈(120-2), 제2 수신 모듈(120-3), 전송 FIFO 모듈(120-4) 및 제2 전송 모듈(120-5)을 포함할 수 있다. PHY 모듈들(102)은 출구 모듈들(120) 중 하나 이상을 포함하지 않을 수 있다. 출구 RegEx 모듈(120-1)은 포함될 때, 네트워크 인터페이스(108)를 통해 PHY 모듈들(102) 중 하나로부터 수신된 패킷들을 검사하도록 RegEx 프로세스를 수행한다. RegEx 프로세스는 미리 결정된 데이터의 문자들, 단어들, 서명들 또는 패턴들과 데이터의 문자들, 단어들, 서명들 또는 패턴들을 비교하는 것을 포함한다. RegEx 프로세스는 DPI 프로세스의 부분으로 수행될 수 있다. 출구 RegEx 프로세스는 유효 또는 무효한 패킷들을 빠르게 식별하도록 수행될 수 있다.
RegEx 모듈들(116-1, 130-1, 134)은 RegEx 매칭에 근거하여 패킷 필터링을 수행할 수 있다. RegEx 모듈들(116-1, 130-1, 134)은 각각의 패킷 내의 그리고/또는 복수의 패킷들에 걸친 헤더들 및/또는 페이로드들 내의 패턴들을 검출하도록 하나 이상의 패킷들을 분석할 수 있다. RegEx 검색은 전체 경계 방화벽(perimeter firewall)을 제공하기 위해 순차적인 패킷들에 걸친 그리고/또는 비-순차적인 패킷들에 걸친 패턴들을 검출하도록 수행될 수 있다. 이는 미리 결정된 목적지들 및/또는 컴퓨터들 행로의 패킷들을 차단하도록 하는 완전한 패킷 IP 차단을 포함할 수 있다. RegEx 모듈들(116-1, 130-1, 134)은 체계적인 시정 액션(systematic corrective action)이 전개될 수 있을 때까지 어택들을 정지시키거나 또는 일시적으로 억제할 수 있다. 이는 어택의 긍정 오류들(false positives)을 허용하고, 부정(negative)들(또는 어택을 나타내는 에러들)이 누락되는 것을 방지한다. RegEx 모듈들(116-1, 130-1, 134) 각각은 하나 이상의 삼진 컨텐트 어드레싱가능 메모리(TCAM: ternary content addressable memory)들을 포함하거나, 이들과 교체될 수 있거나 또는 이들의 조합으로 사용될 수 있다. 도 4에서, 단일 TCAM(135)이 도시된다.
CAM은 자신의 전체 컨텐츠가 단일 클록 사이클 내에 검색되도록 하는 어플리케이션 별 메모리이다. 이진 CAM은 정확한 매칭 검색들을 수행하고, TCAM은 "무정(don't cares)"을 이용하여 패턴 매칭을 할 수 있다. 무정은 검색 동안 와일드 카드(wildcard)로서 사용되며, 라우팅 테이블들에서 가장 긴 접두부 매칭 검색(longest-prefix-match searche)을 실시할 시 유용하다. 상기 언급된 TCAM들은 패킷 분류 및 하드웨어 매칭 가속화를 위해 사용될 수 있다. TCAM들은 RegEx 패킷 검사 동안 사용된 정규 표현식의 DFA(deterministic finite automata) 표시들을 저장하는 데 사용될 수 있다. DFA는 5-튜플(예컨대, Q, ∑, δ, q0, A)이며, 여기서 Q는 상태들의 세트이고, ∑는 알파벳이며, δ는 Q 및 ∑에 기반한 천이 함수(transition function)이고, q0는 시작 상태이며 그리고 A는 수락 상태들의 세트이다.
출구 파싱 모듈(120-2)은 무효 패킷들을 폐기할 수 있고, 유효 패킷들 및/또는 유효 패킷들의 헤더들을 인터페이스 버스(118) 및 제2 수신 모듈(120-3)에 포워딩할 수 있다. 제2 수신 모듈(120-3)은 DMA 디바이스일 수 있고, 버스 메모리(130) 및/또는 PHY 메모리(106)에 출구 파싱 모듈(120-2) 및/또는 인터페이스 버스(118)로부터 수신된 패킷들, 패킷들의 부분들, 패킷 디스크립터들 및/또는 패킷 정보를 복사 및/또는 저장할 수 있다. 버스 메모리(130) 내의 저장은 버스 제어 모듈(132)을 통해 수행될 수 있다. PHY 메모리(106) 내의 저장은 메모리 제어 모듈(104)을 통해 수행될 수 있다. 패킷들의 부분들은 상기 패킷들의 하나 이상의 헤더들 및/또는 페이로드들을 포함할 수 있다. 패킷 정보는 헤더들 내에 포함된 정보 및/또는 패킷들의 검사 레벨, 소스 어드레스, 목적지 어드레스, 소스 ID, 목적지 ID, 프로토콜 ID, 패킷의 길이 등과 같은 다른 정보를 포함할 수 있다.
출구 파싱 모듈(120-2)은 또한, 패킷이 인터페이스 버스(118) 및/또는 버스 제어 모듈(132)에 의해 검사되어야만 하는지 인터페이스 버스(118) 및/또는 버스 제어 모듈(132)에 나타낼 수 있다. 제2 수신 모듈(120-3)은 PHY 메모리(106)에 패킷들을 저장 및/또는 패킷들을 복사하고 그리고/또는 인터페이스 버스(118)로부터의 명령들에 근거하여 전송 FIFO 모듈(120-4)에 패킷들을 포워딩할 수 있다.
전송 FIFO 모듈(120-4)은 제2 전송 모듈(120-5)에 포워딩될 패킷들을 저장한다. 버스 메모리(130) 및/또는 PHY 메모리(106)에 저장된 패킷들, 패킷 디스크립터들 및/또는 패킷 정보는 버스 제어 모듈(132) 및/또는 버스 RegEx 모듈(134)에 의한 검사를 위해 전송 FIFO 모듈(120-4)에 저장될 수 있다. 제2 전송 모듈(120-5)은 또한, DMA 디바이스일 수 있고, 전송 FIFO 모듈(120-4), PHY 메모리(106) 및/또는 인터페이스 버스(118)로부터 수신된 패킷들을 MDI들(114) 중 각각의 MDI에 전송할 수 있다. 제2 전송 모듈(120-5)은 PHY 메모리(106)에 저장된 패킷들에 액세스하고 그리고/또는 인터페이스 버스(118), 버스 제어 모듈(132) 및/또는 버스 RegEx 모듈(134)로부터 수신된 명령들에 근거하여 MDI들(114) 중 각각의 MDI에 패킷들을 포워딩할 수 있다.
메모리 제어 모듈(104)은 PHY 모듈(102)과 PHY 메모리(106) 사이의 액세스를 제어하도록 중재기(arbiter)로서 수행할 수 있다. 메모리 제어 모듈(104)은 PHY 모듈들(102) 중 하나 이상이 PHY 메모리(106)로의 액세스를 가지게 하며, PHY 모듈들(102) 중 하나 이상이 PHY 메모리(106)로의 액세스를 가지지 못하게 할 수 있다. 메모리 제어 모듈(104)은 PHY 모듈들(102)의 각각에 대해 액세스 시간들을 결정하고 그에 따라서 PHY 메모리(106)로의 액세스를 허용한다. 메모리 제어 모듈(104)은 PHY 모듈들(102) 중 제1 PHY 모듈이 PHY 메모리(106)로의 액세스를 가지게 하면서도, PHY 모듈들(102) 중 제2 PHY 모듈이 PHY 메모리(106)로의 액세스를 가진다. 대안적으로는, 메모리 제어 모듈(104)은 PHY 모듈들(102) 중 제1 PHY 모듈이 PHY 메모리(106)로의 액세스를 가지지 못하게 하면서도, PHY 모듈들(102) 중 제2 PHY 모듈은 PHY 메모리(106)로의 액세스를 가진다.
PHY 메모리(106)는 예컨대, DDR3 SRAM 및/또는 DRAM과 같은 다른 적절한 메모리를 포함할 수 있다. PHY 메모리(106)는 예컨대, 32비트의 데이터를 병렬로 전달하기 위한 32 비트 메모리 인터페이스를 가질 수 있다. PHY 메모리(106)는 PHY 디바이스(100)의 외부에 있고 그리고/또는 PHY 디바이스(100) 상에 또는 PHY 디바이스(100)의 부분으로서 일체로 형성될 수 있다. 일 구현에서, PHY 디바이스(100)는 집적 회로(IC) 또는 시스템-인-패키지(SIP)이고, PHY 메모리(106)는 PHY 디바이스(100)와 별개인 IC 이다. PHY 디바이스(100)는 메모리 제어 모듈(104) 및/또는 대응하는 메모리 인터페이스(148)를 통해 PHY 메모리(106)와 통신한다. 메모리 인터페이스(148)는 메모리 제어 모듈(104)과 PHY 메모리(106) 사이에 연결될 수 있다.
다른 구현에서, PHY 디바이스(100)는 제1 IC이고, PHY 메모리(106)는 제2 IC이며, 제1 IC 및 제2 IC는 SIP의 부분으로서 형성된다. 또다른 구현에서, PHY 디바이스(100)는 제1 SIP이고, PHY 메모리(106)는 제2 SIP이며, 제1 SIP 및 제2 SIP는 패키지-온-패키지(POP) 프로세스를 이용하여 일체로 패키징된다. 제2 SIP는 제1과 제2 SIP들 사이에서 신호들을 라우팅하도록 SIP들 사이의 메모리 인터페이스(예컨대, 메모리 인터페이스(148))를 가진 제1 SIP 상에 스택될 수 있다. 제1 SIP 및 제2 SIP는 예컨대, 메모리 볼 그리드 어레이(BGA) 패키지일 수 있다.
PHY 메모리(106)는 진입 모듈들(116) 또는 출구 모듈들(120) 중 하나 이상에서의 정체(congestion)의 경우에 패킷들을 버퍼링하는 데 사용될 수 있다. PHY 메모리(106)는 명령들, 코드, 룰들, 테이블들 및/또는 패킷 데이터를 저장하는 데 사용될 수 있다. 명령들, 코드, 룰들 및/또는 테이블들은 DPI를 수행할 때 그리고/또는 스위치들(예컨대, 페브릭 제어 모듈 및/또는 네트워크 인터페이스(108) 내의 스위치들)의 상태들을 제어할 때, 중앙 제어 모듈, 통합 스위치 및/또는 모듈들(116-1, 120-1, 132, 134)에 의해 사용될 수 있다. 일 구현에서, 명령들, 코드, 룰들 및/또는 테이블들은 예컨대, 버스 메모리(130)에 이용가능한 공간이 없을 때 PHY 메모리(106)에 저장된다. 다른 구현에서, 명령들, 코드, 룰들 및/또는 테이블들은 예컨대, PHY 메모리(106)에 이용가능한 공간이 없을 때 버스 메모리(130)에 저장된다.
버스 메모리(130) 및 PHY 메모리(106)는 검사되는 패킷들, 검사되도록 선택된 패킷들의 복사본들 및/또는 포워딩, 업링크 및/또는 다운링크될 패킷들을 저장하는 데 사용될 수 있다. 버스 메모리(130) 및 PHY 메모리(106)는 액세스 네트워크(예컨대, 액세스 네트워크들(10, 50) 중 하나) 내의 포인트들에서의 일시적인 정체의 경우에 패킷 버퍼링을 위해 사용될 수 있다. 버스 메모리(130)는 특별한 PHY 모듈(예컨대, PHY 모듈 PHY1)에 특정할 수 있는 반면, PHY 메모리(106)는 PHY 모듈들(102)의 각각과 공유될 수 있다. 이는 단일 PHY 디바이스(100)를 위해 사용된 PHY 메모리들의 수를 최소화시킨다.
도시된 예에서, 네트워크 인터페이스(108)는 제1 매체 액세스 제어(MAC) 인터페이스(140), 제2 MAC 인터페이스(142), 제1 쿼드-시리얼 기가비트 매체 독립식 인터페이스(QSGMII)(144) 및 제2 QSGMII(146)을 포함한다. MAC 인터페이스(140, 142)는 10-기가비트 이더넷 인터페이스들일 수 있다. 제1 및 제2 MAC 인터페이스들(140, 142)은 각각 MAC의 기능들을 수행하고 액세스 디바이스(112)를 통해 예컨대, 페브릭 카드에 통신 링크들을 제공할 수 있다. 제1 및 제2 MAC 인터페이스들(140)은 모듈식 액세스 샤시(예컨대, 도 1의 액세스 샤시(12))를 통해 저비용 DPI를 할 수 있도록 백 플레인을 통해 액세스 디바이스(112)를 연결하기 위한 예컨대, 10GE-KR 인터페이스들을 가질 수 있다. 제1 및 제2 QSGMII들(144, 146)은 액세스 디바이스(112)에 두 개의 병렬 통신 링크들을 제공할 수 있다.
동작 동안 그리고 예로서, MDI들(114)의 각각은 초 당 1기가비트(Gbps)의 데이터를 수신 또는 전송할 수 있고, 인터페이스들(140, 142, 144, 146)의 각각은 10 Gbps를 수신 또는 전송할 수 있다. MDI들(114)은 1 Gbps 이더넷(GE) 포트들일 수 있고, 인터페이스들(140, 142, 144, 146)은 10 GE 포트들을 가질 수 있다. MDI들(114) 및 네트워크 인터페이스(108)를 통한 PHY 디바이스(100)는 결과적으로, 10GE 인터페이스들(140, 142, 144, 146)에 1GE 포트들의 동적 바인딩을 제공할 수 있다. 이는 로드 밸런싱, 인터페이스 리던던시, 업링크를 위한 인터리빙식 패킷들에 대한 시분할 멀티플렉싱 스케쥴링, PHY 메모리에 데이터를 버퍼링하는 것 및 데이터의 버스트들을 극복 또는 처리하기 위해 PHY 메모리에 데이터를 버퍼링하는 것을 포함할 수 있다. 로드 밸런싱은 동일한 시간 주기 동안 둘 이상의 인터페이스들에 걸쳐 동일한 양의 데이터를 전송하는 것을 포함할 수 있다. 인터페이스 리던던시는 둘 이상의 인터페이스들을 포함하는 것을 나타낼 수 있으며, 인터페이스들 중 하나 이상은 백업으로서 제공된다.
PHY 디바이스(100), PHY 모듈들(102) 및/또는 제1 및 제2 MAC 인터페이스들(140, 142)은 IEEE 1588-2008 표준 어드레스 네트워크-기반 타이밍 및 동기화를 수행할 수 있다. 이는 PHY 디바이스(100) 외부의 제어 모듈(예컨대, 중앙 제어 모듈(62))과 버스 제어 모듈(예컨대, 버스 제어 모듈(132))의 클록을 동기화하기 위한 정밀 시간 프로토콜(PTP)의 사용을 포함할 수 있다. PHY 디바이스(100), PHY 모듈들(102) 및/또는 제1 및 제2 MAC 인터페이스들(140, 142)은 또한, IEEE 802.1AE-2006 보안 표준을 만족시키는 MAC 보안(MACSec) 지원을 제공할 수 있고, IEEE 802.1AE-2006는 매체 액세스 독립식 프로토콜들에 대한 비연결 데이터 기밀성 및 무결성을 정의한다.
PHY 디바이스(100)는 또한, 보안 캐시 모듈(SCM)(150)을 포함할 수 있다. 패킷들 및/또는 패킷 정보는 파싱 모듈들(116-2, 120-2) 및/또는 인터페이스 버스(118)와 보안 캐시 모듈(150)과의 사이에서 전송될 수 있다. 보안 캐시 모듈(150)은 문자들, 데이터 패턴들, 소스 어드레스들, 목적지 어드레스들 및/또는 패킷의 타입을 나타내는 다른 패킷 정보를 저장할 수 있다. 각각의 PHY 모듈들(102)의 파싱 모듈들(116-2, 120-2)은 이 패킷 정보에 근거하여 패킷이 유효인지 무효인지 결정할 수 있다.
이제, 도 1 내지 4를 참조하면, PHY 디바이스들(24, 44, 56, 100) 및/또는 PHY 모듈들(102)은 액세스 네트워크의 경계 상에서 시행 포인트들(enforcement points)을 따라 어택들을 검출하기 위해 분포된 센서들로서 수행할 수 있다. 중앙 제어 모듈들(36, 62)은 포함될 때, 분포된 센서들로부터 패킷 정보 및 어택 정보와 같은 정보를 수집할 수 있다. 어택 정보는 여기에 개시된 어택 패턴들, 서명들 및/또는 어택 정보를 포함할 수 있다. 그 다음, 중앙 제어 모듈들(36, 62)은 룰들을 적용하고 그리고/또는 어택이 존재하는지 그리고/또는 패킷들이 유효 및/또는 무효인지를 결정하도록 수집된 정보를 분석할 수 있다. 패킷들의 타입은 결정될 수 있고, 패킷들은 이 분석의 결과에 근거하여 포워딩될 수 있다. 이 분석의 결과들은 패킷 포워딩 결정을 위해 중앙 제어 모듈들(36, 62)로부터 분포된 센서들로 제공될 수 있다. 중앙 제어 모듈들(36, 62)은 패킷 타입들의 분포된 센서들에게 명령할 수 있고 이러한 타입들의 패킷들을 어떻게 다룰지 명령할 수 있다. 이 정보는 향후의 사용을 위해 예컨대, PHY 메모리(106), 버스 메모리(130) 및/또는 보안 캐시 모듈(150)에 수집될 수 있다.
이제, 도 5를 또한 참조하면, 다중-레벨 보안 검출을 제공하는 PHY 모듈(예컨대, PHY 모듈들(102) 중 하나)의 진입 부분(170)이 도시된다. 진입 부분(170)은 인터프레임 유한 상태 머신(FSM) 모듈(172)을 포함하고, 상기 FSM 모듈은 예컨대, 진입 RegEx 모듈(예컨대, 진입 RegEx 모듈(116-1))에 포함되거나 또는 이와는 별개일 수 있다. 진입 부분(170)은 진입 (제1) RegEx 모듈(116-1), 진입 파싱 모듈(116-2), 버스 제어 모듈(132), 보안 캐시 모듈(150) 및 버스 (제2) RegEx 모듈(134)을 포함할 수 있다.
인터프레임 FSM 모듈(172) 및 진입 RegEx 모듈(116-1)은 제1 레벨의 보안을 제공한다. 인터프레임 FSM 모듈(172)은 패턴 및 서명 룩업(lookup)에 대해 진입 RegEx 모듈(116-1)을 사용한다. 제1 레벨의 보안은 라인 속도(line rate)(예컨대, 인터프레임 FSM 모듈(172)에 의해 수신된 패킷들에서 1Gbps)에서 제로 데이 RegEx 어택 패턴들 및 서명들을 검출하는 것을 포함한다. 패킷들은 MDI(예컨대, MDI0)로부터 수신될 수 있다. 진입 RegEx 모듈(116-1)은 패치들이 중앙 제어 모듈들(36, 62) 중 하나에 인스톨되기에 앞서 패킷들을 검출하기 위해 미리 결정된 패턴들 및 서명들을 모니터링하도록 구성된다. 진입 RegEx 모듈(116-1)은 사용자로 하여금 모니터링되는 서명들 및 패턴들을 추가 또는 변경하도록 프로그래밍가능할 수 있다.
진입 RegEx 모듈(116-1)은 앵커(anchor)들 및 와일드 카드들로 RegEx 파싱을 수행할 수 있다. 앵커는 매칭이 패킷의 문자열 내의 현재 위치에 따라 성공 또는 실패하게끔 하는 극미한 제로-폭 삽입(atomic zero-width assertion)을 나타낸다. 앵커는 진입 RegEx 모듈(116-1)로 하여금 스트링을 통해 진전되게 하거나 또는 문자들을 소모하게끔 하지 않는다. 와일드 카드는 0개 이상의 문자들에 매칭하는 문자를 나타내며, 상기 와일드 카드는 패턴 또는 서명을 효율적으로 검출하는 데 사용된다.
진입 RegEx 모듈(116-1)은 패킷들 및 순차적 및/또는 비 순차적 패킷들의 헤더들 및/또는 페이로드들을 검색할 수 있다. 인터프레임 FSM 모듈(172)은 진입 RegEx 모듈(116-1)에 의해 결정된 비교들 및/또는 매칭들에 근거하여 제1 커맨드 신호(173)를 생성한다.
진입 파싱 모듈(116-2) 및 보안 캐시 모듈(150)은 제2 레벨의 보안을 제공한다. 진입 파싱 모듈(116-2) 및/또는 버스 제어 모듈(132)은 SCM(150)에 오프로드된 그리고 유효화된 데이터 패킷들 및/또는 식별할 수 없는 패킷들을 푸시할 수 있다. 그 다음, 진입 파싱 모듈(116-2) 및/또는 보안 캐시 모듈(150)은 다가올 패킷들에 대해 이 패킷들의 패턴들을 비교할 수 있다. 예로서, 진입 파싱 모듈(116-2)은 SCM(150)에 저장된 식별할 수 없는 패킷 타입의 패턴을 가지는 수신된 패킷을 분석하지 않을 수 있다. 진입 파싱 모듈(116-2)은 대신, 평가를 위해 중앙 제어 모듈에 상기 패킷을 바로 전달할 수 있다. 이는 진입 파싱 모듈(116-2)의 RegEx 프로세싱 시간을 감소시킨다.
진입 파싱 모듈(116-2)은 와이어-속도(예컨대, 1Gbps)에서 오프로드된 데이터의 흐름들에 대해 패킷 파싱을 수행할 수 있다. (하드웨어 파서로서 나타내진) 진입 파싱 모듈(116-2)은 패킷들로부터 5-투플 값들을 추출하고 매칭을 위해 SCM(150)을 스캔할 수 있다. SCM(150)에 저장된 값들은 5-투플 값들과 비교될 수 있다. 5-투플 값들은 전송 제어 프로토콜(TCP) 또는 인터넷 프로토콜(IP)을 구성하는 데 사용될 수 있고, 예컨대, 소스 IP 어드레스, 목적지 IP 어드레스, 소스 포트 번호, 목적지 포트 번호 및 프로토콜 ID를 포함할 수 있다. SCM(150)은 인터페이스들(114)의 각각에 대해 인터페이스 별 입력들을 가질 수 있다. 예를 들어, 신뢰된 인터페이스(trusted interface)가 비신뢰된 인터페이스와 다른 SCM(150)에 대한 허가(permission)들을 가질 수 있다. 진입 파싱 모듈(116-2)에 의해 수행된 비교들은 SCM(150)에 저장된 특정 값들 및/또는 5-투플 값들이 인터페이스와 관련하여 액세스될 수 있는지 결정함에 있어서 수신된 패킷과 관련된 인터페이스의 신원을 비교하는 것을 포함할 수 있다. 진입 파싱 모듈(116-2)은 수행된 비교들 및 SCM(150)에 저장된 명령들에 근거하여 제2 커맨드 신호(175)를 생성한다.
버스 제어 모듈(132) 및/또는 버스 RegEx 모듈(134)은 제3 레벨의 보안을 제공한다. 버스 제어 모듈(132)은 수신된 데이터 흐름들을 검사하고, (i) 상기 데이터 흐름들을 포워딩하며 그리고/또는 (ii) 중앙 제어 모듈에 유효화된 그리고/또는 알려지지 않은 데이터 흐름들(식별할 수 없는 패킷들의 흐름들)을 터널링 및/또는 복사할 수 있다. 패킷 검사의 결과로, 버스 제어 모듈(132)은 동일한 패턴들을 가지는 추가적인 패킷들을 수신할 시 취해질 액션들에 관하여 진입 파싱 모듈(116-2)에 명령하기 위해 SCM(150)에 이전에 알려지지 않은 흐름들의 추가적인 패턴들을 저장할 수 있다. 중앙 제어 모듈은 또한 또는 대안적으로, SCM(150)에 저장될 명령들을 제공할 수 있다.
버스 메모리(130) 및/또는 PHY 메모리(106)는 해시 테이블을 저장할 수 있고, 상기 해시 테이블은 제공된 명령들 및 최근에 알게된 데이터 흐름들에 근거하여 갱신될 수 있다. 명령들은 버스 제어 모듈(132)이 특정 패턴으로 패킷을 검출할 때 수행될 액션들(예컨대, 드롭 또는 포워딩)을 나타낼 수 있다. RegEx 모듈들(116-1, 120-1, 134) 및 SCM(150)은 사용자로 하여금 저장된 패턴들, 서명들 및/또는 명령들을 추가 또는 변경하도록 프로그래밍가능할 수 있다. 명령들은 평가된 패킷들의 보안 레벨을 결정하는 것에 관한 것일 수 있다. 버스 제어 모듈(132)은 수신된 패킷들 내의 패턴들을 검출하고 그 다음, 이에 따라서 제3 커맨드 신호(177)를 생성하는 데 버스 RegEx 모듈(134)을 사용할 수 있다. 버스 제어 모듈(132)은 어택을 검출하도록 비-유효화된 패킷들의 흐름들(식별할 수 없는 패킷들의 흐름들)을 계속 추적할 수 있다.
비록, 도 5의 다중-레벨 보안 검출이 PHY 모듈의 진입 부분에 대하여 도시되지만, 다중-레벨 보안 검출은 또한, PHY 모듈의 출구 부분에 제공될 수 있다. 예로서, 출구 RegEx 모듈(120-1) 및 출구 파싱 모듈(120-2)은 인터프레임 FSM 모듈(172), 진입 RegEx 모듈(116-1) 및 진입 파싱 모듈(116-2)에 의해 수행되는 바와 같이 제1 및 제2 레벨들의 보안을 수행할 수 있다. 버스 제어 모듈(132) 및 버스 RegEx 모듈(134)은 상술된 바와 같이, 출구를 위해 제3 레벨의 보안을 제공할 수 있다.
진입 부분의 보안 레벨들의 각각에 대한 커맨드 신호들(173, 175, 177)은 드롭-터널링-로컬 제어 모듈 검사-포워딩(DTLF) 신호들로서 도시된다. 커맨드 신호들은 보안 레벨 모듈(180)에 제공된다. 보안 레벨 모듈(180)은 보안 레벨을 결정하고, 세 개의 커맨드 신호들(173, 175, 177)에 근거하여 보안 레벨 신호(182)를 생성한다.
예에서, 보안 레벨 모듈(180)은 OR 게이트를 포함한다. 커맨드 신호들의 각각은 보안 레벨들 중 각각의 레벨에 의해 결정된 바와 같은 수신된 패킷의 보안 레벨을 나타낸다. 커맨드 신호들은 각각 제1 레벨 및 제2 레벨 중 하나를 나타낼 수 있다. 제1 레벨은 무효 패킷을 나타낸다. 제2 레벨은 유효 패킷을 나타낸다. 보안 레벨들의 각각은 각각의 패킷에 또는 일련의 또는 선택된 그룹의 패킷들에 커맨드 신호를 제공할 수 있다.
제1 예로서, 커맨드 신호들은 패킷이 무효이거나 또는 드롭되어야 함을 나타낼 때 1로 설정될 수 있다. 커맨드 신호들은 패킷이 유효이거나 또는 포워딩되어야 함을 나타낼 때 0으로 설정될 수 있다. 그 결과, 커맨드 신호들 중 어느 것이 패킷이 드롭되어야 함을 나타내면, 패킷은 드롭된다. 이는 보안 레벨 모듈(108) 또는 OR 게이트의 출력에 의해 제공된다.
다른 예로서, 4개의 보안 레벨들이 사용될 수 있다. 제1 레벨은 무효 또는 드롭 패킷을 나타낸다. 제2 레벨은 터널링 패킷을 나타낸다. 제3 레벨은 예컨대, 버스 RegEx 모듈(134)의 버스 제어 모듈(132)에 의해 로컬로 검사될 패킷을 나타낸다. 제4 레벨은 유효 또는 포워딩 패킷을 나타낸다. 이 구현에서, 보안 레벨 모듈(180)은 세 개의 커맨드 신호들에 의해 나타내진 최저 레벨을 결정한다. 그 다음, 나타내진 최저 레벨은 보안 레벨 모듈(180)에 의해 보고되고 예컨대, 패킷을 추가로 검사하도록 중앙 제어 모듈에 명령할지를 결정하기 위해 도 4의 제1 전송 모듈(116-5)에 의해 사용될 수 있다. 일 구현에서, 최저 레벨은 상기 최저 레벨이 제2 레벨이거나 제3 레벨일 때 보고될 수 있고, 상기 최저 레벨이 제1 레벨이거나 제4 레벨일 때 보고되지 않을 수 있다. 다른 구현에서, 최저 레벨은 보안 레벨 모듈(180)의 결정된 최저 레벨과 독립적으로 보고된다.
도 1 내지 3을 다시 참조하면, PHY 디바이스들(24, 44, 56, 100)의 하나 이상의 모듈들 및/또는 디바이스들 및/또는 PHY 모듈들(102)이 프로그래밍가능할 수 있음에 따라, 액세스 네트워크들(10, 50)의 에지들에서 DPI를 포함하는 맞춤화된 보안 플랫폼이 제공될 수 있다.
도 6에서, 네트워크 인터페이스(200)가 도시된다. 네트워크 인터페이스(200)는 도 1 내지 3의 네트워크 인터페이스(108) 및/또는 PHY 디바이스들(24, 44, 56, 100) 중 하나에 사용될 수 있다. 네트워크 인터페이스(200)는 제1 멀티플렉싱 모듈(202), 제1 QSGMII(204), 제2 멀티플렉싱 모듈(206) 및 제2 QSGMII(208)을 포함한다. 제1 및 제2 멀티플렉싱 모듈들(202, 206)은 멀티플렉싱 및 디멀티플렉싱을 수행한다.
제1 멀티플렉싱 모듈(202)은 PHY 모듈들의 제1 세트로부터의 신호들(예컨대, 8개의 PHY 모듈 출력 신호들)을 제1 QSGMII(204)에 의해 수신되는 멀티플렉싱된 신호들(예컨대, 4개의 멀티플렉싱된 신호들)로 멀티플렉싱할 수 있다. 제2 멀티플렉싱 모듈(206)은 PHY 모듈들의 제2 세트로부터의 신호들(예컨대, 8개의 PHY 디바이스 출력 신호들)을 제2 QSGMII(208)에 의해 수신되는 멀티플렉싱된 신호들(예컨대, 4개의 멀티플렉싱된 신호들)로 멀티플렉싱할 수 있다. PHY 모듈들의 제1 세트는 PHY 모듈들의 제2 세트와 동일하거나 또는 다를 수 있다. 제1 멀티플렉싱 모듈(202)은 PHY 모듈들의 제1 세트에 의해 수신된 입력 신호들을 생성하도록 제1 QSGMII(204)로부터의 출력 신호들을 디멀티플렉싱할 수 있다. 제2 멀티플렉싱 모듈(206)은 PHY 모듈들의 제2 세트에 의해 수신된 입력 신호들을 생성하도록 제2 QSGMII(208)로부터의 출력 신호들을 디멀티플렉싱할 수 있다. 제1 및 제2 QSGMII(204, 208)의 출력들은 통합 스위치 및/또는 중앙 제어 모듈과 통신할 수 있다.
네트워크 인터페이스(200)는 제1 속도로 동작하는 PHY 모듈들의 포트들이 제1 QSGMII(204) 또는 제2 QSGMII(208)에 연결되게 하며, 제1 QSGMII(204) 및 제2 QSGMII(208)의 각각은 MDI들과 다른 속도로 동작한다. 일례로, 제1 속도는 1Gbps일 수 있고, 제2 속도는 10Gbps일 수 있다. 멀티플렉싱 모듈들(202, 206)에 의해 수행된 멀티플렉싱 및 디멀티플렉싱은 네트워크 인터페이스에서 데이터 신호들을 버퍼링할 필요가 없게 할 수 있다.
상술된 액세스 네트워크들(10, 50) 및 PHY 디바이스들(24, 44, 56, 100)은 다수의 방법들을 이용하여 동작될 수 있고, 일 예시적 방법은 도 7의 방법에 의해 제공된다. 도 7에서, 보안 검출 방법을 포함하는 네트워크 액세스 방법이 도시된다. 비록, 다음의 태스크들이 도 1 내지 5의 구현들에 관하여 주로 기술되지만, 이 태스크들은 본 발명의 다른 구현들에 적용하기 위해 쉽게 수정될 수 있다. 태스크들은 반복적으로 수행되고 그리고/또는 서로 다른 순서로 수행될 수 있다. 방법은 태스크(300)에서 시작할 수 있다. 비록, 다음의 태스크들(302 내지 322)이 진입 태스크들이지만, 이 태스크들은 출구 모듈(120)에 의해 수행되는 출구 태스크들과 같은 출구 태스크들을 수행할 때 역으로 유사하게 수행될 수 있다. 또한, 비록 다음의 태스크들이 단일 패킷에 관하여 기술되지만, 태스크들은 복수의 패킷들 및/또는 선택된 그룹의 패킷들에 대해 수행될 수 있다. 패킷들은 순차적인 일련의 패킷들 또는 비 순차적인 일련의 패킷들일 수 있다.
태스크(302)에서, 진입 RegEx 모듈(116-1)은 MDI0로부터 패킷을 수신한다. 패킷은 네트워크(14)를 통해 PHY 모듈 PHY1과 통신하는 네트워크 디바이스(예컨대, 네트워크 디바이스들(18) 중 하나)로부터 수신될 수 있다. 진입 RegEx 모듈(116-1)은 패킷을 드롭 또는 포워딩할지 빠르게 결정하도록 패킷의 초기 검사를 수행할 수 있다. 진입 RegEx 모듈(116-1)은 초기 검사의 결과들에 근거하여 제1 커맨드 신호 및/또는 제1 패킷 정보 신호를 생성할 수 있다. 제1 커맨드 신호는 패킷의 보안 레벨의 제1 추정치(estimate)를 나타낼 수 있다. 제1 추정치는 상술된 4개의 보안 레벨들 중 하나일 수 있다. 제1 패킷 정보 신호는 상술된 바와 같은 패킷 정보를 포함하고 그리고/또는 인터페이스 버스(118) 및/또는 버스 제어 모듈(132)이 패킷을 검사해야할지 나타낼 수 있다. 패킷 정보는 소스 및 목적지 어드레스들, 프로토콜 ID, 패킷 길이, 패킷 디스크립터 등을 포함할 수 있다. 초기 검사는 패킷을 드롭 또는 포워딩하는 것을 포함할 수 있다. 패킷은 포워딩될 때 진입 파싱 모듈(116-2)에 제공된다.
태스크(304)에서, 진입 파싱 모듈(116-2)은 보안 캐시 모듈(150)에 저장된 정보, 제1 커맨드 신호 및/또는 제1 패킷 정보 신호에 근거하여 제2 패킷 검사를 수행하고, 제2 커맨드 신호를 생성할 수 있다. 제2 패킷 검사는 패킷을 드롭 또는 포워딩하는 것을 포함할 수 있다. 패킷은 포워딩될 때 제1 수신 모듈(116-3) 및/또는 인터페이스 버스(118)에 제공될 수 있다. 진입 파싱 모듈(116-2)은 제2 패킷 검사의 결과들에 근거하여 제2 커맨드 신호 및/또는 제2 패킷 정보 신호를 생성할 수 있다. 제2 커맨드 신호는 패킷의 보안 레벨의 제2 추정치를 나타낼 수 있다. 제2 추정치는 상술된 4개의 보안 레벨들 중 하나 일 수 있고, 제1 추정치에 근거할 수 있다. 제2 패킷 정보 신호는 상술된 바와 같은 패킷 정보를 포함할 수 있고 그리고/또는 인터페이스 버스(118) 및/또는 버스 제어 모듈(132)이 패킷을 검사해야하는지 나타낼 수 있다.
태스크(305)에서, RegEx 모듈(116-1)은 패킷이 안전하지 않은 패턴을 가지는지 그리고/또는 보안 데이터 흐름에 속하는지(예컨대, SCM(150)의 테이블에 대응하는 "허용" 입력을 가지는지)를 결정한다. 패킷이 안전하지 않은 패턴을 가지지 않고 그리고/또는 패킷이 보안 데이터 흐름에 속하면, 패킷의 로컬화된 검사는 생략되고, 태스크(314)가 안전하게 포워딩된 패킷을 가지도록 수행될 수 있다. 로컬화된 검사는 패킷이 알려지지 않은 데이터 흐름에 속할 때 그리고/또는 추가로 검사되도록 RegEx 모듈(116-1) 및/또는 SCM(150)에 의해 설정될 때 수행될 수 있다. 패킷이 안전하지 않은(또는 위험한) 패턴을 가지고, 패킷의 대응하는 SCM 입력이 패킷이 안전하지 않음을 나타내며, 그리고/또는 보안 데이터 흐름에 속하지 않으면, 태스크(306)는 패킷이 중앙 제어 모듈에 터널링되게 하거나 또는 드롭되게 하도록 수행될 수 있다.
태스크(306)에서, 제1 수신 모듈(116-3)은 버스 메모리(130) 및/또는 PHY 메모리(106)에 패킷 및 다른 정보를 저장할 수 있다. 다른 정보는 패킷 디스크립터, 제1 및 제2 커맨드 신호들 및/또는 제1 및 제2 패킷 정보 신호들을 포함할 수 있다.
태스크(308)에서, 인터페이스 버스(118)는 제1 커맨드 신호, 제2 커맨드 신호, 제1 패킷 정보 신호 및/또는 제2 패킷 정보 신호에 근거하여 패킷의 제3 검사를 수행할 수 있다. 버스 제어 모듈(132) 및/또는 버스 RegEx 모듈(134)은 제3 패킷 검사를 수행할 수 있다. 제3 패킷 검사는 하나 이상의 TCAM들을 이용하여 수행될 수 있다. 버스 제어 모듈(132)은 패킷의 제3 검사의 결과들에 근거하여 제3 커맨드 신호 및 제3 패킷 정보 신호를 생성할 수 있다.
제3 커맨드 신호는 패킷의 보안 레벨의 제3 추정치를 나타낼 수 있다. 제3 추정치는 상술된 4개의 보안 레벨들 중 하나일 수 있고, 제1 추정치 및/또는 제2 추정치에 근거할 수 있다. 제3 추정치를 생성하는 것에 대안으로서 또는 이에 더하여, 보안 레벨 모듈(180)은 보안 레벨 신호를 생성할 수 있다. 보안 레벨 신호는 제1 커맨드 신호, 제2 커맨드 신호 및 제3 커맨드 신호에 근거하여 생성될 수 있다. 제3 패킷 정보 신호는 상술된 바와 같은 패킷 정보를 포함하고 그리고/또는 중앙 제어 모듈(36 또는 62)이 패킷을 검사해야하는지 나타낼 수 있다. 중앙 제어 모듈(36, 62)은, 인터페이스 버스(118) 및/또는 버스 제어 모듈(132)이 패킷을 드롭시킬지 또는 패킷을 PHY 모듈 PHY1(제1 PHY 모듈)로부터 다른 (제2) PHY 모듈(예컨대, PHY 모듈m)로 또는 PHY 디바이스(100)와 별개인 네트워크 디바이스로 포워딩할지 결정할 수 없을 때 패킷을 검사하도록 명령받을 수 있다.
태스크(302, 304 및 308)에서 수행된 검사들은 주기적으로, 랜덤으로, 미리 결정된 수의 패킷들을 수신함에 후속하여, 미리 결정된 수의 바이트들을 수신함에 후속하여, 미리 결정된 수의 유효 및/또는 무효 패킷들을 수신함에 후속하여 그리고/또는 미리 결정된 시간 간격들에서 수행될 수 있다. 태스크(302, 304 및 308)에서 기술된 검사들 중 하나 이상은 수행될 수 있고, 다른 검사들은 수행되지 않을 수 있다. 태스크(302, 304 및 308)의 각각에서, 수신된 패킷들의 일부 또는 전부가 검사될 수 있다. 또한, 태스크(302, 304 및 308) 중 일 태스크에서 검사된 패킷들은 태스크(302, 304 및 308)의 다른 태스크의 하나 이상에서 검사되지 않을 수 있다.
태스크(310)에서, 패킷은 중앙 제어 모듈(36, 62), 제2 PHY 디바이스 및/또는 PHY 디바이스(100)와 별개인 네트워크 디바이스에 포워딩될 때 수신 FIFO 모듈(116-4)에 저장될 수 있다. 태스크(312)에서, 그 다음, 패킷 및 다른 정보는 제1 전송 모듈(116-5)에 제공될 수 있다. 다른 정보는 예컨대, 제1, 제2 및/또는 제3 커맨드 신호들, 보안 레벨 신호 및/또는 상술된 다른 패킷 정보를 포함할 수 있다. 태스크(314)에서, 제1 전송 모듈(116-5)은 패킷이 제2 PHY 모듈 및/또는 PHY 디바이스(100)와 별개인 네트워크 디바이스에 포워딩될지 결정한다. 이 결정은 제3 커맨드 신호, 보안 레벨 신호 및/또는 태스크(312)에서 제공된 다른 정보에 근거할 수 있다. 태스크(316)는 패킷이 포워딩될 때 수행될 수 있고, 그렇지 않으면 태스크(315)가 수행될 수 있다.
패킷은 태스크(316)에서 하기에 기술된 바와 같이 포워딩되고 태스크(322)에 관하여 기술된 바와 같이 추가의 검사를 위해 중앙 제어 모듈에 전해질 수 있다. 패킷이 태스크(316)에서 포워딩되고 태스크(322)에서 검사될 때, 패킷은 복수의 목적지들(예컨대, 본래의 목적지 및 중앙 제어 모듈)에 제공되도록 복제될 수 있다.
태스크(315)에서, 제1 전송 모듈(116-5)은 패킷이 중앙 제어 모듈(36, 62)에 의해 추가로 검사될지 결정한다. 이 결정은 제3 커맨드 신호, 보안 레벨 신호 및/또는 태스크(312)에서 제공된 다른 정보에 근거할 수 있다. 태스크(322)는 패킷이 추가로 검사될 때 수행될 수 있고, 그렇지 않으면 태스크(330)가 수행될 수 있다.
태스크(316)에서, 패킷은 제1 PHY 모듈 PHY1으로부터 예상된 및/또는 본래 선택된 목적지로 포워딩될 수 있다. 진입 패킷들은 예컨대, 네트워크(14)로부터 액세스 디바이스(112), 통합 스위치들(26, 38) 중 하나, 페브릭 카드들(20, 32) 중 하나, 및/또는 중앙 네트워크 디바이스(60)로 포워딩될 수 있다. 출구 패킷들은 예컨대, 액세스 디바이스(112), 통합 스위치들(26, 38) 중 하나, 페브릭 카드들(20, 32) 중 하나, 및/또는 중앙 네트워크 디바이스(60)로부터 네트워크(14)로 포워딩될 수 있다. 방법은 태스크(320)에서 종료될 수 있다.
태스크(322)에서, 패킷은 네트워크 인터페이스(108)를 통해 중앙 제어 모듈(36, 62)에 터널링될 수 있다. PHY 디바이스(100)의 MAC 어드레스를 가진 MAC 헤더는 제2 패킷을 형성하도록 패킷(제1 패킷)에 추가될 수 있다. 제2 패킷은 네트워크 인터페이스(108)를 통해 중앙 제어 모듈(36, 62)에 포워딩된다. 태스크(324)에서, 중앙 제어 모듈(36, 62)은 패킷의 제4 패킷 검사를 수행할 수 있다. 중앙 제어 모듈(36, 62)은 주기적으로, 랜덤으로, 미리 결정된 수의 패킷들을 수신함에 후속하여, 미리 결정된 바이트를 수신함에 후속하여, 미리 결정된 수의 유효 및/또는 무효 패킷들을 수신함에 후속하여, 그리고/또는 미리 결정된 시간 간격들에서 검사를 수행할 수 있다. 패킷들은 PHY 디바이스(100)에 의해 결정된 보안 레벨에 독립적으로 중앙 제어 모듈(36, 62)에 포워딩될 수 있다.
태스크(326)에서, 중앙 제어 모듈(36, 62)은 제1 패킷과 유사한 패킷들을 드롭시키도록 그리고/또는 포워딩하지 않도록 제1 PHY 모듈 PHY1에 명령한다. 방법은 태스크(326)를 수행함에 후속하여 태스크(320)에서 종료될 수 있다. 태스크(330)는 패킷이 드롭될 때 수행되고, 그렇지 않으면 태스크(316)가 수행된다.
태스크(330)에서, 패킷은 버스 메모리(130), PHY 메모리(106) 및/또는 PHY 디바이스(100)의 다른 메모리, 모듈 및/또는 디바이스로부터 삭제된다. 이는 하나 이상의 PHY 모듈들 및 대응하는 메모리들, 모듈들 및 디바이스들로부터 패킷을 삭제하는 것을 포함할 수 있다. 방법은 태스크(330)에 후속하여 태스크(320)에서 종료될 수 있다.
상술된 태스크들은 예시들로 의미되며, 태스크들은 어플리케이션에 따라 순차적으로, 동기적으로, 동시에, 지속적으로, 중첩하는 시간 주기들 동안 또는 서로 다른 순서로 수행될 수 있다. 또한, 태스크들 중 어떤 태스크는 구현 및/또는 이벤트들의 시퀀스에 따라 수행되지 않거나 생략될 수 있다.
상술된 특징들에 더하여, 본 명세서에 개시된 구현들은 복수의 PHY 모듈들을 통해 수행되는 액세스 네트워크의 에지에서의 패킷 검사를 제공한다. 이는 패킷들의 검사가 복수의 PHY 모듈들에 분산되고, 패킷들이 수신됨에 따라, 상기 패킷들이 수신되는 속도에서 수행되게끔 한다. 이는 중앙 제어 모듈로부터 복수의 PHY 디바이스들 내의 복수의 디바이스들 및/또는 모듈들로 검사 프로세싱을 오프로드한다.
상술한 상세한 설명은 사실상, 단지 예시적일 뿐이며, 어떤 방식으로도 본 발명, 응용 또는 사용들을 제한하고자 의도된 것이 아니다. 본 발명의 넓은 교시들이 다양한 형태들로 구현될 수 있다. 그러므로, 본 발명이 특별한 예들을 포함하지만은, 본 발명의 진정한 범위는 도면들, 상세한 설명 및 다음의 특허 청구범위를 고려해 볼 때 다른 수정들이 분명해 질 것이기 때문에 그러한 특정 예들로만 제한되지 않아야만 한다. 명확성을 위해, 도면들에서 동일한 참조 부호들이 유사한 요소들을 식별하는데 사용될 것이다. 본 명세서에 사용된, 문구 'A, B 및 C 중 적어도 하나'는 비-배타적 논리 OR을 사용하여 논리 (A 또는 B 또는 C)를 의미하는 것으로 해석되어야만 한다. 방법 내의 하나 이상의 단계들은 본 발명의 원리들을 변경함이 없이 서로 다른 순서로 (또는 동시에) 실행될 수 있음이 이해되어야만 한다.
비록, 용어들, 제1, 제2, 제3 등이 다양한 디바이스들, 모듈들, 신호들, 요소들 및/또는 컴포넌트들을 기술하도록 본 명세서에서 사용될 수 있지만, 이 용어들은 이러한 용어들에 의해 제한되어서는 안 된다. 이 용어들은 단지, 일 아이템을 다른 아이템으로부터 구분하기 위해 사용될 수 있다. "제1", "제2"와 같은 용어들 및 다른 숫자 용어들은 본 명세서에 사용될 때 문맥에 의해 명확하게 나타내지지 않은 한 시퀀스 또는 순서를 의미하지 않는다. 따라서, 하기에 논의된 제1 아이템은 예시적 구현들의 교시들로부터 벗어남 없이 제2 아이템이라고 지칭될 수 있다.
추가적으로, 상세한 설명에서, 다양한 가변적 레벨들 및 값들이 개시된다. 이 가변적 라벨들 및 값들은 예들로서만 제공된다. 가변적 라벨들은 자의적으로 제공되며, 서로 다른 아이템들을 식별 또는 나타내는 데 각각 사용될 수 있다. 예를 들어, 가변적 라벨 n은 모듈들의 수 또는 디바이스들의 수를 나타내는 데 사용될 수 있다. 값들은 또한, 자의적으로 제공되며, 어플리케이션 마다 달라질 수 있다.
본 명세서에 사용된 용어, 모듈은 응용 주문형 집적 회로(ASIC), 전자 회로, 조합 논리 회로, 현장 프로그래머블 게이트 어레이(FPGA), 코드를 실행하는 (공유, 전용(dedicated) 또는 그룹)프로세서, 기술된 기능성을 제공하는 다른 적절한 컴포넌트들 또는 시스템 온 칩(system on chip)에서와 같이 상기의 일부 또는 모두의 조합을 나타내거나, 그 일부에 속하거나 또는 이들을 포함할 수 있다. 상기 용어, 모듈은 상기 프로세서에 의해 실행되는 코드를 저장하는 (공유, 전용 또는 그룹)메모리를 포함할 수 있다.
본 명세서에 사용된 용어, 코드는 소프트웨어, 펌웨어 및/또는 마이크로코드를 포함할 수 있고, 프로그램들, 루틴(routine)들, 기능(fucntion)들, 클래스들 및/또는 객체(object)들을 나타낼 수 있다. 본 명세서에 사용된 용어, 공유(shared)는 복수 모듈들로부터의 일부 또는 모든 코드가 단일(공유) 프로세서를 사용하여 실행될 수 있음을 의미한다. 게다가, 복수 모듈들로부터의 일부 또는 모든 코드는 단일(공유) 메모리에 의해 저장될 수 있다. 본 명세서에 사용된 용어, 그룹(group)은 단일 모듈로부터의 일부 또는 모든 코드가 프로세서들의 그룹을 사용하여 실행될 수 있음을 의미한다. 게다가, 단일 모듈로부터의 일부 또는 모든 코드는 메모리들의 그룹을 사용하여 저장될 수 있다.
본 명세서에 기술된 장치 및 방법들은 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 컴퓨터 프로그램들에 의해 구현될 수 있다. 컴퓨터 프로그램들은 비-일시적 유형 컴퓨터 판독가능 매체 상에 저장된 프로세서로 실행가능한 명령들을 포함한다. 컴퓨터 프로그램들은 또한, 저장된 데이터를 포함할 수 있다. 비-일시적 유형 컴퓨터 판독가능 매체의 비-제한적인 예들은 비휘발성 메모리, 자기 스토리지 및 광학 스토리지이다.

Claims (20)

  1. 물리층 디바이스(physical layer device)로서,
    메모리와;
    상기 메모리로의 액세스를 제어하도록 구성된 메모리 제어 모듈과;
    상기 메모리 제어 모듈을 통해 상기 메모리에 패킷들을 저장하도록 구성된 물리층 모듈과, 상기 물리층 모듈은
    네트워크를 통해 네트워크 디바이스로부터 상기 패킷들을 수신하도록 구성된 적어도 하나의 인터페이스와, 그리고
    제어 모듈 및 정규 표현식 모듈(regular expression module) 중 적어도 하나를 포함하는 인터페이스 버스로 구성되고, 상기 제어 모듈 및 정규 표현식 모듈 중 적어도 하나는 상기 패킷들의 보안 레벨(security level)을 결정하기 위해 상기 패킷들을 검사하도록 구성되며; 그리고
    상기 보안 레벨에 근거하여, 상기 물리층 디바이스와 별개인 디바이스에 상기 패킷들을 제공하도록 구성된 네트워크 인터페이스를 포함하여 구성된 것을 특징으로 하는 물리층 디바이스.
  2. 제1항에 있어서,
    상기 메모리는 더블 데이터 레이트 메모리(double data rate memory)를 포함하고, 상기 물리층 모듈과 상기 메모리 사이에 연결된 메모리 인터페이스를 통해 액세스가능한 것을 특징으로 하는 물리층 디바이스.
  3. 제1항에 있어서,
    상기 물리층 디바이스는 제1 시스템-인-패키지(system-in-a-package)에 구현되고;
    상기 메모리는 제2 시스템-인-패키지에 구현되며; 그리고
    상기 제1 시스템-인-패키지 및 제2 시스템-인-패키지는 스택(stack)된 것을 특징으로 하는 물리층 디바이스.
  4. 제1항에 있어서,
    상기 제어 모듈 및 정규 표현식 모듈 중 적어도 하나는,
    유효(valid) 패킷;
    상기 제어 모듈 및 상기 정규 표현식 모듈 중 적어도 하나를 통해 추가로 검사될 패킷;
    추가의 검사를 위해 중앙 제어 모듈 - 상기 중앙 제어 모듈은 상기 물리층 디바이스와 별개이고 - 에 터널링(tunnel)될 패킷; 및
    무효(invalid) 패킷
    중 적어도 하나가 될 각각의 상기 패킷들의 보안 레벨을 결정하도록 구성된 것을 특징으로 하는 물리층 디바이스.
  5. 제4항에 있어서,
    유효의 보안 레벨을 가진 패킷들의 각각은 상기 물리층 디바이스로부터 상기 물리층 모듈과 별개인 디바이스에 포워딩(forward)되고; 그리고
    무효의 보안 레벨을 가진 패킷들의 각각은 드롭(drop)되는 것을 특징으로 하는 물리층 디바이스.
  6. 제1항에 있어서,
    상기 물리층 디바이스와 별개인 디바이스는 페브릭 카드(fabric card)의 통합 스위치(aggregation switch)이고; 그리고
    상기 물리층 모듈은 라인 카드(line card)에 구현되며 상기 페브릭 카드와 통신하는 것을 특징으로 하는 물리층 디바이스.
  7. 제1항에 있어서,
    상기 네트워크 인터페이스는 중앙 제어 모듈에 상기 패킷들 중 선택된 패킷들을 제공하도록 구성되며;
    상기 중앙 제어 모듈은 상기 물리층 디바이스와 별개이고; 그리고
    상기 네트워크 인터페이스는 상기 중앙 제어 모듈에 의해 수행된 상기 패킷들 중 선택된 패킷들의 검사에 근거하여, 상기 패킷들 중 선택된 패킷들 외의 패킷들을 포워딩하도록 구성된 것을 특징으로 하는 물리층 디바이스.
  8. 제1항에 있어서,
    삼진 컨텐트 어드레싱가능 메모리(ternary content addressable memory)를 더 포함하여 구성되고, 상기 제어 모듈 및 정규 표현식 모듈 중 적어도 하나는 상기 삼진 컨텐트 어드레싱가능 메모리를 이용하여 상기 패킷들의 보안 레벨을 결정하기 위해 상기 패킷들을 검사하도록 구성된 것을 특징으로 하는 물리층 디바이스.
  9. 제1항에 있어서,
    상기 메모리는 제1 메모리이고;
    상기 인터페이스 버스는 제2 메모리를 포함하며;
    상기 제어 모듈 및 정규 표현식 모듈 중 적어도 하나는 상기 제1 메모리 및 제2 메모리 중 적어도 한 메모리에 상기 패킷들 및 대응하는 패킷 정보를 저장할지 결정하도록 구성되고; 그리고
    상기 패킷 정보는 상기 패킷들의 보안 레벨을 포함하는 것을 특징으로 하는 물리층 디바이스.
  10. 제1항에 있어서,
    상기 물리층 모듈은 제1 물리층 모듈이고;
    상기 물리층 디바이스는 제2 물리층 모듈을 더 포함하며; 그리고
    상기 제2 물리층 모듈은 상기 제1 물리층 모듈과 상기 메모리를 공유하는 것을 특징으로 하는 물리층 디바이스.
  11. 제1항에 있어서,
    룰(rule)들 및 테이블(table)들 중 적어도 하나를 저장하도록 구성된 보안 캐시 모듈; 및
    상기 룰들 및 테이블들에 근거하여 상기 패킷들을 검사하도록 구성된 진입 파싱 모듈을 더 포함하여 구성된 것을 특징으로 하는 물리층 디바이스.
  12. 제11항에 있어서,
    상기 제어 모듈은 검사 결과들을 생성하도록 상기 패킷들을 검사하고, 상기 검사 결과들에 근거하여 상기 보안 캐시 모듈을 갱신하도록 구성된 것을 특징으로 하는 물리층 디바이스.
  13. 제1항에 있어서,
    상기 물리층 모듈은,
    제1 커맨드 신호(command signal)를 생성하기 위해 상기 패킷들을 검사하도록 구성된 제1 모듈과;
    제2 커맨드 신호를 생성하기 위해 상기 패킷들을 검사하도록 구성된 제2 모듈과,
    여기서, 상기 제어 모듈 및 정규 표현식 모듈 중 적어도 하나는 패킷들을 검사하고 제3 커맨드 신호를 생성하도록 구성되며; 그리고
    상기 제1 커맨드 신호, 제2 커맨드 신호 및 제3 커맨드 신호에 근거하여 보안 레벨 신호를 생성하도록 구성된 보안 레벨 모듈을 더 포함하고,
    여기서, 상기 네트워크 인터페이스는 상기 보안 레벨 신호에 근거하여 상기 물리층 디바이스와 별개인 디바이스에 상기 패킷들을 제공하는 것을 특징으로 하는 물리층 디바이스.
  14. 제1항에 있어서,
    상기 물리층 모듈은 복수의 모듈들을 포함하고;
    상기 복수의 모듈들의 각각은 상기 패킷들을 검사하고 복수의 보안 레벨 추정치(estimate)들을 생성하도록 구성되며;
    보안 레벨 모듈이 상기 복수의 보안 레벨 추정치들에 근거하여 보안 레벨 신호를 생성하도록 구성되며; 그리고
    상기 보안 레벨 신호에 근거하여, 상기 네트워크 인터페이스는 상기 물리층 디바이스와 별개인 디바이스에 상기 패킷들을 제공하도록 구성된 것을 특징으로 하는 물리층 디바이스.
  15. 제1항에 있어서,
    상기 네트워크 인터페이스는 검사를 위해 중앙 제어 모듈에 상기 패킷들 중 선택된 패킷들을 제공하도록 구성되고;
    상기 중앙 제어 모듈은 상기 물리층 디바이스와 별개이며; 그리고
    상기 물리층 모듈은 상기 중앙 제어 모듈에서 수행된 검사에 근거하여 상기 중앙 제어 모듈로부터 명령 신호를 수신하고 그 다음, 상기 명령 신호에 근거하여 상기 패킷들 중 선택된 패킷들 외의 패킷들을 포워딩하도록 구성된 것을 특징으로 하는 물리층 디바이스.
  16. 액세스 샤시(access chassis)로서,
    네트워크 디바이스로부터 패킷들을 수신하고 물리층 디바이스와 별개인 디바이스에 상기 패킷들을 전송하도록 구성된 복수의 라인 카드들과, 상기 복수의 라인 카드들 중 제1 라인 카드는 청구항 제1항의 물리층 디바이스를 포함하고; 그리고
    상기 복수의 라인 카드들 중 상기 제1 라인 카드와 제2 라인 카드 사이에 스위칭 연결들을 제공하고 상기 제1 라인 카드로부터 상기 제2 라인 카드로 상기 패킷들을 포워딩하도록 구성된 적어도 하나의 페브릭 카드를 포함하여 구성된 것을 특징으로 하는 액세스 샤시.
  17. 제16항에 있어서,
    상기 적어도 하나의 페브릭 카드는 중앙 제어 모듈을 포함하고;
    상기 물리층 모듈의 진입 모듈 및 출구 모듈 중 하나는 상기 패킷들 중 선택된 패킷들이 상기 중앙 제어 모듈에 의해 검사될지 결정하도록 구성되며;
    상기 중앙 제어 모듈은 상기 패킷들 중 선택된 패킷들이 상기 중앙 제어 모듈에 의해 검사될지 결정한 것에 근거하여 상기 패킷들 중 선택된 패킷들을 검사하도록 구성된 것을 특징으로 하는 액세스 샤시.
  18. 제17항에 있어서,
    상기 중앙 제어 모듈은 상기 패킷들 중 선택된 패킷들과 유사한 포맷을 가진 패킷들을 드롭시킬지 또는 포워딩할지 나타내는 명령 신호를 생성하도록 구성되고; 그리고
    상기 명령 신호에 근거하여, 상기 물리층 디바이스는 상기 패킷들 중 선택된 패킷들과 유사한 포맷을 가진 상기 패킷들을 드롭 또는 포워딩하도록 구성된 것을 특징으로 하는 액세스 샤시.
  19. 방법으로서,
    물리층 모듈의 인터페이스에서 네트워크를 통해 물리층 디바이스 내의 네트워크 디바이스로부터 패킷들을 수신하는 단계와, 여기서 상기 물리층 디바이스는 상기 물리층 모듈을 포함하고;
    메모리에 상기 패킷들을 저장하도록 상기 물리층 모듈로부터 메모리 제어 모듈로 상기 패킷들을 전달하는 단계와, 여기서 상기 물리층 모듈은 인터페이스 버스, 상기 메모리 제어 모듈 및 상기 메모리를 포함하며;
    제어 모듈 및 정규 표현식 모듈 중 적어도 하나를 통해 상기 패킷들의 보안 레벨을 결정하도록 상기 패킷들을 검사하는 단계와, 여기서 상기 인터페이스 버스는 상기 제어 모듈 및 정규 표현식 모듈 중 적어도 하나를 포함하고; 그리고
    상기 보안 레벨에 근거하여, 네트워크 인터페이스를 통해 상기 물리층 디바이스와 별개인 디바이스에 상기 패킷들을 제공하는 단계를 포함하고, 여기서 상기 물리층 디바이스는 상기 네트워크 인터페이스를 포함하는 것을 특징으로 하는 방법.
  20. 제19항에 있어서,
    상기 패킷들을 검사하는 단계는,
    제1 모듈을 통해 제1 커맨드 신호를 생성하도록 상기 패킷들을 검사하는 단계와,
    제2 모듈을 통해 제2 커맨드 신호를 생성하도록 상기 패킷들을 검사하는 단계와,
    제3 커맨드 신호를 생성하도록 상기 제어 모듈 및 정규 표현식 모듈 중 적어도 하나를 통해 상기 패킷들을 검사하는 단계와, 그리고
    상기 제1 커맨드 신호, 제2 커맨드 신호 및 제3 커맨드 신호에 근거하여 보안 레벨 신호를 생성하는 단계를 포함하고,
    상기 패킷들을 제공하는 단계는,
    상기 보안 레벨 신호에 근거하여, 상기 네트워크 인터페이스를 통해 상기 물리층 디바이스와 별개인 상기 디바이스에 상기 패킷들을 제공하는 단계를 포함하는 것을 특징으로 하는 방법.
KR1020147004063A 2011-08-10 2012-08-10 이더넷 네트워크들에 대한 보안 검출을 이용하는 지능형 phy KR101989586B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201161522158P 2011-08-10 2011-08-10
US61/522,158 2011-08-10
US201161533436P 2011-09-12 2011-09-12
US61/533,436 2011-09-12
US201161550315P 2011-10-21 2011-10-21
US61/550,315 2011-10-21
US13/571,870 2012-08-10
PCT/US2012/050373 WO2013023153A1 (en) 2011-08-10 2012-08-10 Intelligent phy with security detection for ethernet networks
US13/571,870 US8839405B2 (en) 2011-08-10 2012-08-10 Intelligent PHY with security detection for ethernet networks

Publications (2)

Publication Number Publication Date
KR20140048284A KR20140048284A (ko) 2014-04-23
KR101989586B1 true KR101989586B1 (ko) 2019-06-14

Family

ID=46750470

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147004063A KR101989586B1 (ko) 2011-08-10 2012-08-10 이더넷 네트워크들에 대한 보안 검출을 이용하는 지능형 phy

Country Status (6)

Country Link
US (1) US8839405B2 (ko)
EP (1) EP2742649B1 (ko)
JP (1) JP6074776B2 (ko)
KR (1) KR101989586B1 (ko)
CN (1) CN103875214B (ko)
WO (1) WO2013023153A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130085570A (ko) * 2011-12-22 2013-07-30 한국전자통신연구원 단말 중심 사이버 공격 방지 방법 및 그에 따른 단말 장치
JP2015528263A (ja) * 2012-07-31 2015-09-24 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. ネットワークトラフィック処理システム
US9250954B2 (en) * 2013-01-17 2016-02-02 Xockets, Inc. Offload processor modules for connection to system memory, and corresponding methods and systems
US9264357B2 (en) * 2013-04-30 2016-02-16 Xpliant, Inc. Apparatus and method for table search with centralized memory pool in a network switch
CN104268165B (zh) * 2014-09-09 2017-12-29 华为技术有限公司 一种在线查询方法及设备
KR20160036201A (ko) * 2014-09-25 2016-04-04 한국전자통신연구원 비정상 통신 차단 장치 및 방법
US9525697B2 (en) * 2015-04-02 2016-12-20 Varmour Networks, Inc. Delivering security functions to distributed networks
US9483317B1 (en) 2015-08-17 2016-11-01 Varmour Networks, Inc. Using multiple central processing unit cores for packet forwarding in virtualized networks
US10417458B2 (en) * 2017-02-24 2019-09-17 Microsoft Technology Licensing, Llc Securing an unprotected hardware bus
US11212257B2 (en) * 2018-06-22 2021-12-28 Aeronix, Inc. Multi-level secure ethernet switch
US11424953B2 (en) * 2018-11-28 2022-08-23 Kinnexa, Inc. Modular physical layer and integrated connector module for local area networks
CN109194591A (zh) * 2018-12-03 2019-01-11 济南浪潮高新科技投资发展有限公司 一种100g与10g以太互通系统及方法
US11115389B2 (en) * 2019-05-17 2021-09-07 Juniper Networks, Inc. Media access control security (MACsec) enabled links of a link aggregation group (LAG)
CN117118755B (zh) * 2023-10-23 2024-04-19 北京光润通科技发展有限公司 网卡链路层组间路由安全级别审核方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070056029A1 (en) 2005-08-19 2007-03-08 Cpacket Networks Inc. Apparatus and method for providing security and monitoring in a networking architecture
US20070157306A1 (en) 2005-12-30 2007-07-05 Elrod Craig T Network threat detection and mitigation
US20070261112A1 (en) 2006-05-08 2007-11-08 Electro Guard Corp. Network Security Device
US20080298392A1 (en) 2007-06-01 2008-12-04 Mauricio Sanchez Packet processing
US20110035580A1 (en) 2009-08-06 2011-02-10 Broadcom Corporation Media access control security management in physical layer

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100393053C (zh) * 2002-06-27 2008-06-04 中兴通讯股份有限公司 多路解复用发送受控器
US7711948B2 (en) * 2003-09-30 2010-05-04 Cisco Technology, Inc. Method and apparatus of communicating security/encryption information to a physical layer transceiver
US8656488B2 (en) * 2005-03-11 2014-02-18 Trend Micro Incorporated Method and apparatus for securing a computer network by multi-layer protocol scanning
CN100596354C (zh) * 2005-10-17 2010-03-31 杭州华三通信技术有限公司 网络接入设备及其数据转发方法
US8097956B2 (en) * 2009-03-12 2012-01-17 Apple Inc. Flexible packaging for chip-on-chip and package-on-package technologies

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070056029A1 (en) 2005-08-19 2007-03-08 Cpacket Networks Inc. Apparatus and method for providing security and monitoring in a networking architecture
US20070157306A1 (en) 2005-12-30 2007-07-05 Elrod Craig T Network threat detection and mitigation
US20070261112A1 (en) 2006-05-08 2007-11-08 Electro Guard Corp. Network Security Device
US20080298392A1 (en) 2007-06-01 2008-12-04 Mauricio Sanchez Packet processing
US20110035580A1 (en) 2009-08-06 2011-02-10 Broadcom Corporation Media access control security management in physical layer

Also Published As

Publication number Publication date
EP2742649B1 (en) 2015-06-03
WO2013023153A4 (en) 2013-04-11
US20130212670A1 (en) 2013-08-15
JP6074776B2 (ja) 2017-02-08
CN103875214A (zh) 2014-06-18
EP2742649A1 (en) 2014-06-18
WO2013023153A1 (en) 2013-02-14
US8839405B2 (en) 2014-09-16
JP2014525703A (ja) 2014-09-29
CN103875214B (zh) 2017-05-03
KR20140048284A (ko) 2014-04-23

Similar Documents

Publication Publication Date Title
KR101989586B1 (ko) 이더넷 네트워크들에 대한 보안 검출을 이용하는 지능형 phy
EP2767064B1 (en) Intelligent connectors integrating magnetic modular jacks and intelligent physical layer devices
US8284664B1 (en) Redirecting data units to service modules based on service tags and a redirection table
US7808897B1 (en) Fast network security utilizing intrusion prevention systems
US8296846B2 (en) Apparatus and method for associating categorization information with network traffic to facilitate application level processing
US8059532B2 (en) Data and control plane architecture including server-side triggered flow policy mechanism
US8665868B2 (en) Apparatus and method for enhancing forwarding and classification of network traffic with prioritized matching and categorization
EP1754349B1 (en) Hardware filtering support for denial-of-service attacks
US7890991B2 (en) Apparatus and method for providing security and monitoring in a networking architecture
US8346918B2 (en) Apparatus and method for biased and weighted sampling of network traffic to facilitate network monitoring
US9407518B2 (en) Apparatus, system, and method for enhanced reporting and measurement of performance data
US20070245417A1 (en) Malicious Attack Detection System and An Associated Method of Use
US7787463B2 (en) Content aware apparatus and method
US10069704B2 (en) Apparatus, system, and method for enhanced monitoring and searching of devices distributed over a network
EP2452466B1 (en) Apparatus and method for enhancing forwarding, classification, and monitoring of network traffic
US20140173102A1 (en) Apparatus, System, and Method for Enhanced Reporting and Processing of Network Data
EP2929472B1 (en) Apparatus, system and method for enhanced network monitoring, data reporting, and data processing
Halder et al. Detection of flow violation in distributed SDN controller
Lin et al. Collaborative distributed intrusion detection system
US20140172852A1 (en) Apparatus, System, and Method for Reducing Data to Facilitate Identification and Presentation of Data Variations
Lockwood Network Packet Processing in Reconfigurable Hardware
Miao Scaling-out Traffic Management in the Cloud

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant