KR20060050749A - 임의의 어플리케이션 타입이 있는 ip 네트워크에서네트워크 주소 변환을 사용하기 위한 방법 및 시스템 - Google Patents

임의의 어플리케이션 타입이 있는 ip 네트워크에서네트워크 주소 변환을 사용하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20060050749A
KR20060050749A KR1020050079282A KR20050079282A KR20060050749A KR 20060050749 A KR20060050749 A KR 20060050749A KR 1020050079282 A KR1020050079282 A KR 1020050079282A KR 20050079282 A KR20050079282 A KR 20050079282A KR 20060050749 A KR20060050749 A KR 20060050749A
Authority
KR
South Korea
Prior art keywords
address
source
private
network
public
Prior art date
Application number
KR1020050079282A
Other languages
English (en)
Other versions
KR100650843B1 (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 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20060050749A publication Critical patent/KR20060050749A/ko
Application granted granted Critical
Publication of KR100650843B1 publication Critical patent/KR100650843B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • 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/2557Translation policies or rules
    • 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/5038Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields

Landscapes

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

Abstract

본 발명은 듀얼 다이내믹 네트워크 주소 변환(NAT)에 기초한다:
·하나의 네트워크 주소 변환(NAT)은 고객의 클라이언트 스테이션에 근접하여 실행되며,
·하나의 네트워크 주소 변환(NAT)은 어플리케이션 서버에 근접하여 실행된다.
상기 클라이언트 스테이션과 상기 어플리케이션 서버사이의 네트워크는 오직 등록된 주소(공인 IP 주소)만을 보는 반면에 상기 어플리케이션은 오직 실제 사설 IP 주소만을 본다. 본 발명은 "NATting" 디바이스(상기 디바이스는 네트워크 주소의 변환 동작을 실행)를 미리 구성할 필요없이, IP 주소를 "NATting" 및 "un-NATting"하기위한 방법에 기초한다.
네트워크 주소 변환, 인터넷, TCP/IP

Description

임의의 어플리케이션 타입이 있는 IP 네트워크에서 네트워크 주소 변환을 사용하기 위한 방법 및 시스템 {METHOD AND SYSTEM IN AN IP NETWORK FOR USING A NETWORK ADDRESS TRANSLATION(NAT) WITH ANY TYPE OF APPLICATION}
도 1은 본 발명에 따른 라우터 및 네트워크 수단에 의해 상호접속된 소스 스테이션 및 목적지 서버를 나타낸다.
도 2는 본 발명에 따라 사용되는 IP 헤더와 IP 옵션 필드에 대한 설명이 있는 IP 데이터그램을 나타내고 있다.
도 3은 본 발명에 따라 소스 'A'로부터 IP 데이터그램을 수신했을때 소스 스테이션 'A'에 근접한 라우터'B'에 의해 수행되는 여러 과정을 나타내는 흐름도이다.
도 4는 본 발명에 따라 라우터'B'로부터 IP 데이터그램을 수신했을때 목적지 서버'D'에 근접한 라우터'C'에 의해 수행되는 여러 과정을 나타내는 흐름도이다.
본 발명은 컴퓨터 네트워크에 관한 것이며, 좀더 구체적으로는 다른 사설 IP 네트워크에 위치한 소스 및 목적지에 대하여 명백한 방식으로 인터넷 프로토콜(IP) 데이터그램의 주소를 변환하기 위한 방법과 시스템 그리고 컴퓨터 프로그램에 대한 것이다.
인터넷
인터넷은 컴퓨터 및 컴퓨터 네트워크("Net")의 글로벌 네트워크이다. 인터넷은 유닉스(UNIX), 도스(DOS), 윈도우(Windows), 맥킨토시(Macintosh) 등의 다른 오퍼레이팅 시스템 또는 언어를 사용하는 컴퓨터들을 접속시킨다. 이런 다양한 시스템 및 언어들간의 통신을 용이하고 가능하게 하기위하여, 인터넷은 TCP/IP("Transmission Control Protocol/Internet Protocol")라 불리는 언어를 사용한다. TCP/IP 프로토콜은 인터넷상에서 세가지 기본 어플리케이션을 지원한다:
· 전자 메일의 전송 및 수신("SMTP" 또는 "Simple Mail Transfer Protocol"),
·원거리 컴퓨터로의 로깅(logging)("Telnet"),
·한 컴퓨터에서 다른 컴퓨터로의 파일 및 프로그램의 이송("FTP" 또는 "File Transfer Protocol"),
·"HTTP"("HyperText Transfer Protocol")페이지의 전송 및 수신.
TCP/IP
TCP/IP 프로토콜 스윗(suite)은 가장 중요한 프로토콜 2개에서 명명되었다:
·전송 제어 프로토콜(Transmission Control Protocol)과,
·인터넷 프로토콜(Internet Protocol).
이것의 또다른 이름은 인터넷 프로토콜 스윗(Internet Protocol Suite)이다. 좀더 통상적인 용어인 TCP/IP는 전체 프로토콜 스윗을 나타내는데 사용된다. TCP/IP의 첫번째 설계 목적은 종합 통신 서비스를 제공하는 네트워크의 상호접속을 구축하는 것이다 : 인터넷워크(internetwork) 또는 인터넷. 각각의 물리적 네트워크는 물리적 네트워크와 유저(user) 어플리케이션(application) 사이에서 실행되는 기본적 통신 기능들을 제공하는 프로그래밍 인터페이스의 형식으로 그 자체의 기술 의존 통신 인터페이스를 갖는다. 상기 물리적 네트워크의 아키텍처는 유저로부터 숨겨진다. TCP/IP의 두번째 목적은 유저에게 나타나는 것이 하나의 큰 네트워크가 되도록 형성하기 위하여 다른 물리적 네트워크를 상호접속시키는 것이다.
TCP는 엔드 투 엔드(end to end) 데이터 전송을 제공하는 전송 계층 프로토콜이다. 이것은 2개의 컴퓨터 시스템 사이의 신뢰성있는 정보 교환을 제공하는 역할을 한다. 2개의 컴퓨터 시스템간의 하나의 TCP 접속을 통해 다중 어플리케이션이 동시에 지원될 수 있다. IP는 물리적 네트워크 아키텍처를 숨기는 인터넷워크 계층 프로토콜이다. 컴퓨터들간의 통신 메시지의 일부는 네트워크내에서 그들의 목적지로 올바르게 수신될지를 확인하는 라우팅 기능이다. IP는 이러한 라우팅 기능을 제공한다. IP 메시지는 IP 데이터그램으로 불린다.
TCP/IP의 상위에서 어플리케이션 레벨 프로토콜이 원점(origin) 컴퓨터 시스템으로부터 목적지 컴퓨터 시스템으로 유저 및 어플리케이션 데이터를 전송하기 위하여 사용된다. 예를 들면, 이와 같은 어플리케이션 레벨 프로토콜은 FTP(File Transfer Protocol), Telnet, Gopher, HTTP(Hyper Text Transfer Protocol) 이다.
유니폼 리소스 로케이터(Uniform Resource Locators)
인터넷의 리소스는 특정 위치에서의 특정 리소스를 가리키는 Uniform Resources Locator(URL)에 의해 명백히 식별된다. URL은 서버(예를 들면, HTTP, FTP, ...), 상기 서버의 네임과, 상기 서버상의 파일의 위치에 접근하는데 사용되는 프로토콜을 구체화한다.
클라이언트 및 서버(Clients and Servers)
TCP/IP는 피어 투 피어(peer to peer), 접속형 프로토콜이다. TCP/IP에는 마스터/슬레이브 관계가 존재하지 않는다. 그러나, 어플리케이션은 통신을 위해 클라이언트/서버 모델을 사용한다. 서버는 인터넷 유저들에게 서비스를 제공하는 어플리케이션이다; 클라이언트는 서비스의 요구자이다. 어플리케이션은 동일 또는 다른 컴퓨터 시스템상에서 실행될 수 있는 서버 및 클라이언트 부분으로 구성된다. 유저들은 보통 어플리케이션의 클라이언트 부분을 부르며(invoke), 특정 서비스에 대한 요구를 구축하며 전송 도구로서 TCP/IP를 사용하여 어플리케이션의 서버 부분에 상기 요구를 보낸다.
서버는 요구를 수신하는 프로그램으로, 요구된 서비스를 수행하여 그 결과를 다시 돌려보낸다. 서버는 보통 다중 요청들(다중 클라이언트)을 동시에 처리할 수 있다.
IP 라우터
"라우터(router)"는 2개의 네트워크를 상호접속시키며 하나의 네트워크에서 다른 하나의 네트워크로 메시지를 전송한다. 라우터는 네트워크사이의 최상의 전송 경로를 선택할 수 있다. 기본적 라우팅 기능은 TCP/IP 프로토콜 스택의 IP 계층에서 실행되어, 하나 이상의 인터페이스를 통해 실행되는 임의의 호스트(또는 컴퓨터) 또는 워크스테이션은 네트워크간에 메시지를 전송할 수 있다. IP는 기본적 라우팅 기능을 실행하므로, "IP 라우터"라는 용어가 자주 쓰인다. 그러나, "라우터"라 불리는 특정목적의 네트워크 하드웨어 디바이스는 IP에서 실행되는 최소한의 기능들보다 좀더 섬세한 라우팅 기능을 제공할 수 있다.
인트라넷(Intranet)
몇몇의 회사들에서는 그 내부에서 통신하기 위하여 인터넷과 동일한 메카니즘을 사용한다. 이 경우, 이러한 메카니즘을 "인트라넷"이라 부른다. 이들 회사는 결합적 방식으로 회사의 수많은 정보에 접근하는 것을 제공하기 위하여 동일한 네트워킹/전송 프로토콜과 국부적 위치에 근거하는 컴퓨터를 사용한다. 이러한 데이터는 회사의 비밀일 수 있으며 회사의 구성원들은 공적 인터넷 정보에 접근할 필요가 있으므로, 회사에 속하지 않는 사람들이 공적 인터넷을 통해 이러한 사설 인트라넷에 접근하는 것을 방지하기 위하여 회사는 방화벽(Firewall)이라 불리는 특별한 장치를 사용하여 회사의 네트워크에 접근하는 것을 막는다.
IP 주소
IP 주소는 인터넷상의 호스트를 식별하기 위하여 IP 프로토콜에서 사용된다. 엄밀히 말하자면, IP 주소는 IP 데이터그램을 전송 및 수신할 수 있는 인터페이스를 식별한다. 각각의 IP 데이터그램(기본 데이터 데이터그램은 호스트들간에 교환됨)은 소스 IP 주소와 목적지 IP 주소를 포함한다. IP 주소는 통상적으로 점으로 구분되는 십진수(dotted decimal) 형식으로 표현되는 32-비트 무부호(unsigned) 이진수 값으로 나타난다. 예를 들면, 9.167.5.8 은 유효한 인터넷 주소이다. IP 주소는 네트워크와 호스트 부분에서 나누어지며, IP 주소의 제1 비트는 주소의 나머지 부분이 어떻게 나누어지는지를 구체화한다. IP 주소와 읽기 쉬운 상징적 네임 (symbolic name)사이의 맵핑(mapping)은, 예를 들면 myhost.ibm.com, "도메인 네임 시스템(Domain Name System: DNS)"에 의해 이뤄진다.
인터넷 할당 번호 관리기관(Internet Assigned Numbers Authority:IANA)
인터넷의 서버들간의 임의의 통신이 보증되기 위하여, 모든 IP 주소는 인터넷 할당 번호 관리기관(IANA)에 의해 공식적으로 할당되어야만 한다. 많은 조직들이 지역적으로 할당된 IP 주소를 사용하며, 이는 공식적으로 할당된 IP 주소와의 충돌을 피하기 위하여 사설 인터넷 주소의 제한된 범위안에 포함된다. 이러한 IP 주소는 인터넷상에서는 라우팅될 수 없다.
IP 서브넷
인터넷의 폭발적 성장으로 인하여, IP 주소의 할당 원칙이 로컬 네트워크 구성으로의 쉬운 변화를 허용하기에는 너무 불가변적으로 되어간다. 이러한 변화는 다음의 경우에 발생할 수 있다:
·물리적 네트워크의 새로운 타입이 로케이션에 설치될때.
·호스트 숫자의 증가로 로컬 네트워크를 2개 또는 그 이상의 분할 네트워크로분할할 필요가 있을때.
·증가하는 거리로 인하여 네트워크를 게이트웨이가 있는 작은 네트워크로 분할할 필요가 있을때.
이러한 변화들이 필요한 경우에 있어서 추가적인 IP 네트워크 주소의 요구를 피하기 위해 서브넷(subnet) 개념이 소개되었다. 서브넷의 할당은 지역적으로 행해질 수 있으며, 전체 네트워크는 외부에 대하여는 계속 하나의 IP 네트워크로 나타난다. IP 주소의 호스트 번호 부분은 네트워크 번호와 호스트 번호로 다시 나누어진다. 이러한 두번째 네트워크는 "서브네트워크" 또는 "서브넷"으로 불린다. 서브넷팅(subnetting)은 원거리 네트워크에 명백한 방식으로 실행된다.
사설 IP 주소
IP 주소 공간의 보존에 대한 접근법은 사설 IP 주소의 사용이다. 이 접근법은 단일 조직내에서 배타적으로 사용되는 네트워크들에 대한 주소 공간의 지정 부분에 의해 IP 주소는 전체적으로 유일하다는 규칙을 완화시키며 인터넷에 대한 IP 접속을 요하지 않는다. 임의의 조직은 다른 임의의 조직과 관련됨이 없이 특정 범 위내에서 주소를 사용할 수 있다. 그러나, 이러한 주소들은 전체적으로 유일하지 않으므로 다른 조직의 호스트에서 조회될 수 없으며 임의의 다른 외부 라우터에게는 정의되지 않는다. 사설 주소를 사용하지 않는 네트워크의 라우터는 이러한 주소들에 대한 모든 라우팅 정보를 버리게된다. 사설 주소를 사용하는 임의의 조직내의 라우터는 내부 링크에 대한 사설 주소의 모든 조회를 제한하게 된다; 외부 라우터에 대한 사설 주소의 루트를 통지하지 않으며 사설 주소를 포함하는 IP 데이터그램을 외부 라우터로 전송하지도 않는다. 오직 사설 IP 주소만을 갖는 호스트는 인터넷에 대한 IP 계층 접속을 갖지 못한다. 외부 인터넷 호스트에 대한 모든 접속은 종종 "프록시(Proxy)"라 불리는 "어플리케이션 레벨 게이트웨이(Application Level Gateways)"에 의해 제공되어야만 한다.
사설 IP 주소의 사용과 정의는 IETF Request For Comment database(RFC1918)에 나타나있다. RFC는 사설 IP 주소의 3 계급(또는 범위)을 정의한다.
·계급 A 범위: 네트워크 10.0.0.0/8 내의 모드 주소들, 즉 10.0.0.0 및 10.255.255.255. 사이의 모든 주소들.
·계급 B 범위: 16 계급 B 네트워크 172.16.0.0/16 에서 172.31.0.0/16 내의 모든 주소들, 즉 172.16,0.0 과 172.31.255.255 사이의 모든 주소들.
·계급 C 범위: 256 계급 C 네트워크 192.168.0.0/24 에서 192.168.255.0/24 내의 모든 주소들, 즉 192.168.0.0 과 192.168.255.255 사이의 모든 주소들.
네트워크 주소 변환
네트워크 주소 변환(Network Address Translation: NTA)은 사설망내의 호스트들중 소수만이 외부 네트워크와 통신한다는 사실에 근거한다. 각각의 호스트가 통신할 필요가 있을때에만 공인 IP 주소로부터 IP 주소가 할당된다면, 공인 IP 주소중 적은 수가 필요해진다. NAT는 사설 IP 주소 범위를 가지며 인터넷상의 호스트와 통신하길 원하는 네트워크에 대한 해결책이다. 사실상, 대부분의 시간에서, 이것은 방화벽을 실행하는 것으로 달성될 수 있다. 따라서, Proxy 또는 Socks 서버를 이용하여 인터넷에서 통신하는 클라이언트는 인터넷에 주소가 노출되지 않으므로 그들의 주소는 어떠한 방식으로든 변환될 필요가 없다. 그러나, 어떠한 이유에 의해서든, Proxy 및 Socks 가 불가능하거나 특정 요구를 충족시키지 못할때, NAT는 내부 호스트 주소를 알리지 않으며 내부 및 외부 네트워크간의 트래픽을 운영하는데 사용될 수 있다.
프록시 서버
프록시 서버는, 또는 어플리케이션 레벨 게이트웨이라 불리는, 호스트상에서 실행되며 시큐어 네트워크(secure network)와 넌-시큐어 네트워크(non-secure network)를 접속하는 어플리케이션-특정 릴레이(relay) 서버이다. 프록시 서버의 목적은 IP 레벨 대신에 어플리케이션 레벨에서 2개의 네트워크간의 데이터의 교환을 제어하는 것이다. 프록시 서버를 사용함으로써, 어플리케이션 프로토콜을 위하여 시큐어 네트워크와 넌-시큐어 네트워크간의 IP 라우팅을 불가능하게 만들 수 있는 반면에 프록시 서버내에서는 릴레잉(relaying)으로 상기 네트워크들간의 데이터 를 교환하는 것이 가능하다.
임의의 클라이언트가 프록시 서버에 접근할 수 있도록, 클라이언트 소프트웨어는 명확하게 변경되어야한다. 다시 말하면, 클라이언트와 서버의 소프트웨어가 프록시 접속을 지원해야만한다.
IP 필터링(filtering)과 비교하면, 프록시는 상기 접속의 어플리케이션 데이터에 기초한 좀더 포괄적인 로깅을 제공한다. 예를 들면, HTTP 프록시는 유저가 방문했던 URL에 로그할 수 있다. 프록시의 다른 특징은 유저 인증(authentication)을 사용할 수 있다는 것이다.
전술한 기술분야에 대한 설명은 본 명세서에서 참조되는 이하의 간행물에서 찾을 수 있다: Martin W. Murhammer, Orcun Atakan, Stefan Bretz, Larry R. Pugh, Kazunari Suzuki, David H. Wood에 의해 "TCP/IP Tutorial and Technical Overview"라는 명칭으로 1998년 10월자, International Technical Support Organization, GG24-3376-05에 나타나있음.
네트워크 세계에서(LAN 및 WAN), 사설 IP 주소(RFC1918에서 정의된)의 라우팅은 문제가 될 수 있다. 대부분의 고객은 그들의 인트라넷내에서 사설 IP 주소를 사용한다. 그러나, 인터넷상의 다른 고객과 접속되거나 운영 시스템을 집중시킬 필요성이 증가하면서, 공유 네트워크내의 사설 IP 주소의 라우팅은 현실적인 문제가 될 수 있다. 사설 IP 주소를 공인된(public) IP 주소로 변환하는, 네트워크 주소 변환(NAT) 또는 프록시(Proxy) 사용에 근거한 여러 해결책이 존재한다.
그러나, 몇몇의 어플리케이션은 변환된 IP 주소로 작동하지 않는다. 이러한 어플리케이션은 페이로드(payload)내의 공인 IP 주소를 사용하며 사설 IP 주소는 NAT 디바이스에 의하여 변환될 수 없다. 예를 들면, 몇몇 Tivoli 운영 제품들("Tivoli"는 IBM 회사의 상표명)과 몇몇 다른 클라이언트-서버 어플리케이션들이다.
본 발명의 첫번째 목적은 한쪽은 제1 사설 인터넷 프로토콜(IP) 네트워크에 접속되며 다른 한쪽은 공인 IP 네트워크에 접속된 제1 라우터에서 소스 사설 IP 주소의 데이터그램은 공인 IP 주소로 변환되며 상기 사설 IP 주소는 제2 사설 네트워크에 접속된 제2 라우터에 의하여 동일한 사설 IP 주소로 다시 변환될 수 있게 하는 것이다. 상기 제1 라우터내에서의 변환 방법은 이하의 단계를 포함한다:
·제1 사설 IP 네트워크내의 소스로부터 IP 데이터그램을 수신하는 단계(상기 IP 데이터그램은 소스 사설 IP 주소와, IP 옵션 필드(option field)와, 소스 TCP/UDP 포트 번호를 포함하는 헤더를 포함한다);
·상기 IP 데이터그램 헤더내의 소스 사설 IP 주소를 제1 라우터의 공인 IP 주소로 대체하는 단계;
·상기 IP 데이터그램 헤더내의 소스 TCP/UDP 포트 번호를 상기 소스 사설 IP 주소의 2개의 최소 유효 바이트로 대체하는 단계;
·상기 소스 IP 주소의 제1 및 제2 최고 유효 바이트와 관련된 정보를 상기 IP 옵션 필드내에 복사하는 단계(따라서, 상기 제1 및 제2 최고 유효 바이트는 상기 정보로부터 유추될 수 있다);
·상기 공인 IP 네트워크상에 상기 IP 데이터그램을 전송하는 단계.
본 발명의 두번째 목적은 한쪽은 공인 인터넷 프로토콜(IP) 네트워크에 접속되고 다른 한쪽은 제2 사설 IP 네트워크에 접속된 제2 라우터에서 소스 공인 IP 주소의 데이터그램을 사설 IP 주소로 변환하는 것이며, 상기 사설 IP 주소는 제1 사설 네트워크에 접속된 제1 라우터에 의해 상기 소스 공인 IP 주소로 변환된 것이다. 상기 제2 라우터내에서의 변환 방법은 이하의 단계를 포함한다:
·제2 사설 IP 네트워크내의 목적지로 전송할 의도로 상기 공인 IP 네트워크로부터 IP 데이터그램을 수신하는 단계(상기 데이터그램은 소스 공인 IP 주소와, IP 옵션 필드와, 소스 TCP/UDP 포트 번호를 포함하는 헤더를 포함한다);
·만약 제1 라우터에 의해 소스 공인 IP 주소가 변환되었다면,
상기 IP 데이터그램 헤더내의 상기 소스 공인 IP 주소의 2개의 최소 유효 바이트를 상기 소스 TCP(UDP) 포트 번호로 대체하는 단계;
상기 IP 데이터그램 헤더내의 상기 IP 옵션 필드에서 검색되는 정보로부터 유추되는 소스 IP 사설 주소의 제1 및 제2 바이트로 상기 소스 공인 IP 주소의 제1 및 제2 최고 유효 바이트를 대체하는 단계;
·상기 제2 사설 IP 네트워크내의 목적지에 상기 IP 데이터그램을 전송하는 단계.
또한, 본 발명의 다른 실시예들은 첨부된 종속항들에서 제공된다. 전술한 것들을 비롯하여 본 발명의 다른 목적들, 특징들, 그리고 이점들은 이하의 구체적인 청구항들이나 도면들을 참조하여 더욱 잘 이해될 것이다.
이하의 설명은 당업자가 본 발명을 제작하거나 사용하는 것이 가능하도록 나타나있으며 특허 출원 및 그 필요물의 정황에서 제공된다. 본 명세서에 나타난 바람직한 실시예와 일반적 원리와 특징은 당업자에게는 명백할 것이다. 따라서, 본 발명은 실시예에 의해 제한하려는 의도가 아니며 본 명세서에서 설명되는 원리 및 특징들과 일관되는 가장 넓은 범위에 일치되도록 하려는 의도이다.
본 발명의 일반적 원리
본 발명은 듀얼 다이내믹 네트워크 주소 변환(NAT)에 기초한다:
·하나의 네트워크 주소 변환(NAT)은 고객의 클라이언트 스테이션에 근접하여 실행되며,
·하나의 네트워크 주소 변환(NAT)은 어플리케이션 서버에 근접하여 실행된다.
상기 클라이언트 스테이션과 상기 어플리케이션 서버사이의 네트워크는 오직 등록된 주소(공인 IP 주소)만을 보는 반면에 상기 어플리케이션은 오직 실제 사설 IP 주소만을 본다. 본 발명은 "NATting" 디바이스(상기 디바이스는 네트워크 주소의 변환 동작을 실행)를 미리 구성할 필요없이, IP 주소를 "NATting" 및 "un-NATting"하기위한 방법에 기초한다.
다른 방법은 CISCO System Inc. 에서 개발한 "일반 라우팅 캡슐화(Generic Routing Encapsulation)"를 사용하는 것이다. 일반 라우팅 캡슐화는 터널로 데이터그램을 캡슐화하는데 사용되는 터널링 프로토콜이다. 그러나, 이 기술은 단일 라우터 벤더(vendor)에 제한되며 다른 라우팅 디바이스(방화벽, 서버, 등등)상에서는 작동하지 않는다. 다른 캡슐화 또는 터널링 방법들은 불필요한 헤더를 부가한다는 결점이 있으며 필요한 대역폭과 전송 비용을 증가시킨다.
네트워크 주소 변환
사설 IP 주소에 기초한 사설 네트워크와 어플리케이션 게이트웨이가 없는 어플리케이션 프로토콜을 사용하는 공인 네트워크(인터넷과 같은) 사이의 통신에 대한 유일한 해결책은 사설 네트워크내의 호스트와 인터넷상의 호스트 사이의 IP 레벨에서 접속을 구축하는 것이다. 인터넷의 라우터는 IP 데이터그램을 어떻게 사설 IP 주소로 돌려보내는지 알 수 없으므로, 라우터를 통해 인터넷으로 소스 IP 주소와 같이 사설 IP 주소가 있는 IP 데이터그램을 전송하는 것은 불가능하다.
NAT는 사설 네트워크의 사설 IP 주소를 공인 IP 주소로 명백하게 변환하며, 이로 인해 IP 데이타그램은 인터넷상에 라우팅될 수 있다. NAT는 발신(outgoing) 데이터그램의 사설 IP 주소를 공인 IP 주소로 다이내믹하게 변환시킨다. 수신(incoming) 데이터그램의 경우에는, NAT는 공인 IP 주소를 사설 IP 주소로 변환시킨다. 각각이 서로 IP 데이터그램을 교환하는 2개의 호스트의 관점에서, 하나의 호스트는 시큐어 네트워크(상기 사설 네트워크)에 접속되며 다른 하나는 넌-시큐어 네트워크(상기 인터넷)에 접속되며, 네트워크 주소 변환기(Network Address Translator)는 2개의 네트워크 인터페이스 사이에 IP 데이터그램을 전송하는 표준 IP 라우터와 같다.
NAT를 실행하는 TCP/IP 스택은 보통의 IP 라우터처럼 보이기 때문에, 라우터를 통해 2개 이상의 IP 네트워크 또는 서브넷과 접속하기 위해서는 적절한 IP 네트워크 디자인을 만들 필요가 있다. NAT IP 주소는 분리된 네트워크 또는 서브넷으로부터 나와야 하며, 상기 주소는 넌-시큐어 네트워크내의 다른 네트워크 또는 서브넷과 관련되어 명백해야만 한다. 만약 상기 넌-시큐어 네트워크가 인터넷이라면, 상기 NAT 주소는 공인 네트워크 또는 서브넷으로부터 나와야하며, 다시 말하면, 상기 NAT 주소는 인터넷 할당 번호 관리국(IANA)에 의해 할당되어야한다.
상기 넌-시큐어 주소(공식적 주소)는 필요한 때 사용하기 위하여 풀(pool)에 보존되어야만 한다. 만약 상기 시큐어 네트워크로부터 접속이 이루어졌다면, NAT는 단지 상기 NAT 풀내에서 다음의 비사용 공인 주소를 택하여 요구하는 시큐어 호스트에 할당할 수 있다. NAT는 시큐어 IP 주소가 넌-시큐어 IP 주소로 맵핑되는 트랙을 보존하므로, 넌-시큐어 네트워크로부터 수신하는 응답을 대응하는 시큐어 IP 주소로 맵핑하는 것이 가능할 것이다.
확장되는 NAT를 위한 IP 옵션 필드
도 1은 소스 스테이션 'A'(100), 제1 사설 IP 네트워크(105), 라우팅 디바이스 'B'(101), 광역네트워크(Wide Area Network:WAN)(102), 라우팅 디바이스 'C'(103), 제2 사설 IP 네트워크(106), 목적지 서버 'D'(104)를 포함하는 네트워크 를 나타내고있다.
도 1에 도시된 예에서, 고객 스테이션 'A'는 RFC1918 범위 10.0.0.0 계급 A 또는 172.16.0.0 - 172.31.255.255 또는 192.168.0.0 - 192.168.255.255 내의 사설 주소를 갖는다. 고객 스테이션은 제1 사설 네트워크(인트라넷 네트워크)을 통해 라우팅 디바이스 'B'에 접속된다. 라우팅 디바이스 'B'는 공인 네트워크 (광역네트워크(WAN) 백본(backbone) 또는 인터넷 네트워크)(102)를 통해 라우팅 디바이스 'C'에 접속된다. 라우팅 디바이스 'C'는 제2 사설 네트워크(인트라넷 네트워크)(106)를 통해 어플리케이션 서버 'D'에 접속된다.
도 2에 도시된 바와 같이, 고객 스테이션 'A'에 의해 어플리케이션 서버 'D' 로 전송되는 각각의 데이터그램(200)은 이하의 필드를 포함한다:
·IP 헤더내에는
·고객 스테이션 'A'의 사설 소스 IP 주소(205)와,
·어플리케이션 서버 'D'의 목적지 IP 주소(206)와,
·IP 옵션 필드(201)를 포함하며,
·TCP 헤더내에는
·목표(target) 어플리케이션을 식별하기 위한 TCP(또는 UDP) 소스 포트 번호.
본 발명은 이하의 특징들에 기초한다:
·상기 라우팅 디바이스 'B'와 'C' 사이에서, 상기 IP 헤더내의 상기 IP 옵 션 필드(201)는
상기 소스 사설 IP 주소(205)의 서브셋( 일반적인 경우에는 2개의 바이트(203 및 204)이며 선택적으로 계급 지시자(class indicator)가 사용되는 경우에는 하나의 바이트(204))(204)과,
선택적으로, 고객 스테이션 'A'의 상기 소스 사설 IP 주소 범위(계급 A 또는 B 또는 C)를 전하는 계급 지시자(203)를 운반하기 위하여 정의된다.
·상기 데이터그램(207)의 상기 소스 TCP(UDP) 포트 번호(2 바이트)는 상기 소스 IP 사설 주소(205)의 최소 유효 바이트를 운반하는데 사용된다.
일반적인 실시예
<라우팅 디바이스 'B'>
본 발명에 따라 소스 'A'로부터 IP 데이터그램이 수신되었을때 상기 소스 스테이션 'A'에 근접한 상기 라우터 'B'에의해 실행되는 여러 단계가 이하에서 설명된다. 상기 고객 스테이션 'A'에의해 상기 어플리케이션 서버 'D'로 전송되는 각각의 데이터그램에 대해, 상기 라우팅 디바이스 'B'는:
·상기 고객 스테이션 'A'의 상기 소스 사설 IP 주소(205)를 그 자체의 등록(공인) IP 주소(상기 라우팅 디바이스'B'의 IP 주소)로 변환한다.
·상기 소스 TCP(UDP) 포트 번호(207)를 고객 스테이션 'A'의 상기 사설 IP 주소의 2개의 최소 유효 바이트로 변환한다.
·'확장된(extended) NAT'를 지시하는 옵션 번호(202)로 상기 IP 옵션 필드(201)를 채운다.
·상기 고객 스테이션 'A'의 상기 사설 IP 주소의 2개의 최고 유효 바이트로 상기 IP 옵션 필드(203 및 204)를 채운다.
<라우팅 디바이스 'C'>
본 발명에 따라 라우터 'B'로부터 IP 데이터그램을 수신할때 목적지 서버 'D'에 근접한 상기 라우터 'C'에의해 실행되는 여러 단계가 이하에서 설명된다. 상기 고객 스테이션 'A'에의해 상기 어플리케이션 서버 'D'로 전송되는 각각의 데이터그램에 대해, 상기 라우팅 디바이스 'C'는 네트워크 주소 변환된 소스 IP 주소를본래의 소스 IP 주소로 대체한다. 상기 라우팅 디바이스 'C'는 상기 소스 TCP(UDP) 포트 및 상기 IP 옵션 필드로부터 수신된 정보에 기초하여 본래의 IP 주소를 재구성한다. 상기 라우팅 디바이스 'C'는:
·상기 데이터그램(200)내의 IP 헤더의 상기 IP 옵션 필드(201)내의 옵션 번호(202)('확장된 NAT')를 체크한다.
만약 상기 옵션 번호(202)가 '확장된 NAT'가 아니라면, 상기 라우팅 디바이스 'C'는 상기 표준 과정을 거친다.
만약 상기 옵션 번호가 '확장된 NAT'라면, 상기 라우팅 디바이스 'C'는 상기 소스 공인 IP 주소의 2개의 최소 유효 바이트를 상기 소스 TCP(UDP) 포트 번호(207)로 변환한다.
·상기 소스 공인 IP 주소(205)의 제1 및 제2 최고 유효 바이트를 상기 IP 헤더의 옵션 필드(201)에 존재하는 상기 2개의 바이트(203 및 204)로 대체한다.
<어플리케이션 서버 'D'>
어플리케이션 서버 'D'는 상기 고객 스테이션 'A'의 소스 사설 IP 주소가 있는 데이터그램을 수신한다. 라우터'B' 및 'C'에 의해 조정되는 상기 NAT 과정은 서버 D에 대해서도 완벽하게 명백하다.
<역 진행(way back)>
상기와 동일한 과정이 역 진행에도 적용된다. 상기 라우팅 디바이스 'C'는 전술한 바와 같은 동일한 메카니즘으로 상기 목적지 사설 주소를 네트워크 주소 변환(NAT)시키며 상기 라우팅 디바이스 'B'는 상기 고객 스테이션 'A'의 사설 주소로 역 네트워크 주소 변환(unNAT)시킨다.
<IP 옵션 필드>
바람직한 실시예에 있어서, 상기 IP 옵션 필드(4 바이트)(201)은 이하의 필드를 포함한다:
·제1 바이트(202)는
'카피(copy)' 플래그(flag) ('카피' 플래그는 가능한 모든 조각 프레임에 카피된 옵션을 갖도록 1로 설정한다)와,
계급 플래그(0으로 설정)와,
새로운 옵션 코드(예를 들면, 31)를 포함한다.
·제2 바이트(203)는 상기 소스 사설 IP 주소(203)의 제1 최고 바이트를 포함한다.
·제3 바이트(204)는 상기 소스 사설 IP 주소(204)의 제2 최고 바이트를 포함한다.
·제 4바이트는 보존된다.
구체적인 실시예
<라우팅 디바이스 'B'>
도 3은 본 발명에 따라 소스 'A'로부터 IP 데이터그램이 수신되었을때 상기 소스 스테이션 'A'에 근접한 상기 라우터 'B'에의해 실행되는 여러 단계들을 나타내는 흐름도이다. 상기 고객 스테이션 'A'에의해 상기 어플리케이션 서버 'D'로 전송되는 각각의 데이터그램에 대해, 상기 라우팅 디바이스 'B'는:
·상기 고객 스테이션 'A'의 상기 소스 사설 IP 주소(205)를 그 자체의 등록(공인) IP 주소(상기 라우팅 디바이스'B'의 IP 주소)로 변환한다(300).
·상기 소스 TCP(UDP) 포트 번호(207)를 고객 스테이션 'A'의 상기 사설 IP 주소의 2개의 최소 유효 바이트로 변환한다(301).
·'확장된(extended) NAT'를 지시하는 옵션 번호(202)로 상기 IP 옵션 필드(201)를 채운다(302).
·상기 고객 스테이션 'A'의 상기 사설 IP 주소의 계급을 체크한다(303):
192.168.0.0 에서 192.168.255.255의 범위의 경우, 이러한 바이트는 항상 동일(192.168)하므로 상기 최고 바이트를 운반할 필요는 없다. 따라서, 상기 라우팅 디바이스 'B'는 상기 IP 옵션 필드(201)의 계급 지시자 필드(203)를 '계급 C'로 채운다(305).
172.16.0.0 에서 172.31.255.255의 범위의 경우, 상기 주소는 항상 172로 시작하므로 오직 하나의 바이트가 16에서 31까지의 값을 운반한다. 따라서, 상기 라우팅 디바이스 'B'는 상기 옵션 필드(204)를 상기 고객 스테이션 'A'(304)의 주소의 제2 최고 유효 바이트로 채우며 상기 IP 옵션 필드(201)의 계급 지시자 필드(203)는 '계급 B'로 채운다(305).
계급 'A'의 범위의 경우, 상기 소스 IP 주소는 항상 10으로 시작하므로 하나의 바이트가 제2 바이트(10. 이후)를 운반한다. 따라서, 상기 라우팅 디바이스 'B'는 상기 옵션 필드(204)를 상기 고객 스테이션 'A'(304)의 주소의 제2 최고 유효 바이트로 채우며 상기 IP 옵션 필드(201)의 계급 지시자 필드(203)는 "계급 A'로 채운다(305).
<라우팅 디바이스 'C'>
도 4는 본 발명에 따라 라우터 'B'로부터 IP 데이터그램이 수신되었을때 목적지 서버 'D'에 근접한 라우터 'C'에의해 실행되는 여러 단계를 나타내는 흐름도이다. 상기 고객 스테이션 'A'에의해 상기 어플리케이션 서버 'D'로 전송되는 각각의 데이터그램에 대해, 상기 라우팅 디바이스 'C'는 네트워크 주소 변환된 소스 IP 주소를 본래의 소스 IP 주소로 대체한다. 상기 라우팅 디바이스 'C'는 상기 소스 TCP(UDP) 포트 및 상기 IP 옵션 필드로부터 수신된 정보에 기초하여 본래의 IP 주소를 재구성한다. 상기 라우팅 디바이스 'C'는:
·상기 데이터그램(200)내의 IP 헤더의 상기 IP 옵션 필드(201)내의 옵션 번호(202)('확장된 NAT')를 체크한다(401).
만약 상기 옵션 번호(202)가 '확장된 NAT'가 아니라면, 상기 라우팅 디바이스 'C'는 상기 표준 과정을 거친다.
만약 상기 옵션 번호가 '확장된 NAT'라면, 상기 라우팅 디바이스 'C'는 상기 소스 공인 IP 주소의 2개의 최소 유효 바이트를 상기 소스 TCP(UDP) 포트 번호(207)로 변환한다(402).
·상기 계급 지시자 필드(203)내의 고객 스테이션 'A'의 사설 IP 주소의 계급을 체크한다(403):
192.168.0.0 에서 192.168.255.255의 범위의 경우, 상기 소스 공인 IP 주소(205)의 제1 및 제2 최고 유효 바이트를 '192.168'로 대체한다.
172.16.0.0 에서 172.31.255.255의 범위의 경우, 상기 소스 공인 IP 주소의 제2 최고 유효 바이트를 '172'로 대체하고(404) 상기 소스 공인 IP 주소(205)의 제1 최고 유효 바이트를 상기 IP 헤더 옵션 필드내의 바이트로 대체한다(405).
계급 'A'의 범위의 경우, 상기 소스 공인 IP 주소의 제2 최고 유효 바이트를 '10'으로 대체하고(404) 상기 소스 공인 IP 주소(205)의 제1 최고 유효 바 이트를 상기 IP 헤더 옵션 필드(201)내의 바이트(204)로 대체한다(405).
<어플리케이션 서버 'D'>
어플리케이션 서버 'D'는 상기 고객 스테이션 'A'의 소스 사설 IP 주소가 있는 데이터그램을 수신한다. 라우터'B' 및 'C'에 의해 조정되는 상기 NAT 과정은 서버 D에 대해서도 완벽하게 명백하다.
<역 진행(way back)>
상기와 동일한 과정이 역 진행에도 적용된다. 상기 라우팅 디바이스 'C'는 전술한 바와 같은 동일한 메카니즘으로 상기 목적지 사설 주소를 네트워크 주소 변환(NAT)시키며 상기 라우팅 디바이스 'B'는 상기 고객 스테이션 'A'의 사설 주소로 역 네트워크 주소 변환(unNAT)시킨다.
<IP 옵션 필드>
바람직한 실시예에 있어서, 상기 IP 옵션 필드(4 바이트)(201)은 이하의 필드를 포함한다:
·제1 바이트(202)는
'카피(copy)' 플래그(flag) ('카피' 플래그는 가능한 모든 조각 프레임에 카피된 옵션을 갖도록 1로 설정한다)와,
계급 플래그(0으로 설정)와,
새로운 옵션 코드(예를 들면, 31)를 포함한다.
·제2 바이트(203)는 '계급 지시자'를 포함한다:
'0'은 계급 'C'(192 범위내의 주소)를 의미하며,
'1'은 계급 'B'(172 범위내의 주소)를 의미하며,
'2'는 계급 'A'( 10 범위내의 주소)를 의미한다.
·제3 바이트(204)는 상기 소스 사설 IP 주소(204)의 제2 최고 바이트를 포함한다.
·제 4바이트는 보존된다.
<실례>
예를 들어, 주소 10.1.1.1의 고객 스테이션 'A1' 및 주소 10.1.1.2의 고객 스테이션 'A2'가 어플리케이션 서버 'D'에 프레임을 전송한다면, 상기 라우터 디바이스 'B'에의해 네트워크 주소 변환된 모든 프레임은
소스로서 상기 라우터 디바이스 'B'의 IP 주소와,
'A1'의 경우에는 '11'의 소스 TCP 프로토콜 번호와 'A2'의 경우에는 '12'의 소스 TCP 프로토콜 번호와,
'9F-02-01-00'과 같은 IP 옵션 필드(즉, '카피' 비트, 옵션 번호 31, 10 범위내의 사설 주소 그리고 IP 주소의 2n 바이트='01')를 가질 것이다.
그 다음 상기 라우팅 디바이스 'C'는 어떠한 예비 구성(pre configuration)없이도 상기 어플리케이션 서버 'D'에 프레임을 전송하기전에 상기 10.1.1.1 및 10.1.1.2 소스 IP 주소를 재구성할 수 있다.
<이점>
이러한 구체적 실시예의 이점은 IP 옵션 필드내의 비트를 절약할 수 있다는 것이다. 상기 IP 옵션 필드내의 제1 최고 유효 바이트를 기록하는 대신에, 단지 상기 소스 사설 IP 주소의 주소 범위를 지시하는 것(계급 지시자, 203)이 상기 IP 필드(201)내에 저장된다.
본 발명은 "NATting" 디바이스(상기 디바이스는 네트워크 주소의 변환 동작을 실행)를 미리 구성할 필요없이, IP 주소를 "NATting" 및 "un-NATting" 할 수 있다.
본 발명을 구체적으로 도시하고 바람직한 실시예를 참조하여 설명하였지만, 본 발명의 의도와 범위를 벗어나지 않는 범위에서 구성과 세부사항에 다양한 변화가 있을 수 있다는 것을 이해할 수 있을 것이다.

Claims (16)

  1. 한쪽은 제1 사설 인터넷 프로토콜(IP) 네트워크에 접속되고 다른 한쪽은 공인 IP 네트워크에 접속되는 제1 라우터에서 데이터그램내의 소스 사설 IP 주소를 공인 IP 주소로 변환하여 제2 사설 네트워크에 접속된 제2 라우터에 의해 상기 사설 IP 주소가 동일한 사설 IP 주소로 다시 변환될 수 있도록 하는 방법에 있어서,
    상기 방법은
    제1 사설 IP 네트워크내의 소스로부터 IP 데이터그램을 수신하는 단계 -상기 IP 데이터그램은 소스 사설 IP 주소와, IP 옵션 필드(option field)와, 소스 TCP/UDP 포트 번호를 포함하는 헤더(header)를 포함함- 와,
    상기 IP 데이터그램 헤더내의 상기 소스 사설 IP 주소를 상기 제1 라우터의 공인 IP 주소로 대체하는 단계와,
    상기 IP 데이터그램 헤더내의 상기 소스 TCP/UDP 포트 번호를 상기 소스 사설 IP 주소의 2개의 최소 유효 바이트로 대체하는 단계와,
    상기 소스 사설 IP 주소의 제1 및 제2 최고 유효 바이트와 관련된 정보로부터 상기 제1 및 제2 최고 유효 바이트를 유추할 수 있도록 상기 정보를 상기 IP 옵션 필드에 복사하는 단계와,
    상기 공인 IP 네트워크에 상기 IP 데이터그램을 전송하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 소스 IP 주소가 변환된 상기 IP 옵션 필드를 지시하는(indicating) 단계를 더 포함하는 방법.
  3. 제 1항 또는 제2항에 있어서, 상기 소스 사설 IP 주소의 제1 및 제2 최고 유효 바이트와 관련된 정보를 상기 IP 옵션 필드에 복사하는 단계는
    상기 소스 사설 IP 주소에 대한 계급(class)을 식별하는 단계 -상기 계급은 미리 정의된 IP 주소 범위에 대응함- 와,
    상기 계급을 식별하는 수단을 상기 IP 옵션 필드에 포함하는 단계
    를 더 포함하는 방법.
  4. 제1항 내지 제3항중 어느 한 항에 있어서, 상기 소스 사설 IP 주소의 제1 및 제2 최고 유효 바이트와 관련된 정보를 상기 IP 옵션 필드에 복사하는 단계는
    식별된 계급이 192.168.0.0 에서 192.168.255.255 까지의 범위에 대응한다면 상기 계급을 식별하는 수단을 상기 IP 옵션 필드에 포함하는 단계를 더 포함하는 방법.
  5. 제1항 내지 제4항중 어느 한 항에 있어서, 상기 소스 사설 IP 주소의 제1 및 제2 최고 유효 바이트와 관련된 정보를 상기 IP 옵션 필드에 복사하는 단계는
    식별된 계급이 172.16.0.0 에서 172.31.255.255 까지의 범위에 대응한다면 상기 계급을 식별하는 수단을 상기 IP 옵션 필드에 포함하는 단계와, 상기 소스 사 설 IP 주소의 제2 최고 유효 바이트를 상기 IP 옵션 필드에 복사하는 단계를 더 포함하는 방법.
  6. 제1항 내지 제5항중 어느 한 항에 있어서, 상기 소스 사설 IP 주소의 제1 및 제2 최고 유효 바이트와 관련된 정보를 상기 IP 옵션 필드에 복사하는 단계는
    상기 주소가 '10'으로 시작한다면 상기 계급을 식별하는 수단을 상기 IP 옵션 필드에 포함하는 단계와, 상기 소스 사설 IP 주소의 제2 최고 유효 바이트를 상기 IP 옵션 필드에 복사하는 단계를 더 포함하는 방법.
  7. 제1항 내지 제6항중 어느 한 항에 따른 방법을 실행하기 위하여 적응된(adapted) 수단을 포함하는 라우터.
  8. 제1항 내지 제6항중 어느 한 항에 따른 방법을 실행하기 위하여 컴퓨터 시스템상에서 실행되는 명령어(instruction)를 포함하는 컴퓨터 프로그램.
  9. 한쪽은 공인 인터넷 프로토콜(IP) 네트워크에 접속되고 다른 한쪽은 제2 사설 IP 네트워크에 연결된 제2 라우터에서 데이터그램내의 소스 공인 IP 주소를 사설 IP 주소로 변환 -상기 소스 사설 IP 주소는 제1 사설 네트워크에 접속된 제1 라우터에 의해 상기 소스 공인 IP 주소로 미리 변환된 것임- 하는 방법에 있어서,
    상기 방법은
    상기 제2 사설 IP 네트워크내의 목적지에 전송할 의도로 IP 데이터그램을 상기 공인 IP 네트워크로부터 수신하는 단계 -상기 데이터그램은 소스 공인 IP 주소와, IP 옵션 필드와, 소스 TCP/UDP 포트 번호를 포함하는 헤더를 포함함- 와,
    상기 소스 공인 IP 주소가 제1 라우터에 의해 미리 변환되었다면,
    상기 IP 데이터그램 헤더내의 상기 소스 공인 IP 주소의 2개의 최소 유효 바이트를 상기 소스 TCP(UDP) 포트 번호로 대체하는 단계와,
    상기 IP 데이터그램 헤더내의 상기 소스 공인 IP 주소의 제1 및 제2 최고 유효 바이트를 상기 IP 헤더 옵션 필드에서 검색되는 정보로부터 유추되는(deduced) 소스 IP 사설 주소의 제1 및 제2 바이트로 대체하는 단계와,
    상기 제2 사설 IP 네트워크내의 목적지로 상기 IP 데이터그램을 전송하는 단계
    를 포함하는 방법.
  10. 제9항에 있어서, 상기 소스 공인 IP 주소가 미리 변환되었는지를 상기 IP 필드내에서 결정하는 단계를 포함하는 방법.
  11. 제9항 또는 제10항에 있어서, 상기 IP 데이터그램 헤더내의 상기 소스 공인 IP 주소의 제1 및 제2 최고 유효 바이트를 대체하는 단계는
    상기 IP 옵션 필드에서 상기 소스 사설 IP 주소에 대한 계급을 식별하는 단계 -상기 계급은 미리 정의된 IP 주소 범위에 대응함- 와,
    상기 제1 최고 유효 바이트를 식별된 계급에 대응하는 주소 범위로 대체하는 단계
    를 더 포함하는 방법.
  12. 제9항 내지 제11항중 어느 한 항에 있어서, 상기 IP 데이터그램 헤더내의 상기 소스 공인 IP 주소의 제1 및 제2 최고 유효 바이트를 대체하는 단계는
    식별된 계급이 192.168.0.0 에서 192.168.255.255 까지의 범위에 대응한다면 상기 데이터그램 헤더내의 소스 공인 IP 주소의 제1 및 제2 최고 유효 바이트를 '192.168'로 대체하는 단계를 포함하는 방법.
  13. 제9항 내지 제12항중 어느 한 항에 있어서, 상기 IP 데이터그램 헤더내의 상기 소스 공인 IP 주소의 제1 및 제2 최고 유효 바이트를 대체하는 단계는
    식별된 계급이 172.16.0.0 에서 172.31.255.255 까지의 범위에 대응한다면
    상기 데이터그램 헤더내의 소스 공인 IP 주소의 제1 최고 유효 바이트를 '172'로 대체하는 단계와,
    상기 IP 옵션 필드로부터 상기 소스 사설 IP 주소의 제2 최고 유효 바이트를 검색하는 단계와,
    상기 소스 공인 IP 주소의 제2 최고 유효 바이트를 상기에서 검색된 바이트로 대체하는 단계
    를 포함하는 방법.
  14. 제9항 내지 제13항중 어느 한 항에 있어서, 상기 IP 데이터그램 헤더내의 상기 소스 공인 IP 주소의 제1 및 제2 최고 유효 바이트를 대체하는 단계는
    식별된 계급이 '10' 범위에 대응한다면 상기 제1 최고 유효 바이트를 상기 IP 헤더 옵션 필드의 바이트로 대체하는 단계 대신에(instead of),
    상기 데이터그램 헤더내의 소스 공인 IP 주소의 제1 최고 유효 바이트를 '10'으로 대체하는 단계와,
    상기 IP 옵션 필드로부터 상기 소스 사설 IP 주소의 제2 최고 유효 바이트를 검색하는 단계와,
    상기 소스 공인 IP 주소의 제2 최고 유효 바이트를 상기에서 검색된 바이트로 대체하는 단계
    를 포함하는 방법.
  15. 제9항 내지 제14항중 어느 한 항에 따른 방법을 실행하기 위하여 적응된 수단을 포함하는 라우터.
  16. 제9항 내지 제14항중 어느 한 항에 따른 방법을 실행하기 위하여 컴퓨터 시스템상에서 실행되는 명령어를 포함하는 컴퓨터 프로그램.
KR1020050079282A 2004-09-27 2005-08-29 임의의 어플리케이션 타입이 있는 ip 네트워크에서네트워크 주소 변환을 사용하기 위한 방법 및 시스템 KR100650843B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP04300622 2004-09-27
EP04300622.0 2004-09-27

Publications (2)

Publication Number Publication Date
KR20060050749A true KR20060050749A (ko) 2006-05-19
KR100650843B1 KR100650843B1 (ko) 2006-11-27

Family

ID=36099006

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050079282A KR100650843B1 (ko) 2004-09-27 2005-08-29 임의의 어플리케이션 타입이 있는 ip 네트워크에서네트워크 주소 변환을 사용하기 위한 방법 및 시스템

Country Status (5)

Country Link
US (1) US7450585B2 (ko)
JP (1) JP4328753B2 (ko)
KR (1) KR100650843B1 (ko)
CN (1) CN1756259B (ko)
TW (1) TW200637263A (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100433621B1 (ko) * 2001-08-09 2004-05-31 한국전자통신연구원 사설 인터넷의 단대단 서비스를 위한 다중 계층 인터넷프로토콜 및 상기 다중 계층 인터넷 프로토콜 패킷의송/수신 방법
JP4766976B2 (ja) * 2005-09-29 2011-09-07 富士通株式会社 ノード間接続方法及び装置
US7940713B2 (en) * 2005-12-08 2011-05-10 Electronics And Telecommunications Research Institute Apparatus and method for traffic performance improvement and traffic security in interactive satellite communication system
US8447802B2 (en) 2006-03-08 2013-05-21 Riverbed Technology, Inc. Address manipulation to provide for the use of network tools even when transaction acceleration is in use over a network
US20080019376A1 (en) * 2006-07-21 2008-01-24 Sbc Knowledge Ventures, L.P. Inline network element which shares addresses of neighboring network elements
US7840683B2 (en) * 2006-08-31 2010-11-23 Sap Ag Systems and methods of migrating sessions between computer systems
CN101588357B (zh) * 2008-05-23 2013-06-05 鸿富锦精密工业(深圳)有限公司 路由器及利用该路由器识别用户身份的方法
US9143508B2 (en) * 2010-12-30 2015-09-22 Verizon Patent And Licensing Inc. Service location based authentication
US8683019B1 (en) * 2011-01-25 2014-03-25 Sprint Communications Company L.P. Enabling external access to a private-network host
US8621038B2 (en) 2011-09-27 2013-12-31 Cloudflare, Inc. Incompatible network gateway provisioned through DNS
US8438240B2 (en) * 2011-09-27 2013-05-07 Cloudflare, Inc. Distributing transmission of requests across multiple IP addresses of a proxy server in a cloud-based proxy service
US9407548B2 (en) 2013-01-02 2016-08-02 Acceleration Systems, LLC ReNAT systems and methods
CN105122231A (zh) 2013-01-02 2015-12-02 加速***有限责任公司 提供ReNAT通信环境的***和方法
US9210129B2 (en) 2014-02-06 2015-12-08 Acceleration Systems, LLC Systems and methods for providing a multiple secure link architecture
TWI530129B (zh) 2014-02-14 2016-04-11 群暉科技股份有限公司 用來管理固定網址存取之方法、裝置、與計算機程式產品
US9912649B1 (en) * 2015-01-05 2018-03-06 Adtran, Inc. Systems and methods for facilitating communication between an authentication client and an authentication server
CN107124387A (zh) * 2016-02-25 2017-09-01 上海传真通信设备技术研究所有限公司 一种阻止硬件后门的嵌入式网络***
US20180234535A1 (en) * 2017-02-10 2018-08-16 Mediatek Inc. Method and apparatus for communication
US10700972B2 (en) * 2018-08-29 2020-06-30 ColorTokens, Inc. Computer implemented system and method for preserving mapping information in IP-options
US11997067B2 (en) * 2021-01-22 2024-05-28 VMware LLC Managing internet protocol (IP) address allocation to tenants in a computing environment
US11929976B2 (en) * 2021-02-14 2024-03-12 Oracle International Corporation Virtual network routing gateway that supports address translation for dataplane as well as dynamic routing protocols (control plane)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1216657A (zh) * 1996-04-24 1999-05-12 北方电讯有限公司 互联网协议过滤器
US7058973B1 (en) * 2000-03-03 2006-06-06 Symantec Corporation Network address translation gateway for local area networks using local IP addresses and non-translatable port addresses
US6826684B1 (en) * 2000-08-28 2004-11-30 Verizon Corporate Services Group Inc. Sliding scale adaptive self-synchronized dynamic address translation
KR100433621B1 (ko) * 2001-08-09 2004-05-31 한국전자통신연구원 사설 인터넷의 단대단 서비스를 위한 다중 계층 인터넷프로토콜 및 상기 다중 계층 인터넷 프로토콜 패킷의송/수신 방법
US7088718B1 (en) * 2002-03-19 2006-08-08 Cisco Technology, Inc. Server load balancing using IP option field approach to identify route to selected server
CN1529480B (zh) * 2003-10-08 2010-04-14 中国科学院计算技术研究所 一种ip网络协议转换的方法
US7360083B1 (en) * 2004-02-26 2008-04-15 Krishna Ragireddy Method and system for providing end-to-end security solutions to aid protocol acceleration over networks using selective layer encryption

Also Published As

Publication number Publication date
US7450585B2 (en) 2008-11-11
JP2006101513A (ja) 2006-04-13
TW200637263A (en) 2006-10-16
CN1756259A (zh) 2006-04-05
CN1756259B (zh) 2011-04-20
KR100650843B1 (ko) 2006-11-27
US20060067342A1 (en) 2006-03-30
JP4328753B2 (ja) 2009-09-09

Similar Documents

Publication Publication Date Title
KR100650843B1 (ko) 임의의 어플리케이션 타입이 있는 ip 네트워크에서네트워크 주소 변환을 사용하기 위한 방법 및 시스템
US7924832B2 (en) Facilitating transition of network operations from IP version 4 to IP version 6
Senie Network address translator (nat)-friendly application design guidelines
US7454489B2 (en) System and method for accessing clusters of servers from the internet network
Hagino et al. An IPv6-to-IPv4 transport relay translator
US7139828B2 (en) Accessing an entity inside a private network
Srisuresh et al. IP network address translator (NAT) terminology and considerations
US7277453B2 (en) Inter private network communications between IPv4 hosts using IPv6
US20070094411A1 (en) Network communications system and method
US20050267978A1 (en) Method and apparatus for handling IPv4 DNS PTR queries across IPv4 and IPv6 networks
JP4766976B2 (ja) ノード間接続方法及び装置
EP2779588A2 (en) Methods and apparatus for hostname selective routing in dual-stack hosts
US9654540B2 (en) Load balancing among network servers
KR20070003890A (ko) 적어도 두 대의 계산장치 사이에서의 연결설정시 주소와포트번호의 요약
Nath et al. Tcp-ip model in data communication and networking
US7356031B1 (en) Inter-v4 realm routing
US7788407B1 (en) Apparatus and methods for providing an application level gateway for use in networks
Hamarsheh Deploying IPv4-only connectivity across local IPv6-only access networks
KR101124635B1 (ko) IPv4/IPv6 연동 게이트웨이
Raste et al. Design and implementation scheme for deploying IPv4 over IPv6 tunnel
Khaing Comparison of DOD and OSI Model in the Internet Communication
US20230388397A1 (en) Resolving Overlapping IP Addresses in Multiple Locations
Senie RFC3235: Network Address Translator (NAT)-Friendly Application Design Guidelines
Sheikh Networking Fundamentals
Thielens Master thesis: LISP Privacy: An addressless approach to client-server communication

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20101102

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee