KR20050039880A - 제 1 컴퓨터 네트워크로부터 제 2 컴퓨터 네트워크로의통신 세션들 개시 - Google Patents

제 1 컴퓨터 네트워크로부터 제 2 컴퓨터 네트워크로의통신 세션들 개시 Download PDF

Info

Publication number
KR20050039880A
KR20050039880A KR1020057004502A KR20057004502A KR20050039880A KR 20050039880 A KR20050039880 A KR 20050039880A KR 1020057004502 A KR1020057004502 A KR 1020057004502A KR 20057004502 A KR20057004502 A KR 20057004502A KR 20050039880 A KR20050039880 A KR 20050039880A
Authority
KR
South Korea
Prior art keywords
address
network
session
addressing
query
Prior art date
Application number
KR1020057004502A
Other languages
English (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 코닌클리케 필립스 일렉트로닉스 엔.브이.
Publication of KR20050039880A publication Critical patent/KR20050039880A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2585NAT traversal through application level gateway [ALG]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 제 1 네트워크로부터 제 2 네트워크로의 세션들의 시작을 인에이블하기 위한 계산 디바이스들의 시스템, 인터페이스 디바이스, 및 방법, 및 상기 방법을 수행하는 컴퓨터 프로그램 요소 및 컴퓨터 프로그램 제품에 관한 것이다. 네임 질의는 제 2 네트워크내의 제 2 디바이스에 관해 제 1 네트워크를 통해 통신하는 제 1 계산형 디바이스로부터 인터페이스 디바이스에서 수신된다(44). 질의는 제 1 네트워크의 제 1 어드레싱 영역내의 제 1 디바이스에 대한 제 1 어드레스(AZ)를 포함한다. 게이트웨이는 제 2 디바이스에 속한 제 2 네트워크의 제 2 어드레싱 영역내의 제 2 어드레스(AY)에 제 1 어드레스를 바인딩하고(50), 게이트웨이에 속한 제 1 어드레싱 영역내의 제 3 어드레스(AG)를 포함하는 메시지로 질의에 답한다(52). 인터페이스 디바이스는 거주 홈 네트워크과 인터넷간에 제공된 게이트웨이인 것이 바람직하다.

Description

제 1 컴퓨터 네트워크로부터 제 2 컴퓨터 네트워크로의 통신 세션들 개시{Initiating communication sessions from a first computer network to a second computer network}
본 발명은 일반적으로 컴퓨터 네트워크들간의 통신 분야에 관한 것으로서, 특히 2개의 컴퓨터 네트워크들간의 인터페이스에 관한 것이다. 본 발명은 또한, 제 1 어드레싱 영역을 갖는 제 1 네트워크를 통해 통신하는 제 1 계산형 디바이스로부터 제 2 어드레싱 영역을 갖는 제 2 네트워크상의 제 2 계산형 디바이스로의 세션들의 시작을 인에이블(enable)하는 계산 디바이스들의 시스템, 인터페이스 디바이스, 및 방법, 뿐만 아니라 상기 방법을 수행하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램 요소 및 컴퓨터 프로그램 제품에 관한 것이다.
컴퓨터 시스템들에서의 어드레싱 분야에서, 상이한 디바이스들에 의해 사용될 이용가능한 파블릭 어드레스(public address)들이 통상적으로 부족하다. 이는 전체 로컬 시스템에 대해 사용되는 하나 또는 몇가지 파블릭 어드레스만을 갖는 다수의 로컬 시스템들로 이끌고, 로컬 시스템은 이들 몇가지 어드레스들을 제어하는 게이트웨이를 통해 글로벌 네트워크와 통신할 것이다. 이 경우에서 통상적으로, 이러한 게이트웨이는 로컬 네트워크내의 디바이스들과 통신하기 위해 로컬 어드레싱 시스템을 사용한다.
로컬 네트워크내에서 글로벌 네트워크를 통한 다른 디바이스들과의, 이러한 디바이스들로부터의 세션들을 개시하기 위해, 게이트웨이에 NAT(네트워크 어드레스 번역(Network Address Translation)) 유닛이 통상적으로 제공되고, 여기서 NAT 유닛은 다른 디바이스들과의 통신을 위해 로컬 어드레스를 글로벌 어드레스로 번역한다. 그 다음에, 로컬 네트워크내의 디바이스는 로컬 네트워크 외부의 디바이스와의 세션을 시작할 수 있고, 그 다음에 NAT 유닛은 2개의 디바이스들이 서로간에 통신하기 위해 어드레스들이 어떻게 번역될지를 표시하는, 그러한 세션들에 대한 NAT 테이블내의 엔트리를 셋업한다. 그러나, 알려진 NAT 유닛들의 이들 종류에는 1개의 문제점이 존재하고, 이는 로컬 네트워크 외부의 디바이스로부터 통신 세션들이 시작되는 것을 허용하지 않고, 로컬 네트워크 내부로부터만 허용한다는 것이다. 예컨대, 적어도 한 측이 인입 세션들을 수락할 수 있어야만 하는, 피어 투 피어 네트워킹을 행할 때와 같이, 외부로부터 세션들을 시작 가능하게 할 필요가 있다.
Internet Society는 1999년 9월, P. Srisuresh, G. Tsirtsis, P. Akkiraju, 및 A. Heffernan에 의한 RFC 2694에서 글로벌 네트워크로부터 로컬 네트워크내의 디바이스로의 세션들을 시작하는 1개의 방법을 기술한다. 여기서, 로컬 네트워크와 글로벌 네트워크간의 인터페이스인 게이트웨이는 글로벌 네트워크에서 사용될 수 있는 다수의 어드레스들을 갖는다. 게이트웨이는 NAT 유닛, 및 DNS_ALG(도메인 네임 서비스 애플리케이션 레벨 게이트웨이(Domain Name Service Application Level Gateway)) 유닛을 또한 포함하고, 로컬 네트워크는 DNS 서버를 또한 포함한다. 글로벌 네트워크상의 디바이스가 세션을 시작하기를 바랄 때, 디바이스는 게이트웨이에 결국 도달하는 리커시브 네임 질의(recursive name query)를 전송한다. 게이트웨이는 이 질의를 DNS 서버에 보내고, DNS 서버는 질의된 네임과 연관된 로컬 디바이스의 로컬 어드레스를 게이트웨이에 리턴한다. 게이트웨이는 그것의 글로벌 어드레스들 중 하나를 로컬 어드레스에 바인딩(bind)하고, 질의에 대한 답으로서 글로벌 어드레스를 리턴한다. 그 다음에, 글로벌 네트워크상의 디바이스는 이 글로벌 어드레스로 세션을 시작할 수 있고, 게이트웨이는 바인딩(binding) 때문에, 어떤 디바이스 통신이 의도되는지 즉시 알 수 있다. 이 솔루션에는 몇가지 문제점들이 존재하고, 이는 1개의 글로벌 어드레스가 각각의 세션에 대해 예비 할당(reserve)된다는 것이다. 로컬 네트워크상의 하나 이상의 디바이스들로의 다수의 병렬 세션들이 존재한다면, 게이트웨이가 이용가능한 다수의 글로벌 어드레스들이 존재해야만 하고, 이는 오늘날의 시스템들에서 통상적으로 부족하다. 로컬 네트워크가 1개의 어드레스만을 갖는다면, 이 1개의 어드레스는 1개의 세션에 묶일 것이고, 더 이상의 인바운드 세션(inbound session)들에 대한 가능성은 존재하지 않는다.
다른 접근법은 WO-0215014에서 기술된다. 여기서, 외부 디바이스는 DNS 서버를 통해 로컬 네트워크에 대한 게이트웨이의 어드레스를 수신하고, 그 다음에, 외부 디바이스에 접촉될 디바이스의 로컬 어드레스를 리턴하는 게이트웨이에 접촉한다. 그 다음에 외부 디바이스는 게이트웨이의 어드레스 및 로컬 어드레스를 사용하여 게이트웨이와 통신함으로써, 세션을 시작할 수 있다. 게이트웨이가 로컬 어드레스를 어떻게 리턴 가능할 수 있는지가 또한 기술되고, 이는 도메인 네임을 로컬 어드레스들로 매핑하는 테이블을 가짐으로써 이루어지며, 그러면 상술된 접촉은 로컬 디바이스의 도메인 네임을 포함할 수 있다. 여기서, 세션을 시작하기 위해 외부 디바이스에서 필요한 수많은 특정 기능성이 존재한다. 외부 디바이스는 또한, 세션이 시작될 수 있기 전에 게이트웨이와 적어도 2회 통신해야만 한다.
도 1은 본 발명에 따른 게이트웨이를 통해 제 2 네트워크에 접속된 제 1 네트워크의 개략도.
도 2는 본 발명에 따른 게이트웨이의 블록도.
도 3은 본 발명에 따른, 제 1 네트워크로부터 제 2 네트워크로의 세션을 개시하는 방법의 흐름도.
도 4는 제 1 네트워크로부터 전송된, 게이트웨이에 도착한 데이터 패킷들을 다루는 방법의 흐름도.
도 5는 제 2 네트워크로부터 전송된, 게이트웨이에 도착한 데이터 패킷들을 다루는 방법의 흐름도.
도 6은 세션이 셋업되었을 때의 인바운드 세션 테이블의 컨텐트들의 개략도.
도 7은 인터넷으로부터 제 1 패킷이 인바운드 세션으로 수신된 후의 인바운드 세션 테이블의 컨텐트들의 개략도.
도 8은 본 발명에 따른 방법을 수행하기 위한 프로그램 코드가 저장된 컴퓨터 판독가능 매체의 개략도.
본 발명의 목적은, 하나 이상의 세션이 제 1 어드레싱 영역을 갖는 제 1 네트워크를 통한 디바이스들로부터 제 2 네트워크내의 디바이스들로 시작될 수 있도록 하는 메카니즘을 제공하는 것이고, 여기서 메카니즘은 제 1 네트워크를 통해 통신하는 디바이스들에 명료하며, 즉 제 2 네트워크내의 디바이스들과 어떻게 통신하는지에 대한 어떤 실제 지식을 가질 필요가 없으면서, 동시에 제 1 어드레싱 영역에서 전체 제 2 네트워크에 대한 1개의 어드레스만을 필요로한다.
본 발명의 제 1 양상에 따라, 본 목적은 제 1 어드레싱 영역을 갖는 제 1 네트워크를 통해 통신하는 제 1 계산형 디바이스로부터 제 2 어드레싱 영역을 갖는 제 2 네트워크상의 제 2 계산형 디바이스로의 세션들의 시작을 인에이블하는 방법에 의해 얻어지고, 상기 방법은:
제 1 디바이스와 연관된 제 1 어드레싱 영역의 제 1 어드레스를 포함하고 제 2 디바이스에 관한 네임 질의를 수신하는 단계;
수신된 제 1 어드레스를 제 2 디바이스에 속하는 제 2 어드레싱 영역의 제 2 어드레스에 바인딩하는 단계; 및
세션이 제 1 네트워크로부터 시작될 수 있도록, 제 1 네트워크와 제 2 네트워크간의 인터페이스에 속하는 제 1 어드레싱 영역의 제 3 어드레스를 포함하는 메시지로 질의에 답하는 단계를 포함한다.
본 발명의 제 2 양상에 따라, 본 목적은, 제 1 네트워크를 통해 인터페이스 디바이스와 통신하는 제 1 계산형 디바이스로부터 제 2 네트워크내의 제 2 계산형 디바이스로의 세션들의 시작을 인에이블하는, 제 1 어드레싱 영역을 갖는 제 1 네트워크와 제 2 어드레싱 영역을 갖는 제 2 네트워크간의 인터페이스 디바이스의 접속을 위한 인터페이스 디바이스를 포함하는 계산 디바이스들의 시스템 및 인터페이스 디바이스에 의해 또한 성취되고, 상기 계산 디바이스들의 시스템은,
제 2 디바이스에 관한 네임 질의를 수신하기 위한 제 1 네트워크에 접속될 제 1 입력으로서, 상기 질의는 제 1 디바이스와 연관된 제 1 어드레싱 영역의 제 1 어드레스를 포함하는, 상기 제 1 입력;
제 1 네트워크로의 접속을 위한 제 1 출력;
인바운드 세션 테이블; 및
제어 유닛을 포함하고,
상기 제어 유닛은,
수신된 제 1 어드레스를 제 2 디바이스에 속하는 제 2 어드레싱 영역의 제 2 어드레스에 바인딩하고;
제 1 및 제 2 어드레스들을 인바운드 세션 테이블내에 저장하고;
인터페이스 디바이스에 속하는 제 1 어드레싱 영역의 제 3 어드레스를 포함하는 메시지로서 질의에 대한 답을 생성하며;
세션이 제 1 디바이스로부터 제 2 디바이스로 시작될 수 있도록, 제 1 출력으로부터 답을 전송하도록 배열된다.
본 발명의 제 3 양상에 따라, 본 목적은, 제 1 어드레싱 영역을 갖는 제 1 네트워크와 제 2 어드레싱 영역을 갖는 제 2 네트워크간에서 접속가능한 컴퓨터상에서 사용될 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품 및 컴퓨터 프로그램 코드에 의해 또한 성취되고, 여기서 제 1 계산형 디바이스는 제 1 네트워크를 통해 컴퓨터와 통신할 수 있고, 제 2 네트워크는 제 2 계산형 디바이스를 포함하며, 상기 컴퓨터 판독가능 매체는:
컴퓨터에서 상기 프로그램이 로딩될 때, 컴퓨터를 실행시키는 컴퓨터 프로그램 코드 수단으로서:
제 1 계산 디바이스와 연관된 상기 제 1 어드레싱 영역의 제 1 어드레스를 포함하고 제 2 계산 디바이스에 관한 네임 질의를 제 1 계산 디바이스로부터 수신 시,
수신된 제 1 어드레스를 제 2 디바이스에 속하는 제 2 어드레싱 영역의 제 2 어드레스에 바인딩하고,
세션이 제 1 디바이스로부터 제 2 디바이스로 시작될 수 있도록, 컴퓨터에 속하는 제 1 어드레싱 영역의 제 3 어드레스를 포함하는 메시지로 상기 질의에 답하는, 상기 컴퓨터 프로그램 코드 수단을 갖는다.
다른 목적은 제 1 네트워크를 통해 통신하는 제 1 디바이스와 제 2 네트워크내의 제 2 디바이스간에서 여러 병렬 세션들을 인에이블하는 것이다.
본 발명의 제 4 양상에 따라, 본 목적은 청구한 제 4 항 및 제 11 항에서 규정된 특징들에 의해 얻어진다.
다른 목적은 인바운드 세션들과 연관된 네임들을 리졸빙(resolving)할 때, 도메인 네임 보안 확장(Domain Name Security Extensions; DNSSEC)의 사용을 인에이블하는 것이다.
본 발명의 제 5 양상에 따라, 본 목적은 청구항 제 9 항의 특징들로 성취된다.
본 발명은, 제 1 어드레싱 영역내의 1개의 어드레스만이 제 2 네트워크에 대해 사용됨에도 불구하고, 제 1 네트워크로부터 시작된, 제 2 네트워크내의 상이한 디바이스들을 갖는 여러 병렬 세션들을 허용하는 이점을 갖는다. 또한 피어 투 피어 네트워킹도 허용한다. 본 발명은, 제 2 네트워크상의 디바이스들이 업데이트들을 위한 요청들을 전송하지 않고, 소프트웨어 업그레이드들로서 이러한 서비스들을 제 2 네트워크상의 다수의 디바이스들에 쉽고 명료하게 제공하는 것을 가능하게 하는 이점을 또한 갖는다. 또한, 업데이트를 행하는 서버의 어드레스를 하드-코딩(hard-code)할 필요가 없다.
따라서, 본 발명 배경의 일반적인 아이디어는, 제 1 디바이스로부터의 네임 질의의 수신 시, 제 1 네트워크의 제 1 디바이스와 연관된 제 1 어드레스를 제 2 네트워크내의 제 2 디바이스에 바인딩하는 것으로서, 상기 질의는 제 1 어드레스를 포함한다. 그 다음에, 2개의 네트워크들간에 제공된 인터페이스 디바이스에 속하는 제 3 어드레스를 포함하는, 네임 질의에 대한 응답이 전송된다.
본 발명의 이들 및 다른 양상들은 이후 기술된 실시예들을 참조하여 명료하고 명백하게될 것이다.
본 발명은 첨부된 도면들에 관련하여 이제 더 상세히 설명될 것이다.
도 1은 본 발명 및 그 환경의 개략도를 도시한다. 도 1에서, 이 경우에서 인터넷인 제 1 네트워크(12)에 접속된 본 발명에 따른 인터페이스 디바이스(10)가 도시된다. 제 1 계산형 디바이스(14)가 제 1 네트워크(12)에 접속된다. 바람직한 실시예에서 게이트웨이(10)인 인터페이스 디바이스가 제 2 네트워크(16)에 또한 접속되고, 여기서 제 2 네트워크(16)는 제 2 및 제 3 계산형 디바이스(18 및 20)를 포함한다. 제 1 네트워크(12)는 제 1 어드레싱 영역을 갖고, 제 2 네트워크는 제 2 어드레싱 영역을 갖는다. 여기서, 제 1 어드레싱 영역은 예컨대 IPv4와 같은 IP-어드레싱 영역이며 광역으로 사용되고, 제 2 어드레싱 영역은 제 2 네트워크(16)내에서 사용되는 로컬 어드레싱 영역이다. 이 제 2 어드레싱 영역은 통상적으로 IP-어드레싱을 또한 사용한다. 바람직한 실시예에서, 제 2 네트워크(16)는 사설 홈 네트워크이다. 그러나, 본 발명은 사설 홈 네트워크들에 제한되지 않고, 예컨대 사업용 네트워크에서 또한 사용될 수 있다. 제 1 계산형 디바이스(14)는 또한 Z로 나타내고, 제 2 계산형 디바이스(18)는 Y로 나타내고, 제 3 계산형 디바이스(20)는 X로 나타내며, 게이트웨이(10)는 G로 나타낸다. 따라서, 상이한 디바이스들은 상이한 영역들에서 상이한 어드레스들을 갖는다. 제 1 디바이스(14)는 제 1 어드레싱 영역에서 어드레스 AZ를 갖고, 게이트웨이는 제 1 어드레싱 영역에서 제 3 어드레스 AG를 가지며, 제 2 디바이스(18)는 제 2 어드레싱 영역에서 제 2 어드레스 AY를 갖고, 제 3 디바이스(20)는 제 2 어드레싱 영역에서 제 4 어드레스 AX를 갖는다. 게이트웨이(10)는 제 2 어드레싱 영역에서 어드레스를 또한 가지고 있지만, 이 어드레스는 본 발명의 필수 부분이 아니므로, 본원에서 더 기술되지 않을 것임을 주지해야 한다. 제 2 및 제 3 디바이스들(18, 20)은 레귤러 컴퓨터들일 수 있지만, 이에 제한되지 않는다. 이들은 인터넷 라디오들, 프린터들, 스캐너들, 또는 어드레스를 사용하여 컴퓨터 네트워크들에 접속될 수 있는 컴퓨터 장비의 어떤 다른 타입과 같은 다른 계산형 디바이스들일 수 있다. 또한, 제 2 네트워크(16)에 더 많거나 또는 더 적은 디바이스들이 존재할 수 있음을 인식해야 한다. 예컨대, 동일하게, 제 1 디바이스(14)는 인터넷(12)에 접속될 수 있는, 서버 또는 어떤 다른 적합한 디바이스들일 수 있다. 또한, 제 1 디바이스(14)가 게이트웨이를 통해 인터넷과 통신하는 사설 또는 로컬 네트워크상의 디바이스일 수 있음을 인식해야 한다. 본원에서는, 본 발명을 더 용이하게 설명하기 위해 인터넷에 직접적으로 접속된 디바이스로서 도시된다.
본 발명에 따른 게이트웨이(10)의 단순화된 버전이 도 2의 블록도에 도시된다. 게이트웨이(10)는 데이터 패킷들의 수신을 위해 인터넷에 접속된 제 1 입력(22), 및 데이터 패킷들의 전송을 위해 인터넷에 또한 접속된 제 1 출력(24)을 갖는다. 게이트웨이는 데이터 패킷들의 전송을 위해 제 2 네트워크에 접속된 제 2 출력(26), 및 데이터 패킷들의 수신을 위해 제 2 네트워크에 또한 접속된 제 2 입력(28)을 또한 가진다. 제 1 레지스터(32)는 제 1 입력(22)과 제 2 출력(26)간에 접속되고, 제 2 레지스터(34)는 제 2 입력(28)과 제 2 제 1 출력(24)간에 접속된다. 데이터 패킷들이 이동하는 방향들은 화살표들로 표시된다. 제 1 및 제 2 레지스터들(32 및 34)은 제어 유닛(30)에 둘 다 접속되고, 여기서 제어 유닛(30)은 인바운드 세션 테이블(inbound session table)(36), 아웃바운드 세션 테이블(outbound session table)(38), 및 네임 리졸빙 유닛(name resolving unit)(40)에 접속된다. 인바운드 세션 테이블은 제 2 네트워크의 외부에서 시작된 세션들을 위해 사용되는 테이블이고, 즉, 제 2 네트워크내의 디바이스들과 통신하기를 바라는 제 1 네트워크내의 디바이스들에 의해 시작된 세션들을 위해 사용되며, 아웃바운드 세션 테이블은 제 1 네트워크내의 디바이스들에 의해, 제 2 네트워크내에서부터 시작된 세션들을 위해 사용된다. 네임 리졸빙 유닛(40)은 DNS(도메인 네임 서비스 능력(Domain Name Service Capabilities)를 갖는 서버이고, 즉 도메인 네임을 어드레스에 매핑하며, 여기서는 제 2 어드레싱 영역내의 어드레스에 매핑한다.
도 3, 4, 및 5는 이후 더 상세히 기술될 것인 본 발명이 어떻게 작동하는지를 기술하는 본 발명에 따른 상이한 흐름도들을 도시하고, 도 6은 세션이 개시된 후이지만 어떤 패킷들도 수신되기 전의 인바운드 세션 테이블(36)을 도시한다. 테이블의 각각의 열들은 진행중인 세션 또는 막 개시된 세션 전용이다. 상이한 디바이스들 간의 세션들을 위한 여러 열들이 존재할 수 있고, 동일한 2개의 디바이스들간의 상이한 세션들을 위한 여러 열들이 실제로 존재할 수 있음을 인식해야 함에도, 단순화하기 위해, 하나의 열 또는 세션만이 여기서 도시된다. 제 1 행(80)은 세션을 갖거나 또는 세션을 개시하는 제 1 네트워크내의 디바이스들의 어드레스들을 위해 사용되고, 여기서 제 1 디바이스의 제 1 어드레서 AZ가 도시된다. 제 2 행(82)은 제 1 네트워크의 어드레스와 연관된 포트 번호들을 위해 사용되고, 여기서 상기 행은, 세션이 아직 시작되지 않았기 때문에, 비어져 있다. 제 3 행(84)은 세션들내에 수반되거나 또는 수반될 제 2 네트워크내의 디바이스들의 어드레스를 위해 의도되고, 여기서 상기 행은 제 2 디바이스의 제 2 어드레스 AY를 도시하며, 제 4 행(86)은 제 2 네트워크상의 어드레스들에 관련하여 사용된 포트 번호들을 위해 의도되고, 여기서 상기 행은, 세션이 아직 시작되지 않았기 때문에, 빈칸이다. 도 7은 도 6과 동일한 행을 도시하지만, 세션이 진행중이기 때문에, 포트 번호들이 채워져 있다. 제 2 행(82)은 제 1 디바이스의 제 1 어드레스 AZ와 연관된 제 1 포트 번호 PZ를 수신하였고, 제 4 행(86)은 제 2 디바이스의 제 2 어드레스 AY와 견관된 제 2 포트 번호 PY를 수신하였다. 이들 세팅은 인터넷으로부터 게이트웨이에 의해 제 1 데이터 패킷들이 수신된 후에 만들어 졌다.
이제, 본 발명의 제 1 파트가 도 1, 2, 3, 및 6에 대해 만들어진 참조와 함께 기술될 것이다.
단계(42)에서, 제 1 디바이스(14)는 제 2 디바이스(20)와 통신하기 위한 어드레스를 얻기 위해, 넌-리커시브 네임 질의(non-recursive name query)를 제 1 게이트웨이(10)에 전송한다. 이는, 질의내의 리커시브 비트가 소거됨을 의미한다. 이 질의는 게이트웨이(10)의 네임 리졸빙 유닛(40)에 특히 송신된다. 이 질의는 제 2 디바이스(20)와 연관된 도메인 네임을 포함한다. 질의가 넌-리커시브 질의이므로, 질의는 제 1 디바이스의 제 1 어드레스를 포함한다. 이 네임 질의는 제 1 네트워크(12)내의 다른 DNS 서버들에 전송된 다수의 이전의 네임 질의들에 의해 진행되었을 것이다. 질의와 접촉된 각각의 이러한 DNS 서버에 대해, 그 서버는 하위 계층 레벨의 DNS 서버를 제 1 디바이스(14)에 표시한다. 이 방식으로, 제 1 디바이스는, 제 2 디바이스(20)의 네임을 어드레스에 매핑하는 네임 리졸빙 유닛(40)을 포함하는 게이트웨이(10)에 직접적으로 접촉할 때까지, 다수의 DNS 서버들에 질의한다. 그 다음에, 게이트웨이(10)는 DNS 질의를 제 1 입력(22)상에서 수신하고, 제 1 레지스터(32)내에 저장한다. 그 다음에 단계(46)에서, 제어 유닛(30)은 질의로부터 제 1 어드레스 AZ를 추출하고, 인바운드 세션 테이블(36)의 제 1 행(80)내에 저장한다. 따라서 단계(48)에서, 질의는 네임을 위해 제 2 디바이스(18)의 제 2 어드레스 AY를 찾는 네임 리졸빙 유닛(40)에 보내지고, 질의에 대한 응답을 제어 유닛(30)에 리턴한다. 응답은 0으로 세팅된 타임-라이브 필드(time-to-live field)를 또한 갖는다. 네임 리졸빙은 DNS 서버들에서 통상적으로 사용되는 공지의 원리들에 따라 수행된다. 예컨대, 이는 본원에서 참조로서 포함된, 1987년 11월, RFC 1034에서 P.Mockapetris에 의해 기술된다. 질의에 대한 응답은 단계(50)에서, 제어 유닛(30)이 인바운드 세션 테이블(36)의 제 3 행(84)내에 삽입하고, 제 1 어드레스 AZ에 바인딩하는, 제 2 어드레스 AY를 포함한다. 그 다음에 단계(52)에서, 제어 유닛은 제 2 어드레스 AY를 게이트웨이와 연관된 제 3 어드레스 AG로, 리플라이(reply)내의 소스 어드레스로서 대체하고, 그렇게 변경된 리플라이 또는 메시지를 제 2 레지스터(34)에 넣고, 여기서 메시지가 제 2 레지스터(34)로부터 제 1 출력(24)을 통해 제 1 디바이스(14)에 전송된다. 이는 제어 유닛이 질의에 답을 생성하는 것으로서 또한 보여질 수 있다. 제 1 디바이스는 디바이스(20)의 네임과 연관된 것으로서 제 2 디바이스(20) 대신에 게이트웨이(10)를 지목하는, 네임 질의에 관한 응답을 이제 수신할 것이다. 제 1 디바이스는 제 3 어드레스 AG를 목적 디바이스로서 사용하여 이제 세션을 시작할 수 있다. 따라서, 제 1 디바이스(14)는 1개의 질의를 게이트웨이(10)에 전송하고, 리플라이 수신 시 세션을 즉시 시작할 수 있고, 여기서 리플라이는 1개의 단일 데이터 패킷으로 제공될 수 있다. 따라서, 제 1 디바이스(14)는 세션을 시작하기 전에 1회 이상 게이트웨이(10)와 통신할 필요가 없다. 그러나, 게이트웨이는 인바운드 세션 테이블에서 만들어진 세팅들 때문에, 데이터 패킷들이 제 2 디바이스를 위해 의도된 것임을 알 것이다. 이것이 어떻게 이루어지는지는 아래 기술될 것이다.
인터넷(12)으로부터 게이트웨이(10)으로 오는 데이터 패킷들을 다루는 법에 관련한 본 발명의 제 2 파트가 도 1, 2, 4, 및 7에 관련하여 이제 기술될 것이다. 먼저, 아웃바운드 세션 테이블(38)이 아웃바운드 세션들, 즉 디바이스들(18 및 20)에 의해 시작된 세션들에 관한 정보로 채워질 수 있음을 지목해야 한다. 이 정보는 제 1 네트워크내의 다바이스의 어드레스 및 포트 번호, 세션을 시작하는 제 2 네트워크내의 디바이스의 어드레스 및 포트 번호, 및 게이트웨이의 포트 번호를 통상적으로 포함한다. 이 테이블은 종래의 NAT(네트워크 어드레스 번역(Network Address Translation)) 테이블이다. 이 타입의 테이블이 어떻게 작동하는지는 예컨대, 본원에서 참조로서 포함된, 2001년 1월, P Srisuresh and K. Egevang에 의한 RFC 3022에서 Internet Society에 의해 기술된다. 따라서, 게이트웨이(10)는 인바운드 세션들 및 아웃바운드 세션들 둘 다를 신경써야만 한다.
단계(54)에서, 게이트웨이는 제 1 입력(22)상에서 제 1 네트워크(12)로부터 패킷들을 수신하고, 여기서 패킷들은 제 1 레지스터(32)내에 저장된다. 그 다음에 단계(56)에서, 제어 유닛(30)은 데이터 패킷을 검사하고, 데이터 패킷을 위해 만들어진 엔트리들이 존재하는지 여부를 위해, 아웃바운드 세션 테이블(38)을 먼저 본다. 존재한다면, 단계(58)에서, 데이터 패킷은 테이블(38)내의 세팅들에 따른 어드레스 번역에 의해 얻어진 제 2 네트워크(16)상의 디바이스에 제 1 레지스터(32)로부터 제 2 출력(26)을 통해 전송된다. 단계(56)에서, 테이블(38)에 엔트리들이 존재하지 않는다면, 단계(60)에서, 제어 유닛(30)은 엔트리가 인바운드 세션 테이블(36)에 존재하는지 여부를 검사하기 위해 진행하며, 엔트리들이 존재하지 않다면, 단계(62)에서 패킷은 리젝트된다(reject). 위에 주어진 예에서, 데이터 패킷은 제 1 디바이스(14)에 의해 개시된 세션에서 제 1 데이터 패킷이다. 따라서, 단계(60)에서, 상기 테이블(36)내에 엔트리가 존재하고, 즉 테이블이 제 1 어드레스 AZ 및 제 2 어드레스 AY를 포함하며, 여기서 제 1 어드레스는 수신된 데이터 패킷내에 또한 포함된다. 따라서, 제어 유닛(30)은 데이터 패킷에서 사용된 포트 번호들을 본다. 그 다음에 단계(64)에서, 제어 유닛은, 상기 테이블에 삽입된 포트 번호들이 존재하지 않다면, 사용된 포트 번호를 인바운드 세션 테이블(36)내의 어드레스들에 삽입하고 바인딩한다. 여기서, 제 1 어드레스 AZ와 연관된 제 1 포트 번호 PZ는 제 2 행(82)에 삽입되고, 제 2 어드레스 AY와 연관된 제 2 포트 번호 PY는 제 4 행(86)에 삽입된다. 그 다음에 단계(66)에서, 제어 유닛(30)은 데이터 패킷에서 사용된 제 3 어드레스 AG를 테이블(36)로부터 선정된 제 2 어드레스 AY로 변경하고, 포트 번호들은 변경없이 남겨두고, 데이터 패킷을 제 1 레지스터(32)로부터 제 2 네트워크(16)내의 제 2 디바이스(18)에 제 2 출력(26)을 통해 전송한다. 제 1 디바이스(14)는 게이트 어드레스 AG와 연관된 제 2 포트 번호를 사용한다고 생각하지만, 게이트웨이(10)는 제 1 디바이스(14)와 제 2 디바이스(18)간의 전송 메카니즘의 일부일 뿐이므로, 제 3 어드레스 AG와 연관된 포트 번호를 변경하지 않지만, 제 2 어드레스 AZ와의 사용을 위한 동일한 포트 번호를 유지한다. 제 1 디바이스(14)로부터 시작된 동일한 세션내의 연속적인 데이터 패킷들에 대해, 테이블(36)은 더 업데이트되지 않을 것이지만, 어드레스 번역은 상술된 수단으로 이루어질 것이다.
아웃바운드 데이터 패킷들을 다루는 법이 도 1, 2, 5, 및 7에 관련하여 이제 기술될 것이다. 단계(68)에서, 게이트웨이(10)는 제 2 입력(28)상에서 제 2 네트워크(16)로부터 데이터 패킷을 수신할 것이고, 그 다음에 데이터 패킷은 제 2 레지스터(34)에 전송된다. 단계(70)에서, 제어 유닛(30)은 데이터 패킷내의 어드레스들 및 포트 번호들을 검사할 것이고, 인바운드 세션 테이블(36)을 먼저 보며, 데이터 패킷을 위한 엔트리가 존재했었는지를 본다. 존재했었을 경우에, 데이터 패킷은 목적 어드레스 및 제 2 네트워크(16)상의 디바이스의 어드레스, 뿐만 아니라 관련된 포트 번호들을 포함할 것이다. 제 1 디바이스(14)로부터 제 2 디바이스(20)로 시작된 세션에 관련하여 위에 주어진 예에서, 데이터 패킷은 목적 어드레스 AZ, 및 포트 번호 PZ, 뿐만 아니라 소스 어드레스 AY, 및 포트 번호 PY를 포함할 수 있다. 단계(72)에서, 제어 유닛(30)은 인바운드 세션 테이블로부터 세션 정보를 찾을 것이고, 데이터 패킷의 소스 어드레스 AY를 게이트웨이 어드레스 AG로 대체할 것이고, 그 다음에, 제 1 출력(24)상의 데이터 패킷을 목적 디바이스(20)에 전송할 것이다. 단계(70)에서 엔트리가 존재하지 않았다면, 그 다음에 단계(74)에서, 제어 유닛은 종래의 네트워크 어드레스 번역으로 진행한다. 이는 제어 유닛(30)이 아웃바운드 세션 테이블(38)을 체크하고, 엔트리들이 존재한다면, 테이블(38)에서 만들어진 엔트리들에 따라 패킷들을 보내고, 엔트리들이 존재하지 않는다면, 새로운 엔트리가 RFC 3022에서 설명된 원리들에 따라 만들어지며, 어드레스는 세팅들에 따라 번역되고, 그 다음에 목적 디바이스에 전송된다.
세션들은 2가지 방법들로 종료될 수 있다. TCP 트래픽의 경우에서, 세션은 데이터 패킷들내의 정보에 의해 명료하게 종료된다. 그러나, UDP 트래픽의 경우에서, 네트워크 계층에 '세션'의 개념이 없어서, 마지막 데이터 패킷이 언제 도착했는지 아는 방법이 없다. 여기서 타임-라이브 필드가 인바운드 세션들 테이블에 부가될 수 있고, 세션을 위해 준비된 길이에 관한 값을 포함한다. 이 타임-라이브 값은 충분히 큰 값으로 제공되어서, 시작 값으로서 상기 값을 사용하는 타임-아웃 함수가 진행중인 세션들을 이르게 종료하지 않도록 한다. 이 타입-라이브 값이 타임-아웃 함수에서 만료된 후, 엔트리는 테이블로부터 소거된다.
게이트웨이내의 상이한 유닛들은 본 발명에 따른 방법을 수행하기 위한 적절한 프로그램 코드를 포함하는 적합한 프로그램 메모리와 함께 하나 이상의 프로세스들의 형태로 통상적으로 제공된다. 테이블들은 메모리들의 형태로 또한 통상적으로 제공된다. 이를 수행하기 위한 소프트웨어 또는 프로그램 코드는 컴퓨터 판독가능 매체의 형태로 컴퓨터 프로그램 제품상에서 또한 제공될 수 있고, 이는 사실 컴퓨터의 종류인 게이트웨이에 로딩될 때, 본 발명에 따른 방법을 수행할 것이다. 디스켓들과 같은 다수의 상이한 매체들이 존재하지만, CD 롬(88)의 형태의 하나의 이러한 매체가 도 8에 도시된다. 프로그램 코드는 또한, 제 2 네트워크 외부의 서버로부터 원격으로 다운로딩될 수 있다.
기술된 게이트웨이는 상이한 입력, 출력, 및 버퍼 레지스터들의 형태로 여러 더 많은 레지스터들을 포함할 수 있음을 또한 이해해야 한다. 본 발명의 더 나은 이해를 위해 수를 의도적으로 낮게 유지하였다.
따라서, 본 발명은, 제 1 디바이스가 그것이 다른 어드레싱 영역내의 어드레스를 갖는 디바이스와의 세션을 셋업하는지 알지 못하며 제 2 네트워크 외부로부터의 세션들을 개시하면서, 동시에 제 2 네트워크에 대한 제 1 어드레싱 영역내의 1개의 어드레스만이 필요하고, 여전히 여러 인바운드 세션들을 허용하는 가능성을 제공한다. 이는, 게이트웨이가 제 1 어드레싱 영역에서 1 개의 어드레스만을 가져야만 함을 의미하는 것이 아니고, 게이트웨이는 여러 이러한 어드레스들을 가질 수 있다. 따라서, 본 발명은 피어 투 피어 네트워킹을 허용하여, 제 1 및 제 2 디바이스들 둘 다 클라이언트들 및 서버들로서 행할 수 있고, 둘 다 인바운드 및 아웃바운드 세션들을 가질 수 있다.
인바운드 세션들을 위해 사용된 포트 번호들은 잘 알려져 있으며, 등록된 포트 번호들이고, 아웃바운드 세션들은 다이나믹 및/또는 사설 포트들을 사용하는 것이 바람직하다. 이 방식으로, 인바운드와 아웃바운드 세션들간의 간섭에 대한 위험이 없게된다. 인바운드 세션 테이블내의 포트 번호들을 사용함으로써, 2개의 디바이스들간에서 진행중인 여러 상이한 인바운드 세션들을 갖는 것이 가능하다. 이에 부가하여, 내부 네트워크상의 다른 디바이스들과의 여러 인바운드 세션들을 갖는 것이 또한 가능하다. 공지의 등록된 포트 번호들을 사용함으로써, 이러한 서비스들을 소프트웨어 업그레이드들로서 제 2 네트워크상의 다수의 디바이스들에, 제 2 네트워크상의 디바이스들이 업데이트들을 위한 요청들을 전송할 필요 없이, 쉽고 명쾌하게 제공하는 것이 또한 가능하다. 또한, 업데이트를 행하는 서버의 어드레스를 하드-코딩할 필요 없다. 이는 어떤 서버도 언제나 업데이트들을 전송하는 것을 또한 가능하게 한다. 이 경우에서, 서버 어드레스 외에, 업데이트의 인증이 다른 수단에 의해 이루어져야만 한다.
어드레스들 및 포트들이 본 발명에 따라 사용되는 방식은 또한 게이트웨이가, 악의가 있는 사용자가 세션을 셋업하지 않고 내부 호스트의 호스트 네임을 계속 리졸빙하여 모든 다른 사용자들을 위한 모든 내부 호스트들로의 액세스를 막는 RFC 2694에서 기술된 서비스 공격들의 거부의 타입에 손상되지 않게 한다.
인바운드 세션 테이블에 대한 포트 번호 번역을 행하는 것이 또한 가능하다. 그러나, 특정 포트 번호들과 연관된 다수의 이점들을 잃게 될 것이다.
바람직한 실시예에서, 네임 리졸빙 유닛은 게이트웨이의 일부이다. 이는 도메인 네임 보안 확장(DNSSEC)에서 또한 이점을 갖고 사용될 수 있다. 이러한 확장들은 본원에서 참조로서 포함된, 1999년 3월, D. Eastlake에 의한, Domain Name Security Extensions - RFC 2535에서 기술된다. 이들 확장들로, 제 1 네트워크상의 제 1 디바이스는 답들이 게이트웨이내의 네임 리졸빙 유닛에 의해 인증되므로, 그것의 호스트네임 질의들에 대한 답들이 유효하다고 신용할 수 있다.
대안적인 실시예에서, 네임 리졸빙 유닛은, 게이트웨이가 네임을 리졸빙하기 위해 통신하는 제 2 네트워크상의 개별 엔티티일 수 있다. 그러면, 이 DNSSEC 특징은 사용하기에 가능하지 않을 수 있다.
네임 리졸빙 프로세스는 다이나믹 어드레싱 환경에서 이후 방식으로 또한 이루어질 수 있다. 네임 리졸빙 유닛은 제 2 네트워크 내부의 구역(zone)에 대해 믿을만한 것이다(authoritative). 상기 구역에 속하는 네임들 또는 호스트네임들의 번역에 대한 요청들은 다른 DNS 서버들에 의해 정확하게 위임되어야만 한다. 제 2 네트워크가 인터넷 서비스 제공자(ISP)에 접속되었다고 가정하자. 이 ISP는 파블릭 어드레스를 제 2 네트워크의 게이트웨이에 전한다. ISP는 또한 DNS 서버를 가지고, 고객의 네임, 즉 제 2 네트워크에 대한 네임, 및 ISP의 도메인 네임에 의해 형성된 구역 내부의 호스트네임들의 질의들을 위해 파블릭 어드레스를 참조하기 위해 이 서버를 업데이트한다. 예컨대, 고객이 ISP에 의해 john1234로서 알려져 있고, ISP는 네임 isp1234를 갖는다면, john1234의 거주 게이트웨이(residential gateway)가 ISP isp1234로부터 파블릭 어드레스를 수신할 때마다, 구역 isp1234.com에 대해 믿을만한 DNS 서버는 서브 구역 john1234.isp1234.com에 대한 질의들을 막 전해진 파블릭 어드레스에서 발견된 거주 게이트웨이의 네임 리졸빙 유닛에 위임할 것이다. 제 1 네트워크상의 디바이스가 devicey.john1234.isp1234.com이라 불리는, 홈 네트워크상의 디바이스 Y, 제 2 디바이스의 어드레스를 넌-리커시브하게 질의할 때, 질의는 구역 isp1234.com의 DNS 서버에 의해 거주 게이트웨이상의 구역 john1234.isp1234.com의 DNS 서버에, 즉 제 2 네트워크의 게이트웨이내의 네임 리졸빙 유닛에 위임될 것이다.
상술된 네임 리졸빙 프로세스와 결합된 도메인 네임 보안 확장(DNSSEC)의 이점은 특정 서비스들이 보증될 수 있다는 것이다. 제 1 디바이스가 서버라면, 그것이 전하는 서비스들(예컨대, 웨이크-업 콜들(wake-up calls), 개인화된 뉴스-피드들(personalized news-feeds)비디오 밋 오디오의 개인화된 스트리밍과 같은)에 대한 가입비를 지불하는 고객들에 속하는 디바이스들의 호스트네임들의 리스트를 보존할 수 있다. 서버는 이들 호스트네임들을 위한 질의들을 전송하고, 고객에 속하는 게이트웨이내의 네임 리졸빙 유닛은 이들 질의들에 응답할 수 있다. 이들 리플라이들은 인증되므로(DNSSEC), 서버가 정보를 진짜 고객에 속하는 디바이스에 전송하고 고객을 사칭한 해커에게 전송하는 것이 아님이 확신된다.
네임 리졸빙 유닛이 생성하는 네임 질의들에 대한 응답들에서 타임-라이브 필드를 0으로 세팅했기 때문에, 제 1 디바이스는 답을 로컬 캐시에 넣지 않을 것이고, 새로운 접속을 설립할 때마다, 넌-리커시브 요청을 반복할 것이다. 이는 2개의 목적들을 서브한다. 인바운드 세션내의 새로운 엔트리의 생성을 제 1 디바이스에 의해 만들어진 각각의 새로운 접속에 대해 허용하고(새로운 요청이 게이트웨이에 도착할 것이므로), 게이트웨이의 어드레스가 변경하면(예컨대, ISP가 다이나믹 어드레싱 환경에서 상이한 것을 전하기 때문에), 제 1 디바이스는 그것의 로컬 캐시내에 유지되던 기존의 어드레스를 사용하지 않을 것이다.
따라서, 본 발명은 제 1 네트워크로부터 제 2 네트워크로의 세션들의 개시를 용이하게 하는 시스템, 인터페이스 디바이스, 방법, 프로그램 제품, 및 프로그램 코드를 제공한다.
본 발명에 다수의 가능한 변화들이 존재하고, 이는 상술된 바에 부가하여 이루어질 수 있다. 본 발명은 IP-어드레싱에 제한되지 않고, 다른 타입들의 어드레싱이 또한 가능하다. 인바운드 세션 테이블로의 포트 번호들의 사비입들은 또한 생략될 수 있지만, 그러면 동일한 2개의 디바이스들간의 여러 병렬 세션들은 불가능하다. 원래의 질의는 또한 리커시브할 수 있지만, 그러면 질의하는 디바이스의 어드레스에 관한 게이트웨이를 지시하는 방식들이 제공되어야만 한다.
네트워크들은 또한 고정된 네트워크들일 필요는 없고, 예컨대 또한 무선 네트워크들일 수 있다.
따라서, 본 발명은 이후 청구항들에 의해서만 제한될 것이다.

Claims (17)

  1. 제 1 어드레싱 영역을 갖는 제 1 네트워크를 통해 통신하는 제 1 계산형 디바이스로부터 제 2 어드레싱 영역을 갖는 제 2 네트워크상의 제 2 계산형 디바이스로의 세션들의 시작을 인에이블링하는 방법에 있어서,
    상기 제 2 디바이스에 관련하고, 상기 제 1 디바이스와 연관된 상기 제 1 어드레싱 영역의 제 1 어드레스를 포함하는 네임 질의(name query)를 수신하는 단계;
    상기 수신된 제 1 어드레스를 상기 제 2 디바이스에 속하는 상기 제 2 어드레싱 영역의 제 2 어드레스에 바인딩하는(bind) 단계; 및
    세션이 상기 제 1 네트워크로부터 시작될 수 있도록, 상기 제 1 네트워크와 제 2 네트워크간의 인터페이스에 속하는 상기 제 1 어드레싱 영역의 제 3 어드레스를 포함하는 메시지로 상기 질의에 답하는 단계를 포함하는 세션들의 시작 인에이블 방법.
  2. 제 1 항에 있어서,
    상기 네임 질의의 결과로서 상기 제 2 어드레스를 제공하고, 상기 질의에 답하는 단계를 수행하기 전에 상기 제 2 어드레스를 상기 제 3 어드레스로 대체하는 단계를 더 포함하는, 세션들의 시작 인에이블 방법.
  3. 제 1 항에 있어서,
    상기 제 3 및 상기 제 1 어드레스를 포함하는 상기 제 1 디바이스로부터 제 1 데이터 패킷을 수신하고, 이전에 만들어진 바인딩(binding)에 기초하여 상기 제 3 어드레스를 상기 제 2 어드레스로 변경하며, 상기 세션의 제 1 데이터 패킷으로서 상기 패킷을 상기 제 2 디바이스에 보내는 단계를 더 포함하는, 세션들의 시작 인에이블링 방법.
  4. 제 3 항에 있어서,
    상기 제 1 데이터 패킷은 상기 제 1 어드레스에 관련한 제 1 포트 번호 및 상기 제 3 어드레스와 연관된 제 2 포트 번호를 포함하고,
    상기 제 1 및 제 2 포트 번호들을 이전에 바인딩된 제 1 및 제 2 어드레스들에 바인딩하고, 상기 제 1 및 제 2 포트 번호를 유지하면서, 상기 패킷을 상기 제 2 디바이스에 보내는 단계를 더 포함하는, 세션들의 시작 인에이블링 방법.
  5. 제 3 항에 있어서,
    상기 제 1 디바이스로부터 상기 제 2 디바이스로, 그리고 상기 제 2 디바이스로부터 상기 제 1 디바이스로 각각 상기 세션 동안 전송된 모든 데이터 패킷들에 대해, 상기 제 3 어드레스는 상기 제 2 어드레스로 변경되고, 상기 제 2 어드레스는 상기 제 3 어드레스로 변경되는, 세션들의 시작 인에이블링 방법.
  6. 제 5 항에 있어서,
    수신된 패킷들이 상기 제 2 네트워크상의 디바이스로부터 시작된 세션에 속하는지를 체킹하고, 그렇다면, 그 타입의 세션에 대해 만들어진 바인딩들에 따라 어드레스들을 번역하고, 그렇지 않으면 상기 제 2 네트워크 외부로부터 시작된 세션에 대해 만들어진 바인딩들에 따라 패킷들을 보내는 단계를 더 포함하는, 세션들의 시작 인에이블링 방법.
  7. 제 1 항에 있어서,
    상기 제 1 디바이스로부터 넌-리커시브 네임 질의(non-recursive name query)를 상기 제 2 네트워크에 전송하는 단계를 더 포함하는, 세션들의 시작 인에이블링 방법.
  8. 제 1 어드레싱 영역을 갖는 제 1 네트워크와 제 2 어드레싱 영역을 갖는 제 2 네트워크간의 접속을 위한 인터페이스 디바이스로서, 상기 제 1 네트워크를 통해 상기 인터페이스 디바이스와 통신하는 제 1 계산형 디바이스로부터 상기 제 2 네트워크내의 제 2 계산형 디바이스로의 세션들의 시작을 인에이블링하는, 상기 인터페이스 디바이스에 있어서,
    상기 제 2 디바이스에 관한 네임 질의를 수신하기 위한 상기 제 1 네트워크에 접속될 제 1 입력으로서, 상기 질의는 상기 제 1 디바이스와 연관된 상기 제 1 어드레싱 영역의 제 1 어드레스를 포함하는, 상기 제 1 입력;
    상기 제 1 네트워크로의 접속을 위한 제 1 출력;
    인바운드 세션 테이블(inbound session table); 및
    제어 유닛을 포함하고,
    상기 제어 유닛은,
    상기 수신된 제 1 어드레스를 상기 제 2 디바이스에 속하는 상기 제 2 어드레싱 영역의 제 2 어드레스에 바인딩하고;
    상기 제 1 및 제 2 어드레스들을 상기 인바운드 세션 테이블내에 저장하고;
    상기 인터페이스 디바이스에 속하는 상기 제 1 어드레싱 영역의 제 3 어드레스를 포함하는 메시지로서 상기 질의에 대한 답을 생성하며;
    세션이 상기 제 1 디바이스로부터 상기 제 2 디바이스로 시작될 수 있도록, 상기 제 1 출력으로부터 상기 답을 전송하도록 배열된, 인터페이스 디바이스.
  9. 제 8 항에 있어서,
    상기 네임 질의를 수신하고, 상기 네임 질의의 결과로서 상기 제 2 어드레스를 상기 제어 유닛에 제공하도록 배열된 네임 리졸빙 유닛(name resolving unit)을 더 포함하는, 인터페이스 디바이스.
  10. 제 8 항에 있어서,
    상기 제 1 입력은 상기 세션의 제 1 데이터 패킷으로서 상기 제 3 및 상기 제 1 어드레스를 포함하는 제 1 데이터 패킷을 상기 제 1 디바이스로부터 수신할 수 있고, 상기 제어 유닛은 상기 인바운드 세션내의 이전에 만들어진 바인딩들에 기초하여 상기 제 3 어드레스를 상기 제 2 어드레스로 변경하고, 상기 패킷을 상기 제 2 디바이스에 보내는 것을 개시하도록 배열된, 인터페이스 디바이스.
  11. 제 10 항에 있어서,
    상기 데이터 패킷은 상기 제 1 어드레스에 관련된 제 1 포트 번호 및 상기 제 3 어드레스와 연관된 제 2 포트 번호를 포함하고, 상기 제어 유닛은 상기 제 1 및 제 2 포트 번호를 이전에 바인딩된 제 1 및 제 2 어드레스들에 바인딩하고, 상기 제 1 및 제 2 포트 번호들을 유지하면서, 상기 패킷을 상기 제 2 디바이스에 보내도록 또한 배열된, 인터페이스 디바이스.
  12. 제 10 항에 있어서,
    상기 제어 유닛은 상기 제 1 디바이스로부터 상기 제 2 디바이스에 그리고 상기 제 2 디바이스로부터 상기 제 1 디바이스에 각각 상기 세션 동안 전송된 모든 데이터 패킷들내에서, 상기 제 3 어드레스를 상기 제 2 어드레스로 그리고 상기 제 2 어드레스를 상기 제 3 어드레스로 변경하도록 배열된, 인터페이스 디바이스.
  13. 제 12 항에 있어서,
    아웃바운드 세션 테이블(outbound session table)을 더 포함하고, 상기 제어 유닛은 수신된 패킷들이 상기 제 2 네트워크상의 디바이스로부터 시작된 세션에 속하는지를 상기 아웃바운드 세션 테이블에서 체크하고, 그렇다면 그 테이블에서 만들어진 바인딩들에 따라 어드레스들을 번역하고, 그렇지 않으면 상기 인바운드 세션 테이블에서 만들어진 바인딩들에 따라 패킷들을 보내도록 또한 배열된, 인터페이스 디바이스.
  14. 제 2 어드레싱 영역을 갖는 제 2 네트워크를 포함하는, 제 1 어드레싱 영역을 갖는 제 1 네트워크로의 접속을 위한 계산 디바이스들의 시스템으로서, 제 1 계산형 디바이스는 상기 제 1 네트워크를 통해 상기 시스템과 통신할 수 있고, 상기 제 2 네트워크는:
    제 2 계산형 디바이스; 및
    상기 제 1 네트워크와 제 2 네트워크간에 제공된 인터페이스 디바이스를 포함하는, 상기 계산 디바이스들의 시스템에 있어서,
    상기 인터페이스 디바이스는,
    상기 제 2 디바이스에 관한 네임 질의를 수신하기 위해 상기 제 1 네트워크에 접속될 제 1 입력으로서, 상기 질의는 상기 제 1 디바이스와 연관된 상기 제 1 어드레싱 영역의 제 1 어드레스를 포함하는, 상기 제 1 입력;
    상기 제 1 네트워크로의 접속을 위한 제 1 출력;
    인바운드 세션 테이블;
    제어 유닛을 포함하고,
    상기 제어 유닛은,
    상기 수신된 제 1 어드레스를 상기 제 2 디바이스에 속하는 상기 제 2 어드레싱 영역의 제 2 어드레스에 바인딩하고;
    상기 제 1 및 제 2 어드레스들을 상기 인바운드 세션 테이블내에 저장하고;
    상기 인터페이스 디바이스에 속하는 상기 제 1 어드레싱 영역의 제 3 어드레스를 포함하는 메시지로서 상기 질의에 대한 답을 생성하며;
    세션이 상기 제 1 디바이스로부터 상기 제 2 디바이스로 시작될 수 있도록, 상기 제 1 출력으로부터 상기 답의 전송을 개시하는, 계산 디바이스들의 시스템.
  15. 제 14 항에 있어서,
    넌-리커시브 네임 질의를 상기 제 2 네트워크에 전송하도록 배열된 상기 제 1 계산형 디바이스를 더 포함하는, 계산 디바이스들의 시스템.
  16. 제 1 어드레싱 영역을 갖는 제 1 네트워크와 제 2 어드레싱 영역을 갖는 제 2 네트워크간에서 접속가능한 컴퓨터상에서 사용될 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품으로서, 제 1 계산형 디바이스는 상기 제 1 네트워크를 통해 상기 컴퓨터와 통신할 수 있고, 상기 제 2 네트워크는 제 2 계산형 디바이스를 포함하는, 상기 컴퓨터 프로그램 제품에 있어서,
    상기 컴퓨터 판독가능 매체는,
    상기 컴퓨터에서 상기 프로그램이 로딩될 때, 상기 컴퓨터를 실행시키는 컴퓨터 프로그램 코드 수단으로서:
    상기 제 1 계산형 디바이스와 연관된 상기 제 1 어드레싱 영역의 제 1 어드레스를 포함하고 상기 제 2 계산 디바이스에 관한 네임 질의를 상기 제 1 계산 디바이스로부터 수신 시,
    상기 수신된 제 1 어드레스를 상기 제 2 디바이스에 속하는 상기 제 2 어드레싱 영역의 제 2 어드레스에 바인딩하고,
    세션이 상기 제 1 디바이스로부터 상기 제 2 디바이스로 시작될 수 있도록, 상기 컴퓨터에 속하는 상기 제 1 어드레싱 영역의 제 3 어드레스를 포함하는 메시지로 상기 질의에 답하는, 상기 컴퓨터 프로그램 코드 수단을 갖는, 컴퓨터 프로그램 제품.
  17. 제 1 어드레싱 영역을 갖는 제 1 네트워크와 제 2 어드레싱 영역을 갖는 제 2 네트워크간에서 접속가능한 컴퓨터상에서 사용될 컴퓨터 프로그램 요소로서, 제 1 계산형 디바이스는 상기 제 1 네트워크를 통해 상기 컴퓨터와 통신할 수 있고, 상기 제 2 네트워크는 제 2 계산형 디바이스를 포함하는, 상기 컴퓨터 프로그램 요소에 있어서,
    상기 컴퓨터에서 상기 프로그램이 로딩될 때, 상기 컴퓨터를 실행시키는 컴퓨터 프로그램 코드 수단으로서:
    상기 제 1 계산형 디바이스와 연관된 상기 제 1 어드레싱 영역의 제 1 어드레스를 포함하고 상기 제 2 계산 디바이스에 관한 네임 질의를 상기 제 1 계산 디바이스로부터 수신 시,
    상기 수신된 제 1 어드레스를 상기 제 2 디바이스에 속하는 상기 제 2 어드레싱 영역의 제 2 어드레스에 바인딩하고,
    세션이 상기 제 1 디바이스로부터 상기 제 2 디바이스로 시작될 수 있도록, 상기 컴퓨터에 속하는 상기 제 1 어드레싱 영역의 제 3 어드레스를 포함하는 메시지로 상기 질의에 답하는, 상기 컴퓨터 프로그램 코드 수단을 포함하는, 컴퓨터 프로그램 요소.
KR1020057004502A 2002-09-16 2003-08-04 제 1 컴퓨터 네트워크로부터 제 2 컴퓨터 네트워크로의통신 세션들 개시 KR20050039880A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP02078797.4 2002-09-16
EP02078797 2002-09-16

Publications (1)

Publication Number Publication Date
KR20050039880A true KR20050039880A (ko) 2005-04-29

Family

ID=31985101

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057004502A KR20050039880A (ko) 2002-09-16 2003-08-04 제 1 컴퓨터 네트워크로부터 제 2 컴퓨터 네트워크로의통신 세션들 개시

Country Status (6)

Country Link
US (1) US20060031514A1 (ko)
EP (1) EP1543669A1 (ko)
JP (1) JP2005539428A (ko)
KR (1) KR20050039880A (ko)
AU (1) AU2003250437A1 (ko)
WO (1) WO2004025925A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8140694B2 (en) * 2004-03-15 2012-03-20 Hewlett-Packard Development Company, L.P. Method and apparatus for effecting secure communications
CN100399773C (zh) 2005-04-29 2008-07-02 华为技术有限公司 实现ip域跨域互通的方法
US20070061465A1 (en) * 2005-09-15 2007-03-15 Hostway Corporation Host migration system
US7818454B2 (en) 2005-09-15 2010-10-19 Hostway Corporation Host migration system
EP2052526A2 (fr) * 2006-05-17 2009-04-29 France Telecom Serveur et procede pour gerer les noms de domaines dans un reseau
US7984186B2 (en) * 2007-08-27 2011-07-19 Dnsstuff, Llc Method, system, and apparatus for discovering user agent DNS settings
US7747780B2 (en) * 2007-08-27 2010-06-29 DNSStuff, INC. Method, system and apparatus for discovering user agent DNS settings
US8761008B2 (en) 2009-10-29 2014-06-24 The Boeing Company System, apparatus, and method for communication in a tactical network
AU2014348589A1 (en) * 2013-11-15 2016-06-02 Ebay Inc. Displaying activity across multiple devices
US20170156105A1 (en) * 2014-07-07 2017-06-01 Nokia Solutions And Networks Oy Realm based network-access-identifier (nai) modification for a roaming party needing to authenticate with home network

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001514833A (ja) * 1997-03-12 2001-09-11 ノマディックス・リミテッド・ライアビリティ・カンパニー ノーマッド変換器またはルータ
NL1007709C2 (nl) * 1997-12-05 1999-06-08 Herman Elderson Werkwijze en inrichting voor het omzetten van Internet Protocol adressen.
US6324585B1 (en) * 1998-11-19 2001-11-27 Cisco Technology, Inc. Method and apparatus for domain name service request resolution
WO2001013579A1 (fr) * 1999-08-18 2001-02-22 Fujitsu Limited Systeme et procede de repartition de charge dans un reseau, et support d'enregistrement destine au programme de ce systeme
US6961336B2 (en) * 2001-03-06 2005-11-01 Watchguard Technologies, Inc. Contacting a computing device outside a local network

Also Published As

Publication number Publication date
US20060031514A1 (en) 2006-02-09
JP2005539428A (ja) 2005-12-22
WO2004025925A1 (en) 2004-03-25
EP1543669A1 (en) 2005-06-22
AU2003250437A1 (en) 2004-04-30

Similar Documents

Publication Publication Date Title
Srisuresh et al. DNS extensions to network address translators (DNS_ALG)
US7533164B2 (en) Method and system for enabling connections into networks with local address realms
US7302496B1 (en) Arrangement for discovering a localized IP address realm between two endpoints
Ford et al. Issues with IP address sharing
EP2253124B1 (en) Method and apparatus for communication of data packets between local networks
AU2009304186B2 (en) NAT traversal method and apparatus
EP1333647A2 (en) Domain name management method and apparatus therefor
US20070094411A1 (en) Network communications system and method
US20060153230A1 (en) IPv6 / IPv4 translator
US20080168181A1 (en) Initiating Communication Sessions from a First Computer Network to a Second Computer Network
KR20050070119A (ko) 데이터 네트워크에서 리모트 액세스를 허용하는 방법 및장치
EP1848150B1 (en) Method and apparatus for hiding network topology
US9602333B2 (en) DNS server, gateways and methods for managing an identifier of a port range in the transmission of data
KR20070003890A (ko) 적어도 두 대의 계산장치 사이에서의 연결설정시 주소와포트번호의 요약
KR20060060040A (ko) 자동 프로토콜 프록싱을 위한 자동 구성된 명칭 공간의이용
KR20050039880A (ko) 제 1 컴퓨터 네트워크로부터 제 2 컴퓨터 네트워크로의통신 세션들 개시
EP1919168B1 (en) Global reachability in communication networks
Kannan et al. Supporting legacy applications over i3
Santos Private realm gateway
Sun et al. Port Control Protocol (PCP) Extension for Port-Set Allocation
Freire et al. A {TCP-layer} Name Service for {TCP} Ports
Srisuresh et al. RFC2694: DNS extensions to Network Address Translators (DNS_ALG)
Henrici et al. Site Multihoming and Provider-Independent Addressing Using IPv6
van Beijnum BEHAVE WG M. Bagnulo Internet-Draft UC3M Intended status: Standards Track P. Matthews Expires: March 23, 2009 Unaffiliated
Llorente Santos Yksityisen alueen yhdyskäytävä

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid