KR20070061126A - Packet processor in ip version 6 router and method thereof - Google Patents

Packet processor in ip version 6 router and method thereof Download PDF

Info

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
Application number
KR1020060049564A
Other languages
Korean (ko)
Other versions
KR100785776B1 (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 한국전자통신연구원
Publication of KR20070061126A publication Critical patent/KR20070061126A/en
Application granted granted Critical
Publication of KR100785776B1 publication Critical patent/KR100785776B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/659Internet 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

An apparatus and a method for processing a packet in an IPv6 router are provided to easily obtain protocol and port information of a source or a destination by analyzing a flow label without having to search several heads, and obtain 4-tuple information in real time by using a hardware-wise hash scheme. When a packet is received(201), an input processing unit verifies whether the received packet has an error or not(202). A flow label processing unit obtains a 4-tuple hash value from the received packet(203) and checks whether the obtained 4-tuple hash value exists in a 4-tuple hash table(204). If the 4-tuple hash value does not exist in the 4-tuple hash table, the flow label processing unit reads a QoS parameter, a policy table value and an FIB table value as service profile data from an FIB table and a QoS/policy information table(206). The flow label processing unit stores a new 4-tuple hash value and corresponding service profile data as a new entry in a hash table(207). A flow controller checks an output interface with reference to the read service profile data, and processes QoS by setting a queue and a scheduler(208). A QoS controller processes queuing and a scheduler according to the setting(209) and an output processing unit outputs a packet according to the processing result(210).

Description

IP 버전 6 라우터에서 패킷 처리 장치 및 그 방법 {Packet Processor in IP version 6 Router and Method Thereof} Packet processor in IP version 6 router and method thereof

도 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 IPv6 packet 4 for packet classification A flow control unit for processing the QoS of the IPv6 by setting a queue and a scheduler according to the extracted 4 tuple hash value, a QoS processing unit for processing the queuing and scheduling of the IPv6 according to the setting, and the queuing and It is preferable to include an output processor for outputting an IPv6 packet according to the scheduling process result.

상기 기술적 과제를 이루기 위해, 헤드 영역에 프로토콜 및 송신지 또는 수신지 포트 정보가 기록된 플로우 레이블 필드, 송신지 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 terminals 10 and 90 using an IPv6 addressing scheme includes aggregation of a plurality of IPv6 routers 30, 40, 50 and 70 and IPv6 terminals 10 and 90. Is connected to the IPv6 network 60 through the L2 equipment 20, 80. In the IPv6 network 60, three-layer processing is performed in a plurality of routers 30, 40, 50, and 70 that support IPv6. Data communication in the IPv6 network is the same as in the existing IPv4 network, but the address system is changed, so the processing of the part is wrong.

한편, 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 version information 410, 1 byte of traffic class 420, 20 bits of flow label 500, and data payload. Length 430, concatenated next head information 440, hop limit 450 indicating the hop count through which the current packet can flow, source IPv6 address field 460, destination IPv6 address field 470. In order to make the 20-bit flow label 500 in the IPv6 terminal, the 3-bit protocol field 510, the 1-bit SD field 520, and the 16-bit source or destination port field 530 are used. It is preferable to form separately. In this case, the 3-bit protocol field 510 records a value of 0 (ie, '000') 511 if it is not intended to be used, and 1 ('for UDP, which is currently used a lot. 001 ') (512), and the value of TCP as 2 (' 010 ') (513), and 3 (' 011 ') (514) for SCTP (Stream Control Protocol) In case of DCCP (datagram congestion control protocol), it is expressed as 4 ('100') (515), and it is expressed as 5 ('101') or 6 ('110') for other protocols. If a special control meaning is given, it is set to be expressed as 7 ('111') 516. Meaning of each protocol described above is merely an example and may be variously implemented. For example, the figure shows that 1 ('001') is written for UDP and 2 ('010') is written for TCP, but 2 ('010') is used for UDP and 1 ('010') is used for TCP. '001'). This record may also apply to other protocols. In addition, the SD field 520 is used to distinguish whether the content recorded in the port field 530 is a source protocol port or a destination protocol port, and 0 (521) for the source protocol field. In the case of the destination protocol field, a value of 1 522 may be recorded, and vice versa.

한편, 도 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 router controller 110 and a line interface packet processor 160.

도 3을 참조하여, 라우터 제어부(110)는 일반적으로 관리자와 연동을 하기 위한 관리부(111), 라우터로 동작하기 위한 라우팅 프로토콜 처리부(112), RSVP, MPLS 시그널링등을 처리하기 위한 시그널링 프로토콜 처리부(113), QoS 처리를 제어할 위한 QoS 제어 부(114), 그리고 전체적인 정책을 관리하기 위한 정책제어부(115)를 포함하여 구성된다. Referring to FIG. 3, the router controller 110 generally includes a management unit 111 for interworking with an administrator, a routing protocol processing unit 112 for operating as a router, a signaling protocol processing unit for processing RSVP, MPLS signaling, etc. 113), a QoS control unit 114 for controlling QoS processing, and a policy control unit 115 for managing the overall policy.

라인인터페이스 패킷 처리부(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 interface packet processor 160 classifies the packet from the input processor 120 for processing the input packet, the destination IP address, the source IP address, the protocol, and the source or destination port information from the head of the received IPv6 packet. Queue processing and scheduling according to the settings of the flow control unit 130 and the flow control unit 130 to process the QoS of the IPv6 by setting the queue and the scheduler according to the extracted 4-tuple hash value, and setting the queue and the scheduler according to the extracted 4-tuple hash value. QoS control unit 140, and an output processing unit 150 for processing the output packet. Specifically, the input processor 120 includes an L1 / L2 processor 121 for L1 / L2 line matching and an L3 IPv6 processor 122 for IPv6 routing. The flow control unit 130 stores a 4-tuple hash value consisting of a source IPv6 address, a destination IPv6 address, a protocol, and a source or destination port information, and a 4-tuple hash table 131 storing service profile data corresponding thereto. And a flow label processing unit for performing packet flow processing using the FIB table 132 storing information on an output interface, the QoS table 133 storing QoS information and policy information, and these tables 131, 132, 133. 134 is configured. The QoS controller 140 includes a queuing unit 141 and a scheduling unit 141 for transmitting a packet, and performs packet processing based on a required quality of service and a policy. The output processing unit 150 includes an L1 / L2 processing unit 151 for L1 / L2 line matching and a unit 152 for L3 header processing, and interoperates with neighboring routers through them.

도 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 input processor 120 verifies an error of the received packet (step 202).

제202단계 후에, 플로우 레이블 처리부(134)는 4 튜플 해쉬 값 추출 루틴(제300단계)을 수행하여 수신된 패킷으로부터 4 튜플 해쉬 값을 얻고(제203단계), 얻어진 4 튜플 해쉬 값이 4튜플 해쉬 테이블(131)에 존재하는가의 여부를 확인한다 (제204단계). 수신된 패킷의 헤더를 분석하여 4 튜플 해쉬 값을 수집하는 루틴(제300단계)에 대해서는 도 4를 참조하여 상세히 설명될 것이다. After step 202, the flow label processing unit 134 performs a 4-tuple hash value extraction routine (step 300) to obtain a 4-tuple hash value from the received packet (step 203), and the obtained 4-tuple hash value is 4-tuple. It is checked whether or not it exists in the hash table 131 (step 204). A routine (step 300) of analyzing the header of the received packet and collecting the 4-tuple hash value will be described in detail with reference to FIG.

제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 step 204, if the 4-tuple hash value obtained through the routine of step 300 exists in the 4-tuple hash table 131, the flow label processor 134 may process 4 to process the current input packet in the same manner as the existing service profile. With reference to the tuple hash table 131, service profile data for the corresponding 4-tuple hash value is read and mapped to a queue (step 205). Here, the 4-tuple hash value extracted in step 300 is in the 4-tuple hash table 131, and the packet has the same condition as that of the corresponding packet, and the service profile data is obtained from the 4-tuple hash table. Get the QoS parameters. On the other hand, if the 4-tuple hash value obtained from step 300 does not exist in the 4-tuple hash table 131, the flow label processing unit 134 may transmit the packet corresponding to the packet from the FIB table 132 and the QoS / policy information table 133. The QoS parameters, policy table values, and FIB table values are read as service profile data (step 206). After operation 206, the flow label processing unit 134 stores the new 4-tuple hash value obtained in operation 300 and service profile data thereof as a new entry in the hash table (operation 207). After operation 207, the service interface data read in operation 206 is checked to set an output interface and set to process QoS through setting of a queue and a scheduler (operation 208).

제205단계 또는 제208단계 후에, QoS 제어부(140)는 제205단계 또는 제208단계의 설정에 따라 큐잉 및 스케줄러를 처리하고(제209단계), 출력처리부(150)는 QoS 제어부(140)의 처리 결과에 따라 패킷을 출력한다(제210단계). After step 205 or step 208, the QoS control unit 140 processes the queuing and scheduler according to the setting of step 205 or step 208 (step 209), and the output processing unit 150 of the QoS control unit 140 The packet is output according to the processing result (step 210).

도 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 source IP address 460 and the destination IP address 470 in the IPv6 head of the input packet shown in FIG. 2 (operation 301). ).

제301단계 후에, 플로우 레이블 처리부(134)는 20비트의 플로우레이블(500)을 해석하여 프로토콜 및 송신지나 수신지의 포트 정보 등, 해당 플로우를 세분화하여 분류하는데 이용되는 튜플 정보를 얻는다(제302단계). 구체적으로, 플로우레이블(500)에서 3비트의 프로토콜 필드(510)의 값에 따라 입력 패킷의 프로토콜 정보를 얻는다(제303단계). 제303단계 후에, 플로우레이블(500)에서 1비트의 SD필드(520)의 값에 따라 포트 필드(530)에 기록된 내용이 송신지(Source) 프로토콜 포트인지 또는 목적지(Destination) 프로토콜 포트인지를 구분한다(제304단계). 제304단계 후에, 포트 필드(530)로부터 프로토콜 포트의 값을 얻는다(제306단계). After step 301, the flow label processing unit 134 analyzes the 20-bit flow label 500 to obtain tuple information used to subdivide and classify the flow, such as a protocol and port information of a transmission destination or a destination (302). step). Specifically, the flow label 500 obtains protocol information of the input packet according to the value of the 3-bit protocol field 510 (step 303). After operation 303, it is determined whether the content recorded in the port field 530 is a source protocol port or a destination protocol port in the flow label 500 according to the value of the 1-bit SD field 520. (Step 304). After step 304, a value of the protocol port is obtained from the port field 530 (step 306).

제306단계 후에, 제301단계 및 제302단계부터 얻어진 송신지 IP 주소, 수신지 IP 주소, 프로토콜 및 송신지 또는 수신지 포트 정보를 이용하여 4 튜플 값을 생성한다(제306단계).After step 306, a 4-tuple value is generated using the source IP address, the destination IP address, the protocol, and the source or destination port information obtained in steps 301 and 302 (step 306).

제306단계 후에, 제306단계에서 생성된 4 튜플 정보의 키(Key)값을 이용하여 해쉬 테이블의 인덱스를 생성한다(제307단계).After operation 306, an index of the hash table is generated using a key value of the 4-tuple information generated in operation 306 (step 307).

이상에서 설명된 바와 같이, 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)

헤드 영역에 프로토콜 및 송신지 또는 수신지 포트 정보가 기록된 플로우 레이블 필드, 송신지 IP 주소 및 수신지 IP 주소 정보를 포함하는 IPv6 패킷을 처리하는 IPv6 라우터에서 패킷 처리 장치에 있어서, A packet processing apparatus in an IPv6 router for processing an IPv6 packet including a flow label field in which a protocol and a source or a destination port information are recorded in a head area, a source IP address, and a destination IP address information, 상기 IPv6 패킷을 수신하는 입력처리부;An input processing unit to receive the IPv6 packet; 상기 수신된 IPv6 패킷의 헤드로부터 상기 수신지 IP 주소, 상기 송신지 IP 주소, 상기 프로토콜 및 상기 송신지 또는 수신지 포트 정보를 패킷 분류를 위한 4튜플 해쉬 값으로서 추출하고, 추출된 4 튜플 해쉬 값에 따라 큐와 스케줄러를 설정하여 상기 IPv6의 QoS를 처리하는 플로우 제어부;Extracts the destination IP address, the source IP address, the protocol and the source or destination port information from the head of the received IPv6 packet as a 4-tuple hash value for packet classification, and extracts the extracted 4-tuple hash value. A flow controller configured to process the QoS of the IPv6 by setting a queue and a scheduler according to the service; 상기 설정에 따라 상기 IPv6의 큐잉 및 스케줄링을 처리하는 QoS 처리부; 및 A QoS processing unit for processing the queuing and scheduling of the IPv6 according to the setting; And 상기 큐잉 및 스케줄링 처리 결과에 따라 IPv6 패킷을 출력하는 출력 처리부를 포함하는 것을 특징으로 하는 IPv6 라우터에서 패킷 처리 장치. And an output processing unit for outputting an IPv6 packet according to a result of the queuing and scheduling processing. 제1항에 있어서, 상기 플로우 레이블 처리부는 The flow label processing unit of claim 1, wherein the flow label processing unit 상기 송신지 IPv6 주소, 상기 수신지 IPv6 주소, 상기 프로토콜 및 상기 송신지 또는 수신지 포트 정보로 구성되는 4 튜플 헤쉬 값 및 대응하는 서비스 프로파일 데이터를 저장하고 있는 4 튜플 해쉬 테이블;A 4-tuple hash table storing a 4-tuple hash value consisting of the source IPv6 address, the destination IPv6 address, the protocol and the source or destination port information, and corresponding service profile data; 출력 인터페이스에 대한 정보를 저장하고 있는 FIB 테이블;An FIB table storing information about an output interface; QoS 정보와 정책정보를 저장하고 있는 QoS 테이블; 및 A QoS table storing QoS information and policy information; And 상기 4 튜플 해쉬 값이 상기 4 튜플 해쉬 테이블에 존재하면, 상기 대응하는 서비스 프로파일 데이터에 따라 큐잉 및 스케줄러를 설정하고, 상기 4 튜플 해쉬 값이 상기 4 튜플 해쉬 테이블에 존재하지 않으면 상기 FIB 테이블 및 상기 QoS 테이블을 참조하여 해당 패킷에 대한 서비스 프로파일 데이터를 얻고, 얻어진 서비스 프로파일 데이터에 따라 큐잉 및 스케줄러를 설정하는 플로우 레이블 처리부를 포함하는 것을 특징으로 하는 IPv6 라우터에서 패킷 처리 장치. If the 4-tuple hash value is present in the 4-tuple hash table, a queuing and scheduler is set according to the corresponding service profile data, and if the 4-tuple hash value is not present in the 4-tuple hash table, the FIB table and the And a flow label processing unit for obtaining service profile data for a corresponding packet by referring to a QoS table and setting a queuing and a scheduler according to the obtained service profile data. 제2항에 있어서, 상기 플로우 레이블 처리부는 The flow label processing unit of claim 2, wherein the flow label processing unit 상기 4 튜플 해쉬 값이 상기 4 튜플 해쉬 테이블에 존재하지 않으면 4 튜플 해쉬 값과 대응하는 서비스 프로파일 데이터를 상기 4 튜플 해쉬 테이블에 저장하는 것을 특징으로 하는 IPv6 라우터에서 패킷 처리 장치. And if the 4-tuple hash value does not exist in the 4-tuple hash table, storing the service profile data corresponding to the 4-tuple hash value in the 4-tuple hash table. 헤드 영역에 프로토콜 및 송신지 또는 수신지 포트 정보가 기록된 플로우 레이블 필드, 송신지 IP 주소 및 수신지 IP 주소 정보를 포함하는 IPv6 패킷을 처리하는 IPv6 패킷 처리 방법에 있어서, An IPv6 packet processing method for processing an IPv6 packet including a flow label field, a source IP address, and a destination IP address information in which a protocol and source or destination port information are recorded in a head area, (a)상기 IPv6 패킷을 수신하는 단계;(a) receiving the IPv6 packet; (b)수신된 IPv6 패킷으로부터 상기 프로토콜 정보, 상기 송신지 또는 수신지 포트 정보, 상기 송신지 IP 주소 정보 및 상기 수신지 IP 주소 정보를 4 튜플 해쉬 정보로서 수집하는 단계;(b) 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 four tuple hash information; (c)4튜플 해쉬 정보에 따라 큐 및 스케줄러 설정을 위한 서비스 프로파일 데 이터를 저장하고 있는 4튜플 해쉬 테이블을 참조하여 상기 수집된 4 튜플 해쉬 정보에 대응하는 서비스 프로파일 데이터에 따라 큐와 스케줄러를 설정하여 상기 IPv6 패킷의 큐잉 및 스케줄링을 처리하는 단계; 및 (c) referring to the 4-tuple hash table storing service profile data for setting queues and schedulers according to 4-tuple hash information, and setting the queue and scheduler according to the service profile data corresponding to the collected 4-tuple hash information. Processing queuing and scheduling of the IPv6 packet by doing so; And (d)큐잉 및 스케줄링 처리 결과에 따라 IPv6 패킷을 출력하는 단계를 포함하는 것을 특징으로 하는 IPv6 패킷 처리 방법.(d) outputting an IPv6 packet according to the result of the queuing and scheduling process. 제4항에 있어서, The method of claim 4, wherein (c1)상기 4 튜플 해쉬 값이 상기 4 튜플 해쉬 테이블에 존재하지 않으면 출력 인터페이스에 대한 정보를 저장하고 있는 FIB 테이블 및 QoS 정보와 정책정보를 저장하고 있는 QoS 테이블을 참조하여 해당 패킷에 대한 출력 인터페이스, QoS 정보 및 정책 정보를 서비스 프로파일 데이터로서 얻는 단계;(c1) If the 4-tuple hash value does not exist in the 4-tuple hash table, an output interface for the packet is referred to by referring to an FIB table storing information on an output interface and a QoS table storing QoS information and policy information. Obtaining QoS information and policy information as service profile data; (c2)상기 (c1)단계의 4튜플 해쉬 값과 이에 대한 서비스 프로파일 데이터를 상기 4 튜플 해쉬 테이블에 신규로 저장하는 단계; 및 (c2) newly storing the 4-tuple hash value of the step (c1) and service profile data thereof in the 4-tuple hash table; And (c3)얻어진 서비스 프로파일 데이터에 따라 큐 및 스케줄러를 설정하여 상기 IPv6 패킷의 큐잉 및 스케줄링을 처리하는 단계를 더 포함하는 것을 특징으로 하는 IPv6 패킷 처리 방법.(c3) processing the queuing and scheduling of the IPv6 packet by setting a queue and a scheduler according to the obtained service profile data. 제4항에 있어서, 상기 (b)단계는 The method of claim 4, wherein step (b) (b1)상기 수신된 IPv6 패킷의 헤드에서 송신지 IP 주소 정보와 수신지 IP 주소 정보를 얻는 단계;(b1) obtaining source IP address information and destination IP address information at the head of the received IPv6 packet; (b2)상기 플로우 레이블 필드를 해석하여 상기 프로토콜 정보 및 상기 송신지나 수신지의 포트 정보를 얻는 단계; (b2) analyzing the flow label field to obtain the protocol information and port information of the source or destination; (b3)상기 (b1)단계 및 상기 (b2)단계에서 얻어진 송신지 IP 주소 정보, 수신지 IP 주소 정보, 프로토콜 정보 및 송신지 또는 수신지 포트 정보를 이용하여 4 튜플 정보를 생성하는 단계; 및(b3) generating 4-tuple information using source IP address information, destination IP address information, protocol information, and source or destination port information obtained in steps (b1) and (b2); And (b4)상기 4 튜플 정보의 키(Key)값을 이용하여 상기 4 튜플 해쉬 테이블의 인덱스인 상기 4 튜플 해쉬 값을 생성하는 단계를 포함하는 것을 특징으로 하는 IPv6 패킷 처리 방법. (b4) generating the 4-tuple hash value that is an index of the 4-tuple hash table by using a key value of the 4-tuple information.
KR1020060049564A 2005-12-09 2006-06-01 Packet Processor in IP version 6 Router and Method Thereof KR100785776B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020050121001 2005-12-09
KR20050121001 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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (6)

* Cited by examiner, † Cited by third party
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
US7792101B1 (en) Hardware TOS remapping based on source autonomous system identifier
US9590910B1 (en) Methods and apparatus for handling multicast packets in an audio video bridging (AVB) network
EP1495591B1 (en) Reducing transmission time for data packets controlled by a link layer protocol comprising a fragmenting/defragmenting capability
EP1924028A1 (en) Method and system for providing qos service
CN110708248B (en) Service quality control method and equipment for 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
EP3369212B1 (en) Length control for packet header sampling
US20080192740A1 (en) Processing Realtime Media Streams
KR100785776B1 (en) Packet Processor in IP version 6 Router and Method Thereof
CN1973503A (en) Flow processing
US7061919B1 (en) System and method for providing multiple classes of service in a packet switched network
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
CN110830373A (en) Method and device for realizing QOS service quality differentiation of service in SDN 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
JP2004015504A (en) Apparatus, method, and program for packet transmission

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