KR100602646B1 - Method for processing interfacing malfunction of network processor - Google Patents

Method for processing interfacing malfunction of network processor Download PDF

Info

Publication number
KR100602646B1
KR100602646B1 KR1020040008087A KR20040008087A KR100602646B1 KR 100602646 B1 KR100602646 B1 KR 100602646B1 KR 1020040008087 A KR1020040008087 A KR 1020040008087A KR 20040008087 A KR20040008087 A KR 20040008087A KR 100602646 B1 KR100602646 B1 KR 100602646B1
Authority
KR
South Korea
Prior art keywords
network processor
packet
block
sop
processing
Prior art date
Application number
KR1020040008087A
Other languages
Korean (ko)
Other versions
KR20050079592A (en
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 KR1020040008087A priority Critical patent/KR100602646B1/en
Publication of KR20050079592A publication Critical patent/KR20050079592A/en
Application granted granted Critical
Publication of KR100602646B1 publication Critical patent/KR100602646B1/en

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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/321Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
    • 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/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Abstract

본 발명은 네트워크프로세서 인터페이스를 제공하는 네트워크프로세서 인터페이스 하드웨어의 비정상적인 작동으로 인한 패킷 블럭 유실 또는 상태 보고 누락 등에도 안정적인 동작을 보장하는 네트워크 프로세서에 있어서 인터페이싱 오동작 처리 방법에 관한 것으로서, 네트워크프로세서가 물리계층으로부터 시작 패킷 수신 메시지를 수신하면 내부전역변수를 특정값으로 초기화하는 제 1 단계; 상기 네트워크프로세서는 상기 물리계층으로부터 SOP 패킷 블럭을 수신하면 EOP 유실 체크를 수행하여 SOP 패킷 블럭을 처리하는 제 2 단계; 상기 네트워크프로세서는 상기 물리계층으로부터 MOP 패킷 블럭을 수신하면 SOP 유실 체크를 수행하여 MOP 패킷 블럭을 처리하는 제 3 단계; 및 상기 네트워크프로세서는 상기 물리계층으로부터 EOP 패킷 블럭을 수신하면 SOP 유실 체크를 수행하여 EOP 패킷 블럭을 처리하는 제 4 단계를 포함하는 특징이 있다.The present invention relates to a method for handling interfacing malfunctions in a network processor which guarantees stable operation even in the case of packet block loss or status report loss due to abnormal operation of network processor interface hardware providing a network processor interface. A first step of initializing an internal global variable to a specific value when receiving a start packet reception message; A second step of, when the network processor receives the SOP packet block from the physical layer, performs an EOP loss check to process the SOP packet block; A third step of, when the network processor receives the MOP packet block from the physical layer, performs a SOP loss check to process the MOP packet block; And a fourth step of, when the network processor receives the EOP packet block from the physical layer, performs an SOP loss check to process the EOP packet block.

네트워크프로세서, 분할 처리, 비정상 동작, 인터페이스Network Processor, Split Processing, Abnormal Behavior, Interface

Description

네트워크 프로세서의 인터페이싱 오동작 처리 방법 {Method for processing interfacing malfunction of network processor} {Method for processing interfacing malfunction of network processor}             

도 1은 본 발명이 적용되는 네트워크 프로세서가 장착된 스위치/라우터의 구성도,1 is a configuration diagram of a switch / router equipped with a network processor to which the present invention is applied;

도 2는 본 발명에 이용되는 패킷 분할 개념도,2 is a conceptual diagram of packet division used in the present invention;

도 3은 본 발명의 바람직한 실시예에 따른 네트워크프로세서에 있어서 인터페이싱 오동작 처리 방법의 흐름도.3 is a flowchart of an interfacing malfunction processing method in a network processor according to a preferred embodiment of the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

100 : 물리계층 101 : 물리계층 인터페이스100: physical layer 101: physical layer interface

102 : 패킷처리용 네트워크프로세서 103 : 트래픽 관리용 네트워크프로세서102: network processor for packet processing 103: network processor for traffic management

104 : 스위치 인터페이스 105 : 스위치 패브릭104: switch interface 105: switch fabric

본 발명은 네트워크 프로세서의 패킷 처리 방법에 관한 것으로서, 특히 네트 워크프로세서 인터페이스를 제공하는 네트워크프로세서 인터페이스 하드웨어의 비정상적인 작동으로 인한 패킷 블럭 유실 또는 상태 보고 누락 등에도 안정적인 동작을 보장하는 네트워크 프로세서의 인터페이싱 오동작 처리 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a packet processing method of a network processor. In particular, the present invention relates to an interfacing malfunction processing of a network processor that guarantees stable operation even when packet block loss or status report is lost due to abnormal operation of a network processor interface hardware providing a network processor interface. It is about a method.

오늘날의 극적인 네트워크 트래픽 증가는 인터넷의 인기, 정보의 원격 접속 필요성의 증대, 및 이머징 애플리케이션들에 기인한다고 할 수 있다. 인터넷만을 보더라도 전자 상거래의 폭발적인 성장으로 인해 네트워크 백본에 때로는 지원불가능할 정도의 부하가 걸리곤 한다.Today's dramatic increase in network traffic is due to the popularity of the Internet, the increasing need for remote access of information, and emerging applications. Even on the Internet alone, the explosive growth of electronic commerce can sometimes put an unsupportable load on the network backbone.

또한, 그것은 데이터 트래픽량의 증가가 처음으로 음성 트래픽을 초과하게 한 가장 중요한 요인으로서 유일한 것이기도 하다. 이메일, 데이터베이스 접속, 및 파일 전송을 포함한 원격 접속 애플리케이션의 수요 증가가 네트워크를 더욱 압박하고 있다.It is also the only one as the most important factor that caused the increase in data traffic volume to exceed voice traffic for the first time. The growing demand for remote access applications, including e-mail, database access, and file transfer, is putting more pressure on the network.

네트워크 병목 현상을 없애는 일이 계속하여 서비스 제공업자의 최우선 과제가 되고 있다. 라우터가 종종 이들 병목 현상의 원인이 된다. 그렇지만, 일반적인 네트워크 혼잡은 종종 대역폭 문제로서 잘못 진단되어, 대역폭이 더욱 넓은 솔루션을 찾는 것으로 해결되고 있다.Eliminating network bottlenecks continues to be a top priority for service providers. Routers are often the cause of these bottlenecks. However, general network congestion is often misdiagnosed as a bandwidth problem and is solved by finding a solution with a wider bandwidth.

오늘날, 제조업체들은 이 일의 어려움을 인식해 가고 있다. 제조업체들은 대역폭 자원을 보다 효율적으로 관리하여, 라우터 및 네트워크 애플리케이션 서버에서 흔히 찾아볼 수 있는 진보된 데이터 서비스를 회선 속도(wire speed)로 제공하기 위한 네트워크 프로세서 기술들에 관심을 기울여 가고 있다. 이러한 서비스들로는, 부하 분산(load balancing), QoS, 게이트웨이, 방화벽, 보안 및 웹 캐싱(web caching)이 있다.Today, manufacturers are realizing the difficulty of doing this. Manufacturers are turning to network processor technologies to manage bandwidth resources more efficiently, providing wire-speed, advanced data services commonly found in routers and network application servers. Such services include load balancing, QoS, gateways, firewalls, security, and web caching.

원격 접속 애플리케이션의 경우, 최우선 사항으로서는 성능, 주문형 대역폭(bandwidth-on-demand), 보안 및 인증을 꼽을 수 있다. QoS 및 CoS(Class of Service; 서비스 등급)의 통합, 통합 음성 처리, 및 보다 정교한 보안 솔루션들에 대한 요구도 장래의 원격 접속 네트워크 스위치의 설계를 결정할 것이다. 게다가, 원격 접속에서는, ISDN, T1, E1, OC-3 내지 OC-48, 케이블 및 xDSL 모뎀들과 같은 점점 더 많은 수의 물리 매체를 거쳐야만 할 것이다.For remote access applications, the top priority is performance, bandwidth-on-demand, security, and authentication. The need for integration of QoS and Class of Service (CoS), integrated voice processing, and more sophisticated security solutions will also determine the design of future remote access network switches. In addition, in a remote connection, you will have to go through an increasing number of physical media such as ISDN, T1, E1, OC-3 through OC-48, cable and xDSL modems.

산업 컨설턴트들은 네트워크 프로세서(본 명세서에서는 'NP'라고도 함)를 이하의 기능들 중 하나 이상을 수행할 수 있는 프로그램가능한 통신 집적 회로라고 정의하고 있다.Industry consultants define a network processor (also referred to herein as a 'NP') as a programmable communication integrated circuit capable of performing one or more of the following functions.

패킷 분류(packet classification) -- 어드레스 또는 프로토콜과 같은 기지의 특성들에 기초하여 패킷을 식별함.Packet classification-identifies a packet based on known characteristics such as address or protocol.

패킷 수정(packet modification) -- 패킷을 IP, ATM, 또는 기타 프로토콜들에 적합하도록 수정함(예를 들어, IP의 헤더에서 time-to-live 필드를 갱신함).Packet modification--Modify the packet to conform to IP, ATM, or other protocols (e.g., update the time-to-live field in the header of the IP).

큐/정책 관리(queue/policy management) -- 특정 애플리케이션들에 대한 패킷들의 패킷 큐잉, 디큐잉(de-queuing) 및 스케줄링에 대한 설계 전략을 반영함.Queue / policy management-Reflects the design strategy for packet queuing, de-queuing and scheduling of packets for specific applications.

패킷 포워딩(packet forwarding) -- 스위치 패브릭(switch fabric) 상으로의 데이터 전송 및 수신과, 적절한 어드레스로의 패킷 포워딩 또는 라우팅(routing).Packet forwarding-Sending and receiving data on the switch fabric, and packet forwarding or routing to the appropriate address.

비록 이 정의가 초기 NP의 기본적인 특징들을 정확하게 설명하고 있지만, NP의 잠재적인 기능들 및 이점들 전체가 아직 실현된 것은 아니다. 네트워크 프로세 서는 이전에는 소프트웨어로 처리되었던 네트워킹 작업들이 하드웨어로 실행될 수 있도록 함으로써, 대역폭을 증가시켜 광범위한 애플리케이션들에 있어서의 대기 시간 문제를 해소시킬 수 있다. Although this definition accurately describes the basic features of early NPs, not all of the NP's potential features and benefits have yet been realized. Network processors can increase networking bandwidth and eliminate latency issues in a wide range of applications by allowing networking tasks that were previously processed in software to be executed in hardware.

게다가, NP는 병렬 분산 처리 설계 및 파이프라인 처리 설계와 같은 아키텍쳐를 통해 속도 향상을 제공할 수 있다. 이러한 기능들이 효율적인 검색 엔진을 가능하게 하고, 처리 용량(throughput)을 향상시키며, 복잡한 작업의 고속 실행을 제공할 수 있다.In addition, NP can provide speed improvements through architectures such as parallel distributed processing design and pipeline processing design. These features can enable efficient search engines, improve throughput, and provide fast execution of complex tasks.

네트워크 프로세서는 CPU와 PC간의 관계와 동일하게 네트워크에 대한 기본적인 네트워크 구성 블록이 될 것으로 기대된다. NP에 의해 제공되는 대표적인 기능들로서는, 실시간 처리, 보안, 저장 및 포워딩, 스위치 패브릭 인터페이스, 그리고 IP 패킷 처리 및 학습 기능들이 있다. NP는 ISO 제2 계층 내지 제5 계층을 목표로 하여, 네트워크 관련 작업을 최적화하도록 설계된다.The network processor is expected to be the basic network building block for the network in the same way that the CPU and PC are. Representative functions provided by NP include real time processing, security, storage and forwarding, switch fabric interface, and IP packet processing and learning functions. NP is designed to optimize network related tasks, targeting ISO second to fifth layers.

한편, 네트워크 프로세서의 외부 인터페이스를 살펴보면 데이터 링크계층/물리계층과 인터페이스하고, 보조적인 다른 기능을 수행하는 네트워크 프로세서와도 인터페이스 가능하며, 스위치 패브릭과 인터페이스하여 패킷 송수신을 담당한다.On the other hand, when looking at the external interface of the network processor, it can interface with the data link layer / physical layer, and also with the network processor that performs other auxiliary functions, and interfaces with the switch fabric to handle packet transmission and reception.

또한 패킷 수신 시 가변 길이의 패킷들을 처리하는 것보다 고정 길이의 패킷들을 처리하는 것이 용이하다. It is also easier to process fixed length packets than to process variable length packets upon packet reception.

ATM 셀과 같은 고정 길이 패킷은 스위치를 통한 전파 시간의 예상이 가능하며, 따라서 파이프 라인을 통과시키는 방식과 같이 패킷들을 하나씩 순서대로 스위치를 통해 전달되도록 설정하는 것이 용이하고, 패킷들은 인접한 패킷들 사이에는 갭이 전혀 없이 직렬로 단일 데이터 경로를 거쳐서 전달된다. Fixed-length packets, such as ATM cells, can predict the propagation time through the switch, so it is easy to set up packets to pass through the switch one by one, such as through a pipeline, and the packets can be placed between adjacent packets. It is passed over a single data path in series with no gaps.

반면에 가변 길이 패킷은 스위치, 물리계층 디바이스, 다른 네트워크프로세서를 통해서 처리하는데 소요되는 시간이 다양하며 이전 패킷에 대한 처리 시간이 미리 알려져 있지 않기 때문에 패킷들의 검색과 데이터 중재 스케줄링과 같은 특정 이벤트의 시간을 적절하게 확정하기 곤란하다.On the other hand, variable-length packets vary in processing time through switches, physical layer devices, and other network processors, and because the processing time for previous packets is not known in advance, the time of a particular event, such as packet retrieval and data arbitration scheduling. It is difficult to determine appropriately.

따라서 가변 길이의 패킷들을 고정 길이의 블럭들로 분할하고 이들을 스위치 패브릭 또한 다른 네트워크프로세서로 전송하여 정해진 시간 안에 전달한다.Thus, packets of variable length are divided into fixed-length blocks and transmitted to the switch fabric and other network processors in time.

업스트림(Upstrem) 시 패킷이 여러 블럭으로 분할되며, 다운스트림(downstream)시 재조합된다. 각 블럭들은 네트워크프로세서와 인터페이스하는 하드웨어사이의 시퀀스를 유지한다.On upstream, the packet is divided into blocks, and it is recombined downstream. Each block maintains a sequence between the hardware that interfaces with the network processor.

네트워크프로세서와 인터페이스하는 데이터 링크계층/물리계층 하드웨어는 패킷을 분할하여 전송하며 또는 ATM방식처럼 라인 단에 입력될 때부터 고정 길이의 셀로 구성되어 들어오고 있다. Data link layer / physical layer hardware interfaced with a network processor is divided into a packet or transmitted to a line processor, such as an ATM method, has been made of a fixed length of cells from the line end.

또한 NPForum에서는 네트워크프로세서와 스위치 패브릭과 인터페이스하는 NPSI(Network Processing Forum Streaming Interface)란 표준을 통해서 가변길이 패킷을 고정 길이 패킷으로 분할하여 전송하는 방식을 규정한 프로토콜을 제정하여 네트워크프로세서와 스위치 벤더들이 따르도록 권고하고 있다. In addition, NPForum has established a protocol that defines how variable-length packets are divided into fixed-length packets and transmitted through a standard called Network Processing Forum Streaming Interface (NPSI), which interfaces with network processors and switch fabrics. Is recommended.

또한 네트워크프로세서와 보조적인 업무(포워딩 테이블 룩업, 보안, 트래픽 엔지니어링, QoS등)를 담당하는 네트워크프로세서와의 인터페이스의 패킷 송수신 방법 또한 기술하고 있다.It also describes how to send and receive packets to and from the network processor that handles the network processor and its supporting tasks (forwarding table lookup, security, traffic engineering, and QoS).

한편, 네트워크프로세서상에서 동작 중인 소프트웨어 모듈 중 패킷 송수신에 관련된 부분은 하드웨어 동작과 밀접하게 연관되어 작동한다. 이런 동작으로 하나의 패킷이 여러 블럭으로 분할 처리, 패킷 블럭 인식, 패킷 블럭 상태, 패킷 블럭 송수신 프로토콜 등이 이에 해당한다. Meanwhile, a part related to packet transmission and reception among software modules operating on a network processor operates in close association with hardware operation. In this operation, a packet is divided into several blocks, packet block recognition, packet block state, and packet block transmission and reception protocol.

네트워크 프로세서 인터페이스 하드웨어와 네트워크프로세서 내부 소프트웨어 모듈이 정상적으로 동작할 경우는 문제없지만 네트워크 프로세서 인터페이스 하드웨어 프로토콜상의 비정상적인 작동으로 인한 오류 보고 누락 등으로 소프트웨어의 오작동을 발생시킬 수 있다. 예를 들면 패킷의 첫번째 블럭(SOP, start of packet)를 수신한 후 패킷의 마지막 블럭(EOP, end of packet)을 수신하지 못해 내부 소프트웨어가 계속하여 EOP를 기다리면서 다른 처리를 하지 못한 경우가 발생한다. 또는 SOP를 수신하지 못하고 패킷의 중간 블럭(MOP, middle of packet) 혹은 EOP를 수신할 수 있다. 이 모든 경우가 소프트웨어의 오동작을 일으키는 문제점이 있다.If the network processor interface hardware and the internal software module of the network processor operate normally, there is no problem, but software malfunction may occur due to missing error reporting due to abnormal operation of the network processor interface hardware protocol. For example, after receiving the first block of a packet (SOP) and receiving the last block (EOP) of the packet, the internal software may not wait for the EOP and perform other processing. do. Alternatively, the SOP may not receive the SOP and may receive a middle block (MOP) or an EOP of the packet. In all these cases, there is a problem that causes a malfunction of the software.

따라서, 본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 네트워크프로세서 인터페이스 하드웨어의 비정상적인 작동으로 인한 패킷 블럭 유실 또는 상태 보고 누락 등에도 네트워크프로세서 내부 소프트웨어의 안정적인 동작을 보장할 수 있는 네트워크프로세서의 인터페이싱 오동작 처리 방법을 제공하는 것을 그 목적으로 한다.
Accordingly, the present invention has been made to solve the above problems, and the present invention provides a network processor capable of guaranteeing stable operation of the internal software of the network processor even if packet block loss or status report is lost due to abnormal operation of the network processor interface hardware. It is an object of the present invention to provide a method for handling interfacing malfunctions.

상기와 같은 목적을 달성하기 위한 본 발명은 네트워크프로세서가 물리계층으로부터 시작 패킷 수신 메시지를 수신하면 내부전역변수를 특정값으로 초기화하는 제 1 단계; 상기 네트워크프로세서는 상기 물리계층으로부터 SOP 패킷 블럭을 수신하면 EOP 유실 체크를 수행하여 SOP 패킷 블럭을 처리하는 제 2 단계; 상기 네트워크프로세서는 상기 물리계층으로부터 MOP 패킷 블럭을 수신하면 SOP 유실 체크를 수행하여 MOP 패킷 블럭을 처리하는 제 3 단계; 및 상기 네트워크프로세서는 상기 물리계층으로부터 EOP 패킷 블럭을 수신하면 SOP 유실 체크를 수행하여 EOP 패킷 블럭을 처리하는 제 4 단계를 포함하는 것을 특징으로 한다.The present invention for achieving the above object is a first step of initializing the internal global variable to a specific value when the network processor receives the start packet reception message from the physical layer; A second step of, when the network processor receives the SOP packet block from the physical layer, performs an EOP loss check to process the SOP packet block; A third step of, when the network processor receives the MOP packet block from the physical layer, performs a SOP loss check to process the MOP packet block; And a fourth step of processing the EOP packet block by performing an SOP loss check when the network processor receives the EOP packet block from the physical layer.

이하, 본 발명이 속하는 분야에 통상의 지식을 지닌자가 본 발명을 용이하게 실시할 수 있도록 본 발명의 바람직한 실시 예를 첨부된 도면을 참조하여 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention.

도 1은 본 발명이 적용되는 네트워크 프로세서가 장착된 스위치/라우터의 구성도이다.1 is a configuration diagram of a switch / router equipped with a network processor to which the present invention is applied.

도 1을 참조하면, 본 발명이 적용되는 네트워크프로세서가 장착된 스위치/라우터는 물리계층(100), 물리계층 인터페이스(101), 패킷처리용 네트워크프로세서(102), 트래픽관리용 네트워크프로세서(103), 스위치 인터페이스(104), 스위치 패브릭(105)를 구비하고 있다.Referring to FIG. 1, a switch / router equipped with a network processor to which the present invention is applied may include a physical layer 100, a physical layer interface 101, a packet processing network processor 102, and a traffic management network processor 103. And a switch interface 104 and a switch fabric 105.

물리계층 인터페이스(101)는 패킷처리용 네트워크프로세서(102)가 물리계층(100)과 스위치 패브릭(105) 사이에 위치함으로 기가비트 이더넷 매체접근제어(MAC), POS 프레이머(Framer), ATM 프레이머(Framer) 등의 다양한 물리계층(100)과의 접속을 위하여 인터페이싱 기능을 담당한다.The physical layer interface 101 includes a gigabit Ethernet media access control (MAC), a POS framer, and an ATM framer because a packet processing network processor 102 is located between the physical layer 100 and the switch fabric 105. It is responsible for the interfacing function for connecting to various physical layers 100, such as).

그리고, 패킷처리용 네트워크프로세서(102)는 일반적인 패킷 처리를 담당하며, 물리계층 인터페이스(101)을 거쳐 패킷처리용 네트워크프로세서(102)로 들어온 패킷은 헤더와 데이터로 분리된 후에, 패킷의 유형에 따라 처리절차를 달리하게 된다. The packet processing network processor 102 is in charge of general packet processing, and after the packet entering the packet processing network processor 102 through the physical layer interface 101 is separated into a header and data, Therefore, the processing procedure will be different.

트래픽관리용 네트워크프로세서(103)은 포워딩 테이블 룩업, 보안, 트래픽 엔지니어링, QoS 등의 보조적인 처리를 담당하며, 기본적으로 패킷 메모리(미도시)에 저장된 헤더와 데이터는 트래픽관리용 네트워크프로세서(103)에 의해 포워딩 테이블메모리(미도시)를 참조하여 출력 포트를 정해 해당 포트로 출력되거나, 포워딩 테이블에 없는 패킷의 경우 버려지거나 정책적인 판단에 의해 처리되게 된다. 일반적인 최선형(best effort) 처리의 경우에는 트래픽관리용 네트워크프로세서(103)는 없을 수도 있다.The traffic management network processor 103 is in charge of ancillary processing such as forwarding table lookup, security, traffic engineering, and QoS, and basically the header and data stored in the packet memory (not shown) are used for the traffic management network processor 103. By referring to the forwarding table memory (not shown), the output port is determined and output to the corresponding port, or packets not included in the forwarding table are discarded or processed by policy decision. In the case of general best effort processing, there may be no network processor 103 for traffic management.

그리고, 스위치 인터페이스(104)는 네트워크 프로세서(102,103)과 스위치 패브릭(104)의 정합을 제공한다.The switch interface 104 also provides for matching of the network processors 102 and 103 to the switch fabric 104.

이처럼, 패킷처리용 네트워크프로세서(102)과 인터페이스하는 부분으로는 물리계층 인터페이스(101)에 의해 물리계층(100)과 인터페이스하는 NP-PHY 모드와, 패킷처리용 네트워크 프로세서(103)와 트래픽 관리용 네트워크프로세서(103)와 인터페이스하는 NP-NP 모드와, 스위치 인터페이스(104)에 의해 네트워크프로세서(102, 103)과 스위치 패브릭(105)와 인터페이스하는 NP-SW 모드로 구성된다.As such, the portion that interfaces with the packet processing network processor 102 includes an NP-PHY mode for interfacing with the physical layer 100 by the physical layer interface 101, a packet processing network processor 103, and traffic management. The NP-NP mode interfaces with the network processor 103 and the NP-SW mode interfaces with the network processors 102 and 103 and the switch fabric 105 by the switch interface 104.

패킷처리용 네트워크프로세서(102)에서 수신되는 패킷(201)은 도 2와 같이 여러 블럭들로 분할되어 처리되는데 패킷의 시작블럭(202), 패킷의 중간블럭들(203a, 203b, 203c), 패킷의 마지막 블럭(204)로 구성된다.The packet 201 received from the packet processing network processor 102 is divided into several blocks and processed as shown in FIG. 2. The start block 202 of the packet, the intermediate blocks 203a, 203b, and 203c of the packet, and the packet Consists of the last block 204.

패킷처리용 네트워크프로세서(102)와 인터페이스하는 여러 모드 상에서 패킷 수신중 하드웨어 프로토콜 상의 장시간 사용시 오동작, 블럭들(202~204)에 대한 상태 보고 누락 또는 블럭 유실들의 비정상적인 동작에도 불구하고 패킷처리용 네트워크프로세서(102)의 안정적인 동작이 요구된다.Network processor for packet processing in spite of malfunctions during long periods of use on hardware protocols, missing status reports for blocks 202-204 or abnormal block loss during packet reception on various modes of interfacing with packet processing network processor 102 Stable operation of 102 is required.

이하, 도 1과 도 2를 참조하여 본 발명의 실시예에 따른 네트워크프로세서의 인터페이싱 오동작 처리 방법에 따른 네트워크프로세서가 장착된 스위치/라우터의 동작을 상세히 설명하면 다음과 같다.Hereinafter, an operation of a switch / router equipped with a network processor according to an interfacing malfunction processing method of a network processor according to an embodiment of the present invention will be described in detail with reference to FIGS. 1 and 2.

다음 실시예는 NP-PHY 모드의 패킷처리용 네트워크프로세서(102)와 물리계층(100) 일예로 이더넷 맥 제어기와의 인터페이스하는 예를 기본으로 설명하지만, NP-NP 모드와 NP-SW 모드에서도 동일한 동작을 한다.The following embodiment is based on the example of the interface between the network processor 102 for packet processing in the NP-PHY mode and the Ethernet MAC controller as an example of the physical layer 100, but the same in the NP-NP mode and NP-SW mode It works.

패킷처리용 네트워크프로세서(102)가 이더넷 맥 제어기(100)로 부터 패킷 시작 블럭이 수신됨을 보고받으면 sop_flag를 특정값으로 초기화한다.When the packet processing network processor 102 reports that the packet start block is received from the Ethernet MAC controller 100, it initializes the sop_flag to a specific value.

그리고, 패킷처리용 네트워크프로세서(102)는 SOP 패킷 블럭을 수신하면 특정값과 같은지를 비교하여 같으면 수신하여 처리하고 sop_flag를 내부 쓰레드 ID로 변경하여 SOP 패킷의 수신을 완료하였음을 표시한다.When receiving the SOP packet block, the packet processing network processor 102 compares the same with a specific value, receives and processes the same, and changes sop_flag to an internal thread ID to indicate that the reception of the SOP packet is completed.

물론, 패킷처리용 네트워크프로세서(102)는 수신한 SOP 패킷 블럭이 특정값과 다르면 이미 SOP 패킷 블럭을 수신한 것으로 판단됨으로 EOP 유실처리를 수행하고 다음 패킷을 수신하기 위해 대기한다.Of course, the packet processing network processor 102 determines that the SOP packet block has already been received if the received SOP packet block is different from a specific value, and thus performs EOP loss processing and waits to receive the next packet.

한편, 패킷처리용 네트워크 프로세서(102)는 MOP 패킷블럭을 수신하면, sop_flag값이 특정값과 같은지를 비교하여 다른값을 가지면 이미 SOP 패킷 블럭을 수신하여 정상적인 처리가 진행되고 있음으로 MOP 패킷 블럭을 처리한다.On the other hand, when the packet processing network processor 102 receives the MOP packet block, it compares whether the sop_flag value is equal to a specific value, and if it has a different value, the SOP packet block is already received and normal processing is performed. Process.

물론, 패킷처리용 네트워크 프로세서(102)가 MOP 패킷블럭의 수신시 sop_flag값이 특정값과 같으면 SOP 패킷 블럭을 수신하지 않은 것임으로 SOP 유실처리를 수행한 후에 다음 패킷을 수신하기 위해 대기한다.Of course, if the sop_flag value of the MOP packet block is equal to the specified value, the packet processing network processor 102 does not receive the SOP packet block and waits to receive the next packet after performing the SOP loss process.

한편, 패킷처리용 네트워크 프로세서(102)는 EOP 패킷블럭을 수신하면, sop_flag값이 특정값과 같은지를 비교하여 다른값을 가지면 이미 SOP 패킷 블럭을 수신하여 정상적인 처리가 진행되고 있음으로 EOP 패킷 블럭을 처리한다.On the other hand, when the packet processing network processor 102 receives the EOP packet block, it compares whether the sop_flag value is equal to a specific value, and if the packet processor has a different value, the SOP packet block is already received and normal processing is performed. Process.

물론, 패킷처리용 네트워크 프로세서(102)가 EOP 패킷블럭의 수신시 sop_flag값이 특정값과 같으면 SOP 패킷 블럭을 수신하지 않은 것임으로 SOP 유실처리를 수행한 후에 다음 패킷을 수신하기 위해 대기한다.Of course, if the sop_flag value is the same as the specific value upon receiving the EOP packet block, the packet processing network processor 102 does not receive the SOP packet block and waits to receive the next packet after performing the SOP loss process.

도 3은 본 발명의 바람직한 일실시예에 따른 네트워크 프로세서에 있어서 인터페이싱 오동작 처리 방법의 흐름도이다.3 is a flowchart illustrating an interfacing malfunction processing method in a network processor according to an exemplary embodiment of the present invention.

본 발명의 바람직한 일실시예에 따른 네트워크 프로세서에 있어서 인터페이싱 오동작 처리 방법은 패킷 수신 시작 메시지의 처리 과정(S301, S302), 패킷 블럭 처리 과정(S303~S311)으로 이루어져 있다.In the network processor according to an exemplary embodiment of the present invention, an interfacing malfunction processing method includes a process of processing a packet reception start message (S301, S302), and a process of processing a packet block (S303 to S311).

그리고, 패킷 블럭 처리 과정(S303~S311)는 다시 크게 수신 패킷 판정 단계(S303, S304), EOP 유실 체크 단계(S305, S308, S311), SOP 유실 체크 단계(S306~S310)를 포함하고 있다.The packet block processing steps S303 to S311 further include received packet determination steps S303 and S304, EOP loss check steps S305, S308 and S311, and SOP loss check steps S306 to S310.

패킷 수신 시작 메시지의 처리 과정에서 패킷처리용 네트워크프로세서는 먼저 네트워크프로세서 인터페이스 하드웨어로부터 일예로 이더넷 맥제어기로부터 시작 패킷 블럭의 수신 메시지를 전송받는다(S301).In the process of processing a packet reception start message, the packet processing network processor first receives a reception message of a start packet block from an Ethernet MAC controller, for example, from the network processor interface hardware (S301).

그러면 패킷처리용 네트워크프로세서는 내부전역변수(sop_flag)를 특정값 일예로 OxFFFF로 초기화하며 이때 특정값은 임의로 지정되지만 내부엔진에서 작동하는 쓰레드 ID값이 아니어야 한다(S302).Then, the packet processing network processor initializes the internal global variable sop_flag to a specific value, for example, OxFFFF. At this time, the specific value may be arbitrarily assigned, but it should not be a thread ID value operating in the internal engine (S302).

수신 패킷 판정 단계에서 패킷처리용 네트워크프로세서는 네트워크인터페이스 하드웨어로부터 패킷의 한블럭을 수신하면(S303), 수신한 블럭의 상태를 확인한 후에 비정상적이면 비정상 처리를 수행한 후에 다시 초기 상태로 리턴하며 정상적이라면 수신한 패킷이 어느 위치에 속하는지를 판단한다(S304).In the receiving packet determination step, when the packet processing network processor receives a block of packets from the network interface hardware (S303), if it is abnormal after checking the status of the received block, the processing returns to the initial state again after performing abnormal processing. It is determined in which position the received packet belongs (S304).

판단결과, SOP 블럭이면 EOP 유실 체크 과정을 수행하게 되는데 그 과정은 내부전역변수(sop_flag)가 특정값과 같은지를 비교함으로 시작된다(S305).As a result, if the SOP block, the EOP loss check process is performed. The process starts by comparing whether the internal global variable sop_flag is equal to a specific value (S305).

비교결과, 같으면 내부전역변수를 내부 쓰레드 ID로 변경하여 SOP 블럭을 수신하였음을 표시하고(S306) SOP 처리를 수행한다(S311), As a result of the comparison, the internal global variable is changed to the internal thread ID to indicate that the SOP block is received (S306), and the SOP process is performed (S311).

비교 결과, 같지 않으면 EOP 블럭을 유실한 것임으로 EOP 유실 처리를 수행한 후에 다음 패킷을 수신하기 위한 과정을 진행한다.As a result of the comparison, if the EOP block is not equal, the process for receiving the next packet is performed after performing the EOP loss processing.

한편, MOP 블럭과 EOP 블럭이면 SOP 유실 체크 과정을 수행하게 되는데, 그 과정은 내부전역변수(sop_flag)가 특정값과 같은지를 비교함으로 시작된다(S306, 307).On the other hand, if the MOP block and the EOP block performs the SOP loss check process, the process begins by comparing whether the internal global variable (sop_flag) is equal to a specific value (S306, 307).

MOP 블럭인 경우에 내부전역변수가 특정값과 같지 않으면 이미 SOP 블럭을 수신한 것임으로 MOP 블럭 패킷 처리를 수행하고(S309), 다르면, SOP 블럭을 수신하지 않은 것임으로 SOP 유실처리를 수행한 후에 다음 패킷을 수신하기 위한 과정으로 진행한다.If the internal global variable is not equal to a specific value in the case of a MOP block, MOP block packet processing is performed because the SOP block has already been received (S309), otherwise, after the SOP loss processing is performed because the SOP block is not received. Proceed to the process for receiving the next packet.

또한, EOP 블럭인 경우에 내부전역변수가 특정값과 같지 않으면 이미 SOP 블럭을 수신한 것임으로 EOP 블럭 패킷 처리를 수행하고(S310), 다르면, SOP 블럭을 수신하지 않은 것임으로 SOP 유실처리를 수행한 후에 다음 패킷을 수신하기 위한 과정으로 진행한다.In the case of the EOP block, if the internal global variable is not equal to a specific value, the SOP block has already been received, and thus the EOP block packet processing is performed (S310). Otherwise, the SOP loss processing is performed because the SOP block has not been received. After that, the process proceeds to receiving the next packet.

이상 본 발명의 바람직한 실시예에 대해 상세히 기술되었지만, 본 발명이 속하는 기술분야에 있어서 통상의 지식을 가진 사람이라면, 첨부된 청구 범위에 정의된 본 발명의 기술적사상 및 범위를 벗어나지 않으면서 본 발명을 여러 가지로 변형 또는 변경하여 실시할 수 있음을 알 수 있을 것이다. 따라서 본 발명의 앞으로의 실시예들의 변경은 본 발명의 기술을 벗어날 수 없을 것이다.Although described in detail with respect to preferred embodiments of the present invention, those skilled in the art to which the present invention pertains, the present invention without departing from the spirit and scope of the invention defined in the appended claims It will be appreciated that various modifications or changes can be made. Therefore, changes in the future embodiments of the present invention will not be able to escape the technology of the present invention.

상기와 같은 본 발명에 따르면, 네트워크 프로세서와 인터페이스하는 하드웨어와 네트워크 프로세서와의 패킷 블럭을 수신하는 과정에서 발생하는 비정상적인 동작에도 네트워크프로세서의 안정적인 동작을 보장하는 효과가 있다.According to the present invention as described above, there is an effect of ensuring a stable operation of the network processor even in the abnormal operation that occurs in the process of receiving a packet block between the hardware and the network processor to interface with the network processor.

Claims (5)

네트워크 프로세서의 인터페이싱 오동작 처리 방법에 있어서,In the interfacing malfunction processing method of the network processor, 네트워크 프로세서는 SOP(Start of Packet) 블럭을 수신한 경우, 상기 네트워크 프로세서의 내부 전역 변수를 소정의 플래그(Flag) 값으로 초기화하는 단계;When the network processor receives a Start of Packet (SOP) block, initializing an internal global variable of the network processor to a predetermined flag value; 상기 네트워크 프로세서가 SOP 블럭을 수신하고, 상기 내부 전역 변수 값이 상기 플래그 값과 동일한 경우, 상기 내부 전역 변수의 값을 쓰레드 ID 값(Thread ID)으로 치환하고 상기 SOP 블럭을 처리하는 단계; 및When the network processor receives the SOP block and the internal global variable value is equal to the flag value, replacing the value of the internal global variable with a thread ID value and processing the SOP block; And 상기 네트워크 프로세서가 MOP(Middle of Packet) 블럭 또는 EOP(End of Packet) 블럭을 수신하고, 상기 내부 전역 변수 값이 상기 플래그 값과 다른 경우, 상기 MOP 블럭 또는 EOP 블럭을 처리하는 단계를 포함하는 인터페이싱 오동작 처리 방법.When the network processor receives a middle of packet (MOP) block or an end of packet (EOP) block and the internal global variable value is different from the flag value, interfacing to the MOP block or EOP block. How to handle malfunctions. 제1항에 있어서, The method of claim 1, 상기 플래그 값은, The flag value is, 내부 쓰레드 ID 값 이외의 값을 갖는 것을 특징으로 하는 인터페이싱 오동작 처리 방법.Interfacing malfunction processing method characterized by having a value other than the internal thread ID value. 제1항 또는 제2항에 있어서, The method according to claim 1 or 2, 상기 네트워크 프로세서가 SOP 블럭을 수신하고, 상기 내부 전역 변수 값이 상기 플래그 값과 다른 경우, EOP 유실 처리를 수행하는 단계를 더 포함하는 것을 특징으로 하는 인터페이싱 오동작 처리 방법.And when the network processor receives the SOP block and the internal global variable value is different from the flag value, performing an EOP loss processing. 제1항 또는 제2항에 있어서, The method according to claim 1 or 2, 상기 네트워크 프로세서가 MOP(Middle of Packet) 또는 EOP(End of Packet) 블럭을 수신하고, 상기 내부 전역 변수 값이 상기 플래그 값과 동일한 경우, SOP 유실 처리를 수행하는 단계를 더 포함하는 것을 특징으로 하는 인터페이싱 오동작 처리 방법.And receiving, by the network processor, a middle of packet (MOP) or end of packet (EOP) block, and performing an SOP loss process when the internal global variable value is the same as the flag value. How to handle interfacing malfunctions. 제1항 또는 제2항에 있어서,The method according to claim 1 or 2, 상기 네트워크 프로세서가 수신한 패킷 블럭이 비정상적인 경우 비정상 처리를 수행한 후, 상기 패킷 블럭이 SOP, MOP 또는 EOP 중 어느 하나에 속하는지 체크하는 단계를 더 포함하는 인터페이싱 오동작 처리 방법.And performing an abnormal process when the packet block received by the network processor is abnormal, and then checking whether the packet block belongs to any one of an SOP, a MOP, and an EOP.
KR1020040008087A 2004-02-06 2004-02-06 Method for processing interfacing malfunction of network processor KR100602646B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040008087A KR100602646B1 (en) 2004-02-06 2004-02-06 Method for processing interfacing malfunction of network processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040008087A KR100602646B1 (en) 2004-02-06 2004-02-06 Method for processing interfacing malfunction of network processor

Publications (2)

Publication Number Publication Date
KR20050079592A KR20050079592A (en) 2005-08-10
KR100602646B1 true KR100602646B1 (en) 2006-07-19

Family

ID=37266499

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040008087A KR100602646B1 (en) 2004-02-06 2004-02-06 Method for processing interfacing malfunction of network processor

Country Status (1)

Country Link
KR (1) KR100602646B1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010011058A (en) * 1999-07-24 2001-02-15 윤종용 Data packet damage and loss detection method for data communication system
KR20010063821A (en) * 1999-12-24 2001-07-09 서평원 Detection Apparatus and Method for transmit fail in mobile communication system
KR20020054228A (en) * 2000-12-27 2002-07-06 오길록 A Flow Control Method For Multiparty Communications Using Active Networking
JP2002330116A (en) * 2001-03-13 2002-11-15 Koninkl Philips Electronics Nv Method for protecting data packet from error
JP2003008620A (en) * 2001-06-27 2003-01-10 Nec Corp Packet processing method, equipment and program
KR20040009928A (en) * 2002-07-26 2004-01-31 삼성전자주식회사 Method of generating transmission control parameter and selective retranmission method according to the packet characteristics.

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010011058A (en) * 1999-07-24 2001-02-15 윤종용 Data packet damage and loss detection method for data communication system
KR20010063821A (en) * 1999-12-24 2001-07-09 서평원 Detection Apparatus and Method for transmit fail in mobile communication system
KR20020054228A (en) * 2000-12-27 2002-07-06 오길록 A Flow Control Method For Multiparty Communications Using Active Networking
JP2002330116A (en) * 2001-03-13 2002-11-15 Koninkl Philips Electronics Nv Method for protecting data packet from error
JP2003008620A (en) * 2001-06-27 2003-01-10 Nec Corp Packet processing method, equipment and program
KR20040009928A (en) * 2002-07-26 2004-01-31 삼성전자주식회사 Method of generating transmission control parameter and selective retranmission method according to the packet characteristics.

Also Published As

Publication number Publication date
KR20050079592A (en) 2005-08-10

Similar Documents

Publication Publication Date Title
US6987735B2 (en) System and method for enhancing the availability of routing systems through equal cost multipath
Kumar et al. Beyond best effort: Router architectures for the differentiated services of tomorrow's internet
EP2904745B1 (en) Method and apparatus for accelerating forwarding in software-defined networks
US6798788B1 (en) Arrangement determining policies for layer 3 frame fragments in a network switch
CN107347021B (en) SDN-based reliable transmission method
US7107344B2 (en) Connection allocation technology
JP5504256B2 (en) Network recognition adapter for applications
US20070183415A1 (en) Method and system for internal data loop back in a high data rate switch
TWI521923B (en) Method and system for energy-efficiency-based packet classification
US7464181B2 (en) Method for caching lookups based upon TCP traffic flow characteristics
US10135736B1 (en) Dynamic trunk distribution on egress
KR100615663B1 (en) Apparatus and method for identifying data packet types in real time on a network switch port
US20080159150A1 (en) Method and Apparatus for Preventing IP Datagram Fragmentation and Reassembly
US6763375B1 (en) Method for defining and controlling the overall behavior of a network processor device
US6473434B1 (en) Scaleable and robust solution for reducing complexity of resource identifier distribution in a large network processor-based system
US7613201B1 (en) Stacked network switch using resilient packet ring communication protocol
US8964766B2 (en) Session relay equipment and session relay method
US10693814B2 (en) Ultra-scalable, disaggregated internet protocol (IP) and ethernet switching system for a wide area network
WO2000072532A9 (en) System and method for network packet reduction
US7580418B2 (en) Network, router device, route updating suppression method used for the same, and program thereof
KR100602646B1 (en) Method for processing interfacing malfunction of network processor
US20060187922A1 (en) Packet communication device
CN113612698A (en) Data packet sending method and device
Karrakchou et al. EP4: An application-aware network architecture with a customizable data plane
Eshete et al. On the flow fairness of aggregate queues

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
LAPS Lapse due to unpaid annual fee