KR100546757B1 - ???? ??? packet processing device in packet forwarding engine using network processor - Google Patents
???? ??? packet processing device in packet forwarding engine using network processor Download PDFInfo
- Publication number
- KR100546757B1 KR100546757B1 KR1020020081926A KR20020081926A KR100546757B1 KR 100546757 B1 KR100546757 B1 KR 100546757B1 KR 1020020081926 A KR1020020081926 A KR 1020020081926A KR 20020081926 A KR20020081926 A KR 20020081926A KR 100546757 B1 KR100546757 B1 KR 100546757B1
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- vpn
- mpls
- network
- switch module
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 네트워크 프로세서 특히 IBM NP4GS3를 이용한 패킷 포워딩 엔진내의 MPLS VPN 패킷 처리 장치에 관한 것으로, 보다 상세하게는 E-PON 시스템에서 MPLS VPN 서비스를 지원하기 위하여 MPLS VPN 패킷을 룩업하는 기능과 출력포트에 적합한 형태로 처리하는 기능을 제공하여 패킷 포워딩 엔진에서 기존의 이더넷 및 IP 패킷들과 함께 MPLS VPN 패킷들을 포워딩하도록 하고, 고속의 MPLS VPN 패킷의 처리 기능을 효율적으로 구현하기 위한 네트워크 프로세서를 이용한 패킷 포워딩 엔진에서의 MPLS VPN 패킷 처리 장치에 관한 것이다. The present invention relates to an MPLS VPN packet processing apparatus in a packet forwarding engine using a network processor, in particular, the IBM NP4GS3. Packet forwarding using a network processor to efficiently implement high-speed MPLS VPN packet processing by forwarding MPLS VPN packets with existing Ethernet and IP packets in the packet forwarding engine by providing the appropriate processing function. An apparatus for processing MPLS VPN packets in an engine.
이를 위하여 본 발명에 의한 네트워크 프로세서를 이용한 패킷 포워딩 엔진에서의 MPLS VPN 패킷 처리 장치는 E-PON 기반의 OLT 시스템에서 MPLS VPN 서비스를 구현하기 위한 네트워크 프로세서 기반의 패킷 처리 장치로서, 입력(Ingress)시 수신된 패킷을 분류하여 패킷처리부들로 전달하는 패킷 분류 모듈, 상기 패킷 분류 모듈로부터 전달된 패킷을 처리하는 패킷처리부들, 출력(Egress)시 패킷스위치모듈로부터 전달된 패킷을 분석하여 패킷의 종류를 판별하는 하드웨어 분류기, 및 상기 하드웨어 분류기로부터 전달된 상기 패킷을 처리하여 L2 출력부로 전달하기 위한 패킷처리부들을 포함하여 구성된 네트워크 프로세서 기반의 패킷 처리 장치에 있어서, 비-MPLS망에서 MPLS망으로 또는 상기 MPLS망에서 비-MPLS망으로 전달되는 패킷을 처리하기 위한 MPLS L2 VPN 패킷 처리수단; 및 IP망에서 MPLS망으로 또는 상기 MLPS망에서 상기 IP망으로 전달되는 패킷을 처리하기 위한 MPLS L3 VPN 패킷 처리 수단을 더 포함하는 것을 특징으로 한다.To this end, the MPLS VPN packet processing apparatus in the packet forwarding engine using the network processor according to the present invention is a network processor based packet processing apparatus for implementing MPLS VPN service in an E-PON based OLT system, Packet classification module for classifying the received packet to the packet processing unit, packet processing unit for processing the packet transmitted from the packet classification module, and packet type by analyzing the packet transmitted from the packet switch module at the time of egress. A network processor based packet processing apparatus comprising a hardware classifier for discriminating and a packet processing unit for processing and forwarding the packet transmitted from the hardware classifier to an L2 output unit, the network processor based on a non-MPLS network or an MPLS network. MPLS L2 VPN packet for processing packets from network to non-MPLS network Lee means; And MPLS L3 VPN packet processing means for processing packets transferred from the IP network to the MPLS network or from the MLPS network to the IP network.
Description
도 1은 본 발명에 따른 E-PON용 OLE 시스템의 전체 망 구성도를 도시한다.Figure 1 shows the overall network configuration of the OLE system for E-PON according to the present invention.
도 2는 입력(Ingress)의 경우 패킷 포워딩 엔진부내의 NP4GS3 네트워크 프로세서의 내부구조를 나타내는 구성도이다.2 is a block diagram showing the internal structure of the NP4GS3 network processor in the packet forwarding engine unit in the case of Ingress.
도 3은 출력(Egress)의 경우 패킷 포워딩 엔진부내의 NP4GS3 네트워크 프로세서의 내부구조를 나타내는 구성도이다.3 is a block diagram showing the internal structure of the NP4GS3 network processor in the packet forwarding engine unit in the case of output (Egress).
도 4는 비-MPLS망에서 MPLS망으로 전달되는 MPLS L2 VPN 패킷 처리를 나타내는 흐름도이다.4 is a flowchart illustrating MPLS L2 VPN packet processing transferred from a non-MPLS network to an MPLS network.
도 5는 MPLS망에서 비-MPLS망으로 전달되는 MPLS L2 VPN 패킷 처리를 나타내는 흐름도이다.5 is a flowchart illustrating MPLS L2 VPN packet processing delivered from a MPLS network to a non-MPLS network.
도 6은 IP망에서 MPLS망으로 전달되는 MPLS L3 VPN 패킷 처리를 나타내는 흐름도이다.6 is a flowchart illustrating processing of an MPLS L3 VPN packet transmitted from an IP network to an MPLS network.
도 7은 MPLS망에서 IP망으로 전달되는 MPLS L3 VPN 패킷의 처리흐름도이다.7 is a flowchart illustrating processing of an MPLS L3 VPN packet transmitted from an MPLS network to an IP network.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>
100, 110, 120 : 패킷 포워드 엔진부100, 110, 120: packet forward engine unit
130 : 패킷 스위치 모듈130: packet switch module
140 : 메인 제어 프로세서140: main control processor
200 : 패킷 분류 모듈200: packet classification module
250, 330 : MPLS L2 VPN 패킷 처리수단250, 330: MPLS L2 VPN packet processing means
260, 320 : MPLS L2 VPN 패킷 처리수단260, 320: MPLS L2 VPN packet processing means
370 : L2 출력부370: L2 output
400, 500, 600, 700 : 입력 네트워크 프로세서(Ingress NP)400, 500, 600, 700: Input Network Processor (Ingress NP)
410, 510, 610, 710 : 패킷 스위치 모듈410, 510, 610, 710: packet switch module
420, 520, 620, 720 : 출력 네트워크 프로세서(Egress NP)420, 520, 620, 720: output network processor (Egress NP)
450, 470, 540, 560, 650, 670, 740, 760 : 룩업 테이블 구조체Lookup Table Structure: 450, 470, 540, 560, 650, 670, 740, 760
본 발명은 네트워크 프로세서 특히 IBM NP4GS3을 이용한 패킷 포워딩 엔진내의 MPLS VPN 패킷 처리 장치에 관한 것으로, 보다 상세하게는 E-PON 시스템에서 MPLS VPN 서비스를 지원하기 위하여 MPLS VPN 패킷을 룩업하는 기능과 출력포트에 적합한 형태로 처리하는 기능을 제공하여 패킷 포워딩 엔진에서 기존의 이더넷 및 IP 패킷들과 함께 MPLS VPN 패킷들을 포워딩하도록 하고, 고속의 MPLS VPN 패킷의 처리 기능을 효율적으로 구현하기 위한 네트워크 프로세서를 이용한 패킷 포워딩 엔진에서의 MPLS VPN 패킷 처리 장치에 관한 것이다.The present invention relates to an MPLS VPN packet processing apparatus in a packet forwarding engine using a network processor, in particular, the IBM NP4GS3. Packet forwarding using a network processor to efficiently implement high-speed MPLS VPN packet processing by forwarding MPLS VPN packets with existing Ethernet and IP packets in the packet forwarding engine by providing the appropriate processing function. An apparatus for processing MPLS VPN packets in an engine.
가상 사설망(Virtual Private Network, 이하 'VPN'이라 함) 서비스는 가상의 사설망을 인터넷 공용망내에서 구현하는 기능으로서 보안성이 강하며, 차별화된 트래픽 제어가 가능하다. 또한 기존의 전용선을 통한 사설망 구현에 비해서 훨씬 저렴한 비용으로 구현이 가능한 장점을 가지게 된다. 그러나, 인터넷망에서는 각각의 에지(Edge) 라우터와 백본 라우터에서 비연결성 경로 설정 관리와 차별화된 트래픽 제어 기능 제공이 어려우므로 이러한 사설망 서비스를 제공하기가 힘든 단점이 있다.The virtual private network (VPN) service is a function that implements a virtual private network in the Internet public network, which is strong in security and enables differentiated traffic control. In addition, it has the advantage that it can be implemented at a much lower cost than the private network implementation through a conventional leased line. However, in the Internet network, it is difficult to provide such a private network service because it is difficult to provide connectionless path management and differentiated traffic control functions in each edge router and backbone router.
이러한 문제점을 해결하기 위해서 인터넷망에서 VPN 서비스를 구현하기 위한 많은 연구가 이루어져 왔으며, 특히, 다중-프로토콜 레이블 교환(Multi-Protocol Label Switching, 이하 'MPLS'라 함) 기술을 이용한 기술 개발이 활발히 이루어지고 있다. MPLS 기술은 레이블 교환 경로(Label Switched Path, 이하 'LSP'라 함) 라는 가상의 경로를 나타내는 고정길이의 LSP 레이블 값을 이용하여 각각의 경로를 구분하게 되며, 각 라우터에서는 레이블 값에 따라 고속의 룩업 및 포워딩 기능 구현이 가능한 장점을 가지게 된다. 또한 자원 예약 프로토콜(Resource ReserVation Protocol, RSVP)과 같은 자원 예약 프로토콜을 이용하여 LSP를 결정하므로 서비스 품질(Quality of Service, QoS) 기능을 쉽게 구현할 수 있게 된다. 이러한 MPLS를 지원하는 라우터들은 ATM 교환기 및 IP 라우터 상에서 구현이 이루어지게 되며, 각 라우터에서는 LSP 별로 트래픽 제어를 하거나 IP DiffServ와 같은 차별화된 트래픽 제어 기능을 수행하게 된다. 그리고, 나날이 폭증하는 인터넷 트래픽을 처리하기 위해서는 각 라우터에서의 고속화가 필수적이며, 또한 각 가입자의 특성에 맞는 차 별화된 서비스를 지원하기 위한 라우터 개발이 요구되어진다. 이러한 하드웨어적인 성능 향상과 다양한 서비스 지원을 함께 구현하기 위해서 네트워크 프로세서 기반의 패킷 포워딩 엔진에 대한 연구가 활발히 이루어지고 있다.In order to solve this problem, many researches have been conducted to implement VPN services in the Internet network, and in particular, technology development using multi-protocol label switching (MPLS) technology has been actively conducted. ought. MPLS technology distinguishes each path by using fixed-length LSP label value representing a virtual path called Label Switched Path (hereinafter referred to as 'LSP'). The lookup and forwarding functions can be implemented. In addition, LSP is determined using a resource reservation protocol such as Resource ReserVation Protocol (RSVP), so that the quality of service (QoS) function can be easily implemented. Routers supporting MPLS are implemented on ATM switches and IP routers, and each router performs traffic control for each LSP or performs differentiated traffic control functions such as IP DiffServ. In addition, in order to handle Internet traffic that is increasing day by day, high speeds are essential in each router, and router development is required to support differentiated services suitable for the characteristics of each subscriber. Network processor-based packet forwarding engine is being actively researched to implement such hardware performance improvement and various service support.
네트워크 프로세서는 하드웨어적으로 패킷 헤더 룩업 및 포워딩 기능을 수행하며, 또한 여러가지 서비스 요구를 수행하기 위해서 최장 프리픽스 정합(Longest Prefix Match, LPM) 룩업 방식외에 다양한 헤더에 대한 룩업을 수행할 수 있는 다중-필드(Multi-Field) 룩업 방식을 지원하게 된다. 또한 네트워크 프로세서는 내장된 CPU 모듈에서 고속으로 패킷 처리 기능을 수행함과 동시에 프로그래밍이 가능하므로 프로토콜의 변화 및 다양한 가입자 요구 사항들을 빠른 시간에 반영할 수 있는 장점을 가지게 된다.The network processor performs a packet header lookup and forwarding function in hardware, and can also perform multi-field lookup on various headers in addition to the longest prefix match (LPM) lookup method to fulfill various service requirements. (Multi-Field) lookup method is supported. In addition, the network processor can be programmed at the same time to perform packet processing at high speed in the built-in CPU module, which has the advantage of reflecting protocol changes and various subscriber requirements in a short time.
본 발명이 적용되는 이더넷-수동 광학 네트워크(Ethernet Passive Optical Network, 이하 'E-PON'이라 함)기반 광선로터미널(Optical Line Terminal, OLT) 시스템에서도 E-PON 가입자에 VPN 서비스를 제공하기 위해서 MPLS 기반의 VPN 서비스를 지원하게 되며, L2의 VLAN 그룹을 이용한 MPLS L2 VPN 서비스와 L3(layer 3)의 IP 헤더를 이용한 MPLS L3 VPN 서비스를 각각 지원한다. 그러나 OLT 시스템의 패킷 포워딩 엔진에서 사용하는 IBM NP4GS3 네트워크 프로세서에서는 VPN 서비스를 제공하지 않으므로 본 발명인 MPLS VPN 패킷 장치의 사용이 필수적이다.In order to provide a VPN service to an E-PON subscriber, an Ethernet-Passive Optical Network (E-PON) based Optical Line Terminal (OLT) system to which the present invention is applied is provided. It supports VPN service, and supports MPLS L2 VPN service using L2 VLAN group and MPLS L3 VPN service using IP header of L3 (layer 3), respectively. However, since the IBM NP4GS3 network processor used in the packet forwarding engine of the OLT system does not provide a VPN service, the use of the present invention MPLS VPN packet device is essential.
본 발명은 상기와 같은 문제점들을 해결하기 위하여 창출된 것으로, 본 발명은, MPLS기반 L2, L3 VPN 패킷에 대해서 L2 및 L3 헤더 룩업 기능과 MPLS LSP 포워 딩 기능, 그리고 패킷 헤더 변경 기능을 제공함으로써 IBM NP4GS3 네트워크 프로세서 엔진에서 MPLS VPN 서비스 기능 구현이 효율적으로 이루어질 수 있는 MPLS VPN 패킷 처리 장치를 제공하는데 그 목적이 있다.The present invention was created to solve the above problems, and the present invention provides an L2 and L3 header lookup function, an MPLS LSP forwarding function, and a packet header change function for MPLS-based L2 and L3 VPN packets. An object of the present invention is to provide an MPLS VPN packet processing apparatus capable of efficiently implementing the MPLS VPN service function in the NP4GS3 network processor engine.
상기 목적을 달성하기 위하여 본 발명에 따른 네트워크 프로세서를 이용한 패킷 포워딩 엔진에서의 MPLS VPN 패킷 처리 장치는 E-PON 기반의 OLT 시스템에서 MPLS VPN 서비스를 구현하기 위한 네트워크 프로세서 기반의 패킷 처리 장치로서, 입력(Ingress)시 수신된 패킷을 분류하여 패킷처리부들로 전달하는 패킷 분류 모듈(200), 상기 패킷 분류 모듈(200)로부터 전달된 패킷을 처리하는 패킷처리부들(210, 220, 230, 240), 출력(Egress)시 패킷스위치모듈(130)로부터 전달된 패킷을 분석하여 패킷의 종류를 판별하는 하드웨어 분류기(310), 및 상기 하드웨어 분류기(310)로부터 전달된 상기 패킷을 처리하여 L2 출력부(370)로 전달하기 위한 패킷처리부들(340, 350, 360)을 포함하여 구성된 네트워크 프로세서 기반의 패킷 처리 장치에 있어서, In order to achieve the above object, an MPLS VPN packet processing apparatus in a packet forwarding engine using a network processor according to the present invention is a network processor based packet processing apparatus for implementing an MPLS VPN service in an E-PON based OLT system. A
비-MPLS망에서 MPLS망으로 또는 상기 MPLS망에서 비-MPLS망으로 전달되는 패킷을 처리하기 위한 MPLS L2 VPN 패킷 처리수단(250, 330); 및MPLS L2 VPN packet processing means (250, 330) for processing packets transferred from the non-MPLS network to the MPLS network or from the MPLS network to the non-MPLS network; And
IP망에서 MPLS망으로 또는 상기 MLPS망에서 상기 IP망으로 전달되는 패킷을 처리하기 위한 MPLS L3 VPN 패킷 처리수단(260, 320)을 더 포함하는 것을 특징으로 한다.MPLS L3 VPN packet processing means (260, 320) for processing the packet transmitted from the IP network to the MPLS network or the MLPS network to the IP network.
바람직하게는, 비-MPLS망에서 MPLS망으로 상기 패킷이 전달되는 경우에 상기 MPLS L2 VPN 패킷 처리수단은Preferably, the MPLS L2 VPN packet processing means when the packet is transferred from the non-MPLS network to the MPLS network
비-MPLS망으로부터 입력된 패킷에 대한 제1 룩업구조체를 참조하고 프레임 헤더 포맷(FHF_L2_VPN)을 상기 패킷에 첨가하여 패킷 스위치 모듈로 전달하는 입력(Ingress) NP(400);An Ingress NP 400 that refers to a first lookup structure for a packet input from a non-MPLS network and adds a frame header format (FHF_L2_VPN) to the packet and delivers it to the packet switch module;
상기 입력(Ingress) NP로부터 전달된 상기 패킷을 출력(Egress) NP로 전달하는 패킷 스위치 모듈(410); 및A
상기 패킷 스위치 모듈로부터 전달된 상기 패킷에 대한 제2 룩업구조체를 참조하고 VPN 레이블, 터널 레이블 및 L2' 헤더를 첨가하여 MPLS망으로 전달하는 출력(Egress) NP(420)를 포함하는 것을 특징으로 한다.And an
바람직하게는, 상기 제1 룩업구조체는 VLAN ID, TB/TP, LSP 및 FHF_L2_VPN을 포함하며, 상기 제2 룩업구조체는 LSP, VPN 레이블, 터널 레이블 및 L2' 헤더를 포함하는 것을 특징으로 한다.Advantageously, said first lookup structure comprises a VLAN ID, TB / TP, LSP and FHF_L2_VPN, and said second lookup structure comprises an LSP, a VPN label, a tunnel label, and an L2 'header.
바람직하게는, MPLS망에서 비-MPLS망으로 상기 패킷이 전달되는 경우에 상기 MPLS L2 VPN 패킷 처리 수단은Preferably, the MPLS L2 VPN packet processing means when the packet is transferred from the MPLS network to the non-MPLS network
MPLS망으로부터 입력된 패킷에 대한 제1 룩업구조체를 참조하고, 입력된 패킷중 VPN 레이블, 터널 레이블 및 L2' 헤더를 제거하며, 새로운 프레임 헤더 포맷(FHF_L2_VPN')을 첨가하여 패킷 스위치 모듈로 전달하는 입력(Ingress) NP(500);Refers to a first lookup structure for a packet input from the MPLS network, removes a VPN label, a tunnel label, and an L2 'header among the input packets, and adds a new frame header format (FHF_L2_VPN') to the packet switch module. Ingress NP 500;
상기 입력(Ingress) NP로부터 전달된 상기 패킷을 출력(Egress) NP로 전달하는 패킷 스위치 모듈(510); 및A
상기 패킷 스위치 모듈로부터 전달된 상기 패킷에 대한 제2 룩업구조체를 참조하고 별도의 헤더 첨가과정없이 비-MPLS망으로 전달하는 출력(Egress) NP(520)를 포함하는 것을 특징으로 한다.And an output (NP) 520 for referring to the second lookup structure for the packet transmitted from the packet switch module and transferring it to a non-MPLS network without a separate header addition process.
바람직하게는, 상기 제1 룩업구조체는 VPN 레이블, TB/TP 및 FHF_L2_VPN'를 포함하는 것을 특징으로 한다.Preferably, the first lookup structure is characterized in that it comprises a VPN label, TB / TP and FHF_L2_VPN '.
바람직하게는, IP망에서 MPLS망으로 상기 패킷이 전달되는 경우에 상기 MPLS L3 VPN 패킷 처리 수단은Preferably, the MPLS L3 VPN packet processing means when the packet is delivered from the IP network to the MPLS network
IP망으로부터 입력된 패킷에 대한 제1 룩업구조체를 참조하고 기존의 L2 헤더를 프레임 헤더 포맷(FHF_L3_VPN)으로 교체하고 상기 패킷에 첨가하여 패킷 스위치 모듈로 전달하는 입력(Ingress) NP(600);An Ingress NP 600 for referring to a first lookup structure for a packet input from an IP network and replacing an existing L2 header with a frame header format (FHF_L3_VPN) and adding the packet to the packet switch module to the packet switch module;
상기 입력(Ingress) NP로부터 전달된 상기 패킷을 출력(Egress) NP로 전달하는 패킷 스위치 모듈(610); 및A packet switch module (610) for delivering the packet transmitted from the ingress NP to an egress NP; And
상기 패킷 스위치 모듈로부터 전달된 상기 패킷에 대한 제2 룩업구조체를 참조하고 VPN 레이블, 터널 레이블 및 L2' 헤더를 첨가하여 MPLS망으로 전달하는 출력(Egress) NP(620)를 포함하는 것을 특징으로 한다.And an
바람직하게는, 상기 제1 룩업구조체는 포트번호, 송신지 IP, 목적지 IP, TB/TP, LSP 및 FHF_L3_VPN를 포함하고, 상기 제2 룩업구조체는 LSP, VPN 레이블, 터널 레이블 및 L2' 헤더를 포함하는 것을 특징으로 한다.Advantageously, said first lookup structure comprises a port number, a source IP, a destination IP, TB / TP, LSP and FHF_L3_VPN, and said second lookup structure includes an LSP, a VPN label, a tunnel label, and an L2 'header. Characterized in that.
바람직하게는, MPLS망에서 IP망으로 상기 패킷이 전달되는 경우에 상기 MPLS L3 VPN 패킷 처리 수단은Preferably, the MPLS L3 VPN packet processing means when the packet is transferred from the MPLS network to the IP network
MPLS망으로부터 입력된 패킷에 대한 제1 룩업구조체를 참조하여 입력된 패킷중 VPN 레이블, 터널 레이블 및 L2' 헤더를 제거하고 새로운 프레임 헤더 포맷(FHF_L3_VPN')을 첨가하여 패킷 스위치 모듈로 전달하는 입력(Ingress) NP(700);An input for removing a VPN label, a tunnel label, and an L2 'header among the input packets by referring to the first lookup structure for a packet input from the MPLS network, and adding a new frame header format (FHF_L3_VPN') to the packet switch module. Ingress)
상기 입력(Ingress) NP로부터 전달된 상기 패킷을 출력(Egress) NP로 전달하는 패킷 스위치 모듈(710); 및A
상기 패킷 스위치 모듈로부터 전달된 상기 패킷에 대한 제2 룩업구조체를 참조하여 프레임 헤더 포맷(FHF_L2_VPN')을 L2 헤더로 교체하여 IP망으로 전달하는 출력(Egress) NP(720)를 포함하는 것을 특징으로 한다.And an output (Egress)
바람직하게는, 상기 제1 룩업구조체는 VPN 레이블, TB/TP, NEXTHOP_IP 및 FHF_L3_VPN'을 포함하고, 상기 제2 룩업구조체는 NEXTHOP_IP 및 L2 MAC을 포함하는 것을 특징으로 한다.Advantageously, said first lookup structure comprises a VPN label, TB / TP, NEXTHOP_IP and FHF_L3_VPN ', and said second lookup structure comprises NEXTHOP_IP and L2 MAC.
이하, 첨부한 도면을 참조하면서 본 발명에 따른 바람직한 실시예를 상세하게 설명한다. 본 발명의 요지를 설명함에 있어서 관련된 공지기술 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 것이다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the description of the gist of the present invention, if it is determined that the detailed description of the related well-known technology or configuration may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted.
도 1을 참조하면, 본 발명에 따른 시스템은 패킷 포워드 엔진부(100, 110, 120), 패킷 스위치 모듈(130) 및 메인 제어 프로세서(140)를 포함하여 이루어져 있다. 도 1에서 패킷 포워딩 엔진부(100, 110, 120)는 Gigabit Ethernet나 POS(Packet of SONET)과 같은 외부 인터페이스로부터 패킷을 수신받아 헤더 룩업, 패킷 포워딩 기능을 수행하여 패킷 스위치 모듈(130)로 전달하게 되며, 해당 패킷은 출력포트가 포함된 패킷 포워딩 엔진부로 다시 전달되어 출력포트에 적합한 헤더 형태로 재 변환되어 외부로 전달된다. 또한 헤더 룩업이나 패킷 포워딩시에 참조되는 포워딩 테이블 정보들은 도 1의 메인 제어 프로세서부(140)에서 IPC (Inter Process Communication) 채널을 통해서 전달되어진다. 이러한 메인 제어 프로세서부는 MPLS VPN 서비스를 제공하기 위해서 RSVP 및 CR-LDP와 같은 라우팅 프로토콜을 이용하여 LSP 경로를 설정하게 되며, 또한 해당 LSP경로에 대해서 요구되는 트래픽 제어 프로파일 정보 등을 설정하여 각각의 패킷 포워딩 장치에 IPC 채널을 통해서 전달하는 역할도 수행하게 된다.Referring to FIG. 1, a system according to the present invention includes a packet
도 2는 도 1의 패킷 포워딩 엔진부(100, 110, 120)내의 NP4GS3 네트워크 프로세서의 내부 구성을 보여주고 있으며, 특히 패킷 스위치 모듈(130)로 패킷을 전달하는 입력(Ingress)의 경우를 보여주고 있다. 패킷 분류 모듈(200)은 수신된 패킷에 대해서 여러가지 패킷 종류로 분류하는 기능을 수행하게 되며, 각각의 패킷 종류에 따라서 해당 패킷 처리 모듈에서는 적합한 헤더 룩업 및 포워딩 기능을 수행하게 된다. 특히, L2 패킷처리부(210)에서 처리한 패킷들도 상위 처리 모듈에서 추가적인 서비스가 필요한 경우에는 L3 패킷처리부(230) 및 L4 패킷처리부(240)를 거치게 된다. MPLS 패킷처리부(220)는 일반적인 MPLS 패킷 처리 기능을 담당하게 되며, 본 발명의 MPLS L2 VPN 패킷 처리 수단(250)과 MPLS L3 VPN 패킷 처리 수단(260)은 성능의 향상을 위해서 추가적인 패킷 처리를 수행하지 않고 직접 스위치 모듈로 전달하게 된다.FIG. 2 illustrates an internal configuration of the NP4GS3 network processor in the packet
도 3은 도 2와는 반대로 패킷 스위치 모듈(130)에서 전달된 패킷을 외부 인터페이스로 전달하는 출력(Egress) 경우의 내부 구성을 보여주고 있다. 하드웨어 분류기(310)는 패킷 스위치 모듈(130)로 전달되는 패킷의 헤더 부분인 프레임 헤더 포맷(Frame Header Format. 이하 'FHF'라 함)을 분석하여 패킷의 종류를 판별하는 기능을 수행하게 된다. 이렇게 분류된 패킷의 종류에 따라서 IP 패킷처리부(340), MPLS 패킷처리부(350), L2 패킷처리부(360) 등으로 패킷이 전달된다. 각각의 패킷처리부를 거친 패킷들은 출력포트에 적합한 L2 헤더를 붙이기 위해서 L2 출력부(370)로 전달된 후 외부 인터페이스로 전달되어진다. 도 3에서 MPLS L2 VPN 패킷 처리 수단(330)과 MPLS L3 VPN 패킷 처리 수단(320)에서는 성능의 향상과 MPLS VPN 헤더를 처리하기 위해서 내부적으로 L2 헤더 변환 기능까지 처리한 후 외부 인터페이스로 직접 전달하는 점이 구별된다.3 illustrates an internal configuration of an output case in which packets transmitted from the
도 4는 도 2와 도 3의 MPLS L2 VPN 패킷 처리 수단(250, 330)에서 수행되는 패킷 처리 절차를 나타내고 있으며, 특히, 비-MPLS망에서 수신된 패킷을 MPLS망으로 전달하는 경우를 보여주고 있다. 비-MPLS망으로부터 전달되는 패킷(430)은 IP 데이터(IP DATA), IP 헤더(IP HDR) 및 L2 헤더(L2 HDR)를 포함하여 이루어진다. 또한 L2 헤더(L2 HDR)는 크게 VLAN 헤더 및 MAC 헤더로 구분이 되며(440), 입력(Ingress) NP(400)로 전달된 패킷(430)이 VPN 서비스를 필요로 하는 경우라면, VLAN 헤더(VLAN HDR)내에 VLAN ID 값을 가지게 된다.FIG. 4 illustrates a packet processing procedure performed in the MPLS L2 VPN packet processing means 250 and 330 of FIGS. 2 and 3. In particular, FIG. 4 illustrates a case in which a packet received in a non-MPLS network is delivered to an MPLS network. have. The
입력(Ingress) NP(Network Process)(400)에서는 이 값을 검색키로 하여 Exact Match방식을 사용하고 룩업 테이블(450)을 참조하여 포워딩할 목적지 NP와 출력포트 정보를 추출하고, MPLS망에서 사용될 LSP 값과 FHF_L2_VPN 값을 이용하여 프레임 헤더 포멧(FHF_L2_VPN)을 생성한다. 생성된 프레임 헤더 포멧(FHF_L2_VPN)은 입력된 패킷(430)에 새롭게 첨가된 패킷 형태(460)로 패킷 스위치 모듈(410)로 전달된다. 여기서, 룩업 테이블(450)은 VLAN ID, TB/TP(Target Board/Target Port), 레이블 교환 경로(Label Switched Path, LSP), FHF_L2_VPN를 포함하여 이루어진다. The Ingress NP (Network Process) 400 uses this value as a search key to extract the destination NP and output port information to be forwarded using the Exact Match method, referring to the lookup table 450, and the LSP to be used in the MPLS network. The frame header format (FHF_L2_VPN) is generated using the value and the FHF_L2_VPN value. The generated frame header format FHF_L2_VPN is transmitted to the
패킷 스위치 모듈(410)은 입력(Ingress) NP(400)로부터 전달된 패킷(460)을 출력(Egress) NP(420)로 전달한다. The
한편, 출력(Egress) NP(420)는 패킷(460)내의 프레임 헤더 포맷(FHF_L2_VPN)이 포함하고 있는 룩업 테이블(470)을 다시 참조하여 기존의 패킷(430)에 VPN 레이블(VPN LABEL), 터널 레이블(TUNNEL LABEL), L2' 헤더(L2' HDR)를 첨가하며, 이러한 새로운 형태의 패킷(480)을 MPLS망으로 전달한다.Meanwhile, the output (Egress)
도 5는 도 2와 도 3의 MPLS L2 VPN 패킷 처리 수단(250, 330)에서 수행되는 패킷 처리 절차를 나타내고 있으며, 도 4와는 반대로 MPLS망에서 수신된 패킷을 비-MPLS망으로 전달하는 경우를 보여주고 있다. MPLS망을 통해서 전달된 L2 VPN 패킷(530)은 IP 데이터(IP DATA), IP 헤더(IP HDR), L2 헤더(L2 HDR), VPN 레이블(VPN LABEL), 터널 레이블(TUNNEL LABEL), L2' 헤더(L2' HDR)을 포함하여 이루어지며, L2 헤더를 포함한 패킷 전체가 MPLS 패킷 형태로 캡슐화(encapsulation)되어 있다.FIG. 5 illustrates a packet processing procedure performed by the MPLS L2 VPN packet processing means 250 and 330 of FIGS. 2 and 3. In contrast to FIG. 4, a packet received by the MPLS network is transferred to a non-MPLS network. Is showing. The
입력(Ingress) NP(500)에서는 L2 헤더(L2' HDR)와 MPLS 터널 레이블값(TUNNEL LABEL)을 폐기한 후 룩업구조체(540)을 참조하여 포워딩할 목적지 NP와 출력포트 정보를 검색하며, 프레임 헤더 포맷(FHF_L2_VPN')를 포함시킨 패킷(550)을 패킷 스위치 모듈(510)로 전달한다.
패킷 스위치 모듈(510)은 상기 패킷(550)을 출력(Egress) NP(520)로 전달하고, 출력(Egress) NP(520)에서는 프레임 헤더 포맷(FHF_L2_VPN')을 검색한 경우 별도의 헤더 추가 과정을 수행하지 않고 패킷을 외부 인터페이스(비-MPLS망)으로 전달(570)한다.The
도 6은 도 2와 도 3의 MPLS L3 VPN 패킷 처리 수단(260, 320)에서 수행되는 패킷 처리 절차를 나타내고 있으며, IP망에서 수신된 패킷 중 MPLS VPN 서비스가 요구되는 패킷을 MPLS망으로 전달하는 기능을 수행하게 된다. IP망에서 수신된 패킷(630)은 IP 데이터(IP DATA), IP 헤더(IP HDR) 및 L2 헤더(L2 HDR)를 포함하여 이루어진다. 또한 L2 헤더(L2 HDR)는 목적지 IP 주소와 송신지 IP 주소(440)를 포함하고 있다.FIG. 6 illustrates a packet processing procedure performed by the MPLS L3 VPN packet processing means 260 and 320 of FIGS. 2 and 3, and forwards a packet requiring an MPLS VPN service to an MPLS network. It will perform the function. The
입력(Ingress) NP(600)에서는 수신된 IP 패킷(630)의 헤더(L2 HDR)로부터 목적지 IP 주소와 송신지 IP 주소 및 수신된 입력포트 정보(640, 650)를 조합한 룩업구조체(650)를 참조하여 다중-필드 분류(Multi-Field Classification) 룩업을 수행한 후 목적지 NP와 출력포트 정보를 각각 추출하게 된다. 이러한 정보를 바탕으로 새로운 프레임 헤더 포멧(FHF_L3_VPN)이 첨가되어 생성된 패킷(660)은 패킷 스위치 모듈(610)로 전달되며, 패킷 스위치 모듈은 출력(Egress) NP(620)로 전달한다. In the
출력(Egress) NP(620)에서는 룩업 테이블(670)을 참조하고, FHF_L3_VPN에 포 함된 레이블 교환 경로 정보(LSP)를 이용하여 MPLS VPN 헤더 생성에 필요한 VPN 레이블(VPN LABEL)과 MPLS 터널 레이블 정보(VPN TUNNEL LABEL)를 MPLS VPN 패킷 형태(680)로 캡슐화(encapsulation)시킨 형태의 패킷(680)을 MPLS망으로 전달한다. The
도 7은 도 2와 도 3의 MPLS L3 VPN 패킷 처리 수단(260, 320)에서 수행되는 패킷 처리 절차를 나타내고 있으며, 도 6과는 반대로 MPLS망에서 수신된 L3 VPN패킷을 IP망으로 전달하는 기능을 수행하게 된다. FIG. 7 illustrates a packet processing procedure performed by the MPLS L3 VPN packet processing means 260 and 320 of FIGS. 2 and 3, and in contrast to FIG. 6, a function of delivering an L3 VPN packet received from an MPLS network to an IP network. Will be performed.
L3 VPN 패킷 처리 수단에서도 L2 VPN 패킷 처리 수단과 거의 동일한 절차를 거친다. 입력(Ingress) NP(700)는 MPLS망으로부터 입력되는 패킷(730)으로부터 L2 헤더(L2' HDR)와 MPLS 터널 레이블값(TUNNEL LABEL)을 폐기한 후, 룩업 테이블(740)을 참조하여 VPN 레이블(VPN LABEL)로부터 포워딩할 목적지 NP와 출력포트를 결정한다. 이 경우 L2 VPN의 경우에는 L2 헤더를 포함한 전체 패킷이 MPLS 패킷에 캡슐화(encapsulation)되어 있었으나, L3 VPN의 경우에는 IP 패킷만이 MPLS 패킷에 캡슐화(encapsulation)되어 있는 점이 구분된다. 패킷 스위치 모듈(710)로 전달되는 패킷(750)은 프레임 헤더 포맷(FHF_L3_VPN) 정보를 포함하며, 상기 패킷(750)은 출력(Egress) NP(720)로 전달된다. 출력(Egress) NP(720)는 룩업 테이블(760) 참조하여 L2 헤더를 추가한 패킷(770)을 외부 인터페이스(IP망)로 전달한다.The L3 VPN packet processing means goes through almost the same procedure as the L2 VPN packet processing means. The
상술한 바와 같이, 본 발명은 MPLS VPN 서비스를 필요로 하는 L2 및 L3 패킷으로부터 헤더 룩업을 통한 패킷 포워딩 기능과 패킷 변환 기능을 제공함으로써 IBM NP4GS3 네트워크 프로세서 기반 패킷 포워딩 엔진에서 MPLS VPN 패킷 서비스를 구현할 수 있는 효과가 있다.As described above, the present invention can implement the MPLS VPN packet service in the IBM NP4GS3 network processor-based packet forwarding engine by providing a packet forwarding function and a packet conversion function through header lookup from L2 and L3 packets requiring the MPLS VPN service. It has an effect.
이상 본 발명의 바람직한 실시예에 대해 상세히 기술하였지만, 본 발명이 속하는 기술분야에 있어서 통상의 지식을 가진 사람이라면, 첨부된 청구범위에 정의된 본 발명의 정신 및 범위를 벗어나지 않으면서 본 발명을 여러 가지로 변형 또는 변경하여 실시할 수 있음을 알 수 있을 것이다. 따라서 본 발명의 앞으로의 실시예들의 변경은 본 발명의 기술을 벗어날 수 없을 것이다.Although the preferred embodiments of the present invention have been described in detail above, those of ordinary skill in the art to which the present invention pertains may make various changes without departing from the spirit and scope of the present invention as defined in the appended claims. It will be appreciated that modifications or variations may be made. Therefore, changes in the future embodiments of the present invention will not be able to escape the technology of the present invention.
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020081926A KR100546757B1 (en) | 2002-12-20 | 2002-12-20 | ???? ??? packet processing device in packet forwarding engine using network processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020081926A KR100546757B1 (en) | 2002-12-20 | 2002-12-20 | ???? ??? packet processing device in packet forwarding engine using network processor |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040055287A KR20040055287A (en) | 2004-06-26 |
KR100546757B1 true KR100546757B1 (en) | 2006-01-26 |
Family
ID=37347988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020020081926A KR100546757B1 (en) | 2002-12-20 | 2002-12-20 | ???? ??? packet processing device in packet forwarding engine using network processor |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100546757B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102215171B (en) * | 2011-06-09 | 2017-02-08 | 中兴通讯股份有限公司 | Distributed-type massage processing system architecture and massage processing method |
-
2002
- 2002-12-20 KR KR1020020081926A patent/KR100546757B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20040055287A (en) | 2004-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7417950B2 (en) | Method and apparatus for performing data flow ingress/egress admission control in a provider network | |
EP1618688B1 (en) | Source identifier for mac address learning | |
US6985488B2 (en) | Method and apparatus for transporting packet data over an optical network | |
US6977932B1 (en) | System and method for network tunneling utilizing micro-flow state information | |
US7782864B2 (en) | Apparatus and method for providing QoS for MPLS traffic | |
US7499449B2 (en) | Virtual Ethernet MAC switching | |
US20070030851A1 (en) | Method and arrangement for routing pseudo-wire encapsulated packets | |
KR20080031397A (en) | A method to extend the physical reach of an infiniband network | |
WO2007044584A2 (en) | Application wire | |
AU774402B2 (en) | Providing desired service policies to subscribers accessing internet | |
US20070110072A1 (en) | Digital subscriber link interconnection to a virtual private network | |
US20050220059A1 (en) | System and method for providing a multiple-protocol crossconnect | |
WO2005104449A1 (en) | A method and system for transporting ethernet network services in the rpr network. | |
JP2004222010A (en) | Router | |
KR100411880B1 (en) | Apparatus and method for providing MPLS-VPN service | |
KR100546757B1 (en) | ???? ??? packet processing device in packet forwarding engine using network processor | |
Pica et al. | Analysis of MPLS technology in the case of virtual networks | |
KR20070064844A (en) | Constraint based label switched path packet forwarding method in the mpls network | |
Ahmed et al. | Performance comparison of MPLS and ATM based networks | |
KR100684143B1 (en) | Method and apparatus for providing various L2VPN service using Simplified multi protocol Label Switching mechanism | |
KR100508547B1 (en) | MPLS VPN packet classifying device in packet forwarding engine using network processor and method thereof | |
JP2002064542A (en) | Labeled packet transfer processing method and its communication apparatus | |
Dragos et al. | Multiprotocol Label Switching Meta-Frames | |
CN1732652A (en) | Virtual Ethernet MAC switching | |
Reynolds | Multiprotocol label switching |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20090102 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |