KR20060081016A - Header translation system and method using network processor - Google Patents
Header translation system and method using network processor Download PDFInfo
- Publication number
- KR20060081016A KR20060081016A KR1020050001327A KR20050001327A KR20060081016A KR 20060081016 A KR20060081016 A KR 20060081016A KR 1020050001327 A KR1020050001327 A KR 1020050001327A KR 20050001327 A KR20050001327 A KR 20050001327A KR 20060081016 A KR20060081016 A KR 20060081016A
- Authority
- KR
- South Korea
- Prior art keywords
- information
- packet
- header conversion
- host
- port
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/741—Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
본 발명은 NAT-PT 세션 테이블을 이용하여 IPv6 호스트와 IPv4 호스트간에 전송되는 패킷 헤더를 변환하는 네트워크 프로세서를 이용한 헤더 변환 시스템 및 그 방법에 관한 것으로, 본 발명에 따르면, 전송되는 패킷에 따라 패킷 헤더 변환을 위한 세션 키 엔트리 정보를 이용하여 패킷 헤더 변환 정보가 저장된 세션 테이블로부터 패킷 헤더 변환정보를 획득하여 패킷 헤더 변환을 수행하는 라우팅 장치를 포함한다.The present invention relates to a header conversion system and method using a network processor for converting packet headers transmitted between an IPv6 host and an IPv4 host using a NAT-PT session table. And a routing device configured to obtain packet header conversion information from a session table in which packet header conversion information is stored using session key entry information for conversion and perform packet header conversion.
네트워크 프로세서, IPv6, IPv4, 패킷 헤더, NAT-PT, NATPT-PTNetwork Processor, IPv6, IPv4, Packet Headers, NAT-PT, NATPT-PT
Description
도 1은 본 발명에 따른 네트워크 프로세서를 이용한 헤더 변환 시스템의 개략적인 구성을 나타내는 도면.1 is a view showing a schematic configuration of a header conversion system using a network processor according to the present invention.
도 2는 도 1의 라우터의 상세 구성을 나타내는 도면.FIG. 2 is a diagram illustrating a detailed configuration of the router of FIG. 1. FIG.
도 3은 본 발명에 따른 NAT-PT를 위한 테이블 구조를 나타내는 도면.3 illustrates a table structure for NAT-PT in accordance with the present invention.
도 4는 본 발명에 따른 네트워크 프로세서를 이용한 헤더 변환 방법의 과정을 나타내는 도면.4 is a diagram illustrating a procedure of a header conversion method using a network processor according to the present invention.
* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings
10 : IPv6 호스트 20 : IPv4 호스트10: IPv6 host 20: IPv4 host
30 : 라우터 31 : IPv6 호스트 인터페이스30: Router 31: IPv6 host interface
32 : IPv4 호스트 인터페이스 33 : 포워딩 테이블32: IPv4 host interface 33: forwarding table
34 : 포워딩 테이블 관리부 35 : NAT-PT 세션키 테이블34: forwarding table management unit 35: NAT-PT session key table
36 : NAT-PT 세션 테이블 37 : NAT-PT 테이블 관리부36: NAT-PT session table 37: NAT-PT table management unit
38 : 제어부38: control unit
본 발명은 네트워크 프로세서를 이용한 헤더 변환 시스템 및 그 방법에 관한 것으로, 보다 상세하게는 NAT-PT 세션 테이블을 이용하여 IPv6 호스트와 IPv4 호스트간에 전송되는 패킷 헤더를 변환하는 네트워크 프로세서를 이용한 헤더 변환 시스템 및 그 방법에 관한 것이다.The present invention relates to a header conversion system using a network processor and a method thereof, and more particularly, to a header conversion system using a network processor for converting packet headers transmitted between an IPv6 host and an IPv4 host using a NAT-PT session table; It's about how.
IPv6망으로의 진화를 위하여 기존의 IPv4망과의 연동과 호완 문제를 해결하기 위하여 많은 IPv4/IPv6 전환 기술들이 개발되었다. 그 중에서 NAT-PT(Network Address Translation - Protocol Translation) 기술은 IPv4 헤더를 IPv6 헤더로 혹은 그 반대로 변환시켜 주는 기술이다. 이 헤더 변환 기술은 크게 두가지로 구분되어진다.For the evolution to IPv6 network, many IPv4 / IPv6 transition technologies have been developed to solve the problem of interworking with the existing IPv4 network and the compatibility. Among them, NAT-PT (Network Address Translation-Protocol Translation) technology converts an IPv4 header into an IPv6 header and vice versa. This header conversion technique is largely divided into two types.
첫번째는, 세션이 초기화 될 때마다 동적으로 IPv6 노드에 IPv4를 할당하기 위한 주소 풀(pool)을 가지고 두 망간의 경계 라우터에 주로 위치하여 주소 매퍼(address mapper)로서 동작하는 NAT 기술이다. 이 기술의 응용으로 NAPT-PT(Network Address Port Translation - Protocol Translation)도 지원할 수 있다. NAPT-PT 기술은 V6 호스트의 포트들이 하나의 V4 주소의 포트로 멀티플렉싱(Mutiplexing)되어 하나의 V4 주소를 공유하도록 하는 기술이다.The first is NAT technology, which acts as an address mapper, mainly located at the boundary router between two networks with an address pool for dynamically allocating IPv4 to an IPv6 node each time a session is initiated. Application of this technology also supports NAPT-PT (Network Address Port Translation-Protocol Translation). NAPT-PT technology allows the ports of a V6 host to be multiplexed to ports of one V4 address to share one V4 address.
두 번째는, SIIT(Stateless IP, ICMP Translation)를 기반으로 주소를 제외 한 헤더 변환을 수행하기 위한 PT 기술이다. SIIT(Stateless IP, ICMP Translation)는 IPv4 노드와 IPv6 노드간의 변환 매커니즘으로서, NAT-PT와 마찬가지로 IPv4와 IPv6간의 패킷 헤더 변환과 주소 변환을 담당한다.Second, PT technology is used to perform header translation excluding addresses based on SIIT (Stateless IP, ICMP Translation). SIIT (Stateless IP, ICMP Translation) is a translation mechanism between IPv4 and IPv6 nodes. Like NAT-PT, it is responsible for packet header translation and address translation between IPv4 and IPv6.
또한, 동적으로 주소 또는 포트를 할당하고 변환하기 위해서는 응용에 따라 추가적인 요구사항이 발생하는데 이를 지원하기 위한 응용계층 게이트웨이(Application Level Gateway: ALG)를 사용해야 한다. 예를 들면, DNS-ALG와 FTP-ALG 등이 있으며 DNS ALG는 레코드 AAAA와 A 형식의 변환 및 DNSv4와 DNSv6 간의 주소 정보 교환 역할을 수행한다.In addition, in order to dynamically allocate and translate addresses or ports, additional requirements arise depending on the application, and an application level gateway (ALG) must be used to support them. For example, there are DNS-ALG and FTP-ALG. The DNS ALG converts records in AAAA and A format and exchanges address information between DNSv4 and DNSv6.
이처럼 NAP-PT의 헤더 변환을 지원하기 위해서는 많은 처리 부하가 발생하게 된다. 따라서, 대부분 고속으로 처리하지 못하고 소프트웨어로 처리하는 방법을 사용하고 있다.As such, a large processing load is generated to support header conversion of NAP-PT. Therefore, most of them use a method of processing in software rather than in high speed.
즉, 소프트웨어를 기반으로 하는 종래의 NAT-PT 변환기술은 커널의 네트워크 스택에서 NAT-PT 처리가 필요한 패킷인지 아닌지를 판단하고 만약 NAT-PT 처리가 필요한 패킷이라고 판단되면 NAT-PT를 처리하는 어플리케이션으로 전달해서 어플리케이션 프로그램이 헤더 변환을 수행하고 다시 커널의 네트워크 스택으로 패킷을 전달하여 처리한 후에 출력포트를 결정하여 패킷을 전송하기 때문에 저속으로 패킷을 처리할 수 밖에 없다.That is, the conventional NAT-PT conversion technology based on software determines whether the packet is required for NAT-PT processing in the kernel's network stack, and if it is determined that the packet requires NAT-PT processing, the application processes NAT-PT. The application program performs header conversion, passes the packet back to the kernel's network stack, processes it, and then decides the output port to transmit the packet.
또한, NAPT-PT의 경우 역시 5tuple을 사용하여 세션을 관리하기 때문에 소프트웨어 룩업(lookup)은 현저히 속도가 떨어질 수 밖에 없는 문제점이 있었다.In addition, NAPT-PT also uses 5tuple to manage the session, so the software lookup (lookup) had to be significantly slowed down.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, NAT-PT 세션 테이블을 이용하여 IPv6 호스트와 IPv4 호스트간에 전송되는 패킷 헤더를 변환함으로써, 소프트웨어를 기반으로 하는 NAT-PT 변환기술의 한계를 극복하고 NAT-PT와 NAPT-PT의 헤더 변환 기능을 동시에 수행하여 고속으로 패킷 포워딩을 할 수 있도록 한 네트워크 프로세서를 이용한 헤더 변환 시스템 및 그 방법을 제공함에 있다.
An object of the present invention to solve the above problems, by using a NAT-PT session table to convert the packet header transmitted between the IPv6 host and IPv4 host, to overcome the limitations of the software-based NAT-PT conversion technology In addition, the present invention provides a header conversion system and method using a network processor capable of performing packet forwarding at high speed by simultaneously performing header conversion functions of NAT-PT and NAPT-PT.
상기한 목적을 달성하기 위한 본 발명에 따른 네트워크 프로세서를 이용한 헤더 변환 시스템의 일 측면에 따르면, 전송되는 패킷에 따라 패킷 헤더 변환을 위한 세션 키 엔트리 정보를 이용하여 패킷 헤더 변환 정보가 저장된 세션 테이블로부터 패킷 헤더 변환정보를 획득하여 패킷 헤더 변환을 수행하는 라우팅 장치를 포함한다.According to an aspect of a header conversion system using a network processor according to the present invention for achieving the above object, from the session table in which packet header conversion information is stored using session key entry information for packet header conversion according to the transmitted packet And a routing device for acquiring packet header conversion information and performing packet header conversion.
상기 세션 키 엔트리 정보는, 근원지 호스트 주소정보와, 목적지 호스트 주소정보와, 프로토콜 정보와, 근원지 호스트 포트정보와, 목적지 호스트 포트정보 중 적어도 어느 하나의 정보를 포함한다.The session key entry information includes at least one of source host address information, destination host address information, protocol information, source host port information, and destination host port information.
상기 패킷 헤더 변환 정보는, 상기 호스트간 주소 변환 정보와 포트 변환 정보 중 적어도 어느 하나의 정보를 포함한다.The packet header translation information includes at least one of the host-to-host address translation information and port translation information.
상기 라우팅 장치는, 상기 호스트간 패킷 전송을 위한 포워딩 정보를 제공하는 포워딩 테이블과, 상기 호스트간 패킷 헤더 변환을 위한 키 엔트리 정보를 제공 하는 세션키 테이블과, 상기 호스트간 패킷 헤더 변환 정보를 제공하는 세션 테이블과, 상기 포워딩 테이블의 검색 결과에 따라 상기 세션키 테이블의 키 엔트리 정보가 상기 세션 테이블에 존재하는 경우 헤더 변환 모드에 따라 상기 세션 테이블의 패킷 헤더 변환 정보를 이용하여 전송된 패킷의 헤더 변환을 수행하는 제어부를 포함한다.The routing device includes a forwarding table for providing forwarding information for packet transmission between the hosts, a session key table for providing key entry information for packet header conversion between the hosts, and the packet header conversion information between the hosts. Header conversion of a transmitted packet using packet header conversion information of the session table according to a header conversion mode when key entry information of the session key table exists in the session table according to a session table and a search result of the forwarding table It includes a control unit for performing.
상기 제어부는, 상기 헤더 변환 모드가 주소 변환 모드인 경우 상기 세션 테이블로부터 주소 변환 정보를 획득하여 전송된 패킷의 주소 변환을 수행한다.When the header translation mode is the address translation mode, the controller obtains address translation information from the session table and performs address translation of the transmitted packet.
상기 제어부는, 상기 헤더 변환 모드가 포트 변환 모드인 경우 상기 세션 테이블로부터 포트 변환 정보를 획득하여 전송된 패킷의 포트 변환을 수행한다.When the header translation mode is the port translation mode, the controller obtains port translation information from the session table and performs port translation of the transmitted packet.
상기 포워딩 테이블을 관리하기 위한 포워딩 테이블 관리부를 더 포함한다.The apparatus may further include a forwarding table manager for managing the forwarding table.
상기 세션키 테이블과 세션 테이블을 관리하기 위한 테이블 관리부를 더 포함한다.And a table manager for managing the session key table and the session table.
한편, 상기한 목적을 달성하기 위한 본 발명에 따른 네트워크 프로세서를 이용한 헤더 변환 방법의 일 측면에 따르면, 전송되는 패킷에 따라 패킷 헤더 변환을 위한 세션 키 엔트리 정보를 생성하는 과정과, 상기 생성된 키 엔트리 정보를 이용하여 패킷 헤더 변환 정보를 획득하는 과정과, 상기 패킷 헤더 변환 정보를 이용하여 헤더 변환 모드에 따라 전송된 패킷의 헤더 변환을 수행하는 과정을 포함한다.On the other hand, according to one aspect of the header conversion method using a network processor according to the present invention for achieving the above object, the process of generating session key entry information for packet header conversion according to the transmitted packet, and the generated key Obtaining packet header conversion information using entry information, and performing header conversion of a packet transmitted according to a header conversion mode using the packet header conversion information.
이하, 본 발명의 바람직한 실시예의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 도면들 중 참조번호들 및 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호들 및 부호들로 나타내고 있음에 유의해야 한다. 하기에서 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, detailed descriptions of preferred embodiments of the present invention will be described with reference to the accompanying drawings. It should be noted that reference numerals and like elements among the drawings are denoted by the same reference numerals and symbols as much as possible even though they are shown in different drawings. In the following description of the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.
도 1은 본 발명에 따른 네트워크 프로세서를 이용한 헤더 변환 시스템의 개략적인 구성을 나타내는 도면이다.1 is a view showing a schematic configuration of a header conversion system using a network processor according to the present invention.
도 1에 도시된 바와 같이, IPv6 호스트(10)와 IPv4 호스트(20) 및 라우터(30)로 구성되어진다.As shown in FIG. 1, an
IPv6 호스트(10)는 IPv6(Internet Protocol, version 6)를 기반으로 동작하는 호스트이며, IPv4 호스트(20)는 IPv4(Internet Protocol, version 4)를 기반으로 동작하는 호스트이다.The
라우터(30)는 상기 IPv6 호스트(10)와 IPv4 호스트(20)간에 전송되는 패킷 헤더를 변환하기 위한 네트워크 프로세서로서, 예를 들어, IPv6 호스트(10)로부터 패킷이 수신되면 NAT-PT(Network Address Translation - Protocol Translation) 처리가 필요한 패킷인지를 확인한다. 이 때 만약 NAT-PT(Network Address Translation - Protocol Translation) 처리가 필요한 패킷인 경우 NAT-PT 세션 키 엔트리를 이용하여 라우팅 테이블을 검색하게 된다. 여기서, NAT-PT 세션 키 엔트리에는 IPv6 근원지 주소(source IPv6)와, IPv6 목적지 주소(destination IPv6)와, 프로토콜(protocal)과, 근원지 포트(source port)와, 목적지 포트(destination port) 등이 포함되어진다.The
검색 결과, 해당 엔트리가 존재하면 상기 라우터(30)는 주소 변환 모드인지를 확인하여 만약 주소 변환 모드이면 상기 라우팅 테이블로부터 주소 변환에 필요한 정보를 얻어 헤더 변환을 수행하고, 주소 변환 모드가 아닌 포트 변환 모드인 경우에는 상기 라우팅 테이블로부터 포트 변환 정보를 얻어 헤더 변환을 수행하게 된다.As a result of the search, if the entry exists, the
즉, 주소 변환 모드인 경우에는 예를 들어, 상기 IPv6 호스트(10)의 IPv6 주소가 '3ffe:1::2'이고 IPv4 호스트(20)의 IPv4 주소가 '1.1.1.1'인 경우, 상기 라우터(30)는 상기 라우팅 테이블로부터 상기 IPv6 주소 '3ffe:1::2'의 매핑된 IPv4 주소 '10.1.1.2'를 할당받아 헤더 변환을 수행하게 된다.That is, in the address translation mode, for example, when the IPv6 address of the
한편, 포트 변환 모드인 경우에는 예를 들어, 상기 IPv6 호스트(10)의 IPv6 포트가 '60'이고 상기 IPv4 호스트(20)의 포트가 '21'인 경우, 상기 라우터(30)는 상기 라우팅 테이블로부터 상기 IPv6 포트 '60'의 매핑된 IPv4 포트 '75'를 할당받아 헤더 변환을 수행하게 된다. 이때, 상기 IPv6 주소 '3ffe:1::2'의 매핑 IPv4 주소 '10.1.1.2'는 고정된 상태이므로 포트 변환 모드에서는 주소 변환도 함께 이루어지게 된다.On the other hand, in the port conversion mode, for example, when the IPv6 port of the
도 2는 도 1의 라우터의 상세 구성을 나타내는 도면이며, 도 3은 본 발명에 따른 NAT-PT를 위한 테이블 구조를 나타내는 도면이다.FIG. 2 is a diagram illustrating a detailed configuration of the router of FIG. 1, and FIG. 3 is a diagram illustrating a table structure for NAT-PT according to the present invention.
도 2에 도시된 바와 같이, 본 발명의 라우터(30)는 IPv6 호스트 인터페이스(31)와, IPv4 호스트 인터페이스(32)와, 포워딩 테이블(33)과, 포워딩 테이블 관리부(34)와, NAT-PT 세션키 테이블(35)과, NAT-PT 세션 테이블(36) 및 NAT-PT 테이블 관리부(37)와 제어부(38)로 구성되어진다.As shown in FIG. 2, the
IPv6 호스트 인터페이스(31)는 IPv6 호스트(10)와 인터페이싱을 작용을 하며, IPv4 호스트 인터페이스(32)는 IPv4 호스트(20)와 인터페이싱 작용을 한다.The
포워딩 테이블(forwarding table, 33)은 도 3에 나타난 바와 같이, IPv6 포워딩 테이블과 IPv4 포워딩 테이블로 구성되어지며, 각 테이블에는 엔트리(entry)별로 IPv6 망과 IPv4 망간의 패킷 전달을 위한 포워딩 정보가 저장되어진다.As shown in FIG. 3, the forwarding table 33 includes an IPv6 forwarding table and an IPv4 forwarding table, and each table stores forwarding information for forwarding packets between IPv6 and IPv4 networks by entry. It is done.
포워딩 테이블 관리부(34)는 상기 포워딩 테이블(forwarding table, 33)을 관리하는 역할을 수행한다.The
NAT-PT 세션키 테이블(35)은 도 3에 나타난 바와 같이, 상기 NAT-PT 세션 테이블(36)을 검색하기 위한 테이블로서, IPv6에 관한 키 엔트리(Key entry) 정보가 저장되어지는 IPv6 NAT-PT 세션키 테이블과, IPv4에 관한 키 엔트리(Key entry) 정보가 저장되어지는 IPv4 NAT-PT 세션키 테이블로 구분되어진다.As shown in FIG. 3, the NAT-PT session key table 35 is a table for searching the NAT-PT session table 36. The NAT-PT session key table 35 is an IPv6 NAT- where key entry information about IPv6 is stored. The PT session key table is divided into an IPv4 NAT-PT session key table in which key entry information about IPv4 is stored.
즉, 상기 IPv6 NAT-PT 세션키 테이블에는 IPv6 근원지 주소(source IPv6)와, IPv6 목적지 주소(destination IPv6)와, 프로토콜(protocal)과, 근원지 포트(source port)와, 목적지 포트(destination port) 정보와 같은 IPv6 5tuple 정보가 저장되어지며, IPv4 NAT-PT 세션키 테이블에는 IPv4 근원지 주소(source IPv4)와, IPv4 목적지 주소(destination IPv4)와, 프로토콜(protocal)과, 근원지 포트(source port)와, 목적지 포트(destination port) 정보와 같은 IPv4 5tuple 정보가 저장되어진다.That is, the IPv6 NAT-PT session key table includes IPv6 source IPv6, IPv6 destination IPv6, protocol, source port, and destination port information. IPv6 5tuple information is stored, and the IPv4 NAT-PT session key table contains IPv4 source address (IPv4), IPv4 destination address (IP4), protocol (protocal), source port (source port), IPv4 5tuple information such as destination port information is stored.
NAT-PT 세션 테이블(36)은 3에 나타난 바와 같이, Used Flag 필드와, Entry used 필드와, 변환 모드(translation mode) 필드와, reversed 필드와, 프로토콜 필드와, 호스트 포트(Host port) 필드와, 리모트 포트(Remote port) 필드와, Localv4 어드레스 필드와, remotev4 어드레스 필드와, Localv6 어드레스 필드와, Hostv6 어드레스 필드 및 Reserved 필드로 구성되어진다.The NAT-PT session table 36 includes the Used Flag field, the Entry used field, the translation mode field, the reversed field, the protocol field, the host port field, And a remote port field, a Localv4 address field, a remotev4 address field, a Localv6 address field, a Hostv6 address field, and a Reserved field.
호스트 포트(Host port) 필드에는 포트 풀(Port Pool)로부터 할당받은 로컬 포트 정보가 저장되어진다. 즉, 예를 들어, 근원지 포트(source port)인 IPv6 호스트 포트가 "60"이고, 목적지 포트(destination port)인 IPv4 리모트 포트가 "21"인 경우, 상기 IPv6 호스트 포트에 대한 로컬 포트는 포트 풀(Port Pool)로부터 할당받은 "75"가 된다. 즉, 상기 로컬 포트 정보 "75"가 상기 호스트 포트 필드에 저장되어진다.The host port field stores local port information allocated from the port pool. That is, for example, if the IPv6 host port of the source port is "60" and the IPv4 remote port of the destination port is "21", the local port for the IPv6 host port is a port pool. It becomes "75" allocated from (Port Pool). That is, the local port information "75" is stored in the host port field.
그리고, 상기 예에서 IPv4 리모트 포트 정보인 "21"이 리모트 포트(Remote port) 정보로서 리모트 포트(Remote port) 필드에 저장되어진다.In the above example, " 21 ", which is IPv4 remote port information, is stored in the remote port field as remote port information.
그리고, Hostv6 어드레스 필드에는 IPv6 근원지 주소(source IPv6)인 IPv6 호스트 주소가 저장되어지며, Localv4 어드레스 필드에는 어드레스 풀(address pool)로부터 할당된 상기 IPv6 호스트 주소의 로컬 IPv4 어드레스 정보가 저장되어진다.In the Hostv6 address field, an IPv6 host address that is an IPv6 source address (source IPv6) is stored, and in the Localv4 address field, local IPv4 address information of the IPv6 host address allocated from an address pool is stored.
그리고, remotev4 어드레스 필드에는 IPv4 근원지 주소(source IPv4)인 IPv4 호스트 주소가 저장되어지며, Localv6 어드레스 필드에는 상기 IPv4 호스트 주소의 로컬 IPv6 어드레스 정보가 저장되어진다.An IPv4 host address that is an IPv4 source address (source IPv4) is stored in a remotev4 address field, and local IPv6 address information of the IPv4 host address is stored in a localv6 address field.
NAT-PT 테이블 관리부(37)는 상기 NAT-PT 세션키 테이블(35)과 NAT-PT 세션 테이블(36)을 관리하는 역할을 수행한다.The NAT-
제어부(38)는 예를 들어, 상기 IPv6 호스트(10)로부터 패킷이 수신되면 상기 포워딩 테이블(forwarding table, 33)을 검색하여 수신된 패킷이 NAT-PT(Network Address Translation - Protocol Translation) 처리가 필요한 패킷인지를 확인한다. 이 때 만약 NAT-PT(Network Address Translation - Protocol Translation) 처리가 필요한 패킷이면 상기 NAT-PT 세션키 테이블(35)에 저장된 키 엔트리 정보를 이용하여 상기 NAT-PT 세션 테이블(36)을 검색하게 된다.For example, when a packet is received from the
검색 결과, 상기 NAT-PT 세션 테이블(36)에 해당 엔트리가 존재하면 상기 제어부(38)는 주소 변환 모드인지를 확인하여 주소 변환 모드인 경우에는 상기 NAT-PT 세션 테이블(36)로부터 주소 변환에 필요한 정보를 얻어 헤더 변환을 수행하고, 주소 변환 모드가 아닌 포트 변환 모드인 경우에는 상기 NAT-PT 세션 테이블(36)로부터 포트 변환 정보를 얻어 헤더 변환을 수행하게 된다.As a result of the search, if the corresponding entry exists in the NAT-PT session table 36, the
즉, 주소 변환 모드인 경우, 예를 들어 상기 IPv6 호스트(10)의 IPv6 주소가 '3ffe:1::2'이고 IPv4 호스트(20)의 IPv4 주소가 '1.1.1.1'인 경우, 상기 제어부(38)는 상기 NAT-PT 세션 테이블(36)로부터 상기 IPv6 주소 '3ffe:1::2'의 로컬 IPv4 주소 '10.1.1.2'를 할당받아 헤더 변환을 수행하게 된다.That is, in the address translation mode, for example, when the IPv6 address of the
한편, 포트 변환 모드인 경우에는 예를 들어 IPv6 호스트(10)의 IPv6 포트가 '60'이고 IPv4 호스트(20)의 포트가 '21'인 경우, 상기 제어부(38)는 상기 NAT-PT 세션 테이블(36)로부터 상기 IPv6 포트 '60'의 리모트 IPv4 포트 '75'를 할당받아 헤더 변환을 수행하게 된다. 이때, 상기 IPv6 주소 '3ffe:1::2'의 로컬 IPv4 주소 '10.1.1.2'는 고정된 상태이므로 포트 변환 모드에서는 주소 변환도 함께 이루어지게 된다.Meanwhile, in the case of the port translation mode, for example, when the IPv6 port of the
도 4는 본 발명에 따른 네트워크 프로세서를 이용한 헤더 변환 방법의 과정을 나타내는 도면이다.4 is a diagram illustrating a procedure of a header conversion method using a network processor according to the present invention.
도 4에 도시된 바와 같이, 라우터(30)는 IPv6 호스트(10)로부터 패킷이 수신(S10)되면 포워딩 테이블(forwarding table, 33)을 검색하여 수신된 패킷이 NAT-PT(Network Address Translation - Protocol Translation) 처리가 필요한 패킷인지를 확인(S20)하게 된다.As shown in FIG. 4, when a packet is received from the IPv6 host 10 (S10), the
확인 결과, 수신된 패킷이 NAT-PT(Network Address Translation - Protocol Translation) 처리가 필요한 패킷이 아닌 경우에는 수신된 패킷을 변환하지 않고 전송(S30)하게 된다.As a result, when the received packet is not a packet requiring NAT-PT (NAT-PT) processing, the received packet is transmitted without being converted (S30).
그러나, 만약 NAT-PT(Network Address Translation - Protocol Translation) 처리가 필요한 패킷이면 상기 라우터(30)는 NAT-PT 세션키 테이블(35)에 저장된 키 엔트리 정보를 이용하여 NAT-PT 세션 테이블(36)을 검색(S40)한 후 해당 엔트리가 존재하는지 확인(S50)하게 된다.However, if the packet requires NAT-PT (Network Address Translation-Protocol Translation) processing, the
확인 결과, 해당 엔트리가 상기 NAT-PT 세션 테이블(36)에 존재하지 않는 경우 상기 라우터(30)는 센션을 초기화(S60)하게 된다.As a result of the check, if the corresponding entry does not exist in the NAT-PT session table 36, the
그러나, 만약 상기 NAT-PT 세션 테이블(36) 검색 결과 해당 엔트리가 존재하는 경우 상기 라우터(30)는 주소 변환 모드인지를 확인(S70)하게 된다.However, if the corresponding entry exists as a result of the NAT-PT session table 36 search, the
확인 결과, 주소 변환 모드이면 상기 라우터(30)는 상기 NAT-PT 세션 테이블 (36)로부터 주소 변환에 필요한 정보를 획득(S80)하여 헤더 변환을 수행(S100)하게 되고, 주소 변환 모드가 아닌 포트 변환 모드인 경우에는 상기 NAT-PT 세션 테이블(36)로부터 포트 변환 정보를 획득(S90)하여 헤더 변환을 수행(S100)하게 된다.As a result of the check, in the address translation mode, the
이상에서는 본 발명에서 특정의 바람직한 실시예에 대하여 도시하고 또한 설명하였다. 그러나, 본 발명은 상술한 실시예에 한정되지 아니하며, 특허 청구의 범위에서 첨부하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능할 것이다.In the above, specific preferred embodiments of the present invention have been illustrated and described. However, the present invention is not limited to the above-described embodiment, and various modifications can be made by any person having ordinary skill in the art without departing from the gist of the present invention attached to the claims. will be.
본 발명에 따르면, NAT-PT 세션 테이블을 이용하여 IPv6 호스트와 IPv4 호스트간에 전송되는 패킷 헤더를 변환함으로써, 소프트웨어를 기반으로 하는 NAT-PT 변환기술의 한계를 극복하고 NAT-PT와 NAPT-PT의 헤더 변환 기능을 동시에 수행하여 고속으로 패킷 포워딩을 할 수 있게 되는 효과가 있다.According to the present invention, by translating packet headers transmitted between an IPv6 host and an IPv4 host using a NAT-PT session table, the limitations of the software-based NAT-PT conversion technology are overcome and the NAT-PT and NAPT-PT The packet forwarding can be performed at high speed by simultaneously performing the header conversion function.
Claims (13)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050001327A KR100693050B1 (en) | 2005-01-06 | 2005-01-06 | Header translation system and method using network processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050001327A KR100693050B1 (en) | 2005-01-06 | 2005-01-06 | Header translation system and method using network processor |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060081016A true KR20060081016A (en) | 2006-07-12 |
KR100693050B1 KR100693050B1 (en) | 2007-03-12 |
Family
ID=37172128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050001327A KR100693050B1 (en) | 2005-01-06 | 2005-01-06 | Header translation system and method using network processor |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100693050B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100817552B1 (en) * | 2006-09-29 | 2008-03-27 | 한국전자통신연구원 | Protocol conversion apparatus between ipv4 terminal and ipv6 terminal or between one application program and another application program using mapping table and method, and generation method of mapping table of the protocol conversion apparatus |
CN102970386A (en) * | 2012-11-15 | 2013-03-13 | 杭州迪普科技有限公司 | Method and device for realizing traverse of IPv6 message to IPv4 network |
US10116774B2 (en) | 2016-04-26 | 2018-10-30 | Lsis Co., Ltd. | Hardware protocol stack with user-defined protocol applied thereto and method for applying user-defined protocol to hardware protocol stack |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100538156B1 (en) * | 2003-02-15 | 2005-12-21 | 경희대학교 산학협력단 | Method of exchanging packets using IPv4 packet's option field between IPv6 host and IPv4 host |
-
2005
- 2005-01-06 KR KR1020050001327A patent/KR100693050B1/en not_active IP Right Cessation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100817552B1 (en) * | 2006-09-29 | 2008-03-27 | 한국전자통신연구원 | Protocol conversion apparatus between ipv4 terminal and ipv6 terminal or between one application program and another application program using mapping table and method, and generation method of mapping table of the protocol conversion apparatus |
CN102970386A (en) * | 2012-11-15 | 2013-03-13 | 杭州迪普科技有限公司 | Method and device for realizing traverse of IPv6 message to IPv4 network |
CN102970386B (en) * | 2012-11-15 | 2016-01-13 | 杭州迪普科技有限公司 | A kind of IPv6 of realization message passes through the method and apparatus of IPv4 network |
US10116774B2 (en) | 2016-04-26 | 2018-10-30 | Lsis Co., Ltd. | Hardware protocol stack with user-defined protocol applied thereto and method for applying user-defined protocol to hardware protocol stack |
Also Published As
Publication number | Publication date |
---|---|
KR100693050B1 (en) | 2007-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7231452B2 (en) | Method and apparatus for communicating on a communication network | |
US6580717B1 (en) | Packet communication method and apparatus and a recording medium storing a packet communication program | |
US7272148B2 (en) | Non-ALG approach for application layer session traversal of IPv6/IPv4 NAT-PT gateway | |
US7701952B2 (en) | Packet communication method and apparatus and a recording medium storing a packet communication program | |
KR100694209B1 (en) | ISATAP TUNNELING SYSTEM AND METHOD BETWEEN IPv4 NETWORK AND IPv6 NETWORK | |
JP4186446B2 (en) | Address translation method | |
US20100046530A1 (en) | IP Address Distribution in Middleboxes | |
US20050286553A1 (en) | Arrangement for reaching IPv4 public network nodes by a node in an IPv4 private network via an IPv6 access network | |
US20080080519A1 (en) | Protocol conversion apparatus and method between IPv4 terminal and IPv6 terminal or between application programs using mapping table, and method of generating mapping table of protocol conversion apparatus | |
US20060146870A1 (en) | Transparent communication with IPv4 private address spaces using IPv6 | |
JP2003218953A (en) | Apparatus for converting internet protocol addresses, communication network system and communication method using the same | |
KR100948693B1 (en) | Ip conversion apparatus and method for supporting interoperability between different networks using virtualization platform | |
KR100666987B1 (en) | System and Method for IPv4-IPv6 Transition Using Dual Stack Transition Mechanism | |
JP4572938B2 (en) | Address translation method | |
US7764686B1 (en) | Migration to IPv6 using combination of globally significant and locally significant IPv4 addresses | |
JP3915230B2 (en) | PACKET GENERATION METHOD, INFORMATION PROCESSING DEVICE HAVING ITS FUNCTION, AND RECORDING MEDIUM CONTAINING PACKET GENERATION PROGRAM | |
EP3395049B1 (en) | Router and method for connecting an ipv4 network and an ipv6 network | |
KR100693050B1 (en) | Header translation system and method using network processor | |
KR100672050B1 (en) | Method for translation between IPv4 and IPv6 embedded DNS Proxy module of distributed data processing and apparatus thereof | |
JP4670979B2 (en) | PACKET GENERATION METHOD, INFORMATION PROCESSING DEVICE HAVING THE FUNCTION, AND RECORDING MEDIUM CONTAINING PACKET GENERATION PROGRAM | |
JP4349413B2 (en) | PACKET GENERATION METHOD, INFORMATION PROCESSING DEVICE HAVING THE FUNCTION, AND RECORDING MEDIUM CONTAINING PACKET GENERATION PROGRAM | |
KR100612007B1 (en) | Interconnection method and apparatus between IPv4 network and IPv6 network | |
JP4009605B2 (en) | COMMUNICATION SYSTEM, TRANSFER PROCESSING METHOD, COMMUNICATION DEVICE, AND PROGRAM | |
KR20040069502A (en) | Method and apparatus for joining the function of protocol under IPv4-IPv6 | |
JP2010212921A (en) | Ipv6/ipv4 translator, and ipv6/ipv4 network system using the same |
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 |