KR20200121653A - Method and apparatus for lossless packet transport - Google Patents

Method and apparatus for lossless packet transport Download PDF

Info

Publication number
KR20200121653A
KR20200121653A KR1020190044469A KR20190044469A KR20200121653A KR 20200121653 A KR20200121653 A KR 20200121653A KR 1020190044469 A KR1020190044469 A KR 1020190044469A KR 20190044469 A KR20190044469 A KR 20190044469A KR 20200121653 A KR20200121653 A KR 20200121653A
Authority
KR
South Korea
Prior art keywords
packet
block
sequence number
lossless
flow
Prior art date
Application number
KR1020190044469A
Other languages
Korean (ko)
Other versions
KR102356667B1 (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 KR1020190044469A priority Critical patent/KR102356667B1/en
Publication of KR20200121653A publication Critical patent/KR20200121653A/en
Application granted granted Critical
Publication of KR102356667B1 publication Critical patent/KR102356667B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/31Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • 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

Abstract

The present invention relates to an apparatus and method for transmitting a packet transmitted in various application cases performing a mission-critical operation without loss. Provided is a lossless packet forwarding apparatus comprising: a flow lookup block which analyzes a port and packet head of an incoming packet to determine whether to duplicate the packet, and generates a sequence number for each packet of a lossless delivery flow; a header processing block for inserting a first additional header including information according to the determination of the flow lookup block into the packet; a packet replication block for generating information on a packet replication method with reference to the first additional header and inserting a second additional header including the same into the packet; and a packet removal block which discards the sequence number of the received packet if it is the same as the sequence number of the previously received packet.

Description

무손실 패킷 전달 방법 및 장치{Method and apparatus for lossless packet transport}Method and apparatus for lossless packet transport TECHNICAL FIELD

본 발명은 패킷통신망에서 손실없이 패킷을 전달하는 방법 및 장치에 관한 것으로서, 구체적으로는 LS 기반 패킷망에서 임무-결정적(mission-critical) 동작(원격 제어, 원격 의료 등), 고품질 스트리밍 등과 같은 손실에 민감한 애플리케이션 패킷을 발신지에서 목적지까지 손실없이 전달하기 위한 무손실 패킷 전달 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for transmitting a packet without loss in a packet communication network. Specifically, in an LS-based packet network, a mission-critical operation (remote control, remote medical care, etc.), high quality streaming, etc. A lossless packet delivery method and apparatus for transmitting sensitive application packets from a source to a destination without loss.

현재 패킷망에서 망의 신뢰성을 보장하기 위해 사용하고 있는 보호 절체 메커니즘으로는 전달 경로의 상태를 일정한 주기로 모니터링하여 장애 발생시 경로를 변경하는 OAM & P (Operation, Administration, Maintenance and Protection Switching) 기술을 사용하다. 종래의 기술에 따르면 패킷을 전달하고 있는 경로(working path)에서 장애가 발생할 경우 이를 인지한 시점으로부터 50ms 이내에 패킷 전달 경로를 백업 경로(protection path)로 절체하기 때문에 일정 절체 시간 동안 패킷 손실이 발생하는 문제점을 가지고 있다.As the protection switching mechanism currently used to guarantee the reliability of the network in the packet network, OAM & P (Operation, Administration, Maintenance and Protection Switching) technology is used to change the path when a failure occurs by monitoring the state of the delivery path at regular intervals. . According to the conventional technology, if a failure occurs in the working path, the packet transmission path is switched to the backup path within 50ms from the time it is recognized, so packet loss occurs during a certain switching time. Have.

따라서 패킷망을 기반으로 임무-결정적 동작을 수행하는 스마트 팩토리, 무인 이동체(자율주행차, 드론 외) 등을 위한 네트워크 인프라를 구축할 경우 무손실 전달 기능을 필수적으로 제공해야 한다.Therefore, when constructing a network infrastructure for smart factories and unmanned vehicles (autonomous vehicles, drones, etc.) that perform mission-deterministic operations based on packet networks, it is essential to provide a lossless delivery function.

이러한 요구사항에 따라 국제 표준화 기관인 IEEE 802.1 워킹그룹에서는 소규모 패킷망 적용을 위한 Ethernet 기반 무손실 패킷 전달 기술(FRER, Frame Replication and Elimination for Reliability) 표준화를 완료하였고, IETF DetNet 워킹그룹에서는 중대규모 패킷망 적용을 위한 IP/MPLS 기반 무손실 패킷 전달 기술(PREF, Packet Replication and Elimination Function) 표준화를 추진 중이며 이와 관련된 연구 개발 또한 활발히 진행 중이다.In accordance with these requirements, the IEEE 802.1 Working Group, an international standardization organization, completed standardization of Ethernet-based lossless packet delivery technology (FRER, Frame Replication and Elimination for Reliability) for small packet network application, and the IETF DetNet Working Group completed the standardization for medium and large packet network application. IP/MPLS-based lossless packet delivery technology (PREF, Packet Replication and Elimination Function) standardization is being promoted, and related research and development are also actively in progress.

따라서, 무손실 패킷 전달 기술을 조기에 선점하는 것은 심화되는 기술 경쟁에 우위를 점하기 위하여 시급히 필요한 일이다. Therefore, early preemption of lossless packet delivery technology is urgently needed in order to gain an advantage over intensifying technology competition.

본 발명은, Ethernet/IP/MPLS 패킷망 기술을 기반으로 실질상 아무런 손실이 없는 무손실 패킷 전달 방법 및 시스템을 제공하는 것을 목적으로 한다. An object of the present invention is to provide a method and system for transmitting a lossless packet substantially without any loss based on the Ethernet/IP/MPLS packet network technology.

본 발명에 따른 무손실 패킷 처리 장치는 인입되는 패킷의 포트 및 패킷 헤드를 분석하여 패킷의 복제 여부를 결정하고, 무손실 전달 플로우의 패킷별 시퀀스 번호를 생성하는 플로우 룩업 블록과, 상기 플로우 룩업 블록의 결정에 따른 정보를 포함하는 제1 추가 헤더를 상기 패킷에 삽입하는 헤더 프로세싱 블록과, 상기 제1 추가 헤더를 참고하여 패킷 복제 방식에 대한 정보를 생성하여 이를 포함하는 제2 추가 헤더를 상기 패킷에 삽입하는 패킷 복제 블록과, 수신된 패킷의 시퀀스 번호가 이전에 수신된 패킷의 시퀀스 번호와 동일할 경우 이를 폐기하는 패킷 제거 블록을 포함한다. In the lossless packet processing apparatus according to the present invention, a flow lookup block for determining whether to duplicate a packet by analyzing a port and a packet head of an incoming packet, generating a sequence number for each packet of a lossless delivery flow, and determining the flow lookup block A header processing block for inserting a first additional header including information according to the packet into the packet, and by referring to the first additional header to generate information on a packet replication method, and inserting a second additional header including the same into the packet A packet duplication block to perform and a packet removal block for discarding a sequence number of a received packet when the sequence number of a previously received packet is the same.

본 발명의 구성에 따르면, 패킷 복제/삭제를 이용한 무손실 패킷 전달 방법 및 장치는 발신지에서 목적지까지 손실없이(lossless) 패킷을 전달할 수 있다. 따라서, 임무-결정적 동작, 고품질 스트리밍 등과 같이 크리티컬한 애플리케이션 패킷을 네트워크를 통해 안전하게 전달할 수 있는 이점이 있다.According to the configuration of the present invention, a method and apparatus for transmitting a lossless packet using packet duplication/deletion can deliver a packet lossless from a source to a destination. Therefore, there is an advantage of being able to safely deliver critical application packets such as mission-critical operation and high-quality streaming through the network.

도 1은 본 발명에 따른 패킷 복제/삭제 처리에 대한 개념도.
도 2는 본 발명에서 이용하는 패킷의 내부 형식을 도시한 도면.
도 3은 본 발명에 따른 무손실 패킷 전달 장치의 구조도.
도 4는 본 발명에 따른 인그레스 패킷 복제 절차를 도시한 흐름도.
도 5는 본 발명에 따른 이그레스 패킷 복제 절차를 도시한 흐름도.
도 6은 본 발명에 따른 인그레스 패킷 삭제 절차를 도시한 흐름도.
도 7은 본 발명에 따른 이그레스 패킷 삭제 절차를 도시한 흐름도.
도 8은 본 발명에 따른 무손실 패킷 전달 장치를 사용한 시스템 예시도.
1 is a conceptual diagram for packet duplication/deletion processing according to the present invention.
2 is a diagram showing an internal format of a packet used in the present invention.
3 is a structural diagram of a lossless packet forwarding apparatus according to the present invention.
4 is a flow chart showing an Ingress packet duplication procedure according to the present invention.
5 is a flow chart showing an egress packet duplication procedure according to the present invention.
6 is a flow chart showing an Ingress packet deletion procedure according to the present invention.
7 is a flowchart illustrating a procedure for deleting an egress packet according to the present invention.
8 is an exemplary system diagram using a lossless packet forwarding apparatus according to the present invention.

본 발명의 다른 목적과 효과, 그리고 그것들을 달성하는 구성은 첨부되는 도면과 함께 본 명세서의 실시예들을 참조하면 명확해질 것이다. Other objects and effects of the present invention, and configurations for achieving them will become apparent with reference to the embodiments of the present specification together with the accompanying drawings.

그러나 본 발명의 기술적 사상은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 변경과 변형이 가해진 형태로 구현될 수 있는바, 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이며, 본 발명의 권리범위는 실시예들로부터 관념되는 본 발명의 기술적 사상에 속하는 모든 변경, 변형, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.However, the technical idea of the present invention is not limited to the embodiments disclosed below, but can be implemented in a form in which various changes and modifications have been applied, and the embodiments make the disclosure of the present invention complete, and the technology to which the present invention pertains. It is provided only to completely inform the scope of the invention to those of ordinary skill in the field, and the scope of the present invention is to all changes, modifications, equivalents belonging to the technical idea of the present invention conceived from the embodiments. It should be understood to include substitutes.

한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. “포함하다” 또는 “가지다” 등의 용어는 개시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Meanwhile, terms used in the present specification are for explaining embodiments and are not intended to limit the present invention. Terms such as “comprise” or “have” are intended to designate the existence of a disclosed feature, number, step, action, component, part, or combination thereof, but one or more other features or numbers, steps, actions, It is to be understood that the possibility of the presence or addition of components, parts, or combinations thereof is not preliminarily excluded.

마찬가지로, 어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. Likewise, when an element is referred to as being “connected” or “connected” to another element, it may be directly connected or connected to the other element, but other elements may exist in the middle. It should be understood that there is.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs.

한편, 어떤 실시 예가 달리 구현 가능한 경우에 특정 블록 내에 명기된 기능 또는 동작이 순서도에 명기된 순서와 다르게 일어날 수도 있다. 예를 들어, 연속하는 두 블록이 실제로는 실질적으로 동시에 수행될 수도 있고, 관련된 기능 또는 동작에 따라서는 상기 블록들이 거꾸로 수행될 수도 있다.Meanwhile, when a certain embodiment can be implemented differently, a function or operation specified in a specific block may occur differently from the order specified in the flowchart. For example, two consecutive blocks may actually be executed at the same time, or the blocks may be executed in reverse depending on a related function or operation.

본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.In describing the present invention, in order to facilitate an overall understanding, the same reference numerals are used for the same elements in the drawings, and duplicate descriptions for the same elements are omitted.

본 발명의 기본 개념은 Ethernet/IP/MPLS 패킷망 기술을 기반으로 발신지 종단국(또는 네트워크 노드)에서는 시퀀스 번호 정보를 포함하는 패킷을 생성 및 복제 한 후 다수의 경로를 통해 복제된 패킷을 송신하고, 목적지 종단국(또는 네트워크 노드)에서는 다수의 경로를 통해 수신된 복제된 패킷의 시퀀스 번호 정보를 확인하여 중복되는 패킷을 삭제하는 동작을 수행하는 방식으로 패킷의 손실을 방지하는 것이다. The basic concept of the present invention is based on the Ethernet/IP/MPLS packet network technology, the source end station (or network node) generates and duplicates a packet including sequence number information, and then transmits the duplicated packet through multiple paths, The destination end station (or network node) prevents packet loss by checking the sequence number information of the duplicated packet received through a plurality of paths and deleting the duplicated packet.

도 1은 본 발명의 기본 개념을 설명하기 위한 개념도이다.1 is a conceptual diagram for explaining the basic concept of the present invention.

패킷 복제/삭제를 이용한 무손실 패킷 전달 네트워크는 종단국(예. 단말)과 각 네트워크 노드(예. 스위치, 라우터)들로 구성된다. A lossless packet forwarding network using packet duplication/deletion consists of end stations (eg terminals) and each network node (eg switches, routers).

발신지 종단국은 인입되는 패킷을 분석하여 무손실 전달을 필요로 하는 서비스 플로우일 경우, 패킷의 순서를 의미하는 시퀀스 번호(sequence number) 정보를 추가하고 복제한 후 경로 정보를 추가하여 다수의 경로로 복제된 패킷을 송신한다. 복제되어 송신되는 각 패킷은 멤버 플로우라고 한다.The source end station analyzes the incoming packet and, in the case of a service flow that requires lossless transmission, adds sequence number information, which means the sequence of packets, and duplicates it, then adds the route information and replicates to multiple paths. Transmitted packet. Each packet that is copied and transmitted is called a member flow.

목적지 종단국은 인입되는 패킷의 시퀀스 번호 정보를 확인하여 복제된 패킷 중 먼저 수신된 패킷은 처리하고 나중에 수신되는 패킷은 폐기한다. The destination end station checks the sequence number information of the incoming packet, processes the first packet among the duplicated packets, and discards the packet received later.

예를 들어, 발신지 종단국이 패킷을 복제하여 2개 경로로 전송한 경우, 경로간 전달 지연 차이로 인해 A 경로의 패킷이 B 경로의 패킷보다 먼저 수신될 경우 목적지 종단국은 시퀀스 번호의 수신 히스토리를 기록 및 관리하여 이후 B 경로를 통해 동일한 시퀀스 번호를 갖는 패킷이 수신될 경우 패킷을 폐기한다.For example, if the source end station duplicates the packet and transmits it over two paths, if the packet of path A is received before the packet of path B due to the difference in propagation delay between the paths, the destination end station is the reception history of the sequence number. Is recorded and managed, and when a packet having the same sequence number is received through path B, the packet is discarded.

한편, 도 1의 (A) 및 (B)는 네트워크 노드가 단순 포워딩만 하는 경우와, 패킷 복제/삭제를 하는 경우를 각각 예시한 것이다. Meanwhile, (A) and (B) of FIG. 1 illustrate a case in which a network node performs simple forwarding and a case in which packet duplication/deletion is performed, respectively.

네트워크 노드는 인입되는 패킷에 대해 단순 포워딩만 수행하고 패킷 복제 또는 삭제를 수행하지 않거나(도1의 (a)) 패킷 포워딩과 함께 패킷 복제 또는 삭제를 수행하는 기능을 수행한다(도1의 (b)). 단, 네트워크 노드에서 패킷 복제의 경우 발신지 종단국과 동일한 처리과정을 수행하지만 시퀀스 번호 정보를 추가하지 않는다. 즉, 시퀀스 번호는 발신지 종단국에서만 생성한다. 패킷 삭제의 경우 목적지 종단국과 동일한 처리 과정을 수행한다.The network node performs a function of performing only simple forwarding of incoming packets and not packet duplication or deletion (Fig. 1(a)), or packet duplication or deletion along with packet forwarding (Fig. 1(b) )). However, in the case of packet duplication in the network node, the same processing as the source terminal station is performed, but sequence number information is not added. That is, the sequence number is generated only at the source terminal station. In the case of packet deletion, the same processing as the destination end station is performed.

도 2는 패킷 복제/삭제를 이용한 무손실 패킷 전달에 사용하는 패킷 형식이다.2 is a packet format used for lossless packet transmission using packet duplication/deletion.

패킷 형식은 IETF MPLS 기반 DetNet(Deterministic Networking) 패킷 형식을 사용한다.The packet format uses the IETF MPLS-based DetNet (Deterministic Networking) packet format.

MPLS 기반 DetNet 패킷 형식은 일반적인 MPLS 패킷 형식에 무손실 패킷 전달을 필요로 하는 서비스 플로우를 식별하기 위한 4바이트의 S-Label (20비트 Label, 3비트 Experimental, 1비트 Bottom of Stack, 8비트 TTL로 구성), 4바이트 DetNet Control Word (d-CW)(4비트 0, 28비트 Sequence Number로 구성)를 추가하여 구성된다. The MPLS-based DetNet packet format consists of a 4-byte S-Label (20-bit Label, 3-bit Experimental, 1-bit Bottom of Stack, 8-bit TTL) to identify service flows that require lossless packet delivery in general MPLS packet format. ), 4-byte DetNet Control Word (d-CW) (consisting of 4-bit 0, 28-bit Sequence Number).

DetNet Control Word내 Sequence Number는 MPLS 기반 패킷망에서 패킷을 복제하거나 삭제할 경우 사용하는 필드이다. Sequence Number는 DetNet 플로우 생성시 0부터 시작하여 동일 플로우를 송신할 때마다 1씩 증가한다(최대 228-1까지).Sequence Number in DetNet Control Word is a field used to duplicate or delete a packet in an MPLS-based packet network. Sequence Number starts from 0 when creating DetNet flow and increases by 1 each time the same flow is transmitted (up to 2 28 -1).

T-Label은 패킷을 LSP (Label Switch Path)에 따라 트랜스포트하기 위한 레이블이고 S-Label과 동일한 비트로 구성된다. T-Label is a label for transporting packets according to LSP (Label Switch Path) and is composed of the same bits as S-Label.

Physical은 물리계층(예. Optical Transport Layer(OTN) 외) 헤더 필드를, Data Link는 데이터링크 계층(예. Ethernet) 헤더 필드를 의미한다. Physical refers to a physical layer (eg, Optical Transport Layer (OTN), etc.) header field, and Data Link refers to a data link layer (eg, Ethernet) header field.

무손실 패킷 전달 장치Lossless packet forwarding device

도 3은 본 발명에 따른 패킷 복제/삭제를 이용한 무손실 패킷 전달 장치의 기능 블록도 이다.3 is a functional block diagram of a lossless packet forwarding apparatus using packet duplication/deletion according to the present invention.

패킷 복제/삭제를 이용한 무손실 패킷 전달 장치(1000는 외부 연결을 위한 라인 인터페이스 블록(110), 스위치 인터페이스 블록(135), 프로세서 인터페이스 블록(160, 170)과 인입 및 출력되는 패킷을 처리하는 플로우 룩업 블록(I)(115), 헤더 프로세싱 블록(I)(125), 패킷 제거 블록(I)(125), 패킷 복제 블록(I)(130), 패킷 제거 블록(E)(140), 플로우 룩업 블록(E)(145), 헤더 프로세싱 블록(E)(150), 패킷 복제(E) 및 출력 큐잉 블록(155)의 기능 블록으로 구성된다. 이 장치는 하드웨어 프로그래밍이 가능한 FPGA (Field Programmable Gate Array)를 사용하여 구현가능하다.Lossless packet delivery device 1000 using packet duplication/deletion is a flow look-up that processes incoming and outgoing packets with line interface blocks 110, switch interface blocks 135, and processor interface blocks 160 and 170 for external connection. Block (I) 115, header processing block (I) 125, packet removal block (I) 125, packet replication block (I) 130, packet removal block (E) 140, flow lookup It is composed of functional blocks of block (E) 145, header processing block (E) 150, packet replication (E) and output queuing block 155. The device is a hardware programmable Field Programmable Gate Array (FPGA). ) Can be used.

라인 인터페이스 블록(110)은 이더넷(예컨대, nx1GbE 또는 nx10GbE 등) 링크로 외부 네트워크와 연결기능을 수행한다.The line interface block 110 performs a connection function with an external network through an Ethernet (eg, nx1GbE or nx10GbE) link.

스위치 인터페이스 블록(135)은 인터라켄(Interlaken) 링크를 통해 스위치 패브릭 카드(샤시형 시스템의 경우) 또는 다른 패킷 복제/삭제 장치(독립형 Stand-alone 시스템의 경우)간 연결기능을 수행한다.The switch interface block 135 performs a connection function between a switch fabric card (in the case of a chassis type system) or another packet copy/delete device (in the case of a standalone stand-alone system) through an Interlaken link.

프로세서 인터페이스 블록(160, 170)은 이더넷(1x1GbE) 링크 또는 로컬 버스를 통해 장치내 룩업 테이블 및 레지스터를 관리하기 위한 외부 프로세서와의 연결기능을 제공한다. The processor interface blocks 160 and 170 provide a connection function with an external processor for managing look-up tables and registers in the device through an Ethernet (1x1GbE) link or a local bus.

플로우 룩업 블록(I)(115)은 라인 인터페이스 블록(110)을 통해 인입되는 패킷 포트 및 패킷 헤더 (Ethernet/IP/MPLS) 정보를 분석하여 시스템 내부 패킷 프로세싱을 위한 패킷의 FlowID (Ingress FID, Egress FID)를 생성하고, 무손실 전달을 필요로 하는 플로우의 경우에는 시퀀스 번호를 생성하고, 패킷 처리에 대한 액션 플래그(패킷 복제 또는 삭제, MPLS 레이블 처리(Push/Pop/Swap)) 등을 결정하는 기능을 수행한다. 액션 플래그 중 MPLS 레이블 처리가 Pop 일 경우, MPLS 레이블을 제거하는 디캡슐레이션 기능을 수행한다.The flow lookup block (I) 115 analyzes the packet port and packet header (Ethernet/IP/MPLS) information introduced through the line interface block 110 to determine the flow ID (Ingress FID, Egress) of the packet for processing the system internal packet. FID), and in the case of a flow requiring lossless delivery, a sequence number is generated, and action flags for packet processing (packet duplication or deletion, MPLS label processing (Push/Pop/Swap)) are determined. Perform. If the MPLS label processing among the action flags is Pop, the decapsulation function of removing the MPLS label is performed.

헤더 프로세싱 블록(I)(120)은 플로우 룩업 블록(I)의 결과를 이후 블록들에서 참고하여 패킷을 처리할 수 있도록 패킷에 추가적인 헤더(Optional Header)를 삽입하는 기능을 수행한다.The header processing block (I) 120 performs a function of inserting an additional header into a packet so that the result of the flow lookup block I is referred to in subsequent blocks to process the packet.

패킷 제거 블록(I)(125)은 패킷의 헤더(Optional Header) 정보를 참고로 Ingress FID에 대한 액션 플래그가 패킷 삭제일 경우, 패킷의 시퀀스 번호가 이전 시퀀스 번호와 다를 경우 저장하고 동일할 경우 패킷을 폐기한다. 즉, 동일한 시퀀스 번호를 갖는 패킷의 연속적인 수신의 경우(중복 수신) 패킷을 폐기한다. 패킷 제거(I)에 대한 패킷 처리 흐름도는 후술한다.The packet removal block (I) 125 refers to the optional header information of the packet and stores the action flag for the Ingress FID when the packet is deleted, when the sequence number of the packet is different from the previous sequence number, and stores the packet when the packet is the same. Discard. That is, in the case of successive reception of packets having the same sequence number (duplicate reception), the packet is discarded. A packet processing flow chart for packet removal (I) will be described later.

패킷 복제 블록(I)(130)은 패킷의 헤더(Optional Header) 정보를 참고로 Ingress FID에 대한 액션 플래그가 패킷 복제일 경우, 패킷을 복제하는 방식(스위치 패브릭 카드/라인카드 멀티캐스팅) 정보를 생성하여 이후 블록에서 처리할 수 있도록 패킷에 추가적인 헤더(Optional Header)로 삽입하는 기능을 수행한다.When the action flag for the Ingress FID is packet replication, referring to the optional header information of the packet, the packet replication block (I) 130 provides information on a packet replication method (switch fabric card/line card multicasting). It creates and inserts the packet as an optional header so that it can be processed in a later block.

패킷 제거 블록(E)(140)은 스위치 인터페이스 블록을 통해 인입되는 패킷의 헤더(Optional Header) 정보를 참고로 Egress FID에 대한 액션 플래그가 패킷 삭제일 경우, 패킷의 시퀀스 번호가 이전 시퀀스 번호와 다를 경우 관리하는 시퀀스 히스토리(최대 4K 시퀀스 번호 수신 기록)를 확인하여 수신 기록이 없을 경우 시퀀스 히스토리를 업데이트하고 수신 기록이 있을 경우 패킷을 폐기하는 기능을 수행한다. 패킷 제거(E)에 대한 패킷 처리 흐름도는 후술한다.The packet removal block (E) 140 refers to the optional header information of the packet introduced through the switch interface block, and when the action flag for the Egress FID is packet deletion, the sequence number of the packet is different from the previous sequence number. It checks the sequence history (maximum 4K sequence number reception record) managed in the case, updates the sequence history if there is no reception record, and discards the packet if there is a reception record. A packet processing flow diagram for packet removal (E) will be described later.

플로우 룩업 블록(E)(145)은 패킷의 헤더(Optional Header) 정보를 참고로 Egress FID에 대한 패킷의 출력 포트와 인캡슐레이션 (Ethernet/MPLS 헤더) 정보를 결정하는 기능을 수행한다.The flow lookup block (E) 145 determines the packet output port and encapsulation (Ethernet/MPLS header) information for the Egress FID with reference to the optional header information of the packet.

헤더 프로세싱 블록(E)(150)은 플로우 룩업 블록(E)의 결과를 이후 블록들에서 참고하여 패킷을 처리할 수 있도록 패킷에 추가적인 헤더(Optional Header)로 삽입하고, Egress FID에 해당하는 패킷의 인캡슐레이션(Etherne/MPLS 헤더) 기능을 수행한다.The header processing block (E) 150 inserts the result of the flow lookup block (E) as an optional header into the packet so that the packet can be processed by referring to the result of the flow lookup block (E) in subsequent blocks, and the packet corresponding to the Egress FID. Performs encapsulation (Etherne/MPLS header) function.

패킷 복제(E) 및 출력 큐잉 블록(155)은 패킷의 헤더(Optional Header) 정보를 참고로 EgressFID에 대한 액션 플래그가 패킷 복제일 경우, 복제 패킷의 출력 포트와 인캡슐레인(Ethernet/MPLS) 정보를 결정하여 출력 패킷을 구성 후 해당 출력 큐에 큐잉하는 기능을 수행한다. 액션 플래그가 패킷 복제가 아닐 경우에는 패킷을 해당 출력 큐에 큐잉하는 기능을 수행한다.The packet replication (E) and output queuing block 155 refers to the optional header information of the packet, and when the action flag for the EgressFID is packet replication, the output port and encapsulation (Ethernet/MPLS) information of the duplicate packet Is determined, configures an output packet, and performs the function of queuing to the corresponding output queue. If the action flag is not packet duplication, it performs a function of queuing the packet to the corresponding output queue.

패킷 복제 절차Packet replication procedure

이하, 도 4 및 도 5를 참조하여, 본 발명에 따른 무손실 패킷 전달 장치의 패킷 복제 처리에 대하여 설명한다.Hereinafter, with reference to FIGS. 4 and 5, a packet duplication process of the lossless packet delivery apparatus according to the present invention will be described.

인그레스 패킷 복제는 패킷 복제 블록(I)(130)에서 수행되는데, 도 4에 도시된 바와 같이, 먼저 인터널 데이터 버스를 통해 전달받은 패킷의 Optional Header로부터 플로우 ID(Ingress FID), 패킷 복제 플래그(packetReplication)를 추출한다(S410).Ingress packet duplication is performed in the packet duplication block (I) 130. As shown in Fig. 4, flow ID (Ingress FID) and packet duplication flag from the optional header of the packet received through the internal data bus first, as shown in FIG. (packetReplication) is extracted (S410).

패킷 복제 플래그를 확인하여 패킷 복제 플래그(packetReplication)가 1인지 여부를 확인하여 패킷 복제 수행을 할지를 판단한다(S420). 패킷 복제 플래그의 값은 플로우 룩업 블록(I)(115)이 인입되는 패킷의 포트 및 패킷 헤더 정보를 분석하여 결정한 결과에 따라 헤더 프로세싱 블록(I)(120)이 설정한 것이다.It is determined whether to perform packet replication by checking whether the packet replication flag is 1 by checking the packet replication flag (S420). The value of the packet duplication flag is set by the header processing block (I) 120 according to a result determined by analyzing port and packet header information of the packet to which the flow lookup block (I) 115 is introduced.

판단 결과, 패킷 복제 플래그(packetReplication)가 1이면 플로우 ID를 서치 키(search key)로 삼아 인그레스 패킷 복제 테이블 룩업을 수행한다. 테이블 룩업의 결과로 멀티캐스팅 방법 및 정보(스위치 패브릭 카드/라인카드)를 획득하고 이를 추가적인 헤더로 구성한다(S430). 그 후 패킷을 스위치 인터페이스 블록으로 전달한다(S440). As a result of the determination, if the packet replication flag is 1, the ingress packet replication table lookup is performed using the flow ID as a search key. As a result of the table lookup, the multicasting method and information (switch fabric card/line card) are obtained and configured as an additional header (S430). After that, the packet is transmitted to the switch interface block (S440).

패킷 복제 플래그(packetReplication)가 1이 아니면, 패킷 복제가 불필요하다고 판단하여 패킷을 곧바로 스위치 인터페이스 블록으로 전달한다(S440). If the packet replication flag (packetReplication) is not 1, it is determined that packet replication is unnecessary and the packet is immediately transferred to the switch interface block (S440).

도 5는 이그레스 패킷 복제의 처리 흐름도이다. Fig. 5 is a flow chart of egress packet duplication.

도시된 바와 같이, 먼저 인터널 데이터 버스를 통해 전달받은 패킷의 Optional Header로부터 플로우 ID(Egress FID), 패킷 복제 플래그(packetReplication)를 추출한다(S510). 도 3을 참조하여 전술한 바와 같이 이그레스 패킷의 Optional Header는 플로우 룩업 블록(E)(145)이 패킷의 포트 및 패킷 헤더 정보를 분석하여 결정한 결과에 따라 헤더 프로세싱 블록(E)(150)이 설정한 것이다.As shown, first, a flow ID (Egress FID) and a packet replication flag (packetReplication) are extracted from the optional header of the packet transmitted through the internal data bus (S510). As described above with reference to FIG. 3, the optional header of the egress packet is determined by the flow lookup block (E) 145 analyzing the port and packet header information of the packet, and the header processing block (E) 150 is It is set.

패킷 복제 플래그(packeReplication)를 확인하여 패킷을 복제할지 여부를 판단하고(S520), 패킷 복제 플래그가 1이어서 복제가 필요한 경우 플로우 ID를 서치 키로 삼아 이그레스 패킷 복제 테이블 룩업을 수행한다. 테이블 룩업의 결과로 복제 패킷의 출력 포트와 인캡슐레이션(DA, SA, VID, MPLS Labels(T-Label, S-Label)) 등을 획득하고 이를 참고로 패킷을 구성한 후(S530), 해당 출력 큐를 통해 라인 인터페이스 블록으로 전달한다(S540).The packet replication flag (packeReplication) is checked to determine whether to replicate the packet (S520), and if replication is required because the packet replication flag is 1, an egress packet replication table lookup is performed using a flow ID as a search key. As a result of table lookup, the output port and encapsulation (DA, SA, VID, MPLS Labels (T-Label, S-Label)) of the duplicated packet are obtained, and the packet is configured with reference to it (S530), and the corresponding output It is transmitted to the line interface block through the queue (S540).

패킷 복제 플래그(packetReplication)가 1이 아니면 패킷을 곧바로 출력 포트에 해당하는 출력 큐를 통해 라인 인터페이스 블록으로 전달한다(S540). If the packet replication flag (packetReplication) is not 1, the packet is directly transferred to the line interface block through the output queue corresponding to the output port (S540).

패킷 제거 절차Packet drop procedure

도 6을 참조하여 본 발명에 따른 인그레스 패킷의 제거 절차를 살펴본다.A procedure for removing an ingress packet according to the present invention will be described with reference to FIG. 6.

인그레스 패킷 제거는 패킷 제거 블록(I)(125)에서 수행하는데, 먼저 인터널 데이터 버스를 통해 전달받은 패킷의 Optional Header 및 d-CW로부터 플로우 ID(Ingress FID), 패킷 삭제 플래그(packetElimination), 멤버 플로우ID(ExtID), 수신 시퀀스 번호(rxSeqNum)를 추출한다(S610). 멤버 플로우 ID는 한 장치로 동일 패킷에 대한 멤버 플로우가 인입되는 경우를 구분하기 위한 인자이다.Ingress packet removal is performed in the packet removal block (I) 125. First, flow ID (Ingress FID), packet deletion flag (packetElimination) from the optional header and d-CW of the packet transmitted through the internal data bus, The member flow ID (ExtID) and the reception sequence number (rxSeqNum) are extracted (S610). The member flow ID is a factor for distinguishing when a member flow for the same packet is introduced to one device.

패킷 제거를 수행할지 여부를 판단하기 위하여 패킷 제거 플래그를 확인한다(S620). In order to determine whether to perform packet removal, a packet removal flag is checked (S620).

패킷 제거 플래그가 1이 아닐 경우 패킷을 곧바로 다음 블록, 즉 패킷 복제 블록(I)(130)으로 전달한다(S680). If the packet removal flag is not 1, the packet is immediately transferred to the next block, that is, the packet replication block (I) 130 (S680).

패킷 제거 플래그가 1일 경우, Ingress FID, Ext ID를 서치 키로 삼아 인그레스 패킷 제거 처리를 위한 테이블 룩업을 수행한다(S630).When the packet removal flag is 1, a table lookup for ingress packet removal processing is performed using Ingress FID and Ext ID as search keys (S630).

테이블 룩업을 결과로 최근 수신한 패킷의 시퀀스 번호(lastRxSeqNum)를 획득하는데, 해당 패킷이 새롭게 인입되는 무손실 플로우의 패킷 중 최초로 수신된 첫 번째 수신 패킷일 경우, 즉, 어떤 무손실 플로우가 인입 완료된 경우에 본 발명에 따른 무손실 패킷 전달 장치는 룩업 테이블 내의 lastRxSeqNum를 초기화하여 0xFFF_FFFF로 설정하므로, 새롭게 인입되는 무손실 플로우 중 첫 번째 수신 패킷이 수신되는 시점의 lastRxSeqNum은 0xFFF_FFFF 값을 가진다. 따라서, lastRxSeqNum를 확인하여 첫번째 수신 패킷인지 여부를 판단한다(S640).As a result of the table lookup, the sequence number (lastRxSeqNum) of the recently received packet is obtained.If the packet is the first received packet among the packets of a newly incoming lossless flow, that is, when a certain lossless flow is completed Since the lossless packet delivery apparatus according to the present invention initializes lastRxSeqNum in the lookup table and sets it to 0xFFF_FFFF, the lastRxSeqNum at the time of receiving the first received packet among newly incoming lossless flows has a value of 0xFFF_FFFF. Therefore, it is determined whether it is the first received packet by checking lastRxSeqNum (S640).

첫번째 수신 패킷일 경우, 인그레스 패킷 제거 테이블의 lastRxSeqNum을 rxSeqNum로 업데이트하고(S670), 패킷을 다음 블록인 패킷 복제 블록(I)(130)으로 전달한다(S680).In the case of the first received packet, lastRxSeqNum of the ingress packet removal table is updated to rxSeqNum (S670), and the packet is transferred to the next block, the packet replication block (I) 130 (S680).

첫번째 수신 패킷이 아닐 경우 rxSeqNum가 lastRxSeqNum와 동일한 값인지 확인하여, 동일한 값일 경우에는 이미 동일 내용의 패킷을 수신한 상태이므로 수신 패킷을 폐기한다(S660).If it is not the first received packet, it is checked whether rxSeqNum is the same value as lastRxSeqNum, and if it is the same value, the received packet is discarded because a packet having the same content has already been received (S660).

rxSeqNum가 lastRxSeqNum와 동일한 값이 아닐 경우 인그레스 패킷 제거 테이블의 lastRxSeqNum을 rxSeqNum로 업데이트하고(S670), 패킷을 패킷 복제 블록(I)으로 전달한다(S680). rxSeqNum은 인입된 패킷의 헤더에 포함된 일련번호 값과 동일하다. If rxSeqNum is not the same value as lastRxSeqNum, lastRxSeqNum in the ingress packet removal table is updated to rxSeqNum (S670), and the packet is transferred to the packet replication block (I) (S680). rxSeqNum is the same as the serial number included in the header of the incoming packet.

첫번째 수신 패킷이 아닐 경우 rxSeqNum가 lastRxSeqNum와 동일한 값인지 확인하여, 동일한 값일 경우에는 이미 동일 내용의 패킷을 수신한 상태이므로 수신 패킷을 폐기한다(S660).If it is not the first received packet, it is checked whether rxSeqNum is the same value as lastRxSeqNum, and if it is the same value, the received packet is discarded because a packet having the same content has already been received (S660).

rxSeqNum가 lastRxSeqNum와 동일한 값이 아닐 경우 인그레스 패킷 제거 테이블의 lastRxSeqNum을 rxSeqNum로 업데이트하고(S670), 패킷을 패킷 복제 블록(I)으로 전달한다(S680).If rxSeqNum is not the same value as lastRxSeqNum, lastRxSeqNum in the ingress packet removal table is updated to rxSeqNum (S670), and the packet is transferred to the packet replication block (I) (S680).

이그레스 패킷(Egress packet) 제거에 대하여 도 7을 참조하여 상세히 설명한다. The egress packet removal will be described in detail with reference to FIG. 7.

우선, 인터널 데이터 버스를 통해 전달받은 패킷의 Optional Header 및 d-CW로 부터 플로우 ID(Egres FID), 수신 시퀀스 번호(rxSeqNum)를 추출한다(S710).First, a flow ID (Egres FID) and a reception sequence number (rxSeqNum) are extracted from the optional header and d-CW of the packet transmitted through the internal data bus (S710).

패킷 제거 플래그를 확인하여 패킷을 제거할지 여부를 판단하되(S715), 패킷 제거 플래그가 1이 아닐 경우 패킷을 제거함이 없이 곧바로 플로우 룩업 블록(E)으로 전달한다(S760). The packet removal flag is checked to determine whether to remove the packet (S715). If the packet removal flag is not 1, the packet is immediately transferred to the flow lookup block E without removing the packet (S760).

패킷 제거 플래그가 1일 경우, Egress FID를 서치 키로 이그레스 패킷 제거 처리를 위한 테이블 룩업을 수행하고(S720), 연속적으로 이그레스 테이블 룩업의 결과인 시퀀스 히스토리 인덱스(seqHisIdx)를 키로 플로우에 대한 시퀀스 히스토리(최대 4K)를 확인하기 위한 테이블 룩업을 수행한다(S725).When the packet removal flag is 1, a table lookup for egress packet removal processing is performed using the Egress FID as a search key (S720), and the sequence history index (seqHisIdx), which is the result of the egress table lookup, is used as a key for the flow sequence. A table lookup is performed to check the history (up to 4K) (S725).

이그레스 테이블 룩업을 결과로 마지막으로 승인된 패킷의 시퀀스 번호(lastRecovRxSeqNum)를 획득하는데, 첫 번째 수신 패킷일 경우, lastRecovSeqNum는 디폴트 값인 0xFFF_FFFF값을 갖는다. 이그레스 테이블의 lastRecovRxSeqNum는 인그레스 테이블의 lastRxSeqNum와 같은 역할을 하며 동일한 시점에서 초기화 되는데, 이그레스 단은 장치 내에서 복수의 포트나 카드로 인그레스 되는 패킷들이 취합되므로 플로우의 복구(Recovery)개념을 명확히 하기 위하여 변수의 명칭을 lastRecovRxSeqNum로 칭하였다. As a result of the egress table lookup, the sequence number (lastRecovRxSeqNum) of the last approved packet is obtained. In the case of the first received packet, lastRecovSeqNum has a default value of 0xFFF_FFFF. LastRecovRxSeqNum in the egress table plays the same role as lastRxSeqNum in the ingress table and is initialized at the same point. The egress stage collects packets that are ingressed to multiple ports or cards in the device, so the concept of recovery of flows. For clarity, the name of the variable was called lastRecovRxSeqNum.

lastRecovRxSeqNum 값을 확인하여 첫번째 수신 패킷인지 여부를 판단하고(S730), 첫번째 수신 패킷일 경우, 시퀀스 히스토리의 비트 0 위치의 값을 1로 설정하고(S730), 이그레스 패킷 제거 테이블의 lastRecovSeqNum를 rxSeqNum로 변경하여 시퀀스 히스토리 테이블의 시퀀스 히스토리를 수정된 히스토리로 업데이트 한다(S755). 그리고 패킷을 플로우 룩업 블록(E)으로 전달한다(S760). 시퀀스 히스토리의 비트 0의 값은 가장 최근 복구된(Recovered) 가장 큰 시퀀스 번호의 수신 여부를 나타낸다. 즉, 시퀀스 히스토리는, 가장 오른쪽에 위치하는 비트 0이 여태까지 수신된 패킷 중 가장 큰 시퀀스 번호를 가지는 패킷의 수신여부를 나타내는 자리가 되도록, 어떤 패킷이 복구되면 그 패킷의 시퀀스 넘버에 따라 적절히 shift 되도록 동작한다.The lastRecovRxSeqNum value is checked to determine whether it is the first received packet (S730), and if it is the first received packet, the value of the bit 0 position of the sequence history is set to 1 (S730), and the lastRecovSeqNum of the egress packet removal table is set to rxSeqNum. By changing, the sequence history of the sequence history table is updated with the modified history (S755). Then, the packet is transferred to the flow lookup block E (S760). The value of bit 0 of the sequence history indicates whether the most recently recovered sequence number has been received. That is, the sequence history is appropriately shifted according to the sequence number of the packet when a packet is recovered so that bit 0 located at the rightmost position indicates whether a packet with the largest sequence number among the packets received so far is received. It works as much as possible.

첫번째 수신 패킷이 아닐 경우, rxSeqNum와 lastRecovSeqNum를 비교한다(S740). 판단 결과, rxSeqNum가lastRecovSeqNu 보다 크지 않을 경우, 플로우 내에서 최근 복구된 패킷보다 먼저 복구되었을 패킷(최근 복구한 패킷보다 송신단에서 먼저 송신한 패킷)이 이제서야 복구된 것이므로 시퀀스 히스토리의 Δ(lastReovSeqNum-rxSeqNum) 비트 위치의 값을 확인한다(S745). Δ 비트 위치의 시퀀스 히스토리 값이 1일지 여부를 판단하여(S750), 1인 경우, 이전에 수신했던 패킷이므로 패킷을 폐기한다(S755).If it is not the first received packet, rxSeqNum and lastRecovSeqNum are compared (S740). As a result of the determination, if rxSeqNum is not greater than lastRecovSeqNu, the packet that would have been restored earlier than the most recently restored packet in the flow (the packet sent by the transmitter earlier than the recently restored packet) was only recovered, so Δ (lastReovSeqNum-rxSeqNum) in the sequence history Check the value of the bit position (S745). It is determined whether or not the sequence history value of the Δ bit position is 1 (S750), and if it is 1, since the packet has been previously received, the packet is discarded (S755).

Δ 비트 위치의 시퀀스 히스토리 값이 1이 아닐 경우, 패킷을 폐기하지 않고 시퀀스 히스토리 테이블의 시퀀스 히스토리의 Δ 번째 비트를 1로 변경하여 시퀀스 히스토리를 업데이트 한다(S770). 그리고 패킷을 플로우 룩업(E) 블록으로 전달한다(S775).If the sequence history value of the Δ bit position is not 1, the sequence history is updated by changing the Δth bit of the sequence history of the sequence history table to 1 without discarding the packet (S770). Then, the packet is transferred to the flow lookup (E) block (S775).

단계 S740의 판단 결과, rxSeqNum가lastRecovSeqNum 보다 클 경우, 플로우 내에서 현재까지 복구된 패킷의 시퀀스 번호보다 더 큰 시퀀스 번호를 가지는 패킷이 복구된 경우이므로 시퀀스 히스토리를 Δ(rxSeqNum-lastReovSeqNum)만큼 쉬프트 레프트(shift left)하고 비트 0을 1로 변경한다(S760). 즉, 시퀀스 히스토리의 Δ번째 비트를 1로 설정한다. 이 후 이그레스 패킷 제거 테이블의 lastRecovSeqNum를 rxSeqNum로 변경하고(S765), 시퀀스 히스토리 테이블의 시퀀스 히스토리를 수정된 히스토리로 업데이트 한다(S770). 그리고 패킷을 플로우 룩업 블록(E)으로 전달한다(S775).As a result of the determination of step S740, if rxSeqNum is greater than lastRecovSeqNum, a packet having a sequence number greater than the sequence number of the packet recovered so far in the flow is recovered, so shift the sequence history by Δ(rxSeqNum-lastReovSeqNum) shift left) and change bit 0 to 1 (S760). That is, the Δth bit of the sequence history is set to 1. Thereafter, the lastRecovSeqNum of the egress packet removal table is changed to rxSeqNum (S765), and the sequence history of the sequence history table is updated with the modified history (S770). Then, the packet is transferred to the flow lookup block E (S775).

도 8은 본 발명에 따른 패킷 복제/삭제를 이용한 무손실 패킷 전달 장치를 사용한 예시적 시스템을 도시한 도면이다.8 is a diagram showing an exemplary system using a lossless packet forwarding apparatus using packet duplication/deletion according to the present invention.

패킷 복제/삭제를 이용한 무손실 패킷 전달 장치를 적용한 시스템 실시예로는 소용량의 독립형(stand-alone) 시스템 또는 중대용량의 시형(chassis)형 시스템이 있다.As an example of a system to which a lossless packet delivery device using packet duplication/deletion is applied, there is a small-capacity stand-alone system or a medium-to-large capacity chassis type system.

독립형 시스템은 이더넷 인터페이스(2N x GE/10GE) 제공하며, 2개의 패킷 복제/삭제 장치, 프로세서 장치로 구성된다. 프로세서는 패킷 복제/삭제 장치 기능을 설정하거나 관리한다. 2개의 패킷 복제/삭제 장치간은 규격화된 시스템 인터페이스를 통해 연결된다.The standalone system provides an Ethernet interface (2N x GE/10GE) and consists of two packet copy/delete units and a processor unit. The processor sets or manages the packet duplication/deletion device function. The two packet duplication/deletion devices are connected through a standardized system interface.

샤시형 시스템은 라인카드, 스위치 패브릭 카드, 메인 프로세서 카드로 구성된다. 라인카드는 이더넷 인터페이스(N x GE10GE)를 제공하며, 패킷 복제/삭제 장치, 스위치 인터페이스 패브릭 장치, 로컬 프로세서 장치로 구성된다. 스위치 패브릭 카드는 다수개의 라인 카드간 연결(패킷 복제를 위한 스위치 패브릭 멀티캐스팅 포함)을 제공한다. 메인 프로세서 카드는 시스템에서 패킷 복제/삭제 기능이 동작하기 위한 라인카드, 스위치 패브릭 카드내 장치들을 설정하거나 관리한다.The chassis type system consists of a line card, a switch fabric card, and a main processor card. The line card provides an Ethernet interface (N x GE10GE) and consists of a packet copy/delete device, a switch interface fabric device, and a local processor device. Switch fabric cards provide connectivity between multiple line cards (including switch fabric multicasting for packet replication). The main processor card configures or manages devices in the line card and switch fabric card for the packet copy/delete function to operate in the system.

이상, 본 발명의 바람직한 실시예를 상세히 설명하였으나, 예시된 실시예를 구성하는 모든 구성요소들이 하나로 결합되어 있는 것으로 기재되어 있거나 또는 함께 결합하여 동작하는 것으로 기재되어 있다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 기능 혹은 모든 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 또한, 이와 같은 컴퓨터 프로그램은 USB 메모리, CD 디스크, 플래쉬 메모리 등과 같은 컴퓨터가 읽을 수 있는 기록매체(Computer Readable Media)나 FPGA 등에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. In the above, although the preferred embodiment of the present invention has been described in detail, all the components constituting the illustrated embodiment are described as being combined into one or are described as being combined together to operate, so that the present invention must be such an implementation. It is not limited to examples. That is, within the scope of the object of the present invention, all the constituent elements may be selectively combined and operated in one or more. In addition, although all the components can be implemented as one independent hardware, a program module that performs some or all functions combined in one or more hardware by selectively combining some or all of the components. It may be implemented as a computer program having In addition, such a computer program is stored in a computer readable media such as a USB memory, a CD disk, a flash memory, etc. or an FPGA, and is read and executed by a computer, thereby implementing an embodiment of the present invention. have.

따라서, 본 발명은 이하의 특허청구범위의 기재에 의하여 정의되는 구성 및 그 균등의 범위에까지 미친다.Accordingly, the present invention extends to the configuration defined by the description of the following claims and the scope of their equivalents.

Claims (1)

인입되는 패킷의 포트 및 패킷 헤드를 분석하여 패킷의 복제 여부를 결정하고, 무손실 전달 플로우의 패킷별 시퀀스 번호를 생성하는 플로우 룩업 블록과,
상기 플로우 룩업 블록의 결정에 따른 정보를 포함하는 제1 추가 헤더를 상기 패킷에 삽입하는 헤더 프로세싱 블록과,
상기 제1 추가 헤더를 참고하여 패킷 복제 방식에 대한 정보를 생성하여 이를 포함하는 제2 추가 헤더를 상기 패킷에 삽입하는 패킷 복제 블록과,
수신된 패킷의 시퀀스 번호가 이전에 수신된 패킷의 시퀀스 번호와 동일할 경우 이를 폐기하는 패킷 제거 블록
을 포함하는 무손실 패킷 전달 장치.
A flow lookup block that analyzes the port and packet head of the incoming packet to determine whether to duplicate the packet, and generates a sequence number for each packet of a lossless delivery flow;
A header processing block for inserting a first additional header including information according to the determination of the flow lookup block into the packet,
A packet replication block for generating information on a packet replication method with reference to the first additional header and inserting a second additional header including the same into the packet,
A packet removal block that discards when the sequence number of a received packet is the same as that of a previously received packet.
Lossless packet delivery device comprising a.
KR1020190044469A 2019-04-16 2019-04-16 Method and apparatus for lossless packet transport KR102356667B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190044469A KR102356667B1 (en) 2019-04-16 2019-04-16 Method and apparatus for lossless packet transport

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190044469A KR102356667B1 (en) 2019-04-16 2019-04-16 Method and apparatus for lossless packet transport

Publications (2)

Publication Number Publication Date
KR20200121653A true KR20200121653A (en) 2020-10-26
KR102356667B1 KR102356667B1 (en) 2022-01-28

Family

ID=73006097

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190044469A KR102356667B1 (en) 2019-04-16 2019-04-16 Method and apparatus for lossless packet transport

Country Status (1)

Country Link
KR (1) KR102356667B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220059819A (en) * 2020-11-03 2022-05-10 한국전자통신연구원 Method and apparatus for controlling transmission for lossless packet forwarding

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060054250A (en) * 2006-04-21 2006-05-22 한국정보통신대학교 산학협력단 Multicast switching apparatus and method for transmitting multicast data packet using by it

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060054250A (en) * 2006-04-21 2006-05-22 한국정보통신대학교 산학협력단 Multicast switching apparatus and method for transmitting multicast data packet using by it

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
‘초저지연 전달망 기술’, ETRI, 2017.02.09.* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220059819A (en) * 2020-11-03 2022-05-10 한국전자통신연구원 Method and apparatus for controlling transmission for lossless packet forwarding

Also Published As

Publication number Publication date
KR102356667B1 (en) 2022-01-28

Similar Documents

Publication Publication Date Title
JP4229121B2 (en) Network system, spanning tree configuration method and configuration program, and spanning tree configuration node
US9426085B1 (en) Methods and apparatus for multi-path flow control within a multi-stage switch fabric
CA2459286C (en) Method for supporting sdh/sonet aps on ethernet
US8345696B2 (en) Router and packet discarding method
US8953486B2 (en) Global auto-configuration of network devices connected to multipoint virtual connections
WO2018095303A1 (en) Transmission method and apparatus for operation, management and maintenance of oam data
WO2004008699A1 (en) Frame transfer method and node and frame transfer program for use on network
Rath Computer Networking
US9479619B2 (en) Transmission apparatus, transmission system, and transmission method
US20200044964A1 (en) Defect detection in ip/mpls network tunnels
JP4068545B2 (en) Packet receiving method and apparatus
KR102356667B1 (en) Method and apparatus for lossless packet transport
CN105577536A (en) Message processing method and network device
US10009272B2 (en) Packet transmission apparatus for processing operations, administration, and maintenance (OAM) packet and protection switching message
US9426058B2 (en) Transmission equipment and transmission method
KR102231040B1 (en) Data Communication Method for Full Duplex Switched Ethernet in Ring Topology
US8767736B2 (en) Communication device, communication method, and recording medium for recording communication program
JP2018107584A (en) Network device and control method of the same
RU2730390C1 (en) Method and apparatus for automatic determination of inter-node communication topology in shared backup ring of transoceanic multiplex section
WO2004066562A1 (en) Data transmission apparatus
CN114301839B (en) Multicast message transmission method and device
US9450892B2 (en) Switch device, network system, and switch device control method
KR102220636B1 (en) Method for frame communication with gate and node field added
US20050089032A1 (en) Method of and apparatus for transporting SCSI data over a network
JP2004096460A (en) Ethernet switch

Legal Events

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