KR20150089894A - Network Address Translation apparatus with cookie proxy function and method for NAT supporting cookie proxy function - Google Patents

Network Address Translation apparatus with cookie proxy function and method for NAT supporting cookie proxy function Download PDF

Info

Publication number
KR20150089894A
KR20150089894A KR1020140042277A KR20140042277A KR20150089894A KR 20150089894 A KR20150089894 A KR 20150089894A KR 1020140042277 A KR1020140042277 A KR 1020140042277A KR 20140042277 A KR20140042277 A KR 20140042277A KR 20150089894 A KR20150089894 A KR 20150089894A
Authority
KR
South Korea
Prior art keywords
cookie
packet
nat
address
received packet
Prior art date
Application number
KR1020140042277A
Other languages
Korean (ko)
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 US14/602,590 priority Critical patent/US20150215277A1/en
Publication of KR20150089894A publication Critical patent/KR20150089894A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • 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

Abstract

According to the present invention, a network address translation (NAT) device includes: a NAT unit which converts an address to enable the communications between a client and a server through an external network with reference to a NAT table managing an internal IP address and an external IP address mapped onto the internal IP address; and a cookie proxy unit which provides cookies for the client with reference to an access cookie table managing the cookies corresponding to the external IP address when there is a cookie request from the client.

Description

쿠키 프락시 기능을 구비한 네트워크 주소 변환 장치 및 쿠키 프락시 기능을 지원하는 네트워크 주소 변환 방법 {Network Address Translation apparatus with cookie proxy function and method for NAT supporting cookie proxy function}[0001] The present invention relates to a network address translation apparatus having a cookie proxy function and a network address translation method for supporting a cookie proxy function,

본 발명은 네트워크 주소 변환 장치 및 네트워크 주소 변환 방법에 관한 것으로, 더욱 상세하게는 쿠키 프락시 기능을 함께 수행하는 네트워크 주소 변환 장치 및 네트워크 주소 변환 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a network address translation apparatus and a network address translation method, and more particularly, to a network address translation apparatus and a network address translation method for performing a cookie proxy function together.

사용자가 체감하는 네트워크의 성능은 네트워크의 대역폭, 패킷 손실율, 패킷 지연 시간 등에 의존적이다. 많은 양의 데이터를 전송할 때에는 대역폭이 성능에 큰 영향을 미치는 반면에, 패킷 지연 시간에 의한 체감 성능의 차이는 적다. 그러나 적은 양의 데이터를 전송할 때에 사용자의 체감 성능은 대역폭보다 패킷 지연 시간에 민감하다. The performance of the network that the user experiences depends on the bandwidth of the network, the packet loss rate, and the packet delay time. Bandwidth greatly affects performance when transmitting large amounts of data, but there is little difference in performance due to packet delay time. However, when transmitting a small amount of data, the user's performance is more sensitive to packet delay than bandwidth.

웹과 같은 애플리케이션에서 지연 시간을 줄이기 위한 HTTP 2.0, TCP(Transmission Control Protocol)에서의 연결 지연 시간(connection latency)을 줄이기 위한 TFO(TCP Fast Open), UDP(User Datagram Protocol) 기반의 저지연(low-latency)연결을 제공하는 QUIC(Quick UDP Internet Connections)과 같은 프로토콜이 제안 및 연구되고 있다.HTTP 2.0 to reduce latency in applications such as the Web, TCP Fast Open (TFO) to reduce connection latency in Transmission Control Protocol (TCP), Low Latency (low) based on User Datagram Protocol (UDP) protocols such as QUIC (Quick UDP Internet Connections), which provide connectivity to the Internet, are proposed and studied.

일반적으로 클라이언트가 서버에게 요청을 하고 응답을 받는 웹 어플리케이션에서 HTTP(HyperText Transfer Protocol)와 같은 프로토콜은 TCP의 상위 계층에서 동작한다. TCP는 종단간(end-to-end) 연결을 위해 3-way handshake를 하게 되는데 연결이 체결되기까지 1 RTT(Round Trip Time)의 시간이 소요된다. 이 연결 시간을 줄이기 위해 연결 요청과 함께 요청 메시지(HTTP의 경우 HTTP request)를 같이 보낼 수 있는 방식이 고려되는데, TCP를 수정한 TFO와 UDP 상에서 동작하는 QUIC에서 이용된다.Generally, a protocol such as HTTP (HyperText Transfer Protocol) in a web application that a client makes a request to and receives a response from the server operates in a higher layer of TCP. TCP performs a 3-way handshake for end-to-end connections, which takes a RTT (Round Trip Time) time until the connection is established. In order to reduce the connection time, a method of sending a request message (HTTP request in HTTP) together with a connection request is considered, which is used in TFO with modified TCP and QUIC operating on UDP.

하지만, 연결 요청과 요청 메시지를 함께 보내는 방식은 보안에 문제가 있다. 한 가지 문제점은 기존의 3-way handshake를 통해 상대방이 유효한(valid) 대상인지 확인하는 과정 없이 요청 메시지에 대한 응답을 처리하기 때문에 DDoS(Distributed Denial of Service) 공격에 더욱 취약하다.  However, there is a security problem with the method of sending the connection request and the request message together. One problem is that it is more vulnerable to Distributed Denial of Service (DDoS) attacks because it processes the response to the request message without checking whether the other party is valid through the existing 3-way handshake.

이러한 취약점을 보완하기 위해 TFO 및 QUIC과 같은 프로토콜에서는 접속 쿠키(connection cookie)를 이용한다. 클라이언트는 서버와 처음 연결을 맺을 때, 서버로부터 접속 쿠키를 수신하고, 이후에 서버에 요청을 하는 때에 접속 쿠키와 함께 요청을 보냄으로써 클라이언트가 유효한 대상이라는 것(이전에 서버와 통신을 한 적이 있는 대상이라는 것)을 스스로 증명한다.To compensate for this vulnerability, protocols such as TFO and QUIC use connection cookies. When a client makes a connection to the server for the first time, it receives a connection cookie from the server and then sends a request with the connection cookie when it makes a request to the server so that the client is a valid target Object) of the subject.

그런데, 접속 쿠키를 사용하는 방식은 네트워크 주소 변환(Network Address Translation, NAT) 환경에서 동작하기 어렵다. 일반적으로 접속 쿠키는 고유한 클라이언트 IP 주소마다 (remote IP 마다) 하나가 생성이 되는데, NAT 환경에서는 NAT 외부 IP와 NAT 내부 IP가 1:1 관계가 아닌 경우가 많다.  However, the method of using the connection cookie is difficult to operate in a network address translation (NAT) environment. In general, a connection cookie is generated for each unique client IP address (for each remote IP). In a NAT environment, there are many cases where a NAT external IP and a NAT internal IP do not have a 1: 1 relationship.

예를 들어, 한 클라이언트가 접속 쿠키를 이미 받아왔다고 하더라도 다음 번 세션에서는 NAT 장치에 의해 다른 NAT 외부 IP가 할당되면 이미 받아온 접속 쿠키를 사용할 수 없는 경우가 생긴다. 서버의 입장에서는 클라이언트의 IP가 바뀌었기 때문에 같은 접속 쿠키를 사용할 수가 없다. 뿐만 아니라, 같은 NAT 외부 IP를 가지는 다른 클라이언트에 의해 접속 쿠키가 요청되면 기존에 가지고 있던 접속 쿠키를 사용할 수 없게 된다.For example, even if one client has already received a connection cookie, the next session may not be able to use the already received connection cookie if another NAT external IP is assigned by the NAT device. From the server's point of view, the same connection cookie can not be used because the client's IP has changed. In addition, if an access cookie is requested by another client having the same NAT external IP, the existing connection cookie can not be used.

본 발명이 이루고자 하는 기술적 과제는 NAT 환경에서도 접속 쿠키를 사용하기 위한 NAT 장치 및 NAT 방법을 제공함으로써 IP 주소 부족 문제를 해소하면서도 접속 지연 시간을 최소화하는 것이다.SUMMARY OF THE INVENTION The present invention provides a NAT device and a NAT method for using a connection cookie even in a NAT environment, thereby minimizing the connection delay time while eliminating the IP address shortage problem.

본 발명이 이루고자 하는 기술적 과제는 접속 쿠키를 NAT 환경에서 사용하기 위해 접속 쿠키 프락시를 통해 효율적으로 접속 쿠키의 전달을 대리하는 NAT 장치 및 NAT 방법을 제공하는 것이다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a NAT apparatus and a NAT method for efficiently transferring an access cookie through a connection cookie proxy for using an access cookie in a NAT environment.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재들로부터 당업자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the above-mentioned technical problems, and other technical problems which are not mentioned can be understood by those skilled in the art from the following description.

본 발명의 일 실시예에 따른 네트워크 주소 변환(Network address translation, NAT) 장치는 내부(inside) IP 주소 및 내부 IP 주소에 매핑된 외부(outside) IP 주소를 관리하는 NAT 테이블을 참조하여 외부 네트워크를 통하여 클라이언트와 서버가 통신할 수 있도록 주소를 변환하는 NAT부, 및 상기 클라이언트로부터 쿠키 요청이 있는 경우, 상기 외부 IP 주소에 대응하는 쿠키(cookie)를 관리하는 접속 쿠키 테이블을 참조하여 상기 클라이언트에 쿠키를 제공하는 쿠키 프락시부를 포함하여 NAT 환경에서도 쿠키 프락시 기능을 수행할 수 있다. A network address translation (NAT) apparatus according to an embodiment of the present invention refers to a NAT table that manages an inside IP address and an outside IP address mapped to an internal IP address, A NAT unit for converting an address so as to allow a client and a server to communicate with each other, and, when there is a cookie request from the client, referring to an access cookie table managing a cookie corresponding to the external IP address, The cookie proxy function can be performed even in the NAT environment including the cookie proxy section.

일 실시예에 있어서, 상기 쿠키 프락시부는 수신 패킷이 쿠키 요청 패킷 또는 쿠키 응답 패킷에 해당하는 지 여부를 판별하는 패킷 판별부, 및 상기 수신 패킷이 쿠키 요청 패킷인 경우, 상기 NAT 테이블로부터 상기 수신 패킷의 외부 IP주소를 검색하여 상기 접속 쿠키 테이블로부터 쿠키를 도출하는 쿠키 도출부를 포함할 수 있다. 상기 NAT 장치는 상기 도출된 쿠키에 기초하여 쿠키 응답을 생성하는 쿠키 응답부를 더 포함할 수 있다.In one embodiment, the cookie proxy unit comprises: a packet discrimination unit for discriminating whether a received packet corresponds to a cookie request packet or a cookie response packet; and, if the received packet is a cookie request packet, And a cookie derivation unit for deriving a cookie from the connection cookie table by searching the external IP address of the connection cookie table. The NAT device may further include a cookie responding section for generating a cookie response based on the derived cookie.

상기 쿠키 도출부는 상기 수신 패킷이 쿠키 요청 패킷이나, 상기 접속 쿠키 테이블에 상기 외부 IP 주소에 대응되는 엔트리가 존재하지 않는 경우, 상기 수신 패킷을 상기 NAT 부로 전달할 수 있다. 실시예에 따라, 상기 NAT 부는 상기 쿠키 요청 패킷에 해당하는 수신 패킷에 대한 네트워크 주소 변환을 수행하여 상기 서버에 대하여 쿠키를 요청할 수 있다. The cookie derivation unit may forward the received packet to the NAT unit if the received packet is a cookie request packet or if there is no entry corresponding to the external IP address in the connection cookie table. According to an embodiment, the NAT unit may perform a network address translation for a received packet corresponding to the cookie request packet and request a cookie to the server.

일 실시예에 있어서, 상기 쿠키 프락시부는 상기 수신 패킷이 쿠키 응답 패킷인 경우, 상기 수신 패킷에 포함된 쿠키 정보에 기초하여 상기 접속 쿠키 테이블을 갱신하거나 새로운 엔트리를 생성하는 쿠키 관리부를 포함할 수 있다.In one embodiment, the cookie proxy unit may include a cookie management unit that updates the connection cookie table or generates a new entry based on the cookie information included in the received packet when the received packet is a cookie response packet .

상기 쿠키 판별부는 상기 수신 패킷이 상기 쿠키 요청 패킷 또는 상기 쿠키 응답 패킷 중 적어도 하나에 해당되지 않는 경우, 상기 수신 패킷을 상기 NAT 부로 제공하여 네트워크 주소 변환 동작을 수행할 수 있다. If the received packet does not correspond to at least one of the cookie request packet or the cookie response packet, the cookie distinguishing unit may perform the network address translation operation by providing the received packet to the NAT unit.

일 실시예에 있어서, 상기 NAT 장치는 상기 클라이언트 측 네트워크와 물리적으로 연결되는 클라이언트 단자 및 상기 서버 측 네트워크와 물리적으로 연결되는 서버 단자를 더 포함할 수 있다. 상기 패킷 판별부는 상기 수신 패킷이 상기 클라이언트 단자로부터 수신되는 경우에는 쿠키 요청 패킷 여부만을 판단하고, 상기 수신 패킷이 상기 서버로부터 수신되는 경우에는 쿠키 응답 패킷 여부만을 판단할 수 있다.In one embodiment, the NAT device may further include a client terminal physically connected to the client-side network and a server terminal physically connected to the server-side network. The packet determining unit may determine whether the received packet is a cookie request packet only when the received packet is received from the client terminal, and may determine whether or not the received packet is a cookie response packet only when the received packet is received from the server.

일 실시예에 있어서, 상기 접속 쿠키 테이블은 상기 쿠키의 외부 IP에 대응되는 상기 NAT 테이블 내의 포인터 또는 상기 외부 IP주소에 대응되는 외부 포트 정보를 포함할 수 있다.In one embodiment, the connection cookie table may include a pointer in the NAT table corresponding to the external IP of the cookie, or external port information corresponding to the external IP address.

본 발명의 실시예들에 따른 네트워크 주소 변환 방법은 외부 IP 주소에 대응하는 쿠키(cookie)를 관리하는 접속 쿠키 테이블을 구비하는 네트워크 주소 변환(Network address translation, NAT) 장치에 있어서, 수신 패킷이 쿠키 요청 패킷 또는 쿠키 응답 패킷에 해당하는 지 여부를 판별하는 단계, 및 상기 수신 패킷이 상기 쿠키 요청 패킷에 해당하는 경우, 상기 접속 쿠키 테이블로부터 쿠키를 도출하여 쿠키 응답을 제공하는 단계를 포함하여 쿠키 프락시 기능을 지원할 수 있다. A network address translation method according to embodiments of the present invention is a network address translation (NAT) apparatus having a connection cookie table for managing a cookie corresponding to an external IP address, Determining whether the received packet corresponds to a request packet or a cookie response packet; and if the received packet corresponds to the cookie request packet, deriving a cookie from the connection cookie table to provide a cookie response, Function can be supported.

일 실시예에 있어서, 상기 쿠키 응답을 제공하는 단계는 상기 수신 패킷에 포함된 내부 IP 주소에 기초하여 NAT 테이블로부터 외부 IP 주소를 검색하는 단계, 상기 검색된 외부 IP 주소에 기초하여 상기 접속 쿠키 테이블로부터 상기 쿠키를 도출하는 단계, 및 상기 도출된 쿠키를 상기 쿠키 응답으로 생성하는 단계를 포함할 수 있다.In one embodiment, the step of providing the cookie response may include retrieving an external IP address from the NAT table based on the internal IP address included in the received packet, retrieving from the connection cookie table based on the retrieved external IP address Deriving the cookie, and generating the derived cookie as the cookie response.

상기 접속 쿠키 테이블에 상기 수신 패킷의 외부 IP 주소의 엔트리가 없는 경우, 상기 수신 패킷에 대하여 네트워크 주소 변환을 수행하는 단계를 포함할 수 있다.And performing a network address translation on the received packet when there is no entry of the external IP address of the received packet in the connection cookie table.

본 발명의 일 실시예에 따른 NAT 방법은 상기 수신 패킷이 쿠키 응답 패킷인 경우, 상기 수신 패킷에 포함된 쿠키 정보에 기초하여 상기 접속 쿠키 테이블을 관리하는 단계를 더 포함할 수 있다.The NAT method according to an embodiment of the present invention may further include managing the connection cookie table based on the cookie information included in the received packet when the received packet is a cookie response packet.

상기 수신 패킷이 상기 쿠키 응답 패킷 또는 상기 쿠키 요청 패킷 중 적어도 하나에 해당하지 않는 경우, 상기 수신 패킷에 대하여 네트워크 주소 변환 동작을 수행하는 단계를 더 포함할 수 있다.And performing a network address translation operation on the received packet if the received packet does not correspond to at least one of the cookie response packet or the cookie request packet.

본 발명에 따르면 IP 주소 부족 문제를 해소하면서도 내부 네트워크를 외부로부터 보호할 수 있는 NAT 환경에서 접속 쿠키를 사용할 수 있으므로, 높은 보안성을 기하면서 접속 지연 시간을 줄일 수 있다. According to the present invention, since the access cookie can be used in an NAT environment that can protect the internal network from the outside while eliminating the problem of lacking the IP address, the connection delay time can be reduced while securing high security.

아울러 본 발명의 실시예는 예시를 위한 것으로, 당업자라면 첨부된 특허청구범위의 기술적 사상과 범위를 통해 다양한 수정, 변경, 대체 및 부가가 가능할 것이며, 이러한 수정 변경 등은 이하의 특허청구범위에 속하는 것으로 보아야 할 것이다.It will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. .

도 1은 본 발명의 일 실시예에 따른 쿠키 프락시 기능을 구비하는 네트워크 주소 변환 장치를 포함하는 통신 시스템을 개념적으로 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 쿠키 프락시 기능을 구비하는 NAT 장치를 나타내는 도면이다.
도 3은 예시적인 NAT 테이블(table_N)들을 나타내는 도면이다.
도 4는 예시적인 접속 쿠키 테이블(table_C)들을 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 쿠키 프락시부를 나타내는 블록도이다.
도 6은 본 발명의 일 실시예에 따른 쿠키 프락시 기능을 지원하는 NAT 방법을 설명하기 위한 흐름도이다.
도 7 및 도 8은 본 발명에 따른 접속 쿠키 프락시 동작을 예시적으로 설명하기 위한 흐름도들이다.
1 is a conceptual illustration of a communication system including a network address translation apparatus having a cookie proxy function according to an embodiment of the present invention.
2 is a diagram illustrating a NAT device having a cookie proxy function according to an embodiment of the present invention.
3 shows an exemplary NAT table (table_N).
4 is a diagram showing exemplary connection cookie tables (table_C).
5 is a block diagram illustrating a cookie proxy unit according to an embodiment of the present invention.
FIG. 6 is a flowchart illustrating a NAT method supporting a cookie proxy function according to an exemplary embodiment of the present invention. Referring to FIG.
7 and 8 are flowcharts for illustrating exemplary connection cookie proxy operations according to the present invention.

이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. The same reference numerals are used for the same constituent elements in the drawings and redundant explanations for the same constituent elements are omitted.

본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.For the embodiments of the invention disclosed herein, specific structural and functional descriptions are set forth for the purpose of describing an embodiment of the invention only, and it is to be understood that the embodiments of the invention may be practiced in various forms, The present invention should not be construed as limited to the embodiments described in Figs.

또한, 본 발명의 실시예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다.In describing the components of the embodiment of the present invention, terms such as first, second, A, B, (a), and (b) may be used. These terms are intended to distinguish the constituent elements from other constituent elements, and the terms do not limit the nature, order or order of the constituent elements.

도 1은 본 발명의 일 실시예에 따른 쿠키 프락시 기능을 구비하는 네트워크 주소 변환 장치를 포함하는 통신 시스템을 개념적으로 설명하기 위한 도면이다. 1 is a conceptual illustration of a communication system including a network address translation apparatus having a cookie proxy function according to an embodiment of the present invention.

도 1을 참조하면, 클라이언트(10)와 서버(30)가 통신함에 있어서, NAT 장치(20)가 내부 네트워크와 외부 네트워크 사이에서 네트워크 주소 변환을 수행한다. NAT 에서는 하나의 내부 IP를 갖는 클라이언트에 하나의 외부 IP 주소를 대응시키지 않고 다수의 클라이언트의 내부 IP에 대하여 하나의 외부 IP 주소를 대응시켜 IP 주소 부족 문제를 해소하거나 외부 네트워크로부터 클라이언트의 존재를 감추기 위하여 사용된다. Referring to FIG. 1, when the client 10 and the server 30 communicate with each other, the NAT device 20 performs network address translation between the internal network and the external network. In NAT, one external IP address is mapped to a client with one internal IP, and one external IP address is mapped to the internal IPs of a plurality of clients, thereby eliminating the problem of lacking an IP address or hiding the presence of a client from the external network .

본 명세서에서 외부(outside) IP 주소는 공용(Public), 글로벌(global) 또는 외부(external) 네트워크에서 사용되는 주소를 지시하며, 내부(inside) IP 주소는 사설(private) 또는 로컬(local) 네트워크에서 사용되는 주소를 지시할 수 있다.In this specification, an outside IP address indicates an address used in a public, global, or external network, and an inside IP address indicates a private or local network Can be used to indicate the address to be used.

NAT 장치(20)는 내부 IP 주소와 내부 IP 주소에 상응하는 외부 IP 주소를 관리하는 NAT 테이블을 구비함으로써, 클라이언트(10)로부터 수신된 패킷의 내부 IP 주소를 외부 IP 주소로 변환하여 서버(30)에 전송한다.The NAT device 20 includes a NAT table for managing an internal IP address and an external IP address corresponding to the internal IP address to convert the internal IP address of the packet received from the client 10 into an external IP address, .

또한, 서버(30)로부터 수신된 패킷의 외부 IP 주소를 내부 IP 주소로 변환하여 클라이언트(10)에 제공한다. In addition, the external IP address of the packet received from the server 30 is converted into an internal IP address and provided to the client 10.

그러나, NAT 장치(20)의 환경에서는 상술한 바와 같이 하나의 IP에 대하여 하나의 쿠키가 할당되는 접속 쿠키 방식을 적용할 수 없다는 문제가 있고, 이에 따라서, 클라이언트(10)가 접속하는 때마다 새로운 쿠키를 할당받아야 할 수 있다. However, in the environment of the NAT device 20, there is a problem that it is not possible to apply the connection cookie method in which one cookie is assigned to one IP as described above. Accordingly, every time the client 10 connects, Cookies may need to be assigned.

본 발명에 따른 NAT 장치(20)는 쿠키 프락시 기능을 구비하여 클라이언트(10)의 내부 IP 주소만으로 내부의 접속 쿠키 테이블에서 쿠키를 도출하여 클라이언트(10)에 제공할 수 있다. 이에 따라 NAT 환경에서도 접속 쿠키를 활용할 수 있어 보안을 향상시킬 수 있으며, 접속 지연 시간도 줄일 수 있다. The NAT device 20 according to the present invention has a cookie proxy function and can derive a cookie from an internal connection cookie table based on the internal IP address of the client 10 and provide the cookie to the client 10. [ Therefore, it is possible to use the connection cookie even in the NAT environment, thereby improving the security and reducing the connection delay time.

도 2는 본 발명의 일 실시예에 따른 쿠키 프락시 기능을 구비하는 NAT 장치를 나타내는 도면이다.2 is a diagram illustrating a NAT device having a cookie proxy function according to an embodiment of the present invention.

도 2를 참조하면, NAT 장치(20)는 NAT부(210) 및 쿠키 프락시부(230)를 포함할 수 있다. 또한, NAT 장치(20)는 NAT 테이블(table_N) 및 접속 쿠키 테이블(table_C)을 관리할 수 있다. 도 2에서는 NAT부(210)와 쿠키 프락시부(230)가 NAT 테이블(table_N) 및 접속 쿠키 테이블(table_C)과 데이터를 송수신하는 것을 개념적으로 도시하기 위하여 블록도로 표현하였으나, NAT 테이블(table_N) 및 접속 쿠키 테이블(table_C)은 다른 데이터베이스 형태로 관리되거나 NAT부(210) 또는 쿠키 프락시부(230) 내부적으로 저장되어 있을 수 있다.Referring to FIG. 2, the NAT device 20 may include a NAT unit 210 and a cookie proxy unit 230. Further, the NAT device 20 can manage the NAT table (table_N) and the connection cookie table (table_C). 2, the NAT unit 210 and the cookie proxy unit 230 represent block diagrams for conceptually showing transmission / reception of data with the NAT table (table_N) and the connection cookie table (table_C). However, the NAT table (table_N) The connection cookie table (table_C) may be managed in another database format or stored internally in the NAT unit 210 or the cookie proxy unit 230.

NAT부(210)는 NAT 테이블(table_N)을 참조하여 수신 패킷의 내부 IP 주소를 외부 IP 주소로 변환하거나, 수신 패킷의 외부 IP 주소를 외부 IP 주소로 변환하여 내부 네트워크와 외부 네트워크 사이에서의 통신을 가능하게 한다. 본 명세서에서는 NAT부(210)의 이와 같은 동작을 네트워크 주소 변환 동작을 수행하는 것으로 설명한다. The NAT unit 210 converts the internal IP address of the received packet into the external IP address by referring to the NAT table (table_N), converts the external IP address of the received packet into the external IP address, . In this specification, this operation of the NAT unit 210 is described as performing a network address translation operation.

도 3은 예시적인 NAT 테이블(table_N)들을 나타내는 도면이다.3 shows an exemplary NAT table (table_N).

도 3을 참조하면, (a) 테이블에서는 내부 IP 주소(NAT Inside IP)와 외부 IP 주소(NAT Outside IP)를 서로 매핑시켜 관리하고 있으며, 이들 사이의 매핑의 만료 정보(Binding lifetime)를 포함할 수도 있다. 이러한 테이블의 각각을 엔트리(Entry)로 일컫는다. 3, a NAT internal IP address and an external IP address (NAT Outside IP) are mapped and managed in Table (a), and a mapping lifetime between them is included It is possible. Each of these tables is referred to as an entry.

NAT 테이블(table_N)은 (b) 테이블과 같이 IP 주소 이외에 포트 정보를 추가적으로 포함할 수도 있다.The NAT table (table_N) may additionally include port information in addition to the IP address as shown in table (b).

쿠키 프락시부(230)는 수신 패킷이 쿠키 요청 패킷인지 또는 쿠키 응답 패킷인지를 판단하여 쿠키 요청 패킷인 경우에 패킷 내에 포함된 내부 IP 주소에 대응하는 외부 IP 주소를 NAT 테이블(table_N)로부터 도출하고, 이에 따른 외부 IP 주소에 대응하는 접속 쿠키 테이블(table_C)의 쿠키를 검색한다. The cookie proxy unit 230 determines whether the received packet is a cookie request packet or a cookie response packet. If the received packet is a cookie request packet, the cookie proxy unit 230 derives from the NAT table (table_N) an external IP address corresponding to the internal IP address included in the packet , And retrieves the cookie of the connection cookie table (table_C) corresponding to the external IP address accordingly.

접속 쿠키 테이블(table_C)은 외부 IP 주소, 원격 IP 주소(즉, 서버의 IP 주소)와 대응되는 쿠키 정보를 포함할 수 있다.The connection cookie table (table_C) may include cookie information corresponding to the external IP address and the remote IP address (that is, the IP address of the server).

도 4는 예시적인 접속 쿠키 테이블(table_C)들을 나타내는 도면이다.4 is a diagram showing exemplary connection cookie tables (table_C).

도 4를 참조하면, 접속 쿠키 테이블(table_C)은 외부 IP 주소(NAT outside IP), 원격 IP 주소(remote IP)(원격 IP는 외부 IP와 접속을 하는 상태 IP로서, 본 명세서에서는 서버 IP와 실질적으로 동일한 개념으로 사용된다. 그러나 클라이언트가 통신하는 대상에 따라서 원격 IP 주소를 서버 IP 이외에 다른 클라이언트의 IP에도 상응할 수 있다), 및 쿠키를 필수 구성요소로 포함한다.Referring to FIG. 4, the connection cookie table table_C includes an external IP address (NAT outside IP), a remote IP address (remote IP) (a state IP connecting with the external IP, But the remote IP address may correspond to the IP of another client other than the server IP, depending on what the client is communicating with), and a cookie as an essential component.

(a) 테이블은 기본적인 접속 쿠키 테이블(table_C)의 예를 나타낸 것이다. (a) shows an example of a basic connection cookie table (table_C).

실시예에 따라, 사용되는 프로토콜에 따라서 접속 쿠키 테이블(table_C)이 상이해질 수 있다. 예를 들어, NAT 장치(20)가 전송 계층(transport layer) 상위에서 쿠키가 생성되는 프로토콜을 지원하는 경우에는 (b) 테이블에 나타낸 바와 같이 원격 포트(remote port) 항목을 추가적으로 포함할 수 있다. 또한, 실시예에 따라서, 접속 쿠키 테이블(table_C)은 쿠키의 바인딩 만료 정보를 포함하거나 NAT 테이블(table_N)에 포함된 내부 IP 주소(NAT inside IP) 또는 내부 포트(NAT inside port) 정보를 접속 쿠키 테이블(table_C)에 포함하여 NAT 테이블(table_N)을 검색하는 시간을 단축할 수도 있다.Depending on the embodiment, the connection cookie table (table_C) may be different depending on the protocol used. For example, when the NAT device 20 supports a protocol in which a cookie is generated in the upper layer of a transport layer, the NAT device 20 may additionally include a remote port item as shown in the table (b). Also, according to the embodiment, the connection cookie table (table_C) includes the binding expiration information of the cookie or the internal IP address (NAT inside IP) or the inside port (NAT inside port) information included in the NAT table (table_N) It is possible to shorten the time for searching the NAT table (table_N) by including it in the table (table_C).

(c) 테이블을 참조하면, 접속 쿠키 테이블(table_C)의 엔트리마다 포인터(pointer)를 구비할 수 있다. (c) 테이블과 같이 포인터를 구비하면 쿠키 프락시부(230)가 외부 IP 주소(NAT outside IP)에 대응되는 다른 정보를 NAT 테이블(table_N)에서 검색하는 시간을 줄일 수 있다.Referring to the table (c), a pointer may be provided for each entry of the connection cookie table (table_C). (c) If the pointer is provided as in the table, it is possible to reduce the time for the cookie proxy unit 230 to search the NAT table (table_N) for other information corresponding to the external IP address (NAT outside IP).

상술한 바와 같이 접속 쿠키 테이블(table_C)은 필요에 따라 다양하게 변형될 수 있다. As described above, the connection cookie table (table_C) can be variously modified as needed.

쿠키 프락시부(230)는 쿠키 요청 패킷에 대한 쿠키가 존재하는 경우에는 해당 쿠키를 쿠키 응답으로 가공하여 클라이언트(도 1의 10)에 제공한다. 예를 들어, 쿠키 요청 패킷에 포함된 내부 IP 주소(NAT inside IP)에 상응하는 외부 IP 주소(NAT outside IP)를 NAT 테이블(table_N)로부터 검색하고, 해당 외부 IP 주소(NAT outside IP)에 대한 쿠키를 도출한다. 쿠키 프락시부(230) 도출된 쿠키를 토대로 쿠키 응답을 생성하여 클라이언트(10)에 제공한다. 필요에 따라 쿠키 응답은 규약에 맞게 패킷의 출발지 IP 주소와 포트 번호 등을 설정하여 제공될 수 있다. 쿠키 응답으로 생성된 패킷의 형태는 NAT 장치(20)가 지원하는 프로토콜에 따라 상이해질 수 있다.When the cookie for the cookie request packet exists, the cookie proxy unit 230 processes the cookie as a cookie response and provides the cookie to the client (10 in FIG. 1). For example, it searches the NAT table (table_N) for the external IP address (NAT outside IP) corresponding to the internal IP address (NAT inside IP) included in the cookie request packet, Derive a cookie. The cookie proxy unit 230 generates a cookie response based on the derived cookie and provides it to the client 10. The cookie response may be provided by setting the source IP address and port number of the packet according to the protocol as required. The type of the packet generated in response to the cookie may differ depending on the protocol supported by the NAT device 20. [

예를 들어, 쿠키 프락시부(230)는 TFO의 경우에는 임의의 SYN 번호를 생성해야 할 수 있으며, 추가적으로 TCP FIN 또는 TCP RST 패킷을 쿠키를 요청한 클라이언트에 전달하여 서버에게 실제 데이터 교환을 위한 SYN 번호를 받아오도록 할 수 있다. For example, the cookie proxy unit 230 may generate an arbitrary SYN number in the case of a TFO, and may further transmit a TCP FIN or TCP RST packet to a client requesting the cookie to inform the server of a SYN number To be received.

만일, 접속 쿠키 테이블(table_C) 내에 쿠키가 존재하지 않으면, 쿠키 프락시부(230)는 NAT부(210)에 대하여 쿠키 요청 패킷을 전송하여 그대로 NAT 동작을 수행하여 서버(30)에 대하여 쿠키 요청을 수행하도록 한다.If the cookie does not exist in the connection cookie table (table_C), the cookie proxy unit 230 transmits a cookie request packet to the NAT unit 210 to perform a NAT operation as it is and sends a cookie request to the server 30 .

또한, 쿠키 프락시부(230)는 수신 패킷이 쿠키 요청 패킷이나 쿠키 응답 패킷이 아닌 경우에는 NAT부(210)에 제공하여 NAT 동작을 수행하도록 한다. 즉, 수신 패킷이 쿠키 요청 패킷이나 쿠키 응답 패킷이 아닌 경우에는 일반적인 NAT 장치(20)와 동일하게 동작한다. In addition, when the received packet is not a cookie request packet or a cookie response packet, the cookie proxy unit 230 provides the received packet to the NAT unit 210 to perform the NAT operation. That is, when the received packet is not a cookie request packet or a cookie response packet, it operates in the same manner as a general NAT device 20.

수신 패킷이 쿠키 응답 패킷인 경우, 쿠키 프락시부(230)는 쿠키 응답에 포함된 쿠키 정보를 토대로 접속 쿠키 테이블(table_C)을 갱신(update)하거나 새로운 엔트리를 생성할 수 있다. When the received packet is a cookie response packet, the cookie proxy unit 230 can update the connection cookie table (table_C) based on the cookie information included in the cookie response or generate a new entry.

예를 들어, 쿠키 응답 패킷은 서버(30)로부터 제공될 수 있는데, 외부 IP 주소(NAT outside IP)에 해당하는 쿠키를 접속 쿠키 테이블(table_C)에서 검색한 결과, 종래의 쿠키와 다른 쿠키를 응답받았다면 접속 쿠키 테이블(table_C)을 갱신한다. 또한, 서버(30)로부터의 쿠키 응답에 포함된 외부 IP 주소(NAT outside IP)에 해당하는 쿠키 정보가 접속 쿠키 테이블(table_C)에 존재하지 않는다면 새로운 엔트리를 생성함으로써 이후에 활용할 수 있도록 한다. For example, the cookie response packet may be provided from the server 30. When a cookie corresponding to the external IP address (NAT outside IP) is searched in the connection cookie table (table_C), a cookie different from the conventional cookie If it does, it updates the connection cookie table (table_C). In addition, if the cookie information corresponding to the external IP address (NAT outside IP) included in the cookie response from the server 30 is not present in the connection cookie table (table_C), a new entry is created to be utilized later.

쿠키 프락시부(230)는 접속 쿠키 테이블(table_C)을 갱신하는 등으로 쿠키를 관리한 이후, 쿠키 응답에 대하여 NAT 동작을 수행하여 클라이언트(10)에 쿠키를 제공할 수 있다. The cookie proxy unit 230 may manage the cookie by updating the connection cookie table (table_C), and then perform a NAT operation on the cookie response to provide the client 10 with a cookie.

실시예에 따라, NAT 장치(20)는 클라이언트 단자(21) 및 서버 단자(23)를 포함할 수 있다. 클라이언트 단자(21)는 클라이언트 측 네트워크와 물리적이고 전기적으로 연결되는 단자이고, 서버 단자(23)는 서버 측 네트워크와 물리적으로 전기적으로 연결되는 단자이다. NAT 장치(20)는 클라이언트 단자(21)를 통하여 클라이언트(10)로부터 패킷을 수신하고 서버 단자(23)를 통하여 서버(30)로부터 패킷을 수신한다. According to an embodiment, the NAT device 20 may include a client terminal 21 and a server terminal 23. The client terminal 21 is a terminal physically and electrically connected to the client side network, and the server terminal 23 is a terminal physically and electrically connected to the server side network. The NAT device 20 receives a packet from the client 10 via the client terminal 21 and receives the packet from the server 30 via the server terminal 23. [

쿠키 프락시부(230)는 클라이언트 단자(21)를 통하여 수신되는 패킷이 적어도 쿠키 응답 패킷에는 해당되지 않음을 알 수 있기 때문에 클라이언트 단자(21)를 통하여 수신되는 패킷이 쿠키 요청 패킷인지 여부만을 판단하여 접속 쿠키 테이블(table_C)을 검색하여 클라이언트(10)로 쿠키를 제공하거나 NAT 동작을 수행하여 서버(30)에 대하여 쿠키 요청을 전송할 수 있다. The cookie proxy unit 230 determines that the packet received through the client terminal 21 is not a cookie response packet at all and therefore determines whether or not the packet received through the client terminal 21 is a cookie request packet It can search the connection cookie table (table_C) and provide a cookie to the client (10) or perform a NAT operation to transmit a cookie request to the server (30).

쿠키 프락시부(230)는 서버 단자(23)를 통하여 수신되는 패킷이 적어도 쿠키 요청 패킷에는 해당되지 않음을 알 수 있다. 따라서, 쿠키 프락시부(230)는 서버 단자(23)를 통하여 수신되는 패킷이 쿠키 응답 패킷인지 여부만을 판단하여 접속 쿠키 테이블(table_C)을 관리하고 쿠키 응답을 클라이언트(10)로 제공하거나, NAT 동작을 수행하여 클라이언트(10)에 수신 패킷을 제공할 수 있다.The cookie proxy unit 230 can know that the packet received through the server terminal 23 does not correspond to at least the cookie request packet. Therefore, the cookie proxy unit 230 determines whether the packet received through the server terminal 23 is a cookie response packet, manages the connection cookie table (table_C), provides a cookie response to the client 10, To provide the client 10 with a received packet.

다만, 실시예에 따라, 쿠키 프락시부(230)는 수신 패킷의 물리적 위치와는 관계없이 수신 패킷의 정보만으로 수신 패킷이 쿠키 요청 패킷 또는 쿠키 응답 패킷에 해당하는지를 판단할 수도 있다.However, according to the embodiment, the cookie proxy unit 230 may determine whether a received packet corresponds to a cookie request packet or a cookie response packet based on information of a received packet regardless of a physical location of the received packet.

도 5는 본 발명의 일 실시예에 따른 쿠키 프락시부를 나타내는 블록도이다.5 is a block diagram illustrating a cookie proxy unit according to an embodiment of the present invention.

도 5를 참조하면, 쿠키 프락시부(230)는 패킷 판별부(231), 쿠키 도출부(233) 및 쿠키 관리부(235)를 포함할 수 있다. Referring to FIG. 5, the cookie proxy unit 230 may include a packet determination unit 231, a cookie derivation unit 233, and a cookie management unit 235.

패킷 판별부(231)는 수신 패킷이 쿠키 요청 패킷 또는 쿠키 응답 패킷에 해당하는 지 여부를 판별한다. 패킷 판별부(231)는 수신 패킷의 정보(예를 들어 필드 구성 또는 필드 정보 등)에 기초하여 수신 패킷이 쿠키 요청 패킷 또는 쿠키 응답 패킷에 해당하는 지 여부를 판별하거나, 수신 패킷이 수신되는 물리적 단자로부터 수신 패킷이 쿠키 요청 패킷 또는 쿠키 응답 패킷에 해당자는 지 여부를 판별할 수 있다. The packet determination unit 231 determines whether the received packet corresponds to a cookie request packet or a cookie response packet. The packet determination unit 231 determines whether the received packet corresponds to a cookie request packet or a cookie response packet based on the information of the received packet (for example, field configuration or field information) Terminal can determine whether the received packet corresponds to the cookie request packet or the cookie response packet.

본 명세서에서는 설명의 편의를 위하여 패킷 판별부(231)가 쿠키 프락시부(230)에 포함되는 것으로 도면에 도시하여 설명하였으나, 패킷 판별부(231)는 NAT부(210)에 포함되거나 또는 NAT 장치(20) 내에 별도의 구성으로 구현될 수도 있다. The packet discrimination unit 231 may be included in the NAT unit 210 or may be included in the NAT unit 210. The packet discrimination unit 231 may be included in the cookie proxy unit 230, Or may be implemented in a separate configuration in the memory 20.

패킷 판별부(231)는 수신 패킷이 쿠키 요청 패킷 또는 쿠키 응답 패킷 중 적어도 하나에 해당하지 않는 경우에는 NAT부(210)에 제공하여 수신 패킷에 대하여 NAT 동작을 수행하도록 한다. 즉, 이 경우에는 수신 패킷에 대하여 NAT 동작만을 수행함으로써 내부 네트워크와 외부 네트워크를 통신하도록 한다. When the received packet does not correspond to at least one of the cookie request packet or the cookie response packet, the packet discriminator 231 provides the received packet to the NAT unit 210 to perform a NAT operation on the received packet. That is, in this case, only the NAT operation is performed on the received packet to allow the internal network and the external network to communicate.

패킷 판별부(231)는 수신 패킷이 쿠키 요청 패킷에 해당하는 경우에는 쿠키 도출부(233)로 쿠키 요청 패킷을 전달하고, 수신 패킷이 쿠키 응답 패킷에 해당하는 경우에는 쿠키 관리부(235)로 쿠키 응답 패킷을 전달한다. When the received packet corresponds to the cookie request packet, the packet determination unit 231 delivers the cookie request packet to the cookie derivation unit 233. If the received packet corresponds to the cookie response packet, the packet determination unit 231 transmits the cookie to the cookie management unit 235, And transmits a response packet.

쿠키 도출부(233)는 쿠키 요청 패킷 내에 포함된 내부 IP 주소(NAT inside IP)에 기초하여 NAT 테이블(table_N)을 검색하여 외부 IP 주소(NAT outside IP)를 도출한다. 도출된 외부 IP 주소(NAT outside IP)에 기초하여 접속 쿠키 테이블(table_C)을 검색하여 쿠키 요청 패킷에 대한 쿠키를 도출한다. The cookie derivation unit 233 retrieves the NAT table (table_N) based on the internal IP address (NAT inside IP) included in the cookie request packet to derive an external IP address (NAT outside IP). And searches the connection cookie table (table_C) based on the derived external IP address (NAT outside IP) to derive the cookie for the cookie request packet.

쿠키 요청 패킷을 전송한 클라이언트에 대한 쿠키가 접속 쿠키 테이블(table_C)에 존재한다면, 쿠키를 서버(30)에 요청할 필요 없이 곧바로 클라이언트에 제공한다. 따라서 본 발명에 따른 NAT 장치(20)를 구비하면, 3-way handshake와 같은 추가적인 접속 과정이 없이도 접속 쿠키를 이용할 수 있다.If the cookie for the client that sent the cookie request packet exists in the connection cookie table (table_C), the cookie is immediately provided to the client without requesting the server 30. Therefore, if the NAT device 20 according to the present invention is provided, the connection cookie can be used without an additional connection process such as a 3-way handshake.

다만, 쿠키 도출부(233)가 쿠키 요청 패킷을 전송한 클라이언트에 대한 쿠키를 접속 쿠키 테이블(table_C)로부터 검색하였으나, 클라이언트의 외부 IP 주소(NAT outside IP)에 대한 쿠키가 존재하지 않는다면, 쿠키 요청 패킷에 대하여 NAT 동작을 수행하여, 서버(30)에 대하여 쿠키를 요청하도록 한다. However, if the cookie derivation unit 233 retrieves the cookie for the client that transmitted the cookie request packet from the connection cookie table (table_C), but the cookie for the client's external IP address (NAT outside IP) does not exist, Performs a NAT operation on the packet, and requests the server 30 to request a cookie.

본 발명의 일 실시예에 따른 쿠키 프락시부(230)는 쿠키 응답 생성부(237)를 더 포함할 수 있다. 쿠키 응답 생성부(237)는 쿠키 도출부(233)로부터 수신된 쿠키 정보를 토대로 NAT 장치(20)가 지원하는 규격에 상응하는 규격으로서 쿠키 응답을 생성하여 클라이언트로 제공할 수 있다.The cookie proxy unit 230 according to an embodiment of the present invention may further include a cookie response generation unit 237. [ The cookie response generation unit 237 can generate a cookie response as a standard corresponding to a specification supported by the NAT device 20 based on the cookie information received from the cookie derivation unit 233 and provide the cookie response to the client.

쿠키 관리부(235)는 패킷 판별부(231)로부터 수신된 쿠키 응답에 대하여 접속 쿠키 테이블(table_C) 내의 쿠키가 갱신되어야 하거나, 수신된 쿠키 응답 패킷의 외부 IP 주소(NAT outside IP)에 대한 쿠키가 접속 쿠키 테이블(table_C) 내에 존재하지 않는다면, 새로운 엔트리를 생성함으로써 쿠키를 관리한다.The cookie management unit 235 determines whether the cookie in the connection cookie table (table_C) should be updated or the cookie for the external IP address (NAT outside IP) of the received cookie response packet with respect to the cookie response received from the packet determination unit 231 If it does not exist in the connection cookie table (table_C), it manages the cookie by creating a new entry.

쿠키 관리부(235)는 쿠키 응답을 NAT부(210)로 제공함으로써 쿠키 응답이 클라이언트로 제공되도록 한다. The cookie management unit 235 provides the cookie response to the NAT unit 210 so that the cookie response is provided to the client.

도 6은 본 발명의 일 실시예에 따른 쿠키 프락시 기능을 지원하는 NAT 방법을 설명하기 위한 흐름도이다.FIG. 6 is a flowchart illustrating a NAT method supporting a cookie proxy function according to an exemplary embodiment of the present invention. Referring to FIG.

도 6을 참조하면, 패킷 판별부(231)는 수신 패킷이 쿠키 요청 패킷에 해당하는 지를 판단한다 (단계 S610). 수신 패킷이 쿠키 요청 패킷에 해당하는 경우 (단계 S610, 예), 패킷 판별부(231)는 수신 패킷을 쿠키 도출부(233)로 제공하여 접속 쿠키 테이블(table_C) 등을 참조하여 해당 쿠키 요청에 대한 쿠키가 존재하는 지를 판단한다 (단계 S611).Referring to FIG. 6, the packet determination unit 231 determines whether a received packet corresponds to a cookie request packet (step S610). If the received packet corresponds to the cookie request packet (YES in step S610), the packet determination unit 231 provides the received packet to the cookie derivation unit 233 and refers to the connection cookie table (table_C) It is determined whether a cookie exists (step S611).

쿠키 요청 패킷에 대한 쿠키가 접속 쿠키 테이블(table_C)에 존재하는 경우 (단계 S611, 예), 쿠키 도출부(233)는 쿠키 정보를 쿠키 응답 생성부(237)에 제공하여 쿠키 응답을 생성하도록 한다 (단계 S613). 생성된 쿠키 응답은 클라이언트로 제공된다.If the cookie for the cookie request packet exists in the connection cookie table (step S611, YES), the cookie derivation unit 233 provides the cookie information to the cookie response generation unit 237 to generate a cookie response (Step S613). The generated cookie response is provided to the client.

쿠키 요청 패킷에 대하여 쿠키를 검색하였으나, 접속 쿠키 테이블(table_C)에 쿠키 요청 패킷에 대한 쿠키가 없는 경우 (단계 S611, 아니오), 쿠키 도출부(233)는 수신 패킷을 NAT부(210)에 제공하여 NAT 동작을 수행하도록 한다 (단계 S630). NAT 동작이 수행된 쿠키 요청 패킷은 외부 네트워크를 통하여 서버(30)로 전송될 수 있다.If the cookie is searched for the cookie request packet but the cookie for the cookie request packet does not exist in the connection cookie table (table_C) (step S611, NO), the cookie derivation unit 233 provides the received packet to the NAT unit 210 To perform the NAT operation (step S630). The cookie request packet in which the NAT operation has been performed can be transmitted to the server 30 via the external network.

패킷 판별부(231)는 수신 패킷이 쿠키 요청 패킷이 아니라면 (단계 S610), 수신 패킷이 쿠키 응답 패킷에 해당하는 지를 판별할 수 있다 (단계 S620). 도 6에서는 쿠키 요청 패킷인지 여부를 쿠키 응답 패킷인지 보다 먼저 판단하는 것으로 도시하였으나, 순서가 한정되는 것은 아니며, 바람직하게는 패킷 판별부(231)는 수신 패킷이 쿠키 요청 패킷 또는 쿠키 응답 패킷에 해당하는 지 여부를 동시에 판별할 수 있다. If the received packet is not a cookie request packet (step S610), the packet determination unit 231 can determine whether the received packet corresponds to a cookie response packet (step S620). 6, it is determined that the packet is a cookie request packet before the packet is determined to be a cookie response packet. However, the order is not limited. Preferably, the packet determination unit 231 determines that the received packet corresponds to a cookie request packet or a cookie response packet Whether or not it is possible to simultaneously determine whether or not to do so.

또한, 실시예에 따라 도 2를 참조하여 설명한 바와 같이 패킷 판별부(231)가 수신 패킷이 수신되는 물리적인 수신 단자에 기초하여 수신 패킷의 특성을 파악하는 경우에 있어서는 수신 패킷이 쿠키 요청 패킷인지 여부를 판단하는 동작 (단계 S610) 또는 수신 패킷이 쿠키 응답 패킷인지 여부를 판단하는 동작 (단계 S620) 중 하나의 단계는 생략될 수도 있다. 2, in the case where the packet determination unit 231 grasps the characteristics of the received packet based on the physical receiving terminal on which the received packet is received, it is determined whether the received packet is a cookie request packet (Step S610), or an operation of determining whether the received packet is a cookie response packet (step S620) may be omitted.

구체적으로 설명하면, 수신 패킷이 서버 측과 통신하는 서버 단자(23)로부터 수신된 경우에는 적어도 수신 패킷이 쿠키 요청 패킷은 아닐 것이므로 단계 S610, S611, 및 단계 S613의 과정은 생략될 수 있다. 패킷 판별부(231)는 수신 패킷이 쿠키 응답 패킷에 해당하는 지 여부만을 판단한다.More specifically, if the received packet is received from the server terminal 23 communicating with the server side, steps S610, S611, and S613 may be omitted because at least the received packet is not a cookie request packet. The packet determination unit 231 determines whether or not the received packet corresponds to the cookie response packet.

반대로, 수신 패킷이 클라이언트 측과 통신하는 클라이언트 단자(21)로부터 수신된 경우에는 적어도 수신 패킷이 쿠키 응답 패킷은 아닐 것이다. 따라서, 수신 패킷이 쿠키 응답 패킷인지를 판단하는 과정 (단계 S620) 및 쿠키를 관리하는 과정 (단계 S621)은 생략될 수 있다. Conversely, if the received packet is received from the client terminal 21 communicating with the client side, at least the received packet will not be a cookie response packet. Accordingly, the process of determining whether the received packet is a cookie response packet (step S620) and the process of managing the cookie (step S621) may be omitted.

수신 패킷이 쿠키 응답 패킷이라고 판별되면 (단계 S620, 예), 패킷 판별부(231)는 수신 패킷을 쿠키 관리부(235)에 제공한다. If the received packet is determined to be a cookie response packet (step S620, YES), the packet determination unit 231 provides the received packet to the cookie management unit 235. [

쿠키 관리부(235)는 수신 패킷, 즉 수신된 쿠키 응답 패킷에 포함된 외부 IP 주소(NAT outside IP)를 접속 쿠키 테이블(table_C)에서 검색한다. 접속 쿠키 테이블(table_C) 내에서, 외부 IP 주소(NAT outside IP)에 대하여 매핑된 쿠키가 수신된 쿠키 응답 패킷과 동일하지 않다면, 쿠키 관리부(235)는 수신된 쿠키 응답 패킷의 정보와 동일하게 접속 쿠키 테이블(table_C)을 갱신한다. 그리고 수신된 쿠키 응답 패킷에 포함된 외부 IP 주소(NAT outside IP)가 접속 쿠키 테이블(table_C)에서 검색되지 않는다면, 해당 외부 IP 주소(NAT outside IP) 및 원격 IP(remote IP)에 대한 새로운 엔트리를 생성하여 쿠키를 관리한다 (단계 S621).The cookie management unit 235 searches the connection cookie table table_C for the external IP address (NAT outside IP) included in the received packet, that is, the received cookie response packet. If the cookie mapped to the external IP address (NAT outside IP) is not the same as the received cookie response packet in the connection cookie table (table_C), the cookie management unit 235 Update the cookie table (table_C). If the external IP address (NAT outside IP) included in the received cookie response packet is not retrieved from the connection cookie table (table_C), a new entry for the corresponding external IP address (NAT outside IP) and remote IP And manages the cookie (step S621).

쿠키 관리가 완료되면, 쿠키 관리부(235)는 수신 패킷을 NAT부(210)에 제공하여 NAT 동작을 수행하여 쿠키 응답이 클라이언트(10)에 제공되도록 한다 (단계 S530).When the cookie management is completed, the cookie management unit 235 provides the received packet to the NAT unit 210 to perform the NAT operation so that the cookie response is provided to the client 10 (step S530).

수신 패킷이 쿠키 요청 패킷도 아니고 (단계 S610, 아니오) 쿠키 응답 패킷도 아니라면 (단계 S620, 아니오), 수신 패킷에 대하여 쿠키와 관련된 동작을 수행할 필요가 없으므로 패킷 판별부(231)는 수신 패킷을 NAT부(210)로 제공하여 NAT 동작을 수행하도록 한다 (단계 S630).If the received packet is not a cookie request packet (NO in step S610) and is not a cookie response packet (step S620, NO), it is not necessary to perform an operation related to a cookie with respect to a received packet. And provides it to the NAT unit 210 to perform the NAT operation (step S630).

본 발명에 따른 접속 쿠키 프락시 동작을 예시적으로 설명하기 위하여 도 7 및 도 8의 흐름도들을 참조하여 설명하도록 한다. The connection cookie proxy operation according to the present invention will now be described with reference to the flowcharts of FIGS. 7 and 8. FIG.

표 1과 같은 엔트리를 포함하는 NAT 테이블(table_N)을 참조하는 NAT 장치(20)는 도 7과 같이 동작할 수 있다.The NAT device 20 that refers to the NAT table (table_N) including the entry as shown in Table 1 can operate as shown in FIG.

NAT Inside IPNAT Inside IP NAT Inside PortNAT Inside Port NAT Outside
IP
NAT Outside
IP
NAT Outside
Port
NAT Outside
Port
Binding LifetimeBinding Lifetime
AA PP CC QQ 120s120s

내부 IP 주소(NAT inside IP)가 'A'인 (그리고 내부 포트 주소는 'P') 클라이언트(10A)가 NAT 장치(20) 외부 네트워크에 위치한 서버(30) - 서버의 Remote IP 주소는 'S'이다 - 와 연결을 맺고, 이후에 통신을 하는 과정을 살펴보도록 한다. The client 10A having the internal IP address 'A' (and the internal port address 'P') is located in the external network of the NAT device 20. The remote IP address of the server is 'S' ', And let's look at the process of communicating later.

클라이언트(10A)에 대한 외부 IP 주소(NAT outside IP)는 'C'(그리고 외부 포트 주소는 'Q')이다. The external IP address (NAT outside IP) to the client 10A is 'C' (and the external port address is 'Q').

클라이언트(10A)가 외부 IP 주소(NAT outside IP)가 'C'인 연결을 서버(30)와 맺기 위해서는 최초에 쿠키 요청 패킷을 보낸다. In order for the client 10A to establish a connection with the external IP address (NAT outside IP) 'C' to the server 30, the client 10A first sends a cookie request packet.

도 5에서는 <X, Y, Z>로 패킷을 표기한다. X는 출발지(Source) IP 주소, Y는 목적지(Destination) IP 주소, Z는 메시지의 종류를 나타낸다. In FIG. 5, the packet is indicated by < X, Y, Z >. X is the source IP address, Y is the destination IP address, and Z is the type of message.

클라이언트(10A)는 NAT 장치(20)에 <A, S, cookie request>의 패킷을 전송한다. 즉, 'A'의 목적지 IP 주소에서 'S'의 목적지 주소까지 쿠키 요청(cookie request)의 패킷을 보낸 것이다. The client 10A transmits a packet of < A, S, cookie request > to the NAT device 20. That is, a packet of a cookie request is sent from the destination IP address of 'A' to the destination address of 'S'.

NAT 장치(20)의 패킷 판별부(231)는 수신 패킷이 쿠키 요청 패킷임을 판별한다 (단계 S711). 쿠키 도출부(233)에 제공된 수신 패킷의 정보에 기초하여 접속 쿠키 테이블(table_C)을 검색하였으나, 내부 IP 주소(NAT inside IP) 'C'에 해당하는 쿠키가 검색되지 않고 (단계 S713), NAT부(210)를 통하여 내부 IP 주소(NAT inside IP) 'A'가 외부 IP 주소(NAT outside IP) 'C'로 변환되어 <C, S, cookie request>의 패킷이 서버(30)로 전송된다. The packet determination unit 231 of the NAT device 20 determines that the received packet is a cookie request packet (step S711). The cookie retrieval unit 233 retrieves the connection cookie table table C based on the information of the received packet but does not retrieve the cookie corresponding to the internal IP address 'C' (step S713) A NAT internal IP 'A' is converted into an external IP address 'C' through the ISP 210 and a packet of <C, S, cookie request> is transmitted to the server 30 .

서버(30)는 'C'의 외부 IP 주소(NAT outside IP)에 대하여 쿠키(#cookie)를 할당하여 <S, C, #cookie>의 쿠키 응답 패킷을 NAT 장치(20)에 제공한다. The server 30 allocates a cookie (#cookie) to the NAT external IP address of 'C' to provide the NAT device 20 with a cookie response packet of <S, C, #cookie>.

NAT 장치(20)에 포함된 패킷 판별부(231)는 서버(30)로부터 수신된 패킷이 쿠키 응답 패킷임을 판별한다 (단계 S721). 이전 단계(단계 S713)에서 외부 IP 주소(NAT outside IP) 'C'에 대한 접속 쿠키 테이블(table_C)의 엔트리가 존재하지 않았으므로, 쿠키 관리부(235)는 해당 엔트리를 생성함으로써 접속 쿠키 테이블(table_C)의 쿠키를 관리한다 (단계 S723).The packet determination unit 231 included in the NAT device 20 determines that the packet received from the server 30 is a cookie response packet (step S721). Since there is no entry of the connection cookie table (table_C) for the external IP address 'C' in the previous step (step S713), the cookie management unit 235 generates the corresponding entry by reading the connection cookie table table_C (Step S723).

즉, 쿠키 관리부(235)는 표 2와 같은 엔트리를 접속 쿠키 테이블(table_C)에 생성한다. That is, the cookie management unit 235 creates an entry as shown in Table 2 in the connection cookie table (table_C).

NAT Outside IPNAT Outside IP Remote IPRemote IP CookieCookie CC SS #cookie#cookie

쿠키 관리부(235)는 수신 패킷을 NAT부(210)로 제공하여 외부 IP 주소(NAT outside IP) 'C'를 내부 IP 주소(NAT inside IP) 'A'로 변환하고 <S, A, #cookie>의 패킷을 클라이언트(10A)로 제공한다. The cookie management unit 235 provides the received packet to the NAT unit 210 to convert the NAT external IP 'C' into the internal IP address 'A' &Gt; to the client 10A.

설명한 과정을 쿠키 트랜잭션(cookie transaction)이라고 일컫는다. 쿠키 트랜잭션을 통하여 외부 IP 주소(NAT outside IP)에 대한 쿠키가 할당된 이후에는 쿠키를 받은 클라이언트(10A)는 추가적인 3-way handshake의 접속 과정이 없이 쿠키를 이용할 수 있다. The process described is referred to as a cookie transaction. After the cookie is assigned to the external IP address (NAT outside IP) through the cookie transaction, the client 10A receiving the cookie can use the cookie without an additional 3-way handshake connection process.

따라서, 이후 클라이언트(10A)는 노멀 트랜잭션(normal transaction)을 수행할 수 있다. 클라이언트(10A)는 <A, S, #cookie+request>를 NAT 장치(20)로 전송한다. Therefore, the client 10A can then perform a normal transaction. The client 10A transmits <A, S, # cookie + request> to the NAT device 20.

NAT 장치(20)의 패킷 판별부(231)는 클라이언트(10A)로부터 수신된 패킷이 쿠키 요청 패킷과 쿠키 응답 패킷 중 어느 하나에도 해당하지 않음을 판별한다 (단계 S731). 이에 따라 수신 패킷은 NAT부(210)로 제공되어 내부 IP 주소(NAT inside IP) 'A'를 외부 IP 주소(NAT outside IP) 'C'로 변환하여 <C, S, #cookie+request> 패킷을 서버(30)에 제공한다. The packet determining unit 231 of the NAT device 20 determines that the packet received from the client 10A does not correspond to either the cookie request packet or the cookie response packet (step S731). Accordingly, the received packet is provided to the NAT unit 210 to convert the NAT inside IP 'A' to the external IP address 'C' to generate the <C, S, # cookie + request> packet To the server (30).

서버(30)는 수신된 패킷에 대한 응답으로 <S, C, response>를 NAT 장치(20)에 제공하고, NAT 장치(20)의 패킷 판별부(231)는 수신된 패킷이 또한 쿠키 요청이나 쿠키 응답 패킷이 아님을 판별하여 (단계 S741), NAT 동작만을 수행한다 (단계 S743).The server 30 provides the NAT device 20 with < S, C, response > in response to the received packet, and the packet determination unit 231 of the NAT device 20 determines whether the received packet is a cookie request It is determined that the packet is not a cookie response packet (step S741), and only the NAT operation is performed (step S743).

마지막으로 클라이언트(10A)는 <S, A, response>의 패킷을 수신한다. Finally, the client 10A receives a packet of < S, A, response >.

내부 IP 주소(NAT inside IP) 'B'를 갖는 새로운 클라이언트가 동일한 외부 IP 주소(NAT outside IP)로 서버(30)에 쿠키 요청을 할 수도 있다. A new client having an internal IP address 'B' may make a cookie request to the server 30 with the same external IP address (NAT outside IP).

도 8을 참조하여 본 발명의 일 실시예에 따른 NAT 장치(20) 및 NAT 방법을 설명하도록 한다. The NAT device 20 and the NAT method according to an embodiment of the present invention will be described with reference to FIG.

내부 IP 주소(NAT inside IP) 'B'를 갖는 클라이언트(10B)가 서버에 대하여 쿠키를 요청한다. 이 때의 패킷은 <B, S, cookie request>일 수 있다.The client 10B having the internal IP address 'B' requests a cookie to the server. The packet at this time may be &lt; B, S, cookie request &gt;.

NAT 장치(20)는 클라이언트(10B)로부터의 수신 패킷이 쿠키 요청 패킷임을 판별한다 (단계 S811). 쿠키 도출부(233)는 수신 패킷의 내부 IP 주소(NAT inside IP)로부터 외부 IP 주소(NAT outside IP)를 검색한다. The NAT device 20 determines that the packet received from the client 10B is a cookie request packet (step S811). The cookie derivation unit 233 retrieves an external IP address (NAT outside IP) from the internal IP address (NAT inside IP) of the received packet.

상술한 바와 같이 내부 IP 주소(NAT inside IP)에 'B'에 대해서도 내부 IP 주소(NAT inside IP) 'A'와 마찬가지로 외부 IP 주소(NAT outside IP) 'C'가 매핑될 수 있다. The 'NAT' inside IP 'C' may be mapped to the 'B' in the same manner as the internal IP address 'A' in the internal IP address as described above.

쿠키 도출부(233)는 외부 IP 주소(NAT outside IP) 'C'에 대한 쿠키를 접속 쿠키 테이블(table_C)을 참조하여 검색한다. 표 2에 나타낸 바와 같이 외부 IP 주소(NAT outside IP) 'C'에 대한 쿠키의 엔트리가 존재하므로 (단계 S813), 쿠키 도출부(233)는 쿠키를 도출하여 (단계 S815) 쿠키 응답 생성부(237)에 제공한다. The cookie derivation unit 233 searches the connection cookie table table_C for a cookie for the external IP address 'C'. The cookie derivation unit 233 derives the cookie (step S815), and the cookie response generation unit (step S815) determines whether or not the cookie has a cookie corresponding to the external IP address 'C' 237).

쿠키 응답 생성부(237)는 도출된 쿠키에 기초하여 NAT 장치(20)가 지원하는 규격에 따르는 쿠키 응답을 생성하고 (단계 S817), <S, B, #cookie>의 쿠키 응답을 클라이언트(10B)에 제공한다.The cookie response generating unit 237 generates a cookie response conforming to the specification supported by the NAT device 20 based on the derived cookie (step S817), and transmits a cookie response of <S, B, #cookie> ).

이와 같이, 클라이언트(10B)에 대해서는 3-way handshake 접속 과정 없이, NAT 장치(20)에서 곧바로 쿠키를 제공함으로써 클라이언트(10B)가 서버(30)에 접속하는 시간이 줄어들 수 있다. As described above, the time for the client 10B to access the server 30 can be reduced by providing the cookie directly from the NAT device 20 to the client 10B without a 3-way handshake connection process.

클라이언트(10B)는 수신된 쿠키 정보를 토대로 노멀 트랜잭션을 수행할 수 있다. 이하의 과정은 도 7을 참조하여 설명한 노멀 트랜잭션과 실질적으로 동일하다. The client 10B can perform the normal transaction based on the received cookie information. The following procedure is substantially the same as the normal transaction described with reference to FIG.

클라이언트(10B)가 NAT 장치(20)에 대하여 <B, S, #cookie+request>의 패킷을 전송하면, NAT 장치(20)의 패킷 판별부(231)는 수신 패킷이 쿠키 요청 패킷이나 쿠키 응답 패킷이 아님을 판별하고 (단계 S732) NAT 동작을 수행하여 (단계 S734) <C, S, #cookie+request>의 패킷을 서버(30)에 전송한다. When the client 10B transmits a packet of <B, S, # cookie + request> to the NAT device 20, the packet determination unit 231 of the NAT device 20 determines whether the received packet is a cookie request packet or a cookie response It is determined that the packet is not a packet (step S732), NAT operation is performed (step S734), and a packet of <C, S, # cookie + request> is transmitted to the server 30.

서버(30)는 클라이언트(10B)의 패킷에 대하여 <S, C, response>로 응답하고, NAT 장치(20)는 서버(30)로부터 수신된 패킷이 또한 쿠키 요청이나 쿠키 응답 패킷에 해당하지 않음을 판별하고 (단계 S742), NAT 동작을 수행하여 (단계 S744) <S, B, response>의 패킷을 클라이언트(10B)에 제공한다. The server 30 responds with the <S, C, response> to the packet of the client 10B and the NAT device 20 determines that the packet received from the server 30 does not correspond to the cookie request or the cookie response packet (Step S742), performs a NAT operation (step S744), and provides a packet of <S, B, response> to the client 10B.

본 발명의 일 실시예에 따른 NAT 장치 및 NAT 방법은 내부 IP 주소(NAT inside IP)와 외부 IP 주소(NAT outside IP)가 일 대 일로 대응되지 않는 환경에서도 쿠키 프락시 기능을 수행할 수 있다. 이에 따라서 보안성 향상과 함께 접속 지연 시간을 줄일 수 있다. The NAT device and the NAT method according to an embodiment of the present invention can perform the cookie proxy function even in an environment where the NAT inside IP address and the NAT outside IP address are not corresponded one to one. Accordingly, it is possible to improve the security and reduce the access delay time.

이상에서 설명한 본 발명이 전술한 실시예 및 첨부된 도면에 한정되지 않으며, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the invention. Will be clear to those who have knowledge of.

20 : NAT 장치
210 : NAT부
230 : 쿠키 프락시부
231 : 패킷 판별부
233 : 쿠키 도출부
235 : 쿠키 관리부
237 : 쿠키 응답 생성부
20: NAT device
210: NAT unit
230: Cookie Proxy Department
231: Packet discrimination unit
233:
235:
237: Cookie Response Generation Unit

Claims (15)

내부(inside) IP 주소 및 내부 IP 주소에 매핑된 외부(outside) IP 주소를 관리하는 네트워크 주소 변환(Network address translation, NAT) 테이블을 참조하여 외부 네트워크를 통하여 클라이언트와 서버가 통신할 수 있도록 주소를 변환하는 NAT부; 및
상기 클라이언트로부터 쿠키 요청이 있는 경우, 상기 외부 IP 주소에 대응하는 쿠키(cookie)를 관리하는 접속 쿠키 테이블을 참조하여 상기 클라이언트에 쿠키를 제공하는 쿠키 프락시부를 포함하는 것을 특징으로 하는 쿠키 프락시 기능을 구비한 NAT 장치.
Network address translation (NAT) table that manages the inside IP address and the outside IP address mapped to the internal IP address is referred to and the address is set so that the client and the server can communicate with each other through the external network A translating NAT unit; And
And a cookie proxy unit for providing a cookie to the client by referring to a connection cookie table managing a cookie corresponding to the external IP address when the client makes a request for a cookie. One NAT device.
청구항 1에 있어서,
상기 쿠키 프락시부는,
수신 패킷이 쿠키 요청 패킷 또는 쿠키 응답 패킷에 해당하는 지 여부를 판별하는 패킷 판별부; 및
상기 수신 패킷이 쿠키 요청 패킷인 경우, 상기 NAT 테이블로부터 상기 수신 패킷의 외부 IP주소를 검색하여 상기 접속 쿠키 테이블로부터 쿠키를 도출하는 쿠키 도출부를 포함하는 것을 특징으로 하는 NAT 장치.
The method according to claim 1,
The cookie-
A packet discrimination unit for discriminating whether a received packet corresponds to a cookie request packet or a cookie response packet; And
And a cookie derivation unit configured to retrieve an external IP address of the received packet from the NAT table to derive a cookie from the connection cookie table if the received packet is a cookie request packet.
청구항 2에 있어서,
상기 도출된 쿠키에 기초하여 쿠키 응답을 생성하는 쿠키 응답부를 더 포함하는 것을 특징으로 하는 NAT 장치.
The method of claim 2,
And a cookie responding section for generating a cookie response based on the derived cookie.
청구항 2에 있어서,
상기 쿠키 도출부는,
상기 수신 패킷이 쿠키 요청 패킷이나, 상기 접속 쿠키 테이블에 상기 외부 IP 주소에 대응되는 엔트리가 존재하지 않는 경우, 상기 수신 패킷을 상기 NAT 부로 전달하는 것을 특징으로 하는 NAT 장치.
The method of claim 2,
The cookie-
When the received packet does not include a cookie request packet or an entry corresponding to the external IP address in the connection cookie table, transfers the received packet to the NAT unit.
청구항 4에 있어서,
상기 NAT 부는 상기 쿠키 요청 패킷에 해당하는 수신 패킷에 대한 네트워크 주소 변환을 수행하여 상기 서버에 대하여 쿠키를 요청하는 것을 특징으로 하는 NAT 장치.
The method of claim 4,
Wherein the NAT unit performs a network address translation for a received packet corresponding to the cookie request packet to request a cookie to the server.
청구항 2에 있어서,
상기 쿠키 프락시부는,
상기 수신 패킷이 쿠키 응답 패킷인 경우, 상기 수신 패킷에 포함된 쿠키 정보에 기초하여 상기 접속 쿠키 테이블을 갱신하거나 새로운 엔트리를 생성하는 쿠키 관리부를 포함하는 것을 특징으로 하는 NAT 장치.
The method of claim 2,
The cookie-
And a cookie management unit for updating the connection cookie table or generating a new entry based on the cookie information included in the received packet when the received packet is a cookie response packet.
청구항 2에 있어서,
상기 쿠키 판별부는,
상기 수신 패킷이 상기 쿠키 요청 패킷 또는 상기 쿠키 응답 패킷 중 적어도 하나에 해당되지 않는 경우, 상기 수신 패킷을 상기 NAT 부로 제공하여 네트워크 주소 변환 동작을 수행하도록 하는 것을 특징으로 하는 NAT 장치.
The method of claim 2,
The cookie-
Wherein the NAT control unit provides the received packet to the NAT unit to perform a network address translation operation when the received packet does not correspond to at least one of the cookie request packet or the cookie response packet.
청구항 2에 있어서,
상기 클라이언트 측 네트워크와 물리적으로 연결되는 클라이언트 단자 및 상기 서버 측 네트워크와 물리적으로 연결되는 서버 단자를 더 포함하는 것을 특징으로 하는 NAT 장치.
The method of claim 2,
Further comprising a client terminal physically connected to the client-side network and a server terminal physically connected to the server-side network.
청구항 8에 있어서,
상기 패킷 판별부는,
상기 수신 패킷이 상기 클라이언트 단자로부터 수신되는 경우에는 쿠키 요청 패킷 여부만을 판단하고, 상기 수신 패킷이 상기 서버로부터 수신되는 경우에는 쿠키 응답 패킷 여부만을 판단하는 것을 특징으로 하는 네트워크 주소 변환 장치.
The method of claim 8,
The packet determination unit may determine,
Wherein the control unit determines whether the received packet is a cookie request packet when the received packet is received from the client terminal and only determines whether or not the received packet is a cookie response packet when the received packet is received from the server.
청구항 1에 있어서,
상기 접속 쿠키 테이블은 상기 쿠키의 외부 IP에 대응되는 상기 NAT 테이블 내의 포인터 또는 상기 외부 IP주소에 대응되는 외부 포트 정보를 포함하는 것을 특징으로 하는 NAT 장치.
The method according to claim 1,
Wherein the connection cookie table includes a pointer in the NAT table corresponding to the external IP of the cookie or external port information corresponding to the external IP address.
외부 IP 주소에 대응하는 쿠키(cookie)를 관리하는 접속 쿠키 테이블을 구비하는 네트워크 주소 변환(Network address translation, NAT) 장치에 있어서,
수신 패킷이 쿠키 요청 패킷 또는 쿠키 응답 패킷에 해당하는 지 여부를 판별하는 단계; 및
상기 수신 패킷이 상기 쿠키 요청 패킷에 해당하는 경우, 상기 접속 쿠키 테이블로부터 쿠키를 도출하여 쿠키 응답을 제공하는 단계를 포함하는 것을 특징으로 하는 쿠키 프락시 기능을 지원하는 NAT 방법.
1. A network address translation (NAT) apparatus having a connection cookie table for managing a cookie corresponding to an external IP address,
Determining whether the received packet corresponds to a cookie request packet or a cookie response packet; And
And if the received packet corresponds to the cookie request packet, deriving a cookie from the connection cookie table and providing a cookie response.
청구항 11에 있어서,
상기 쿠키 응답을 제공하는 단계는,
상기 수신 패킷에 포함된 내부 IP 주소에 기초하여 NAT 테이블로부터 외부 IP 주소를 검색하는 단계;
상기 검색된 외부 IP 주소에 기초하여 상기 접속 쿠키 테이블로부터 상기 쿠키를 도출하는 단계; 및
상기 도출된 쿠키를 상기 쿠키 응답으로 생성하는 단계를 포함하는 것을 특징으로 하는 NAT 방법.
The method of claim 11,
Wherein providing the cookie response comprises:
Retrieving an external IP address from the NAT table based on the internal IP address included in the received packet;
Deriving the cookie from the connection cookie table based on the retrieved external IP address; And
And generating the derived cookie as the cookie response.
청구항 12에 있어서,
상기 접속 쿠키 테이블에 상기 수신 패킷의 외부 IP 주소의 엔트리가 없는 경우, 상기 수신 패킷에 대하여 네트워크 주소 변환을 수행하는 단계를 포함하는 것을 특징으로 하는 NAT 방법.
The method of claim 12,
And performing a network address translation on the received packet if there is no entry of the external IP address of the received packet in the connection cookie table.
청구항 11에 있어서,
상기 수신 패킷이 쿠키 응답 패킷인 경우, 상기 수신 패킷에 포함된 쿠키 정보에 기초하여 상기 접속 쿠키 테이블을 관리하는 단계를 더 포함하는 것을 특징으로 하는 NAT 방법.
The method of claim 11,
Further comprising the step of managing the connection cookie table based on the cookie information included in the received packet when the received packet is a cookie response packet.
청구항 11에 있어서,
상기 수신 패킷이 상기 쿠키 응답 패킷 또는 상기 쿠키 요청 패킷 중 적어도 하나에 해당하지 않는 경우, 상기 수신 패킷에 대하여 네트워크 주소 변환 동작을 수행하는 단계를 더 포함하는 것을 특징으로 하는 NAT 방법.
The method of claim 11,
Further comprising performing a network address translation operation on the received packet if the received packet does not correspond to at least one of the cookie response packet or the cookie request packet.
KR1020140042277A 2014-01-28 2014-04-09 Network Address Translation apparatus with cookie proxy function and method for NAT supporting cookie proxy function KR20150089894A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/602,590 US20150215277A1 (en) 2014-01-28 2015-01-22 Network address translation apparatus with cookie proxy function and method for nat supporting cookie proxy function

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20140010297 2014-01-28
KR1020140010297 2014-01-28

Publications (1)

Publication Number Publication Date
KR20150089894A true KR20150089894A (en) 2015-08-05

Family

ID=53886236

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140042277A KR20150089894A (en) 2014-01-28 2014-04-09 Network Address Translation apparatus with cookie proxy function and method for NAT supporting cookie proxy function

Country Status (1)

Country Link
KR (1) KR20150089894A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190023642A (en) * 2017-08-29 2019-03-08 한국전자통신연구원 Security method and apparatus using tfo cookie value, and communication method and apparatus using the same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190023642A (en) * 2017-08-29 2019-03-08 한국전자통신연구원 Security method and apparatus using tfo cookie value, and communication method and apparatus using the same

Similar Documents

Publication Publication Date Title
US11057351B1 (en) System and method for session affinity in proxy media routing
JP4579934B2 (en) Addressing method and apparatus for establishing a Host Identity Protocol (HIP) connection between a legacy node and a HIP node
US8156243B2 (en) Request routing
JP6858749B2 (en) Devices and methods for establishing connections in load balancing systems
US8214537B2 (en) Domain name system using dynamic DNS and global address management method for dynamic DNS server
CN107872486B (en) Communication method and device
US9225721B2 (en) Distributing overlay network ingress information
CN111917900B (en) Domain name agent request processing method and device
WO2018214853A1 (en) Method, apparatus, medium and device for reducing length of dns message
US11202252B2 (en) Inclusion of a message proxy in a service based architecture
US10587515B2 (en) Stateless information centric forwarding using dynamic filters
US20110238975A1 (en) Information processing device, route control device, and data relay method
US8234358B2 (en) Communicating with an entity inside a private network using an existing connection to initiate communication
US9467416B2 (en) Methods and systems for dynamic domain name system (DDNS)
CN112073545A (en) Using DNS to communicate MP-TCP capabilities of server devices
US20050135359A1 (en) System and method for IPSEC-compliant network address port translation
EP4181436B1 (en) Data processing method and apparatus, related device and storage medium
CN103581361A (en) Domain name resolution proxy method, device and system
CN114025009B (en) Method, system, proxy server and device for forwarding request
US20150215277A1 (en) Network address translation apparatus with cookie proxy function and method for nat supporting cookie proxy function
US10742751B2 (en) User based mDNS service discovery
US20190306110A1 (en) Experience differentiation
US20210226815A1 (en) Communications bridge
JP2019522416A (en) System and method for DNS request suppression
US20180375818A1 (en) Dns-based method of transmitting data

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination