KR100562390B1 - Network Data Flow Identification Method and System Using Host Routing and IP Aliasing Technique - Google Patents

Network Data Flow Identification Method and System Using Host Routing and IP Aliasing Technique Download PDF

Info

Publication number
KR100562390B1
KR100562390B1 KR1020030018475A KR20030018475A KR100562390B1 KR 100562390 B1 KR100562390 B1 KR 100562390B1 KR 1020030018475 A KR1020030018475 A KR 1020030018475A KR 20030018475 A KR20030018475 A KR 20030018475A KR 100562390 B1 KR100562390 B1 KR 100562390B1
Authority
KR
South Korea
Prior art keywords
local
address
host
global
network
Prior art date
Application number
KR1020030018475A
Other languages
Korean (ko)
Other versions
KR20030039348A (en
Inventor
최훈
이광희
Original Assignee
충남대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 충남대학교산학협력단 filed Critical 충남대학교산학협력단
Priority to KR1020030018475A priority Critical patent/KR100562390B1/en
Publication of KR20030039348A publication Critical patent/KR20030039348A/en
Application granted granted Critical
Publication of KR100562390B1 publication Critical patent/KR100562390B1/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/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • 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/2514Translation of Internet protocol [IP] addresses between local and global IP addresses

Abstract

본 발명은 로컬 호스트 컴퓨터의 호스트 라우팅 기능과 하나 이상의 IP 주소를 하나의 네트워크 인터페이스 카드(NIC : Network Interface Card)에 할당할 수 있는 IP Aliasing 그리고 동적으로 호스트 환경설정을 지원하는 동적 호스트 설정 프로토콜(DHCP : Dynamic Host Configuration Protocol)을 이용하여, 소수의 글로벌 IP 주소를 다수의 로컬 호스트들이 공유하여 패킷 헤더/페이로드의 IP 주소/포트를 변환하지 않고 단순히 참조에 의해 로컬 호스트와 외부 호스트간의 풀 액세스(Full Access) 통신 및 종단간 보안 통신을 요구하는 IPSec을 지원하는 특징을 가지는 방법 및 장치에 관한 것이다. The present invention provides a host routing function of a local host computer, IP aliasing capable of assigning one or more IP addresses to a network interface card (NIC), and a dynamic host configuration protocol (DHCP) that dynamically supports host configuration. Using the Dynamic Host Configuration Protocol, a small number of global IP addresses are shared by multiple local hosts so that full access between a local host and an external host can be achieved by simply referencing it, without translating the IP address / port of the packet header / payload. Full Access) The present invention relates to a method and apparatus having a feature supporting IPSec requiring communication and end-to-end secure communication.

본 발명에서는 로컬 네트워크의 로컬 호스트가 내부 통신용으로 각각의 상이한 로컬 IP 주소를 할당받고, 글로벌 네트워크 호스트와의 통신용으로는 로컬 네트워크와 글로벌 네트워크와의 인터네트워킹을 담당하는 라우터/네트워크 장비에 할당된 하나 이상의 글로벌 IP 주소를 DHCP를 통해 할당받은 후, 이 두 IP 주소를 IP Aliasing을 통해 공유하여 하나 이상의 로컬 호스트들이 외부 글로벌 네트워크 호스트들과 송수신하는 데이터 플로우를 식별하는 방법 및 장치에 있어서, 상기 로컬 호스트 각각에 할당된 개별 IP 주소에 부가적으로 글로벌 IP 주소를 DHCP를 통해 할당하는 단계; 호스트 라우팅 테이블 및 호스트 라우팅 기능을 이용하여 데이터 플로우의 발신지 주소로서 상기 글로벌 IP 주소를 사용하여 송수신하는 단계; 상기 데이터 플로우에 대한 상기 패킷의 Layer 2 주소(이더넷일 경우, 로컬 호스트 MAC 주소), 상기 글로벌 IP 주소, 상기 외부 호스트의 IP 주소, 상기 패킷의 프로토콜 번호 정보를 포함하는 데이터 플로우 식별테이블을 구비하는 단계; 상기 외부 호스트와 상기 로컬 호스트간의 데이터 플로우를 상기 식별테이블에 저장된 정보의 적어도 일부를 이용하여 식별하는 단계; 데이터 플로우 식별테이블을 이용하여 외부 호스트로부터 로컬 호스트로의 응답 데이터를 전달하기 위해 Layer 2 포워딩을 수행하는 단계; 상기 데이터 플로우 식별테이블을 이용하여 데이터 플로우 식별을 지원할 수 없는 경우 ICMP Host Unreachable 메시지를 통신을 시도하는 호스트에 전송하는 단계; 및 로컬 호스트에 할당된 공유 글로벌 IP 주소를 찾기 위해 DHCP 서버와 통신하는 단계를 포함하는 데이터 플로우 식별 방법이 제공된다. 이로써 로컬 네트워크와 글로벌 네트워크의 인터네트워킹을 담당하는 라우터/네트워크 장비에 할당된 소수의 글로벌 IP 주소를 서로 상이한 다수의 로컬 호스트들이 공유를 통해 풀 액세스 통신을 지원하며 데이터 플로우 식별을 위해 패킷 헤더/페이로드의 IP 주소/포트를 변환하지 않고 단지 참조에 의해 데이터 플로우 식별을 지원한다. In the present invention, the local host of the local network is assigned to each different local IP address for internal communication, the one assigned to the router / network equipment in charge of the internetworking between the local network and the global network for communication with the global network host A method and apparatus for identifying a data flow in which one or more local hosts transmit and receive with external global network hosts by sharing two or more global IP addresses through DHCP and then sharing these two IP addresses through IP aliasing. Assigning a global IP address via DHCP in addition to the respective IP addresses assigned to each; Transmitting and receiving using the global IP address as a source address of a data flow using a host routing table and a host routing function; And a data flow identification table including the Layer 2 address (local host MAC address, if Ethernet), the global IP address, the IP address of the external host, and the protocol number of the packet for the data flow. step; Identifying a data flow between the external host and the local host using at least some of the information stored in the identification table; Performing Layer 2 forwarding to transfer response data from the external host to the local host using the data flow identification table; Transmitting an ICMP Host Unreachable message to a host attempting to communicate if data flow identification cannot be supported using the data flow identification table; And communicating with a DHCP server to find a shared global IP address assigned to the local host. This enables full access communication by sharing a few global IP addresses assigned to routers / network devices that are responsible for the internetworking of local and global networks by different local hosts and packet header / pay for data flow identification. It supports data flow identification by reference only, without translating the load's IP address / port.

본 발명으로 인해 별도의 ALG(Application Level Gateway) 소프트웨어 프로그램 없이도 일반적인 인터넷 응용뿐만 아니라 패킷의 페이로드에 로컬 호스트의 IP 주소/포트 정보를 포함하는 인터넷 응용도 지원할 수 있으며 패킷의 헤더/페이로드를 수정하지 않고 단지 참조에 의해 데이터 플로우를 식별하므로 종단간 연결 무결성을 요구하는 IPSec과 같은 보안용 응용 프로그램도 지원하는 장점을 가진다.According to the present invention, it is possible to support not only general Internet applications but also Internet applications including IP address / port information of the local host in the payload of the packet without a separate application level gateway (ALG) software program, and modify the header / payload of the packet. Instead of identifying data flows by reference only, security applications such as IPSec, which require end-to-end connection integrity, have the advantage.

IP 주소공유기법(IP Address Sharing Technology), 네트워크 주소 변환(NAT;Network Address Translation), 홈네트워킹(Home Networking), 호스트 라우팅(Host Routing), IP 앨리아싱(IP Aliasing) IP Address Sharing Technology, Network Address Translation (NAT), Home Networking, Host Routing, IP Aliasing                                    

Description

호스트 라우팅과 IP Aliasing 기법을 이용한 네트워크 데이터 플로우 식별 방법 및 시스템{Method and System for data flow separation on network using Host routing and IP aliasing technique} Method and System for data flow separation on network using Host routing and IP aliasing technique}

도 1은 본 발명의 바람직한 실시예에 따른 네트워크상의 데이터 플로우 식별 시스템을 개략적으로 설명하기 위한 구성도이다.1 is a configuration diagram for schematically illustrating a system for identifying a data flow 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 shows an example of a data flow identification table.

도 4는 풀 액세스 통신을 위한 DNS 요청 큐(Queue)의 생성 과정을 설명하기 위한 흐름도이다.4 is a flowchart illustrating a process of creating a DNS request queue for full access communication.

도 5는 풀 액세스 통신을 위한 DNS 요청 큐의 일 예를 도시한 것이다.5 shows an example of a DNS request queue for full access communication.

본 발명은 네트워크 장치 및 네트워킹 방법에 관한 것으로서, 보다 상세하게는, 로컬 네트워크(Local Network)와 글로벌 네트워크(Global Network)의 인터네트워킹(Internetworking)을 담당하는 라우터/네트워크 장비에 할당된 소수의 글로벌 IP 주소를 공유하여 패킷 헤더/페이로드의 IP 주소/포트를 변환하지 않고 단지 참조에 의해 로컬 호스트와 외부 호스트간의 풀 액세스 통신을 지원하는 데이터 플로우 식별 방법 및 장치에 관한 것이다.The present invention relates to a network device and a networking method, and more particularly, a small number of global IPs assigned to routers / network devices in charge of internetworking of a local network and a global network. A data flow identification method and apparatus for supporting full access communication between a local host and an external host by reference only without sharing the address and translating the IP address / port of the packet header / payload.

현재 인터넷(TCP/IP 네트워크) 상의 모든 호스트들은 인터넷에 접속하기 위해서 32비트의 주소 체계를 갖는 전세계적으로 유일한 IP 주소(IPv4)를 할당받아야 한다. 하지만 월드 와이드 웹(World Wide Web)의 출현 및 인터넷 서비스의 기하급수적인 양적 팽창과 IP 주소의 비효율적인 할당은 한정된 IP 주소 공간의 빠른 고갈을 초래하였다. 그 결과 전세계적으로 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 emergence 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. Depletion of global IP (or public IP) addresses is a serious problem in the face of the need to connect these large networks to the existing Internet as new large networks are created one after another.

이러한 글로벌 IP 주소 고갈 문제를 해결하기 위한 장기적인 해결책으로서 128비트 주소 체계를 갖는 차세대 데이터 전달 프로토콜인 IPv6가 제시되었으나 표준으로 사용되기까지는 많은 시간이 소요될 전망이다. 따라서 IPv4에서의 IP 주소 부족문제를 해결하기 위하여 CIDR(Classless Inter-Domain Routing), Proxy, 동적 호스트 설정 프로토콜(Dynamic Host Configuration Protocol, 이하 DHCP라 칭함), 네트워크 주소 변환(Network Address Translation, 이하 NAT라 칭함) 등 여러 가지 방안들이 제시되었다. 그 중 대표적인 것이 NAT 기법이다. NAT 기법은 로컬 네트워크를 구성할 때 네트워크의 각 호스트는 로컬 IP(혹은 사설 IP) 주소를 사용하고 인터넷과 같은 글로벌 네트워크와 통신할 때는 글로벌 네트워크와 로컬 네트워크 경계에 존재하는 라우터/네트워크 장비에서 패킷 헤더의 주소를 변환하는 기법이다. NAT 기법은 네트워크 계층의 IP 주소만을 변환하는 Basic NAT 기법과 트랜스포트 계층의 포트 번호까지 변환하는 NAPT(Network Address Port Translation)으로 나누어 볼 수 있다. 상기 NAT 기법을 사용하면 하나 또는 적은 수의 공인 IP 주소를 사용하여 로컬 네트워크의 호스트가 글로벌 네트워크와 통신할 수 있게 된다.  As a long-term solution to this problem of global IP address depletion, IPv6, a next-generation data transfer protocol with 128-bit addressing scheme, has been proposed, but it will take a long time to be used as a standard. Therefore, CIDR (Classless Inter-Domain Routing), Proxy, Dynamic Host Configuration Protocol (DHCP), and Network Address Translation (NAT) are used to solve the IP address shortage problem in IPv4. Various measures have been proposed. One of them is NAT. The NAT mechanism uses packet headers at routers / network devices that exist at the global and local network boundaries when each host on the network uses a local IP (or private IP) address when communicating with a global network, such as the Internet. Is a technique of translating addresses. NAT technique can be divided into Basic NAT technique for translating only IP address of network layer and NAPT (Network Address Port Translation) for translating port number of transport layer. Using the NAT scheme, a host of a local network can communicate with a global network using one or a few public IP addresses.

그러나 상기 NAT 기법의 가장 큰 문제점은 패킷 페이로드에 로컬 호스트 인식 정보(로컬 호스트 IP 주소, 로컬 호스트 포트 번호)를 포함하는 다양한 인터넷 응용을 지원하기 위해 네트워크 계층의 IP 헤더 정보와 트랜스포트 계층의 포트 번호 변환뿐만 아니라 패킷의 페이로드의 로컬 IP 주소와 포트 번호를 수정하는 ALG(Application Level Gateway)가 필요하다는 점이다. 이러한 인터넷 응용의 대표적인 예로 FTP, H.323, MSN Messanger File Transfer 등을 들 수 있다. 다른 문제점으로는 IPSec과 같이 종단간에 IP 계층을 통해 제공되는 보안 통신 기능을 NAT 기법으로는 제공하지 못한다는 것이다. IPSec에서는 종단간 통신 보안을 위해 패킷을 암호화함으로 네트워크 주소 변환을 수행하는 라우터/네트워크 장비에서는 암호화 해제키를 모르기 때문에 암호화되어 있는 데이터 패킷의 페이로드(Payload)를 해석하지 못하고 결과적으로 데이터 패킷의 페이로드에 포함되어 있는 IP 주소/포트 정보를 적절히 처리할 수 없기 때문이다. 또한, NAT 기법은 네트워크 경계에 존재하는 라우터/네트워크장비에서 모든 패킷의 헤더/페이로드의 IP 주소/포트 정보를 변환해야 하므로 첵섬(Check sum)과 같은 부수적인 프로세싱이 꼭 필요하다는 단점이 있다.However, the biggest problem of the NAT scheme is that the IP layer information of the network layer and the port of the transport layer to support various Internet applications including local host identification information (local host IP address, local host port number) in the packet payload. In addition to number translation, you need an Application Level Gateway (ALG) that modifies the local IP address and port number of the packet's payload. Representative examples of such Internet applications include FTP, H.323, and MSN Messanger File Transfer. Another problem is that NAT does not provide the secure communication provided through the IP layer from end to end, such as IPSec. IPSec encrypts packets to secure end-to-end communications, so routers / network devices that perform network address translation do not know the decryption key, so they cannot interpret the payload of encrypted data packets and consequently pay the data packets. This is because the IP address / port information contained in the load cannot be handled properly. In addition, the NAT technique has a disadvantage in that additional processing such as a check sum is necessary because the IP address / port information of all packets' headers / payloads must be converted in a router / network device existing at a network boundary.

본 발명이 이루고자 하는 기술적 과제는 로컬 라우팅과 DHCP를 통한 IP Aliasing을 이용하여 네트워크 경계에 존재하는 라우터/네트워크장비에 할당된 하나 이상의 글로벌 IP 주소를 로컬 네트워크의 서로 다른 호스트들이 공유하여 패킷 헤더/페이로드의 IP 주소/포트를 변환하지 않고 단지 참조에 의해 로컬 호스트와 외부 호스트간의 인터넷 풀 액세스 통신과 종단간 보안 통신을 요구하는 IPSec 응용을 지원하는 데이터 플로우 식별 방법을 제공하는 것이다.The technical problem to be achieved by the present invention is to share the packet header / page by different hosts of the local network share one or more global IP address assigned to the router / network equipment located at the network boundary by using local routing and IP aliasing via DHCP It provides a data flow identification method that supports IPSec applications that require Internet pool access communication and end-to-end secure communication between local and external hosts by reference only, without translating the load's IP address / port.

본 발명이 이루고자 하는 다른 기술적 과제는 IP 주소 고갈에 의해 부족한 글로벌 IP 주소를 서로 상이한 로컬 호스트들이 공유하여 패킷 헤더/페이로드의 IP 주소/포트를 변환하지 않고 단지 참조에 의해 로컬 호스트와 외부 호스트간의 인터넷 풀 액세스 통신과 종단간 보안 통신을 요구하는 IPSec 응용을 지원하는 데이터 플로우 식별 시스템을 제공하는 것이다.Another technical problem to be solved by the present invention is that different local hosts share a global IP address that is insufficient due to IP address depletion, so that the IP address / port of the packet header / payload is not converted, and only by reference, between the local host and the external host. It is to provide a data flow identification system that supports IPSec applications that require Internet full access communication and end-to-end secure communication.

본 발명이 이루고자 하는 최종적인 기술적 과제는 본 발명에서 제공되는 글로벌 IP 공유 기법과 시스템을 통해 IPv4에서 IPv6로의 진화 과정에서 발생하는 글로벌 IP 주소 부족 문제를 해결하고 기존의 NAT 방식과는 달리 패킷의 어떠한 수정 없이 단지 참조에 의해 데이터 플로우를 식별하여 부가적인 ALG 없이 다양한 인터넷 응용을 지원하고 풀 액세스 통신과 종단간 보안 통신을 요구하는 IPSec을 지원하는 것이다.The final technical problem to be achieved by the present invention is to solve the global IP address shortage problem that occurs during the evolution from IPv4 to IPv6 through the global IP sharing scheme and system provided in the present invention, and unlike the conventional NAT scheme, By identifying data flows by reference without modification, it supports IPSec, which supports a variety of Internet applications without additional ALGs, and requires full access and end-to-end secure communications.

상술된 기술적 과제를 달성하기 위하여 본 발명에서는 로컬 호스트가 로컬 네트워크내의 통신을 위해 각각의 상이한 로컬 IP 주소를 갖고 글로벌 네트워크의 호스트와 통신하기 위해서는 로컬 네트워크와 글로벌 네트워크와의 인터네트워킹을 담당하는 라우터/네트워크 장비로부터 글로벌 IP 주소를 DHCP로 할당받은 후, IP Aliasing을 통해 공유하여 하나 이상의 로컬 호스트들이 외부 글로벌 네트워크 호스트들과 송수신하는 데이터 플로우를 네트워크상에서 식별하게 한다. 상기 로컬 호스트 각각에 대하여 로컬 IP 주소와 글로벌 IP 주소를 IP Aliasing을 이용하여 공유하는 단계; 호스트 라우팅 테이블 및 호스트 라우팅 기능을 이용하여 데이터 플로우의 발신지 주소로서 상기 글로벌 IP 주소를 사용하여 송수신하는 단계; 상기 데이터 플로우에 대한 패킷의 Layer 2 주소(이더넷일 경우, 로컬 호스트 MAC(Medium Access Control) 주소), 상기 글로벌 IP 주소, 상기 외부 호스트의 IP 주소, 상기 패킷의 프로토콜 번호 정보를 포함하는 데이터 플로우 식별테이블을 구비하는 단계; 상기 외부 호스트와 상기 로컬 호스트간의 데이터 플로우를 상기 식별테이블에 저장된 정보의 일부 혹은 전부를 이용하여 식별하는 단계; 데이터 플로우 식별테이블을 이용하여 외부 호스트로부터 로컬 호스트로의 응답 데이터를 전달하기 위해 Layer 2 포워딩을 수행하는 단계; 상기 데이터 플로우 식별테이블을 이용하여 데이터 플로우 식별을 지원할 수 없는 경우 ICMP Host Unreachable 메시지를 통신을 시도하는 호스트에 전송하는 단계; 그리고 로컬 호스트에 할당된 공유 글로벌 IP 주소를 변경하기 위해 동적 호스트 설정 프로토콜 서버와 통신하여 상이한 공유 글로벌 IP 주소를 할당하는 단계를 포함하는 데이터 플로우 식별 방법 및 데이터 플로우 식별 장치가 제공된다.In order to achieve the above technical problem, in the present invention, a local host has a different local IP address for communication in a local network, and a router / router responsible for internetworking between a local network and a global network to communicate with a host of a global network. After a global IP address is assigned by DHCP from a network device, it is shared through IP aliasing so that one or more local hosts can identify on the network the data flows to and from external global network hosts. Sharing a local IP address and a global IP address using IP aliasing for each of the local hosts; Transmitting and receiving using the global IP address as a source address of a data flow using a host routing table and a host routing function; Data flow identification including Layer 2 address (local host Medium Access Control (MAC) address of the Ethernet, MAC address), global IP address, IP address of the external host, and protocol number of the packet for the data flow Providing a table; Identifying a data flow between the external host and the local host using some or all of the information stored in the identification table; Performing Layer 2 forwarding to transfer response data from the external host to the local host using the data flow identification table; Transmitting an ICMP Host Unreachable message to a host attempting to communicate if data flow identification cannot be supported using the data flow identification table; And assigning a different shared global IP address by communicating with a dynamic host configuration protocol server to change the shared global IP address assigned to the local host.

이하 첨부된 도면을 참조하여, 본 발명의 바람직한 실시에 의한 호스트 라우팅과 IP 얼라이어싱 기법을 이용한 네트워크상의 데이터 플로우 식별 방법 및 장치에 대해 보다 상세히 설명하기로 한다.Hereinafter, a method and apparatus for identifying a data flow on a network using host routing and IP aliasing according to a preferred embodiment of the present invention will be described in detail.

도 1은 본 발명의 바람직한 실시예에 따른 네트워크상의 데이터 플로우 식별 시스템을 개략적으로 설명하기 위한 구성도이다. 도 1을 참조하면, 로컬 네트워크는 로컬 호스트들(13,14,15)로 구성되며 각각의 로컬 호스트(13,14,15)에는 로컬 네트워크 안에서만 통용되는 로컬 IP 주소가 할당되며 이와 함께 DHCP 서버를 통해 글로벌 IP 주소가 할당되고 IP Aliasing 기법을 이용하여 로컬 IP 주소가 서로 상이한 로컬 호스트(13,14,15)들에 의해 공유된다. DHCP는 네트워크 상의 호스트에게 네트워크를 통한 다른 호스트와 통신을 지원하기 위해 필요한 호스트의 네트워크 환경을 자동으로 설정하는 프로토콜로서 동 업계에서 널리 이용되고 있는 기술이며, IP Aliasing 기법이란 한 개의 인터페이스에 두 개 이상의 IP 주소를 지정하는 것인데, 예를 들어 eth0라는 랜카드(LAN Card)에 두 개의 IP 어드레스를 지정함으로써 둘 중 어느 IP 주소로도 액세스를 허용하는 것이다. DHCP와 IP Aliasing 기법은 종래에 널리 사용되고 있는 기법으로서, 본 명세서에서 상세한 설명은 생략한다. 상기 로컬 호스트들(13,14,15)은 라우터(10)를 통해 외부 호스트들(16,17,18)과 데이터를 송수신하기 위하여 인터넷(19)에 접속되며, 상기 라우터(10)는 상기 로컬 호스트들(13,14,15) 각각의 로컬 IP 주소와 이에 매칭되는 도메인 네임에 대한 정보를 포함하는 도메인 네임 서버(Domain Name Server, 이하 DNS 라 칭함)(11) 및 데이터 플로우의 식별을 위한 각종 테이블을 저장하기 위한 저장부(12), 라우터(10)에서 인터넷으로 연결하기 위해 설정된 글로벌 IP 주소(168.188.46.46)을 로컬 호스트에게 동적으로 할당하기 위한 DHCP 서버에 연결된다. 1 is a configuration diagram for schematically illustrating a system for identifying a data flow on a network according to a preferred embodiment of the present invention. Referring to FIG. 1, a local network is composed of local hosts 13, 14, and 15, and each local host 13, 14, and 15 is assigned a local IP address that is generally used only within the local network. Global IP addresses are assigned and local IP addresses are shared by different local hosts 13, 14, 15 using IP aliasing techniques. DHCP is a protocol widely used in the industry as a protocol for automatically setting a host's network environment to support a host on a network to communicate with other hosts through a network. The IP aliasing technique is a protocol for more than one interface on an interface. This is done by specifying two IP addresses on a LAN card called eth0, for example, to allow access to either IP address. DHCP and IP aliasing techniques are widely used in the prior art, and detailed description thereof will be omitted. The local hosts 13, 14, 15 are connected to the Internet 19 to send and receive data to and from the external hosts 16, 17, and 18 via a router 10, the router 10 being connected to the local network. Domain Name Server (hereinafter referred to as DNS) 11 including information on local IP address of each of the hosts 13, 14, and 15 and the domain name matched thereto, and various kinds of data flows for identification. A storage unit 12 for storing a table, a global IP address (168.188.46.46) set for connection to the Internet from the router 10, is connected to a DHCP server for dynamically allocating to a local host.

도 2는 본 발명에 따른 네트워크상의 데이터 플로우 식별 방법을 설명하기 위한 흐름도이다. 도 2를 참조하면, 먼저 데이터 플로우가 아웃고잉(Outgoing)인지 여부를 판단한다(S201). 아웃고잉이라면, 상기 데이터 플로우가 라우팅이 필요한지 여부를 판단한다(S202). 앞서 언급된 바와 같이, 각 로컬 호스트(13,14,15)는 DHCP 서버로부터 할당받은 글로벌 IP 주소를 IP Aliasing 기법을 이용하여 자신의 고유한 로컬 IP 주소 및 글로벌 네트워크와의 통신하려할 때 사용될 글로벌 IP 주소로 네트워크 환경 설정이 이루어져 있다. 예를 들어 도 1의 로컬 호스트 1(13)의 경우, 로컬 네트워크내에서 각 호스트들을 식별하기 위한 로컬 IP 주소로서 192.168.1.2를 가지며, 또한 외부 네트워크와 통신하기 위해 로컬 네트워크내의 다른 로컬 호스트들과 공유하는 글로벌 IP 주소 168.188.46.46을 가진다. 로컬 호스트 1(13)는 같은 로컬 네트워크내에 존재하는 호스트들과 통신할 때 상기 로컬 IP 주소(192.168.1.2)를 이용하여 통신한다. 이러한 로컬 네트워크 내에서의 통신은 종래의 NAT 기법과 동일하게 로컬 네트워크와 외부 네트워크 사이에 존재하는 라우터 및 네트워크 장비의 개입 없이 이루어지며, 목적지 주소를 자신의 로컬 네트워크 주소와 마스킹(Masking)하여 자신의 로컬 네트워크에 존재하는 호스트임이 판명되면 자신에게 할당되어 있는 IP 주소 중 로컬 IP 주소를 이용하여 통신한다. 목적지 주소를 로컬 네트워크 주소와 마스킹하여 로컬 네트워크에 존재하지 않는 호스트이면 할당된 글로벌 IP 주소를 이용하여 통신을 시도한다. 상기 S202 단계에서 라우팅이 필요 없는 경우, 즉 로컬 네트워크 내부에서의 통신인 경우에는 데이터 플로우는 S216 단계에서 해당 목적지로 L3 포워딩 된다. 반면 S202 단계에서 라우팅이 필요한 경우, 즉 외부 호스트들(16,17,18)과 통신하는 경우에는 패킷의 프로토콜 번호, 발신지주소, 목적지주소와 일치되는 항목을 데이터 플로우 식별테이블에서 검색한다(S203). 상기 테이블은 로컬 호스트(13,14,15)와 외부 호스트들(16,17,18)간의 데이터 플로우를 식별하기 위해 각종 정보들을 기록해 놓은 테이블로서, 상기 테이블에 기록되는 정보는 데이터 플로우에 대한 프로토콜 번호, 글로벌 IP 주소, 외부 IP 주소, 로컬 호스트 MAC 주소등이다. 상기 식별테이블의 일예가 도 3에 도시되어 있다. 패킷에 해당하는 정보가 상기 식별테이블에 존재하는지 여부를 판단하여(S204), 존재하지 않는 경우 상기 아웃고잉되는 패킷의 정보에 근거하여 상기 식별테이블의 각 항목을 기록한 데이터를 저장(S205)한 후 이 테이블의 타임아웃(S215)을 설정한 후 L3 포워딩(S216)한다. 그러나 식별테이블이 이미 존재하면 패킷의 발신지 호스트 MAC 주소와 검색된 식별테이블의 로컬 호스트 MAC 주소를 비교(S206)한다. S206 단계에서 비교한 두 값이 일치하지 않으면 같은 목적지 주소로 이미 통신 중인 다른 로컬 호스트가 있다는 의미이므로 새로이 통신을 시도하려는 호스트에게 ICMP Host Unreachable 메시지를 보냄(S208)으로써 통신 연결 요구를 거부한다. S206 단계에서 비교한 값이 서로 일치할 경우 타임아웃을 설정하고(S215), 패킷을 L3 포워딩한다(S216). 2 is a flowchart illustrating a data flow identification method on a network according to the present invention. Referring to FIG. 2, first, it is determined whether the data flow is outgoing (S201). If outgoing, it is determined whether the data flow requires routing (S202). As mentioned above, each local host 13,14,15 can use the global IP address assigned from the DHCP server to communicate with its own local IP address and global network using IP Aliasing technique. Network configuration is configured by IP address. For example, in the case of local host 1 13 of FIG. 1, it has 192.168.1.2 as a local IP address for identifying each host in the local network, and also communicates with other local hosts in the local network to communicate with the external network. It has a shared global IP address of 168.188.46.46. Local host 1 (13) communicates using the local IP address (192.168.1.2) when communicating with hosts that exist in the same local network. The communication within the local network is performed without the intervention of routers and network equipment existing between the local network and the external network as in the conventional NAT technique, and masks the destination address with its own local network address. If it is found that the host exists in the local network, it communicates using the local IP address among the IP addresses assigned to itself. If the host does not exist in the local network by masking the destination address with the local network address, it attempts to communicate using the assigned global IP address. If routing is not necessary in step S202, that is, communication within the local network, the data flow is L3 forwarded to the corresponding destination in step S216. On the other hand, when routing is necessary in step S202, that is, when communicating with external hosts 16, 17, and 18, an item matching the protocol number, source address, and destination address of the packet is searched in the data flow identification table (S203). . The table records a variety of information for identifying the data flow between the local host (13, 14, 15) and external hosts (16, 17, 18), the information recorded in the table is a protocol for the data flow Number, global IP address, external IP address, local host MAC address, and so on. An example of the identification table is shown in FIG. It is determined whether the information corresponding to the packet exists in the identification table (S204), and if it does not exist, storing data recording each item of the identification table based on the information of the outgoing packet (S205). After setting the timeout (S215) of this table, L3 forwarding (S216) is performed. However, if the identification table already exists, the source host MAC address of the packet is compared with the local host MAC address of the retrieved identification table (S206). If the two values compared in step S206 do not match, it means that there is another local host that is already communicating with the same destination address. Therefore, the communication connection request is rejected by sending an ICMP Host Unreachable message to the host to attempt a new communication (S208). If the values compared in step S206 coincide with each other, timeout is set (S215), and the packet is L3 forwarded (S216).

한편, 상기 S201 단계에서, 통신하고자 하는 데이터 플로우가 아웃고잉이 아닌 경우, 즉 인커밍(Incoming)인 경우, 먼저 라우팅이 필요한지 여부를 판단한다(S209). 상기 아웃고잉과 마찬가지로, 로컬 네트워크내에서의 통신이면 라우팅이 필요없이 로컬 IP 주소를 사용하여 직접 L3 포워딩한다(S216). 라우팅이 필요한 경우, 즉 외부 호스트들(16,17,18)로부터 수신되는 패킷인 경우에는 상기 패킷의 프로토콜 번호, 발신지주소, 목적지주소로 식별테이블을 검색한다(S210). 식별테이블에 상기 패킷에 대한 정보가 등재되어 있는지 여부를 판단하여(S211), 식별테이블에 존재하는 경우 상기 패킷에 대해 타임아웃을 설정하고(S215), 상기 패킷을 식별테이블에 기재된 로컬 호스트 MAC 주소를 이용하여 로컬 호스트에게 L2 포워딩한다(S216). S211 단계에서 상기 식별테이블에 상기 패킷에 대한 정보가 등재되어 있지 않은 경우, 상기 패킷에 대한 정보가 DNS 요청 큐(Queue)에 존재하는지 여부를 판단한다(S212). DNS 요청큐는 외부 호스트들(16,17,18)이 로컬 호스트(13,14,15)에 접속할 때, 상기 DNS 요청에 대한 기록을 저장하기 위한 테이블로서 보다 상세한 설명은 후에 도 4를 참조하여 이루어질 것이다. 상기 DNS 요청큐에 패킷에 대한 정보가 기록되어 있지 않은 경우, 상기 패킷은 수신지를 알 수 없으므로 버린다(S214). DNS 요청큐에 상기 패킷에 대한 정보가 기록되어 있는 경우에는 상기 DNS 요청큐에 기록된 <로컬 호스트 MAC 주소, 글로벌 IP 주소>와 상기 패킷으로부터 파악 가능한 정보들을 종합하여 식별테이블의 각 항목들을 기록한다(S213). 그 후, 상기 패킷에 대해 타임아웃을 설정하고(S215), L2 포워딩한다(S216). 상기 S216 단계에서 패킷을 포워딩할 때, 기존의 NAT 기법과는 달리 외부 호스트들(16,17,18)과의 데이터 송수신시 라우터(10)는 IP 주소 및/또는 포트번호의 변경 없이 단지 참조에 의해 상기 로컬 호스트(13,14,15)에 할당된 글로벌 공인 IP 주소로 통신함에 주목해야 한다.On the other hand, in step S201, when the data flow to be communicated is not outgoing, that is, incoming (Incoming), it is first determined whether routing is necessary (S209). Similar to the outgoing, if communication is in the local network, L3 forwarding is directly performed using the local IP address without the need for routing (S216). When routing is necessary, that is, a packet received from external hosts 16, 17, and 18, the identification table is searched for by the protocol number, source address, and destination address of the packet (S210). It is determined whether or not information on the packet is listed in the identification table (S211), and if present in the identification table, timeout is set for the packet (S215), and the packet is local host MAC address described in the identification table. Using L2 forwarding to the local host (S216). If the information on the packet is not listed in the identification table in step S211, it is determined whether the information on the packet exists in the DNS request queue (S212). The DNS request queue is a table for storing a record of the DNS request when the external hosts 16, 17, and 18 are connected to the local host 13, 14, and 15. More details will be described later with reference to FIG. Will be done. If information on the packet is not recorded in the DNS request queue, the packet is discarded because the destination is unknown. If the information on the packet is recorded in the DNS request queue, the items of the identification table are recorded by combining the <local host MAC address, global IP address> recorded in the DNS request queue and the information recognizable from the packet. (S213). Thereafter, a timeout is set for the packet (S215) and L2 forwarding (S216). When forwarding the packet in step S216, unlike the conventional NAT scheme, when transmitting and receiving data with the external hosts 16, 17, and 18, the router 10 does not change the IP address and / or the port number. It is to be noted that the communication by the global public IP address assigned to the local host (13, 14, 15).

도 4는 DNS 요청 큐(Queue)의 생성과정을 설명하기 위한 흐름도이다. 외부 호스트들(16,17,18)중 하나가 DNS 쿼리(Query) 요청을 하면(S41), 상기 DNS 요청은 종래의 일반적인 방법에 의해 상기 로컬 네트워크를 담당하는 DNS 서버(11)에 도달한다. DNS 서버(11)는 상기 DNS 요청에 대해 상기 도메인 네임에 대한 로컬 IP 주소를 검색한다(S42). 그 후, 로컬 IP 주소에 대응되는 호스트의 MAC 주소를 찾기 위해 ARP (Address Resolution Protocol)을 이용하여 해당 로컬 호스트의 MAC 주소를 찾는다(S43). DNS 요청에 대한 글로벌 IP 주소를 응답하기 위해 로컬 DHCP 서버에 해당 호스트에 할당된 글로벌 IP 주소를 질의한다(S44). 이후 상기 검색된 내용을 DNS 요청큐에 <로컬 호스트 MAC 주소, 글로벌 IP 주소>의 형태로 저장한다(S45). 상기 DNS 요청큐의 일 예가 도 5에 도시된다. 상기 DNS 서버(11)는 그 후 상기 DNS 요청에 대해 상기 글로벌 IP 주소를 반환한다(S46). 4 is a flowchart illustrating a process of creating a DNS request queue. If one of the external hosts 16, 17, 18 makes a DNS query request (S41), the DNS request arrives at the DNS server 11 in charge of the local network by a conventional general method. DNS server 11 retrieves the local IP address for the domain name for the DNS request (S42). Thereafter, in order to find the MAC address of the host corresponding to the local IP address, the MAC address of the corresponding local host is searched using ARP (Address Resolution Protocol) (S43). In order to answer the global IP address for the DNS request, the local DHCP server is queried for the global IP address assigned to the host (S44). Thereafter, the searched content is stored in the form of <local host MAC address, global IP address> in the DNS request queue (S45). An example of the DNS request queue is shown in FIG. The DNS server 11 then returns the global IP address for the DNS request (S46).

본 발명의 실시예에 따른 데이터 플로우 식별 방법을 보다 잘 이해하기 위해서, 외부 호스트 X(16)가 텔넷 서버로서 운용되고, 로컬 호스트 1(13)이 상기 외부 호스트 X(16)에 접속하는 경우에 대해 설명하기로 한다. In order to better understand the data flow identification method according to an embodiment of the present invention, when the external host X 16 is operated as a telnet server, and the local host 1 13 connects to the external host X 16, This will be explained.

먼저 로컬 호스트 1(13)의 로컬 IP 주소는 192.168.1.2이고, 접속하려는 호스트는 외부 호스트 X(16)로서, 그 IP 주소는 211.113.146.144이다. 이때 로컬 호스트 1은 목적지 주소인 211.113.146.144와 로컬 네트워크 서브넷 마스크인 255.255.255.0을 마스킹하면 211.113.146.0 이므로 로컬 네트워크 주소인 192.168.1.0과 같지 않다. 따라서 송수신하려는 데이터가 로컬 호스트와 외부 호스트간에 이루어지는 것을 알 수 있다. 외부 호스트와의 통신이므로 상기 로컬 호스트 1(13)은 자신에게 할당된 IP 주소중에서 글로벌 IP 주소인 168.188.46.46을 발신지 주소로 사용하여 패킷을 포워딩한다. 라우터(10)는 상기 포워딩되는 패킷에 포함된 정보로부터 식별테이블의 각 항목들을 기입한다. 예를 들어, 프로토콜 번호에는 상기 통신이 TCP에서 이루어지므로 6이 기록되고 글로벌 IP 주소에는 상기 로컬 호스트 1의 글로벌 IP 주소인 168.188.46.46이, 외부 글로벌 호스트 IP 주소에는 상기 패킷의 목적지 주소, 즉 외부 호스트 X(16)의 IP 주소인 211.113.146.144가 기록되며 로컬 호스트 MAC 주소는 상기 패킷의 발신지 MAC 주소인 00FF0A0E0F0A가 기록된다(도 3의 첫 번째 열 참조). 외부 호스트 X(16)는 상기 포워딩된 패킷을 수신하면, 일반적인 패킷처리 절차에 따라 상기 수신된 패킷의 발신지 주소와 목적지 주소를 맞바꾸고, 또한 발신지 포트와 목적지 포트도 맞바꾸어 패킷을 송신한다. 상기 패킷을 수신한 라우터(10)는 상기 패킷의 프로토콜 번호, 발신지 주소, 목적지 주소로 식별테이블을 검색하여, 이미 아웃고잉시 기록해 놓은 정보로부터 일치하는 항목을 찾아낸다. 즉, 상기 인커밍 패킷의 프로토콜 번호, 목적지 주소, 발신지 주소와 각각 일치하는 상기 프로토콜 번호, 글로벌 IP 주소, 상기 외부 호스트 IP 주소를 가지는 테이블을 식별테이블에서 검색한다. 상기 식별테이블에 일치하는 항목이 존재하는지 여부를 판단하여, 존재하지 않는 경우에는, 아웃고잉시 기록된 정보와의 불일치로 인하여 오류가 발생한 것으로 판단하여 상기 패킷을 버린다. 식별테이블에서 검색항목이 존재하는 경우, 상기 항목에 해당하는 로컬 호스트 MAC 주소를 가지는 로컬 호스트에게 상기 패킷을 L2 포워딩한다.First, the local IP address of local host 1 13 is 192.168.1.2, and the host to connect to is external host X 16, and its IP address is 211.113.146.144. The local host 1 is not the same as the local network address 192.168.1.0 because it masks the destination address 211.113.146.144 and the local network subnet mask 255.255.255.0 because it is 211.113.146.0. Therefore, it can be seen that the data to be transmitted and received is made between the local host and the external host. Since the local host 1 13 communicates with an external host, the local host 1 13 forwards the packet using the global IP address 168.188.46.46 as the source address among the IP addresses assigned to the host. The router 10 writes each item of the identification table from the information included in the forwarded packet. For example, 6 is recorded in the protocol number because the communication is made in TCP, and 168.188.46.46, which is the global IP address of the local host 1, is included in the global IP address, and a destination address of the packet, that is, external, is included in the external global host IP address. 211.113.146.144, the IP address of host X 16, is recorded and 00FF0A0E0F0A, the source MAC address of the packet, is recorded as the local host MAC address (see first column of FIG. 3). When the external host X 16 receives the forwarded packet, it exchanges the source address and the destination address of the received packet according to a general packet processing procedure, and also exchanges the source port and the destination port and transmits the packet. The router 10 receiving the packet searches the identification table by the protocol number, the source address, and the destination address of the packet, and finds a matching item from the information already recorded when outgoing. That is, a table having the protocol number, the global IP address, and the external host IP address corresponding to the protocol number, the destination address, and the source address of the incoming packet is searched for in the identification table. It is determined whether there is a matching item in the identification table, and if it does not exist, it is determined that an error has occurred due to a mismatch with information recorded during outgoing, and the packet is discarded. If a search item exists in the identification table, the packet is forwarded L2 to the local host having the local host MAC address corresponding to the item.

다른 경우로서, 로컬 호스트 1(13)이 텔넷 서버로서 운용되고 외부 호스트 X(16)가 상기 로컬 호스트 1(13)에 접속하는 경우에 대해 설명하기로 한다. As another case, the case where the local host 1 13 operates as a telnet server and the external host X 16 connects to the local host 1 13 will be described.

먼저 외부 네트워크의 호스트, 즉 호스트 X(211.113.146.144)가 터미널 상에서 로컬 네트워크의 서버 호스트의 도메인 네임을 이용하여 텔넷 명령을 내리면 (예를 들어, telnet telserver.korea.com), 서버에 대한 IP 주소를 얻어 오기 위해 DNS 쿼리한다. 상기 DNS 쿼리(예를 들어, Query : telserver.korea.com)는 상기 호스트 X의 DNS 서버(미도시)에서 처리하게 되는데, 일반적인 DNS 처리 경로를 거친 후 결국 라우터(10)의 DNS 서버(11)까지 전송되게 된다. 일반적인 DNS 처리 경로는 당업자에게는 명백한 것이므로 설명의 간략화를 위하여 본 명세서에서는 자세한 설명이 생략된다. First, a host on the external network, host X (211.113.146.144), issues a telnet command on the terminal using the domain name of the server host on the local network (for example, telnet telserver.com.com), then the IP address for the server. DNS query to get The DNS query (for example, Query: telserver.korea.com) is processed by the DNS server (not shown) of the host X. After passing through the general DNS processing path, the DNS server 11 of the router 10 is eventually processed. Will be sent until. General DNS processing paths are obvious to those skilled in the art, and thus detailed descriptions are omitted herein for the sake of simplicity.

DNS 서버(11)는 이미 로컬 호스트들에 대한 주소 정보를 알고 있으므로 수신된 DNS 쿼리(예를 들어, telserver.korea.com)에 해당하는 로컬 호스트 1(13)의 IP 주소(192.168.1.2)를 검색하고 이를 이용하여 로컬 호스트의 MAC 주소를 얻기 위해 ARP를 수행한 후, 해당 호스트에 할당되어진 글로벌 IP 주소를 얻기위해 로컬 DHCP 서버와 통신하여 할당된 글로벌 IP 주소를 얻는다. 이러한 과정을 거쳐 상기 로컬 호스트 1(13)에 동시에 할당되어 있는 글로벌 IP 주소(168.188.46.46) 및 상기 로컬 호스트 1(13)의 MAC 주소(00FF0A0E0F0A)를 바인딩시키고, 상기 바인딩 정보를 DNS 요구 큐(Request Queue)에 기록해 놓는다(도 5 참조). 그 후, 바인딩된 글로벌 IP 주소(168.188.46.46)를 호스트 X의 DNS 서버에 DNS 응답(Response)으로 반환하고, 상기 외부 호스트 X 측의 DNS 서버(미도시)는 상기 글로벌 IP 주소를 외부 호스트, 즉 호스트 X(211.113.146.144)에게 알려준다. 외부 호스트 X(16)는 상기 글로벌 IP 주소(168.188.46.46)를 목적지 주소로 하여 패킷을 송신한다. 라우터(10)에 패킷이 수신되면 상기 수신된 패킷의 발신지 IP 주소를 상기 DNS 요구 큐에 미리 기록된 글로벌 IP 주소, 로컬 호스트 MAC 주소 정보와 함께 식별테이블에 새로운 항목으로 기록한다. 이로써 식별테이블은 완전한 정보를 갖추게 되는데, 이렇게 DNS 요구 큐의 바인딩 단계를 거치는 이유는 DNS 요구 시에는 접속을 시도한 외부 호스트의 실제 IP 주소 정보를 알 수 없기 때문이다. 그러므로 로컬 호스트 MAC 주소 및 로컬 호스트의 글로벌 IP 주소를 미리 바인딩시켜 DNS 요구 큐(도 5)에 저장한 후, 첫 번째 IP 패킷이 도착하면 외부 호스트의 IP 주소 정보뿐만 아니라 식별테이블을 구성하는 모든 항목을 알 수 있으므로, 이 때 새로운 항목을 데이터 플로우 식별테이블에 기록한다. 데이터 플로우를 식별하기 위한 모든 정보가 상기 식별테이블에 기록되면, 상기 바인딩 정보는 더이상 필요 없게 되므로 DNS 요구 큐에서 삭제된다. 식별테이블이 완성되면, 해당 로컬 호스트인 로컬 호스트 1로 로컬 호스트 MAC 주소인 00FF0A0E0F0A를 이용하여 패킷을 L2 포워딩한다. 이로써, 로컬 네트워크에서 외부 네트워크로 접속을 시도하여 통신을 하는 것뿐만 아니라 외부 네트워크에서 로컬 네트워크로 접속을 시도하여 통신할 수 있는 풀 액세스(양방향) 통신이 이루어지게 된다.Since the DNS server 11 already knows the address information for the local hosts, the IP address (192.168.1.2) of the local host 1 (13) corresponding to the received DNS query (for example, telserver.korea.com) is obtained. After performing ARP to retrieve the MAC address of the local host using this, it communicates with the local DHCP server to obtain the global IP address assigned to the host. Through this process, the global IP address (168.188.46.46) assigned to the local host 1 (13) and the MAC address (00FF0A0E0F0A) of the local host 1 (13) are bound, and the binding information is bound to the DNS request queue ( Request Queue) (see Fig. 5). Thereafter, the bound global IP address (168.188.46.46) is returned to the DNS server of the host X in a DNS response, and the DNS server (not shown) of the external host X sends the global IP address to the external host, It tells host X (211.113.146.144). The external host X 16 sends the packet using the global IP address (168.188.46.46) as the destination address. When the packet is received at the router 10, the source IP address of the received packet is recorded as a new item in the identification table together with the global IP address and local host MAC address information previously recorded in the DNS request queue. As a result, the identification table has complete information. The reason for the binding process of the DNS request queue is that the actual IP address information of the external host attempting to connect is not known at the time of DNS request. Therefore, after pre-binding the local host MAC address and the global IP address of the local host and storing them in the DNS request queue (Fig. 5), when the first IP packet arrives, not only the IP address information of the external host but also all items constituting the identification table In this case, a new item is recorded in the data flow identification table. When all the information for identifying the data flow is recorded in the identification table, the binding information is no longer needed and thus deleted from the DNS request queue. When the identification table is completed, L2 forwards the packet to local host 1, which is the corresponding local host, by using the local host MAC address 00FF0A0E0F0A. As a result, in addition to attempting to communicate from the local network to the external network, full access (two-way) communication is performed, which can attempt to communicate from the external network to the local network.

본 발명은 로컬 네트워크와 글로벌 네트워크의 인터네트워킹을 담당하는 라우터/네트워크 장비에 할당된 하나 이상의 글로벌 IP 주소를 서로 상이한 로컬 호스트들이 공유를 통해 인터넷 풀 액세스 통신을 지원하며 데이터 플로우 식별을 위해 패킷 헤더/페이로드의 IP 주소/포트를 변환하지 않고 단지 참조(읽기)에 의해 데이터 플로우 식별을 지원한다. 따라서 별도의 ALG(Application Level Gateway) 소프트웨어 프로그램 없이도 일반적인 인터넷 응용과 패킷의 페이로드에 로컬 호스트의 IP 주소/포트 정보를 포함하는 인터넷 응용도 지원할 수 있으며 패킷의 헤더/페이로드를 수정하지 않고 단지 참조에 의해 데이터 플로우를 식별하므로 종단간 연결 무결성을 요구하는 IPSec과 같은 보안용 응용 프로그램도 지원하는 장점을 가진다.



The present invention supports Internet full access communication through sharing different local hosts with one or more global IP addresses assigned to routers / network equipments responsible for the internetworking of the local network and the global network. It supports data flow identification by reference (read) without translating the payload's IP address / port. Therefore, it can support general Internet applications and Internet applications that include the local host's IP address / port information in the payload of the packet without requiring a separate application level gateway (ALG) software program. By identifying the data flow, it also has the advantage of supporting security applications such as IPSec that require end-to-end connection integrity.



Claims (10)

RFC 1918에 정의된 사설(Private) IP 주소를 이용하는 로컬 네트워크내에서 각각 상이한 사설 IP(로컬 IP) 주소를 가지는 하나 이상의 로컬 호스트들이 동일한 공인 IP(글로벌 IP)를 이용하여 외부 호스트들과 통신할 때 각 호스트 별 데이터 플로우를 네트워크상에서 식별하는 방법에 있어서,When one or more local hosts with different private IP (local IP) addresses in a local network using a private IP address defined in RFC 1918 communicate with external hosts using the same public IP (global IP) In the method for identifying the data flow for each host on the network, (a) 상기 로컬 호스트 각각에 대하여 상기 로컬 IP 주소를 할당하고 이와 별도로 네트워크 경계에 존재하는 라우터/네트워크장비에 할당된 소수의 글로벌 IP 주소를 다수의 로컬 호스트에게 DHCP를 통해 할당한 후, 이 두 IP 주소를 IP 에이리어싱(Aliasing) 방식으로 상기 로컬 호스트들에 의해 공유되는 단계; (a) assigning the local IP address to each of the local hosts and separately assigning a small number of global IP addresses assigned to routers / network devices located at network boundaries to a plurality of local hosts via DHCP, Sharing an IP address by the local hosts in an IP aliasing manner; (b) 로컬 호스트가 로컬 네트워크내의 통신에는 발신지 주소로서 개별적인 로컬 IP 주소를 이용하고 글로벌 네트워크의 호스트와의 통신시에 발신지 주소로서 상기 글로벌 IP 주소를 사용하여 송수신하는 호스트 라우팅 단계;(b) a host routing step in which a local host uses a separate local IP address as a source address for communication in a local network and uses the global IP address as a source address when communicating with a host in a global network; (c) (c1) 상기 데이터 플로우를 식별하기 위하여 프로토콜 번호, 로컬 호스트의 글로벌 IP 주소, 외부 호스트의 IP 주소, 로컬 호스트의 MAC 주소를 포함하는 식별테이블을 구비하는 단계,(c) (c1) providing an identification table including a protocol number, a global IP address of a local host, an IP address of an external host, and a MAC address of a local host to identify the data flow, (c2) 상기 로컬 IP 주소 및 이에 해당하는 소정의 도메인 네임에 대한 정보를 갖는 DNS 서버를 구비하는 단계,(c2) providing a DNS server having information on the local IP address and a predetermined domain name corresponding thereto; (c3) 상기 DNS 서버는 수신된 DNS 쿼리에 대하여 해당 로컬 호스트에게 할당된 글로벌 IP 주소를 반환하기 위해, 상기 로컬 IP 주소와 ARP를 이용하여 상기 로컬 호스트의 MAC 주소를 얻는 단계,(c3) the DNS server obtaining the MAC address of the local host using the local IP address and ARP to return a global IP address assigned to the local host in response to the received DNS query; (c4) 상기 수신된 도메인 네임에 대한 응답을 하기 위해 상기 로컬 DHCP 서버에 상기 로컬 호스트의 MAC 주소를 이용하여 상기 로컬 호스트에 할당된 글로벌 IP 주소를 얻는 단계,(c4) obtaining a global IP address assigned to the local host by using the MAC address of the local host to the local DHCP server in order to respond to the received domain name; (c5) 로컬 호스트 MAC 주소 및 상기 할당된 글로벌 IP 주소를 바인딩하여 소정의 바인딩 큐(Queue)에 저장하는 단계 및 (c5) binding a local host MAC address and the assigned global IP address and storing them in a predetermined binding queue; and (c6) 상기 로컬 호스트의 글로벌 IP 주소를 목적지로 하는 IP 패킷을 수신하면, 상기 IP 패킷에 기록된 프로토콜 번호, 외부 호스트 IP 주소를 상기 바인딩 큐에 저장된 정보들과 함께 식별테이블에 저장하는 단계(c6) when receiving the IP packet destined for the global IP address of the local host, storing the protocol number and the external host IP address recorded in the IP packet together with the information stored in the binding queue in an identification table. 로 이루어지는 상기 외부 호스트와 상기 로컬 호스트간의 데이터 플로우를 라우터/네트워크 장비에 저장된 정보의 일부 혹은 전부를 이용하여 식별하는 단계;Identifying a data flow between the external host and the local host using some or all of information stored in a router / network device; (d) 로컬 호스트에게 데이터를 전달하기 위해 상기 정보 중 Layer 2 정보를 이용하여 L2 포워딩 하는 단계; (d) forwarding L2 using Layer 2 of the information to deliver data to the local host; (e) 상기 바인딩 큐에 저장된 정보들이 상기 식별테이블에 저장된 후 상기 바인딩 큐에 저장된 정보를 삭제하는 단계; 및 (e) deleting the information stored in the binding queue after the information stored in the binding queue is stored in the identification table; And (f) 송수신되는 각 패킷의 데이터 플로우 식별 테이블에 대해 타임아웃을 설정하는 단계;(f) setting a timeout for the data flow identification table of each packet to be transmitted and received; 를 포함하는 호스트 라우팅과 IP Aliasing 기법을 이용한 데이터 플로우 식별 방법.Data flow identification method using a host routing and IP Aliasing technique comprising a. 삭제delete 삭제delete 삭제delete RFC 1918에 정의된 사설(Private) IP 주소를 이용하는 로컬 네트워크내에서 각각 상이한 사설 IP(로컬 IP) 주소를 가지는 하나 이상의 로컬 호스트들이 동일한 공인 IP(글로벌 IP)를 이용하여 외부 호스트들과 통신할 때 각 호스트 별 데이터 플로우를 네트워크상에서 식별하는 시스템에 있어서,When one or more local hosts with different private IP (local IP) addresses in a local network using a private IP address defined in RFC 1918 communicate with external hosts using the same public IP (global IP) In the system for identifying the data flow for each host on the network, 서로 상이한 로컬 호스트에 각각의 로컬 IP 주소에 부가하고 네트워크 경계에 존재하는 라우터/네트워크장비에 할당된 소수의 글로벌 IP 주소를 동적 호스트 설정 프로토콜과 IP 에이리어싱(Aliasing)을 이용하여 다수의 로컬 호스트들이 공유하며 데이터 플로우의 발신지 주소로서 상기 로컬 호스트의 글로벌 IP 주소를 사용하며, Add a few local IP addresses to different local hosts to each local IP address, and assign a few global IP addresses assigned to routers / network devices at network boundaries using dynamic host configuration protocols and IP aliasing. Share and use the global IP address of the local host as the source address of the data flow, 상기 로컬 IP 주소 및 이에 해당하는 소정의 도메인 네임에 대한 정보를 갖는 것 이외에, 수신된 DNS 쿼리에 대한 응답으로 해당 호스트에 할당된 글로벌 IP 주소를 얻기 위해 로컬 DHCP 서버와 통신하고, 상기 수신된 도메인 네임에 해당하는 로컬 호스트의 MAC 주소를 얻기 위해 ARP를 이용하며, 상기 할당된 글로벌 IP 주소와 로컬 호스트의 MAC 주소를 바인딩하여 소정의 바인딩 큐(Queue)에 저장하고, 상기 바인딩 큐에 저장된 정보들이 상기 식별테이블에 저장된 후 상기 바인딩 큐에 저장된 정보를 삭제하며, 송수신되는 각 패킷에 대해 타임아웃을 설정하는 DNS서버; 및In addition to having information about the local IP address and corresponding predetermined domain name, it communicates with a local DHCP server to obtain a global IP address assigned to the host in response to a received DNS query, and the received domain ARP is used to obtain the MAC address of the local host corresponding to the name, and the MAC address of the local host is bound to the assigned global IP address and stored in a predetermined binding queue, and the information stored in the binding queue is stored. A DNS server which deletes the information stored in the binding queue after being stored in the identification table and sets a timeout for each packet transmitted and received; And 상기 데이터 플로우에 대한 프로토콜 번호, 로컬 호스트의 글로벌 IP 주소, 외부 호스트의 IP 주소, 로컬 호스트의 MAC 주소를 포함하는 식별테이블을 구비하고, 상기 외부 호스트와 상기 로컬 호스트간의 데이터 플로우를 상기 식별테이블에 저장된 정보의 일부 또는 전부를 이용하여 식별하며, 상기 글로벌 IP 주소를 목적지로 하는 IP 패킷을 수신하면, 상기 IP 패킷에 기록된 프로토콜 번호, 외부 호스트 IP 주소를 상기 바인딩 큐에 저장된 정보들과 함께 상기 식별테이블에 저장하는 라우터/네트워크 장비;An identification table including a protocol number for the data flow, a global IP address of a local host, an IP address of an external host, and a MAC address of a local host, wherein the data flow between the external host and the local host is included in the identification table. Identifying using some or all of the stored information, and receiving an IP packet destined for the global IP address, the protocol number and the external host IP address recorded in the IP packet with the information stored in the binding queue Router / network equipment for storing in an identification table; 를 포함하는 호스트 라우팅과 IP Aliasing 기법을 이용한 데이터 플로우 식별 시스템.Data flow identification system using a host routing and IP Aliasing technique comprising a. 삭제delete 삭제delete 삭제delete 삭제delete RFC 1918에 정의된 사설(Private) IP 주소를 이용하는 로컬 네트워크내에서 서로 상이한 로컬 호스트는 각각 상이한 사설 IP(로컬 IP) 주소를 갖고 네트워크 경계에 존재하는 라우터/네트워크장비에 할당된 소수의 동일한 공인IP(글로벌 IP) 주소를 DHCP를 이용하여 할당받고 IP 에이리어싱(Aliasing)을 통해 서로 상이한 다수의 로컬 호스트들이 공유하며 데이터 플로우의 발신지 주소로서 상기 글로벌 IP 주소를 사용하는 로컬 호스트들이 외부 호스트들과 송수신하는 데이터 플로우를 네트워크상에서 식별하는 장치에 있어서,Within a local network using private IP addresses as defined in RFC 1918, different local hosts each have a different private IP (local IP) address and a small number of identical public IPs assigned to routers / network devices at network boundaries. Local hosts that are assigned a (global IP) address using DHCP and are shared by multiple different local hosts through IP aliasing and that use the global IP address as a source address of data flow An apparatus for identifying a data flow to be transmitted and received on a network, 상기 라우터는 상기 데이터 플로우에 대한 프로토콜 번호, 로컬 호스트의 글로벌 IP 주소, 외부 호스트의 IP 주소, 로컬 호스트의 MAC 주소를 포함하는 식별테이블을 구비하고, 상기 외부 호스트와 상기 로컬 호스트간의 데이터 플로우를 상기 식별테이블에 저장된 정보의 일부 혹은 전부를 이용하여 식별하며 로컬 네트워크에서 글로벌 네트워크로의 통신은 L3 포워딩을 하고 글로벌 네트워크에서 로컬 네트워크로의 통신은 L2 포워딩하는 것을 특징으로 하는 데이터 플로우 식별 장치.The router includes an identification table including a protocol number for the data flow, a global IP address of a local host, an IP address of an external host, and a MAC address of a local host, and the data flow between the external host and the local host. And identifying by using some or all of the information stored in the identification table, communication from the local network to the global network is L3 forwarding, and communication from the global network to the local network is L2 forwarding.
KR1020030018475A 2003-03-25 2003-03-25 Network Data Flow Identification Method and System Using Host Routing and IP Aliasing Technique KR100562390B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030018475A KR100562390B1 (en) 2003-03-25 2003-03-25 Network Data Flow Identification Method and System Using Host Routing and IP Aliasing Technique

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030018475A KR100562390B1 (en) 2003-03-25 2003-03-25 Network Data Flow Identification Method and System Using Host Routing and IP Aliasing Technique

Publications (2)

Publication Number Publication Date
KR20030039348A KR20030039348A (en) 2003-05-17
KR100562390B1 true KR100562390B1 (en) 2006-03-17

Family

ID=29578988

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030018475A KR100562390B1 (en) 2003-03-25 2003-03-25 Network Data Flow Identification Method and System Using Host Routing and IP Aliasing Technique

Country Status (1)

Country Link
KR (1) KR100562390B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200116259A (en) * 2019-04-01 2020-10-12 주식회사 엘지유플러스 Network apparatus and control method thereof

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100738539B1 (en) * 2005-08-17 2007-07-11 삼성전자주식회사 Apparatus and method for apply the service of the multiple for same time in an unity wireless device
KR100864158B1 (en) 2007-01-29 2008-10-16 주식회사 케이티 Address generation/allocation method based on wireless broadband access network, mobile resource configuration method using its
KR101044917B1 (en) * 2010-10-12 2011-06-28 주식회사 에이씨앤티시스템 Network switch system for checking link connection state and switch included in the same
CN115086159A (en) * 2022-05-24 2022-09-20 深信服科技股份有限公司 Information processing method, device and storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200116259A (en) * 2019-04-01 2020-10-12 주식회사 엘지유플러스 Network apparatus and control method thereof
KR102206888B1 (en) * 2019-04-01 2021-01-25 주식회사 엘지유플러스 Network apparatus and control method thereof

Also Published As

Publication number Publication date
KR20030039348A (en) 2003-05-17

Similar Documents

Publication Publication Date Title
US6708219B1 (en) Method and system for dual-network address utilization
US7450499B2 (en) Method and apparatus for interconnecting IPv4 and IPv6 networks
KR100317443B1 (en) Internet protocol filter
US7701952B2 (en) Packet communication method and apparatus and a recording medium storing a packet communication program
US7158526B2 (en) Packet communication method and apparatus and a recording medium storing a packet communication program
US7630374B2 (en) Address translation method
US8223780B2 (en) Method for forwarding data packet, system, and device
EP1488610B1 (en) System for selecting a connectivity mechanism
US6381638B1 (en) System and method for options based address reuse
US8451845B2 (en) Method of receiving a data packet in an IPv6 domain, an associated device and an associated home gateway
US7450585B2 (en) Method and system in an IP network for using a network address translation (NAT) with any type of application
US20020186698A1 (en) System to map remote lan hosts to local IP addresses
US7450560B1 (en) Method for address mapping in a network access system and a network access device for use therewith
RU2543304C2 (en) Packet relay method and device
US20070094411A1 (en) Network communications system and method
US9602333B2 (en) DNS server, gateways and methods for managing an identifier of a port range in the transmission of data
WO2011035528A1 (en) Method, system and relay server for network address translation (nat) traversal by way of relay
US20060268863A1 (en) Transparent address translation methods
JPH11252172A (en) Packet generation method, information processor having its function and storage medium where packet generation program is recorded
KR100562390B1 (en) Network Data Flow Identification Method and System Using Host Routing and IP Aliasing Technique
US7376750B1 (en) Method and apparatus for generic application layer gateway
US20230388397A1 (en) Resolving Overlapping IP Addresses in Multiple Locations
JP2005065204A (en) Personal ip system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130304

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140228

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150302

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160304

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee