KR100666948B1 - Apparatus and method for processing ipv6 packet - Google Patents
Apparatus and method for processing ipv6 packet Download PDFInfo
- Publication number
- KR100666948B1 KR100666948B1 KR1020050009708A KR20050009708A KR100666948B1 KR 100666948 B1 KR100666948 B1 KR 100666948B1 KR 1020050009708 A KR1020050009708 A KR 1020050009708A KR 20050009708 A KR20050009708 A KR 20050009708A KR 100666948 B1 KR100666948 B1 KR 100666948B1
- Authority
- KR
- South Korea
- Prior art keywords
- header
- packet
- ipv6
- extension
- ipv6 packet
- Prior art date
Links
Images
Classifications
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- 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
-
- 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/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
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
본 발명은 IPv6 패킷의 처리를 위한 것으로, 패킷 필터링 또는 QoS 기능을 위해 요구되는 정보들을 포함하는 확장 헤더를 생성하여 IPv6 기본 헤더의 바로 뒤에 부가함으로써, 번거로운 정보 검색 과정 없이 패킷 처리를 위해 요구되는 정보를 용이하게 검색할 수 있도록 하는 IPv6 패킷 처리 장치 및 방법에 관한 것이다.The present invention is for processing an IPv6 packet, and generates an extension header including information required for packet filtering or QoS function, and adds it immediately after the IPv6 basic header, thereby providing information required for packet processing without cumbersome information retrieval process. The present invention relates to an IPv6 packet processing apparatus and a method for easily searching.
IPv6(Internet Protocol version 6), 패킷 처리, 포워딩(forwarding), 확장 헤더, classification headerInternet Protocol version 6 (IPv6), packet processing, forwarding, extension headers, classification header
Description
도 1은 일반적인 IPv6(Internet Protocol Version 6) 패킷의 헤더 포맷을 도시하는 도면.1 is a diagram illustrating a header format of a general Internet Protocol Version 6 (IPv6) packet.
도 2는 일반적인 IPv6 패킷의 확장(extension) 헤더들 중 라우팅 확장 헤더의 포맷을 도시하는 도면.2 illustrates the format of a routing extension header among extension headers of a typical IPv6 packet.
도 3은 패킷의 식별을 위한 넥스트 헤더 사용예를 도시하는 도면.3 illustrates an example of using a next header for identification of a packet.
도 4는 송신자가 송신하고자 하는 원래 패킷의 포맷을 도시하는 도면.4 illustrates the format of an original packet that a sender intends to transmit.
도 5는 그 크기가 MTU(Maximum Transmission Unit)보다 큰, 도 4에 도시된 형태의 원래 패킷을 MTU 단위로 분할한 분할 패킷들의 포맷을 도시하는 도면.FIG. 5 is a diagram illustrating a format of divided packets in which an original packet of the type shown in FIG. 4 is divided into MTU units, the size of which is larger than a maximum transmission unit (MTU). FIG.
도 6은 classification 확장 헤더의 기본 포맷을 도시하는 도면.6 illustrates a basic format of a classification extension header.
도 7은 TCP(Transmission Control Protocol)를 위한 classification 확장 헤더의 포맷을 도시하는 도면.FIG. 7 illustrates the format of a classification extension header for Transmission Control Protocol (TCP). FIG.
도 8은 UDP(User Datagram Protocol)를 위한 classification 확장 헤더의 포맷을 도시하는 도면.8 illustrates the format of a classification extension header for UDP (User Datagram Protocol).
도 9는 ICMP(Internet Control Message Protocol)를 위한 classification 확 장 헤더의 포맷을 도시하는 도면.9 illustrates the format of a classification extension header for the ICMP (Internet Control Message Protocol).
도 10a는 본 발명에 따른 변형이 이루어지기 전의 패킷 포맷을 도시하는 도면.10A illustrates a packet format before modifications have been made in accordance with the present invention.
도 10b는 본 발명에 따른 클래시피케이션 확장 헤더(1000)의 생성 및 생성된 클래시피케이션 확장 헤더의 부가 과정을 도시하는 도면.FIG. 10B is a diagram illustrating the creation of the
도 10c는 본 발명에 따른, 클래시피케이션 확장 헤더를 포함하는 패킷 포맷을 도시하는 도면.FIG. 10C illustrates a packet format that includes a legacy extension header, in accordance with the present invention. FIG.
도 11은 본 발명에 따른 네트워크 구성요소가 수신할 수 있는, 클래시피케이션 확장 헤더를 포함하는 패킷의 포맷을 도시하는 도면.FIG. 11 illustrates the format of a packet including a legacy header extension that may be received by a network component in accordance with the present invention. FIG.
본 발명은 네트워크 구성요소에서의 IPv6 패킷 처리를 수행하는 IPv6(Internet Protocol version 6) 패킷 처리 장치 및 방법에 관한 것으로, 특히 IPv6 패킷의 처리를 위해 요구되는 정보의 검색을 용이하게 하는 IPv6 패킷 처리 장치 및 방법에 관한 것이다.The present invention relates to an IPv6 packet processing apparatus and method for performing IPv6 packet processing in a network component, and more particularly, to an IPv6 packet processing apparatus for facilitating retrieval of information required for processing an IPv6 packet. And to a method.
IPv6 패킷을 처리하는 네트워크 구성요소들 중 특히 피킷 필터링이나 QoS(Quality of Service) 기능을 수행하는 네트워크 구성요소들(예를 들어, 라우터, 방화벽 등)은, 일반적으로 패킷의 처리를 위해 수신한 패킷의 각 프로토콜 헤 더에서 다음과 같은 정보들을 검색하게 된다.Network components that process IPv6 packets, particularly those that perform picket filtering or quality of service (QoS) functions (for example, routers, firewalls, etc.), typically receive packets received for processing packets. The following information is retrieved from each protocol header of.
IPv6 기본 헤더에서는 소스 어드레스(Source IPv6 address), 목적지 어드레스(Destination IPv6 address), 트래픽 등급(Traffic Class) 및 흐름 라벨(Flow Label) 정보가 검색된다. ICMP(Internet Control Message Protocol) 헤더에서는 ICMP 타입 값이 검색된다. TCP/UDP(Transmission Control Protocol/User Datagram Protocol) 헤더에서는 소스 포트(Source port) 값, 목적지 포트(Destination port) 값 및 TCP 제어 비트(TCP Control Bits) 값이 검색된다. 마지막으로, 해당 패킷이 분할된 패킷인지의 여부를 확인하기 위해 분할 확장 헤더(fragment extension header)의 존재 여부가 검색된다.In the IPv6 basic header, a source IPv6 address, a destination IPv6 address, a traffic class, and a flow label information are retrieved. ICMP (Internet Control Message Protocol) headers retrieve ICMP type values. In the TCP / UDP header, a source port value, a destination port value, and a TCP control bit value are retrieved. Finally, the presence or absence of a fragment extension header is searched to determine whether the packet is a fragmented packet.
이러한 정보들의 검색에 대해 설명하기 위해 먼저 IPv6 패킷의 헤더의 구성에 대해 설명하도록 한다. 하기에서 기술하는 IPv6 헤더의 포맷은 RFC 2460에 정의되어 있다.In order to describe the retrieval of such information, the configuration of the header of the IPv6 packet will first be described. The format of the IPv6 header described below is defined in RFC 2460.
도 1은 일반적인 IPv6(Internet Protocol Version 6) 패킷의 기본 헤더 포맷을 도시하는 도면이다.1 is a diagram illustrating a basic header format of a general Internet Protocol Version 6 (IPv6) packet.
도 1에 도시된 바와 같이, IPv6 패킷의 헤더(100)는 버전(version) 필드(102), 트래픽 분류(traffic class) 필드(104), 흐름 라벨(Flow Label) 필드(106), 페이로드 길이(payload length) 필드(108), 넥스트 헤더(Next Header) 필드(110), 홉 리미트(Hop Limit) 필드(112), 소스 어드레스(source address) 필드(114) 및 목적지 어드레스(destination address) 필드(116)를 포함하도록 구성될 수 있다. 이들 필드들에 대해 상세히 설명하면 다음과 같다.As shown in FIG. 1, the
버전 필드(102)는 해당 패킷의 프로토콜 버전을 나타낸다. IPv6의 경우 버전필드(102)는 "6"을 나타낸다. 트래픽 분류 필드(104) 및 흐름 라벨 필드(106)는 모두 QoS를 제공하기 위한 필드들이다. 트래픽 분류 필드(104)는 상위 계층(upper layer)에서 설정하거나 읽을 수 있다는 점 때문에 TCP(Transmission Control Protocol), UDP(User Datagram Protocol) 등의 상위 계층의 어플리케이션 QoS를 IP 계층이 하위의 전송 계층에게 요구하는 경우에 사용될 수 있다. 흐름 라벨 필드(106)는 트래픽 분류 필드(104)의 값을 받아서 이를 송신자로부터 수신자까지의 모든 라우터들에서 만족하기 위해 지정하는 것이다. 물론, RSVP(ReSerVation Protocol) 등이 미리 모든 라우터를 훑으면서 흐름 라벨을 설정해야 한다. 즉, 흐름 라벨이 일단 설정된다는 것은 소정의 QoS를 만족하는 가상 경로가 만들어졌다는 의미가 된다.The
페이로드 길이 필드(108)는 IPv6 헤더, 즉 IPv6 기본 헤더 뒤에 따라오는 모든 페이로드의 바이트 수를 의미한다. 여기서 주의할 점은, 목적지 어드레스 필드(116) 이후에 부가될 수도 있는 옵션(option) 필드 또는 확장(extension) 필드 값 역시 페이로드로 간주된다는 점이다. 즉, 여기서는 IPv6 헤더를 제외한 모든 헤더들과 데이터가 페이로드가 된다.The
넥스트 헤더 필드(110)는 목적지 어드레스 필드(116) 뒤에 따라오는 옵션 헤더의 타입을 결정한다. 예를 들어, 넥스트 헤더 필드(110)의 값이 "0"이면, IPv6 헤더 뒤에는 Hop-by-Hop 옵션 확장 헤더가 따라오게 되며, "1"은 뒤에 오는 헤더가 ICMP(Internet Control Message Protocol) 확장 헤더임을 알리는 넥스트 헤더 필드 의 값이고, "6"은 뒤에 오는 헤더가 TCP(Transmission Control Protocol) 헤더임을 알리는 넥스트 헤더 필드의 값이다. 넥스트 헤더 필드(110)가 표시하는, 다음에 올 헤더들의 타입들은 다음의 표 1과 같이 정리할 수 있다.The
홉 리미트 필드(112)는 라우터를 하나 거칠 때마다 1씩 줄어드는 값으로, IPv4의 TTL(Time To Live) 값과 유사하다. 홉 리미트 필드(112)의 값이 0이 되면 해당 라우터에서 "ICMP Time Exceeded" 메시지가 발생하게 된다.The
소스 어드레스 필드(114) 및 목적지 어드레스 필드(116)는 해당 패킷의 소스 어드레스와 목적지 어드레스를 나타낸다.The
이상의, 도 1에 도시된 IPv6 헤더를 특히 "IPv6 기본 헤더"라 하며, 기본 헤더 다음에 확장 헤더들이 부가될 수 있다. 하기에서는 첨부한 도면을 참조하여 확장 헤더에 대해 설명하도록 한다.Above, the IPv6 header shown in FIG. 1 is specifically referred to as an "IPv6 basic header", and extension headers may be added after the basic header. Hereinafter, an extension header will be described with reference to the accompanying drawings.
도 2는 IPv6 라우팅 확장 헤더의 포맷을 보이는 도면이다.2 is a diagram illustrating a format of an IPv6 routing extension header.
도 2에 도시된 바와 같이 IPv6 라우팅 확장 헤더(200)는 넥스트 헤더 필드(202), 헤더 길이 필드(204), 라우팅 타입 필드(206), 세그먼트 레프트 필드(208) 및 타입에 따른 특정 데이터 필드(210)를 포함하도록 구성될 수 있다. 다른 확장 헤더들 역시 도 2에 도시된 포맷과 유사한 포맷으로 구성될 수 있는데, 라우팅 타입 필드(206) 및 타입에 따른 특정 데이터 필드(210)가 해당하는 프로토콜에 따라 다르게 구성된다. 상기 각각의 필드들에 대한 설명은 생략하도록 한다.As illustrated in FIG. 2, the IPv6
현재 IPv6 기본 헤더 뒤에 위치할 수 있는 확장 헤더들로는 홉-바이-홉 옵션(Hop-by-Hop Options) 헤더, 라우팅 헤더(Routing) 헤더, 분할(Fragment) 헤더, 목적지 옵션(Destination Options) 헤더, 인증(Authentication) 헤더, 인캡슐레이션 시큐리티 페이로드(Encapsulating Security Payload) 헤더 등이 있으며, IPv6 기본 헤더 뒤에 추가될 수 있는 확장 헤더의 개수에는 특별한 제약이 없다. 이들 확장 헤더들은 자신의 바로 뒤에 위치하는 확장 헤더나 기타 다른 프로토콜 헤더의 타입을 나타내기 위해 공통적으로 헤더의 처음 8비트를 넥스트 헤더 필드로 사용하고 있다.Extended headers that can be located after the current IPv6 default header include the Hop-by-Hop Options header, the Routing header, the Fragment header, the Destination Options header, and the Authentication. (Authentication) header, Encapsulating Security Payload header, etc. There are no special restrictions on the number of extension headers that can be added after the IPv6 basic header. These extension headers commonly use the first 8 bits of the header as the next header field to indicate the type of extension header or other protocol header immediately following it.
그런데, 패킷(IPv6 패킷, 이하 "패킷"이라 칭하기로 한다)에 여러 개의 확장 헤더가 포함되는 경우, 상기 패킷을 전송하는 네트워크 구성요소들은 해당 패킷의 처리를 위해 각 헤더들의 넥스트 헤더 필드들을 순차적으로 확인하여 원하는 헤더를 찾아야 한다. 이를 첨부한 도 3을 참조하여 설명하면 다음과 같다.However, when a packet (IPv6 packet, hereinafter referred to as a "packet") includes a plurality of extension headers, network components transmitting the packet sequentially process the next header fields of the headers for processing the packet. You should check and find the header you want. This will be described with reference to FIG. 3.
도 3은 패킷의 식별을 위한 넥스트 헤더 사용예를 도시하는 도면이다.3 is a diagram illustrating an example of using a next header for packet identification.
네트워크 구성요소는, 도 3에 도시된 구성을 가지는 패킷을 수신하는 경우, TCP 헤더(306) 내의 정보를 검색하기 위해서는 IPv6 기본 헤더(100), 홉-바이-홉 옵션 A 헤더(300), 홉-바이-홉 옵션 B 헤더(302), 라우팅 A 헤더(304)의 넥스트 헤더 필드를 순차적으로 검색하여야 한다. 이와 같은 종래기술에 따른 헤더 정보 검색은, 직접적으로 필요하지 않은 헤더들까지 검색해야 하므로 패킷 처리의 효율성을 저하시키게 된다.When the network component receives a packet having the configuration shown in FIG. 3, the network component may retrieve the IPv6
한편, 생성된 패킷의 길이가 목적지까지 거쳐 가야될 링크들의 최소 MTU 값보다 큰 경우, 상기 패킷을 송신하는 호스트 시스템은 상기 패킷을 최소 MTU 값보다 작은 크기로 분할(fragmentation)해서 전송하게 되는데, 이러한 패킷의 분할 시에 각 패킷에 포함된 확장 헤더들은 더 큰 문제가 될 수 있다. 분할로 인한 문제를 설명하기에 앞서, 먼저 패킷의 분할에 대해 설명하기로 한다.On the other hand, if the length of the generated packet is larger than the minimum MTU value of the links to be passed to the destination, the host system that transmits the packet is transmitted by fragmenting the packet to a size smaller than the minimum MTU value. When splitting a packet, extension headers included in each packet may be a bigger problem. Prior to describing the problem due to the division, the division of the packet will be described first.
도 4는 송신자가 송신하고자 하는 원래 패킷의 포맷을 도시하는 도면이다.4 is a diagram illustrating a format of an original packet to be transmitted by a sender.
도 4에 도시된 바와 같이, 분할 시에 패킷은 분할 불가능한 부분(400)과 분할 가능한 부분(410으로 고려될 수 있다. 분할 불가능한 부분(400)은 네트워크 시스템들을 통한 패킷의 전송 시에 필수적인 부분이고, 분할 가능한 부분(410)은 송신자 또는 수신자에서만 고려되는 부분이다. 패킷에서 분할 불가능한 부분(400)의 예로는 기본 헤더(100) 및 확장 헤더(200)를 들 수 있고, 분할 가능한 부분(410)의 예로는 TCP 헤더(400) 및 데이터(412)를 들 수 있다. 패킷의 분할을 첨부한 도면을 참조하여 설명하도록 한다. 하기에서는 분할 전의 패킷을 "원래 패킷"이라고 칭하고, 분할 후의 패킷을 "분할된 패킷"이라고 칭하기로 한다.As shown in Fig. 4, the packet may be considered as the
도 5는 그 크기가 MTU(Maximum Transmission Unit)보다 큰, 도 4에 도시된 형태의 원래 패킷을 MTU 단위로 분할한 분할 패킷들의 포맷을 도시하는 도면이다.FIG. 5 is a diagram illustrating a format of divided packets in which an original packet of the type shown in FIG. 4 is divided into MTU units, the size of which is larger than a maximum transmission unit (MTU).
분할 불가능한 부분(400)은 모든 분할된 패킷에 포함되어야 한다. 도 5에서는 IPv6 기본 헤더(100)와 라우팅 헤더(200)가 분할 불가능한 부분(400)이다. 또한, 분할된 패킷은 분할 정보를 포함하는 분할 헤더(fragment header)(500)를 포함하여야 한다. 분할 헤더는 해당 분할된 패킷의 원래 패킷이 어떤 패킷인지, 분할된 패킷이 원래 패킷에서 몇 번째 부분에 해당하는지 등의 정보를 포함할 수 있다.The
이와 같은 패킷의 분할 시에 확장헤더들로 인해 발생하는 문제점에 대해 기술하면 다음과 같다. 예를 들어, TCP 헤더(400)는 분할 가능한 부분(410)에 포함된다. TCP 헤더(400)는 첫 번째의 분할된 패킷에만 포함되고 그 이후의 분할된 패킷에는 포함되지 않는다. 따라서, 네트워크 구성요소는 분할된 패킷의 처리를 위해 두 가지 규칙을 적용하거나, 첫 번째 분할된 패킷으로부터 획득한 정보를 내부적으로 저장하였다가 다른 분할된 패킷들에 적용하는 방법을 사용하여 패킷을 처리하고 있다. 그러나 두 가지 규칙을 적용하는 방법은 규칙을 잘못된 패킷에 적용할 수 있다는 문제점이 발생할 수 있고, 획득한 정보를 내부적으로 저장하는 방법은 헤더 정보들을 내부적으로 항상 관리하고 있어야 하며 분할된 패킷을 일일이 저장 된 정보들과 비교함으로써 성능의 저하를 유발할 수 있게 된다.The problem caused by the extension headers when the packet is split is described as follows. For example,
따라서 본 발명의 목적은 네트워크 구성요소가 IPv6 패킷을 처리하기 위해 요구되는 정보들을 IPv6 패킷으로부터 용이하게 검색할 수 있도록 하는 IPv6 패킷 처리 장치 및 방법을 제공함에 있다.Accordingly, an object of the present invention is to provide an apparatus and method for processing an IPv6 packet, which enables a network component to easily retrieve information required for processing an IPv6 packet from an IPv6 packet.
본 발명의 다른 목적은 네트워크 구성요소가 분할된 IPv6 패킷을 처리하기 위해 요구되는 정보를 용이하게 검색할 수 있도록 하는 IPv6 패킷 처리 장치 및 방법을 제공함에 있다.Another object of the present invention is to provide an apparatus and method for processing an IPv6 packet to enable a network component to easily retrieve information required for processing a divided IPv6 packet.
이와 같은 목적들을 달성하기 위해 본 발명은; IPv6 패킷 처리 장치에 있어서, 전송할 IPv6 패킷을 생성하는 패킷 생성부와, 기본 헤더 및 확장 헤더들 뒤에 위치하며, IPv6 패킷의 처리를 위해 요구되는 정보를 포함하는 프로토콜 필드를 포함하는 클래시피케이션 확장 헤더를 생성하는 헤더 생성부와, 상기 생성된 클래시피케이션 확장 헤더를 상기 IPv6 패킷의 기본 헤더의 바로 뒤에 포함시켜 전송하는 패킷 전송부를 포함함을 특징으로 하는 IPv6 패킷 처리 장치를 제안한다.The present invention to achieve these objects; 1. An IPv6 packet processing apparatus, comprising: a packet generation unit for generating an IPv6 packet to be transmitted, and a protocol extension header including a protocol field located after a basic header and extension headers and including information required for processing an IPv6 packet And a packet transmission unit for generating a header generation unit for generating a packet and a packet transmission unit including the generated legacy header extension header immediately after the basic header of the IPv6 packet.
또 본 발명은; IPv6 패킷 처리 장치에 있어서, 수신한 IPv6 패킷이 클래시피케이션 확장 헤더를 포함하는 패킷이면 상기 클래시피케이션 확장 헤더에 포함된 정보를 검색하는 정보 검색부와, 상기 정보 검색부가 검색한 정보를 사용하여 상기 수신한 패킷을 처리하는 패킷 처리부를 포함함을 특징으로 하는 IPv6 패킷 처리 장치를 제안한다. In addition, the present invention; An IPv6 packet processing apparatus, comprising: an information retrieval unit for retrieving information included in the expansion extension header if the received IPv6 packet is a packet including a extension header, and the information retrieved by the information retrieval unit; An IPv6 packet processing apparatus comprising a packet processing unit for processing the received packet is proposed.
또 본 발명은; IPv6 패킷 처리 방법에 있어서, 전송할 IPv6 패킷을 생성하는 제 1 과정과, 상기 IPv6 패킷의 처리를 위해 요구되는 정보를 포함하는 클래시피케이션 확장 헤더를 생성하는 제 2 과정과, 상기 생성된 클래시피케이션 확장 헤더를 상기 IPv6 패킷의 기본 헤더의 바로 뒤에 포함시켜 전송하는 제 3 과정을 포함함을 특징으로 하는 IPv6 패킷 전송 방법을 제안한다.In addition, the present invention; An IPv6 packet processing method, comprising: a first step of generating an IPv6 packet to be transmitted, a second step of generating a extension header including information required for processing the IPv6 packet, and the generated procedure The present invention proposes an IPv6 packet transmission method comprising a third process of including an extension header immediately after the basic header of the IPv6 packet.
또 본 발명은; IPv6 패킷 처리 방법에 있어서, IPv6 패킷을 수신하는 제 1 과정과, 상기 수신한 IPv6 패킷이 클래시피케이션 확장 헤더를 포함하는 패킷인지 판단하고, 상기 수신한 패킷이 클래시피케이션 확장 헤더를 포함하는 패킷이면 상기 클래시피케이션 확장 헤더에 포함된 정보를 검색하는 제 2 과정과, 상기 클래시피케이션 확장 헤더로부터 검색한 정보를 사용하여 상기 수신한 패킷을 처리하는 제 3 과정을 포함함을 특징으로 하는 IPv6 패킷 처리 방법을 제안한다.
In another aspect, the present invention; An IPv6 packet processing method, comprising: a first process of receiving an IPv6 packet, determining whether the received IPv6 packet is a packet including a legacy header extension, and receiving the packet, wherein the received packet includes a legacy header extension And a second step of searching for information included in the extension header and a third step of processing the received packet using information retrieved from the extension header. We propose a packet processing method.
이하 본 발명의 바람직한 실시예들을 첨부된 도면의 참조와 함께 상세히 설명한다. 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In describing the present invention, if it is determined that the detailed description of the related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.
이하 기술하는 본 발명은 패킷의 처리를 위해 요구되는 정보를 포함하는 새로운 헤더를 IPv6 기본 헤더의 바로 뒤에 추가함을 특징으로 한다. 하기에서는 본 발명을 위해 사용되는 헤더, 상기 헤더를 포함하는 IPv6 패킷을 송신자로부터 수신 자까지 전송하기 위한 전송 장치 및 그 전송방법에 대해 기술하도록 한다. 상기 헤더를 포함하는 IPv6 패킷의 전송에는 상기 헤더의 생성 및 상기 헤더를 사용한 정보의 추출이 적어도 포함된다.The present invention described below is characterized by adding a new header including information required for processing the packet immediately after the IPv6 basic header. Hereinafter, a header used for the present invention, a transmission apparatus for transmitting an IPv6 packet including the header from a sender to a receiver, and a transmission method thereof will be described. Transmission of the IPv6 packet including the header includes at least the generation of the header and the extraction of information using the header.
먼저 본 발명을 위해 사용되는 새로운 헤더(이하 "클래시피케이션 확장 헤더(Classification extension header)"라 칭하기로 한다)에 대해 기술하도록 한다.First, a new header (hereinafter referred to as "classification extension header") used for the present invention will be described.
도 6은 클래시피케이션 확장 헤더의 기본 포맷을 도시하는 도면이다.6 is a diagram illustrating a basic format of a collision extension header.
도 6에 도시된 바와 같이, 본 발명에 따른 클래시피케이션 확장 헤더는, RFC2460에 정의된 확장 헤더의 포맷을 응용한 포맷을 가질 수 있다.As shown in FIG. 6, the collision extension header according to the present invention may have a format in which the format of the extension header defined in RFC2460 is applied.
하기의 표 2는 도 6에 도시된 각 필드들에 대해 설명하고 있다.Table 2 below describes each field shown in FIG. 6.
상기 클래시피케이션 확장 헤더는 IPv6 기본 헤더의 바로 뒤에 위치하여야 한다.The collision extension header should be located immediately after the IPv6 basic header.
도 6에 도시된 기본 형태의 클래시피케이션 확장 헤더를 참조하여 몇 가지 실시예에 따른 클래시피케이션 확장 형태의 포맷을 설명하면 다음과 같다.Referring to the expansion extension header of the basic form shown in Figure 6 will be described in the format of the expansion extension according to some embodiments as follows.
도 7은 TCP를 위한 클래시피케이션 확장 헤더의 포맷을 도시하는 도면이다.FIG. 7 is a diagram illustrating a format of a collision extension header for TCP.
하기의 표 3은 도 7에 도시된, 프로토콜 값이 6인 경우, 즉 TCP 프로토콜을 위한 클래시피케이션 확장 헤더의 각 필드들에 대해 설명하고 있다.Table 3 below describes each field of the protocol extension header shown in FIG. 7 when the protocol value is 6, that is, for the TCP protocol.
도 8은 UDP를 위한 클래시피케이션 확장 헤더의 포맷을 도시하는 도면이다.8 is a diagram illustrating a format of a legacy extension header for UDP.
하기의 표 4는 도 8에 도시된, 프로토콜 값이 17인 경우, 즉 UDP 프로토콜을 위한 클래시피케이션 확장 헤더의 각 필드들에 대해 설명하고 있다.Table 4 below describes each field of the protocol extension header when the protocol value is 17, that is, shown in FIG. 8, that is, for the UDP protocol.
도 9는 ICMP를 위한 클래시피케이션 확장 헤더의 포맷을 도시하는 도면이다.9 is a diagram illustrating the format of a legacy extension header for ICMP.
하기의 표 5는 도 9에 도시된, 프로토콜 값이 1인 경우, 즉 ICMP 프로토콜을 위한 클래시피케이션 확장 헤더의 각 필드들에 대해 설명하고 있다.Table 5 below describes each field of the protocol extension header when the protocol value is 1, that is, shown in FIG. 9, that is, for the ICMP protocol.
다음으로 본 발명에 따른, 전술한 클래시피케이션 확장 헤더를 사용한 패킷 처리에 대해 설명하도록 한다. 본 발명에 따른 패킷 처리는 네트워크 구성요소의 종류에 따라 4가지로 구분되어 설명될 수 있다. 본 발명에 따른 네트워크 구성요소의 종류 구분은 송신자, 패킷 필터링 또는 QoS를 수행하는 네트워크 구성요소, 패킷 필터링 또는 QoS를 수행하지 않는 네트워크 구성요소 및 송신자로 이루어질 수 있다.Next, the packet processing using the above-mentioned collision extension header according to the present invention will be described. Packet processing according to the present invention can be described in four categories according to the type of network elements. The classification of the type of network component according to the present invention may include a sender, a network component that performs packet filtering or QoS, a network component that does not perform packet filtering, or QoS, and a sender.
먼저 송신자에 대해 설명하도록 한다. 송신자는 패킷을 생성하여 전송하는 네트워크 구성요소이다.First, the sender will be described. The sender is a network component that generates and transmits packets.
① 송신자는 전송할 패킷을 생성한다.① The sender creates a packet to send.
② 송신자는 본 발명에 따른 클래시피케이션 확장 헤더를 생성한다. 여기서, 클래시피케이션 확장 헤더는 IPv6 기본 헤더와 확장 헤더들 뒤에 위치하는 헤더와 타입에 따라 이루어진다.(2) The sender generates a collision extension header according to the present invention. In this case, the collision extension header is made according to the header and type located after the IPv6 basic header and the extension headers.
③ 송신자는 IPv6 기본 헤더와 확장 헤더들 뒤에 위치하는 헤더의 내용을 새로 생성한 클래시피케이션 확장 헤더에 복사한다.3. The sender copies the contents of the header located after the IPv6 default headers and extension headers into the newly created collision extension header.
④ 송신자는 생성된 클래시피케이션 확장 헤더를 IPv6 기본 헤더 바로 뒤에 위치시킨다.(4) The sender places the generated legacy extension header immediately after the IPv6 default header.
이들 과정은 도 10a 내지 도 10c에 도시되어 있다. 도 10a는 본 발명에 따른 변형이 이루어지기 전의 패킷 포맷이고, 도 10b는 본 발명에 따른 클래시피케이션 확장 헤더(1000)의 생성 및 생성된 클래시피케이션 확장 헤더의 부가 과정을 도시하는 도면이고, 도 10c는 본 발명에 따른, 클래시피케이션 확장 헤더를 포함하는 패킷 포맷을 도시하는 도면이다.These processes are shown in FIGS. 10A-10C. FIG. 10A is a packet format before modification according to the present invention, and FIG. 10B is a diagram illustrating a process of generating a
이를 위해 송신자는 전송할 패킷을 생성하는 패킷 생성부와, 상기 생성된 패킷을 참조하여 클래시피케이션 확장 헤더(1000)를 생성하는 헤더 생성부 및 생성된 헤더를 포함하는 패킷을 전송하는 패킷 전송부를 적어도 포함할 수 있다.To this end, the sender may include at least a packet generator configured to generate a packet to be transmitted, a header generator configured to generate the
두 번째로, 패킷 필터링 또는 QoS를 수행하는 네트워크 구성요소에 대해 설명하도록 한다.Second, a description will be given of network components that perform packet filtering or QoS.
도 11은 본 발명에 따른 네트워크 구성요소가 수신할 수 있는, 클래시피케이션 확장 헤더를 포함하는 패킷의 포맷을 도시하는 도면이다.FIG. 11 is a diagram illustrating a format of a packet including a legacy header extension that may be received by a network component according to the present invention.
도 11에 도시된 바와 같은 형태의 패킷을 수신한, 패킷 필터링 또는 QoS를 수행하는 네트워크 구성요소는, IPv6 기본 헤더(100) 내에서 필요한 정보를 검색하고, 클래시피케이션 확장 헤더(1000) 내에서 프로토콜 필드(604)의 값에 따라 필요한 정보를 검색하며, 내부적으로 가지고 있는 필터링 또는 클래시피케이션 규칙과 상기 검색한 정보를 비교하여 요구되는 패킷 처리(예를 들어, permit/drop, QoS 기능 수행 등)를 수행한다. 이를 위해 패킷 필터링 또는 QoS를 수행하는 네트워크 구성요소는, 클래시피케이션 확장 헤더(1000)가 포함된 패킷을 수신하는 경우, 상기 클래시피케이션 확장 헤더(1000)로부터 해당 패킷을 처리하기 위한 정보를 검색하는 정보 검색부 및 상기 검색된 정보에 따라 해당 패킷을 처리하는 패킷 처리부를 적어도 포함한다.Receiving a packet of the form as shown in FIG. 11, the network component performing packet filtering or QoS retrieves the necessary information in the IPv6
세 번째로, 패킷 필터링 또는 QoS를 수행하지 않는 네트워크 구성요소에 대해 설명하도록 한다. 이러한 시스템은 송신자와 수신자 사이에서 패킷을 포워딩(forwarding)하는 역할만을 수행한다. 이러한 네트워크 구성요소는 수신한 패킷의 클래시피케이션 확장 헤더(1000)를 무시하고 그 다음의 확장 헤더를 검색하게 된다.Third, network components that do not perform packet filtering or QoS will be described. Such a system only serves to forward the packet between the sender and the receiver. This network component will ignore the
마지막으로 수신자에 대해 설명하도록 한다. 수신자는 해당 패킷의 목적지에 해당한다. 수신자는 패킷을 수신하면, 클래시피케이션 확장 헤더(1000) 내에 저장되어 잇는 프로토콜 특정 데이터(610) 값과 실제 해당 프로토콜 헤더 내의 값이 동일한지를 비교한다. 동일하지 않는 경우, 수신자는 해당 패킷을 드롭(drop)시킨다. 수신자가 이렇게 동작을 하는 이유는 송신자가 방화벽이나 라우터가 제공하는 패킷 필터링 또는 QoS 기능에 제약을 받지 않을 목적으로 고의로 클래시피케이션 확장 헤더(1000)를 수정하는 것을 차단하기 위해서이다.Finally, let's talk about the receiver. The receiver corresponds to the destination of the packet. When the receiver receives the packet, the receiver compares the value of the protocol
본 발명은 패킷 필터링이나 QoS 기능 등과 같은 패킷 처리를 위해 요구되는 정보들의 검색을 용이하게 수행할 수 있도록 한다.The present invention facilitates the retrieval of information required for packet processing such as packet filtering or QoS function.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050009708A KR100666948B1 (en) | 2005-02-02 | 2005-02-02 | Apparatus and method for processing ipv6 packet |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050009708A KR100666948B1 (en) | 2005-02-02 | 2005-02-02 | Apparatus and method for processing ipv6 packet |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060088752A KR20060088752A (en) | 2006-08-07 |
KR100666948B1 true KR100666948B1 (en) | 2007-01-10 |
Family
ID=37177086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050009708A KR100666948B1 (en) | 2005-02-02 | 2005-02-02 | Apparatus and method for processing ipv6 packet |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100666948B1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000201183A (en) | 1999-01-08 | 2000-07-18 | Sony Corp | Method for transmitting data |
JP2001119399A (en) | 1999-10-15 | 2001-04-27 | Nec Commun Syst Ltd | IPv6 NETWORK SYSTEM |
KR20030058400A (en) * | 2001-12-31 | 2003-07-07 | 위즈정보기술주식회사 | IPv6 based supply chain management method through a virtual LAN |
KR100413932B1 (en) | 2000-02-16 | 2004-01-07 | 루센트 테크놀러지스 인크 | Privacy for mobile terminal in telecommunications network |
KR100475969B1 (en) | 2002-06-19 | 2005-03-17 | (주) 위즈네트 | Apparatus For Implementing IPv6 Protocol and Physical Media Interface Unit, IPv6 Header Processing Unit and Upper Layer Interface Unit Suitable For Use in Such an Apparatus |
-
2005
- 2005-02-02 KR KR1020050009708A patent/KR100666948B1/en not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000201183A (en) | 1999-01-08 | 2000-07-18 | Sony Corp | Method for transmitting data |
JP2001119399A (en) | 1999-10-15 | 2001-04-27 | Nec Commun Syst Ltd | IPv6 NETWORK SYSTEM |
KR100413932B1 (en) | 2000-02-16 | 2004-01-07 | 루센트 테크놀러지스 인크 | Privacy for mobile terminal in telecommunications network |
KR20030058400A (en) * | 2001-12-31 | 2003-07-07 | 위즈정보기술주식회사 | IPv6 based supply chain management method through a virtual LAN |
KR100475969B1 (en) | 2002-06-19 | 2005-03-17 | (주) 위즈네트 | Apparatus For Implementing IPv6 Protocol and Physical Media Interface Unit, IPv6 Header Processing Unit and Upper Layer Interface Unit Suitable For Use in Such an Apparatus |
Also Published As
Publication number | Publication date |
---|---|
KR20060088752A (en) | 2006-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10587492B2 (en) | Method and apparatus for tracing paths in service function chains | |
EP3342127B1 (en) | Network packet flow controller with extended session management | |
US7668161B2 (en) | Classifying data packet protocol values | |
US8127349B2 (en) | Point-to-multi-point/non-broadcasting multi-access VPN tunnels | |
US8782739B2 (en) | Access list key compression | |
JP3717836B2 (en) | Dynamic load balancer | |
US7471678B2 (en) | System and apparatus for tunneling service of explicit multicast | |
US20060136722A1 (en) | Secure communication system and communication route selecting device | |
US20030188015A1 (en) | Method for path MTU discovery on IP network and apparatus thereof | |
KR100716163B1 (en) | Tunneling Method and Apparatus for Multicasting Between IPv4 Network and IPv6 Network | |
US20030185208A1 (en) | Method and apparatus for changing path maximum transmission unit on dynamic IP network | |
CN113132342A (en) | Method, network device, tunnel entry point device, and storage medium | |
US20120177051A1 (en) | Data forwarding method, data processing method, system and relevant devices | |
US11695858B2 (en) | Packet fragmentation control | |
US20150288601A1 (en) | Ip data packet sending method and label switching router | |
US7039052B2 (en) | Selective routing of multi-recipient communications | |
US20210258251A1 (en) | Method for Multi-Segment Flow Specifications | |
EP3413533B1 (en) | Data transmission method and system | |
Watteyne et al. | RFC 8930: On Forwarding 6LoWPAN Fragments over a Multi-Hop IPv6 Network | |
EP4274123A1 (en) | Packet encapsulation and de-encapsulation method and device, storage medium, and electronic device | |
JP4263718B2 (en) | Communication processing apparatus and communication processing method | |
US10397113B2 (en) | Method of identifying internal destinations of network packets and an apparatus thereof | |
EP1491005A1 (en) | Method for changing pmtu on dynamic ip network and apparatus using the method | |
US20010052025A1 (en) | Router setting method and router setting apparatus | |
KR100666948B1 (en) | Apparatus and method for processing ipv6 packet |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |