KR100459541B1 - 네트워크 인터페이스에 따른 메시지 처리 방법 - Google Patents

네트워크 인터페이스에 따른 메시지 처리 방법 Download PDF

Info

Publication number
KR100459541B1
KR100459541B1 KR10-2001-0070225A KR20010070225A KR100459541B1 KR 100459541 B1 KR100459541 B1 KR 100459541B1 KR 20010070225 A KR20010070225 A KR 20010070225A KR 100459541 B1 KR100459541 B1 KR 100459541B1
Authority
KR
South Korea
Prior art keywords
interface
packet
router
field
received
Prior art date
Application number
KR10-2001-0070225A
Other languages
English (en)
Other versions
KR20030039249A (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 KR10-2001-0070225A priority Critical patent/KR100459541B1/ko
Publication of KR20030039249A publication Critical patent/KR20030039249A/ko
Application granted granted Critical
Publication of KR100459541B1 publication Critical patent/KR100459541B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Landscapes

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

Abstract

본 발명은, 복수개의 망들 각각에 인터페이스가 연결되어 인터페이스별로 패킷을 송수신하는 하위 물리인터페이스장치와, 패킷을 라우팅 처리하는 라우터장치를 포함하는 라우터 시스템에서의 네트워크 인터페이스에 따른 메시지 처리방법에 있어서, 하위 물리인터페이스장치에 의해서, 수신된 패킷의 종류, 수신된 물리입력포트, 복수개의 망들중 패킷 수신된 망에 따른 채널정보를, 물리인터페이스의 종류를 나타내는 인터페이스타입필드, 인터페이스 연결된 포트를 구별하기 위한 포트번호필드, 인터페이스 타입이 넌-이더넷프로토콜일 때의 채널정보필드를 가지는 인터페이스 디스크립터의 각 필드에 넣는 과정과, 하위 물리 인터페이스장치에 의해서, 상기 인터페이스 디스크립터를 상기 수신된 패킷에 추가하여 인터페이스 표준 패킷을 만들어 상위 라우터블록으로 전송하는 과정과, 상기 라우터장치에 의해서, 상기 인터페이스 디스크립터의 각 필드에 있는 정보를 이용하여 대응되는 목적지로 전송하는 과정으로 이루어진다.

Description

네트워크 인터페이스에 따른 메시지 처리 방법{MESSAGE PROCESSING METHOD ACCORDING TO INTERFACES OF THE NETWORK}
본 발명은 전송 시스템에 관한 것으로, 특히 라우터 시스템에서 타 망과 연동하기 위해 접속된 물리적인 인터페이스를 통해 들어오는 패킷을 처리하는 방법에 관한 것이다.
라우터 시스템은 타 망과 연동하기 위해 여러 종류의 네트워크 인터페이스 타입과 물리적으로 연결될 수 있다. 예컨대, 10/100M 이더넷(Ethernet), 기가 이더넷(Giga Ethernet), DS-1/E1 ATM/IP, DS-3/E3 ATM/IP, OC-3 ATM/POS, OC-12 ATM/POS, DS-3 POS Channelized, OC-3 POS Channelized, OC-12 POS Channelized등의 네트워크 인터페이스 타입으로 연결될 수 있다. 그러므로 라우터 시스템은 접속되는 각종 넌- 이더넷 인터페이스를 통한 데이터에 대해서는 별도로 메시지를 만들어 처리해야 한다.
따라서 본 발명의 목적은 라우터 시스템에 접속하는 각종 넌-이더넷 인터페이스를 각각 별도로 메시지로 만들어 처리하지 않고, 라우터 시스템에 접속되는 다양한 넌-이더넷 인터페이스의 표준 패킷을 만들어 여러 가지 인터페이스의 실제 메시지를 표준화하여 상위에 전달하게 함으로서 패킷 처리를 단일화하는 메시지 표준화 처리방법을 제공하는데 있다.
본 발명의 다른 목적은 라우팅 시스템에서 하위로부터 전달되어 온 표준 패킷을 상위에서 라우팅 패킷 처리하는 방법을 제공하는데 있다.
상기한 목적에 따라, 본 발명은, 복수개의 망들 각각에 인터페이스가 연결되어 인터페이스별로 패킷을 송수신하는 하위 물리인터페이스장치와, 패킷을 라우팅 처리하는 라우터장치를 포함하는 라우터 시스템에서의 네트워크 인터페이스에 따른 메시지 처리방법에 있어서, 하위 물리인터페이스장치에 의해서, 수신된 패킷의 종류, 수신된 물리입력포트, 복수개의 망들중 패킷 수신된 망에 따른 채널정보를, 물리인터페이스의 종류를 나타내는 인터페이스타입필드, 인터페이스 연결된 포트를 구별하기 위한 포트번호필드, 인터페이스 타입이 넌-이더넷프로토콜일 때의 채널정보필드를 가지는 인터페이스 디스크립터의 각 필드에 넣는 과정과, 하위 물리 인터페이스장치에 의해서, 상기 인터페이스 디스크립터를 상기 수신된 패킷에 추가하여 인터페이스 표준 패킷을 만들어 상위 라우터블록으로 전송하는 과정과, 상기 라우터장치에 의해서, 상기 인터페이스 디스크립터의 각 필드에 있는 정보를 이용하여 대응되는 목적지로 전송하는 과정으로 이루어짐을 특징으로 한다.
또한 본 발명은, 복수개의 망들 각각에 인터페이스가 연결되어 인터페이스별로 패킷을 송수신하는 하위 물리인터페이스장치와, 패킷을 라우팅 처리하는 라우터장치를 포함하는 라우터 시스템에서의 네트워크 인터페이스에 따른 메시지 처리방법에 있어서, 하위 물리인터페이스장치에 의해서, 수신된 패킷의 종류, 수신된 물리입력포트, 복수개의 망들중 패킷 수신된 망에 따른 채널정보가 포함된 인터페이스 디스크립터가 포함된 인터페이스 표준 패킷을 만들어 상기 상위 라우터장치로 전송하는 과정과, 상기 라우터장치에 의해서, 라우팅 테이블 룩업이 성공적으로 완료되었는지를 판단하는 과정과, 라우팅 테이블 룩업이 성공적으로 완료되지 않으면상기 라우터장치의 코아 프로세서로 패킷을 전송하는 과정과, 상기 성공적으로 완료되면 인터넷프로토콜 주소를 참조하여 목적지로 패킷을 전송하는 과정으로 이루어짐을 특징으로 한다.
도 1은 본 발명의 실시 예에 따른 라우터 시스템의 전체적인 구성을 나타낸 도면,
도 2는 도 1의 PMD 하드웨어 블록 구성도,
도 3은 본 발명의 실시 예에 따른 인터페이스 표준 패킷의 형태를 보여 주는 도면,
도 4는 PMD 네트워크 프로세서에서의 동작 제어 흐름도,
도 5 내지 도 8은 PMD네트워크 프로세서에 의해서 만들어진 인터페이스 표준 패킷에서 각종 정보를 얻어 패킷을 적절한 목적지로 보내기 위한 라우팅블록에서의 처리 과정을 설명하기 위한 제어 흐름도.
이하 본 발명의 바람직한 실시 예들을 첨부한 도면을 참조하여 상세히 설명한다. 도면들 중 동일한 구성요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.
도 1은 본 발명의 실시 예에 따른 라우터 시스템의 전체적인 구성을 나타낸 도면으로서, 네트워크 프로세서(12), 라우터 테이블(14), 시스템 프로세서(16)로 이루어진 라우터블록(Autonomous Router Block)(10)과, 스위치 패브릭(Switch Fabric)(20)이 포함되어 있고, 다양한 물리 미디어 디펜던트(Physical Media Dependant: 이하 "PMD"라 칭함)들(18)이 포함되어 있다. 라우터 블록(10)은 각 PMD에 따라 IP(Internet Protocol)망, FR(Frame Relay)망, 그리고 ATM(Asynchronous Transfer Mode)망 등과 패킷처리를 수행한다. PMD(18)는 각 망에 실제 물리적인 인터페이스가 연결되어 인터페이스별로 패킷을 송수신하는 인터페이스장치로서, 10/100M 이더넷(Ethernet), 기가 이더넷(Giga Ethernet), DS-1/E1 ATM/IP, DS-3/E3 ATM/IP, OC-3 ATM/POS, OC-12 ATM/POS, DS-3 POS Channelized, OC-3 POS Channelized, OC-12 POS Channelized등의 네트워크 인터페이스 타입으로 연결할 수있다. 라우터 블록(Autonomous Router Block)(10)은 각 PMD로부터 패킷을 받아 라우팅처리를 하는 모듈로서, 네트워크 프로세서(12)가 라우터 테이블(14)을 참조하여 패킷을 라우팅 처리한다. 그러나 각 PMD(18)로부터의 데이터가 일반 데이터가 아니고 제어 메세지인 경우에는 시스템 프로세서(16)로 보내지며, 시스템 프로세서(16)에 의해서 해당 일이 처리된다. 스위치 패브릭(20)은 라우팅 후 결정된 출력포트로 데이터를 보내기 위해 사용되는 이더넷 스위치 패브릭이다. 스위치 패브릭(20)은 주 스위치 패브릭(primary switch fabric)(20A,20B중 하나)과 예비로 마련된 리던던트 스위치 패브릭(redundant switch fabric)(20A,20B중 나머지)으로 구성되어 있다. PMD들(18)도 동작 및 예비 PMD들(18A,18B)로 구성되어 있다.
도 2는 도 1에 도시된 본 발명의 실시 예에 따른 PMD 하드웨어 블록 구성도로서, 크게 라인 인터페이스부(Line Interface Unit: 이하 "LIU"라 칭함)(30), FPGA(Field-Programmable Gate Array)에 구현된 프레이머(framer)/HDLC(High Level Data Link Control) 기능부(32), 및 PMD 네트워크 프로세서(34)로 구분된다.
LIU(30)는 물리적인 요소와 연결되며 데이터를 송수신하는 인터페이스 역할을 담당한다. 수신되는 데이터는 FPGA내의 프레이머/HDLC기능부(32)를 거쳐 PMD 네트워크 프로세서(34)로 전송된다. 프레이머/HDLC 기능부(32)는 데이터가 LIU(30)로부터 오면 프레이머/HDLC 처리 후 패킷을 PMD 네트워크 프로세서(34)로 보낸다. PMD 네트워크 프로세서(34)는 상위 라우터블록(10)이 데이터 처리할 수 있도록 표준화된 패킷처리뿐만 아니라 ATM(Asynchronous Transfer Mode)의 SAR(segmentation and reassembly) 기능을 처리한다.
여러 가지의 인터페이스들 즉 도 1의 PMD들(18) 각각은 도 2와 같은 PMD 하드웨어 블록 구성을 가진다. PMD 네트워크 프로세서(32)는 라우팅 처리하는 상위 라우터 블록(10)과의 인터페이스를 위해 LIU(30)를 통해 FPGA에 수신된 후 프레이머/HDLC 기능부(32)에 의해서 만들어진 패킷을 도 3에 도시된 인터페이스 디스크립터(Interface Descriptor: 이하 "IFD"라 칭함)(50) 포맷을 추가하여 인터페이스 표준 패킷을 만든 후 라우터 블록(도 1의 10)으로 전송한다. IFD(50)의 포맷에는 어떤 종류의 물리 인터페이스(Physical Interface)가 접속하는지를 나타내는 물리 번호(Physical number) Phy#, 여러 개의 포트들중 어느 포트로 패킷이 인입되었는지를 나타내는 포트 번호(Port number) Port#, DS-3의 채널라이즈드(Channelized)를 위한 서브채널 번호(Subchannel number), OC-n의 ATM 서비스를 위한 VPI/VCI(Virtual Path ID/Virtual Channel ID) 번호 등의, 물리 포트(Physical port)로 수신된 패킷과 관련된 여러 가지 정보를 포함하고 있다. 도 3을 참조하여 본 발명의 실시 예에 따라 IFD(50)가 포함된 인터페이스 표준 패킷에 대해서 보다 상세하게 설명하면 하기와 같다.
도 3은 본 발명의 실시 예에 따른 인터페이스 표준 패킷의 형태를 보여 주는 도면이다. 본 발명의 실시 예에 따른 인터페이스 표준 패킷은, 8바이트의 IFD(50), 22바이트의 MAC헤더(52), 최대 8162 바이트의 페이로드(Payload)(54)로 이루어져 있다. 8바이트의 IDF(50)는 각각 1바이트의 인터페이스 타입(Interface Type)필드, 1바이트의 포트번호(port number)필드, 6바이트의 채널정보필드로 구성되어 있다. 인터페이스 타입(Interface Type)필드에는 이더넷(Ethernet), DS-1/3, OC-3/12등의물리적인 인터페이스의 종류를 나타내는 인터페이스타입 정보가 넣어지고, 포트번호(Port number)필드는 연결된 각 포트를 구별하기 위한 번호로 이용되는 포트번호정보가 넣어지며, 채널정보필드는 인터페이스 타입이 넌-이더넷 프로토콜인 경우 DS1/3의 채널라이즈드(Channelized)기능에서의 서브채널 번호(Subchannel number), ATM에서의 VPI/VCI 등의 값이 넣어진다.
그에 따라 IDF(50)가 포함된 인터페이스 표준 패킷을 전달받은 상위 라우터 블록(10)이 룩업(Look-up)등을 위해 패킷과 관련한 실제의 정보를 추출할 수 있게 됨으로써, 본 발명의 실시 예에 따른, 하위 PMD의 종류에 관계없이 표준화된 메시지 형태로 상위 프로세스와의 인터페이스에 대해 단일화를 성취하게 된다. 라우터 블록(10)은 패킷 룩업(Look-up)하고 아웃고잉(Outgoing) 정보를 찾은 후에는 IFD(50)내에 있는 포트번호 Port#, VPI/VCI등의 값을 변경한다.
도 2의 PMD 네트워크 프로세서(34)에 의해서 만들어진 인터페이스 표준 패킷을 이용하는 본 발명의 실시 예에 따른 구체적인 동작이 도 4 내지 도 7이 참조되어 상세하게 설명될 것이다.
도 4는 PMD 네트워크 프로세서(34)에서의 동작 제어 흐름도로서, 프레이머 패킷(Framer Packets)으로부터 인터페이스 표준 패킷을 생성하는 과정을 보여주고 있다.
먼저 패킷이 PMD(18)내로 들어오면 PMD 네트워크 프로세서(34)는 401단계에서 그 패킷이 넌-이더넷 패킷(Non Ethernet Packet)인지 검사한다. 만약 넌-이더넷 패킷이면 402단계로 진행하여 그 패킷이 어느 물리입력포트(Physical Input Port)로 인입된 패킷인지를 알기 위해 물리 입력포트 번호를 찾는다. 그 후 403단계에서 연동된 망이 DS-1/3 또는 ATM인지 검사하여, DS-1/3이면 PMD 네트워크 프로세서(34)는 404단계로 진행하여 PMD(18)가 DS-1/3 인터페이스에서 채널라이즈드(Channelized) 기능을 지원하는지 검사한다. 만약 채널라이즈드(Channelized) 기능을 지원하면, 405단계로 진행하여 논리경로(logical path)를 찾기 위해 서브채널 번호(Subchannel number)를 인입된 패킷에서 가져온 후 406단계로 진행하고, 채널라이즈 기능을 지원하지 않으면 바로 406단계로 진행한다. 406단계에서 PMD 네트워크 프로세서(34)는 인터페이스 타입(DS3)을 IFD(50)의 인터페이스타입 필드에 넣는다. 그리고 407단계에서는, 405단계에서 찾은 서브채널 번호(Subchannel number)도 IFD(50)의 채널정보필드에 넣는다. 그리고 408단계에서 물리포트 번호(Physical port number)를 IFD(50)의 포트번호필드에 넣고, 409단계로 진행한다. 409단계에서는 페이로드(Payload)를 프로토콜 패킷 포맷(Protocol Packet format)에 넣는다. 그 후 410단계에서는 IFD(50)가 포함된 프로토콜 패킷(Protocol Packet) 즉, 인터페이스 표준 패킷을 상위의 라우터블록(10)으로 전송한다.
한편 401단계의 판단에서 인입된 패킷이 이더넷 타입(Ethernet Type)이면, 411단계에서 이더넷 타입을, 412단계에서 물리포트 번호를 IFD(50)의 인터페이스필드 및 포트번호필드에 각각 넣고 그 후 409단계에서 페이로드(Payload)를 프로토콜 패킷에 넣어 최종 인터페이스 표준 패킷을 만든 다음 410단계에서 상위의 라우터블록(10)으로 전송한다.
다른 한편 403단계의 판단에서 패킷이 ATM망에서 전송된 것이면 413단계에서VPI/VCI 번호를 인입된 패킷에서 가져오고 414단계에서 ATM이라고 지칭하는 인터페이스 타입을 IFD(50)에 넣는다. 그 후 415단계에서는 VPI/VCI 값들을 416단계에서는 물리포트번호를 IFD(50)의 채널정보필드 및 포트번호필드 각각에 넣는다. 그리고 나서 409단계에서 페이로드(Payload)를 프로토콜 패킷에 넣어 최종 패킷을 만든 다음 410단계에서 상위 라우터블록(10)으로 전송한다.
도 5 내지 도 8은 PMD 네트워크 프로세서(34)에 의해서 만들어진 인터페이스 표준 패킷에서 각종 정보를 얻어 패킷을 적절한 목적지로 보내기 위해 라우터 블록(10)에 의해서 수행되는 처리 과정을 설명하기 위한 제어 흐름도이다.
도 5는 도 1의 라우터 블록(Autonomous Router)(10)의 네트워크 프로세서(12)내의 입력 마이크로엔진에 의해서 수행된 입력 프로세싱 흐름도이다. 상위 라우터블록(10)에 해당하는 입력 프로세스(input process)는 내부의 수신 FIFO(First In First Out)로부터 패킷을 읽어 그것을 포워딩 프로세싱(forwarding processing)으로 동작(running)하는 마이크로 엔진(micro engine)들중 한 마이크로 엔진의 SDRAM 큐(Synchronous Dynamic Random Access Memory queue)에 놓이게 한다. 만약 입력 프로세스와 포워딩 프로세스(forwarding process)가 같은 마이크로 엔진에 있으면 패킷은 현재 마이크로엔진의 입력 큐 놓이게 된다. 만약 입력 프로세스의 마이크로 엔진이 포워딩 프로세스의 마이크로 엔진과 다르면 라운드 로빈(round robin) 방식으로 마이크로 엔진 큐(microengine queue)가 선택된다. 패킷은 SDRAM의 8 Kbyte 패킷메모리 블록에 저장된다.
입력 프로세서는 수신 FIFO에 임시 저장된 패킷을 읽기 위해 501단계에서SDRAM의 8 Kbyte 패킷메모리 블록 공간을 할당한다. 8 Kbyte 패킷메모리 블록 공간은 하나의 패킷이 가질 수 있는 최대 길이에 대응된 값이다. 501단계 후 502단계에서 상기 수신 FIFO에서 읽은 패킷의 IFD(50)을 참조하여 어떻게 패킷을 처리할지를 결정한다. IFD(50)의 인터페이스 타입이 넌-이더넷 패킷에 대응된 값이면 503단계로 진행한다.
503단계에서는 수신FIFO로부터의 패킷을 선택된 포워딩 프로세스의 SDRAM 큐의 패킷메모리 블록에 저장한다. 그 후 입력 프로세스는 504단계로 진행하여 패킷메모리 블록의 시작점을 IFD의 종료지점 다음에 잡고, 505단계에서 넌 이더넷 패킷(Non Ethernet packets)에 대한 MAC헤더의 길이필드를 채운다. 그후 마지막으로 단계 506에서 입력 프로세스는 넌-이더넷 포맷 패킷의 프로토콜 필드에 페이로드가 IP패킷 데이터임을 나타내는 값인 "0x800"을 넣는다.
한편 도 5의 502단계의 판단에서 IFD(50)의 인터페이스 타입이 이더넷 패킷(Ethernet packet)인 경우 즉, 기가비트이더넷(Gigabit Ethernet) 또는 10/100 이더넷에 대응된 값을 가지고 있으면, 507단계로 진행한다. 507단계와 508단계는 IFD(50)가 이더넷 프로토콜을 가리키는 경우로서, 503단계와 504단계와 같은 방식으로 패킷 처리를 한다.
도 6은 도 1의 라우터 블록(Autonomous Router)(10)의 네트워크 프로세서내의 포워딩 엔진에 의해서 수행된 계층2 포워딩(Layer 2 forwarding)을 나타낸 것으로서, 포워딩은 계층2(Layer 2)와 계층3(Layer 3) 두 부분으로 구분된다. 계층2 포워딩이 먼저 실행된다. 계층2 포워딩에서는 패킷이 ARP(Address ResolutionProtocol), RARP(Reverse Address Resolution Protocol), 멀티캐스트(multicast) 및 브로드 캐스트 패킷(broadcast packets)과 같은 제어 패킷 데이터인 경우에 그 패킷 데이터를 네트워크 프로세서(12)의 코아 CPU(core Central Processing Unit)로 전송한다. 601단계에서 계층 2 포워딩(Layer 2 forwarding)은 MAC 목적지 주소와 MAC 헤더(52)의 페이로드 타입 필드(payload type field)를 사용하여 패킷이 제어패킷 데이터인지 즉, ARP(MAC 헤더 페이로드 타입 = 0806h), RARP(MAC 헤더 페이로드 타입 = 8035h), 브로드 캐스트 패킷(MAC 헤더 목적지 주소 = ffffffh), 그리고 멀티캐스트 패킷(MAC 헤더 목적지 주소 = ffxxxxh)인지를 검사하여 그에 해당되면 상기 패킷을 라우팅 처리하는 것이 아니므로, 605단계로 진행하여 패킷을 네트워크 프로세서(12)의 코아 CPU로 전달한다. 코아 CPU에서는 그 패킷에 맞는 동작을 수행한다. 상기 브로드 캐스트와 멀티캐스트 패킷을 위한 검사는 MAC 목적지 주소의 첫번째 바이트에서 브로드캐스트와 멀티캐스트에 공통적으로 존재하는 "ffh"를 사용하여 한번의 검사동작으로써 이룰 수 있다.
한편 601단계의 판단에서 패킷이 ARP, RARP, 브로드 캐스트 패킷, 및 멀티캐스트 패킷이 아니면 602단계에서 MAC페이로드 타입을 이용하여 페이로드(Payload)가 IP 패킷인지를 검사한다. 즉 MAC헤더(52)의 이더넷 타입이 IP패킷인가를 검사한다. 만약 IP패킷이 아니면 604단계에서 그 패킷을 드롭(Drop)하고, 만약 IP 패킷이면 603단계로 진행하여 계층3 포워딩(Layer 3 forwarding)을 처리한다. 계층3 포워딩은 라우팅처리를 위해 수행된다.
도 7은 도 1의 라우터 블록(Autonomous Router)(10)의 네트워크 프로세서내의 포워딩 엔진에 의해서 수행되는 계층 3 포워딩(Layer 3 forwarding)의 제어 흐름도이다.
701단계에서는 라우팅 테이블(14)의 룩업(Routing Table Look-Up)이 성공적으로 끝났는지를 검사하고, 만약 성공적으로 끝났으면 710단계로 진행하여 로컬(local) IP주소를 가지는 라우팅 패킷 즉, RIP(Routing Information Protocol), BGP(Border Gateway Protocol), 및 OSPF(Open Shortest Path First)인지를 검사한다. 만약 로컬 IP주소를 가지는 라우팅 패킷이면 711단계로 진행하여 패킷을 코아 CPU로 전달한다. OSPF 패킷은 IP 데이터그램 헤더(Datagram Header)에서 프로토콜 타입 17(protocol type 17)로서 구분되고, RIP패킷은 UDP(User Datagram Protocol) 헤더에서 UDP 목적지 주소로서 공지포트 520(well-known port 520)으로 구분된다. BGP는 TCP 위에 거주하며 BGP 패킷은 TCP헤더에서 목적지 포트 179로 구분된다. 나머지 패킷은 라우팅 테이블(14)에 따라 전달된다. 상기 라우팅 테이블은 다단 타알아이이 테이블 룩업(multi-stage trie table look-up)에서 사용된다.
도 7의 702단계와 706단계에서의 과정은 701단계에서 라우팅테이블(14)의 룩업이 성공적으로 끝났지 않았을 경우 패킷 포워딩(Packet forwarding)은 다음 2가지 중 한 가지 이유로 실패할 수 있다는 것을 나타낸다. 첫 번째는 IFD(50)를 알 수 없거나(unknown) 무효(invalid)한 경우로서 라우팅 룩업(routing look-up) 결과가 정당한 IFD를 생성하지 못했을 때이고(단계 702에서 "예"인 경우), 두 번째는 프리픽스(prefix)가 존재하지 않을 때로서 목적지 주소를 알지 못하는 경우이다.(단계 706에서 "예"인 경우). 상기 2가지 경우에는 703단계와 707단계에서 각각 목적지 인터페이스 디스크립터(Destination Interface Descriptor)를 설정한 후 704단계와 708단계에서 코아 CPU로 그 패킷을 전달한다. 한편 707단계에서 코아 CPU도 프리픽스(prefix)를 알지 못하면 코아 CPU는 그 패킷을 시스템 프로세서(도 1의 16)로 전달한다. 상기 시스템 프로세서(16)는 목적지 알지 못함 메시지(destination unknown message)를 발신지 주소(source address)로 전송한다. 포워딩 프로세스(Forwarding process)는 포워딩 테이블(forwarding table_로부터 얻은 목적지의 IFD를 패킷 메모리 블록(Packet Memory Block)에 있는 인터페이스 디스크립터(Interface Descriptor)로 저장한다. 도 7의 713단계와 714단계에서는 라우팅 룩업(Routing Look-Up)이 성공적으로 끝났으며 패킷이 제어패킷이 아닌 경우에 수행되는 과정으로서, 패킷이 일반 데이터 패킷을 나타내는 패킷인 경우의 처리과정을 보여 준다. 713단계에서는 라우팅 테이블(Routing Table)에서 아웃고잉 IFD를 패킷 메모리 블록(Packet Memory Block)으로 복사하고 714단계에서 그 패킷을 목적지가 지시하는 곳으로 전송한다.
도 8은 도 1의 라우터 블록(Autonomous Router)(10)의 네트워크 프로세서내의 출력 마이크로엔진 프로세스에 의해서 수행되는 출력 프로세싱 제어 흐름도이다. 출력 프로세스는 801단계에서 SDRAM(Synchronous Dynamic Random Access Memory)에 있는 포워딩 프로세스의 큐로부터 패킷을 읽고 그것을 송신 FIFO로 저장한다. 그리고 출력 프로세스는 IFD를 조사하여 어떻게 패킷을 처리할지를 결정한다. 만약 송신 FIFO에 공간이 있으면 출력 마이크로 엔진(outputmicroengines)은 SDRAM에서 다음 포워딩 마이크로엔진 큐(forwarding microengine queue)로부터 데이터를 읽는다. 만약 출력 프로세스(output process)와 포워드 프로세스(forwarding process)가 다른 마이크로엔진(microengine)들에 있으면 포워드 프로세스 큐(forwarding process queue)들은 라운드 로빈(round robin)방식으로 선택된다.
출력 프로세서는 송신 FIFO로 패킷을 복사하기 위해서, 801단계에서 SDRAM의 8 Kbyte 패킷메모리 블록 공간을 할당한다. 그리고 802단계에서 송신을 위한 패킷의 패킷 사이즈(Packet size)가 한번에 처리할 수 있는 패킷 세그먼트 사이즈(Packet Segmentation Size)보다 큰지를 IP헤더부의 길이정보를 이용하여 검사하고, 만약 크지 않으면 803단계로 진행한다. 803단계에서는 패킷의 IFD(50)을 읽어 이더넷 프로토콜인지를 검사한다. 만약 이더넷 프로토콜이면 출력 프로세스는 804단계에서 IFD(50)에 있는 목적지 MAC주소를 목적지 MAC헤더에 복사하고 805단계에서 IFD(50) 이후에 있는 패킷을 패킷 메모리 블록(Packet Memory Block)로부터 읽어내어 송신 FIFO로 복사한다.
한편 802단계에서 패킷 사이즈(Packet size)가 한번에 처리할 수 있는 패킷 세그먼트 사이즈(Packet Segmentation Size)보다 크면 예컨대, 패킷의 길이가 1518이 넘는 10/100 이더넷 패킷이면, 출력 프로세스는 806단계로 진행하여 패킷을 다중 이더넷 프레임들(multiple ethernet frames)로 세그먼트한다. 다른 한편 803단계의 판단에서 패킷이 이더넷 프로토콜이 아니면 즉 넌-이더넷 프로토콜(Non-Ethernet Protocol)이면 807단계로 진행하여 IFD가 포함된 패킷을 송신 FIFO로 복사하여 전송되게 한다.
상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시할 수 있다. 따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위와 특허청구범위의 균등한 것에 의해 정해 져야 한다.
상술한 바와 같이 본 발명은 라우터 시스템은 여러 가지의 인터페이스들을 사용하여 다양한 망과 연동할 수가 있는데 라우터는 이들 인터페이스별로 타 망으로부터 패킷을 받아 라우팅을 위해 상위로 전달하게 되면 상위에서는 해당 패킷의 내용을 일일이 점검하여 정보를 얻어내야 하는데 이러한 인터페이스에 대한 각종 정보를 체계적으로 통일하여 인터페이스 표준 패킷을 만들어 전송함으로써 어떠한 인터페이스가 망과 연결되더라도 유입되는 패킷과 관련 정보가 인터페이스 표준 패킷 형태에 포함되어 상위로 전달되기 때문에 상위 라우팅블록에서는 패킷처리를 단일화시켜 수행할 수 있는 효과가 있다.

Claims (6)

  1. 복수개의 망들 각각에 인터페이스가 연결되어 인터페이스별로 패킷을 송수신하는 하위 물리인터페이스장치와, 패킷을 라우팅 처리하는 라우터장치를 포함하는 라우터 시스템에서의 네트워크 인터페이스에 따른 메시지 처리방법에 있어서,
    하위 물리인터페이스장치에 의해서, 수신된 패킷의 종류, 수신된 물리입력포트, 복수개의 망들중 패킷 수신된 망에 따른 채널정보를, 물리인터페이스의 종류를 나타내는 인터페이스타입필드, 인터페이스 연결된 포트를 구별하기 위한 포트번호필드, 인터페이스 타입이 넌-이더넷프로토콜일 때의 채널정보필드를 가지는 인터페이스 디스크립터의 각 필드에 넣는 과정과,
    하위 물리 인터페이스장치에 의해서, 상기 인터페이스 디스크립터를 상기 수신된 패킷에 추가하여 인터페이스 표준 패킷을 만들어 상기 상위 라우터장치로 전송하는 과정과,
    상기 라우터장치에 의해서, 상기 인터페이스 디스크립터의 각 필드에 있는 정보를 이용하여 대응되는 목적지로 전송하는 과정으로 이루어짐을 특징으로 하는 네트워크 인터페이스에 따른 메시지 처리방법.
  2. 제1항에 있어서, 상기 인터페이스 타입필드는 1바이트, 상기 포트번호필드는 1바이트, 상기 채널정보필드 6바이트로 구성되어 상기 인터페이스 디스크립터가 8바이트로 구성함을 특징으로 하는 네트워크 인터페이스에 따른 메시지 처리방법.
  3. 제1항에 있어서, 상기 채널정보필드에는 상기 인터페이스 타입이 넌-이더넷 프로토콜인 경우 DS1/3의 채널라이즈드(Channelized)기능에서의 서브채널 번호(Subchannel number), ATM에서의 VPI/VCI가 넣어짐을 특징으로 하는 네트워크 인터페이스에 따른 메시지 처리방법.
  4. 복수개의 망들 각각에 인터페이스가 연결되어 인터페이스별로 패킷을 송수신하는 하위 물리인터페이스장치와, 패킷을 라우팅 처리하는 라우터장치를 포함하는 라우터 시스템에서의 네트워크 인터페이스에 따른 메시지 처리방법에 있어서,
    상기 하위 물리인터페이스장치에 의해서, 수신된 패킷의 종류가 넌-이더넷패킷이면 넌-이더넷프로토콜정보를 인터페이스타입필드에, 수신된 패킷의 물리입력번호를 찾아 포트정보필드에, 연동망이 채널라이즈드 기능을 지원하는 DS-1/3이면 채널정보필드에 수신된 패킷에서 서브채널정보를 찾아 채널정보필드에, 상기 연동망이 ATM이면 수신된 패킷에서 VPI/VCI 값을 찾아 상기 채널정보필드에 넣어 인터페이스 디스크립터를 형성하는 과정과,
    상기 하위 물리인터페이스장치에 의해서, 수신된 패킷의 종류가 이더넷패킷이면 이더넷프로토콜정보를 인터페이스타입필드에, 수신된 패킷의 물리입력번호를찾아 포트정보필드에 넣어 인터페이스 디스크립터를 형성하는 과정과,
    상기 하위 물리 인터페이스장치에 의해서, 상기 형성된 인터페이스 디스크립터를 상기 수신된 패킷에 추가하여 인터페이스 표준 패킷을 만들어 상기 상위 라우터장치로 전송하는 과정과,
    상기 라우터장치에 의해서, 상기 인터페이스 디스크립터의 각 필드에 있는 정보를 이용하여 대응되는 목적지로 전송하는 과정으로 이루어짐을 특징으로 하는 네트워크 인터페이스에 따른 메시지 처리방법.
  5. 제4항에 있어서, 상기 인터페이스 타입필드는 1바이트, 상기 포트번호필드는 1바이트, 상기 채널정보필드 6바이트로 구성되어 상기 인터페이스 디스크립터가 8바이트로 구성함을 특징으로 하는 네트워크 인터페이스에 따른 메시지 처리방법.
  6. 복수개의 망들 각각에 인터페이스가 연결되어 인터페이스별로 패킷을 송수신하는 하위 물리인터페이스장치와, 패킷을 라우팅 처리하는 라우터장치를 포함하는 라우터 시스템에서의 네트워크 인터페이스에 따른 메시지 처리방법에 있어서,
    하위 물리인터페이스장치에 의해서, 수신된 패킷의 종류, 수신된 물리입력포트, 복수개의 망들중 패킷 수신된 망에 따른 채널정보가 포함된 인터페이스 디스크립터가 포함된 인터페이스 표준 패킷을 만들어 상기 상위 라우터장치로 전송하는과정과,
    상기 라우터장치에 의해서, 라우팅 테이블 룩업이 성공적으로 완료되었는지를 판단하는 과정과,
    라우팅 테이블 룩업이 성공적으로 완료되지 않으면 상기 라우터장치의 코아 프로세서로 패킷을 전송하는 과정과,
    상기 성공적으로 완료되면 인터넷프로토콜 주소를 참조하여 목적지로 패킷을 전송하는 과정으로 이루어짐을 특징으로 하는 네트워크 인터페이스에 따른 메시지 처리방법.
KR10-2001-0070225A 2001-11-12 2001-11-12 네트워크 인터페이스에 따른 메시지 처리 방법 KR100459541B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0070225A KR100459541B1 (ko) 2001-11-12 2001-11-12 네트워크 인터페이스에 따른 메시지 처리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0070225A KR100459541B1 (ko) 2001-11-12 2001-11-12 네트워크 인터페이스에 따른 메시지 처리 방법

Publications (2)

Publication Number Publication Date
KR20030039249A KR20030039249A (ko) 2003-05-17
KR100459541B1 true KR100459541B1 (ko) 2004-12-03

Family

ID=29569045

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0070225A KR100459541B1 (ko) 2001-11-12 2001-11-12 네트워크 인터페이스에 따른 메시지 처리 방법

Country Status (1)

Country Link
KR (1) KR100459541B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102423122B1 (ko) 2022-02-07 2022-07-21 (주)진영에스텍 현장 맞춤 구조의 케이블 트레이

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100603583B1 (ko) * 2004-10-25 2006-07-24 삼성전자주식회사 아이피 네트워크를 이용한 교환시스템 및 그교환시스템에서의 노드간 연결 방법

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990022705A (ko) * 1995-06-08 1999-03-25 밀러 럿셀 비 고속 및 효율적인 패킷 전송 시스템 및 그 방법
KR100255870B1 (ko) * 1997-12-30 2000-05-01 김영환 에이티엠 교환망을 이용한 에이디에스엘 시스템
KR20000073138A (ko) * 1999-05-06 2000-12-05 서평원 복합 비동기 전송 모드 가입자 정합 장치
KR20010039703A (ko) * 1999-07-06 2001-05-15 루센트 테크놀러지스 인크 회로 및 패킷 데이터 전송을 통합하는 통신 채널 동기식마이크로-셀 시스템
KR20010076078A (ko) * 2000-01-25 2001-08-11 오길록 랜 에뮬레이션 클라이언트 다중 엔터티 처리장치 및 방법
KR20010088391A (ko) * 2000-03-08 2001-09-26 루센트 테크놀러지스 인크 라인 카드
KR20020022438A (ko) * 2000-09-20 2002-03-27 구자홍 Atm 시스템의 데이터 전송 경로 판별 장치
KR20020038067A (ko) * 2000-11-16 2002-05-23 현대네트웍스 주식회사 통합형 인터넷 액세스 장치
KR20020052799A (ko) * 2000-12-26 2002-07-04 오길록 패킷기반 중계망에서의 패킷 변환 장치 및 그 방법과 그를이용한 망간 서비스 연동 시스템
KR100373324B1 (ko) * 2000-12-27 2003-02-25 한국전자통신연구원 엠피오에이 망과 에이티엠 기반의 엠피엘에스 망의 연동방법

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990022705A (ko) * 1995-06-08 1999-03-25 밀러 럿셀 비 고속 및 효율적인 패킷 전송 시스템 및 그 방법
KR100255870B1 (ko) * 1997-12-30 2000-05-01 김영환 에이티엠 교환망을 이용한 에이디에스엘 시스템
KR20000073138A (ko) * 1999-05-06 2000-12-05 서평원 복합 비동기 전송 모드 가입자 정합 장치
KR20010039703A (ko) * 1999-07-06 2001-05-15 루센트 테크놀러지스 인크 회로 및 패킷 데이터 전송을 통합하는 통신 채널 동기식마이크로-셀 시스템
KR20010076078A (ko) * 2000-01-25 2001-08-11 오길록 랜 에뮬레이션 클라이언트 다중 엔터티 처리장치 및 방법
KR20010088391A (ko) * 2000-03-08 2001-09-26 루센트 테크놀러지스 인크 라인 카드
KR20020022438A (ko) * 2000-09-20 2002-03-27 구자홍 Atm 시스템의 데이터 전송 경로 판별 장치
KR20020038067A (ko) * 2000-11-16 2002-05-23 현대네트웍스 주식회사 통합형 인터넷 액세스 장치
KR20020052799A (ko) * 2000-12-26 2002-07-04 오길록 패킷기반 중계망에서의 패킷 변환 장치 및 그 방법과 그를이용한 망간 서비스 연동 시스템
KR100373324B1 (ko) * 2000-12-27 2003-02-25 한국전자통신연구원 엠피오에이 망과 에이티엠 기반의 엠피엘에스 망의 연동방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102423122B1 (ko) 2022-02-07 2022-07-21 (주)진영에스텍 현장 맞춤 구조의 케이블 트레이

Also Published As

Publication number Publication date
KR20030039249A (ko) 2003-05-17

Similar Documents

Publication Publication Date Title
US5596574A (en) Method and apparatus for synchronizing data transmission with on-demand links of a network
US6650646B1 (en) Digital communications system
US7327688B2 (en) Digital communications system
EP1005780B1 (en) Method and system for encapsulating/decapsulating data on a per channel basis in hardware
US5872783A (en) Arrangement for rendering forwarding decisions for packets transferred among network switches
EP1131923B1 (en) Multi-protocol conversion assistance method and system for a network accelerator
US6169739B1 (en) ATM VLAN multi-protocol client-server system using layer-3 header of packets for transporting connectionless and connection-oriented traffic
EP0871309B1 (en) Router device and frame transfer method using datalink layer frame switching
US7289517B1 (en) Node device
KR100459541B1 (ko) 네트워크 인터페이스에 따른 메시지 처리 방법
FI104670B (fi) Pakettien reititys tietoliikennejärjestelmässä
US6947423B2 (en) MAC address notification method in MPOA systems and MPOA server for the same
US6948013B2 (en) Apparatus and method for configuring data cells
US6788706B1 (en) Frame handling system, and frame handling method
KR20020025427A (ko) 아이피 패킷 포워딩 장치 및 그 방법
CN1238875A (zh) 电信系统中包的路由寻址

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121030

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20131030

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee