KR100858052B1 - 이더넷 헤더 처리 장치 및 그 방법 - Google Patents

이더넷 헤더 처리 장치 및 그 방법 Download PDF

Info

Publication number
KR100858052B1
KR100858052B1 KR1020060123988A KR20060123988A KR100858052B1 KR 100858052 B1 KR100858052 B1 KR 100858052B1 KR 1020060123988 A KR1020060123988 A KR 1020060123988A KR 20060123988 A KR20060123988 A KR 20060123988A KR 100858052 B1 KR100858052 B1 KR 100858052B1
Authority
KR
South Korea
Prior art keywords
ethernet
frame
header
input
destination
Prior art date
Application number
KR1020060123988A
Other languages
English (en)
Other versions
KR20080052026A (ko
Inventor
최창호
김정식
주범순
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020060123988A priority Critical patent/KR100858052B1/ko
Publication of KR20080052026A publication Critical patent/KR20080052026A/ko
Application granted granted Critical
Publication of KR100858052B1 publication Critical patent/KR100858052B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 이더넷 매체접근제어(MAC) 프레이머와 네트워크 프로세서(또는 전용 패킷 프로세서) 사이에 위치하여 다양한 형태의 이더넷 프레임에 대해 목적지 및 발신지 주소 필터링, 프레임의 완전성 검사를 독립적으로 수행함으로써, 고속처리가 요구되는 네트워크 통신 장비에서 이더넷 헤더 처리 기능을 수행하는 이더넷 헤더 처리 장치 및 그 방법에 관한 것으로, 매체접근제어 프레이머로부터 입력되는 이더넷 프레임을 수신하는 입력수단; 상기 입력수단에 의해 수신된 이더넷 프레임에 대해 프레임의 종류를 구분하고, 목적지와 발신지 주소를 추출하는 이더넷 헤더 분석수단; 상기 이더넷 헤더 분석수단에 의해 추출된 목적지 및 발신지 주소를 필터링하는 필터링수단; 상기 필터링수단으로부터 전달받은 이더넷 프레임에 대해 데이터의 완전성을 검사하는 프레임 체크 시퀀스 검사수단; 상기 프레임 체크 시퀀스 검사수단에 의한 검사 결과가 이상이 없는 경우 이더넷 헤더를 제거하는 이더넷 헤더 제거수단; 상기 이더넷 헤더 제거수단에 의해 헤더가 제거된 프레임을 입력받아 외부의 프로세서로 출력하는 출력수단; 및 상기 입력수단과, 상기 이더넷 헤더 분석수단과, 상기 필터링수단과, 상기 프레임 체크 시퀀스 검사수단과, 상기 이더넷 헤더 제거수단과, 상기 출력수단에 연결되어 레지스터 초기화 및 주소 필터링을 위한 목적지 주소 및 발신지 주소값을 상기 필터링수단의 해당 메모리에 프로그래밍하고 상태정보를 수집하여 상위 프로세서로 전달하는 제어수단을 포함한다.
Figure R1020060123988
이더넷, 프레임, 헤더, 처리, 프레이머, 필터, FCS, 검사

Description

이더넷 헤더 처리 장치 및 그 방법{Apparatus and Method for Processing Ethernet Header}
도 1은 본 발명의 따른 이더넷 헤더 처리 장치의 일 실시예 구성도,
도 2a는 MPLS 레이블을 포함한 이더넷 프레임의 구조도,
도 2b는 본 발명에 의해 이더넷 헤더가 제거된 프레임의 구조도,
도 3a 및 도 3b는 본 발명에 따른 이더넷 헤더 처리 방법의 일 실시예 흐름도이다.
* 도면의 주요 부분에 대한 부호의 설명
100: 이더넷 MAC 프레이머
200: 이더넷 헤더 처리 장치
210: 프로세서 인터페이스(CPU I/F)
220: 시스템 물리계층 입력단 인터페이스(SPI I/F)
230: 이더넷 헤더 분석기
240: MAC 필터
250: 프레임 체크 시퀀스(FCS) 검사기
260: 이더넷 헤더 제거기
270: 시스템 물리계층 출력단 인터페이스(SPI I/F)
300: 네트워크 프로세서 또는 전용 패킷 프로세서
본 발명은 이더넷 헤더 처리 장치 및 그 방법에 관한 것으로, 더욱 자세하게는 이더넷 매체접근제어(MAC) 프레이머와 네트워크 프로세서(또는 전용 패킷 프로세서) 사이에 위치하여 다양한 형태의 이더넷 프레임에 대해 목적지 및 발신지 주소 필터링, 프레임의 완전성 검사를 독립적으로 수행함으로써, 고속처리가 요구되는 네트워크 통신 장비에서 이더넷 헤더 처리 기능을 수행하는 이더넷 헤더 처리 장치 및 그 방법에 관한 것이다.
종래의 이더넷 헤더 처리장치는 다양한 매체를 통해 입력되는 이더넷 프레임의 물리적 정합에 필요한 물리계층 정합부, MAC 프레이머, 패킷 처리 과정에 필요한 여러 단의 선입력선출력(FIFO) 로직과 데이터 링크계층 스위칭 과정에 필요한 패킷 검색 엔진 로직, 목적지 및 발신지 주소 저장 로직 및 이들을 제어하는 제어로직과 함께 이더넷 스위칭 시스템의 일부분을 구성한다.
전술한 바와 같이, 이더넷 스위칭 시스템은 데이터 링크계층 스위칭 과정을 위해 물리계층 정합부와 MAC 프레이머(framer)를 거쳐 입력된 이더넷 프레임에 대해 필요한 정보를 추출하고, 프레임의 완전성 검사를 수행한 후, FIFO에 입력 프레임을 저장하고, 저장된 프레임 단위로 검색엔진의 검색 알고리즘에 따라 출력 포트를 결정하여 다시 FIFO에 저장하고, MAC의 송수신 알고리즘(전이중, 반이중)에 따라 물리계층을 통해 프레임을 전달하는 일련의 과정을 수행한다.
상기와 같은 이더넷 스위칭 시스템은 데이터 링크계층의 패킷 스위칭을 위해 매 입력되는 프레임마다 출력 포트 결정을 위한 주소 검색 알고리즘을 수행해야 하며, 이는 수신되는 패킷이 입력된 이후 결정된 포트로 출력되기까지 지연시간이 많이 발생하는 문제점이 있어 효율이 저하되고 많은 로직을 사용하게 되어 시스템의 성능을 저하시키는 문제점이 있다.
또한, 3 계층(네트워크 계층, 예 : 인터넷 프로토콜) 패킷의 목적지 주소에 따른 출력포트를 결정하는 라우터의 경우 이더넷 프레임 헤더의 목적지 주소값에 의한 출력포트 결정이 필요 없게 되어 사용하지 않는 로직이 추가되는 문제점이 있다.
따라서 본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위해 제안된 것으로, MAC 프레이머와 네트워크 프로세서(또는 전용의 패킷 프로세서) 사이에 위치하여 패킷 스위칭 과정을 위한 검색엔진 영역은 제거하고, 다양한 형태의 이더넷 프레임에 대해 목적지 및 발신지 주소 필터링, 프레임의 완전성 검사 기능을 포함한 이더넷 헤더 영역 처리 과정만을 독립적으로 수행함으로써, 고속처리가 요구되는 네트워크 통신 장비에서 이더넷 헤더 처리 기능을 제공하고 이더넷 인터페이스가 없는 라우터에 이더넷 프레임 처리기능을 제공할 수 있는 이더넷 헤더 처리 장치 및 그 방법을 제공하는데 그 목적이 있다.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명에 따른 장치는, 매체접근제어 프레이머로부터 입력되는 이더넷 프레임을 수신하는 입력수단; 상기 입력수단에 의해 수신된 이더넷 프레임에 대해 프레임의 종류를 구분하고, 목적지와 발신지 주소를 추출하는 이더넷 헤더 분석수단; 상기 이더넷 헤더 분석수단에 의해 추출된 목적지 및 발신지 주소를 필터링하는 필터링수단; 상기 필터링수단으로부터 전달받은 이더넷 프레임에 대해 데이터의 완전성을 검사하는 프레임 체크 시퀀스 검사수단; 상기 프레임 체크 시퀀스 검사수단에 의한 검사 결과가 이상이 없는 경우 이더넷 헤더를 제거하는 이더넷 헤더 제거수단; 상기 이더넷 헤더 제거수단에 의해 헤더가 제거된 프레임을 입력받아 외부의 프로세서로 출력하는 출력수단; 및 상기 입력수단과, 상기 이더넷 헤더 분석수단과, 상기 필터링수단과, 상기 프레임 체크 시퀀스 검사수단과, 상기 이더넷 헤더 제거수단과, 상기 출력수단에 연결되어 레지스터 초기화 및 주소 필터링을 위한 목적지 주소 및 발신지 주소값을 상기 필터링수단의 해당 메모리에 프로그래밍하고 상태정보를 수집하여 상위 프로세서로 전달하는 제어수단을 포함한다.
바람직하게는, 상기 이더넷 헤더 분석수단은, 상기 입력된 이더넷 프레임의 길이/타입 필드 값을 추출하여, 기본 이더넷 프레임, 가상 랜이 포함된 이더넷 프레임, 논리적 링크 제어 영역을 포함한 이더넷 프레임, 서브 네트워크 액세스 프로토콜(SNAP) 영역을 포함한 이더넷 프레임, 및 적어도 하나 이상의 MPLS 레이블을 포함한 이더넷 프레임으로 구분하고, 목적지 및 발신지 주소를 추출한다.
바람직하게는, 상기 이더넷 헤더 분석수단은, 상기 입력된 이더넷 프레임이 기본 이더넷 프레임, 가상 랜이 포함된 이더넷 프레임, 논리적 링크 제어 영역을 포함한 이더넷 프레임, 서브 네트워크 액세스 프로토콜(SNAP) 영역을 포함한 이더넷 프레임, 및 적어도 하나 이상의 MPLS 레이블을 포함한 이더넷 프레임 중 어느 하나의 프레임에도 해당되지 않는 경우 선택적 헤더 영역에 예외 처리 플래그를 설정한다.
바람직하게는, 상기 이더넷 헤더 분석수단은, 상기 입력된 이더넷 프레임의 제어 영역과, 목적지 서비스 액세스 점(DSAP)과, 발신지 서비스 액세스 점(SSAP)의 필드 값을 추출하여, 서브 네트워크 액세스 프로토콜(SNAP) 패킷인 경우 프로토콜 식별자를 추출한 후, IPv4 프레임인지, IPv6 프레임인지, MPLS 프레임인지를 구분한다.
또한, 상기 목적을 달성하기 위한 본 발명에 따른 방법은, 이더넷 프레이머로부터 입력된 이더넷 프레임의 헤더 처리 방법에 있어서, 상기 이더넷 프레이머로부터 입력되는 이더넷 프레임에 대해 프레임의 종류를 구분하고, 목적지와 발신지 주소를 추출하는 제1 단계; 상기 추출된 목적지 및 발신지 주소를 필터링하는 제2 단계; 상기 제2 단계에서 필터링 과정이 수행된 이더넷 프레임에 대해 프레임 체크 시퀀스 검사를 통해 데이터의 완전성을 검사하는 제3 단계; 상기 프레임 체크 시퀀스 검사 결과가 이상이 없는 경우 이더넷 헤더를 제거하는 제4 단계; 및 상기 이더넷 헤더가 제거된 프레임을 외부의 프로세서로 출력하는 제5 단계를 포함한다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시 예를 상세히 설명하기로 한다.
도 1은 본 발명에 따른 이더넷 헤더 처리 장치의 일 실시예 구성도이다.
다양한 프레임 형태를 지닌 이더넷 프레임은 이더넷 MAC 프레이머(100)를 통해 이더넷 헤더 처리장치(200)로 입력된다. 이더넷 헤더 처리장치(200)는 이더넷 헤더 처리 과정을 수행한 후 패킷 포워딩을 위해 네트워크 프로세서(또는 전용 패 킷 프로세서)(300)로 전달한다.
도 1에 도시된 바와 같이, 이더넷 MAC 프레이머(100)는 시스템 물리계층 입력단 인터페이스(SPI I/F)(220)의 신호 입력단에 접속되고, 시스템 물리계층 입력단 인터페이스(220)의 신호 출력단은 이더넷 헤더 분석기(230)의 신호 입력단에 접속된다. 그리고 이더넷 헤더 분석기(230)의 신호 출력단은 MAC 필터(240)의 신호 입력단에 접속되고, MAC 필터(240)의 신호 출력단은 프레임 체크 시퀀스(FCS: Frame Check Sequence) 검사기(250)의 신호 입력단에 접속된다. 또한, 프레임 체크 시퀀스 검사기(250)의 신호 출력단은 이더넷 헤더 제거기(260)의 신호 입력단에 접속되고, 이더넷 헤더 제거기(260)의 신호 출력단은 시스템 물리계층 출력단 인터페이스(SPI I/F)(270)의 신호 입력단에 접속되고, 시스템 물리계층 출력단 인터페이스(270)의 신호 출력단은 네트워크 프로세서 또는 전용 패킷 프로세서(300)의 신호입력단에 접속된다. 프로세서 인터페이스(210)는 이더넷 헤더 처리장치(200)의 시스템 물리계층 입력단 인터페이스(220), 이더넷 헤더 분석기(230), MAC 필터(240), 프레임 체크 시퀀스 검사기(250), 이더넷 헤더 제거기(260) 및 시스템 물리계층 출력단 인터페이스(270)에 연결된다.
시스템 물리계층 입력단 인터페이스(220)를 통해 입력되는 이더넷 프레임은 이더넷 헤더 분석기(230)로 입력된다. 이더넷 헤더 분석기(230)는 향후 이어지는 각 기능 블록에서의 처리 과정에 용이하도록 적절한 직/병렬 변환 과정을 수행하고, 프레임 시작, 프레임 종료, 프레임 에러 및 프레임 유효 신호와 같은 제어신호를 생성한다. 또한, 도 3a에 도시된 바와 같이 여러 형태의 이더넷 프레임을 구분하고 필요한 정보 즉, 목적지 주소 및 발신지 주소 등을 추출한다.
MAC 필터(240)는 이더넷 헤더 분석기(230)에 의해 추출된 목적지 및 발신지 주소를 사용하여 포트 기준의 유니캐스트 및 멀티캐스트 목적지 주소 필터링과 포트별 발신지 주소 필터링을 수행하며, 미리 설정된 목적지 주소 및 발신지 주소와 비교하여 일치가 발생하지 않을 경우 유효하지 않은 입력 프레임으로 판단하고 필터링함으로써 이어지는 패킷 처리 과정의 부담을 덜어주는 기능을 수행한다. MAC 필터(240)의 출력은 프레임 체크 시퀀스 검사기(250)로 입력된다.
프레임 체크 시퀀스 검사기(250)는 입력된 이더넷 프레임의 데이터 완전성을 검사하기 위해 프레임의 전 구간에 걸쳐 32비트의 프레임 체크 시퀀스를 생성하고 입력된 32비트 프레임 체크 시퀀스와 비교하여 정상적인 프레임인지를 검사한다.
이더넷 헤더 제거기(260)는 MAC 필터(240)에 의해 수행된 목적지 및 발신지 주소 필터링과 프레임 체크 시퀀스 검사기(250)에 의한 프레임 체크 시퀀스 검사의 결과를 이용하여 만약 결과에 오류가 있을 경우 프레임을 폐기하고 처리 과정을 종료하며, 오류가 없을 경우 정상적인 프레임으로 인식하여 이더넷 헤더 영역을 제거한 후 패킷 포워딩을 위해 시스템 물리계층 출력단 인터페이스(270)를 통해 네트워크 프로세서 또는 전용의 패킷 프로세서(300)로 프레임을 전달한다. 이때, 시스템 물리계층 출력단 인터페이스(270)는 네트워크 프로세서 또는 전용 패킷 프로세서에서 향후 패킷 처리에 용이하도록 가변길이의 선택적 헤더를 추가하여 전송한다.
프로세서(CPU) 인터페이스(210)는 이더넷 헤더 처리 장치(200) 내의 각 기능블록에 연결되어 각 기능블록의 설정에 관한 레지스터 초기화 작업 및 주소 필터링을 위한 목적지 주소 및 발신지 주소값을 해당 메모리에 프로그래밍하고 상태정보를 수집하여 상위 프로세서로 전달한다.
도 2a는 MPLS 레이블을 포함한 이더넷 프레임의 구조도이다.
기존의 기본적인 이더넷 프레임은 프리엠블(401) 8바이트, MAC 목적지 주소(402) 6바이트, MAC 발신지 주소(403) 6바이트, 이더넷 프레임 길이 또는 타입(404) 2바이트, 데이터 페이로드(407) 46~1500바이트 및 프레임 체크 시퀀스(408) 4바이트로 구성된다.
여기에 가상 랜을 지원하기 위해 가상 랜(VLAN) 태그(405) 2바이트와 가상 랜(VLAN) 타입(406) 2바이트가 추가되고, 논리적 링크 제어(LLC: Logical Link Control) 프레임을 지원하기 위해 목적지 서비스 액세스 점(DSAP: Destination Service Access Point)(409) 1바이트, 발신지 서비스 액세스 점(SSAP: Source Service Access Point)(410) 1바이트, 제어영역(411) 1~2바이트, 서브네트워크 액세스 프로토콜(SNAP: Sub-Network Access Protocol)을 위한 기구적 유일 식별자(OUI: Organizationally Unique Identifier)(412) 3바이트 및 프로토콜 식별자(PID: Protocol Identifier)(413) 2바이트가 추가될 수 있다. 또한, 상위계층의 데이터 페이로드(414)가 MPLS 패킷일 경우 하나 또는 복수 개의 4바이트 MPLS 레이블(415,416,417)이 이더넷 헤더와 상위계층 데이터 페이로드(418) 사이에 위치하게 된다.
도 2b는 본 발명에 따른 이더넷 헤더가 제거된 프레임의 구조도이다.
이더넷 헤더에 대한 검사가 완료되고 정상적인 이더넷 프레임으로 판단되어 이더넷 헤더가 제거된 패킷은 이더넷 헤더 대신에 이어지는 네트워크 프로세서 또는 전용의 패킷 프로세서(300)에서 패킷 포워딩 과정에 필요한 정보를 포함하는 선택적 헤더(419)가 추가되어 전달된다. 상기 선택적 헤더(419)는 필요에 따라 0~8바이트의 길이를 가지며 선택적으로 설정될 수 있다. 예를 들어, 상위 계층의 네트워크 프로세서 또는 전용의 패킷 프로세서가 점대점 프로토콜(PPP: Point to Point Protocol)을 지원한다면 선택적 헤더(419)는 2바이트의 점대점 프로토콜 헤더와 이더넷 헤더 정보를 포함한 4바이트로 설정되고, MPLS 패킷을 지원한다면 MPLS 레이블의 구조에 따라 이더넷 헤더 정보를 포함함 4바이트의 유사 MPLS 레이블로 설정되어진다. 이더넷 헤더 정보는 프레임의 유효성, 포트 정보, 가상 랜의 유무, 가상 랜 식별자, 상위패킷 형태(IPv4, IPv6, MPLS, OSI) 등이 포함된다. 이더넷 헤더 제거 시에도 원래의 MPLS 레이블(420, 421)은 그대로 유지된다.
도 3a 및 3b는 본 발명에 따른 이더넷 헤더 처리 방법의 일 실시예 처리 흐름도이다.
이더넷 헤더의 처리 과정은 크게 두 단계로 구분할 수 있는데, 첫 번째는 입력되는 이더넷 프레임의 타입을 구분하는 단계이고, 두 번째는 정상적인 이더넷 프레임 타입으로 결정된 프레임에 대해 목적지 주소 및 발신지 주소 필터링과 프레임 체크 시퀀스 검사를 수행하는 단계이다. 첫 번째 처리 과정은 이더넷 헤더 분석기(230)에 의해 이루어지면, 두 번째 처리 과정은 MAC 필터(240)와, 프레임 체크 시퀀스 검사기(250)에 의해 수행된다.
먼저, 이더넷 프레임이 입력되면 첫 번째 이더넷 길이/타입 필드(404)를 추 출하여(501) 1500을 기준으로 타입 값과 길이 값으로 판단한다(504). 길이/타입 필드 값이 타입으로 판단되면(504) 다시, 타입 값이 가상 랜의 유무를 나타내는 0x8100 값인지를 확인한다(503). 확인 결과, 타입 값이 0x8100과 일치하면 가상 랜을 지원하는 프레임에서 두 번째 길이/타입 필드(406)값을 추출한 후(502), 다시 1500을 기준으로 타입 값과 길이 값으로 구분하는 과정(504)을 수행한다.
한편, 확인 결과, 타입 값이 가상 랜의 유무를 나타내는 0x8100이 아닐 경우에는(503) 이어지는 상위 계층의 데이터가 논리적 링크 제어 프레임 인지(즉, 이더넷 타입이 0x8870 인지)(505), IPv4인지(즉, 이더넷 타입이 0x0800 인지)(507), IPv6인지(즉, 이더넷 타입이 0x86DD 인지)(509), MPLS 인지(즉, 이더넷 타입이 0x8847 인지)(510)를 확인하는 과정을 수행한다. 만약, 타입 값이 상기 조건에 모두 만족하지 않는다면 선택적 헤더 영역(419)에 예외 처리 플래그를 설정한다(511). 여기서, 타입 값이 논리적 링크 제어 프레임이면(505), 목적지 서비스 액세스 점(DSAP: Destination Service Access point), 발신지 서비스 액세스 점(SSAP: Source Service Access Point) 및 제어 영역 값을 추출하는 과정(506)을 수행한다. 그리고 타입 값이 IPv4이거나(507), IPv6이거나(509), MPLS 이면(510), 목적이 주소를 필터링하는 과정(516)을 수행한다.
한편, 이더넷 길이/타입 필드 값이 길이 값으로 판단되면(504), 논리적 링크 제어 프레임으로 인지하고 목적지 서비스 액세스 점(DSAP), 발신지 서비스 액세스 점(SSAP) 및 제어 영역 값을 추출한 후(506), DSAP 및 SSAP의 값이 0xFE인지(즉, OSI 패킷인지)를 확인한다(508).
확인 결과, DSAP 및 SSAP의 값이 OSI 패킷이면, 목적지 주소를 필터링하는 과정(516)을 수행한다. 하지만, 확인 결과, DSAP 및 SSAP의 값이 OSI 패킷이 아니면, 다시 제어영역이 0x03인지(즉, SNAP 패킷에서 규정된 제어 영역 값인지)를 확인하여(512), 제어 영역이 0x03이 아니면 선택적 헤더 영역에 예외 처리 플래그를 설정한다(511).
한편, 제어영역이 0x03과 일치할 경우, 다시 DSAP 및 SSAP의 값을 검사하여(513), SNAP 패킷을 의미하는 0xAA이면 서브네트워크 액세스 프로토콜(SNAP : Sub-Network Access Protocol)의 프로토콜 식별자(PID: Protocol Identifier)를 추출한 후(514), 상위 계층의 데이터를 구분하는 과정을 다시 수행한다(507, 509, 510, 511). 한편, DSAP 및 SSAP의 값이 0x06(즉, IP 패킷)이면 상위 계층의 데이터를 IPv4로 인지하고, 목적지 주소를 필터링하는 과정(516)으로 이동한다. 만약, DSAP 및 SSAP의 값이 0xAA도 아니고 0x06도 아닐 경우(515) 선택적 헤더 영역에 예외 처리 플래그를 설정한다(511).
이와 같이 이더넷 헤더 분석기(230)에 의해 헤더 분석이 완료되면, 두 번째 처리 과정으로 MAC 필터링과 FCS 검사가 수행된다. 이에 대해 도 3b를 참조하여 살펴본다.
먼저, 헤더 분석이 완료된 프레임에 대해 목적지 주소 필터링을 수행한다(516). 목적지 주소 필터링의 결과, 입력된 프레임의 목적지 주소가 미리 설정된 메모리의 목적지 주소와 일치할 경우(517), 발신지 주소 필터링을 수행한다(518). 하지만, 목적지 주소 필터링의 결과, 입력된 프레임의 목적지 주소가 미리 설정된 메모리의 목적지 주소와 일치하지 않으면, 입력 프레임을 폐기시킨다(523).
한편, 발신지 주소 필터링 결과, 입력된 프레임의 발신지 주소가 미리 설정된 메모리의 발신지 주소와 일치하지 않으면(519), 입력 프레임을 폐기하고(523), 발신지 주소 필터링의 결과, 입력된 프레임의 발신지 주소가 미리 설정된 메모리의 발신지 주소와 일치하면, 프레임 체크 시퀀스 검사 과정을 수행한다(520).
프레임 체크 시퀀스 검사 결과, 오류가 있으면(521), 입력 프레임을 폐기하고, 프레임 체크 시퀀스 검사 결과, 오류가 없으면(521), 프레임 체크 시퀀스 4바이트를 포함한 이더넷 헤더 영역을 제거한 후(522), 이더넷 헤더 처리 과정을 종료한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
상기와 같은 본 발명은, 다양한 형태의 이더넷 헤더를 처리하고 제거한 후 이어지는 네트워크 프로세서 및 전용의 패킷 프로세서에 전달함으로써, 이더넷 프레임 처리 과정을 단순화하고 지연을 감소시키며, 이더넷 인터페이스를 지원하지 않는 시스템에서도 이더넷 프레임을 처리할 수 있는 효과가 있다.

Claims (14)

  1. 매체접근제어 프레이머로부터 입력되는 이더넷 프레임을 수신하는 입력수단;
    상기 입력수단에 의해 수신된 이더넷 프레임에 대해 프레임의 종류를 구분하고, 목적지와 발신지 주소를 추출하는 이더넷 헤더 분석수단;
    상기 이더넷 헤더 분석수단에 의해 추출된 목적지 및 발신지 주소를 필터링하는 필터링수단;
    상기 필터링수단으로부터 전달받은 이더넷 프레임에 대해 데이터의 완전성을 검사하는 프레임 체크 시퀀스 검사수단;
    상기 프레임 체크 시퀀스 검사수단에 의한 검사 결과가 이상이 없는 경우 이더넷 헤더를 제거하는 이더넷 헤더 제거수단;
    상기 이더넷 헤더 제거수단에 의해 헤더가 제거된 프레임을 입력받아 외부의 프로세서로 출력하는 출력수단; 및
    상기 입력수단과, 상기 이더넷 헤더 분석수단과, 상기 필터링수단과, 상기 프레임 체크 시퀀스 검사수단과, 상기 이더넷 헤더 제거수단과, 상기 출력수단에 연결되어 레지스터 초기화 및 주소 필터링을 위한 목적지 주소 및 발신지 주소값을 상기 필터링수단의 해당 메모리에 프로그래밍하고 상태정보를 수집하여 상위 프로세서로 전달하는 제어수단
    을 포함하는 이더넷 헤더 처리 장치.
  2. 제 1 항에 있어서,
    상기 이더넷 헤더 분석수단은,
    상기 입력된 이더넷 프레임의 길이/타입 필드 값을 추출하여, 기본 이더넷 프레임, 가상 랜이 포함된 이더넷 프레임, 논리적 링크 제어 영역을 포함한 이더넷 프레임, 서브 네트워크 액세스 프로토콜(SNAP) 영역을 포함한 이더넷 프레임, 및 적어도 하나 이상의 MPLS 레이블을 포함한 이더넷 프레임으로 구분하고, 목적지 및 발신지 주소를 추출하는 것을 특징으로 하는 이더넷 헤더 처리 장치.
  3. 제 2 항에 있어서,
    상기 이더넷 헤더 분석수단은,
    상기 입력된 이더넷 프레임이 기본 이더넷 프레임, 가상 랜이 포함된 이더넷 프레임, 논리적 링크 제어 영역을 포함한 이더넷 프레임, 서브 네트워크 액세스 프로토콜(SNAP) 영역을 포함한 이더넷 프레임 및 적어도 하나 이상의 MPLS 레이블을 포함한 이더넷 프레임 중 어느 하나의 프레임에도 해당되지 않는 경우 선택적 헤더 영역에 예외 처리 플래그를 설정하는 것을 특징으로 하는 이더넷 헤더 처리 장치.
  4. 제 3 항에 있어서,
    상기 이더넷 헤더 분석수단은,
    상기 입력된 이더넷 프레임의 제어 영역과, 목적지 서비스 액세스 점(DSAP)과, 발신지 서비스 액세스 점(SSAP)의 필드 값을 추출하여, 서브 네트워크 액세스 프로토콜(SNAP) 패킷인 경우 프로토콜 식별자를 추출한 후, IPv4 프레임인지, IPv6 프레임인지, MPLS 프레임인지를 구분하는 것을 특징으로 하는 이더넷 헤더 처리 장치.
  5. 제 1 항 또는 제 2 항에 있어서,
    상기 필터링수단은,
    상기 이더넷 헤더 분석수단에 의해 추출된 목적지 및 발신지 주소에 대해 미리 설정된 메모리의 목적지 및 발신지 주소와 비교하여 일치하지 않을 경우 유효하지 않은 입력 프레임으로 판단하여 입력 프레임을 폐기하는 것을 특징으로 하는 이더넷 헤더 처리 장치.
  6. 제 1 항 또는 제 2 항에 있어서,
    상기 프레임 체크 시퀀스 검사수단은,
    상기 필터링수단에 의해 필터링된 이더넷 프레임에 대해 데이터 완전성 검사를 수행하여 에러가 있는 경우 입력 프레임을 폐기하는 것을 특징으로 하는 이더넷 헤더 처리 장치.
  7. 제 1 항 또는 제 2 항에 있어서,
    상기 출력수단은,
    이더넷 헤더를 제거한 프레임에 가변길이의 선택적 헤더를 추가하는 것을 특징으로 하는 이더넷 헤더 처리 장치.
  8. 이더넷 프레이머로부터 입력된 이더넷 프레임의 헤더 처리 방법에 있어서,
    상기 이더넷 프레이머로부터 입력되는 이더넷 프레임에 대해 프레임의 종류를 구분하고, 목적지와 발신지 주소를 추출하는 제1 단계;
    상기 추출된 목적지 및 발신지 주소를 필터링하는 제2 단계;
    상기 제2 단계에서 필터링 과정이 수행된 이더넷 프레임에 대해 프레임 체크 시퀀스 검사를 통해 데이터의 완전성을 검사하는 제3 단계;
    상기 프레임 체크 시퀀스 검사 결과가 이상이 없는 경우 이더넷 헤더를 제거하는 제4 단계; 및
    상기 이더넷 헤더가 제거된 프레임을 외부의 프로세서로 출력하는 제5 단계
    를 포함하는 이더넷 헤더 처리 방법.
  9. 제 8 항에 있어서,
    상기 제1 단계는,
    상기 입력된 이더넷 프레임의 길이/타입 필드 값을 추출하여, 기본 이더넷 프레임, 가상 랜이 포함된 이더넷 프레임, 논리적 링크 제어 영역을 포함한 이더넷 프레임, 서브 네트워크 액세스 프로토콜(SNAP) 영역을 포함한 이더넷 프레임, 및 적어도 하나 이상의 MPLS 레이블을 포함한 이더넷 프레임으로 구분하는 단계; 및
    상기 구분된 이더넷 프레임의 목적지 및 발신지 주소를 추출하는 단계
    를 포함하는 이더넷 헤더 처리 방법.
  10. 제 9 항에 있어서,
    상기 제1 단계는,
    상기 입력된 이더넷 프레임이 기본 이더넷 프레임, 가상 랜이 포함된 이더넷 프레임, 논리적 링크 제어 영역을 포함한 이더넷 프레임, 서브 네트워크 액세스 프로토콜(SNAP) 영역을 포함한 이더넷 프레임, 및 적어도 하나 이상의 MPLS 레이블을 포함한 이더넷 프레임 중 어느 하나의 프레임에도 해당되지 않는 경우 선택적 헤더 영역에 예외 처리 플래그를 설정하는 단계
    를 더 포함하는 이더넷 헤더 처리 방법.
  11. 제 10 항에 있어서,
    상기 제1 단계는,
    상기 입력된 이더넷 프레임의 제어 영역과, 목적지 서비스 액세스 점(DSAP)과, 발신지 서비스 액세스 점(SSAP)의 필드 값을 추출하는 단계; 및
    상기 추출된 제어 영역과, 목적지 서비스 액세스 점(DSAP)과, 발신지 서비스 액세스 점(SSAP)의 필드 값을 확인하여, 서브 네트워크 액세스 프로토콜(SNAP) 패킷인 경우 프로토콜 식별자를 추출한 후, IPv4 프레임인지, IPv6 프레임인지, MPLS 프레임인지를 구분하는 단계
    를 더 포함하는 이더넷 헤더 처리 방법.
  12. 제 11 항에 있어서,
    상기 제2 단계는,
    상기 추출된 목적지 및 발신지 주소에 대해 미리 설정된 메모리의 목적지 및 발신지 주소와 비교하여 일치하지 않을 경우 유효하지 않은 입력 프레임으로 판단하여 입력 프레임을 폐기하는 것을 특징으로 하는 이더넷 헤더 처리 방법.
  13. 제 11 항에 있어서,
    상기 제3 단계는,
    상기 필터링된 이더넷 프레임에 대해 데이터 완전성 검사를 수행하여 에러가 있는 경우 입력 프레임을 폐기하는 것을 특징으로 하는 이더넷 헤더 처리 방법.
  14. 제 11 항에 있어서,
    상기 제5 단계는,
    이더넷 헤더를 제거한 프레임에 가변길이의 선택적 헤더를 추가하여 출력하는 것을 특징으로 하는 이더넷 헤더 처리 방법.
KR1020060123988A 2006-12-07 2006-12-07 이더넷 헤더 처리 장치 및 그 방법 KR100858052B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060123988A KR100858052B1 (ko) 2006-12-07 2006-12-07 이더넷 헤더 처리 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060123988A KR100858052B1 (ko) 2006-12-07 2006-12-07 이더넷 헤더 처리 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20080052026A KR20080052026A (ko) 2008-06-11
KR100858052B1 true KR100858052B1 (ko) 2008-09-10

Family

ID=39806920

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060123988A KR100858052B1 (ko) 2006-12-07 2006-12-07 이더넷 헤더 처리 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR100858052B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8160071B2 (en) 2008-12-02 2012-04-17 Electronics And Telecommunications Research Institute Apparatus and method for processing L2/L3 packet

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040060850A (ko) * 2001-05-03 2004-07-06 어드밴스드 마이크로 디바이시즈, 인코포레이티드 수신 데이터 패킷들에서 바람직하지 못한 헤더 정보를제거하는 다중 버퍼들
US20050238001A1 (en) 2002-11-07 2005-10-27 Tpack A/S Virtual ethernet mac switching
JP2006279801A (ja) 2005-03-30 2006-10-12 Oki Techno Creation:Kk パケット処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040060850A (ko) * 2001-05-03 2004-07-06 어드밴스드 마이크로 디바이시즈, 인코포레이티드 수신 데이터 패킷들에서 바람직하지 못한 헤더 정보를제거하는 다중 버퍼들
US20050238001A1 (en) 2002-11-07 2005-10-27 Tpack A/S Virtual ethernet mac switching
JP2006279801A (ja) 2005-03-30 2006-10-12 Oki Techno Creation:Kk パケット処理装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"동기식 이더넷 시스템용 MAC 프레임 분할 방식과 효율적인 흐름제어 방식의 성능 분석 " 한국통신학회논문지, v.30, no.12B, pp.838-846, 2005년 12월

Also Published As

Publication number Publication date
KR20080052026A (ko) 2008-06-11

Similar Documents

Publication Publication Date Title
US6041058A (en) Hardware filtering method and apparatus
US6990106B2 (en) Classification and tagging rules for switching nodes
EP1928127B1 (en) Method and system for tunneling MACSEC packets through non-MACSEC nodes
US9154586B2 (en) Method for parsing network packets having future defined tags
US9154418B1 (en) Efficient packet classification in a network device
US20120281714A1 (en) Packet processing accelerator and method thereof
JP5660198B2 (ja) ネットワークシステム、及びスイッチ方法
US9313131B2 (en) Hardware implemented ethernet multiple tuple filter system and method
US20060203721A1 (en) Apparatus and method for packet forwarding with quality of service and rate control
US20090080452A1 (en) Packet processing apparatus and method codex
WO2008054817A1 (en) Ethernet oam at intrmediate nodes in a pbt network
CA2301911C (en) Network packet forwarding lookup with a reduced number of memory accesses
US7643496B1 (en) Application specified steering policy implementation
WO2013148048A1 (en) Systems and methods for modifying network packets to use unrecognized headers/fields for packet classification and forwarding
CN112953949A (zh) 一种网络报文的报文头处理方法、装置、设备及存储介质
CN113347258A (zh) 云流量下的数据采集监控分析的方法及系统
JP2007166514A (ja) 通信処理装置及び通信処理方法
US20060002393A1 (en) Primary control marker data structure
CN113923076A (zh) 一种基于sd-wan的以太网二层数据交换方法
JP4263718B2 (ja) 通信処理装置及び通信処理方法
KR100858052B1 (ko) 이더넷 헤더 처리 장치 및 그 방법
EP2958285A2 (en) A method of extracting data from packets and an apparatus thereof
US9240898B1 (en) Integrating VLAN-unaware devices into VLAN-enabled networks
CN103200084A (zh) 基于网络处理器的报文预处理方法、装置及网络处理器
CN111770049B (zh) 全局缓存变量及报文信息存储方法及装置

Legal Events

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