KR20020034280A - A NAT Table Structure for effective searching and management of NAT Table in PC - Google Patents

A NAT Table Structure for effective searching and management of NAT Table in PC Download PDF

Info

Publication number
KR20020034280A
KR20020034280A KR1020000064391A KR20000064391A KR20020034280A KR 20020034280 A KR20020034280 A KR 20020034280A KR 1020000064391 A KR1020000064391 A KR 1020000064391A KR 20000064391 A KR20000064391 A KR 20000064391A KR 20020034280 A KR20020034280 A KR 20020034280A
Authority
KR
South Korea
Prior art keywords
client
nat
information
storing
server
Prior art date
Application number
KR1020000064391A
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 KR1020000064391A priority Critical patent/KR20020034280A/en
Publication of KR20020034280A publication Critical patent/KR20020034280A/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/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PURPOSE: A NAT(Network Address Translation) table structure and a method for the effective NAT table management and search on the PC environment are provided to offer the effective data speed to a user of a client PC and to rapidly search the client PC information stored in a NAT table while utilizing the maximum performance of a NAT server PC and the client PC through the effective management of the NAT. CONSTITUTION: The NAT table structure includes a common part table including a client common part table(320) storing/managing the common information of the client PC and a server common part table(330) storing/managing the common information of a local server PC, a TCP(Transmission Control Protocol) part table including a client TCP part table(340) storing the TCP information of the client PC and a server TCP part table(350) storing the TCP Information of the local server PC, a UDP(User Datagram Protocol) part table including a client UDP part table(360) storing the UDP information of the client PC and a server UDP part table(370) storing the UDP Information of the local server PC, and a client ICMP(Internet Control Message Protocol) part table storing the ICMP information of the client PC.

Description

PC환경에서 효율적인 NAT 테이블 관리 및 검색을 위한 NAT 테이블 구조 및 방법{A NAT Table Structure for effective searching and management of NAT Table in PC}NAT table structure for effective searching and management of NAT table in PC

본 발명은 PC환경에서 효율적인 NAT(Network Address Translation) 테이블 관리 및 검색을 위한 NAT 테이블 구조 및 방법에 관한 것으로서, 특히 일반 PC에서 여러 사용자가 하나의 IP(Internet Protocol) 어드레스를 공유하여 인터넷에 접속 가능케 하는 주소 공유 메카니즘의 일종인 NAT의 효율적인 관리로 NAT 서버 PC와 클라이언트 PC의 성능을 최대로 활용하면서 클라이언트 PC를 사용하는 사용자에게 효율적인 데이터 속도 제공과 NAT에 저장된 클라이언트 PC의 정보를 신속하게 검색할 수 있는 PC환경에서 효율적인 NAT 테이블 관리 및 검색을 위한 NAT 테이블 구조 및 방법에 관한 것이다.The present invention relates to a NAT table structure and method for efficient network address translation (NAT) table management and retrieval in a PC environment. In particular, multiple users can access an Internet by sharing one IP (Internet Protocol) address in a general PC. Efficient management of NAT, which is a type of address sharing mechanism that makes the most of the performance of NAT server PCs and client PCs, provides efficient data rates for users who use client PCs, and allows you to quickly retrieve information from client PCs stored in NAT. NAT table structure and method for efficient NAT table management and retrieval in PC environment.

일반적으로 종래의 NAT 테이블은 한 개의 클라이언트 PC에 대해 저장하여야 할 정보가 너무나 많아서 복잡하고 관리가 어려울 뿐만 아니라, PC의 자원을 낭비하는 현상이 발생하고 또한 NAT 테이블에 저장된 클라이언트 PC의 정보요소가 많아 인터넷 연결 후 인터넷 데이터를 정확하게 클라이언트 PC에 전달하기 위해 NAT 테이블 검색시에 검색 지연으로 인해 데이터 속도가 늦어지는 단점이 있었다.In general, a conventional NAT table is not only complicated and difficult to manage because there is too much information to store for one client PC, but also a waste of PC resources and a lot of information elements of a client PC stored in a NAT table. In order to deliver the Internet data to the client PC correctly after the internet connection, there was a disadvantage that the data rate becomes slow due to the search delay when searching the NAT table.

이에 본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 일반 PC에서 여러 사용자가 하나의 IP 어드레스를 공유하여 인터넷에 접속 가능케 하는 주소 공유 메카니즘의 일종인 NAT의 효율적인 관리로 NAT 서버 PC와 클라이언트 PC의 성능을 최대로 활용하면서 클라이언트 PC를 사용하는 사용자에게 효율적인 데이터 속도 제공과 NAT에 저장된 클라이언트 PC의 정보를 신속하게 검색할 수 있는 PC환경에서 효율적인 NAT 테이블 관리 및 검색을 위한 NAT 테이블 구조 및 방법을 제공하는데 그 목적이 있다.Accordingly, the present invention has been made to solve the above problems, NAT server PC and client by efficient management of NAT which is a kind of address sharing mechanism that allows multiple users to access the Internet by sharing a single IP address in a general PC NAT table structure and method for efficient NAT table management and retrieval in PC environment that can maximize the performance of PC and provide efficient data rate to users who use client PC and can quickly retrieve information of client PC stored in NAT. The purpose is to provide.

도 1은 본 발명에 따른 전형적인 NAT 망 구성도,1 is a typical NAT network configuration according to the present invention,

도 2a는 본 발명에 따른 NAT 공통 파트 테이블 구조도,2A is a structural diagram of a NAT common part table according to the present invention;

도 2b는 본 발명에 따른 NAT TCP 파트 테이블 구조도,2b is a NAT TCP parts table structure diagram according to the present invention;

도 2c는 본 발명에 따른 NAT UDP 파트 테이블 구조도,2c is a NAT UDP part table structure diagram according to the present invention;

도 2d는 본 발명에 따른 NAT ICMP 파트 테이블 구조도,2d is a NAT ICMP parts table structure diagram according to the present invention;

도 3은 본 발명에 따른 NAT 테이블 검색 및 관리 체계도,3 is a NAT table search and management scheme according to the present invention;

도 4는 본 발명에 따른 NAT 테이블 관리 순서도,4 is a NAT table management flowchart according to the present invention;

도 5는 본 발명에 따른 NAT 테이블 엔트리 검색을 도시한 순서도.5 is a flow chart illustrating a NAT table entry search in accordance with the present invention.

*도면의 주요부호 설명* Description of the main symbols in the drawings

210 : NAT Common Part Table 220 : NAT TCP Part Table210: NAT Common Part Table 220: NAT TCP Part Table

230 : NAT UDP Part Table 240 : NAT ICMP Part Table230: NAT UDP Part Table 240: NAT ICMP Part Table

320 : NAT Client Common Part Table 330 : NAT Server Common Part Table320: NAT Client Common Part Table 330: NAT Server Common Part Table

340 : NAT Client TCP Part Table 350 : NAT Server TCP Part Table340: NAT Client TCP Part Table 350: NAT Server TCP Part Table

360 : NAT Client UDP Part Table 370 : NAT Server UDP Part Table360: NAT Client UDP Part Table 370: NAT Server UDP Part Table

380 : NAT Client ICMP Part Table380: NAT Client ICMP Part Table

상기와 같은 목적을 달성하기 위하여, 본 발명에 따른 PC환경에서 효율적인 NAT 테이블 관리 및 검색을 위한 NAT 테이블 구조 및 방법은 퍼스널 컴퓨터(PC) 사용자들이 다수의 사설망 IP(Internet Protocol)를 한 개의 글로벌망 IP로 변환하는 주소변환기술(NAT)을 이용하여 데이터 서비스를 제공받을 때, 클라이언트 PC 사용자들의 정보를 관리하는 방법에 있어서, 상기 NAT 테이블 관리부에서 클라이언트 PC 로부터 수신된 데이터를 분석하는 제 1단계; 상기 분석된 데이터가 클라이언트 PC 로부터 처음 입력된 것이면 NAT 테이블 구성요소에 적합하도록 엔트리(Entry)를 신규 생성하는 제 2단계; 상기 신규 생성된 엔트리를, 주소 변환부에서 검색하여 정확히 해당 목적지에 전송하기 위해 NAT 테이블에 저장하는 제 3단계; 및 상기 저장된 엔트리중에서 클라이언트 PC 로부터 제공되고 있는 서비스 종료에 따라 불필요한 엔트리를 NAT 테이블에서 삭제하는 제 4단계를 포함하여 구성되는 것을 특징으로 한다.In order to achieve the above object, NAT table structure and method for efficient NAT table management and retrieval in the PC environment according to the present invention is a personal network (PC) users a number of private network IP (Internet Protocol) to a global network A method of managing information of client PC users when receiving a data service using an IP address conversion technology (NAT), comprising: a first step of analyzing data received from a client PC by the NAT table manager; A second step of newly creating an entry suitable for a NAT table component when the analyzed data is first input from a client PC; A third step of retrieving the newly created entry from an address translator and storing the newly created entry in a NAT table for transmission to the corresponding destination exactly; And a fourth step of deleting unnecessary entries from the NAT table according to the termination of the service provided from the client PC among the stored entries.

다수의 사설망 IP를 한 개의 글로벌망 IP로 변환하는 주소변환기술에 있어서, 시스템 구분자, 클라이언트 PC의 공통 정보를 저장/관리하는 클라이언트 공통파트 테이블, 및 로컬 서버 PC의 공통 정보를 저장/관리하는 서버 공통 파트 테이블을 포함한 공통 파트 테이블; 클라이언트 PC의 TCP(Transmission Control Protocol)정보를 저장하는 클라이언트 TCP 파트 테이블, 및 로컬 서버 PC의 TCP 정보를 저장하는 서버 TCP 파트 테이블을 포함한 TCP 파트 테이블; 클라이언트 PC의 UDP(User Datagram Protocol) 정보를 저장하는 클라이언트 UDP 파트 테이블, 및 로컬 서버 PC의 UDP 정보를 저장하는 서버 UDP 파트 테이블을 포함한 UDP 파트 테이블; 및 클라이언트 PC의 ICMP(Internet Control Message Protocol) 정보를 저장하는 클라이언트 ICMP 파트 테이블을 포함한 ICMP 파트 테이블을 포함하여 구성되는 것을 특징으로 한다.In the address translation technology for converting multiple private network IPs into one global network IP, a system identifier, a client common part table for storing and managing common information of a client PC, and a server for storing and managing common information of a local server PC A common part table, including a common part table; A TCP part table including a client TCP part table for storing Transmission Control Protocol (TCP) information of a client PC, and a server TCP part table for storing TCP information of a local server PC; A UDP part table including a client UDP part table for storing UDP (User Datagram Protocol) information of a client PC, and a server UDP part table for storing UDP information of a local server PC; And an ICMP parts table including a client ICMP parts table for storing ICMP (Internet Control Message Protocol) information of the client PC.

클라이언트 PC에서 NAT 서버 PC로 접속을 요청했을 때, NAT 테이블에서 엔트리를 검색하는 방법에 있어서, 도착된 패킷 헤더를 분석하여 NAT 테이블 검색을 위한 정보를 추출하는 제 1단계; 상기 추출된 정보로 패킷이 클라이언트 PC 또는 로컬 서버 PC를 위한 서비스 요청인지 판단하는 제 2단계; 상기 판단에서 클라이언트 PC 를 위한 서비스 요청이면 클라이언트 PC를 위한 NAT 테이블을 요청하는 제 3단계; 상기 요청된 NAT 테이블에 저장된 엔트리와 상기 제 1단계에서 분석된 패킷 헤더 정보를 상호 비교하는 제 4단계; 및 상기 비교하여 분석 패킷 헤더 정보와 일치하는 엔트리가 있으면 NAT 테이블에 있는 엔트리 정보를 갱신하고 패킷 송수신을 위해 주소변환을 수행하며, 일치하는 엔트리가 없으면 NAT 엔트리 할당 알고리즘을 수행하여 신규 엔트리를 할당하고 분석 패킷 헤더 정보를 NAT 테이블에 저장한 후 주소변환을 수행하는 제 5단계를 포함하여 구성되는 것을 특징으로 한다.A method of retrieving an entry from a NAT table when a client PC requests a connection to a NAT server PC, the method comprising: a first step of extracting information for retrieving a NAT table by analyzing a arrived packet header; Determining whether the packet is a service request for a client PC or a local server PC using the extracted information; A third step of requesting a NAT table for the client PC if the determination is a service request for the client PC; A fourth step of comparing the entry stored in the requested NAT table with the packet header information analyzed in the first step; And compares the entry, and if there is an entry matching the analysis packet header information, updates the entry information in the NAT table and performs address translation for transmitting and receiving packets; if there is no match, performing a NAT entry allocation algorithm to allocate a new entry. And a fifth step of performing address translation after storing the analysis packet header information in a NAT table.

이하 첨부된 도면을 참조하여 본 발명을 상세히 설명하기로 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 전형적인 NAT 망 구성도로서, 사업자망에 설치되는 서비스 중계 시스템(110)과 가입자 댁내에 설치되는 댁내 시스템(120)으로 구성된다. 그리고 서비스 중계 시스템(110)은 데이터와 음성을 분리하여 각각 데이터 통신망(104)과 공중전화망(PSTN:106)으로 전달한다. 댁내 시스템(120)은 NAT가 장착된 NAT 서버 PC(121)와 허브(Hub:123), 클라이언트 PC(125a~125n)로 이루어져 하나의 전화선 또는 동축 케이블 등을 통해 통상의 전화기를 공중전화망(106)으로, 컴퓨터를 데이터망으로 동시에 접속할 수 있게 한다. NAT 서버 PC는 클라이언트 PC측과 연결하기 위한 LAN(Local Area Network) 카드와 데이터 통신망측과 연결하기 위한 WAN(Wide Area Network) 또는 LAN 카드를 장착하고 있으며, 데이터 통신망측의 WAN/LAN 카드를 위한 글로벌(Global) IP, 클라이언트 PC측의 LAN 카드를 위한 사설(Private) IP가 사용되고, 클라이언트 또는 로컬 서버 PC의 정보를 저장, 관리하는 NAT의 기본기능을 수행하는 장치이다. 또한 허브는 n개의 클라이언트 PC들을 하나의 NAT 서버 PC에 연결해주는 인터넷 멀티포트 제공 장치이며, 클라이언트 PC는 NAT 서버 PC에 연결하기 위해 LAN 카드를 기본으로 장착하여 사설 IP를 사용하며, NAT 서버 PC의 능력에 따라서 n개까지 존재한다. 일반적으로 주소변환기술(NAT)은 주소할당 메카니즘을 이용하여 사설망(Private Network)의 IP 주소를 글로벌망(Global Network) IP 주소로 변환시켜 주는 기능으로서, 라우터나 방화벽(Firewall) 등에 내장되어 IP 주소의 절약을 목적으로 사용되고 있다. 즉NAT는 내부망에 연결된 각각의 사설 IP를 가진 여러 대의 PC를 하나의 공인된 IP 주소로 변경하여 인터넷 서비스를 받을 수 있도록 하는 IP 주소변환을 수행하는 기술이다.FIG. 1 is a typical NAT network configuration according to the present invention, and includes a service relay system 110 installed in an operator network and an indoor system 120 installed in a subscriber's home. The service relay system 110 separates data and voice and transmits the data and voice to the data communication network 104 and the public telephone network (PSTN) 106, respectively. The indoor system 120 includes a NAT server PC 121 equipped with a NAT, a hub (123), and a client PC (125a to 125n) equipped with a public telephone network through a single telephone line or coaxial cable. In this way, the computer can be connected to the data network at the same time. NAT server PC is equipped with LAN (Local Area Network) card to connect with client PC and WAN (Wide Area Network) or LAN card to connect with data network. Global IP, Private IP for LAN card of client PC is used, and it is a device that performs the basic function of NAT to store and manage information of client or local server PC. In addition, the hub is an Internet multiport providing device that connects n client PCs to one NAT server PC, and the client PC uses a private IP with a LAN card as standard to connect to the NAT server PC. There are up to n depending on the ability. In general, address translation technology (NAT) is a function that converts an IP address of a private network into a global network IP address by using an address assignment mechanism. The IP address is embedded in a router or a firewall. It is used for the purpose of saving. In other words, NAT is a technology that performs IP address translation to change the number of PCs with each private IP connected to the internal network to one authorized IP address to receive Internet service.

도 2a~2d는 본 발명에 따른 NAT 테이블 구조도로서, 모든 서비스에 공통인 공통 파트 테이블(Common Part Table:210)과 프로토콜 종류에 따라 구분되는 TCP 파트 테이블(220), UDP(User Datagram Protocol) 프로토콜을 위한 UDP 파트 테이블(230), 및 CM(Control Message)을 처리하는 ICMP(Internet Control Message Protocol) 파트 테이블(240)을 포함하여 클라이언트 PC로부터 서비스 요청에 따라 먼저 클라이언트 PC의 정보를 Common Part Table(210)에 저장하고, 프로토콜 종류를 구분하여 상기 프로토콜 테이블에 해당 정보를 저장하는 순서로 클라이언트 PC의 정보가 저장되고 관리된다.2A to 2D are diagrams illustrating NAT table structures according to the present invention, in which a common part table (210) common to all services and a TCP part table 220 classified according to protocol types and a user datagram protocol (UDP) protocol are illustrated. Including the UDP part table 230 for processing, and the Internet Control Message Protocol (ICMP) part table 240 for processing a control message (CM), the information of the client PC is first obtained according to a service request from the client PC. Information stored on the client PC is stored and managed in an order of storing the corresponding information in the protocol table by dividing the protocol type.

도 2a는 본 발명에 따른 NAT Common Part Table 구조도로서, 시스템 (System)은 사설망의 클라이언트 PC에 대한 정보를 요구하는지 또는 로컬 서버에 대한 정보를 요구하는지 구분하기 위한 요소이며, 인덱스(Index)는 NAT 엔트리를 가르키는 지시자이며, 클라이언트 PC 또는 로컬 서버를 위해 NAT 엔트리가 사용될 때마다 최대 사용 가능한 엔트리까지 하나씩 증가한다. 그리고 엠프티(Empty)는 엔트리 할당을 위해 현재 NAT Table에 있는 엔트리들이 사용되고 있는지 그렇지 않은지를 나타내는 요소이며, OrgSrcAddr(Original Source Address)는 클라이언트 PC가 데이터망에 접속된 후 데이터를 정확히 클라이언트 PC로 전달하는데 사용되는 요소이고, OrgDstAddr(Original Destination Address)는 클라이언트 PC의 요청에 대한 데이터망에 있는 ISP(Internet Service Provider)로부터의 응답인지를 확인하기 위해 사용되는 요소이다. Time Stamp는 클라이언트 PC가 NAT를 이용하여 서비스를 요청할 때마다 NAT가 장착되어 있는 시스템의 시간을 획득하여 매번 새로운 시간을 할당하는 서비스의 존속시간을 계산하기 위해 필요한 시간 관리 요소이며, TTL(Time To Live)은 현재 제공받고 있는 서비스의 존속시간을 의미하고 만약 현재 제공받고 있는 서비스가 TTL의 기준값을 벗어나면 서비스를 정지시키는 요소이다. 마지막으로 Protocol은 현재 서비스가 어떤 프로토콜을 사용하는지 표시하는 요소이며, 프로토콜에 따라서 TCP Part Table, UDP Part Table, 및 ICMP Part Table을 사용하며 이는 NAT Table 관리를 복잡하지 않고 단순하면서도 효율적으로 관리할 수 있도록 한다.FIG. 2A is a structure diagram of a NAT Common Part Table according to the present invention, in which a system is an element for identifying whether information on a client PC of a private network or information on a local server is required, and an index is a NAT. Pointer to an entry, incremented by one up to the maximum available entry whenever a NAT entry is used for the client PC or local server. Empty is an element that indicates whether entries in the NAT table are currently being used for entry allocation or not, and OrgSrcAddr (Original Source Address) delivers the data exactly to the client PC after the client PC is connected to the data network. OrgDstAddr (Original Destination Address) is an element used to check whether it is a response from an ISP (Internet Service Provider) in a data network for a request of a client PC. The Time Stamp is a time management element necessary to calculate the time duration of a service that obtains the time of a system equipped with NAT and allocates a new time every time a client PC requests a service using NAT. Live) means the duration of the service currently being provided. If the currently provided service is out of the TTL standard value, the service is stopped. Finally, Protocol is an element that indicates which protocol the current service uses. Depending on the protocol, it uses TCP Part Table, UDP Part Table, and ICMP Part Table, which can manage NAT table management without any complexity. Make sure

도 2b는 본 발명에 따른 NAT TCP Part Table구조도로서, SeqAck(Sequence and Acknowledgement)은 TCP 연결을 통한 데이터 송수신시에 데이터 순서를 보장하기 위한 요소이며, 이는 송신기가 송신되는 데이터의 크기와 순번을 수신기에 전송하면, 수신기가 정확히 데이터를 수신하여 잘 수신하였다는 메시지와 다음에 수신해야 할 메시지의 순번을 송신기에 전송함으로서, 데이터의 정확한 송수신이 가능하도록 한다. 그리고 OrgSrcPort(Original Source Port)는 클라이언트 PC가 요구한 서비스가 데이터망에 접속된 후 데이터를 클라이언트 PC의 해당 포트(Port)의 서비스로 정확히 전달하는데 사용되는 요소이고, OrgDstPort(Original Destination Port)는 클라이언트 PC가 요구한 서비스의 요청에 대한 데이터망에 있는 목적지 포트의 ISP로부터 응답인지를 확인하기 위해 사용되는 요소이다. NewSrcPort(New Source Port)는 클라이언트 PC가 NAT 서버 PC를 통해 데이터망에 접속한 후 데이터망의 ISP로부터 NAT 서버 PC를 확인하기 위해 사용되는 NAT 서버 PC내에서 주소변환을 위한 클라이언트 PC의 새로운 포트이다. 마지막으로 Flag는 TCP를 연결하거나 유지, 해지하기 위해 사용되는 제어 메시지를 위한 요소이며, 이는 TCP의 사용이 초기 단계 설정을 위한 메시지인지, 메시지를 송수신 하는 단계인지, 혹은 TCP 연결을 종료하는 단계인지를 표시한다.Figure 2b is a NAT TCP Part Table structure diagram according to the present invention, SeqAck (Sequence and Acknowledgement) is a factor for ensuring the data order when transmitting and receiving data over a TCP connection, which is a receiver that the size and order of the data transmitted by the transmitter In this case, the receiver correctly transmits the data to the transmitter by transmitting a message indicating that the data has been well received and the next message to be received, thereby enabling accurate transmission and reception of data. In addition, OrgSrcPort (Original Source Port) is an element used to accurately transfer data to the service of the corresponding port of the client PC after the service requested by the client PC is connected to the data network, and OrgDstPort (Original Destination Port) is the client. This element is used to check whether the PC responds to a request for service from the ISP of the destination port in the data network. NewSrcPort (New Source Port) is a new port of a client PC for address translation within a NAT server PC that is used by a client PC to connect to the data network through a NAT server PC and then to identify the NAT server PC from the ISP of the data network. . Finally, Flag is an element for the control message used to connect, maintain, or terminate TCP. This indicates whether the use of TCP is for initial phase setting, sending and receiving messages, or terminating TCP connection. Is displayed.

도 2c는 본 발명에 따른 NAT UDP Part Table 구조도로서, 도 2b의 NAT TCP 파트 테이블과 유사하지만, UDP는 네트웍 연결 방식이 커넥션리스(Connectionless)이고 데이터 전송 방식이 데이터그램 방식이므로 NAT TCP 파트 테이블에서 사용하는 SeqAck 요소와 Flag 요소는 사용하지 않고, 나머지 요소는 동일하다.FIG. 2C is a structure diagram of a NAT UDP Part Table according to the present invention, which is similar to the NAT TCP Part Table of FIG. 2B. However, in the UDP TCP Part Table, since the network connection method is connectionless and the data transmission method is a datagram method. The SeqAck element and the Flag element are not used. The remaining elements are identical.

도 2d는 본 발명에 따른 NAT ICMP Part Table 구조도로서, OldID(Old Identification)는 ICMP를 이용하여 제어 메시지를 최초로 보낸 클라이언트 PC를 확인하기 위한 요소이며, NewID(New Identification)는 ICMP를 이용하여 클라이언트 PC가 NAT 서버 PC를 통해 해당 시스템에 제어 메시지를 보낸 후, 해당 시스템으로부터의 응답에 대해 NAT 서버 PC를 확인하기 위해 사용되는 NAT 서버 PC내에서 주소변환을 위한 클라이언트 PC의 새로운 ICMP ID이다.2d is a NAT ICMP Part Table structure diagram according to the present invention, where OldID (Old Identification) is an element for identifying a client PC that initially sent a control message using ICMP, and NewID (New Identification) is a client PC using ICMP. A new ICMP ID of the client PC for address translation within the NAT server PC that is used to send a control message to the system through the NAT server PC and then to verify the NAT server PC for a response from the system.

도 3은 본 발명에 따른 NAT 테이블 검색 및 관리 체계도로서, 클라이언트 PC가 NAT를 이용할 때 클라이언트 PC의 정보를 저장하거나 또는 실제 테이블 관리 체계도인데, 도 2a의 Common Part Table(210)은 시스템 구분자(310)와 클라이언트 PC의 공통 정보를 저장/관리하는 C-Common(Client Common) Part Table(320)과 로컬 서버 PC의 공통 정보를 저장/관리하는 S-Common(Server-Common) Part Table(330)을 포함한다. 도 2b의 TCP Part Table(220)은 클라이언트 PC의 TCP 정보를 저장하는 C-TCP(Client-TCP) Part Table(340)과 로컬 서버 PC의 TCP 정보를 저장하는 S-TCP(Server-TCP) Part Table(350)을 포함한다. 그리고 도 2c의 UDP Part Table(230)은 클라이언트 PC의 UDP 정보를 저장하는 C-UDP(Client-UDP) Part Table(360)과 로컬 서버 PC의 UDP 정보를 저장하는 S-UDP(Server-UDP) Part Table(370)을 포함하며, 도 2d의 ICMP Part Table(240)은 클라이언트 PC의 ICMP 정보를 저장하는 C-ICMP(Client-ICMP) Part Table(380)을 포함한다. 시스템 구분자(310)는 내부 또는 외부에서 패킷이 들어오면 패킷이 사설망의 클라이언트 PC를 위한 정보인지 또는 사설망에 있는 로컬 서버 PC의 정보인지를 구분하여 클라이언트 PC의 정보이면 C-Common Part Table(320), 아니면 S-Common Part Table(330)로 포인터를 넘겨준다. 포인터를 받은 각 Table은 수신된 패킷의 내용에 따라 Table Entry에 해당되는 정보를 설정하거나 검색, 삭제를 수행함과 동시에 해당 프로토콜 Table 즉, C(S)-TCP, C(S)-UDP, C-ICMP Part Table 중에서 하나를 찾아서 Table Entry에 정보를 설정하거나 검색, 삭제를 수행함으로서 NAT Table의 전체 관리가 도 2a~2d를 기준으로 도 3의 Table 체계와 같이 이루어진다.3 is a schematic diagram of a NAT table search and management according to the present invention, in which information of a client PC is stored when the client PC uses NAT, or an actual table management scheme. The common part table 210 of FIG. 2A is a system identifier. (310) C-Common (Client Common) Part Table (320) for storing and managing common information of the client PC and S-Common (Server-Common) Part Table (330) for storing and managing common information of the local server PC. ). The TCP Part Table 220 of FIG. 2B includes a Client-TCP Part Table 340 for storing TCP information of a client PC and a Server-TCP Part for storing TCP information of a local server PC. Table 350 is included. In addition, the UDP Part Table 230 of FIG. 2C includes a Client-UDP (C-UDP) Part Table 360 storing UDP information of a client PC and an S-UDP (Server-UDP) storing UDP information of a local server PC. A Part Table 370 is included, and the ICMP Part Table 240 of FIG. 2D includes a Client-ICMP (C-ICMP) Part Table 380 that stores ICMP information of a client PC. The system identifier 310 distinguishes whether a packet is information for a client PC of a private network or a information of a local server PC in a private network when a packet comes in from the inside or the outside, and if it is information of a client PC, the C-Common Part Table 320 Otherwise, the pointer is passed to the S-Common Part Table (330). Each table that receives the pointer sets, retrieves, or deletes the information corresponding to the table entry according to the contents of the received packet, and at the same time, the corresponding protocol table, that is, C (S) -TCP, C (S) -UDP, C- By searching for one of the ICMP Part Tables and setting information in the Table Entry, or performing search and deletion, overall management of the NAT Table is performed as shown in the Table system of FIG. 3 based on FIGS. 2A to 2D.

도 4는 본 발명에 따른 NAT 테이블 관리 순서도이다. NAT의 효율적인 사용과관리를 위해서 크게 NAT Table 초기화부와 NAT Table 관리부, 그리고 주소 변환부로 구분되어 있으며, 구체적으로는 NAT Table 관리부가 Entry 생성, 저장, 및 삭제로 구성되어 있으며, 주소 변환부는 저장된 Entry를 검색하는 검색부와 초기 NAT 사용자를 위한 NAT Entry 할당부, 사설망의 IP와 글로벌망의 IP를 서로 대체하는 변환부, 그리고 NAT 사용 종료에 따른 NAT Entry 해지부로 구성되어 있다. Table 초기화와 관리, 변환으로 구성된 NAT는 초기화가 NAT를 장착하고 있는 서버 PC가 초기 부팅시 Network Adapter를 초기화하면서 또는 NAT Manager에 의해서 Table을 초기화하면서 이루어지고, 나머지 구성 부분은 실제로 클라이언트 PC 사용자가 NAT 서버 PC를 통해 인터넷에 접속하고자 할 때 이루어진다. NAT Table 관리 방법에 있어서, NAT Table 관리부는 클라이언트 PC 또는 인터넷으로부터 수신된 데이트를 분석하여(s1), 분석된 데이터가 클라이언트 PC로부터 처음으로 수신된 데이터이면 NAT 테이블 구성요소에 적합하도록 새로운 NAT Entry를 신규 생성한다(s2). 그런 다음 신규 생성된 Entry를 주소 변환부에서 검색을 하여 정확히 해당 목적지에 전송하기 위해 NAT Table에 저장하고(s3), 저장된 NAT Entry중에서 불필요한 Entry는 삭제한다(s4).4 is a NAT table management flowchart according to the present invention. For efficient use and management of NAT, it is divided into NAT Table Initiator, NAT Table Manager, and Address Translator. Specifically, NAT Table Manager consists of Entry Creation, Storage, and Deletion. It consists of a retrieval unit for retrieving and a NAT entry allocator for initial NAT users, a translator that replaces the IP of the private network and the global network, and a NAT entry revocation unit upon termination of NAT. NAT, which consists of table initialization, management, and transformation, is initiated when the server PC equipped with NAT initializes the Network Adapter at initial boot-up or by initializing the table by NAT Manager, and the rest of the configuration is actually performed by the client PC user. This is done when you want to access the Internet via a server PC. In the NAT table management method, the NAT table management unit analyzes data received from the client PC or the Internet (s1), and if the analyzed data is data received for the first time from the client PC, the NAT table management unit applies a new NAT entry to fit the NAT table component. Create new (s2). Then, the newly created entry is searched by the address translator and stored in the NAT table for transmission to the corresponding destination (s3), and unnecessary entries are deleted from the stored NAT entries (s4).

도 5는 본 발명에 따른 NAT 테이블 엔트리 검색을 도시한 순서도로서, 즉 클라이언트 PC에서 NAT 서버 PC로 접속을 요청했을 때 NAT Table 검색에 대한 흐름도이다. 먼저 클라이언트 PC로부터 NAT 서버 PC에 패킷이 도착하면 패킷의 IP Header와 TCP 또는 UDP Header를 분석하여 NAT Table 검색을 위한 정보를 추출한다(s11).그리고 추출된 정보를 기준으로 패킷이 클라이언트 PC를 위한 서비스 요청인지, 아니면 로컬 서버 PC를 위한 서비스 요청인지를 확인한다(s12). 만약에 클라이언트 PC의 TCP를 이용한 서비스 요청의 패킷이면 클라이언트 PC를 위한 NAT Table을 검색하고(s13), 그렇지 않으면 로컬 서버 PC의 NAT Table을 검색한다. NAT Table 검색시에 앞에서 추출한 TCP/IP Header 정보 즉, Original Source Address와 Original Destination Address, Original Source Port, Original Destination Port 등을 사용하여 NAT Table에 저장되어 있는 엔트리와 추출된 상기 정보를 하나씩 비교하여 해당 패킷의 엔트리가 NAT Table에 존재하는지 NAT Table을 순차적으로 검색한다(s14). NAT Table에 상기 정보와 일치하는 해당 엔트리가 있다면 NAT Table에 있는 엔트리의 정보를 갱신하고(s15), 정확한 패킷 송수신을 위해 주소변환을 수행한다(s16). 만약 일치하는 엔트리가 NAT Table에 없다면, 주소변환 알고리즘의 일부인 NAT Entry 할당 알고리즘을 수행하여(s17) 새로이 Entry를 할당하고(s18), 상기 패킷에 대한 정보를 NAT Table에 저장한 후(s19) 주소변환을 수행한다(s20).FIG. 5 is a flowchart illustrating a NAT table entry search according to the present invention, that is, a flowchart of NAT table search when a client PC requests a connection to a NAT server PC. First, when a packet arrives from the client PC to the NAT server PC, it analyzes the packet IP header and the TCP or UDP header and extracts the information for NAT table search (s11). Check whether the service request or the service request for the local server PC (s12). If it is a packet of a service request using TCP of the client PC, the NAT table for the client PC is searched (s13); otherwise, the NAT table of the local server PC is searched. When searching the NAT Table, the entries stored in the NAT Table are compared with the extracted information by using the extracted TCP / IP Header information, that is, the Original Source Address, Original Destination Address, Original Source Port, and Original Destination Port. The NAT table is sequentially searched to see if an entry of the packet exists in the NAT table (S14). If there is a corresponding entry in the NAT table that matches the above information, the information of the entry in the NAT table is updated (s15), and address translation is performed for accurate packet transmission and reception (s16). If no matching entry is found in the NAT table, the NAT Entry Allocation Algorithm, which is part of the address translation algorithm, is performed (s17), a new entry is allocated (s18), and the information about the packet is stored in the NAT Table (s19). Perform the conversion (s20).

이상 설명한 바와 같이 PC환경에서 효율적인 NAT 테이블 관리 및 검색을 위한 NAT 테이블 구조 및 방법은 LAN, ADSL, UADSL, Dial-up 모뎀, ISDN, Cable 모뎀, 혹은 전용선 등의 서비스에 관계없이 PC환경뿐 아니라 UNIX 환경에서도 단순하면서도 정확한 테이블 구성으로 NAT가 장착되어 있는 서버 PC의 자원 사용을 최소화할 수 있고, 또한 NAT를 사용하는 클라이언트 PC 사용자들의 정보를 효율적으로 저장 관리하며 클라이언트 PC 사용자들에게 경제적이면서 최적의 서비스를 제공할 수 있다. 즉 NAT 테이블 구조의 최적화로 NAT 서버 PC의 부하를 줄이고, 사용자 정보 검색 지연을 방지하여 사설 IP를 사용하는 클라이언트들에게 글로벌 IP를 사용하는 것과 같은 빠른 서비스를 제공함으로서 효율적인 사용자 정보 관리 효과 뿐 아니라, 데이터 서비스 품질을 향상시킬 수 있는 효과가 있다.As described above, NAT table structure and method for efficient NAT table management and retrieval in PC environment are not only PC environment but also UNIX, regardless of LAN, ADSL, UADSL, Dial-up modem, ISDN, Cable modem, or leased line. Simple and accurate table configuration in the environment can minimize the resource usage of the server PC equipped with NAT, and efficiently store and manage the information of the client PC users using NAT, and is an economical and optimal service for the client PC users. Can be provided. In other words, by optimizing the NAT table structure, it reduces the load on the NAT server PC and prevents delays in retrieving user information, thereby providing fast services such as using global IP to clients using private IP, as well as efficient user information management. There is an effect that can improve the quality of data service.

Claims (3)

퍼스널 컴퓨터(PC) 사용자들이 다수의 사설망 IP(Internet Protocol)를 한 개의 글로벌망 IP로 변환하는 주소변환기술(NAT)을 이용하여 데이터 서비스를 제공받을 때, 클라이언트 PC 사용자들의 정보를 관리하는 방법에 있어서,When personal computer (PC) users are provided with data services using address translation technology (NAT), which converts multiple private network IPs (Internet Protocol) into one global network IP, In 상기 NAT 테이블 관리부에서 클라이언트 PC 로부터 수신된 데이터를 분석하는 제 1단계;A first step of analyzing data received from a client PC in the NAT table management unit; 상기 분석된 데이터가 클라이언트 PC 로부터 처음 입력된 것이면 NAT 테이블 구성요소에 적합하도록 엔트리(Entry)를 신규 생성하는 제 2단계;A second step of newly creating an entry suitable for a NAT table component when the analyzed data is first input from a client PC; 상기 신규 생성된 엔트리를, 주소 변환부에서 검색하여 정확히 해당 목적지에 전송하기 위해 NAT 테이블에 저장하는 제 3단계; 및A third step of retrieving the newly created entry from an address translator and storing the newly created entry in a NAT table for transmission to the corresponding destination exactly; And 상기 저장된 엔트리중에서 클라이언트 PC 로부터 제공되고 있는 서비스 종료에 따라 불필요한 엔트리를 NAT 테이블에서 삭제하는 제 4단계를 포함하여 구성되는 것을 특징으로 하는 NAT 테이블 관리 방법.And a fourth step of deleting unnecessary entries from the NAT table according to service termination provided from a client PC among the stored entries. 다수의 사설망 IP를 한 개의 글로벌망 IP로 변환하는 주소변환기술(NAT)에 있어서,In Address Translation Technology (NAT), which converts multiple private network IPs into one global network IP, 시스템 구분자, 클라이언트 PC의 공통 정보를 저장/관리하는 클라이언트 공통 파트 테이블, 및 로컬 서버 PC의 공통 정보를 저장/관리하는 서버 공통 파트 테이블을 포함한 공통 파트 테이블;A common part table including a system identifier, a client common part table for storing / managing common information of a client PC, and a server common part table for storing / managing common information of a local server PC; 클라이언트 PC의 TCP(Transmission Control Protocol)정보를 저장하는 클라이언트 TCP 파트 테이블, 및 로컬 서버 PC의 TCP 정보를 저장하는 서버 TCP 파트 테이블을 포함한 TCP 파트 테이블;A TCP part table including a client TCP part table for storing Transmission Control Protocol (TCP) information of a client PC, and a server TCP part table for storing TCP information of a local server PC; 클라이언트 PC의 UDP(User Datagram Protocol) 정보를 저장하는 클라이언트 UDP 파트 테이블, 및 로컬 서버 PC의 UDP 정보를 저장하는 서버 UDP 파트 테이블을 포함한 UDP 파트 테이블; 및 클라이언트 PC의 ICMP(Internet Control Message Protocol) 정보를 저장하는 클라이언트 ICMP 파트 테이블을 포함한 ICMP 파트 테이블을 포함하여 구성되는 것을 특징으로 하는 NAT 테이블.A UDP part table including a client UDP part table for storing UDP (User Datagram Protocol) information of a client PC, and a server UDP part table for storing UDP information of a local server PC; And an ICMP parts table including a client ICMP parts table that stores Internet Control Message Protocol (ICMP) information of the client PC. 클라이언트 PC에서 NAT 서버 PC로 접속을 요청했을 때, NAT 테이블에서 엔트리를 검색하는 방법에 있어서,In a method for retrieving an entry from a NAT table when a client PC requests a connection to a NAT server PC, 도착된 패킷 헤더를 분석하여 NAT 테이블 검색을 위한 정보를 추출하는 제 1단계;A first step of extracting information for NAT table search by analyzing the arrived packet header; 상기 추출된 정보로 패킷이 클라이언트 PC 또는 로컬 서버 PC를 위한 서비스 요청인지 판단하는 제 2단계;Determining whether the packet is a service request for a client PC or a local server PC using the extracted information; 상기 판단에서 클라이언트 PC 를 위한 서비스 요청이면 클라이언트 PC를 위한 NAT 테이블을 요청하는 제 3단계;A third step of requesting a NAT table for the client PC if the determination is a service request for the client PC; 상기 요청된 NAT 테이블에 저장된 엔트리와 상기 제 1단계에서 분석된 패킷헤더 정보를 상호 비교하는 제 4단계; 및A fourth step of comparing the entry stored in the requested NAT table with the packet header information analyzed in the first step; And 상기 비교하여 분석 패킷 헤더 정보와 일치하는 엔트리가 있으면 NAT 테이블에 있는 엔트리 정보를 갱신하고 패킷 송수신을 위해 주소변환을 수행하며, 일치하는 엔트리가 없으면 NAT 엔트리 할당 알고리즘을 수행하여 신규 엔트리를 할당하고 분석 패킷 헤더 정보를 NAT 테이블에 저장한 후 주소변환을 수행하는 제 5단계를 포함하여 구성되는 것을 특징으로 하는 NAT 테이블 엔트리 검색 방법.If there is an entry matching the analyzed packet header information, the entry information in the NAT table is updated and address translation is performed to transmit and receive a packet.If there is no match, the NAT entry allocation algorithm is performed to allocate and analyze a new entry. And storing the packet header information in a NAT table and performing address translation.
KR1020000064391A 2000-10-31 2000-10-31 A NAT Table Structure for effective searching and management of NAT Table in PC KR20020034280A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000064391A KR20020034280A (en) 2000-10-31 2000-10-31 A NAT Table Structure for effective searching and management of NAT Table in PC

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000064391A KR20020034280A (en) 2000-10-31 2000-10-31 A NAT Table Structure for effective searching and management of NAT Table in PC

Publications (1)

Publication Number Publication Date
KR20020034280A true KR20020034280A (en) 2002-05-09

Family

ID=19696464

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000064391A KR20020034280A (en) 2000-10-31 2000-10-31 A NAT Table Structure for effective searching and management of NAT Table in PC

Country Status (1)

Country Link
KR (1) KR20020034280A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101013145B1 (en) * 2009-09-28 2011-02-10 주식회사 잉카인터넷 Tracing method of ip addresses of an inner pass of virtual private network
US8582574B2 (en) 2005-08-24 2013-11-12 Samsung Electronics Co., Ltd. Access device for preventing transmission of copyrighted content to external network and method for the same
CN111245666A (en) * 2018-11-29 2020-06-05 华为技术有限公司 Data transmission method, device and system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8582574B2 (en) 2005-08-24 2013-11-12 Samsung Electronics Co., Ltd. Access device for preventing transmission of copyrighted content to external network and method for the same
KR101013145B1 (en) * 2009-09-28 2011-02-10 주식회사 잉카인터넷 Tracing method of ip addresses of an inner pass of virtual private network
CN111245666A (en) * 2018-11-29 2020-06-05 华为技术有限公司 Data transmission method, device and system
CN111245666B (en) * 2018-11-29 2022-12-06 华为技术有限公司 Data transmission method, device and system

Similar Documents

Publication Publication Date Title
US8370487B2 (en) Method and system for optimizing performance and availability of a dynamic host configuration protocol (DHCP) service
JP4354294B2 (en) Gateway device connected to a plurality of networks having different network segments, and program and method for transferring IP packet
US7856023B2 (en) Secure virtual private network having a gateway for managing global ip address and identification of devices
US7152118B2 (en) System, method and computer program product for caching domain name system information on a network gateway
US8533282B2 (en) System, method and computer program product for selectively caching domain name system information on a network gateway
CN100407625C (en) Method for providing business according to its type
KR100687614B1 (en) Method for dynamic assignment of IP address in IP based keyphone system
WO2007016850A1 (en) A method, system and apparatus for accessing the web server
CN109474687A (en) A kind of methods, devices and systems of different private internetwork communications
US7701934B2 (en) System and method for managing devices within a private network via a public network
CN112073244A (en) TR069 protocol-based message processing method and system
US20030147421A1 (en) Method and apparatus for dynamic host configuration protocol lease time determination
US8874743B1 (en) Systems and methods for implementing dynamic subscriber interfaces
WO2018082452A1 (en) Data transmission method, equipment, device and system
CN104735073A (en) IPv4-IPv6 transitional protocol dispatching method and device
RU2316124C2 (en) Method for dynamic routing based on files in broadband communication system
KR20020034280A (en) A NAT Table Structure for effective searching and management of NAT Table in PC
EP2786551B1 (en) Discovering data network infrastructure services
KR20010091016A (en) Method and system for domain-server management using a personal computer with dynamic IP
KR100941296B1 (en) The method of peer-to-peer IP communication between clients in the private IP networks with Layer 4 port number control
KR100586428B1 (en) Method to redirect of web page for internet service management
KR20050045219A (en) Determinating method for the number of computer used in the inside of network address translator using the succession of id and grouping of session
KR20010040075A (en) Method and apparatus for connecting internet to save IP addresses by using network address translation function
KR100793340B1 (en) Home Network Communication Method using Network Address Translation
KR20020034281A (en) A NAT Entry Allocation and Release Algorithm for effective performance in PC Window

Legal Events

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