KR20060081016A - Header translation system and method using network processor - Google Patents

Header translation system and method using network processor Download PDF

Info

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
Application number
KR1020050001327A
Other languages
Korean (ko)
Other versions
KR100693050B1 (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 삼성전자주식회사
Priority to KR1020050001327A priority Critical patent/KR100693050B1/en
Publication of KR20060081016A publication Critical patent/KR20060081016A/en
Application granted granted Critical
Publication of KR100693050B1 publication Critical patent/KR100693050B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/741Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers 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

네트워크 프로세서를 이용한 헤더 변환 시스템 및 그 방법{HEADER TRANSLATION SYSTEM AND METHOD USING NETWORK PROCESSOR} HEADER TRANSLATION SYSTEM AND METHOD USING NETWORK PROCESSOR}             

도 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 host 10, an IPv4 host 20, and a router 30 are configured.

IPv6 호스트(10)는 IPv6(Internet Protocol, version 6)를 기반으로 동작하는 호스트이며, IPv4 호스트(20)는 IPv4(Internet Protocol, version 4)를 기반으로 동작하는 호스트이다.The IPv6 host 10 is a host operating based on IPv6 (Internet Protocol, version 6), and the IPv4 host 20 is a host operating based on IPv4 (Internet Protocol, version 4).

라우터(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 router 30 is a network processor for translating packet headers transmitted between the IPv6 host 10 and the IPv4 host 20. For example, when a packet is received from the IPv6 host 10, a NAT-PT (Network Address) is used. Translation-Protocol Translation) Check if the packet requires processing. At this time, if the packet requires NAT-PT (Network Address Translation-Protocol Translation) processing, the routing table is searched using the NAT-PT session key entry. Here, the NAT-PT session key entry includes an IPv6 source address (source IPv6), an IPv6 destination address (IP6), a protocol, a source port, a destination port, and the like. It is done.

검색 결과, 해당 엔트리가 존재하면 상기 라우터(30)는 주소 변환 모드인지를 확인하여 만약 주소 변환 모드이면 상기 라우팅 테이블로부터 주소 변환에 필요한 정보를 얻어 헤더 변환을 수행하고, 주소 변환 모드가 아닌 포트 변환 모드인 경우에는 상기 라우팅 테이블로부터 포트 변환 정보를 얻어 헤더 변환을 수행하게 된다.As a result of the search, if the entry exists, the router 30 checks whether the address is in the address translation mode, and if it is in the address translation mode, performs header translation by obtaining information necessary for address translation from the routing table, and port translation other than the address translation mode. In the mode, the header conversion is performed by obtaining port conversion information from the routing table.

즉, 주소 변환 모드인 경우에는 예를 들어, 상기 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 host 10 is '3ffe: 1 :: 2' and the IPv4 address of the IPv4 host 20 is '1.1.1.1', the router 30 is assigned a mapped IPv4 address '10 .1.1.2 'of the IPv6 address' 3ffe: 1 :: 2' from the routing table to perform header translation.

한편, 포트 변환 모드인 경우에는 예를 들어, 상기 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 IPv6 host 10 is '60' and the port of the IPv4 host 20 is '21', the router 30 is the routing table The header conversion is performed by receiving the mapped IPv4 port '75' of the IPv6 port '60'. In this case, since the mapping IPv4 address '10 .1.1.2 'of the IPv6 address' 3ffe: 1 :: 2' is fixed, address translation is also performed in the port translation mode.

도 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 router 30 of the present invention includes an IPv6 host interface 31, an IPv4 host interface 32, a forwarding table 33, a forwarding table manager 34, and a NAT-PT. A session key table 35, a NAT-PT session table 36, a NAT-PT table management unit 37, and a control unit 38 are formed.

IPv6 호스트 인터페이스(31)는 IPv6 호스트(10)와 인터페이싱을 작용을 하며, IPv4 호스트 인터페이스(32)는 IPv4 호스트(20)와 인터페이싱 작용을 한다.The IPv6 host interface 31 interfaces with the IPv6 host 10, and the IPv4 host interface 32 interfaces with the IPv4 host 20.

포워딩 테이블(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 forwarding table manager 34 manages the forwarding table 33.

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-PT table manager 37 manages the NAT-PT session key table 35 and the NAT-PT session table 36.

제어부(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 IPv6 host 10, the controller 38 searches for a forwarding table 33 and requires a NAT-PT (NAT-PT) process. Check if it is a packet. At this time, if the packet requires NAT-PT (Network Address Translation-Protocol Translation) processing, the NAT-PT session table 36 is searched using key entry information stored in the NAT-PT session key table 35. .

검색 결과, 상기 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 controller 38 checks whether the address is in the address translation mode. The header conversion is performed by obtaining necessary information, and in the port translation mode other than the address translation mode, the header translation is performed by obtaining the port translation information from the NAT-PT session table 36.

즉, 주소 변환 모드인 경우, 예를 들어 상기 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 host 10 is '3ffe: 1 :: 2' and the IPv4 address of the IPv4 host 20 is '1.1.1.1', the controller ( 38) receives a local IPv4 address '10 .1.1.2 'of the IPv6 address' 3ffe: 1 :: 2' from the NAT-PT session table 36 and performs header conversion.

한편, 포트 변환 모드인 경우에는 예를 들어 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 IPv6 host 10 is '60' and the port of the IPv4 host 20 is '21', the controller 38 controls the NAT-PT session table. From the 36, the remote IPv4 port '75' of the IPv6 port '60' is allocated to perform header conversion. At this time, since the local IPv4 address '10 .1.1.2 'of the IPv6 address' 3ffe: 1 :: 2' is fixed, address translation is also performed in the port translation mode.

도 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 router 30 searches for a forwarding table 33 and the received packet is NAT-PT (Network Address Translation-Protocol). It is checked whether the packet requires translation (S20).

확인 결과, 수신된 패킷이 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 router 30 may use the NAT-PT session table 36 by using key entry information stored in the NAT-PT session key table 35. Search for (S40) and then check whether the corresponding entry exists (S50).

확인 결과, 해당 엔트리가 상기 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 router 30 initializes the sense (S60).

그러나, 만약 상기 NAT-PT 세션 테이블(36) 검색 결과 해당 엔트리가 존재하는 경우 상기 라우터(30)는 주소 변환 모드인지를 확인(S70)하게 된다.However, if the corresponding entry exists as a result of the NAT-PT session table 36 search, the router 30 checks whether it is in the address translation mode (S70).

확인 결과, 주소 변환 모드이면 상기 라우터(30)는 상기 NAT-PT 세션 테이블 (36)로부터 주소 변환에 필요한 정보를 획득(S80)하여 헤더 변환을 수행(S100)하게 되고, 주소 변환 모드가 아닌 포트 변환 모드인 경우에는 상기 NAT-PT 세션 테이블(36)로부터 포트 변환 정보를 획득(S90)하여 헤더 변환을 수행(S100)하게 된다.As a result of the check, in the address translation mode, the router 30 obtains information necessary for address translation from the NAT-PT session table 36 (S80) and performs header translation (S100). In the conversion mode, port conversion information is obtained from the NAT-PT session table 36 (S90), and header conversion is performed (S100).

이상에서는 본 발명에서 특정의 바람직한 실시예에 대하여 도시하고 또한 설명하였다. 그러나, 본 발명은 상술한 실시예에 한정되지 아니하며, 특허 청구의 범위에서 첨부하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능할 것이다.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)

서로 다른 프로토콜을 갖는 호스트간 헤더 변환 시스템에 있어서,In a host-to-host header conversion system having different protocols, 전송되는 패킷에 따라 패킷 헤더 변환을 위한 세션 키 엔트리 정보를 이용하여 패킷 헤더 변환 정보가 저장된 세션 테이블로부터 패킷 헤더 변환정보를 획득하여 패킷 헤더 변환을 수행하는 라우팅 장치를 포함하는 것을 특징으로 하는 헤더 변환 시스템.And a routing device that performs packet header conversion by acquiring packet header conversion information from a session table in which packet header conversion information is stored using session key entry information for packet header conversion according to a transmitted packet. system. 제 1항에 있어서,The method of claim 1, 상기 세션 키 엔트리 정보는,The session key entry information is 근원지 호스트 주소정보와, 목적지 호스트 주소정보와, 프로토콜 정보와, 근원지 호스트 포트정보와, 목적지 호스트 포트정보 중 적어도 어느 하나의 정보를 포함하는 것을 특징으로 하는 헤더 변환 시스템.And at least one of source host address information, destination host address information, protocol information, source host port information, and destination host port information. 제 1항에 있어서,The method of claim 1, 상기 패킷 헤더 변환 정보는,The packet header conversion information is 상기 호스트간 주소 변환 정보와 포트 변환 정보 중 적어도 어느 하나의 정보를 포함하는 것을 특징으로 하는 헤더 변환 시스템.And at least one of the host-to-host address translation information and port translation information. 제 1항에 있어서,The method of claim 1, 상기 라우팅 장치는,The routing device, 상기 호스트간 패킷 전송을 위한 포워딩 정보를 제공하는 포워딩 테이블과,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 translation between hosts; 상기 호스트간 패킷 헤더 변환 정보를 제공하는 세션 테이블과,A session table for providing the packet header conversion information between the hosts; 상기 포워딩 테이블의 검색 결과에 따라 상기 세션키 테이블의 키 엔트리 정보가 상기 세션 테이블에 존재하는 경우 헤더 변환 모드에 따라 상기 세션 테이블의 패킷 헤더 변환 정보를 이용하여 전송된 패킷의 헤더 변환을 수행하는 제어부를 포함하는 것을 특징으로 하는 헤더 변환 시스템.A control unit for performing 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 search result of the forwarding table Header conversion system comprising a. 제 4항에 있어서,The method of claim 4, wherein 상기 제어부는,The control unit, 상기 헤더 변환 모드가 주소 변환 모드인 경우 상기 세션 테이블로부터 주소 변환 정보를 획득하여 전송된 패킷의 주소 변환을 수행하는 것을 특징으로 하는 헤더 변환 시스템.And when the header translation mode is an address translation mode, address translation information is obtained from the session table and address translation of the transmitted packet is performed. 제 4항에 있어서,The method of claim 4, wherein 상기 제어부는,The control unit, 상기 헤더 변환 모드가 포트 변환 모드인 경우 상기 세션 테이블로부터 포트 변환 정보를 획득하여 전송된 패킷의 포트 변환을 수행하는 것을 특징으로 하는 헤더 변환 시스템.And if the header translation mode is a port translation mode, the port translation information is obtained from the session table and port translation of the transmitted packet is performed. 제 4항에 있어서,The method of claim 4, wherein 상기 포워딩 테이블을 관리하기 위한 포워딩 테이블 관리부를 더 포함하는 것을 특징으로 하는 헤더 변환 시스템.And a forwarding table manager for managing the forwarding table. 제 4항에 있어서,The method of claim 4, wherein 상기 세션키 테이블과 세션 테이블을 관리하기 위한 테이블 관리부를 더 포함하는 것을 특징으로 하는 헤더 변환 시스템.And a table manager for managing the session key table and the session table. 서로 다른 프로토콜을 갖는 호스트간 헤더 변환 방법에 있어서,In the host-to-host header conversion method having different protocols, 전송되는 패킷에 따라 패킷 헤더 변환을 위한 세션 키 엔트리 정보를 생성하 는 과정과,Generating session key entry information for packet header conversion according to the transmitted packet; 상기 생성된 키 엔트리 정보를 이용하여 패킷 헤더 변환 정보를 획득하는 과정과,Obtaining packet header conversion information by using the generated key entry information; 상기 패킷 헤더 변환 정보를 이용하여 헤더 변환 모드에 따라 전송된 패킷의 헤더 변환을 수행하는 과정을 포함하는 것을 특징으로 하는 헤더 변환 방법.And performing a header conversion of a packet transmitted according to a header conversion mode by using the packet header conversion information. 제 9항에 있어서,The method of claim 9, 상기 세션 키 엔트리 정보는,The session key entry information is 근원지 호스트 주소정보와, 목적지 호스트 주소정보와, 프로토콜 정보와, 근원지 호스트 포트정보와, 목적지 호스트 포트정보 중 적어도 어느 하나의 정보를 포함하는 것을 특징으로 하는 헤더 변환 방법.And at least one of source host address information, destination host address information, protocol information, source host port information, and destination host port information. 제 9항에 있어서,The method of claim 9, 상기 패킷 헤더 변환 정보는,The packet header conversion information is 상기 호스트간 주소 변환 정보와 포트 변환 정보 중 적어도 어느 하나의 정보를 포함하는 것을 특징으로 하는 헤더 변환 방법.And at least one of the host-to-host address translation information and port translation information. 제 9항에 있어서,The method of claim 9, 상기 패킷 헤더 변환을 수행하는 과정에서, 상기 헤더 변환 모드가 주소 변환 모드인 경우 전송된 패킷의 주소 변환을 수행하는 것을 특징으로 하는 헤더 변환 방법.And in the process of performing the packet header transformation, when the header translation mode is an address translation mode, address translation of a transmitted packet is performed. 제 9항에 있어서,The method of claim 9, 상기 패킷 헤더 변환을 수행하는 과정에서, 상기 헤더 변환 모드가 포트 변환 모드인 경우 전송된 패킷의 포트 변환을 수행하는 것을 특징으로 하는 헤더 변환 방법.And in the process of performing the packet header conversion, when the header conversion mode is a port conversion mode, port conversion of a transmitted packet is performed.
KR1020050001327A 2005-01-06 2005-01-06 Header translation system and method using network processor KR100693050B1 (en)

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)

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

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

Cited By (4)

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