KR20070061126A - Packet processor in ip version 6 router and method thereof - Google Patents
Packet processor in ip version 6 router and method thereof Download PDFInfo
- Publication number
- KR20070061126A KR20070061126A KR1020060049564A KR20060049564A KR20070061126A KR 20070061126 A KR20070061126 A KR 20070061126A KR 1020060049564 A KR1020060049564 A KR 1020060049564A KR 20060049564 A KR20060049564 A KR 20060049564A KR 20070061126 A KR20070061126 A KR 20070061126A
- Authority
- KR
- South Korea
- Prior art keywords
- information
- tuple
- packet
- ipv6
- source
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6215—Individual queue per QOS, rate or priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/028—Capturing of monitoring data by filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/659—Internet protocol version 6 [IPv6] addresses
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
Description
도 1은 본 발명에 따른 IPv6 패킷 처리 장치가 적용된 IPv6 망 구성도이다.1 is a block diagram of an IPv6 network to which an IPv6 packet processing apparatus according to the present invention is applied.
도 2는 IPv6 단말기에서 생성되는 IPv6 헤더의 상세구조도의 한 형태를 나타내는 도면이다. FIG. 2 is a diagram showing a form of a detailed structural diagram of an IPv6 header generated in an IPv6 terminal.
도 3은 본 발명에 따른 IPv6 라우터에서 패킷 처리 장치를 개략적으로 나타내는 블록도이다. 3 is a block diagram schematically illustrating an apparatus for processing a packet in an IPv6 router according to the present invention.
도 4는 도 3에 도시된 장치가 도 2에 도시된 형태의 IPv6 헤더를 갖는 패킷 입력시 수행되는 본 발명에 따른 IPv6 패킷 처리 방법의 일실시예를 나타내는 플로우챠트이다. 4 is a flowchart illustrating an embodiment of a method for processing an IPv6 packet according to the present invention, which is performed when a device shown in FIG. 3 is inputted with a packet having an IPv6 header of the type shown in FIG.
도 5는 플로우 레이블 처리부에서 수행되는 4 튜플 해쉬 정보 수집 루틴을 상세하게 설명하기 위한 플로우챠트이다. 5 is a flowchart for describing in detail a 4-tuple hash information collection routine performed by a flow label processing unit.
본 발명은 IP 버전 6(IPv6) 라우터에 관한 것으로, 특히, 전송계층 정보가 기록된 플로우 레이블을 포함하는 패킷이 전송되면, 상기 플로우 레이블을 분석하 여 4 튜플 정보를 추출하고 추출된 4튜플 정보를 이용하여 각 플로우별로 QoS 서비스의 차별화를 제공하고, 차별화 서비스의 세밀화 정도를 확장시키기 위한 IPv6 라우터에서 패킷 처리 장치 및 그 방법에 관한 것이다. The present invention relates to an IP version 6 (IPv6) router. In particular, when a packet including a flow label in which transport layer information is recorded is transmitted, the flow label is analyzed to extract 4-tuple information, and the extracted 4-tuple information is extracted. The present invention relates to a packet processing apparatus and method in an IPv6 router for providing differentiation of QoS services for each flow and extending the level of fineness of differentiation services.
최근, 인터넷은 주소의 고갈에 따라 IPv4에서 IPv6로 진화되고 있다. 따라서, IPv6 주소 체계하에서 전송되는 프레임의 헤드들도 인터넷 프로토콜 헤드의 단순화뿐만 아니라 규격화를 통하여 라우터에서 단순 처리를 할 수 있도록 변경하였다. 한편, IPv6에서도 인터넷 QoS를 제공하기 위하여 IPv4에서 사용하던 DSCP(DiffServ Code Point)방식과 동일하게 트래픽들의 그룹으로 묶어 처리하는 TC(Traffic Class)를 지원하는 방안과 사용자들간의 세션 맺음을 통하여 세션에 적당한 QoS 파라메터를 라우터에 알려주고 향후 전송되는 패킷에서는 이를 구분할 수 있도록 플로우레이블(FlowLabel)을 사용하는 방법이 있다. 플로우레이블을 이용하는 경우 플로우별로 서비스 품질보장과 연속되는 플로우의 데이터를 빠른 처리를 위하여 플로우레이블을 이용하자는 표준이 제안되고 있다. 즉, IPv6의 플로우레이블을 이용하면 망 창치에서 IPv6 헤드가 다중으로 붙은 패킷을 수신할 때, 모든 헤드들을 확인하지 않고 첫 번째 헤드의 플로우레이블을 통하여 각 스프림을 구분하며 또한 각 세션별로 차별화 할 수 있다. 그러나, 플로우레이블을 완벽하게 사용하기 위하여, 단말에서 세션을 맺을 때마다 RSVP(Resource Reservation Protocol)등의 신호 프로토콜을 이용한 플로우 구분과 적절한 QoS 파라메터의 맵핑 등을 통하여 세션을 구분하고 관리하여야 하는 기능들이 필요하다. 이러한 기능을 이용할 때 라우터에서는 너무 많은 신호들을 처리하여야 하기 때문에 오버헤드 등으로 망에 적용되기 쉽지 않는 단점이 있다. Recently, the Internet has evolved from IPv4 to IPv6 due to the exhaustion of addresses. Accordingly, the heads of frames transmitted under the IPv6 addressing scheme have been modified to be simplified in the router through standardization as well as simplification of the Internet protocol head. On the other hand, in IPv6, in order to provide Internet QoS, a session is supported through a method that supports TC (Traffic Class), which bundles and processes traffic groups in the same way as the DSCP (DiffServ Code Point) method used in IPv4. There is a way to use the FlowLabel to inform the router of the appropriate QoS parameters and to distinguish them in future packets. In the case of using the flow label, a standard has been proposed to use the flow label for guaranteeing the quality of service for each flow and for the rapid processing of the data of the flow. In other words, when using IPv6 flow labels, when receiving packets with multiple IPv6 heads from the network device, each stream is distinguished through the flow label of the first head without identifying all the heads and differentiated by each session. Can be. However, in order to fully use the flow label, each time a terminal establishes a session, functions that need to classify and manage sessions through flow classification using a signaling protocol such as RSVP (Resource Reservation Protocol) and mapping of appropriate QoS parameters are provided. need. When using such a function, the router has to process too many signals, so it is not easy to be applied to the network due to overhead.
또 다른 방법으로, 일부에서는 신호 프로토콜 없이 초기 데이터 패킷을 전송할 때 홉마다 처리하는 헤드정보에 QoS 파라메터 정보를 함께 전송하면 첫 패킷을 처리하는 라우터에서 신호 프로토콜에 의한 QoS 제공방식과 동일하게 처리할 수 있는 기법을 제안하기도 하고 있지만 여전히 망에는 적용이 쉽지 않다. Alternatively, in some cases, when QoS parameter information is transmitted to the head information processed every hop when transmitting the initial data packet without the signaling protocol, the router processing the first packet may process the same as the QoS providing method by the signaling protocol. Some techniques are proposed, but they are still difficult to apply to networks.
본 발명이 이루고자 하는 기술적 과제는, 단말로부터 플로우 레이블에 특별한 의미가 부여된 IPv6 패킷이 전송되면 첫 번째 IPv6 패킷의 헤드를 하드웨어적인 헤쉬 기법을 이용하여 분석함으로써, 실시간으로 플로우 분류 및 트래픽 분류를 세밀화 하여 QoS 처리할 수 있는 IPv6 라우터에서 패킷 처리 장치 및 그 방법에 관한 것이다. The technical problem to be achieved by the present invention is to refine the flow classification and traffic classification in real time by analyzing the head of the first IPv6 packet using a hardware hash technique when an IPv6 packet having a special meaning is assigned to the flow label from the terminal. The present invention relates to a packet processing apparatus and method in an IPv6 router capable of processing QoS.
상기 기술적 과제를 이루기 위해, 헤드 영역에 프로토콜 및 송신지 또는 수신지 포트 정보가 기록된 플로우 레이블 필드, 송신지 IP 주소 및 수신지 IP 주소 정보를 포함하는 IPv6 패킷을 처리하는 본 발명에 따른 IPv6 라우터에서 패킷 처리 장치는 IPv6 패킷을 수신하는 입력처리부, 상기 수신된 IPv6 패킷의 헤드로부터 상기 수신지 IP 주소, 상기 송신지 IP 주소, 상기 프로토콜 및 상기 송신지 또는 수신지 포트 정보를 패킷 분류를 위한 4튜플 해쉬 값으로서 추출하고, 추출된 4 튜플 해쉬 값에 따라 큐와 스케줄러를 설정하여 상기 IPv6의 QoS를 처리하는 플로우 제어부, 상기 설정에 따라 상기 IPv6의 큐잉 및 스케줄링을 처리하는 QoS 처리부 및 상기 큐잉 및 스케줄링 처리 결과에 따라 IPv6 패킷을 출력하는 출력 처리부를 포함하는 것이 바람직하다. In order to achieve the above technical problem, an IPv6 router according to the present invention for processing an IPv6 packet including a protocol and a flow label field in which a source or destination port information is recorded, a source IP address, and a destination IP address information in a head region. In the packet processing apparatus is an input processing unit for receiving an IPv6 packet, the destination IP address, the source IP address, the protocol and the source or destination port information from the head of the received
상기 기술적 과제를 이루기 위해, 헤드 영역에 프로토콜 및 송신지 또는 수신지 포트 정보가 기록된 플로우 레이블 필드, 송신지 IP 주소 및 수신지 IP 주소 정보를 포함하는 IPv6 패킷을 처리하는 IPv6 패킷 처리 방법은 상기 IPv6 패킷을 수신하는 (a)단계, 수신된 IPv6 패킷으로부터 상기 프로토콜 정보, 상기 송신지 또는 수신지 포트 정보, 상기 송신지 IP 주소 정보 및 상기 수신지 IP 주소 정보를 4 튜플 해쉬 정보로서 수집하는 (b)단계, 4튜플 해쉬 정보에 따라 큐 및 스케줄러 설정을 위한 서비스 프로파일 데이터를 저장하고 있는 4튜플 해쉬 테이블을 참조하여 상기 수집된 4 튜플 해쉬 정보에 대응하는 서비스 프로파일 데이터에 따라 큐와 스케줄러를 설정하여 상기 IPv6 패킷의 큐잉 및 스케줄링을 처리하는 단계 및 큐잉 및 스케줄링 처리 결과에 따라 IPv6 패킷을 출력하는 (d)단계를 포함하는 것이 바람직하다. In order to achieve the above technical problem, an IPv6 packet processing method for processing an IPv6 packet including a protocol and a flow label field in which a source or destination port information is recorded, a source IP address, and a destination IP address information in the head region is described above. (A) receiving an IPv6 packet, collecting the protocol information, the source or destination port information, the source IP address information, and the destination IP address information from the received IPv6 packet as 4 tuple hash information ( b) setting a queue and a scheduler according to the service profile data corresponding to the collected 4-tuple hash information by referring to the 4-tuple hash table storing service profile data for setting the queue and the scheduler according to the 4-tuple hash information. Processing the queuing and scheduling of the IPv6 packet, and IPv6 according to the result of the queuing and scheduling process. And the inclusion of (d) outputting a kit is preferred.
이하, 본 발명에 따른 IPv6 라우터에서 패킷 처리 장치 및 그 방법을 첨부한 도면들을 참조하여 다음과 같이 설명한다. Hereinafter, an apparatus and a method for processing a packet in an IPv6 router according to the present invention will be described with reference to the accompanying drawings.
도 1은 본 발명에 따른 IPv6 패킷 처리 장치가 적용된 IPv6 망 구성도이다. 1 is a block diagram of an IPv6 network to which an IPv6 packet processing apparatus according to the present invention is applied.
도 1을 참조하여, IPv6 주소체계를 사용하는 다수의 IPv6 단말들(10, 90)은, 다수의 IPv6 라우터(30,40,50,70)와 IPv6 단말(10,90)의 애그리게이션(Aggregation)을 위한 L2 장비(20, 80)을 통해 IPv6 네트워크(60)와 연결된다. IPv6 네트워크(60)에는 IPv6가 지원되는 다수의 라우터(30,40,50,70)에서 3계층 처 리가 이루어진다. IPv6 망에서의 데이터 통신은 기존의 IPv4 망에서와 동일하고, 다만 주소체계가 바뀌어서 그 부분의 처리가 틀려진다.Referring to FIG. 1, a plurality of
한편, IPv6 단말기는 플로우레이블을 생성할 때 프로토콜 및 송신지나 수신지의 포트 정보의 의미를 플로우레이블에 기록함으로써, 전송 네트워크 장비에서 응용프로그램을 쉽게 확인하여 응용 프로그램간 차별화된 서비스를 제공할 수 있도록 할 수 있다. 특히, IPv6 네트워크에서 차별화 서비스를 위한 트래픽 클래스를 이용하며, 이를 세분화하기 위하여 플로우레이블 필드를 나누어 송신지나 목적지 포트 정보를 포함함으로써 망의 라우터와 같은 장치에서 송신지나 목적지 프로토콜 및 포트 정보를 찾기 위하여 여러 헤드를 찾아다닐 필요 없이 플로우레이블을 분석함으로 쉽게 4 튜플 정보 기반의 해당 플로우로 분류하고, 차별화 서비스의 차별화 정도를 세밀하게 할 수 있도록 도 2에 도시된 바와 같은 IPv6 헤더를 생성할 수 있다. Meanwhile, the IPv6 terminal records protocols and meanings of the source and destination port information in the flow label when generating the flow label, so that the application programs can be easily identified by the transmission network equipment to provide differentiated services between the applications. can do. In particular, it uses traffic classes for differentiating services in IPv6 networks, and divides the flow label field to include source and destination port information in order to subdivide it, so that devices such as routers in the network can find source or destination protocol and port information. By analyzing the flow label without having to go to the head, it is easy to classify it into a flow based on 4 tuple information, and generate an IPv6 header as shown in FIG.
도 2는 IPv6 단말기에서 생성되는 IPv6 헤더의 상세구조도의 한 형태를 나타내는 도면이다. FIG. 2 is a diagram showing a form of a detailed structural diagram of an IPv6 header generated in an IPv6 terminal.
도 2를 참조하여, IPv6 헤드는 4비트(bit)의 버전정보(410), 1바이트(byte)의 트래픽 클래스(Traffic Class)(420), 20비트의 플로우레이블(500), 데이터 페이로드의 길이(430), 연결된 다음 헤드 정보(440), 현재의 패킷이 흘러갈 수 있는 홉 카운트를 표시하는 홉 리미트(Hop Limit)(450), 송신지 IPv6 주소필드(460), 수신지 IPv6 주소필드(470)로 구성된다. 그리고 IPv6 단말에서 20비트의 플로우레이블(500)을 만들고자 할 때, 3비트의 프로토콜 필드(510), 1비트의 SD 필드(520), 그리고 16비트의 송신지 또는 수신지 포트 필드(530)로 나누어 형성하는 것이 바람직하다. 여기서, 3비트의 프로토콜 필드(510)에서는 만약 사용하고 싶지 않을 경우는 예를 들어, 0(즉, '000')(511)의 값을 기록하고, 현재 많이 사용하고 있는 UDP의 경우 1('001')(512)로 기록하며, TCP의 경우 값을 2('010')(513)로 기록하며, 향후 많이 사용이 될 SCTP(Stream Control Protocol)의 경우 3('011')(514)으로 기록하며, DCCP(datagram Congestion Control Protocol)의 경우는 4('100')(515)로 표현하도록 하며, 다른 프로토콜에 대하여 5('101') 또는 6('110') 등으로 표현하고, 특별한 제어(Control)용 의미를 부여할 경우 7('111')(516)로 표현하도록 설정을 한다. 상기한 각 프로토콜의 의미 부여는 일례에 불과하며 다양하게 구현될 수도 있다. 예를 들어 도면에 UDP의 경우 1('001')로 기록하고, TCP의 경우 2('010')로 기록한 것으로 도시되어 있으나, UDP의 경우 2('010')로, TCP의 경우 1('001')로 기록할 수도 있다. 이러한 기록은 다른 프로토콜의 경우에도 적용될 수 있다. 또한, SD 필드(520)는 포트 필드(530)에 기록된 내용이 송신지(Source) 프로토콜 포트인지 또는 목적지(Destination) 프로토콜 포트인지를 구분하기 위해 것으로, 송신지 프로토콜 필드의 경우 0(521)의 값을 채우게 되며, 수신지 프로토콜 필드의 경우 1(522)의 값을 기록할 수 있으며, 반대의 경우도 가능하다. Referring to FIG. 2, the IPv6 head includes 4 bits of
한편, 도 3에는 일례로서 각 필드별 비트수가 도시되어 있으나 이러한 비트수는 필드별로 다르게 구현될 수도 있다.Meanwhile, although the number of bits for each field is shown in FIG. 3 as an example, the number of bits may be implemented differently for each field.
전술된 바와 같이, IPv6 단말에서 IPv6의 헤더를 형성할 때 각 플로우를 나눌 수 있는 5 튜플 정보를 바탕으로 원하는 4 튜플 정보(송신지 주소 정보, 수신지 주소 정보, 프로토콜 정보, 송신지 또는 수신지 포트 정보)로 매핑하여 IPv6의 첫 번째 헤더 정보만 보더라도 4 튜플 정보를 찾을 수 있도록 한다. 이 때, 20비트의 플로우레이블을 이용하므로 16비트의 송신지 또는 수신지 프로토콜 필드 모두를 포함할 수 없는 문제가 있지만 특별한 신호 프로토콜 없이 망 장치에서 세밀한 분류를 가능하게 함으로 향후 서비스 다양화와 서비스 별 차별화를 요구할 경우 적절하게 대처할 수 있다.As described above, when forming the header of IPv6 in the IPv6 terminal, the desired 4-tuple information (source address information, destination address information, protocol information, source or destination) based on 5-tuple information that can divide each flow. Port information) so that the 4-tuple information can be found even if only the first header information of IPv6 is viewed. In this case, since 20-bit flow label is used, there is a problem in that it cannot include all 16-bit source or destination protocol fields, but it is possible to finely classify in network devices without special signaling protocol, so that future service diversification and service-specific If differentiation is required, it can be handled appropriately.
도 3은 본 발명에 따른 IPv6 라우터에서 패킷 처리 장치를 개략적으로 나타내는 블록도로서, 라우터 제어부(110)와 라인 인터페이스 패킷 처리부(160)를 포함하여 구성된다. 3 is a block diagram schematically illustrating a packet processing apparatus in an IPv6 router according to the present invention, and includes a
도 3을 참조하여, 라우터 제어부(110)는 일반적으로 관리자와 연동을 하기 위한 관리부(111), 라우터로 동작하기 위한 라우팅 프로토콜 처리부(112), RSVP, MPLS 시그널링등을 처리하기 위한 시그널링 프로토콜 처리부(113), QoS 처리를 제어할 위한 QoS 제어 부(114), 그리고 전체적인 정책을 관리하기 위한 정책제어부(115)를 포함하여 구성된다. Referring to FIG. 3, the
라인인터페이스 패킷 처리부(160)는 입력된 패킷을 처리하는 입력처리부(120), 수신된 IPv6 패킷의 헤드로부터 수신지 IP 주소, 송신지 IP 주소, 프로토콜 및 송신지 또는 수신지 포트 정보를 패킷 분류를 위한 4 튜플 해쉬 값으로서 추출하고, 추출된 4 튜플 해쉬 값에 따라 큐와 스케줄러를 설정하여 IPv6의 QoS를 처리하는 플로우 제어부(130), 플로우 제어부(130)의 설정에 따라 큐처리와 스케줄을 동작시키는 QoS 제어부(140), 그리고 출력 패킷을 처리하는 출력처리부(150)를 포 함하여 구성된다. 구체적으로, 입력처리부(120)는 L1/L2 라인정합을 위한 L1/L2 처리부(121)와 IPv6 라우팅을 위한 L3 IPv6 처리부(122)를 포함하여 구성된다. 플로우 제어부(130)는 송신지 IPv6 주소, 수신지 IPv6 주소, 프로토콜 및 송신지 또는 수신지 포트 정보로 구성되는 4 튜플 해쉬 값과 이에 대응하는 서비스 프로파일 데이터를 저장하고 있는 4 튜플 해쉬 테이블(131), 출력 인터페이스에 대한 정보를 저장하고 있는 FIB 테이블(132), QoS 정보와 정책 정보를 저장하고 있는 QoS 테이블(133) 및 이들 테이블들(131,132,133)을 이용하여 패킷의 플로우 처리를 실행하는 플로우 레이블 처리부(134)를 포함하여 구성된다. QoS 제어부(140)는 패킷을 전송하기 위한 큐잉(Queueing)부(141)와 스케쥴링부(141)를 포함하여 구성되며, 요구되는 서비스 품질과 정책에 기반한 패킷 처리를 수행한다. 출력처리부(150)는 L1/L2 라인정합을 위한 L1/L2 처리부(151) 및 L3 헤더 처리를 위한 부(152)를 포함하여 구성되며, 이들을 통해 이웃 라우터와 상호 연동되도록 한다.The line
도 4는 도 3에 도시된 장치가 도 2에 도시된 형태의 IPv6 헤더를 갖는 패킷 입력시 수행되는 본 발명에 따른 패킷 처리 방법의 일실시예를 나타내는 플로우챠트이다. FIG. 4 is a flowchart illustrating an embodiment of a packet processing method according to the present invention, which is performed when a device shown in FIG. 3 receives a packet having an IPv6 header of the type shown in FIG. 2.
도 3 및 도 4를 참조하여, 입력처리부(120)는 패킷이 수신되면(제201단계), 수신된 패킷의 오류를 검증한다(제202단계). 3 and 4, when a packet is received (step 201), the
제202단계 후에, 플로우 레이블 처리부(134)는 4 튜플 해쉬 값 추출 루틴(제300단계)을 수행하여 수신된 패킷으로부터 4 튜플 해쉬 값을 얻고(제203단계), 얻어진 4 튜플 해쉬 값이 4튜플 해쉬 테이블(131)에 존재하는가의 여부를 확인한다 (제204단계). 수신된 패킷의 헤더를 분석하여 4 튜플 해쉬 값을 수집하는 루틴(제300단계)에 대해서는 도 4를 참조하여 상세히 설명될 것이다. After
제204단계에서, 제300단계의 루틴을 통해 얻어진 4 튜플 해쉬 값이 4 튜플 해쉬 테이블(131)에 존재한다면, 기존 서비스 프로파일과 동일하게 현재의 입력패킷을 처리하도록 플로우 레이블 처리부(134)는 4 튜플 해쉬 테이블(131)을 참조하여, 해당 4 튜플 해쉬 값에 대한 서비스 프로파일 데이터를 읽고 큐(Queue)에 매핑한다(제205단계). 여기서, 제300단계에서 추출된 4 튜플 해쉬 값이 4 튜플 해쉬 테이블(131)에 있다는 것은 해당 패킷이 이전에 처리된 것과 동일한 조건의 패킷이며, 4 튜플 해쉬 테이블에서 서비스 프로파일 데이터를 얻는다는 것은 기존 QoS 파라메터를 얻는다는 것이다. 반면, 제300단계로부터 얻어진 4튜플 해쉬값이 4튜플 해쉬 테이블(131)에 존재하지 않는다면, 플로우 레이블 처리부(134)는 FIB 테이블(132) 및 QoS/정책 정보 테이블(133)로부터 해당 패킷에 대한 QoS 파라메터와 정책 테이블값 및 FIB 테이블 값들을 서비스 프로파일 데이터로서 읽어온다(제206단계). 제206단계 후에, 플로우 레이블 처리부(134)는 제300단계에서 얻어진 새로운 4튜플 해쉬 값과 이에 대한 서비스 프로파일 데이터를 해쉬 테이블에 신규 엔트리로 저장한다(제207단계). 제207단계 후에, 제206단계에서 읽어온 서비스 프로파일 데이터를 참조하여 출력 인터페이스를 확인하고 큐와 스케줄러의 설정을 통하여 QoS를 처리하도록 설정한다(제208단계).In
제205단계 또는 제208단계 후에, QoS 제어부(140)는 제205단계 또는 제208단계의 설정에 따라 큐잉 및 스케줄러를 처리하고(제209단계), 출력처리부(150)는 QoS 제어부(140)의 처리 결과에 따라 패킷을 출력한다(제210단계). After
도 5는 플로우 레이블 처리부(134)에서 수행되는 4 튜플 해쉬 정보 수집 루틴(제300단계)을 상세하게 설명하기 위한 플로우 챠트이다. FIG. 5 is a flowchart for describing in detail a four-tuple hash information collection routine (step 300) performed by the flow label processing unit 134.
도 2 및 도 5를 참조하여, 플로우 레이블 처리부(134)는 먼저 도 2에 도시된 입력 패킷의 IPv6 헤드에서 송신지 IP 주소(460)와 수신지 IP 주소(470)를 확인한다(제301단계). 2 and 5, the flow label processing unit 134 first checks the
제301단계 후에, 플로우 레이블 처리부(134)는 20비트의 플로우레이블(500)을 해석하여 프로토콜 및 송신지나 수신지의 포트 정보 등, 해당 플로우를 세분화하여 분류하는데 이용되는 튜플 정보를 얻는다(제302단계). 구체적으로, 플로우레이블(500)에서 3비트의 프로토콜 필드(510)의 값에 따라 입력 패킷의 프로토콜 정보를 얻는다(제303단계). 제303단계 후에, 플로우레이블(500)에서 1비트의 SD필드(520)의 값에 따라 포트 필드(530)에 기록된 내용이 송신지(Source) 프로토콜 포트인지 또는 목적지(Destination) 프로토콜 포트인지를 구분한다(제304단계). 제304단계 후에, 포트 필드(530)로부터 프로토콜 포트의 값을 얻는다(제306단계). After
제306단계 후에, 제301단계 및 제302단계부터 얻어진 송신지 IP 주소, 수신지 IP 주소, 프로토콜 및 송신지 또는 수신지 포트 정보를 이용하여 4 튜플 값을 생성한다(제306단계).After
제306단계 후에, 제306단계에서 생성된 4 튜플 정보의 키(Key)값을 이용하여 해쉬 테이블의 인덱스를 생성한다(제307단계).After
이상에서 설명된 바와 같이, IPv6 단말기는 IPv6의 헤드에 플로우레이블에 프로토콜 및 송신지나 수신지의 포트 정보 등의 정보가 기록된 IPv6 패킷을 전송한다. 그러면, 전송 네트워크 장비는 송신지 IP 주소와 수신지 IP 주소 및 플로우레이블 값을 확인하며 플로우레이블에 포함된 정보를 바탕으로 프로토콜과 송신지 혹은 수신지 포트정보를 추출하고, 이를 이용하여 송신지 IP 주소, 수신지 IP 주소, 프로토콜, 송신지 혹은 수신지 포트정보로 만들어진 4 튜플 해쉬정보를 얻을 수 있다. 즉, 망의 라우터와 같은 장치에서 송신지나 목적지 프로토콜 및 포트 정보를 찾기 위하여 여러 헤드를 찾아다닐 필요 없이 플로우레이블을 분석함으로 쉽게 4 튜플 정보 기반의 해당 플로우로 분류하고, 차별화 서비스의 차별화 정도를 세밀하게 할 수 있다. 또한, 많은 플로우들을 빠르게 처리하기 위해 4튜플 정보를 얻는 과정을 하드웨어적인 해쉬기법을 이용하므로 4튜플 정보를 실시간으로 얻을 수 있다. As described above, the IPv6 terminal transmits an IPv6 packet in which information such as a protocol and information on a destination and a port of a destination are recorded in a flow label to an IPv6 head. Then, the transmitting network equipment checks the source IP address, the destination IP address, and the flow label value, extracts the protocol and the source or destination port information based on the information included in the flow label, and uses the source IP address. You can get four-tuple hash information that consists of address, destination IP address, protocol, source or destination port information. In other words, by analyzing the flow label without having to go to various heads to find the source or destination protocol and port information in a device such as a router of the network, it is easily classified into the corresponding flow based on 4 tuple information, and the level of differentiation of differentiation service is fine. It can be done. In addition, four-tuple information can be obtained in real time since the process of obtaining four-tuple information using a hardware hash technique is used to quickly process many flows.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플라피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The invention can also be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, which are also implemented in the form of a carrier wave (for example, transmission over the Internet). It also includes. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. And functional programs, codes and code segments for implementing the present invention can be easily inferred by programmers in the art to which the present invention belongs.
이상에서 본 발명의 바람직한 실시 예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 바람직한 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.Although the preferred embodiments of the present invention have been shown and described above, the present invention is not limited to the above-described specific preferred embodiments, and the present invention belongs to the present invention without departing from the gist of the present invention as claimed in the claims. Various modifications can be made by those skilled in the art, and such changes are within the scope of the claims.
상술한 바와 같이, 본 발명에 따른 IPv6 라우터에서 패킷 처리 장치 및 그 방법에 따르면, IPv6의 헤드에 플로우레이블에 프로토콜 및 송신지나 수신지의 포트 정보 등의 정보가 기록된 IPv6 패킷이 수신되면, 해당 IPv6 헤더로부터 송신지 IP 주소와 수신지 IP 주소 및 플로우레이블 값을 확인하며 플로우레이블에 포함된 정보를 바탕으로 프로토콜과 송신지 혹은 수신지 포트정보 추출하여 얻어지는 4 튜플 해쉬정보를 이용하여 플로우의 분류 및 품질 보장 정도를 세밀하게 처리할 수 있다. 또한, 망의 라우터와 같은 장치는 송신지나 목적지 프로토콜 및 포트 정보를 찾기 위하여 여러 헤드를 찾아다닐 필요 없이 플로우레이블을 분석함으로 쉽게 해당 정보를 얻을 수 있으며, 많은 플로우들을 빠르게 처리하기 위해 4튜플 정보를 얻는 과정을 하드웨어적인 해쉬기법을 이용하므로 4 튜플 정보를 실시간으로 얻을 수 있다.As described above, according to the packet processing apparatus and method in the IPv6 router according to the present invention, if an IPv6 packet in which information such as a protocol and information on a destination or a port of a destination is recorded in a flow label is received at an IPv6 head, Check the source IP address, the destination IP address and the flow label value from the IPv6 header, and classify the flow using the 4-tuple hash information obtained by extracting the protocol and the source or destination port information based on the information contained in the flow label. And the degree of quality assurance can be processed in detail. In addition, devices such as routers in the network can easily obtain the information by analyzing the flow label without having to go to various heads to find the source or destination protocol and port information. Since the process uses a hardware hash technique, four tuple information can be obtained in real time.
Claims (6)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20050121001 | 2005-12-09 | ||
KR1020050121001 | 2005-12-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070061126A true KR20070061126A (en) | 2007-06-13 |
KR100785776B1 KR100785776B1 (en) | 2007-12-18 |
Family
ID=38357062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060049564A KR100785776B1 (en) | 2005-12-09 | 2006-06-01 | Packet Processor in IP version 6 Router and Method Thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100785776B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100848803B1 (en) * | 2006-12-08 | 2008-07-28 | 한국전자통신연구원 | METHOD AND SYSTEM FOR QoS PROVIDE OF FLOW BASED IN IPv6 SERVICE NETWORK |
KR101068945B1 (en) * | 2008-12-22 | 2011-09-30 | 한국전자통신연구원 | Apparatus and method for analyzing network flows on multi-resolution windows |
CN102549659A (en) * | 2009-10-01 | 2012-07-04 | 高通股份有限公司 | Suppressing noise in an audio signal |
CN113518387A (en) * | 2020-04-10 | 2021-10-19 | 华为技术有限公司 | Wireless network communication method and communication equipment based on internet protocol version IPv6 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030018018A (en) * | 2003-01-03 | 2003-03-04 | 박헌재 | Packet Control System and Method |
JP2004297775A (en) | 2003-03-12 | 2004-10-21 | Matsushita Electric Ind Co Ltd | Packet repeating apparatus |
KR100601043B1 (en) * | 2003-11-13 | 2006-07-14 | 한국전자통신연구원 | Router for scheduling a packet and method therefor |
KR100608904B1 (en) * | 2003-12-18 | 2006-08-04 | 한국전자통신연구원 | System and method for providing quality of service in ip network |
-
2006
- 2006-06-01 KR KR1020060049564A patent/KR100785776B1/en not_active IP Right Cessation
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100848803B1 (en) * | 2006-12-08 | 2008-07-28 | 한국전자통신연구원 | METHOD AND SYSTEM FOR QoS PROVIDE OF FLOW BASED IN IPv6 SERVICE NETWORK |
KR101068945B1 (en) * | 2008-12-22 | 2011-09-30 | 한국전자통신연구원 | Apparatus and method for analyzing network flows on multi-resolution windows |
CN102549659A (en) * | 2009-10-01 | 2012-07-04 | 高通股份有限公司 | Suppressing noise in an audio signal |
US8571231B2 (en) | 2009-10-01 | 2013-10-29 | Qualcomm Incorporated | Suppressing noise in an audio signal |
CN113518387A (en) * | 2020-04-10 | 2021-10-19 | 华为技术有限公司 | Wireless network communication method and communication equipment based on internet protocol version IPv6 |
CN113518387B (en) * | 2020-04-10 | 2023-07-21 | 华为技术有限公司 | Wireless network communication method and communication equipment based on internet protocol version IPv6 |
Also Published As
Publication number | Publication date |
---|---|
KR100785776B1 (en) | 2007-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3896932B1 (en) | Message processing method and network device | |
KR100737525B1 (en) | Generation Method of IPv6 Flow Label | |
US7440409B2 (en) | Network traffic monitoring system and monitoring method | |
US7266121B2 (en) | Flow labels | |
US20180102970A1 (en) | Application wire | |
US9590910B1 (en) | Methods and apparatus for handling multicast packets in an audio video bridging (AVB) network | |
US7792101B1 (en) | Hardware TOS remapping based on source autonomous system identifier | |
EP1495591B1 (en) | Reducing transmission time for data packets controlled by a link layer protocol comprising a fragmenting/defragmenting capability | |
US20080192753A1 (en) | METHOD AND SYSTEM FOR PROVIDING QoS SERVICE | |
CN105393508B (en) | The method for controlling quality of service and equipment of software defined network | |
JP2023505139A (en) | TRANSMISSION QUALITY DETECTION METHOD, APPARATUS AND SYSTEM, AND STORAGE MEDIUM | |
US20020012348A1 (en) | Router device and priority control method for use in the same | |
US10523536B2 (en) | Length control for packet header sampling | |
KR100785776B1 (en) | Packet Processor in IP version 6 Router and Method Thereof | |
CN1973503A (en) | Flow processing | |
JP4340646B2 (en) | Communication processing circuit and communication processing method | |
JP3596478B2 (en) | Traffic classification device and traffic classification method | |
JP4500701B2 (en) | Packet transfer device | |
JP5970015B2 (en) | Packet relay device | |
US12021756B2 (en) | Multi-queue packet processing performed by an intermediate device in a communication network | |
JP4350713B2 (en) | Data transfer apparatus and data transfer method | |
JP3518483B2 (en) | Method and system for assigning traffic identification condition search sequence number and control recording medium | |
CN117061435A (en) | Data transmission method and related equipment thereof | |
Green et al. | Development of the On-board Aircraft Network | |
Chowdhury | IP and Policy Services |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20101201 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |