KR20020074914A - Method for data flow separation on network and apparatus therefor - Google Patents

Method for data flow separation on network and apparatus therefor Download PDF

Info

Publication number
KR20020074914A
KR20020074914A KR1020010014990A KR20010014990A KR20020074914A KR 20020074914 A KR20020074914 A KR 20020074914A KR 1020010014990 A KR1020010014990 A KR 1020010014990A KR 20010014990 A KR20010014990 A KR 20010014990A KR 20020074914 A KR20020074914 A KR 20020074914A
Authority
KR
South Korea
Prior art keywords
address
packet
local
global
network
Prior art date
Application number
KR1020010014990A
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 KR1020010014990A priority Critical patent/KR20020074914A/en
Publication of KR20020074914A publication Critical patent/KR20020074914A/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • 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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PURPOSE: A method and an apparatus for identifying data flows on a network are provided to identify the data flows between local hosts, sharing and using a global IP address, and external hosts for the full access communication between them. CONSTITUTION: An NATFS(Network Address Translation by Flow Separation) router judges whether an IP packet being forwarded is an outgoing packet(S201). In case that the present IP packet is an outgoing packet, the NATFS router judges whether IP address conversion is required(S202). If it is judged that IP address conversion is required, the NATFS router searches a conversion table using the source IP address, destination IP address, source port and destination port of the IP packet(S203). If a suitable search result is obtained from the conversion table, the NATFS router processes the IP packet according to its service type(S204,S206). Then the NATFS router converts the local IP address of the IP packet, or the source IP address, into a global IP address(S207). Afterwards the NATFS router sets time-out(S208), calculates a check sum for the data integrity of each packet's modified contents(S209), and forwards the address-converted IP packet(S210).

Description

네트워크상에서의 데이터 플로우 식별 방법 및 장치{Method for data flow separation on network and apparatus therefor}Method and data flow identification on network and apparatus therefor}

본 발명은 네트워크 장치 및 네트워킹 방법에 관한 것으로서, 보다 상세하게는, 글로벌 IP 주소를 공유하여 사용하는 로컬 호스트에 의하여 송수신되는 데이터 플로우를 구별하기 위한 방법 및 장치에 관한 것이다.The present invention relates to a network apparatus and a networking method, and more particularly, to a method and apparatus for distinguishing data flows transmitted and received by a local host sharing and using a global IP address.

현재 인터넷(TCP/IP 네트워크) 상의 모든 호스트들은 인터넷에 접속하기 위해서 32비트의 주소 체계를 갖는 전세계적으로 유일한 IP 주소(IPv4)를 할당받아야 한다. 하지만 월드 와이드 웹(world wide web)의 출현 및 인터넷 서비스의 기하급수적인 양적 팽창과 IP 주소의 비효율적인 할당은 한정된 IP 주소 공간의 빠른 고갈을 초래하였다. 그 결과 전세계적으로 IP 주소는 매우 부족한 상황이다.Currently, all hosts on the Internet (TCP / IP network) must be assigned a globally unique IP address (IPv4) with a 32-bit addressing system to access the Internet. However, the advent of the world wide web, the exponential quantitative expansion of Internet services, and the inefficient allocation of IP addresses have resulted in rapid depletion of the limited IP address space. As a result, IP addresses are very scarce worldwide.

이것은 새로운 대형 네트워크가 속속 생성되고 있으며, 이러한 대형 네트워크를 기존 인터넷에 신규로 연결해야 하는데 비추어 매우 심각한 문제이다. 이러한 IP 주소 고갈을 해결하기 위한 장기적인 해결책으로 128비트 주소 체계를 갖는 차세대 데이터 전달 프로토콜인 IPv6가 제시되었으나 표준으로 사용되기까지는 많은 시간이 소요될 전망이다. 따라서 IPv4에서의 IP 주소 부족문제를 해결하기 위하여 CIDR(Classless Inter-Domain Routing), Proxy, DHCP(Dynamic Host Configuration Protocol) 등 여러 가지 방안들이 제시되었다. 그 중 대표적인 것이 네트워크 주소 변환(Network Address Translation) 방법이다.This is a very serious problem in view of the creation of new large networks, and the need to connect these large networks to the existing Internet. As a long-term solution to address this depletion of IP addresses, IPv6, a next-generation data transfer protocol with 128-bit addressing scheme, has been proposed, but it will take a long time before it is used as a standard. Therefore, various methods such as Classless Inter-Domain Routing (CIDR), Proxy, and Dynamic Host Configuration Protocol (DHCP) have been proposed to solve the IP address shortage problem in IPv4. The most representative one is the network address translation method.

네트워크 주소 변환 방법은 위에서 언급한대로 IP주소 공간의 고갈문제를 해결하기 위해 처음 고안되었으나 주소 변환을 통해 보안이나 부하 균등화(Load Balancing)등의 부수적인 효과를 얻을 수 있어 사용되는 경우도 있다. 네트워크 주소 변환 방법은 로컬 IP 주소를 사용하는 로컬 네트워크와 외부 네트워크(인터넷)와의 연동을 위해 사용된다. 이를 간략히 설명하면 다음과 같다.The network address translation method was originally designed to solve the problem of depletion of the IP address space as mentioned above, but it may be used because of the side effects such as security or load balancing. The network address translation method is used for interworking with a local network using a local IP address and an external network (Internet). Briefly described as follows.

로컬 네트워크의 각 호스트는 서로 상이한 로컬 IP 주소를 사용하여 통신한다. 그러므로, 로컬 네트워크의 호스트가 외부 네트워크의 호스트와 통신하기 위해서는, 네트워크 주소 변환 기술에 의해 로컬 IP 주소를 외부 네트워크의 호스트가 식별할 수 있는 글로벌 IP 주소로 변환하여야 한다. 네트워크 주소 변환 방법은 룩업(Lookup) 테이블 형식의 변환테이블을 생성하고 이를 참조한다.Each host in the local network communicates using a different local IP address. Therefore, in order for a host of a local network to communicate with a host of an external network, network address translation technology must convert the local IP address into a global IP address that can be identified by a host of the external network. The network address translation method creates a translation table in the form of a lookup table and references it.

종래에 사용하고 있는 네트워크 주소 변환 방법은 크게 두 가지로 나누어 볼 수 있다. 첫째는 IP 패킷의 발신지 주소(로컬 IP 주소)를 글로벌 IP 주소로 변환하는 기본 NAT(Network Address Translation)이고, 둘째는 IP 주소뿐만 아니라 TCP/UDP 계층의 포트까지 변환하는 NAPT(Network Address Port Translation)이다.The conventional network address translation method can be divided into two types. The first is a basic network address translation (NAT) that translates the source address (local IP address) of an IP packet into a global IP address. The second is a network address port translation (NAPT) that translates not only an IP address but also a port in the TCP / UDP layer. to be.

기본 NAT 방식에서는 목적지 IP 주소만으로 데이터 플로우를 구별하기 때문에 로컬 네트워크의 여러 대의 호스트가 하나의 IP 주소를 동시에 공유할 수 없으므로 IP 주소의 이용률이 현저하게 떨어진다. 즉, 동시에 존재하는 모든 데이터 플로우에 각각의 서로 다른 글로벌 IP가 할당되어야 하므로 동시에 하나의 IP주소를 여러 대의 호스트가 공유할 수 없다. 따라서 최악에 경우 로컬 네트워크의 호스트 수만큼 글로벌 IP가 필요하게 되므로 IP 주소 이용률이 낮아지게 된다.In the basic NAT method, data flows are distinguished only by the destination IP address. Therefore, the utilization of the IP address is remarkably reduced because multiple hosts in the local network cannot share a single IP address at the same time. In other words, because different global IPs must be assigned to all concurrent data flows, multiple hosts cannot share an IP address at the same time. As a result, in the worst case, global IPs are required as many as the number of hosts in the local network, resulting in low IP address utilization.

이러한 단점을 보완하기 위해 개발된 대표적 주소변환 방법인 NAPT는 데이터 플로우의 구별을 TCP(혹은 UDP) 프로토콜의 포트로 구별하므로 여러 로컬 네트워크의 호스트들이 포트 번호만 달리하여 하나의 글로벌 IP 주소를 동시에 사용할 수 있어 IP 주소의 이용률이 우수하다. 그러나, 이러한 NAPT 방법에서는 IP 주소를 변환하기 위해 IP 계층뿐만 아니라 TCP 계층까지 고려해야 하므로 프로세싱이 복잡하고 처리 속도가 느리며 포트 번호에 민감한 서비스는 지원하지 못하는 단점이 있다.NAPT, a representative address translation method developed to compensate for this disadvantage, distinguishes data flows into ports of the TCP (or UDP) protocol, so that hosts on multiple local networks can use a single global IP address at the same time with different port numbers. Can use IP address is excellent. However, this NAPT method has to consider not only the IP layer but also the TCP layer in order to translate the IP address, which results in a complicated processing, a slow processing speed, and a port number sensitive service.

그러므로, 기본 NAT와 NAPT 방법의 장점만을 취하면서도, 포트 번호에 민감한 서비스를 모두 제공할 수 있는 주소 변환 방법이 절실히 요구되었다.Therefore, there is an urgent need for an address translation method that can provide both port number-sensitive services while taking advantage of the basic NAT and NAPT methods.

또한, NAPT에서는 풀 억세스(Full access) 통신이 제공될 수 없다. 풀 억세스 통신이란 용어는 로컬 네트워크에서 외부 네트워크로 접속을 시도하여 통신을 하는 것 뿐만 아니라 외부 네트워크에서 로컬 네트워크로 접속을 시도하여 통신할 수 있는 것을 의미한다. 일반적으로 NAT 방법들은 로컬 네트워크에서 외부 네트워크로 접속을 시도하여 통신하는 것만 고려하여 설계되었다. NAPT의 경우 풀 억세스 통신을 지원하고자 하는 노력의 결과로 포트 포워딩이라는 새로운 방법이 나오게 되었지만, 트랜스포트 계층의 정보를 이용하여 주소 변환을 수행하므로 많은 제약이 따른다. 포트 포워딩 방법은 NAPT의 한 포트와 로컬 네트워크 내의 서버로 사용할 호스트를 정적으로 바인딩시키는 방법이다. 이 방법을 통하여 각 서비스 포트에 따라 단지 하나의 호스트만이 풀 억세스 통신을 지원할 수 있다. 따라서 로컬 네트워크 안에서 여러 대의 파일 서버나 웹 서버를 운영할 수 없게 되므로 근본적으로 풀 억세스 통신에 많은 제약을 가질 수 밖에 없다. 그러므로, 로컬 호스트에서 외부 네트워크로 향하는 데이터 플로우는 물론, 외부 네트워크로부터 로컬 호스트로 향하는 데이터 플로우를 모두 지원하는 풀 억세스 통신을 가능케 하는 데이터 플로우의 식별 방법이 절실히 요구되었다.In addition, full access communication cannot be provided in NAPT. The term full access communication means not only communicating with a local network from an external network but also trying to communicate with an external network from a local network. In general, NAT methods are designed considering only communication attempts from the local network to the external network. In the case of NAPT, a new method called port forwarding has emerged as a result of efforts to support full access communication, but there are many limitations because address translation is performed using information of the transport layer. Port forwarding is a method of statically binding a port on NAPT to a host for use as a server in the local network. In this way, only one host can support full access communication for each service port. As a result, it is impossible to operate multiple file servers or web servers in the local network. Therefore, there are inherent limitations in full access communication. Therefore, there is an urgent need for a method of identifying data flows that enables full access communication supporting both data flows from the local host to the external network, as well as data flows from the external network to the local host.

상술된 풀 억세스 통신은 특히, 인터넷 가전과 홈 오토메이션(Home Automation)과 밀접한 관련이 있다. 현재, 각 가정으로 초고속 통신망이 급속히 보급됨으로 인해 많은 가정에서 시간에 구애받지 않고 항상 인터넷을 이용할 수 있는 환경이 구축되고 있으며, 이러한 환경은 인터넷 가전 및 홈 오토메이션의 기술과 시장을 활성화시킨다. 인터넷 가전의 가장 기본적인 요구사항은, 인터넷과 같은 통신망을 억세스하는 클라이언트의 입장이 아닌, 원격지의 가족 구성원으로부터의 억세스를 받는 서버로서의 역할을 담당하여 원격지의 가족 구성원이 인터넷 가전 기기를 제어할 수 있도록 하는 것이 될 것이다. 그러나 이러한 억세스를 지원하기 위해 각각의 인터넷 가전 제품은 고유한 글로벌 IP 주소를 할당받아야 한다. 이는 현재 인터넷의 IP 주소 부족 문제를 가중시키며 가정으로 인터넷 가전을 확대 보급시키는데 있어 가장 큰 장애 요소이다.The full access communication described above is particularly closely related to internet appliances and home automation. Nowadays, the rapid spread of high-speed communication networks to each home is creating an environment in which many homes can always use the Internet regardless of time, and this environment activates technologies and markets for Internet home appliances and home automation. The most basic requirement of Internet home appliances is not to be a client accessing a communication network such as the Internet, but to serve as a server that receives access from a remote family member so that the remote family member can control the home appliance. Will be. However, to support this access, each Internet appliance must be assigned a unique global IP address. This adds to the current shortage of IP addresses on the Internet and is the biggest obstacle to the widespread deployment of Internet appliances in the home.

본 발명이 이루고자 하는 기술적 과제는 글로벌 IP 주소를 공유하여 사용하는 로컬 호스트와 외부 호스트간의 풀억세스 통신을 위해 로컬 호스트와 외부호스트간의 데이터 플로우를 구별하기 위한 방법 및 장치를 제공하는 것이다.An object of the present invention is to provide a method and apparatus for distinguishing data flow between a local host and an external host for full access communication between a local host and an external host sharing a global IP address.

도 1은 본 발명의 바람직한 실시예에 따른 네트워크상에서의 데이터 플로우 식별 방법 및 장치를 설명하기 위한 개략도이다.1 is a schematic diagram illustrating a data flow identification method and apparatus on a network according to a preferred embodiment of the present invention.

도 2는 본 발명의 바람직한 실시예에 따른 네트워크상에서의 데이터 플로우 식별 방법을 설명하기 위한 흐름도이다.2 is a flowchart illustrating a data flow identification method on a network according to a preferred embodiment of the present invention.

도 3은 데이터 플로우의 식별을 위해 저장되는 변환테이블의 일 예이다.3 is an example of a conversion table stored for identification of a data flow.

도 4a 내지 4d는 도 2의 각 단계들에서 형성되는 패킷정보의 일 예들이다.4A to 4D are examples of packet information formed in each step of FIG. 2.

도 5는 동일한 외부 호스트와 동시에 접속하는 경우의 변환테이블의 일 예이다.5 is an example of a conversion table when connecting to the same external host at the same time.

도 6은 DNS를 사용하여 로컬 호스트를 서버로서 사용하는 방법을 설명하기 위한 흐름도이다.6 is a flowchart illustrating a method of using a local host as a server using DNS.

도 7은 동적으로 할당된 글로벌 IP 주소를 동적 DNS서버를 이용하여 갱신하는 방법을 설명하기 위한 개략도이다.7 is a schematic diagram illustrating a method of updating a dynamically allocated global IP address using a dynamic DNS server.

본 발명은 상기한 기술적 과제를 달성하기 위하여, 로컬 네트워크내에서 각각 상이한 로컬 IP 주소를 가지는 하나 이상의 로컬 호스트들이 소정의 글로벌 IP 주소를 공유하여 외부 호스트와 송수신하는 데이터 플로우를 네트워크상에서 식별하기 위한 방법에 있어서, 상기 데이터 플로우의 IP 패킷에 대한 상기 로컬 IP 주소, 상기 글로벌 IP 주소, 상기 외부 호스트의 IP 주소, 상기 패킷의 발신지 포트 및 상기 패킷의 목적지 포트 정보를 포함하는 변환테이블을 구비하는 단계; 상기 로컬 호스트로부터 상기 외부 호스트로 향하는 아웃고잉 IP 패킷의 로컬 IP 주소를 상기 글로벌 IP 주소로 변환하여 송신하는 단계; 및 상기 외부 호스트로부터 상기 글로벌 IP 주소로 수신되는 인커밍 IP 패킷을 상기 변환테이블에 기록된 정보의 적어도 일부를 이용하여 식별하는 단계를 포함하는 네트워크상에서의 데이터 플로우 식별 방법을 제공한다.In order to achieve the above technical problem, the present invention provides a method for identifying a data flow on a network in which one or more local hosts each having a different local IP address in a local network share a predetermined global IP address and transmit and receive with an external host. And a translation table comprising information of the local IP address, the global IP address, the IP address of the external host, the source port of the packet and the destination port of the packet for the IP packet of the data flow; Translating and transmitting a local IP address of an outgoing IP packet destined for the external host from the local host to the global IP address; And identifying an incoming IP packet received from the external host to the global IP address using at least some of the information recorded in the translation table.

본 발명은 상기한 기술적 과제를 달성하기 위하여, 본 발명의 다른 형태에 의하면, 로컬 네트워크내에서 각각 상이한 로컬 IP 주소를 가지는 하나 이상의 로컬 호스트들이 소정의 글로벌 IP 주소를 공유하여 외부 호스트와 송수신하는 데이터 플로우를 네트워크상에서 식별하기 위한 장치에 있어서, 상기 데이터 플로우의 IP 패킷에 대한 상기 로컬 IP 주소, 상기 글로벌 IP 주소, 상기 외부 호스트의 IP 주소, 상기 패킷의 발신지 포트 및 상기 패킷의 목적지 포트 정보를 포함하는 항목을 저장하는 변환테이블; 및 상기 로컬 호스트로부터 상기 외부 호스트로 향하는 아웃고잉 IP 패킷의 로컬 IP 주소를 상기 글로벌 IP 주소로 변환하여 송신하고, 상기 외부 호스트로부터 상기 글로벌 IP 주소로 수신되는 인커밍 IP 패킷을 상기 변환테이블에 기록된 정보의 적어도 일부를 이용하여 식별하는 처리부를 포함하는 네트워크상에서의 데이터 플로우 식별 장치를 제공한다.According to another aspect of the present invention, in order to achieve the above technical problem, one or more local hosts each having a different local IP address in the local network share data with the external host by sharing a predetermined global IP address An apparatus for identifying a flow on a network, comprising: the local IP address, the global IP address, the IP address of the external host, the source port of the packet and the destination port information of the packet for an IP packet of the data flow A conversion table for storing an item to be made; And converts and transmits a local IP address of an outgoing IP packet destined for the external host from the local host to the global IP address, and records an incoming IP packet received from the external host to the global IP address in the conversion table. An apparatus for identifying a data flow on a network including a processing unit for identifying using at least a portion of the collected information is provided.

이하 첨부된 도면을 참조하여, 본 발명의 바람직한 실시들에 의한 네트워크상에서의 데이터 플로우 식별 방법 및 장치에 대해 보다 상세히 설명하기로 한다.Hereinafter, a method and apparatus for identifying a data flow in a network according to preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 바람직한 실시예에 따른 네트워크상에서의 데이터 플로우 식별 방법 및 장치를 설명하기 위한 개략도이다. 도 1을 참조하면, 로컬네트워크는 HOST A(11), HOST B(12), HOST C(13) 등으로 구성되어 있으며, 이들은 로컬 네트워크내에서만 식별가능한 고유의 로컬 IP 주소를 가진다. 이들은 본 발명에 따른 NATFS(Network Address Translation by Flow Separation) 라우터(10)를 통해 외부의 호스트들, 즉 HOST X(14), HOST Y(15), HOST Z(15)등으로 연결된다. 외부와의 인터넷 접속을 위해서는 외부에서도 인식할 수 있는 고유의 IP 주소가 필요한데, 상기 로컬 IP 주소는 로컬 네트워크 내에서만 인식가능한 주소이므로 NATFS 라우터(10)는 상기 로컬 IP 주소를 외부에서도 인식할 수 있는 IP 주소, 즉 글로벌 IP 주소로 변환한다. 로컬 네트워크에서 외부 네트워크에 접속하기 위해서 미리 할당되어 있는 글로벌 IP 주소는 IP 풀(IP Pool)에 의해 관리되며, 신규 글로벌 IP 가 필요한 경우 상기 IP 풀에서 하나를 선택하여 사용하게 된다. 상술된 기능을 수행하기 위하여 본 발명에 의한 NATFS 라우터(10)는 IP 패킷에 대한 로컬 IP 주소, 글로벌 IP 주소, 외부 호스트의 IP 주소, 상기 패킷의 발신지 포트 및 상기 패킷의 목적지 포트 정보를 저장하는 변환테이블(102), 및 상기 변환케이블(102)을 참조하여 아웃고잉과 인커밍시 패킷의 변환을 처리하기 위한 처리부(101)를 구비한다.1 is a schematic diagram illustrating a data flow identification method and apparatus on a network according to a preferred embodiment of the present invention. Referring to Figure 1, the local network is composed of HOST A (11), HOST B (12), HOST C (13), etc., which have a unique local IP address that can be identified only in the local network. These are connected to external hosts, that is, HOST X (14), HOST Y (15), HOST Z (15), etc. through a NATFS (Network Address Translation by Flow Separation) router 10 according to the present invention. In order to access the Internet from the outside, a unique IP address that can be recognized from the outside is required. Since the local IP address is only recognized within the local network, the NATFS router 10 can recognize the local IP address from the outside. Convert to an IP address, that is, a global IP address. In the local network, a global IP address allocated in advance to access an external network is managed by an IP pool, and when a new global IP is needed, one of the IP pools is selected and used. In order to perform the above-described function, the NATFS router 10 according to the present invention stores local IP addresses, global IP addresses, IP addresses of external hosts, source ports of the packets, and destination port information of the packets. A conversion table 102, and a processing unit 101 for processing the conversion of packets during outgoing and incoming with reference to the conversion cable 102.

이제 NATFS 라우터(10)에서 로컬 호스트들(11,12,13,...)과 외부 호스트들(14,15,16,...)간의 통신을 가능하게 하는 방법에 대해 도 2 내지 도 4를 참조하여 설명할 것이다. 도 2는 본 발명의 바람직한 실시예에 따른 네트워크상에서의 데이터 플로우 식별 방법을 설명하기 위한 흐름도이며, 도 3은 데이터 플로우의 식별을 위해 저장되는 변환테이블의 일 예이고, 도 4a 내지 4d는 도 2의 각 단계들에서 형성되는 패킷정보의 일 예들이다.Now a method for enabling communication between the local hosts (11, 12, 13, ...) and external hosts (14, 15, 16, ...) in the NATFS router 10 Figures 2 to 4 This will be described with reference to. FIG. 2 is a flowchart illustrating a data flow identification method in a network according to a preferred embodiment of the present invention. FIG. 3 is an example of a conversion table stored for identification of a data flow, and FIGS. 4A to 4D are FIGS. Examples of packet information formed in each step of the.

도 2를 참조하면, 먼저 일반적인 IP 패킷 전달(Forwarding)에 대하여 아웃고잉(Outgoing)인지 여부를 판단한다(S201). 아웃고잉인 경우, IP 의 주소변환이 필요한지 여부를 판단한다(S202). 로컬 네트워크 내에서의 패킷 전달이라면, 로컬 IP만으로도 충분히 각 호스트들의 식별이 가능하므로, 굳이 IP를 변환할 필요가 없으므로, S210 단계에서 IP 패킷을 포워딩한다. 만약 IP 주소의 변환이 필요하다고 판단되면, 즉, 패킷을 로컬 네트워크 이외의 외부 네트워크에 전달하는 경우라면, 패킷의 IP 변환이 필요하게 된다. 이는 상술한 바와 같이 외부네트워크에서는 로컬 IP 주소가 의미를 상실하기 때문이다. 이 경우, IP 패킷의 발신지의 로컬 IP 주소와 목적지의 외부 IP 주소, 발신지의 포트, 목적지의 포트를 이용하여 변환테이블을 검색한다(S203). 변환테이블은 데이터 플로우를 식별하기 위하여 여러가지 정보를 저장해 놓은 테이블로서 그 일 예가 도 3에 도시되어 있다. 도 3을 참조하면, 테이블의 필드(Field)로는 로컬 IP 주소, 글로벌 IP 주소, 외부 IP 주소, 발신지 포트, 및 목적지 포트가 있다. 그 상세한 내역이 다음에 설명된다.Referring to FIG. 2, first, it is determined whether outgoing with respect to general IP packet forwarding is performed (S201). If outgoing, it is determined whether IP address translation is necessary (S202). In the case of packet forwarding in the local network, since each host can be sufficiently identified using only the local IP, the IP packet is forwarded at step S210 since it is not necessary to convert the IP. If it is determined that the translation of the IP address is necessary, that is, if the packet is delivered to an external network other than the local network, the IP translation of the packet is required. This is because the local IP address loses meaning in the external network as described above. In this case, the conversion table is searched using the local IP address of the source of the IP packet, the external IP address of the destination, the port of the source, and the port of the destination (S203). The conversion table is a table storing various information for identifying the data flow, an example of which is shown in FIG. 3. Referring to FIG. 3, fields of the table include a local IP address, a global IP address, an external IP address, a source port, and a destination port. The details are described next.

- 로컬 IP 주소 : 패킷의 발신지 로컬 IP 주소-Local IP Address: Local IP address of packet origin

- 글로벌 IP 주소 : 주소 변환을 위해 사용되는 글로벌 IP 주소로서 IP 풀에서 관리되며 보통의 경우 한 개의 IP 주소만을 사용한다.-Global IP address: Global IP address used for address translation. It is managed in IP pool. Usually, only one IP address is used.

- 외부 IP 주소 : 패킷의 외부 네트워크에 있는 목적지 IP 주소External IP address: the destination IP address in the packet's external network

- 발신지 포트 : 패킷의 발신지 포트로서 프로토콜 또는 어플리케이션에 따라 접속중에 동적으로 변화하므로 LRU(Least Recently Used)알고리즘에 의한 링크드 리스트로 관리된다.-Source port: As the source port of the packet, it changes dynamically during connection according to the protocol or application, so it is managed as a linked list by the LRU (Least Recently Used) algorithm.

- 목적지 포트 : 패킷의 목적지 포트로 서비스 종류를 구별하는데 사용된다.-Destination port: It is used to distinguish service type by destination port of packet.

상기 변환테이블의 필드 중에서 데이터 플로우를 식별하기 위해 발신지 포트정보를 사용한다는 점에 특히 주목할 필요가 있다.It is particularly noteworthy that source port information is used to identify the data flow among the fields of the conversion table.

한편, 테이블로부터 검색하여 상기 조건에 맞는 검색결과가 나오는지 여부를 판단하여(S204), 만약 검색되지 않으면, 이는 최초로 발생하는 데이터 플로우이므로 IP 풀에서 글로벌 IP를 하나 할당하여 변환테이블의 각 필드에 해당 정보를 바인딩하여 저장한다(S205). 이후 IP 패킷의 서비스 종류에 따라 처리하게 된다(S206). 본 예에서는 서비스의 종류로 텔넷(Telnet) 서비스를 선택하였다. 이로써 상기 변환테이블의 각 필드에 기입할 모든 정보를 알 수 있게 된다. 즉, 예를 들어 도 1의 HOST A(10.1.1.2) 가 HOST X(211.113.146.148)에게 텔넷 서비스를 요청하는 경우, 로컬 IP 주소에는 HOST A의 IP 주소인 10.1.1.2가 기입되며, 글로벌 IP 주소에는 상기 IP 풀로부터 할당된 글로벌 IP 주소인 211.113.146.186이 기입된다. 외부 IP 주소는 HOST X의 IP 주소인 211.113.146.148이 기입된다. 도메인 네임으로 텔넷 접속을 시도하는 경우, 일반적인 DNS(Domain Name System) 처리 루틴을 통해 상기 HOST X의 IP 주소는 쉽게 구할 수 있으며, 그 방법은 당업자에게 있어 명백하므로 구체적인 설명은 생략한다. 발신지 포트에는 통신을 위하여 HOST A측에서 랜덤하게 생성된 포트 번호가(본 예에서는 1200) 기입되며, 목적지 포트에는 목적지 즉 HOST X 측에 요청하는 서비스의 포트번호(본 예에서는 텔넷 서비스를 원하므로 포트번호는 23이 된다)가 기입된다. 지금까지의 단계에서 생성된 패킷정보가 도 4a에 도시되어 있다. 발신지 IP에는 로컬 IP 주소인 10.1.1.2가 기입되고, 목적지 IP 에는 211.113.146.148이 기입되며, 발신지 포트 및 목적지 포트에는 각각 1200 및 23이 기재되어 있다.On the other hand, by searching from the table to determine whether a search result that meets the above conditions (S204), if not found, since this is the first data flow occurs, assign a global IP from the IP pool corresponding to each field of the conversion table The information is bound and stored (S205). Thereafter, processing is performed according to the service type of the IP packet (S206). In this example, Telnet service is selected as the service type. This makes it possible to know all the information to be written in each field of the conversion table. That is, for example, when HOST A (10.1.1.2) of FIG. 1 requests telnet service from HOST X (211.113.146.148), the local IP address includes 10.1.1.2, which is the IP address of HOST A, and the global IP. In the address, 211.113.146.186, which is a global IP address allocated from the IP pool, is written. For the external IP address, 211.113.146.148, the IP address of HOST X, is entered. When a telnet connection is attempted with a domain name, the IP address of the host X can be easily obtained through a general domain name system (DNS) processing routine, and the method is obvious to those skilled in the art, and thus a detailed description thereof will be omitted. In the source port, a randomly generated port number (1200 in this example) is entered for communication. In the destination port, the port number of the service requesting the destination, that is, the HOST X side (in this example, Telnet service is desired. Port number is 23). The packet information generated in the above steps is shown in Fig. 4A. The source IP has a local IP address of 10.1.1.2, the destination IP has 211.113.146.148, and the source and destination ports have 1200 and 23, respectively.

이제 상기 생성된 IP 패킷의 발신지 주소, 즉 로컬 IP 주소를 글로벌 IP 주소로 변환한다(S207). 변환된 패킷의 정보가 도 4b에 도시되어 있다. 도시된 바와 같이, 모든 정보는 도 4a와 동일하며, 단지 발신지 IP 주소가 로컬 IP 주소인 10.1.1.2 에서 글로벌 IP 주소인 211.113.146.186으로 변환되어 있음을 알 수 있다. 그 후, 참조되었거나 새로이 생성된 테이블의 자동 제거를 위해 타임아웃을 설정하고(S208), 각 패킷의 변경된 내용의 데이터 무결성을 위해 첵섬(Check sum)을 계산하여 각 패킷에 반영한 다음(S209), 상기 주소 변환된 패킷을 포워딩한다(S210).Now the source address of the generated IP packet, that is, local IP address is converted into a global IP address (S207). The information of the converted packet is shown in FIG. 4B. As shown, all of the information is the same as in FIG. 4A, and it can be seen that only the source IP address has been translated from the local IP address 10.1.1.2 to the global IP address 211.113.146.186. Thereafter, a timeout is set for automatic removal of the referenced or newly created table (S208), and a check sum is calculated and reflected in each packet (S209) for data integrity of the changed contents of each packet. The addressed packet is forwarded (S210).

상기 S210 단계에서 포워딩된 패킷을 수신한 외부 호스트(본 예에서는 HOST X)는 상기 수신된 IP 패킷의 발신지 주소와 목적지 주소를 맞바꾸고, 또한 발신지 포트와 목적지 포트도 맞바꾸어 응답한다. 상기 응답패킷의 예가 도 4c에 도시되어 있다. 상기 응답 패킷은 일반적인 라우팅 경로를 통해 NATFS 라우터(10)에 도달한다.The external host (HOST X in this example) that receives the forwarded packet in step S210 exchanges the source address and the destination address of the received IP packet, and also responds by swapping the source port and the destination port. An example of such a response packet is shown in FIG. 4C. The response packet arrives at the NATFS router 10 through a general routing path.

이렇게 도달된 패킷은 인커밍(Incoming) 패킷이므로 도 2의 S201 단계에서 판단문의 오른쪽 부분으로 가게된다. IP 변환이 필요한지를 판단한 후(S211), 만약 IP 변환이 필요하지 않다면, 즉 로컬 네트워크 내에서의 통신이라면 S210 단계에서그대로 IP 패킷을 포워딩하게 된다. IP 변환이 필요한 경우, 즉, 외부 네트워크로부터 수신되는 패킷인 경우에는 IP 패킷의 발신지 주소, 목적지 주소, 발신지 포트, 목적지 포트로 변환테이블을 검색하여(S212), 이미 아웃고잉시 기록해 놓은 정보로부터 일치하는 항목을 찾아낸다. 즉, 상기 인커밍 IP 패킷의 목적지 주소, 발신지 주소, 목적지 포트 및 발신지 포트와 각각 일치하는 상기 글로벌 IP 주소, 상기 외부 호스트 IP 주소, 상기 패킷의 발신지 포트 및 상기 패킷의 목적지 포트를 가지는 로컬 IP 주소를 상기 변환테이블에서 검색하게 된다. 상기 변환테이블에 상기 일치하는 항목이 존재하는지 여부를 판단하여(S213), 존재하지 않는 경우에는, 아웃고잉시 기록된 정보와의 불일치로 인하여 오류가 발생한 것으로 판단하여 IP 패킷을 버린다(S214). 변환테이블에서 검색항목이 존재하는 경우, 각 IP 패킷의 서비스 종류에 따라 처리한 후(S215), 상기 S212 단계에서 검색된 변환테이블의 로컬 IP 주소에 따라 IP 패킷의 목적지 주소를 변환한다. 변환된 패킷 정보가 도 4d에 도시되어 있다. 도 4d를 참조하면, 도 4c와 모든 정보가 동일하며, 단지 목적지 IP 가 글로벌 IP 주소인 211.113.146.186에서 로컬 네트워크 내에서만 통용되는 HOST A의 로컬 IP 주소인 10.1.1.2로 변환되어 있다. 다음에, 참조되었거나 새로이 생성된 테이블의 자동 제거를 위해 타임아웃을 설정하고(S208), 각 패킷의 변경된 내용의 데이터 무결성을 위해 첵섬(Check sum) 을 계산하고 각 패킷에 반영한 다음(S209), 상기 주소 변환된 패킷을 포워딩한다(S210).The packet thus arrived is an incoming packet, and therefore, the packet arrives at the right part of the judgment in step S201 of FIG. 2. After determining whether IP conversion is necessary (S211), if IP conversion is not necessary, that is, if communication is within the local network, the IP packet is forwarded as it is in step S210. When IP conversion is required, that is, a packet received from an external network, the conversion table is searched by the source address, the destination address, the source port, and the destination port of the IP packet (S212), and the matching information is recorded from the outgoing information. Find the item you want to That is, a local IP address having the global IP address, the external host IP address, the source port of the packet, and the destination port of the packet, respectively matching the destination address, source address, destination port, and source port of the incoming IP packet. Is retrieved from the conversion table. It is determined whether the matching item exists in the conversion table (S213). If it does not exist, it is determined that an error has occurred due to a mismatch with information recorded during outgoing (S214). If there is a search item in the conversion table, after processing according to the service type of each IP packet (S215), the destination address of the IP packet is converted according to the local IP address of the conversion table found in step S212. The converted packet information is shown in FIG. 4D. Referring to FIG. 4D, all information is the same as that of FIG. 4C, and only the destination IP is converted from 211.113.146.186, which is a global IP address, to 10.1.1.2, which is a local IP address of HOST A, which is commonly used only within the local network. Next, a timeout is set for automatic removal of the referenced or newly created table (S208), a check sum is calculated for the data integrity of the changed contents of each packet, and reflected in each packet (S209), The addressed packet is forwarded (S210).

상기 설명된 바와 같이, 변환테이블에는 IP 주소 뿐 아니라 포트 정보까지 기록되므로, 여러 개의 로컬 호스트들이 단일한 외부 호스트에 동시에 접속할 수있다. 도 5는 동일한 외부 호스트와 동시에 접속하는 경우의 변환테이블의 일 예이다. 도 5를 참조하면, 내부 호스트인 HOST A 및 HOST B가 외부 호스트인 HOST X에 동시에 접속하고 있음을 알 수 있다(도 1참조). HOST A와 HOST B의 변환테이블에서의 값들을 보면 글로벌 IP 주소는 211.113.146.186으로 동일하고 외부 IP 주소도 211.113.146.148로 동일하다. 또한 서비스의 종류도 23, 즉 텔넷 서비스임을 알 수 있다. 그러나 IP 패킷에 저장되어 있는 발신지 포트가 각각 1200 과 1300으로 상이하므로 HOST A와 HOST B의 패킷정보는 구별될 수 있게된다. 상기 발신지 포트번호는 접속시에 각 로컬 호스트에서 랜덤하게 발생되는 것으로 NAPT와는 달리 상기 발생된 포트번호를 조작하지 않으므로, 포트 번호에 민감한 서비스도 문제없이 지원할 수 있게된다.As described above, not only the IP address but also port information is recorded in the conversion table, so that several local hosts can simultaneously access a single external host. 5 is an example of a conversion table when connecting to the same external host at the same time. Referring to FIG. 5, it can be seen that internal hosts HOST A and HOST B are simultaneously connected to external hosts HOST X (see FIG. 1). In the translation table of HOST A and HOST B, the global IP address is the same as 211.113.146.186 and the external IP address is the same as 211.113.146.148. In addition, it can be seen that the type of service is 23, that is, a telnet service. However, since source ports stored in IP packets are different from 1200 and 1300, respectively, packet information of HOST A and HOST B can be distinguished. Since the source port number is randomly generated at each local host at the time of connection, unlike the NAPT, the generated port number is not manipulated, so that a service sensitive to the port number can be supported without a problem.

지금까지는 로컬 호스트를 클라이언트로, 외부의 호스트를 서버로서 활용하는 예에 대해 설명하였다. 이제 로컬 네트워크에서 외부 네트워크로 접속을 시도하여 통신을 하는 것 뿐만 아니라 외부 네트워크에서 로컬 네트워크로 접속을 시도하여 통신할 수 있는 풀 억세스 통신에 대해 살펴보기로 한다. 이는 NATFS 기법에 DNS 기술을 적용함으로써 가능해진다.So far, we have described an example of using a local host as a client and an external host as a server. Now, let's take a look at the full access communication that can communicate by trying to connect from the external network to the local network as well as trying to communicate from the local network to the external network. This is made possible by applying DNS technology to NATFS techniques.

도 6은 DNS를 사용하여 로컬 호스트를 서버로서 사용하는 방법을 설명하기 위한 흐름도이다. 예로서, 도 1의 HOST Y(211.113.146.149)가 로컬네트워크 내의 HOST C(10.1.1.4)에 텔넷 접속을 하는 경우를 알아보기로 한다. 먼저 외부 네트워크의 호스트, 즉 HOST Y(211.113.146.149)가 로컬 네트워크의 서버 HOST C(10.1.1.4)에 텔넷 접속을 하기 위해 터미널 상에서 예를 들어 telnetlocal4.natfs.raonet.com이라고 명령을 내리면, 서버에 대한 IP주소를 얻어 오기 위해 DNS 를 쿼리(Query)한다(S61). 상기 DNS 쿼리(Query : local4.natfs.raonet.com)는 상기 HOST Y의 DNS 서버(미도시)에서 처리하게 되는데, 일반적인 DNS처리 경로를 거친 후 결국 NATFS의 DNS 서버(미도시)까지 전송되게 된다. 일반적인 DNS 처리 경로는 당업자에게는 명백한 것이므로 설명의 간략화를 위하여 본 명세서에서는 자세한 설명이 생략된다.6 is a flowchart illustrating a method of using a local host as a server using DNS. As an example, a case in which HOST Y (211.113.146.149) of FIG. 1 makes a telnet connection to HOST C (10.1.1.4) in the local network will be described. First, a host on the external network, HOST Y (211.113.146.149), commands telnetlocal4.natfs.raonet.com on the terminal to telnet to server HOST C (10.1.1.4) on the local network. Query the DNS to get the IP address for (S61). The DNS query (Query: local4.natfs.raonet.com) is processed by the DNS server (not shown) of the HOST Y. After passing through a general DNS processing path, the DNS query is transmitted to a DNS server (not shown) of NATFS. . General DNS processing paths are obvious to those skilled in the art, and thus detailed descriptions are omitted herein for the sake of simplicity.

NATFS의 DNS 서버는 이미 로컬 호스트들에 대한 주소 정보를 알고 있으므로 수신된 DNS 쿼리(local4.natfs.raonet.com)에 해당하는 로컬 호스트의 IP 주소(10.1.1.4)와 IP Pool에서 사용 가능한 글로벌 IP 주소(211.113.146.186)를 하나 할당해서 바인딩시킨다. 그리고, 이러한 바인딩 정보를 DNS 요구 큐(Request Queue)에 기록해 놓는다(S62). 그 후, 바인딩된 글로벌 IP 주소(211.113.146.186)를 HOST Y의 DNS 서버에 DNS 응답(Response)으로 반환하고, 상기 DNS 서버(미도시)는 상기 글로벌 IP 주소를 외부 호스트, 즉 HOST Y(211.113.146.149)에게 알려준다(S63). 외부 호스트는 상기 글로벌 IP 주소(211.113.146.186)를 목적지 주소로 하여 IP 패킷을 송신한다(S64). NATFS 라우터에 IP패킷이 수신되면 상기 수신된 패킷의 정보 및 DNS 요구 큐의 바인딩된 정보를 이용하여 변환테이블에 새로운 항목을 생성하고 주소 변환에 이용할 수 있도록 기록한다(S65). 이로써 변환테이블은 완전한 정보를 갖추게 되는데, 이렇게 DNS 요구 큐의 바인딩 단계를 거치는 이유는 DNS 요구 시에는 접속을 시도한 외부 호스트의 IP 주소 정보를 알 수 없기 때문이다. 그러므로 로컬 호스트의 IP 주소 및 글로벌 IP 주소를 미리 바인딩시켜저장한 후, 첫 번째 IP 패킷이 도착하면 외부 호스트의 IP 주소 정보 뿐만 아니라 변환테이블을 구성하는 모든 항목을 알 수 있으므로, 이 때 새로운 항목을 변환테이블에 기록한다. 데이터 플로우를 구별하기 위한 모든 정보가 상기 변환테이블에 기록되면, 상기 바인딩 정보는 더이상 필요없게 되므로 DNS 요구 큐에서 삭제된다. 변환테이블이 완성되면, 해당 로컬 호스트인 local4(10.1.1.4)로 패킷을 전송한다(S66). 이로써, 로컬 네트워크에서 외부 네트워크로 접속을 시도하여 통신을 하는 것 뿐만 아니라 외부 네트워크에서 로컬 네트워크로 접속을 시도하여 통신할 수 있는, 풀 억세스 통신이 이루어지게 된다.NATFS's DNS server already knows the address information for local hosts, so the local host's IP address (10.1.1.4) corresponding to the received DNS query (local4.natfs.raonet.com) and the global IP available in the IP pool. Assign and bind an address (211.113.146.186). The binding information is then recorded in the DNS request queue (S62). Thereafter, the bound global IP address (211.113.146.186) is returned to the DNS server of HOST Y in a DNS response, and the DNS server (not shown) returns the global IP address to an external host, that is, HOST Y (211.113). 146.149) (S63). The external host transmits an IP packet using the global IP address 211.113.146.186 as a destination address (S64). When the IP packet is received by the NATFS router, a new item is created in the translation table using the information of the received packet and the bound information of the DNS request queue, and recorded to be used for address translation (S65). As a result, the conversion table has complete information. The reason for the binding process of the DNS request queue is that the IP address information of the external host attempting to connect is not known at the time of DNS request. Therefore, after binding and storing local host's IP address and global IP address in advance, when the first IP packet arrives, not only the IP address information of the external host but also all the items that make up the conversion table can be found. Write to conversion table. When all the information for distinguishing data flows is recorded in the conversion table, the binding information is no longer needed and therefore deleted from the DNS request queue. When the conversion table is completed, the packet is transmitted to the local host local4 (10.1.1.4) (S66). As a result, full access communication is performed, in which not only an attempt is made to communicate from a local network to an external network, but also an attempt is made to communicate from an external network to a local network.

글로벌 IP 주소는 고정적인 IP 주소일 수 있지만, DHCP를 이용하여 동적으로 변화하는 IP 주소일 수도 있다. 이 경우 NATFS 내의 DNS서버의 도메인 주소에 대해 동적으로 할당된 글로벌 IP 주소를 갱신함으로써 글로벌 IP 주소가 동적으로 할당되는 상황에서도 NATFS에 의한 풀 억세스 통신이 가능해진다. 도 7은 동적으로 할당된 글로벌 IP 주소를 동적 DNS서버를 이용하여 갱신하는 방법을 설명하기 위한 개략도이다. 도 7을 참조하면, 동적으로 변화하는 글로벌 IP 주소 환경에서 NATFS(70)가 동작하기 위해 DHCP 클라이언트(71)는 DHCP 서버(73)로부터 사용할 동적 IP 주소를 할당받는다. 동적 DNS 클라이언트(72)는 DHCP 클라이언트로(71)부터 동적으로 할당받은 동적 IP 주소에 변화가 발생하였음을 수신하면 동적 DNS 등록 요청 및 상기 할당받은 동적 IP 주소를 상기 동적 DNS 서버(74)로 송신한다. 이때 자신이 일반 사용자의 호스트가 아니라 DNS 서버임을 명시하기 위해 NS 레코드에 "T_NS"를 명기하여 요구하게된다. 이러한 요구를 받은 동적 DNS 서버(74)는 NATFS의 도메인 네임에 해당하는 IP 주소를 상기 수신된 동적 IP 주소로 갱신하고, 상기 갱신이 완료되면, 동적 DNS 등록 완료 메시지를 NATFS의 동적 DNS 클라이언트(72)로 송신한다. 즉 상기 동적 DNS 서버(74)는 상기 NATFS 라우터에 동적으로 할당되는 IP 어드레스가 변경할 때마다 이를 갱신함으로써, 특정 NATFS 라우터에 대한 외부 호스트들의 DNS 쿼리에 대해 항상 상기 NATFS 라우터의 동적으로 변경된 IP 어드레스를 DNS 응답으로 반환한다. 이로 인하여, 상기 NATFS 라우터는 동적으로 변화하는 글로벌 IP 주소 환경에서도 항상 풀 억세스 통신을 제공할 수 있게 된다.The global IP address may be a static IP address, but may also be a dynamically changing IP address using DHCP. In this case, by dynamically updating the globally assigned global IP address for the domain address of the DNS server in NATFS, full access communication by NATFS is possible even when the global IP address is dynamically allocated. 7 is a schematic diagram illustrating a method of updating a dynamically allocated global IP address using a dynamic DNS server. Referring to FIG. 7, in order for NATFS 70 to operate in a dynamically changing global IP address environment, the DHCP client 71 is assigned a dynamic IP address to be used by the DHCP server 73. The dynamic DNS client 72 sends a dynamic DNS registration request and the allocated dynamic IP address to the dynamic DNS server 74 when the DHCP client 71 receives a change in the dynamically allocated dynamic IP address from the DHCP client 71. do. At this time, it is required to specify "T_NS" in the NS record to specify that the DNS server is not a general user's host. Upon receiving this request, the dynamic DNS server 74 updates the IP address corresponding to the domain name of NATFS with the received dynamic IP address, and when the update is completed, sends a dynamic DNS registration complete message to the dynamic DNS client 72 of NATFS. To send). In other words, the dynamic DNS server 74 updates the IP address dynamically assigned to the NATFS router whenever the IP address changes, thereby always updating the dynamically changed IP address of the NATFS router for DNS queries of external hosts for a specific NATFS router. Return in DNS response. As a result, the NATFS router can always provide full access communication even in a dynamically changing global IP address environment.

본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다.Although the present invention has been described with reference to the embodiments shown in the drawings, this is merely exemplary, and it will be understood by those skilled in the art that various modifications and equivalent other embodiments are possible.

이와 같이, 본 발명의 일 측면에 의한 네트워크 주소 변환 방법은, 기본 NAT와 비교하면, <발신지 주소, 목적지 주소, 발신지 포트, 목적지 포트> 정보를 이용하여 데이터 플로우를 구별하므로 하나의 IP 주소를 여러 호스트가 동시에 공유할 수 있는 장점을 가진다.As described above, the network address translation method according to an aspect of the present invention distinguishes data flows by using information of <source address, destination address, source port, and destination port>, as compared to the basic NAT, so that one IP address is divided into several. The advantage is that hosts can share at the same time.

본 발명의 일 측면에 의한 네트워크 주소 변환 방법을 NAPT와 비교하면, IP 주소 이용 효율을 극대화하면서 IP 계층에서만 주소 변환이 일어나므로 포트에 민감한 다양한 인터넷 서비스들도 모두 수용할 수 있다. 또한 NAPT에서는 지원하지 못하는 풀 억세스 통신 기능도 지원하므로 로컬 네트워크내에 다양한 서버를 구축할 수 있다.Comparing the network address translation method according to an aspect of the present invention with NAPT, address translation occurs only at the IP layer while maximizing the efficiency of IP address utilization, and thus, various port-sensitive Internet services can be accommodated. It also supports full access communication, which NAPT doesn't support, so you can build various servers in your local network.

또한, 네트워크 접속시에 발신지에서 랜덤하게 생성되는 포트번호를 데이터 플로우의 구별을 위한 식별자로 사용함으로써, 단지 하나의 IP를 통해 로컬 네트워크에 있는 다수의 호스트는 외부 네트워크의 동일한 호스트로 동시에 통신을 수행할 수 있다. 더욱이, DNS 기법을 접목하여 로컬 네트워크에 다양한 인터넷 서버 구축을 지원하며, 이 또한 단지 하나의 글로벌 IP 주소만을 사용하여 동시에 다수의 외부 네트워크에서 로컬 네트워크로의 통신을 지원한다.In addition, by using a port number randomly generated at the source at the time of network connection as an identifier for distinguishing data flows, multiple hosts in the local network can communicate simultaneously with the same host in the external network through only one IP. can do. Moreover, it supports the construction of various Internet servers in the local network by incorporating the DNS technique, and also supports communication from multiple external networks to the local network at the same time using only one global IP address.

본 발명에 의한 네트워크상에서의 데이터 플로우 식별 방법은 동적 DNS 서버 주소 갱신 기능을 부가함으로써, 글로벌 IP주소의 부족으로 인하여 동적으로 변하는 IP 주소 환경에 매우 적합하게되어, 홈 네트워크의 게이트웨이 혹은 소호용 네트워크의 라우터에 매우 유용한 기술이다. 특히 본 발명은 홈 네트워크의 정보가전기기가 하나의 글로벌 IP 주소를 공유함으로써 IP 주소 부족 문제를 해결하고 원격지에서 홈 네트워크로의 서버 억세스 방식을 지원하므로 인터넷 가전이나 홈 오토메이션의 확대 보급과 활성화에 필수적인 기술이다.The data flow identification method on the network according to the present invention is very suitable for a dynamically changing IP address environment due to the lack of a global IP address by adding a dynamic DNS server address updating function. This is a very useful technology for routers. In particular, the present invention solves the problem of IP address shortage by sharing information of home network with one global IP address and supports server access method from remote site to home network, which is essential for the expansion and promotion of Internet home appliances and home automation. Technology.

Claims (9)

로컬 네트워크내에서 각각 상이한 로컬 IP 주소를 가지는 하나 이상의 로컬 호스트들이 소정의 글로벌 IP 주소를 공유하여 외부 호스트와 송수신하는 데이터 플로우를 네트워크상에서 식별하기 위한 방법에 있어서,A method for identifying, on a network, data flows in which one or more local hosts, each having a different local IP address in a local network, share a predetermined global IP address and transmit and receive with an external host. (a)상기 데이터 플로우의 IP 패킷에 대한 상기 로컬 IP 주소, 상기 글로벌 IP 주소, 상기 외부 호스트의 IP 주소, 상기 패킷의 발신지 포트 및 상기 패킷의목적지 포트 정보를 포함하는 변환테이블을 구비하는 단계;(a) providing a conversion table including the local IP address, the global IP address, the IP address of the external host, the source port of the packet and the destination port of the packet for the IP packet of the data flow; (b)상기 로컬 호스트로부터 상기 외부 호스트로 향하는 아웃고잉 IP 패킷의 로컬 IP 주소를 상기 글로벌 IP 주소로 변환하여 송신하는 단계; 및(b) converting and transmitting a local IP address of an outgoing IP packet destined for the external host from the local host to the global IP address; And (c)상기 외부 호스트로부터 상기 글로벌 IP 주소로 수신되는 인커밍 IP 패킷을 상기 변환테이블에 기록된 정보의 적어도 일부를 이용하여 식별하는 단계를 포함하는 네트워크상에서의 데이터 플로우 식별 방법.(c) identifying an incoming IP packet received from the external host to the global IP address using at least some of the information recorded in the translation table. 제1항에 있어서, 상기 (c) 단계는The method of claim 1, wherein step (c) (c1)상기 인커밍 IP 패킷의 목적지 주소, 발신지 주소, 목적지 포트 및 발신지 포트와 각각 일치하는 상기 글로벌 IP 주소, 상기 외부 호스트 IP 주소, 상기 패킷의 발신지 포트 및 상기 패킷의 목적지 포트를 가지는 로컬 IP 주소를 상기 변환테이블에서 검색하는 단계; 및(c1) a local IP having the global IP address, the external host IP address, the source port of the packet, and the destination port of the packet, respectively matching the destination address, source address, destination port, and source port of the incoming IP packet. Retrieving an address from the translation table; And (c2)상기 인커밍 IP 패킷의 목적지 주소(상기 글로벌 IP 주소)를 상기 검색된 로컬 IP 주소로 변환하고 상기 인커밍 IP 패킷을 상기 로컬 IP 주소를 소유한 로컬 호스트에게 전송하는 단계를 포함하는 것을 특징으로 하는 네트워크상에서의 데이터 플로우 식별 방법.(c2) converting the destination address (the global IP address) of the incoming IP packet to the retrieved local IP address and transmitting the incoming IP packet to a local host owning the local IP address. A data flow identification method on a network. 제1항에 있어서 상기 (a)단계는The method of claim 1, wherein step (a) (a1)상기 로컬 IP 주소 및 이에 해당하는 소정의 도메인 네임에 대한 정보를 갖는 DNS 서버를 구비하는 단계;(a1) providing a DNS server having information about the local IP address and a corresponding domain name; (a2)상기 DNS 서버는 수신된 DNS 쿼리에 대하여 소정의 할당된 글로벌 IP를 반환하고, 상기 수신된 도메인 네임에 해당하는 로컬 IP 주소 및 상기 할당된 글로벌 IP 주소를 바인딩하여 소정의 바인딩 큐(Queue)에 저장하는 단계;(a2) The DNS server returns a predetermined assigned global IP with respect to the received DNS query, binds a local IP address corresponding to the received domain name and the assigned global IP address to a predetermined binding queue. Storing at); (a3)상기 글로벌 IP 주소를 목적지로 하는 IP 패킷을 수신하면, 상기 IP 패킷에 기록된 외부 호스트 IP 주소, 상기 패킷의 발신지 포트 및 상기 패킷의 목적지 포트를 상기 바인딩 큐에 저장된 상기 글로벌 IP 주소 및 상기 로컬 IP 주소와 함께 변환테이블에 저장하는 단계를 포함하는 것을 특징으로 하는 네트워크상에서의 데이터 플로우 식별 방법.(a3) Upon receiving the IP packet destined for the global IP address, the external host IP address recorded in the IP packet, the source port of the packet, and the destination port of the packet are stored in the binding queue; Storing in the translation table together with the local IP address. 제3항에 있어서,The method of claim 3, (a4)상기 바인딩 큐에 저장된 상기 로컬 IP 주소 및 상기 글로벌 IP 주소가 상기 변환테이블에 저장되면, 상기 로컬 IP 주소 및 상기 글로벌 IP 주소를 상기 바인딩 큐에서 삭제하는 단계를 더 포함하는 것을 특징으로 하는 네트워크상에서의 데이터 플로우 식별 방법.(a4) if the local IP address and the global IP address stored in the binding queue are stored in the conversion table, further comprising deleting the local IP address and the global IP address from the binding queue. How to identify data flow on the network. 제3항에 있어서,The method of claim 3, (a5)상기 글로벌 IP 주소가 동적으로 변하여 할당되는 경우, 상기 DNS 서버의 IP 주소를 상기 동적으로 할당된 글로벌 IP 주소로 변경하도록 상기 DNS 서버의 IP를 관리하는 상위 DNS 서버에게 요청하는 단계를 더 포함하는 것을 특징으로 하는 네트워크상에서의 데이터 플로우 식별 방법.(a5) if the global IP address is dynamically changed and allocated, requesting a higher DNS server managing the IP of the DNS server to change the IP address of the DNS server to the dynamically allocated global IP address. And a data flow identification method on the network. 제3항에 있어서, 상기 (a2)단계에서The method of claim 3, wherein in step (a2) 상기 DNS 서버는 연속적으로 DNS 쿼리를 수신하는 경우 그 각각의 DNS 쿼리에 대해 상기 수신된 도메인 네임에 해당하는 로컬 IP 주소 및 상기 할당된 글로벌 IP 주소를 바인딩하여 상기 바인딩 큐에 저장함을 특징으로 하는 네트워크상에서의 데이터 플로우 식별 방법.When the DNS server continuously receives a DNS query, the DNS server binds the local IP address and the assigned global IP address corresponding to the received domain name to each of the DNS queries and stores them in the binding queue. How to Identify Data Flow on Windows. 로컬 네트워크내에서 각각 상이한 로컬 IP 주소를 가지는 하나 이상의 로컬 호스트들이 소정의 글로벌 IP 주소를 공유하여 외부 호스트와 송수신하는 데이터 플로우를 네트워크상에서 식별하기 위한 장치에 있어서,An apparatus for identifying a data flow on a network in which one or more local hosts, each having a different local IP address in a local network, share a predetermined global IP address and transmit and receive with an external host. 상기 데이터 플로우의 IP 패킷에 대한 상기 로컬 IP 주소, 상기 글로벌 IP 주소, 상기 외부 호스트의 IP 주소, 상기 패킷의 발신지 포트 및 상기 패킷의 목적지 포트 정보를 포함하는 항목을 저장하는 변환테이블; 및A conversion table for storing an item including the local IP address, the global IP address, the IP address of the external host, the source port of the packet, and the destination port information of the packet for the IP packet of the data flow; And 상기 로컬 호스트로부터 상기 외부 호스트로 향하는 아웃고잉 IP 패킷의 로컬 IP 주소를 상기 글로벌 IP 주소로 변환하여 송신하고, 상기 외부 호스트로부터 상기 글로벌 IP 주소로 수신되는 인커밍 IP 패킷을 상기 변환테이블에 기록된 정보의 적어도 일부를 이용하여 식별하는 처리부를 포함하는 네트워크상에서의 데이터 플로우 식별 장치.The local IP address of the outgoing IP packet destined for the external host from the local host is converted into the global IP address, and the incoming IP packet received from the external host to the global IP address is recorded in the conversion table. An apparatus for identifying a data flow on a network, comprising a processing unit for identifying using at least some of the information. 제7항에 있어서,The method of claim 7, wherein 상기 로컬 IP 주소 및 이에 해당하는 소정의 도메인 네임에 대한 정보를 가지고, DNS 쿼리를 수신하면 소정의 할당된 글로벌 IP를 반환하는 DNS 서버; 및A DNS server having information on the local IP address and a corresponding domain name, and returning a predetermined assigned global IP when receiving a DNS query; And 수신된 도메인 네임에 해당하는 로컬 IP 주소 및 글로벌 IP 주소를 바인딩하여 저장하는 바인딩저장부를 더 구비하여,Further comprising a binding storage unit for binding and storing the local IP address and the global IP address corresponding to the received domain name, 상기 처리부는 상기 글로벌 IP 주소를 목적지로 하는 IP 패킷을 수신하면, 상기 IP 패킷에 기록된 외부 호스트 IP 주소, 상기 패킷의 발신지 포트 및 상기 패킷의 목적지 포트 정보를 상기 바인딩저장부에 저장된 상기 글로벌 IP 주소 및 상기 로컬 IP 주소와 함께 상기 변환테이블에 저장함을 특징으로 하는 네트워크상에서의 데이터 플로우 식별 장치.When the processing unit receives an IP packet destined for the global IP address, the global IP stored in the binding storage unit may include information about an external host IP address recorded in the IP packet, a source port of the packet, and a destination port of the packet. And an address and the local IP address in the conversion table. 제7항에 있어서,The method of claim 7, wherein 동적으로 할당되는 글로벌 IP 주소의 변화를 감지하여 이 사실을 송신하는 DHCP 클라이언트; 및A DHCP client that detects a change in a dynamically assigned global IP address and sends this fact; And 상기 DHCP 클라이언트로부터 글로벌 IP 주소의 변화통보를 수신하여, 상기 DNS 서버의 IP 주소를 상기 글로벌 IP 주소로 변경하도록 상기 DNS 서버의 IP를 관리하는 상위 DNS 서버에게 요청하는 동적 DNS 클라이언트를 더 구비하는 것을 특징으로 하는 네트워크상에서의 데이터 플로우 식별 장치.And further comprising a dynamic DNS client that receives the change notification of the global IP address from the DHCP client and requests the upper DNS server managing the IP of the DNS server to change the IP address of the DNS server to the global IP address. An apparatus for identifying data flow on a network, characterized by the above-mentioned.
KR1020010014990A 2001-03-22 2001-03-22 Method for data flow separation on network and apparatus therefor KR20020074914A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010014990A KR20020074914A (en) 2001-03-22 2001-03-22 Method for data flow separation on network and apparatus therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010014990A KR20020074914A (en) 2001-03-22 2001-03-22 Method for data flow separation on network and apparatus therefor

Publications (1)

Publication Number Publication Date
KR20020074914A true KR20020074914A (en) 2002-10-04

Family

ID=27698354

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010014990A KR20020074914A (en) 2001-03-22 2001-03-22 Method for data flow separation on network and apparatus therefor

Country Status (1)

Country Link
KR (1) KR20020074914A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100461698B1 (en) * 2002-11-25 2004-12-17 전자부품연구원 Methods of common address and address table for transferring data between different network protocols and architectures thereof
KR100769887B1 (en) * 2006-06-29 2007-10-24 주식회사 케이티 System and method of internet protocol address management in internet protocol network

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1070575A (en) * 1996-08-26 1998-03-10 Nissin Electric Co Ltd Internet connecting device
KR19990001579A (en) * 1997-06-16 1999-01-15 양승택 Hybrid Gateway Structure and Its Operation Method
KR20010100227A (en) * 2000-03-20 2001-11-14 윤종용 Multi telecommunication method by local ip network and method thereof
KR20020036165A (en) * 2000-11-08 2002-05-16 오상수 Method for data communications on Internet using NAT and apparatus thereof
KR101442983B1 (en) * 2013-07-30 2014-11-03 주식회사 포스코 Device and method for controlling ventilation of sintering machine

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1070575A (en) * 1996-08-26 1998-03-10 Nissin Electric Co Ltd Internet connecting device
KR19990001579A (en) * 1997-06-16 1999-01-15 양승택 Hybrid Gateway Structure and Its Operation Method
KR20010100227A (en) * 2000-03-20 2001-11-14 윤종용 Multi telecommunication method by local ip network and method thereof
KR20020036165A (en) * 2000-11-08 2002-05-16 오상수 Method for data communications on Internet using NAT and apparatus thereof
KR101442983B1 (en) * 2013-07-30 2014-11-03 주식회사 포스코 Device and method for controlling ventilation of sintering machine

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100461698B1 (en) * 2002-11-25 2004-12-17 전자부품연구원 Methods of common address and address table for transferring data between different network protocols and architectures thereof
KR100769887B1 (en) * 2006-06-29 2007-10-24 주식회사 케이티 System and method of internet protocol address management in internet protocol network

Similar Documents

Publication Publication Date Title
US7339895B2 (en) Gateway device and control method for communication with IP and IPV6 protocols
US7302496B1 (en) Arrangement for discovering a localized IP address realm between two endpoints
US7277453B2 (en) Inter private network communications between IPv4 hosts using IPv6
US7450499B2 (en) Method and apparatus for interconnecting IPv4 and IPv6 networks
US6393488B1 (en) System and method for supporting internet protocol subnets with network address translators
EP1488610B1 (en) System for selecting a connectivity mechanism
US7594031B2 (en) Network address selection
US20060067342A1 (en) Method and system in an IP network for using a network address translation (NAT) with any type of application
JP2003087336A (en) Address conversion method
KR20080010391A (en) Trans-network roaming and resolution with web services for devices
US8612557B2 (en) Method for establishing connection between user-network of other technology and domain name system proxy server for controlling the same
CN108063839A (en) A kind of method for accessing network and the device for accessing network
CN110691150A (en) SDN-based IPv4 and IPv6 interconnection method and system
KR100429902B1 (en) Apparatus and method for controlling devices in private network from public network
CN110225144A (en) Obtain and provide method, user equipment and the management server of service
JP3612049B2 (en) How to use a unique internet protocol address in a private internet protocol address domain
US7440466B2 (en) Method, apparatus and system for accessing multiple nodes on a private network
KR100672050B1 (en) Method for translation between IPv4 and IPv6 embedded DNS Proxy module of distributed data processing and apparatus thereof
US20060031514A1 (en) Initiating communication sessions from a first computer network to a second computer network
KR20020074914A (en) Method for data flow separation on network and apparatus therefor
US7586940B1 (en) Forwarding packets in a gateway performing network address translation (NAT)
Cisco Configuring Network Address Translation
Cisco Configuring Network Address Translation
JP4191180B2 (en) Communication support device, system, communication method, and computer program
KR100562390B1 (en) Network Data Flow Identification Method and System Using Host Routing and IP Aliasing Technique

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application