KR20080052856A - Apparatus and method for ipv6 tunneling - Google Patents
Apparatus and method for ipv6 tunneling Download PDFInfo
- Publication number
- KR20080052856A KR20080052856A KR1020060124561A KR20060124561A KR20080052856A KR 20080052856 A KR20080052856 A KR 20080052856A KR 1020060124561 A KR1020060124561 A KR 1020060124561A KR 20060124561 A KR20060124561 A KR 20060124561A KR 20080052856 A KR20080052856 A KR 20080052856A
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- header
- ipv4
- ipv6
- destination address
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2592—Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
-
- 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
Abstract
Description
도 1 은 종래의 IPv6 터널링 장치에 대한 일실시예 구성도,1 is a configuration diagram of an embodiment of a conventional IPv6 tunneling device;
도 2 는 종래의 IPv6 터널링 방법에 대한 일실시예 설명도,2 is a diagram illustrating an exemplary embodiment of a conventional IPv6 tunneling method;
도 3 은 본 발명에 이용되는 IPv4 표준 프로토콜 헤더 필드의 포맷 구성도,3 is a format configuration diagram of an IPv4 standard protocol header field used in the present invention;
도 4 는 본 발명에 이용되는 IPv6 표준 프로토콜 헤더 필드의 포맷 구성도,4 is a format configuration diagram of an IPv6 standard protocol header field used in the present invention;
도 5 는 본 발명에 따른 IPv6 터널링 장치의 일실시예 구성도,5 is a block diagram of an embodiment of an IPv6 tunneling device according to the present invention;
도 6 은 본 발명에 따른 IPv6 터널링 방법에 대한 일실시예 흐름도이다.6 is a flowchart illustrating an embodiment of an IPv6 tunneling method according to the present invention.
* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings
51 : 패킷 헤더 분석부 52 : 캡슐화부51: packet header analysis unit 52: encapsulation unit
53 : 캡슐 제거부 54 : 헤더 정렬부53: capsule removal unit 54: header alignment unit
55 : 터널링 관리부55 tunneling management
521 : 제 1 룩업 테이블 검색기 522 : 헤더 생성기521: First Lookup Table Retriever 522: Header Generator
523 : 헤더 삽입기 531 : 오류 검출기523: header inserter 531: error detector
532 : 제 2 룩업 테이블 검색기 533 : 제 3 룩업 테이블 검색기532: Second Lookup Table Finder 533: Third Lookup Table Finder
본 발명은 IPv6 터널링 장치 및 그 방법에 관한 것으로, 더욱 상세하게는 입력되는 패킷의 헤더 정보 중 버전 정보를 이용하여 IPv4 패킷인지 IPv6 패킷인지를 분리한 후 메모리를 사용하지 않고 상기 IPv4 패킷의 헤더 정보 중 프로토콜 정보에 따라 IPv4 패킷을 분리하여 디캡슐레이션함으로써, 디캡슐레이션 속도를 증가시켜 시스템 성능 및 패킷의 전달 속도를 향상시키기 위한 IPv6 터널링 장치 및 그 방법에 관한 것이다.The present invention relates to an IPv6 tunneling apparatus and a method thereof, and more particularly, header information of the IPv4 packet without using a memory after separating whether it is an IPv4 packet or an IPv6 packet by using version information among header information of an input packet. The present invention relates to an IPv6 tunneling device and a method for improving the system performance and the packet transmission speed by increasing the decapsulation speed by separating and decapsulating IPv4 packets according to the protocol information.
인터넷의 대중화에 따른 폭발적인 데이터 트래픽(Traffic)과 IP(Internet Protocol) 노드의 증가는, 32비트 IPv4(Internet Protocol version 4) 주소의 고갈을 초래하였고, 이를 해결하기 위해 1960년대 초 IETF(Internet Engineering Task Force)는 IPv4 프로토콜을 대신할 프로토콜로 IPv6(Internet Protocol version 4)를 만들었다. The explosion of data traffic and the increase of Internet Protocol (IP) nodes due to the popularization of the Internet has resulted in the depletion of 32-bit Internet Protocol version 4 (IPv4) addresses. Force created Internet Protocol version 4 (IPv6) as the protocol to replace the IPv4 protocol.
최근 들어, 이렇게 만들어진 IPv6가 표준으로 채택됨에 따라 이를 기반으로 동작하는 다양한 시스템들이 개발되고 있지만, 아직까지 인터넷에 존재하는 수많은 IPv4 망들 때문에 기존의 모든 시스템을 IPv4 망에서 IPv6 망으로 전환하는데 많은 시간이 필요하다. Recently, as IPv6 is adopted as a standard, various systems that operate based on this have been developed. However, due to the numerous IPv4 networks existing on the Internet, a lot of time is required to convert all existing systems from IPv4 to IPv6 networks. need.
따라서, IPv4 망에서 IPv6 망으로의 천이(Transition)는 IPv4 시스템과 IPv6 시스템 사이에 발생되는 문제를 해결해 가며 점진적으로 이루어져야 한다. 이러한 문제들을 해결하기 위해 이중 스택(Dual Stack)을 이용하는 방법, 헤더 변환(Header Translation) 방법, 터널링(Tunneling) 방법의 세 가지 방법들이 고안되었으며, 이중 터널링 방법은 IPv6 망을 사용하는 두 호스트가 IPv4 망을 사이에 두고 서로 통신하고자 할 때 이용된다. 즉, IPv6 패킷이 IPv4 망을 사용하는 영역에 들어갈 때, IPv6 패킷을 IPv4 패킷 내에 인캡슐레이션(Encapsulation) 하였다가 IPv4 영역을 빠져나올 때 디캡슐레이션(Decapsulation) 하는 방법이다. Therefore, the transition from the IPv4 network to the IPv6 network should be made gradually while solving the problems occurring between the IPv4 system and the IPv6 system. To solve these problems, three methods have been devised: dual stack, header translation, and tunneling. The dual tunneling method has two hosts that use IPv6 networks. It is used to communicate with each other over a network. That is, when an IPv6 packet enters an area using an IPv4 network, the method encapsulates an IPv6 packet in an IPv4 packet and then decapsulates when it exits an IPv4 area.
도 1 은 종래의 IPv6 터널링 장치에 대한 일실시예 구성도이다.1 is a diagram illustrating a configuration of a conventional IPv6 tunneling device.
도 1에 도시된 바와 같이, 종래의 IPv6 터널링 장치는, IPv6 망(100), IPv4 망(120), 및 IPv6 망(100)과 IPv4 망(120) 사이에 연결된 6 to 4 게이트웨이(110)를 포함한다.As shown in FIG. 1, the conventional IPv6 tunneling device includes an
여기서, 6 to 4 게이트웨이(110)는 IPv6 패킷 처리기(111), 확장 ICMPv6 변환기(112), 인캡슐레이터(113), 디캡슐레이터(114), IPv6 패킷처리기(115), 및 확장 ICMPv4 변환기(116)를 포함한다.Here, the 6 to 4
이하, 상기 각 구성요소들에 대해 좀 더 상세히 살펴보기로 한다.Hereinafter, the components will be described in more detail.
먼저, IPv6 패킷 처리기(111)는 IPv6 망(100)으로부터 제공되는 IPv6 패킷을 처리하여, 목적지 주소가 수신된 포트의 IP 주소가 아닌 다른 주소를 갖는 IPv6 패킷 중에 ICMP 에코 리퀘스트 및 타임 익시드 패킷과 IPv6 패킷을 각각 분리하여 출력한다. First, the
확장 ICMPv6(Internet Control Message Protocol version 6) 변환기(112)는 IPv6 패킷 처리기(111)로부터 제공되는 IPv6 ICMP 에코 리퀘스트 및 타임 익시드 패킷을 처리하여 IPv4 망(120)으로 제공한다.The extended Internet Control Message Protocol version 6 (ICMPv6)
인캡슐레이터(113)는 RFC3056 및 RFC2893 문서에 의해 규정된 6 to 4 터널링 동작을 수행해서 IPv6 패킷 처리기(111)로부터 제공되는 IPv6 패킷을 인캡슐레이션 하여 IPv4 망(120)으로 제공한다. The
IPv4 패킷 처리기(115)는 IPv4 망(120)으로부터 제공되는 IPv4 패킷을 처리하여, 패킷들 중에 옵셔널 데이터 필드 부분에 IPv6 패킷을 포함하는 에코 리퀘스트 및 옵셔널 데이터 필드부분 헤더의 프로토콜 필드가 '41'로 코딩된 타임익시드 ICMPv4 패킷과 IPv4 패킷을 각각 분리하여 출력한다. The
확장 ICMPv4 변환기(116)는 IPv4 패킷 처리기(115)로부터 제공되는 IPv4 ICMP 에코 리퀘스트 및 타임 익시드 패킷을 처리하여 IPv6 망(100)으로 제공한다. The extended
디캡슐레이터(114)는 RFC3056 및 RFC2893 문서에 의해 규정된 터널링 동작을 수행하여 IPv4 패킷 처리기(115)로부터 제공되는 IPv4 패킷을 티캡슐레이션 하여 IPv6 망(100)으로 제공한다.The
도 2 는 종래의 IPv6 터널링 방법에 대한 일실시예 설명도이다.2 is a diagram illustrating an exemplary embodiment of a conventional IPv6 tunneling method.
먼저, IPv6 호스트(201)는 IPv6 데이터(205)를 IPv6 망(210)으로 전송한다. 그러면, IPv6 망(210)과 IPv4 망(220)의 경계에 위치한 IPv6 천이 라우터(Transit Router)(202)는 전송받은 IPv6 데이터(205)를 IPv4로 캡슐레이션 하여 다른 IPv6 천이 라우터(203)로 전송한다. 즉, 상기 IPv6 데이터(205)에 IPv4 헤더를 붙여서 IPv4 망(220)으로 전송한다. First, the
이후, 상기 IPv4로 캡슐레이션된 IPv6 데이터(206)를 수신한 IPv6 천이 라우 터(203)는 이를 디캡슐레이션 하여 IPv6 망(230)으로 전송한다. 즉, IPv4 망(220)을 통과하기 위해 부가된 IPv4 헤더를 제거한 후 IPv6 망(230)으로 전송한다. Thereafter, the
이러한 과정을 통해, IPv6 호스트(204)는 IPv4 헤더가 제거된 IPv6 데이터(207)를 수신한다.Through this process, the
이러한 종래의 IPv6 터널링 장치는, IPv4 패킷을 디캡슐레이션할 때 소프트웨어적으로 처리하거나 패킷을 저장해 둘 메모리가 필수적이며, 그에 따른 많은 메모리 액세스로 인하여 실제 IPv6 터널 패킷 포워딩에 있어 라인속도를 유지하기가 어려워 시스템 성능에 악영향을 주는 문제점이 있다.In the conventional IPv6 tunneling device, when decapsulating an IPv4 packet, a memory for software processing or storing a packet is essential, and due to the large amount of memory access, it is difficult to maintain the line rate in actual IPv6 tunnel packet forwarding. It is difficult and has a problem that adversely affects system performance.
본 발명은 상기 문제점을 해결하기 위하여 제안된 것으로, 입력되는 패킷의 헤더 정보 중 버전 정보를 이용하여 IPv4 패킷인지 IPv6 패킷인지를 분리한 후 메모리를 사용하지 않고 상기 IPv4 패킷의 헤더 정보 중 프로토콜 정보에 따라 IPv4 패킷을 분리하여 디캡슐레이션함으로써, 디캡슐레이션 속도를 증가시켜 시스템 성능 및 패킷의 전달 속도를 향상시키기 위한 IPv6 터널링 장치 및 그 방법을 제공하는데 그 목적이 있다.The present invention has been proposed to solve the above problems, and after separating the IPv4 packet or the IPv6 packet by using the version information of the header information of the input packet, the protocol information in the header information of the IPv4 packet without using a memory Accordingly, an object of the present invention is to provide an IPv6 tunneling device and method for improving system performance and packet transmission speed by increasing the decapsulation speed by separating and decapsulating IPv4 packets.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.Other objects and advantages of the present invention can be understood by the following description, and will be more clearly understood by the embodiments of the present invention. Also, it will be readily appreciated that the objects and advantages of the present invention may be realized by the means and combinations thereof indicated in the claims.
상기 목적을 달성하기 위한 본 발명의 장치는, IPv6(Internet Protocol version 6) 터널링 장치에 있어서, 패킷의 헤더를 분석하여 IPv6 패킷 및 상기 IPv6 패킷의 목적지 주소를 캡슐화 수단으로 전달하고, IPv4 패킷 및 상기 IPv4 패킷의 목적지 주소와 헤더 체크 정보를 캡슐 제거수단으로 전달하기 위한 패킷 헤더 분석수단; 상기 패킷 헤더 분석수단으로부터 전달받은 목적지 주소가 제 1 룩업 테이블에 존재함에 따라 터널링 패킷으로 판단하여 IPv4 헤더를 생성한 후 IPv6 패킷에 삽입하기 위한 상기 캡슐화 수단; 상기 패킷 헤더 분석수단으로부터 전달받은 IPv4 패킷의 목적지 주소를 이용한 룩업 테이블 검색 결과에 따라 IPv4 패킷의 IPv4 헤더를 삭제하거나 IPv4 헤더와 함께 UDP(User Datagram Protocol) 포트 번호를 삭제하기 위한 상기 캡슐 제거수단; 및 상기 캡슐화 수단에서 캡슐화된 패킷과 상기 캡슐 제거수단에서 캡슐이 제거된 패킷의 헤더 필드를 정렬하기 위한 헤더 정렬수단을 포함하는 것을 특징으로 한다.An apparatus of the present invention for achieving the above object, in the IPv6 (Internet Protocol version 6) tunneling device, by analyzing the header of the packet and delivers the IPv6 packet and the destination address of the IPv6 packet to the encapsulation means, the IPv4 packet and the Packet header analyzing means for delivering the destination address and header check information of the IPv4 packet to the capsule removing means; The encapsulation means for generating an IPv4 header by judging it as a tunneling packet since the destination address received from the packet header analyzing means is present in the first lookup table; The capsule removing means for deleting an IPv4 header of an IPv4 packet or a UDP (User Datagram Protocol) port number together with an IPv4 header according to a lookup table search result using the destination address of the IPv4 packet received from the packet header analyzing means; And header alignment means for aligning header fields of the packet encapsulated by the encapsulation means and the packet from which the capsule is removed from the capsule removal means.
한편, 본 발명의 방법은, IPv6(Internet Protocol version 6) 터널링 방법에 있어서, 입력되는 패킷을 IPv6 패킷 및 IPv4 패킷으로 분리한 후 상기 IPv4 패킷을 UDP(User Datagram Protocol) 포트 번호 첨부 여부에 따라 분리하는 패킷 분리 단계; 상기 IPv6 패킷의 목적지 주소가 제 1 룩업 테이블에 존재함에 따라 터널링 패킷으로 판단하여 IPv4 헤더를 생성한 후 상기 IPv6 패킷에 삽입하는 단계; 상기 IPv4 패킷의 목적지 주소가 제 2 룩업 테이블에 존재함에 따라 IPv4 패킷의 IPv4 헤더 및 UDP(User Datagram Protocol) 포트 번호를 삭제하는 단계; 상기 IPv4 패킷 의 목적지 주소가 제 3 룩업 테이블에 존재함에 따라 IPv4 패킷의 IPv4 헤더를 삭제하는 단계; 및 상기 캡슐화된 패킷과 상기 캡슐이 제거된 패킷의 헤더 필드를 정렬하는 단계를 포함하는 것을 특징으로 한다.Meanwhile, in the Internet Protocol version 6 (IPv6) tunneling method, the method divides an incoming packet into an IPv6 packet and an IPv4 packet, and then divides the IPv4 packet according to whether a user datagram protocol (UDP) port number is attached. A packet separation step; Determining that the destination address of the IPv6 packet is present in a first lookup table and generating an IPv4 header by inserting the IPv6 header into the IPv6 packet; Deleting the IPv4 header and the UDP (User Datagram Protocol) port number of the IPv4 packet as a destination address of the IPv4 packet exists in a second lookup table; Deleting the IPv4 header of the IPv4 packet as the destination address of the IPv4 packet exists in a third lookup table; And aligning header fields of the encapsulated packet and the packet from which the encapsulation has been removed.
또한, 본 발명은 소프트웨어적으로 처리하던 IPv6 터널링 및 프로세싱을 하드웨어적으로 처리함으로써, 시스템 성능 및 패킷의 전달 속도를 향상시킨다.In addition, the present invention improves the system performance and the packet forwarding speed by hardware-processing IPv6 tunneling and processing that were processed by software.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings, whereby those skilled in the art may easily implement the technical idea of the present invention. There will be. In addition, in describing the present invention, when it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 3 은 본 발명에 이용되는 IPv4 표준 프로토콜 헤더 필드의 포맷 구성도이다.3 is a format configuration diagram of an IPv4 standard protocol header field used in the present invention.
도 3에 도시된 바와 같이, 본 발명에 이용되는 IPv4 표준 프로토콜의 헤더는 4비트의 버전(Version) 필드(311), 헤더 길이를 나타내는 4비트의 IHL 필드(312), 8비트의 Type of Service 필드(313), 데이터(Datagram)의 길이를 나타내는 16비트의 Total Length 필드(314), 데이터의 조각(Fragment) 기능을 처리하기 위한 16비트의 Identification 필드(315), 3비트의 Flags 필드(316), 13비트의 Fragment Offset 필드(317), 시스템에서 허용되는 데이터의 생존 시간을 나타내는 Time to Live 필드(318), 다음 레벨(next level) 프로토콜을 나타내는 8 비트의 Protocol 필드(319), 헤더를 체크하는 16 비트의 Header Checksum 필드(320), 발신지 주소를 나타내는 32 비트의 Source Address 필드(321), 목적지 주소를 나타내는 32 비트의 Destination Address 필드(322), 24 비트의 Options 필드(323), 8비트의 Padding 필드(324)를 포함한다. As shown in FIG. 3, the header of the IPv4 standard protocol used in the present invention includes a 4-
도 4 는 본 발명에 이용되는 IPv6 표준 프로토콜 헤더 필드의 포맷 구성도이다.4 is a format configuration diagram of an IPv6 standard protocol header field used in the present invention.
도 4에 도시된 바와 같이, 본 발명에 이용되는 IPv6 표준 프로토콜의 헤더는, 4비트의 버전(Version) 필드(411), 8비트의 트래픽 클래스(Traffic Class) 필드(412), QoS(Quality of Service)와 관련된 20비트의 흐름 라벨(Flow Label) 필드(413), 데이터의 길이를 나타내는 16비트의 무부호 정수 페이로드 길이(Payload Length) 필드(414), IPv6 헤더에서 다음에 이어지는 헤더의 유형을 정의하는 8비트의 NH(Next Header) 필드(415), 패킷을 포워딩하는 각각의 노드에서 1씩 감소하는 8비트의 무부호 정수 홉 리밋(Hop Limit) 필드(416), 패킷 전송자의 128비트 주소를 나타내는 발신지 주소(Source Address) 필드(417), 패킷 수신자의 128비트 주소를 나타내는 목적지 주소(Destination Address) 필드(418), 발신지 주소 포트(419a), 및 목적지 주소 포트(419b)를 포함한다.As shown in Fig. 4, the header of the IPv6 standard protocol used in the present invention includes a 4-
도 5 는 본 발명에 따른 IPv6 터널링 장치의 일실시예 구성도이다. 5 is a configuration diagram of an IPv6 tunneling apparatus according to an embodiment of the present invention.
도 5에 도시된 바와 같이, 본 발명에 따른 IPv6 터널링 장치는, 입력되는 패킷의 헤더를 분석(Parsing)하여 IPv6 패킷 및 상기 IPv6 패킷의 목적지 주소를 캡 슐화부(52)로 전달하고, IPv4 패킷 및 상기 IPv4 패킷의 목적지 주소와 헤더 체크(Header Checksum) 정보를 캡슐 제거부(53)로 전달하기 위한 패킷 헤더 분석부(51), 패킷 헤더 분석부(51)로부터 전달받은 목적지 주소가 제 1 룩업 테이블에 존재함에 따라 터널링 패킷으로 판단하여 IPv4 헤더를 생성한 후 IPv6 패킷에 삽입하기 위한 캡슐화부(52), 패킷 헤더 분석부(51)로부터 전달받은 IPv4 패킷의 목적지 주소를 이용한 룩업 테이블 검색 결과에 따라 IPv4 패킷의 IPv4 헤더를 삭제하거나, IPv4 헤더와 함께 UDP(User Datagram Protocol) 포트 번호를 삭제하기 위한 캡슐 제거부(53), 상기 캡슐화부(52)에서 캡슐화된 패킷과 상기 캡슐 제거부(53)에서 캡슐이 제거된 패킷의 헤더 필드를 정렬하기 위한 헤더 정렬부(Header Alignment)(54), 및 프로세서 인터페이스를 제공하고, 상기 룩업 테이블을 관리하며, 상태 모니터링, 통계 레지스터들을 제어하기 위한 터널링 관리부(Tunnel CSR)(55)를 포함한다.As shown in FIG. 5, the IPv6 tunneling apparatus according to the present invention parses a header of an input packet to deliver an IPv6 packet and a destination address of the IPv6 packet to an
여기서, 패킷 헤더 분석부(51)는, IPv6 패킷을 캡슐화한 Pv4 패킷(6 to 4)을 수신한 경우와 IPv4 패킷(6 over 4)을 수신한 경우 캡슐을 제거한다. 이때, 원본의 IPv6 패킷은 변경되지 않아야 하고, IPv6 패킷이 최종 목적지로 전송될 때 즉, 캡슐 제거 노드가 IPv6 패킷의 최종 목적지가 아닌 경우 IPv6 헤더의 'Hop Limit' 필드의 값을 1 감소시킨다. Here, the
또한, 상기 캡슐화부(52)는, 패킷 헤더 분석부(51)로부터 전달받은 목적지 주소를 키 값으로 제 1 룩업 테이블을 검색하여 터널링 패킷 여부를 검출하기 위한 제 1 룩업 테이블 검색기(521), 상기 제 1 룩업 테이블 검색기(521)에서 목적지 주 소를 검색함에 따라 IPv4 헤더를 생성하기 위한 헤더 생성기(522), 및 상기 헤더 생성기(522)에서 생성한 IPv4 헤더를 IPv6 패킷에 삽입하기 위한 헤더 삽입기(523)를 포함한다.In addition, the
이때, 상기 헤더 생성기(522)는 제 1 룩업 테이블 검색기(521)의 검출 결과가 터널링 패킷임에 따라 다음 홉(next hop)이 터널임을 지정하는 필드와 패킷 캡슐화를 위한 전달 헤더 정보를 생성한다.In this case, as the detection result of the first
또한, 상기 캡슐 제거부(53)는, 패킷 헤더 분석부(51)로부터 전달받은 IPv4 패킷의 헤더 체크(Header Checksum) 정보를 이용하여 오류 여부를 검출하기 위한 오류 검출기(531), 패킷 헤더 분석부(51)로부터 전달받은 목적지 주소를 키 값으로 제 2 룩업 테이블을 검색하기 위한 제 2 룩업 테이블 검색기(6 over 4 DIP Look up)(532), 패킷 헤더 분석부(51)로부터 전달받은 목적지 주소를 키 값으로 제 3 룩업 테이블을 검색하기 위한 제 3 룩업 테이블 검색기(6 to 4 DIP Look up)(53), 및 상기 오류 검출기(531)에서 오류가 검출되지 않은 경우, 상기 제 2 룩업 테이블 검색기(532)에서 해당 목적지 주소가 검색됨에 따라 UDP 포트 번호 및 IPv4 헤더를 삭제하고, 상기 제 3 룩업 테이블 검색기(533)에서 해당 목적지 주소가 검색됨에 따라 IPv4 헤더를 삭제하기 위한 헤더 삭제기(534)를 포함한다.The
이때, 패킷 헤더 분석부(51)는, 입력되는 패킷의 헤더 중 버전 정보를 이용하여 IPv4 패킷인지 IPv6 패킷인지를 분리하고, 프로토콜 정보가 'UDP' 이면 제 2 룩업 테이블 검색기(532)로 해당 IPv4 패킷의 목적지 주소를 전달하며, 프로토콜 정보가 '41' 이면 제 3 룩업 테이블 검색기(533)로 해당 IPv4 패킷의 목적지 주소 를 전달한다. 이때, 해당 IPv4 패킷은 캡슐화 제거기(534)로 전달한다.At this time, the
부가적으로, 본 발명은 데이터 링크 계층과의 인터페이스를 통해 입력된 패킷을 수신하기 위한 SPI 인터페이스 수신부, SPI 인터페이스를 내부 로직들이 인식할 수 있도록 내부 버스로 변환하고, 3비트 사이즈 필드를 8비트 마스크로 변환하기 위한 버스 변환부, 및 상용 네트워크 프로세서 및 패킷 프로세서와의 인터페이스를 통하여 처리된 패킷을 송신하기 위한 SPI 인터페이스 송신부를 더 포함한다.Additionally, the present invention provides an SPI interface receiving unit for receiving a packet input through an interface with a data link layer, converting the SPI interface into an internal bus so that internal logic can recognize, and converting a 3-bit size field into an 8-bit mask. And a SPI interface transmitter for transmitting a processed packet through an interface with a commercial network processor and a packet processor.
여기서, 상기 SPI 인터페이스 수신부, 버스 변환부, 및 SPI 인터페이스 송신부는, 1 기가비트 이더넷(Gigabit Ethernet) 또는 10 기가비트 이더넷 MAC 칩으로부터 SPI 인터페이스를 경유하여 입력되는 패킷을 처리한다. Here, the SPI interface receiving unit, the bus converter, and the SPI interface transmitting unit process packets input via an SPI interface from a 1 Gigabit Ethernet or 10 Gigabit Ethernet MAC chip.
또한, 상기 버스 변환부는 SPI 인터페이스 수신부에서 수신한 3비트 사이즈 신호를 8비트 마스크(Mask) 패턴으로 바꾸고 인터페이스를 내부 버스 인터페이스로 변환한다.In addition, the bus converter converts the 3-bit size signal received by the SPI interface receiver into an 8-bit mask pattern and converts the interface into an internal bus interface.
도 6 은 본 발명에 따른 IPv6 터널링 방법에 대한 일실시예 흐름도이다.6 is a flowchart illustrating an embodiment of an IPv6 tunneling method according to the present invention.
먼저, 입력되는 패킷을 IPv6 패킷 및 IPv4 패킷으로 분리한 후 상기 IPv4 패킷을 UDP(User Datagram Protocol) 포트 번호 첨부 여부에 따라 분리한다(601).First, the input packet is divided into IPv6 packet and IPv4 packet, and then the IPv4 packet is separated according to whether a User Datagram Protocol (UDP) port number is attached (601).
이후, 상기 IPv6 패킷의 목적지 주소가 제 1 룩업 테이블에 존재함에 따라 터널링 패킷으로 판단하여 IPv4 헤더를 생성한 후 상기 IPv6 패킷에 삽입한다(602).Thereafter, as the destination address of the IPv6 packet is present in the first lookup table, it is determined as a tunneling packet to generate an IPv4 header and inserted into the IPv6 packet (602).
이후, 상기 IPv4 패킷의 목적지 주소가 제 2 룩업 테이블에 존재함에 따라 IPv4 패킷의 IPv4 헤더 및 UDP(User Datagram Protocol) 포트 번호를 삭제한 다(603).Thereafter, as the destination address of the IPv4 packet exists in the second lookup table, the IPv4 header and the UDP (User Datagram Protocol) port number of the IPv4 packet are deleted (603).
이후, 상기 IPv4 패킷의 목적지 주소가 제 3 룩업 테이블에 존재함에 따라 IPv4 패킷의 IPv4 헤더를 삭제한다(604).Thereafter, as the destination address of the IPv4 packet exists in the third lookup table, the IPv4 header of the IPv4 packet is deleted (604).
이후, 상기 캡슐화된 패킷과 상기 캡슐이 제거된 패킷의 헤더 필드를 정렬한다(605).Thereafter, the header fields of the encapsulated packet and the decapsulated packet are aligned (605).
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.As described above, the method of the present invention may be implemented as a program and stored in a recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.) in a computer-readable form. Since this process can be easily implemented by those skilled in the art will not be described in more detail.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the technical spirit of the present invention for those skilled in the art to which the present invention pertains. It is not limited by the drawings.
상기와 같은 본 발명은, 입력되는 패킷의 헤더 정보 중 버전 정보를 이용하여 IPv4 패킷인지 IPv6 패킷인지를 분리한 후 메모리를 사용하지 않고 상기 IPv4 패킷의 헤더 정보 중 프로토콜 정보에 따라 IPv4 패킷을 분리하여 디캡슐레이션함으로써, 디캡슐레이션 속도를 증가시켜 시스템 성능 및 패킷의 전달 속도를 향상시 킬 수 있는 효과가 있다.The present invention as described above, after separating the IPv4 packet or IPv6 packet using the version information of the header information of the input packet, and separates the IPv4 packet according to the protocol information of the header information of the IPv4 packet without using a memory By decapsulation, the speed of decapsulation can be increased to improve system performance and packet delivery speed.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060124561A KR100849494B1 (en) | 2006-12-08 | 2006-12-08 | Apparatus and Method for IPv6 Tunneling |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060124561A KR100849494B1 (en) | 2006-12-08 | 2006-12-08 | Apparatus and Method for IPv6 Tunneling |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080052856A true KR20080052856A (en) | 2008-06-12 |
KR100849494B1 KR100849494B1 (en) | 2008-07-31 |
Family
ID=39807382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060124561A KR100849494B1 (en) | 2006-12-08 | 2006-12-08 | Apparatus and Method for IPv6 Tunneling |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100849494B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010145164A1 (en) * | 2009-10-10 | 2010-12-23 | 中兴通讯股份有限公司 | Method and system for implementing interconnection between internet protocol version 4 network and new network |
KR20150079910A (en) * | 2012-11-30 | 2015-07-08 | 알까뗄 루슨트 | Software-defined network overlay |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240031326A1 (en) * | 2022-07-21 | 2024-01-25 | Tailscale Inc. | Management of communications for overlapping subnets using ipv6 addressing |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100411517B1 (en) * | 2001-08-28 | 2003-12-18 | 주식회사 휴니드 테크놀러지스 | Method and Apparatus for Internet Protocol Translation using NAT-PT |
KR100451552B1 (en) | 2002-01-08 | 2004-10-08 | 삼성전자주식회사 | Converting Apparatus for converting internet protocol address and Communicating Method using thereof |
KR100612007B1 (en) * | 2003-02-21 | 2006-08-11 | 삼성전자주식회사 | Interconnection method and apparatus between IPv4 network and IPv6 network |
KR100607993B1 (en) * | 2004-07-16 | 2006-08-02 | 삼성전자주식회사 | System and method for communication between heterogeneous networks |
-
2006
- 2006-12-08 KR KR1020060124561A patent/KR100849494B1/en not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010145164A1 (en) * | 2009-10-10 | 2010-12-23 | 中兴通讯股份有限公司 | Method and system for implementing interconnection between internet protocol version 4 network and new network |
KR20150079910A (en) * | 2012-11-30 | 2015-07-08 | 알까뗄 루슨트 | Software-defined network overlay |
Also Published As
Publication number | Publication date |
---|---|
KR100849494B1 (en) | 2008-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11882041B2 (en) | Congestion notification packet indicating specific packet flow experiencing congestion to facilitate individual packet flow based transmission rate control | |
KR100453055B1 (en) | Method for path MTU discovery on IP network and apparatus thereof | |
US9497126B2 (en) | Communication device and communication method | |
US7899048B1 (en) | Method and apparatus for remotely monitoring network traffic through a generic network | |
US6643287B1 (en) | Apparatus and method for forwarding encapsulated data packets on a network having multiple links between nodes | |
JP4130962B2 (en) | System and method for using a domain name to route data sent to a destination on a network | |
US7853691B2 (en) | Method and system for securing a network utilizing IPsec and MACsec protocols | |
EP3958521A1 (en) | Method and apparatus for providing service for service flow | |
JP4038223B2 (en) | Packet transfer method and apparatus | |
KR100453056B1 (en) | Method for changing PMTU on dynamic IP network and apparatus thereof | |
US20070147421A1 (en) | ISATAP router for tunneling packets and method thereof | |
US20090238209A1 (en) | Method for transmitting fragmented packets, communication system, and tunnel equipment | |
WO2009111977A1 (en) | Sending method, system and apparatus for mapping information | |
WO2016000513A1 (en) | Method and device for updating processing manner of service flow packet | |
WO2008085375A2 (en) | Method and apparatus for multicast routing | |
JP2008079304A (en) | Automatic tunneling method and system using nat | |
US20180048593A1 (en) | Flow entry generating and packet processing based on flow entry | |
EP4057576A1 (en) | Packet encapsulating method and apparatus, and packet decapsulating method and apparatus | |
US7742471B2 (en) | Methods and systems for routing packets with a hardware forwarding engine and a software forwarding engine | |
KR100849494B1 (en) | Apparatus and Method for IPv6 Tunneling | |
WO2008003218A1 (en) | Method, apparatus and system for information transmitting between devices in ethernet | |
US9628385B2 (en) | Method of identifying internal destinations of networks packets and an apparatus thereof | |
WO2004019561A1 (en) | Frame transfer method and node in ethernet(r) | |
TWI281804B (en) | Packet forwarding method and system | |
WO2021254454A1 (en) | Bier oam detection method, and device and system |
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 |