KR100949510B1 - 방화벽을 통과하여 데이터전송을 허용하기 위한 장치와 방법 - Google Patents

방화벽을 통과하여 데이터전송을 허용하기 위한 장치와 방법 Download PDF

Info

Publication number
KR100949510B1
KR100949510B1 KR1020037010887A KR20037010887A KR100949510B1 KR 100949510 B1 KR100949510 B1 KR 100949510B1 KR 1020037010887 A KR1020037010887 A KR 1020037010887A KR 20037010887 A KR20037010887 A KR 20037010887A KR 100949510 B1 KR100949510 B1 KR 100949510B1
Authority
KR
South Korea
Prior art keywords
computer
port
designated
internal
external
Prior art date
Application number
KR1020037010887A
Other languages
English (en)
Other versions
KR20030080006A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=23026907&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR100949510(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 아이볼네트워크 인코포레이티드 filed Critical 아이볼네트워크 인코포레이티드
Publication of KR20030080006A publication Critical patent/KR20030080006A/ko
Application granted granted Critical
Publication of KR100949510B1 publication Critical patent/KR100949510B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0209Architectural arrangements, e.g. perimeter networks or demilitarized zones
    • 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/2521Translation architectures other than single NAT servers
    • H04L61/2535Multiple local networks, e.g. resolving potential IP address conflicts
    • 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/2567NAT traversal for reachability, e.g. inquiring the address of a correspondent behind a NAT server
    • 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/2575NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
    • 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/2578NAT traversal without involvement of the NAT server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes

Abstract

양측 클라이언트컴퓨터가 방화벽에 의하여 보호받는 클라이언트컴퓨터 사이의 인터넷을 통한 데이터 전송에는 방화벽이 들어오는 패킷을 차단하기 때문에 문제점이 있다. 제 1 의 NAPT 또는 NAT 에 의하여 보호받는 제 1 의 클라이언트컴퓨터와 제 2 의 NAPT 또는 NAT 에 의하여 보호받는 제 2 의 클라이언트컴퓨터사이에서 제 1,2 의 방화벽을 통과하여 패킷기반의 데이터전송을 허용하게 하는 방법이 제공된다. 본 방법은 NAPT 또는 NAT를 사용하는 라우터와 같은 다른 장치에도 역시 적용될 수 있다.
방화벽, 데이터전송

Description

방화벽을 통과하여 데이터전송을 허용하기 위한 장치와 방법{Method and apparatus to permit data transmission to traverse firewalls on a computer network}
본 출원은 2001 년 2 월 20 일에 미국특허출원 60/269,357 호로서 출원된 , "컴퓨터 네트워크 상에서의 방화벽을 통과하여 실시간 미디어전송을 허용하기 위한 장치와 방법"이라는 명칭의 선출원을 우선권주장하여 출원한다.
본 발명은 컴퓨터 네트워크 상의 데이터 전송분야에 관한 것으로서, 더욱 상세히는 패킷기반의 전송프로토콜을 사용하는 데이터전송을 방화벽을 가로질러 허용하기 위한 데이터전송 분야에 관련한 것이다.
인터넷과 같은 광대역으로 연결된 컴퓨터들은 일반적으로 방화벽에 의하여 보호된다. 방화벽은 가장 일반적으로는 근대역 상에서 작동하는 컴퓨터들을 보호하기 위하여 사용되는 것이지만, 광대역 네트워크를 접속하는 서버를 포함하는 개별적인 컴퓨터들을 보호하기 위하여서도 사용된다. 본 출원에서는 "클라이언트컴퓨터" 라는 용어는 광대역 네트워크에 접속하는 어떠한 컴퓨터나 그러한 컴퓨터에서 작동하는 프로그램을 모두 망라한다.
그러한 컴퓨터는 반드시 필요한 것은 아니지만 근대역의 네트워크에서 작동 할 수 있고, 광대역 네트워크상에서 서버의 기능을 수행할 수도 있을 것이다.
방화벽은 전형적으로 여러 가지의 기능을 수행한다. 그들은 광대역 네트워크 상에서의 외부 컴퓨터로부터 내부 컴퓨터를 보호하고, 내부 컴퓨터가 광대역 네트워크에 접속할 수 있도록 허용한다. 방화벽은 많은 클라이언트 컴퓨터의 광대역 네트워크 상의 인터넷 프로토콜(IP)주소의 제한된 풀을 공유하게 하고, 광대역 네트워크 상의 다른 컴퓨터로의 접속의 재설정없이 근대역 네트워크 내에서 변경을 수행모하게 함으로서 근대역 네트워크의 관리를 더욱 효율적으로 할 수 있다.
방화벽은 전형적으로는, 각 네트워크 패킷을 그 목적지로 향하게 할지를 결정하기 위하여 체크하는 네트워크 게이트웨이 서버 상에서의 프로그램 또는 관련 프로그램의 집합체이다.
내부 컴퓨터와 광대역 네트워크 외부 사이에 장벽을 구축하기 위하여 방화벽은 공통적으로 NAT(network address translation : 네트워크 주소변환) 또는 NAPT(network address and port translation: 네트워크 주소 및 포트 변환)을 사용한다. NAT 는 클라이언트컴퓨터에 의하여 사용되는 내부IP어드레스( 만일 클라이언트컴퓨터가 거기에서 작동한다면, 내부 네트워크 상에서 알려진)를 광대역 네트워크 외부에서 알려진 다른 IP어드레스로의 변환이다.
방화벽은 내부IP어드레스를 하나 또는 그 이상의 글로벌한 외부IP어드레스로 맵핑하며, 복귀하는 패킷 상의 외부IP어드레스를 내부IP어드레스로 역으로 맵핑한다. NAPT 는 내부IP어드레스와 내부포트 모두를 외부 네트워크 내에서 알려진 다른 외부IP어드레스와 외부포트로 변환하는 것이다. NAPT를 사용하는 방화벽은 공통적 으로 이전에 인식된 IP어드레스와 포트로부터 온 것임을 확인하기 위하여, 들어오는 패킷을 스크리닝한다. 즉, 특정 IP어드레스와 포트로부터의 리퀘스트가, 이전에 방화벽으로부터 그 IP어드레스와 포트로 리퀘스트가 나갈 경우에만 방화벽을 가로질러 통과하는 것이다.
인터넷 상에서의 데이터 전송은 일상적인 현상이 되고 있다. 많은 인터넷 데이터전송이 오디오 그리고/또는 비디오 데이터를 라이브 또는 온-디맨드 스트리밍 서버로부터 스트리밍 클라이언트로 전송하고, 클라이언트컴퓨터 사이에서 실시간 상호반응적(interactive) 통신(채팅과 같은)을 제공하며, 웹서버에서 웹 클라이언트로 웹페이지의 컨텐츠를 전송하며, 네트워크 프로그램 사이의 다른 많은 형태의 통신을 위하여 사용되고 있다.
다른 형태의 데이터를 전송하기 위하여 다른 프로토콜이 사용된다. 예를 들면, 텍스트채팅은 일반적으로 전송제어프로토콜(TCP: transmission control protocol)을, 라이브 오디오/비디오 스트림과 관계되는 오디오/비디오회의는 유저 데이터그램 프로토콜(UDP: user datagram protocol)을 사용하여 전송된다.
인터넷에 직접 연결된 서버(즉, 방화벽 뒤에 있지 아니한)를 통한 통신은 일반적으로 클라이언트 측 방화벽에 의하여 장애받지 않으며; 서버로의 로그인의 행위는 방화벽을 통하여 서버로부터 복귀경로를 개방한다. 그러나, 방화벽은 일반적으로 직접적인 클라이언트 대 클라이언트 방식이나 피어-투-피어 통신에서는 블로킹을 수행한다. 시도된 하나의 해결책은 방화벽의 어떤 특정 포트들을 개방하는 것이나, 그러나 이 해결책은 (1) 대부분의 네트워크 관리자가 수행하기를 꺼려하는 방화벽의 세팅의 수정을 요구하고, (2) 어떤 종류의 포트변환을 수행하는 방화벽과는 함께 작동하지 않는 다는 것이다. 본 발명은 방화벽의 세팅의 변경없이 NAPT 또는 NAT 의 어느 것을 사용하여 방화벽을 가로질러 패킷 기반의 데이터전송을 허용하기 위한 방법을 제공한다. 본 발명은 더욱 일반적인 케이스로서 NAPT 를 사용하는 방화벽의 환경으로서 개시되어 있다. 그러나 본 발명에서 제공되는 방법은 NAT 를 사용하는 방화벽이나, NAPT 나 NAT 의 어느 것을 사용하는, 라우터와 같은 다른 형태의 장치에서도 사용될 수 있다.
본 발명은 따라서, 광대역컴퓨터 네트워크 상에서, 제 1 의 컴퓨터로부터 제 2 의 컴퓨터로 데이터패킷을 전송하고, 데이터패킷이 제 1 의 컴퓨터를 지정하는 제 1 의 소스어드레스를 가지는 제 1 의 컴퓨터로부터 전송되고, 데이터패킷이 제 2 의 컴퓨터를 지정하는 제 2 의 소스어드레스를 가지는 제 2 의 컴퓨터로부터 전송되는 방법에 있어서; 제 1 의 컴퓨터는, 제 1 의 컴퓨터로부터 상기 광대역네트워크로 데이터패킷을 전송할 때에 제 1 의 소스어드레스를 제 1 의 외부어드레스로 변환하는 제 1 의 방화벽에 의하여 보호되고, 제 2 의 컴퓨터는, 제 2 의 컴퓨터로부터 상기 광대역네트워크로 데이터패킷을 전송할 때에 제 2 의 소스어드레스를 제 2 의 외부어드레스로 변환하는 제 2 의 방화벽에 의하여 보호되고, 제 1,2 의 방화벽은 광대역컴퓨터네트워크 상에서 통신하고, 광대역 컴퓨터 네트워크를 경유하여 제 1,2 의 컴퓨터와 통신하는 지정된 수신컴퓨터를 사용하고, 본 방법은, (a) 제 1, 제 2 의 컴퓨터가 제 1,2 의 데이터패킷들을 지정 수신컴퓨터로 보내고, (b) 지정된 수신컴퓨터는 제 1 의 데이터패킷으로부터 제 2 의 컴퓨터로 제 1 의 외부어드레스를 통신하고, 제 2 의 데이터패킷으로부터 제 1 의 컴퓨터로 제 2 의 외부어드레스를 통신하며, (c) 제 2 의 컴퓨터는 제 1 의 외부어드레스로 데이터패킷을 전송하고, (d) 제 1 의 컴퓨터는 데이터패킷을 제 2 의 외부어드레스로 보내는 것을 특징으로 하는 방화벽을 통하여 전달되는 데이터전송을 허용하기 위한 방법을 제공한다.
본 발명의 방법은 나아가 부가적으로 제 2 의 컴퓨터를 가지고, 제 1 의 외부어드레스로 데이터 패킷을 보냄에 의하여 데이터의 양방향 전송을 제공하기 위한 것이다. 본 방법은 광대역 네트워크 상에서 통신하는 방화벽에 의하여 보호받는 복수 개의 컴퓨터에 적용될 수 있다. 방화벽은 NAT 또는 NAPT 일 수 있다. 만일 IP어드레스와 포트가, 또는 IP 어드레스만 방화벽에서 변환된다면 본 발명은 작동한다.
지정된 수신컴퓨터는 목적 서버, 데이터전송에 관련하는 피어 컴퓨터, 데이터 전송에 관여하지 아니하는 피어 컴퓨터를, 제한없이 포함할 수 있다.
본 발명은 나아가 상술한 방법을 실행할 컴퓨터프로그램, 광대역 네트워크 상에서의 2 개의 방화벽에 의하여 보호받는 컴퓨터들 사이에서의 데이터패킷의 전송을 위한 시스템을 제공한다.
도 1 은 본 발명의 바람직한 실시예를 도시하는 개략적인 다이아그램도.
도 2 는 본 발명의 바람직한 실시예를 도시하는 플로우챠트도이다.
도 1 은 NAPT 방화벽(FW2:24)에 의하여 보호되고 근대역 네트워크(22) 상의 클라이언트컴퓨터(C2:20)로, 인터넷(10)을 통하여 라이브 비디오 데이터스트림과 같은 UDP 데이터스트림을 보내고자 하는, NAPT방화벽(FW1:16)에 의하여 보호되는 근대역 네트워크(14) 상의 클라이언트컴퓨터(C1:12)를 개략적으로 도시한다. 이러한 구성에서, 클라이언트컴퓨터(C1)는 내부IP어드레스(H1)를 가지고 UDP 데이터스트림을 전송하기 위하여 내부포트(h1)를 사용한다. 방화벽(FW1)은 이들을 외부IP어드레스(F1)와 외부포트(f1:18)로 변환한다. 클라이언트컴퓨터(C2)는 내부IP어드레스(H2)를 가지고 UDP 데이터스트림을 받기 위하여 내부포트(h2)를 사용한다. 방화벽(FW2)은 외부IP어드레스(F2)와 외부포트(f2:26)에서 클라이언트컴퓨터(C2)로 향하는 UDP패킷을 수신할 것이다. 클라이언트컴퓨터(C1)와 클라이언트컴퓨터(C2) 모두 서버(S1:28)에 로그하며, 그 목적은 UDP 데이터스트림을 클라이언트컴퓨터(C1)로부터 클라이언트컴퓨터(C2)로 전송하기 위한 경로를 확보하기 위한 것이다. 그러나, UDP 데이터스트림은 서버를 통하여 전송되지 아니한다. 그것은 인터넷을 통하여 피어-투-피어 통신으로부터 실현될 수 있는 효율성과 규모성을 활용하기 위하여 클라이언트-투-클라이언트로 전송된다.
피어-투-피어 통신은 대부분의 모든 방화벽에 의하여 금지된다. NAPT 방화벽(FW1 과 FW2)는 단지 (1) 최근의 나가는 UDP패킷의 목적지와 소스의 어드레스와 그 소스와 목적지의 어드레스와 각각 일치하거나, (2) 최근의 나가는 UDP 패킷의 목적지와 소스의 포트가, 그 소스와 목적지의 포트와 각각 일치하는 경우에만 들어오는 UDP 패킷을 통과시키도록 허용한다. 만일, 클라이언트컴퓨터(C1) 또는 클 라이언트컴퓨터(C2)의 어느 것이 패킷을 어느 다른 것으로 보내고자 시도한다면, 수신자 측의 방화벽은 이러한 기준을 충족하지 못하면 들어오는 패킷을 차단할 것이다.
본 발명은 클라이언트컴퓨터(C1)가 UDP 데이터스트림을 하기와 같은 스텝으로서 클라이언트컴퓨터(C2)로 보내도록 허용한다.
(1) 클라이언트컴퓨터(C1)는 UDP패킷(U1)을 서버(S1)로 보낸다. 클라이언트컴퓨터(C1)는 그 내부IP어드레스와 UDP포트(H1:h1)로부터 전송을 개시한다. 방화벽(FW1)은 방화벽(FW1)의 외부인터페이스에서 IP어드레스와 포트를 F1:f1 으로 변환한다.
(2) 서버(S1)가 F1:f1 으로부터 패킷(U1)을 받을 때에, 서버(S1)는, 클라이언트컴퓨터(C1)로부터 시작된 UDP데이터스트림을 방화벽(FW1)이 보내게 될 외부IP어드레스와 외부포트로서 F1와 f1 을 인식한다.
(3) 클라이언트컴퓨터(C2)는 UDP패킷(U2)을 서버(S1)로 보낸다. 클라이언트컴퓨터(C2)는 그 내부IP어드레스와 UDP포트(H2:h2)로부터 전송을 개시한다. 방화벽(FW2)은 방화벽(FW2)의 외부인터페이스에서 IP어드레스와 포트를 F2:f2로 변환한다.
(4) 서버(S1)가 F2:f2로부터 패킷(U2)을 수신할 때에, 서버(S1)는, 클라이언트컴퓨터(C1)로부터 클라이언트컴퓨터(C2)로 전송될 UDP 데이터스트림을 방화벽(FW2)이 받게 되는 외부IP어드레스와 외부포트로서, F2와 f2 을 인식한다.
(5) 서버(S1)는 클라이언트컴퓨터(C2)에게, F1:f1 이 클라이언트컴퓨터(C1) 가 UDP 데이터스트림을 보내게 되는 외부IP어드레스와 포트임을 고지한다.
(6) 서버(S1)는 클라이언트컴퓨터(C1)에게, F2:f2 가 클라이언트컴퓨터(C2)를 목적지로 하는 UDP 데이터스트림이 보내어져야 하는 외부IP어드레스와 포트임을 고지한다.
(7) 클라이언트컴퓨터(C2)는 그 내부포트(h2)를 사용하여 UDP패킷(U3)을 F1:f1으로 보낸다. 방화벽(FW2)은 F2:f2 로부터 패킷을 보낼 것이다. 이 패킷은 방화벽(FW1)에 의하여 차단될 것이다. 그러나, 스텝(8)에서 설명하는 바와 같이, 클라이언트컴퓨터(C1)에 의하여 보내어진, 클라이언트컴퓨터(C2)를 목적지로 하는 후속적인 패킷을 방화벽(FW2)이 통과시키게 할 것이다.
(8) 클라이언트컴퓨터(C1)가 후속적으로 클라이언트컴퓨터(C2)로 목적지가 설정된 UDP 패킷으로 이루어진 데이터스트림을 그 내부포트(h1)로부터 보낼 때에, 방화벽(FW1)은 그들을 F1:f1: 으로부터 F2:f2 로 보내게 될 것이다. 스텝(7)에서 보내어진 패킷으로 인하여, 방화벽(FW2)은 F1:f1 을 그것이 최근에 F2:f2 로부터 보낸 어드레스와 프트로 인식한다.
따라서, F1:f1 으로부터 F2:f2 로 전송된 패킷이 방화벽을 통과하도록 허용하고 그들을 클라이언트컴퓨터(C2)를 위한 내부IP어드레스와 포트인 H2:h2 로 향하여 보낸다.
이러한 방법으로 본 발명은 클라이언트컴퓨터(C1)에서 출발하는 UDP 데이터스트림이 통과하여 클라이언트컴퓨터(C2)로 보내는 수단을 제공한다. 이것은 클라이언트컴퓨터(C1)가 라이브 또는 온-디맨드 데이터스트림을 클라이언트컴퓨터(C2) 로 보내는 스트리밍 응용분야에 활용될 수 있다.
스텝(1)에서 스텝(8)과 유사한 스텝이 역으로 수행될 수 있고, 클라이언트컴퓨터(C2)에서 출발하는 UDP 데이터스트림이 방화벽(FW1)을 통과하여 클라이언트컴퓨터(C1)로 보내는 것을 허용하게 된다.
따라서, 클라이언트컴퓨터(C1)와 클라이언트컴퓨터(C2)는 화상회의와 같은 UDP 데이터스트림의 쌍방향 전송에 의지하는 응용어플리케이션을 활용가능하게 한다.
수많은 클라이언트컴퓨터(C1. . .CN)에 의하여 수행되는 유사한 스텝이, NAPT방화벽을 통하여 개별 대 복수개(one-to-many), 복수개 대 개별(many-to-one), 복수개 대 복수개(many-to-many)로 UDP 데이터스트림의 전송을 가능하게 허용한다.
NAPT 를 사용하는 방화벽과 함께 작동하기 위한 방법에서는, 스텝(1과3 )에서 보내어진 패킷은 스텝(8)에서 데이터를 전송하기 위하여 사용되어진 형태와 동일한 형태(즉, TCP, UDP 등)의 것이어야 한다. 그 이유는 많은 컴퓨터 어플리케이션이나 방화벽이 다른 타입의 데이터를 전송하고 받기 위하여 다른 포트를 사용하기 때문이다. 그러나, 만일 그러한 경우가 아니라면, 스텝(1과3)에서 보내어진 패킷이 스텝(8)에서 사용되어진 형태와 동일한 형태의 것일 필요는 없다. 부가적으로, 스텝(8)에서 데이터를 클라이언트컴퓨터(C2)로 후속적으로 전송을 개시하기 위하여 사용되어지기 때문에(비록 아래에서 더욱 자세히 설명되는 바와 같이, IP어드레스의 부수적인 변환을 가능하도록 채택하는 방법이 사용될 수 있지만), 방화벽 (FW1)은 스텝(1)에서 초기 패킷을 보내기 위하여 동일한 외부IP어드레스나 포트를 사용하여야만 한다.
NAPT 를 사용하는 대부분의 실제적인 방화벽 프로그램은 동일한 타입의 패킷을 보내는 데에 사용되는 외부IP어드레스와 포트와 내부IP어드레스와 포트 사이에 일 대 일 맵핑을 발생시키기 때문에, 클라이언트컴퓨터(C1)에서의 소프트웨어가 동일한 내부IP어드레스나 포트로부터 양측 전송을 보내도록 작성하는 한 실제적으로 발생하는 일이다.
유사하게, 방화벽(FW2)은 스텝(8)에서 데이터의 수신을 개시하기 위하여 사용되어질 스텝 (3)에서의 패킷을 보내기 위하여 동일한 외부IP어드레스와 포트를 사용하여야 한다.
이것은 클라이언트컴퓨터(C2)에서의 소프트웨어가 동일한 내부IP어드레스와 포트에서(또는/ 로부터) 스텝(8)의 데이터를 전송하거나 스텝(3)에서 패킷을 보내기 위하여 작성되는 한, 실제적으로 발생하는 일이다.
당해 기술분야의 기술자에게 자명한 바와 같이, 본 방법은 클라이언트컴퓨터(C1)와 클라이언트컴퓨터(C2) 사이에서 양방향 데이터전송, 클라이언트컴퓨터(C1)로부터 클라이언트컴퓨터(C2. . .CN)로 개별 대 복수개의 데이터 전송, 클라이언트컴퓨터(C2. . .CN)로부터 C1 으로의 복수개 대 개별데이터전송, 클라이언트컴퓨터(C1. . . .CN) 사이의 복수개 대 복수개의 데이터전송을 지원하기 위하여 즉각적으로 채택될 수 있다.
물론, 본 발명은 본 발명의 개념을 명백하게 제공하기 위하여 방화벽으로 보호받는 클라이언트컴퓨터(C1)와 클라이언트컴퓨터(C2)로써 설명되어 있지만, 그러 나 방화벽에 의하여 오직 수신클라이언트컴퓨터만 보호받는 경우에도 즉시 적용될 수 있다.
지정된 수신컴퓨터는 목적지 서버의 제한없이 데이터전송과 관련된 피어컴퓨터, 데이터전송과 관련되지 아니한 피어컴퓨터를 포함하는 어떠한 형태의 컴퓨터일 수있다.
전술한 설명에 의하여 당해 기술자에게 명백한 바와 같이, 본 발명의 실제 실행에 있어서 많은 수정과 변경이 본 발명의 정신과 범위에서 벗어남이 없이 가능할 것이다. 예를 들면 가능한 변경과 수정은 하기와 같은 것을 포함하나 그에 제한되는 것은 아니다.
(1) 패킷손실이나 지연에 대한 보장을 위하여, 클라이언트컴퓨터(C1)와/또는 클라이언트컴퓨터(C2)는 스텝(1,3)에서 단일의 패킷 대신, 복수의 패킷을 보낼 수 있을 것이다. 패킷은 서버(S1)가 패킷의 어느 하나를 받았다는 확인이 수신될 때 까지 보내어 질 수 있다.
(2) 패킷손실이나 지연을 위한 보장으로서, 클라이언트컴퓨터(C2)는 스텝(7)에서 단일의 패킷 대신 복수개의 패킷이 보내어 질 수 있다. 패킷은 방화벽(FW1) 이 패킷의 어느 하나를 받았다는 확인이 수신될 때까지 보내어 질 수 있다.
(3) 클라이언트컴퓨터(C1) 또는 클라이언트컴퓨터(C2)가, UDP데이터스트림을 보내거나 받기 위한 분리된 개별 포트들을 사용하는 경우에도 본 방법은 사용될 수 있다. 예를 들면 클라이언트컴퓨터(C1)가 UDP 데이터스트림을 보내기 위하여 h1 을 사용하고, 데이터스트림을 수신하기 위하여 h3 을 사용한다면, 방화벽(FW1)은 이들 을 f1 과 f3 로 각각 변환할 것이다. 클라이언트컴퓨터(C2)는 그 수신포트로부터 f1 으로 UDP패킷을 보내고, 클라이언트컴퓨터(C1)는 UDP패킷을 f3 으로부터 클라이언트컴퓨터(C2)를 위한 송신포트로 보낼 것이다. 이들 패킷은 클라이언트컴퓨터(C1)가 클라이언트컴퓨터(C2)로( f1 을 통하여) 보내고, 클라이언트컴퓨터(C2)가 클라이언트컴퓨터(C1)로( f3 을 통하여) 보낼 수 있도록 경로를 개방할 것이다.
4. 양방향 통신의 경우와, 방화벽(FW1,FW2)이 UDP 데이터를 보내거나 받는 모두를 위하여 동일한 외부포트들을 사용하는 경우, 데이터스트림의 개시(초기) 데이터패킷은 패스를 개방하기 위하여(스텝(7)에서와 같이) 요구되는 패킷으로서 사용될 수 있다. 개시 데이터패킷은 하나의 데이터패킷이 다른 방향으로 보내어질 때까지 차단받을 것이다. 그러나, UDP 전송을 사용하는 응용어플리케이션은 전형적으로 패킷손실에 대하여 내구성이 있으며 본 방법은 초기 데이터패킷이나 패킷들의 손실이 문제시되는 어플리케이션에서 치명적인 것이 아닌 한, 작동할 것이다.
5. 만일 방화벽(FW1,또는 FW2)이 어떠한 이유(길이가 긴 데이터전송 또는 데이터공백(silence)의 기간)로 인하여 UDP데이터를 전송하기 위하여 사용되는 외부IP어드레스 또는 포트를 변화시키면, 본 방법은 외부IP어드레스와 포트를 인식하는 데이터를 리프레쉬하거나, 전송 패스를 개방,유지하도록 적용될 것이다.
예를 들면, 만일 방화벽(FW1)이 클라이언트컴퓨터(C1)로부터 개시되는 UDP 데이터의 전송을 위하여 사용되는 외부IP어드레스나 포트를 변경시키면, 방화벽(FW1)에 의하여 사용되어지고 있는 어떤 새로운 IP어드레스나 포트를 인식하 기 위하여 위에서의 스텝(1)과 같이 중간매개체의 서버(S1)로 새로운 패킷들이 주기적으로 보내어질 것이다.
남아있는 스텝(2)에서, 스텝(8)은 새로운 데이터를 사용하여 반복될 것이다. 스텝(1)에서의 서버(S1)로 보내어진 초기 패킷이, UDP 데이터스트림에서의 초기 데이터패킷으로서 동일한 IP어드레스와 포트로부터 나오는 충분한 시간 주기 동안 방화벽(FW1)에 의하여 사용되는 동일한 외부 송신IP어드레스와 포트가 본 발명이 요구하는 모든 것이다.
6. 위에서 가장 잘 설명되었지만, 서버(S1)는 방화벽(FW1)과 방화벽(FW2)에 의하여 사용되어지는 외부포트를 인식하기 위한 패킷들에 포함된 정보를 사용하기 위하여 클라이언트컴퓨터(C1)와 클라이언트컴퓨터(C2)로부터 발생하는 UDP 패킷을 수신하기 위한 중간매개체로서 사용된다.
그러나, 다른 외부포트의 각 터미널을 알리는 다른 어떠한 수단이 본 발명에 따라서 사용될 수 있다. 예를 들면, 클라이언트컴퓨터(C1)와 클라이언트컴퓨터(C2)는은, 어떤 UDP패킷을 그 소스로 복귀시키는 다른 에코서버(S1,S2)를 사용할 수 있다. 이것은 클라이언트컴퓨터(C1)와 클라이언트컴퓨터(C2)가 F1:f1 과 F2:f2를 각각 인식하는 것을 허용한다. 클라이언트컴퓨터(C1)와 클라이언트컴퓨터(C2)는 F1:f1 과 F2:f2에 대하여 각각 알려주기 위한 사용자 측의 오프라인의 정보교환이나, 다른 측이나 공통 서버로의 직접적인 TCP 전송일 수 있다.
7. 본 방법은 클라이언트컴퓨터가 일반적으로 서버로 로그할 때에 서버로부터의 복귀경로를 개방하기 때문에, 비로 본 방법이 그러한 경우에 항용 요청되는 것은 아니지만 클라이언트컴퓨터가 서버 컴퓨터를 통하여 통신하는 경우에 사용될 수 있다.
8. 본 방법은 수신 클라이언트컴퓨터가 방화벽 뒤에 있으나, 송신 클라이언트서버를 보호하는 어떠한 방화벽도 없는 경우에만도 역시 사용될 수 있다.
9. 비록 본 방법이 UDP패킷을 사용하는 리얼타임 오디오와 비디오 통신을 참조하여 설명하였지만, 당해 분야의 기술자에게는 패킷기반으로 하는 데이터전송의 다른 어떠한 형태로도 적용될 수 있다는 것은 분명하다.
10. 수신 패킷들로부터의 맵핑기술을 채용하고, 각각의 클라이언트컴퓨터의 외부 수신 IP어드레스와 포트로부터, 각각의 클라이언트 컴퓨터의 외부 송신IP어드레스와 포트로 요청되는 패킷들을 보내는 맵핑기술을 활용함에 의하여 본 방법은 내부와 외부어드레스와 포트 사이에 일대일 맵핑을 생성하지 않는 방화벽에도 역시 적용이 가능하다.
11. 비록 본발명이 NAPT 방화벽과 관련하여 설명되지 않았지만, 만일 방화벽(FW1,FW2)이 NAT 방화벽이라면 동일한 방식으로 작동할 것이다. 그러한 경우에는, NAT 방화벽(FW1)이 H1:h1 을 F1:h1 으로 변환하고, NAT 방화벽(FW2)은 H2:h2 를 F2:h2 로 변환할 것이다. 이 방법은 다르게도 동일할 것이다.
이상과 같은 본 발명은 나아가 상술한 방법을 실행할 컴퓨터프로그램, 광대역 네트워크 상에서의 2 개의 방화벽에 의하여 보호받는 컴퓨터들 사이에서의 데이터패킷의 전송을 위한 시스템을 제공한다.

Claims (36)

  1. 광대역 컴퓨터 네트워크(10) 상에서, 제 1 의 컴퓨터(12)로부터 제 2 의 컴퓨터(20)로 UDP 데이터패킷을 전송하고, 상기 제 1 의 컴퓨터는 제 1 의 내부 네트워크어드레스(H1)와, UDP 데이터패킷을 그로부터 전송하게 될 지정된 내부포트(h1)를 가지고, 상기 제 2 의 컴퓨터는 제 2 의 내부 네트워크어드레스(H2)와, UDP 데이터패킷을 거기에서 수신하게 될 지정 내부포트(h2)를 가지는 전송방법에 있어서;
    상기 제 1 의 컴퓨터는, 상기 광대역 컴퓨터 네트워크 상에서 통신할 때에 상기 제 1 의 내부 네트워크어드레스를 제 1 의 외부 네트워크어드레스(F1)로 변환하는 제 1 의 방화벽(16)에 의하여 보호되고,
    상기 제 2 의 컴퓨터는, 상기 광대역 컴퓨터 네트워크 상에서 통신할 때에 상기 제 2 의 내부 네트워크어드레스를 제 2 의 외부 네트워크어드레스(F2)로 변환하는 제 2 방화벽(24)에 의하여 보호되고,
    상기 제 1,2 의 방화벽은 상기 광대역 컴퓨터 네트워크 상에서 통신하고,
    상기 방법은 상기 광대역 컴퓨터 네트워크를 경유하여 상기 제 1,2 의 컴퓨터와 통신하는 지정 수신컴퓨터를 사용하고,
    상기 방법이,
    (a) 상기 제 1 의 컴퓨터가, 그 지정된 내부 전송포트를 사용하여 제 1 의 UDP 데이터패킷을 상기 지정 수신컴퓨터로 보내고 , 상기 제 2 의 컴퓨터는 그 지정된 내부 수신포트를 사용하여 제 2의 UDP 데이터패킷을 상기 지정 수신컴퓨터로 보내고,
    (b) 상기 지정 수신컴퓨터는 상기 제 1 의 외부 네트워크어드레스와, 상기 제 1 의 UDP 데이터패킷으로부터 결정된 상기 제 1 의 외부 네트워크어드레스와 상기 지정 내부송신포트를 상기 제 2 의 컴퓨터와 통신하고, 상기 제 2 의 외부 네트워크어드레스와 상기 제 2 의 UDP 데이터패킷으로부터 결정된 상기 지정 내부수신포트를 상기 제 1 의 컴퓨터와 통신하고,
    (c) 상기 제 2 의 컴퓨터는 그 지정된 내부수신포트를 사용하여 UDP 데이터패킷을 상기 제 1 의 외부 네트워크어드레스와 상기 제 1 의 컴퓨터의 지정 내부 전송포트로 보내고,
    (d) 상기 제 1 의 컴퓨터는 그 지정된 내부송신포트를 사용하여 UDP 데이터패킷을 상기 제 2 의 외부 네트워크어드레스와 상기 제 2 의 컴퓨터의 지정 내부 수신포트로 보내는 것을 특징으로 하는 방화벽을 통과하여 데이터전송을 허용하기 위한 방법.
  2. 광대역 컴퓨터 네트워크(10) 상에서, 제 1 의 컴퓨터(12)와 제 2 의 컴퓨터(20) 사이에서 UDP 데이터패킷을 양방향 전송하고, 상기 제 1 ,2 의 컴퓨터의 각각은 내부 네트워크어드레스, UDP 데이터패킷을 그로부터 전송하게 될 지정 내부포트, UDP 데이터패킷을 거기에서 수신하게 될 지정 내부포트를 가지는 방법에 있어서;
    상기 제 1 의 컴퓨터는, 상기 광대역 컴퓨터 네트워크 상에서 통신할 때에 상기 제 1 의 컴퓨터의 상기 내부 네트워크어드레스(H1)를 제 1 의 외부 네트워크어드레스(F1)로 변환하는 제 1 의 방화벽(16)에 의하여 보호되고,
    상기 제 2 의 컴퓨터는, 상기 광대역 컴퓨터 네트워크 상에서 통신할 때에 상기 제 2 의 내부 네트워크어드레스(H2)를 제 2 의 외부 네트워크어드레스(F2)로 변환하는 제 2 방화벽(24)에 의하여 보호되고,
    상기 제 1,2 의 방화벽은 상기 광대역 컴퓨터 네트워크 상에서 통신하고,
    상기 방법은 상기 광대역 컴퓨터 네트워크를 경유하여 상기 제 1,2 의 컴퓨터와 통신하는 지정 수신컴퓨터(28)를 사용하고, 상기 방법이,
    (a) 제 1 의 컴퓨터가, 2 개의 UDP 데이터패킷을 상기 지정 수신컴퓨터로 보내며, 하나는 상기 제 1 의 컴퓨터의 지정 내부전송포트(h1)를 사용하여 보내고, 하나는 상기 제 1 의 컴퓨터의 지정 내부수신포트를 사용하여 보내고,
    제 2 의 컴퓨터가, 2 개의 UDP 데이터패킷을 상기 지정 수신컴퓨터로 보내며, 하나는 상기 제 2 의 컴퓨터의 내부전송포트(h2)를 사용하여 보내고, 하나는 상기 제 2 의 컴퓨터의 지정 내부수신포트를 사용하여 보내고,
    (b) 상기 지정 수신컴퓨터는 상기 제 1 의 외부 네트워크어드레스, 지정 내부전송포트, 상기 제 1 컴퓨터로부터 보내어진 데이터패킷으로부터 결정되는 상기 상기 제1 의 컴퓨터의 지정 내부수신포트를 상기 제 2 의 컴퓨터로 통신하고,
    상기 제 2 의 컴퓨터로부터 보내어진 상기 데이터패킷으로부터 결정되는 상기 제 2 의 외부 네트워크어드레스, 지정 내부송신포트, 상기 제 2 의 컴퓨터의 지정 내부수신포트를 상기 제 1 의 컴퓨터로 통신하고,
    (c) 상기 제 2 의 컴퓨터는 그 지정된 내부수신포트를 사용하여 UDP 데이터패킷을 상기 제 1 의 외부 네트워크어드레스와, 상기 제 1 의 컴퓨터의 지정된 내부송신포트로 보내고, 상기 제 1 의 컴퓨터는 그 지정된 내부수신포트를 사용하여 UDP 데이터패킷을 상기 제 2 의 외부 네트워크어드레스와 상기 제 2 의 컴퓨터의 지정 내부전송포트로 보내고,
    (d) 상기 제 1 의 컴퓨터는 그 지정된 내부전송포트를 사용하여 UDP 데이터패킷을 상기 제 2 의 외부 네트워크어드레스와 상기 제 2 의 컴퓨터의 지정 내부수신포트로 보내고, 상기 제 2 의 컴퓨터는 그 지정된 내부전송포트를 사용하여 UDP 데이터패킷을 상기 제 1 의 외부 네트워크어드레스와 상기 제 1 의 컴퓨터의 지정된 내부수신포트로 보내는 것을 특징으로 하는 방화벽을 통과하여 데이터전송을 허용하기 위한 방법.
  3. 광대역 컴퓨터 네트워크(10) 상에서, 복수 개의 컴퓨터 중의 2 사이에서 UDP 데이터 패킷을 양방향 전송하고, 각각의 컴퓨터는 내부 네트워크어드레스, UDP 데이터패킷을 그로부터 전송할 지정된 내부포트, UDP 데이터패킷을 거기에서 수신하게 될 지정 내부포트를 가지고, 상기 각각의 컴퓨터는, 상기 광대역 컴퓨터 네트워크 상에서 통신할 때에 상기 내부 네트워크어드레스를 외부 네트워크어드레스로 변환하는 방화벽에 의하여 보호되고, 상기 방화벽을 통과하여 상기 광대역 컴퓨터 네트워크 상에서 데이터 전송을 허용하는 방법은, 상기 광대역 컴퓨터 네트워크를 경유하여 상기 복수 개의 컴퓨터와 통신하는 지정 수신컴퓨터(28)를 사용하고,
    상기 방법이,
    (a) 상기 복수 개의 컴퓨터가, 그들의 지정 내부수신포트를 사용하여 각각의 UDP 데이터패킷을 상기 지정 수신컴퓨터로 보내고, 그들의 지정 내부전송포트를 사용하여 UDP 데이터패킷을 상기 지정 수신컴퓨터로 보내고,
    (b) 상기 지정 수신컴퓨터는, 각각의 외부 네트워크어드레스, 지정 내부전송포트, 상기 데이터패킷으로부터 결정된 지정 내부수신포트를 상기 복수 개의 컴퓨터로 통신하고,
    (c) 제 1 의 외부 네트워크어드레스(H1)를 가지는, 상기 복수 개의 컴퓨터(12)의 제 1 의 컴퓨터는 그 지정된 내부수신포트(h1)를 사용하여 제 1 의 UDP 데이터패킷을 제 2 의 외부 네트워크어드레스(H2)와, 상기 복수 개의 컴퓨터의 제 2 의 컴퓨터(20)와 관련한 지정 내부전송포트로 보내고,
    상기 복수 개의 컴퓨터의 제 2 의 컴퓨터는 그 지정된 내부수신포트를 사용하여 UDP 데이터패킷을 상기 복수 개의 컴퓨터의 상기 제 1 의 외부 네트워크어드레스(F1)와, 상기 복수 개의 컴퓨터의 제 1 의 컴퓨터와 관련한 지정 내부전송포트로 보내고,
    (d) 상기 제 2 의 컴퓨터는 그 지정 내부전송포트를 사용하여 UDP 데이터패킷을 제 1 의 외부 네트워크어드레스와, 상기 제 1의 컴퓨터와 관련한 지정 내부수신포트로 보내고,
    상기 제 1 의 컴퓨터는 그 지정된 내부전송포트를 사용하여 UDP 데이터패킷을 상기 제 2 의 외부 네트워크어드레스와, 상기 제 2 의 컴퓨터와 관련한 지정 내부수신포트로 보내는 것을 특징으로 하는 방화벽을 통과하여 데이터전송을 허용하기 위한 방법.
  4. 제 1 항에 있어서,
    상기 각각의 방화벽은 상기 각각의 컴퓨터를 보호하고, 각각의 컴퓨터의 지정 내부전송과 수신포트를 외부전송과 수신포트로 변환하고,
    (ⅰ) 청구항 1 의 스텝(a)에서, 상기 지정 수신컴퓨터는 상기 제 1 의 외부 네트워크어드레스와 상기 제 1 의 UDP 데이터패킷으로부터 결정된 외부전송포트(f1)를 상기 제 2 의 컴퓨터로 통신하고, 상기 제 2 의 외부 네트워크어드레스와, 상기 제 2 의 UDP 데이터패킷으로부터 결정된 외부수신포트(f2)를 상기 제 1 의 컴퓨터로 통신하고,
    (ⅱ) 청구항 1 의 스텝(c)에서, 상기 지정 수신컴퓨터는 상기 제 1 의 외부 네트워크어드레스, 외부전송포트, 상기 제 1의 컴퓨터의 외부수신포트, 상기 제 1 의 컴퓨터로부터 보내어진 제 1 의 데이터패킷으로부터 결정된 상기 제 1 의 컴퓨터의 외부수신포트를 상기 제 2 의 컴퓨터와 통신하고, 상기 제 2 의 외부 네트워크어드레스, 외부전송포트, 상기 제 2 의 컴퓨터로부터 보내어진 상기 데이터패킷으로부터 결정된 상기 제 2 의 컴퓨터의 외부수신포트를 상기 제 1 의 컴퓨터와 통신하고 ,
    (ⅲ) 청구항 1 의 스텝(d)에서, 상기 제 1 의 컴퓨터로부터 보내어진 UDP 데이터패킷은 상기 제 1 의 컴퓨터의 지정 내부전송포트를 사용하여 상기 제 2 의 외부 네트워크어드레스와 상기 제 2의 컴퓨터의 외부수신포트로 보내어지는 것을 특징으로 하는 방화벽을 통과하여 데이터전송을 허용하기 위한 방법.
  5. 제 2 항에 있어서,
    상기 각각의 방화벽은 상기 각각의 컴퓨터를 보호하고, 각각의 컴퓨터의 지정 내부전송과 수신포트를 외부전송과 수신포트로 변환하고,
    (ⅰ) 청구항 2의 스텝(b)에서, 상기 지정 수신컴퓨터는 상기 제 1 의 외부 네트워크어드레스, 외부전송포트(f1), 상기 제 1의 컴퓨터의 외부수신포트, 상기 제 1 의 컴퓨터로부터 보내어진 제 1 의 데이터패킷으로부터 결정된 상기 제 1 의 컴퓨터의 외부수신포트를 상기 제 2 의 컴퓨터와 통신하고, 상기 제 2 의 외부 네트워크어드레스, 외부전송포트(f2), 상기 제 2 의 컴퓨터로부터 보내어진 상기 데이터패킷으로부터 결정된 상기 제 2 의 컴퓨터의 외부수신포트를 상기 제 1 의 컴퓨터와 통신하고 ,
    (ⅱ) 청구항 2 의 스텝(c)에서, 상기 제 2 의 컴퓨터로부터 보내어진 UDP 데이터패킷은 상기 제 2의 컴퓨터의 지정 내부수신포트를 사용하여 상기 제 1 의 컴퓨터의 상기 제 1 의 외부 네트워크어드레스와, 상기 제 1 의 컴퓨터의 외부전송포트로 보내어지고, 상기 제 1 의 컴퓨터로부터 보내어진 UDP데이터패킷은 상기 제 1 의 컴퓨터의 지정 내부수신포트를 사용하여 상기 제 2 의 외부 네트워크어드레스와 상기 제 2 의 컴퓨터의 외부전송포트로 보내어지고,
    (ⅲ) 청구항 2 의 스텝(d)에서, 상기 제 1 의 컴퓨터로부터 보내어진 UDP 데이터패킷은 상기 제 1 의 컴퓨터의 지정 내부전송포트를 사용하여 상기 외부 네트워크어드레스와 상기 제 2 의 컴퓨터의 외부수신포트로 보내어지고, 상기 제 2 의 컴퓨터로부터 보내어진 UDP 데이터패킷은 상기 제 2 의 컴퓨터의 내부전송포트를 사용하여 상기 제 1 의 외부 네트워크어드레스와, 상기 제 1 의 컴퓨터의 외부수신포트로 보내어지는 것을 특징으로 하는 방화벽을 통과하여 데이터전송을 허용하기 위한 방법.
  6. 제 3 항에 있어서,
    상기 각각의 방화벽은 상기 각각의 컴퓨터를 보호하고, 각각의 컴퓨터의 지정 내부전송과 수신포트를 외부전송과 수신포트로 변환하고,
    (ⅰ) 청구항 3 의 스텝(b)에서, 상기 지정수신컴퓨터는 각각의 외부 네트워크어드레스, 외부송신포트, 상기 데이터패킷으로부터 결정된 외부수신포트를 상기 복수 개의 컴퓨터와 통신하고,
    (ⅱ) 청구항 3 의 스텝(c)에서, 상기 복수개의 컴퓨터의 상기 제 1 의 컴퓨터는 그 지정 내부수신포트를 사용하여 제 1 의 UDP 데이터패킷을 상기 제 2 의 외부 네트워크어드레스와, 상기 복수개의 컴퓨터의 제 2 의 컴퓨터와 관련한 외부전송포트(f2)로 보내고, 상기 복수개의 컴퓨터의 상기 제 2 의 컴퓨터는 그 지정된 내부수신포트를 사용하여 UDP 데이터패킷을 상기 제 1 의 외부 네트워크어드레스와, 상기 복수개의 컴퓨터의 제 1 의 컴퓨터와 관련한 외부전송포트(f1)로 보내어지고,
    (ⅲ) 청구항 3 의 스텝(d)에서, 상기 제 2 의 컴퓨터는 그 지정된 내부전송포트를 사용하여 UDP 데이터패킷을 상기 제 1 의 외부 네트워크어드레스와, 상기 제 1 의 컴퓨터와 관련한 외부수신포트로 보내고, 상기 제 1 의 컴퓨터는 그 지정된 내부전송포트를 사용하여 UDP 데이터패킷을 상기 제 2 의 외부 네트워크어드레스와, 상기 제 2 의 컴퓨터와 관련한 외부수신포트로 보내는 것을 특징으로 하는 방화벽을 통과하여 데이터전송을 허용하기 위한 방법.
  7. 제 1 항 내지 제 3 항 기재의 어느 한 항에 있어서,
    상기 방화벽은 NAT 방화벽인 것을 특징으로 하는 방화벽을 통과하여 데이터전송을 허용하기 위한 방법.
  8. 제 4 항 내지 제 6 항 기재의 어느 한 항에 있어서,
    상기 방화벽은 NAPT 방화벽인 것을 특징으로 하는 방화벽을 통과하여 데이터전송을 허용하기 위한 방법.
  9. 제 1 항 내지 제 6 항 기재의 어느 한 항에 있어서,
    상기 데이터패킷들은 라이브 오디오/ 비디오 데이터스트림으로 이루어지는 것을 특징으로 하는 방화벽을 통과하여 데이터전송을 허용하기 위한 방법.
  10. 제 1 항 내지 제 6 항 기재의 어느 한 항에 있어서,
    상기 데이터패킷들은 저장된 오디오/비디오 데이터로 이루어지는 것을 특징으로 하는 방화벽을 통과하여 데이터전송을 허용하기 위한 방법.
  11. 제 1 항 내지 제 6 항 기재의 어느 한 항에 있어서,
    상기 데이터패킷들은 저장된 컴퓨터 파일의 컨텐츠로 이루어지는 것을 특징으로 하는 방화벽을 통과하여 데이터전송을 허용하기 위한 방법.
  12. 제 1 항 내지 제 6 항 기재의 어느 한 항에 있어서,
    상기 데이터패킷들은 오디오/비디오회의 통신을 수행하는 데이터스트림으로 이루어지는 것을 특징으로 하는 방화벽을 통과하여 데이터전송을 허용하기 위한 방법.
  13. 제 1 항, 제 2 항, 제 4 항, 제 5 항의 어느 한 항에 있어서,
    상기 스텝(a)에서 상기 복수개의 데이터패킷들은 상기 제1의 컴퓨터 및 제2 의 컴퓨터의 각각에 의하여 보내어지는 것을 특징으로 하는 방화벽을 통과하여 데이터전송을 허용하기 위한 방법.
  14. 제 1 항 내지 제 6 항 기재의 어느 한 항에 있어서,
    상기 스텝(c)에서 상기 복수개의 데이터패킷들은 상기 제1의 컴퓨터 및 제2 의 컴퓨터의 각각에 의하여 보내어지는 것을 특징으로 하는 방화벽을 통과하여 데이터전송을 허용하기 위한 방법.
  15. 제 1 항 내지 제 6 항 기재의 어느 한 항에 있어서,
    상기 스텝(d)에서 상기 복수개의 데이터패킷들은 상기 제1의 컴퓨터 및 제2 의 컴퓨터의 각각에 의하여 보내어지는 것을 특징으로 하는 방화벽을 통과하여 데이터전송을 허용하기 위한 방법.
  16. 제 1 항 내지 제 3 항 기재의 어느 한 항에 있어서,
    상기 컴퓨터의 각각은 상기 데이터패킷을 송,수신하기 위하여 동일한 내부포트를 사용하고,
    (a) 각각의 송신컴퓨터에 의하여 보내어진 UDP 데이터패킷은 상기 컴퓨터의 공통 내부 송,수신포트를 사용하여 보내어지고,
    (b) 각각의 수신컴퓨터로 보내어진 UDP 데이터패킷은 상기 컴퓨터의 공통 내부 전송, 수신포트를 사용하여 보내어지는 것을 특징으로 하는 방화벽을 통과하여 데이터전송을 허용하기 위한 방법.
  17. 제 4 항 내지 제 6 항 기재의 어느 한 항에 있어서,
    상기 컴퓨터의 각각은 상기 데이터패킷을 전송, 수신하기 위하여 동일한 내부포트들을 사용하고, 내부포트들은 상기 방화벽에 의하여 상기 데이터패킷을 송, 수신하기 위한 동일한 외부포트로 변환되고,
    (a) 각각의 송신컴퓨터에 의하여 보내어진 UDP 데이터패킷은 상기 컴퓨터의 공통 내부 전송 및 수신포트를 사용하여 보내어지고,
    (b) 각각의 수신컴퓨터로 보내어진 UDP 데이터패킷은 상기 컴퓨터의 공통 외부 전송 및 수신포트로 보내어지는 것을 특징으로 하는 방화벽을 통과하여 데이터전송을 허용하기 위한 방법.
  18. 제 1 항 내지 제 6 항 기재의 어느 한 항에 있어서,
    방화벽의 일부 또는 전부에 의하여 사용되는 외부포트들에서의 변경을 주기적으로 행하도록 스텝들이 반복하여 수행되는 것을 특징으로 하는 방화벽을 통과하여 데이터전송을 허용하기 위한 방법.
  19. 제 1 항 내지 제 6 항 기재의 어느 한 항에 있어서,
    상기 지정 수신컴퓨터는 공통서버(common server)인 것을 특징으로 하는 방화벽을 통과하여 데이터전송을 허용하기 위한 방법.
  20. 제 1 항 내지 제 6 항 기재의 어느 한 항에 있어서,
    상기 지정 수신컴퓨터는 데이터 전송에 관련한 피어컴퓨터(peer computer)인 것을 특징으로 하는 방화벽을 통과하여 데이터전송을 허용하기 위한 방법.
  21. 제 1 항 내지 제 6 항 기재의 어느 한 항에 있어서,
    상기 지정 수신컴퓨터는 데이터 전송에 관련하지 아니하는 피어컴퓨터인 것을 특징으로 하는 방화벽을 통과하여 데이터전송을 허용하기 위한 방법.
  22. 제 1 항 내지 제 6 항 기재의 어느 한 항에 있어서,
    (a) 상기 지정 수신컴퓨터는 에코서버(echo server)이며, 상기 에코서버는 상기 지정 수신컴퓨터로 전송된 상기 UDP 데이터패킷의 각각으로부터의 상기 어드레스와 포트를, 상기 UDP 데이터패킷의 소스였던 제1의 컴퓨터 및 제2의 컴퓨터로 통신하고,
    (b) 상기 제1의 컴퓨터 및 제2의 컴퓨터는 광대역 컴퓨터 네트워크 상에서 그들의 각각의 어드레스와 포트를 다른 컴퓨터와 통신하는 것을 특징으로 하는 방화벽을 통과하여 데이터전송을 허용하기 위한 방법.
  23. 제 1 항 내지 제 6 항 기재의 어느 한 항에 있어서,
    상기 컴퓨터는 서버컴퓨터를 통하여 데이터를 전송함에 의하여 광대역 네트워크 상에서 통신하는 것을 특징으로 하는 방화벽을 통과하여 데이터전송을 허용하기 위한 방법.
  24. 광대역 컴퓨터 네트워크(10) 상에서, 제 1 의 컴퓨터(12)로부터 제 2 의 컴퓨터(20)로 UDP 데이터패킷을 전송하는 컴퓨터프로그램제품에서,
    컴퓨터 사용가능한 매체가 그 매체에 구현된 컴퓨터판독가능한 프로그램코드를, 상기 제 1 의 컴퓨터가 UDP 데이터패킷을 전송하는 내부포트(h1)를 지정하고, 거기에서 제 2 의 컴퓨터가 UDP 데이터패킷을 수신하는 내부포트(h2)를 지정하며, 상기 제 1 의 컴퓨터는 제 1 의 내부 네트워크어드레스(H1)를 가지고 상기 제 2 의 컴퓨터는 제 2 의 내부 네트워크어드레스(H2)를 가지는 컴퓨터프로그램제품에 있어서;
    상기 제 1 의 컴퓨터는, 상기 광대역 컴퓨터 네트워크 상에서 통신할 때에 상기 제 1 의 내부 네트워크어드레스를 제 1 의 외부 네트워크어드레스(F1)로 변환하는 제 1 의 방화벽(16)에 의하여 보호되고,
    상기 제 2 의 컴퓨터는, 상기 광대역 컴퓨터 네트워크 상에서 통신할 때에 상기 제 2 의 내부 네트워크어드레스를 제 2 의 외부 네트워크어드레스(F2)로 변환하는 제 2 의 방화벽(24)에 의하여 보호되고,
    상기 제 1,2 의 방화벽을 통과하여 상기 광대역 컴퓨터 네트워크 상에서 데이터 전송을 허용하는 방법은 상기 광대역 컴퓨터 네트워크를 경유하여 상기 제1,2의 컴퓨터와 통신하는 지정 수신컴퓨터(28)를 사용하고,
    상기 컴퓨터 프로그램 제품이,
    (a) 상기 제 1 의 컴퓨터가, 상기 지정된 내부 전송포트를 사용하여 제 1 의 UDP 데이터패킷을 상기 지정 수신컴퓨터로 전송하도록 하고, 상기 제 2 의 컴퓨터가 상기 지정 내부수신포트를 사용하여 제 2 의 UDP 데이터패킷을 상기 지정 수신컴퓨터로 전송하도록 하는 컴퓨터가 판독가능한 프로그램코드수단이 매체에 설치되는 컴퓨터사용가능의 매체,
    (b) 상기 지정된 수신컴퓨터는 상기 제 1 의 외부네트워크어드레스와, 상기 제 1 의 UDP 데이터패킷으로부터 결정되는 상기 지정 내부전송포트를 상기 제 2 컴퓨터로 통신하고, 상기 제 2 의 외부 네트워크어드레스와, 상기 제 2 의 UDP 데이터패킷으로부터 결정되는 상기 지정 내부수신포트를 상기 제 1 컴퓨터로 통신하도록 하는 컴퓨터가 판독가능한 프로그램코드수단이 매체에 설치되는 컴퓨터사용가능의 매체,
    (c) 상기 제 2 의 컴퓨터가, UDP 데이터패킷을 그 지정된 내부수신포트를 사용하여 상기 제 1 의 외부 네트워크어드레스와 상기 제 1 의 컴퓨터의 지정 내부전송포트로 보내도록 하는 컴퓨터가 판독가능한 프로그램코드수단이 매체에 설치되는 컴퓨터사용가능의 매체,
    (d) 상기 제 1 의 컴퓨터가 UDP 데이터패킷을 그 내부전송포트를 사용하여 상기 제 2 의 외부 네트워크어드레스와 상기 제 2 의 컴퓨터의 내부수신포트로 보내도록 하는 컴퓨터가 판독가능한 프로그램코드수단이 매체에 설치되는 컴퓨터사용가능의 매체인 것을 특징으로 하는 방화벽을 통과하여 데이터전송을 허용하기 위한 컴퓨터프로그램 판독가능매체.
  25. 광대역 컴퓨터 네트워크(10) 상에서, 제 1 의 컴퓨터(12)와 제 2 의 컴퓨터(20) 사이에서 양방향 전송을 허용하는 컴퓨터프로그램제품에서,
    컴퓨터 사용가능한 매체가 그 매체에 구현된 컴퓨터판독가능한 프로그램코드를, 상기 각각의 컴퓨터에, 거기로부터 상기 컴퓨터가 UDP 데이터패킷을 전송하는 내부포트를 지정하고, 거기에서 상기 컴퓨터가 UDP 데이터패킷을 수신하게 되는 내부포트를 지정하고, 상기 각각의 컴퓨터는 내부 네트워크어드레스를 가지는 컴퓨터프로그램제품에 있어서;
    상기 제 1 의 컴퓨터는, 상기 광대역 컴퓨터 네트워크 상에서 통신할 때에 상기 제 1 의 내부어드레스(H1)를 제 1 의 외부어드레스(F1)로 변환하는 제 1 의 방화벽(16)에 의하여 보호되고, 상기 제 2 의 컴퓨터는, 상기 광대역 컴퓨터 네트워크 상에서 통신할 때에 상기 제 2 의 내부어드레스(H2)를 제 2 의 외부어드레스(F2)로 변환하는 제 2 의 방화벽(24)에 의하여 보호되고,
    상기 제 1,2 의 방화벽을 통과하여 상기 광대역 컴퓨터 네트워크 상에서 데이터 전송을 허용하는 방법은,
    상기 광대역 컴퓨터 네트워크를 경유하여 상기 제 1,2 의 컴퓨터와 통신하는 지정된 수신컴퓨터(28)를 사용하고,
    상기 컴퓨터 프로그램 제품이,
    (a) 제 1 의 컴퓨터가, 2 개의 UDP 데이터패킷을 상기 지정 수신컴퓨터로 보내며, 하나는 상기 제 1 의 컴퓨터의 지정 내부전송포트를 사용하여 보내고, 하나는 상기 제 1 의 컴퓨터의 지정 내부수신포트를 사용하여 보내고,
    제 2 의 컴퓨터가, 2 개의 UDP 데이터패킷을 상기 지정 수신컴퓨터로 보내며, 하나는 상기 제 2 의 컴퓨터의 내부전송포트를 사용하여 보내고, 하나는 상기 제 2 의 컴퓨터의 지정 내부수신포트를 사용하여 보내도록 하는 컴퓨터가 판독가능한 프로그램코드수단이 매체에 설치되는 컴퓨터사용가능의 매체,
    (b) 상기 지정 수신컴퓨터가, 상기 제 1 의 외부 네트워크어드레스, 지정 내부전송포트, 상기 제 1 컴퓨터로부터 보내어진 데이터패킷으로부터 결정되는 상기 제 1 의 컴퓨터의 지정 내부수신포트를 상기 제 2 의 컴퓨터로 통신하고,
    상기 제 2 의 컴퓨터로부터 보내어진 상기 데이터패킷으로부터 결정되는 상기 제 2 의 외부 네트워크어드레스, 지정 내부송신포트, 상기 제 2 의 컴퓨터의 지정 내부수신포트를 상기 제 1 의 컴퓨터로 통신하도록 하는 컴퓨터가 판독가능한 프로그램코드수단이 매체에 설치되는 컴퓨터사용가능의 매체,
    (c) 상기 제 2 의 컴퓨터가, 그 지정된 내부수신포트를 사용하여 UDP 데이터패킷을 상기 제 1 의 외부 네트워크어드레스와, 상기 제 1 의 컴퓨터의 지정 내부송신포트로 보내고, 상기 제 1 의 컴퓨터는 그 지정 내부수신포트를 사용하여 UDP 데이터패킷을 상기 제 2 의 외부 네트워크어드레스와 상기 제 2 의 컴퓨터의 지정 내부전송포트로 보내도록 하는 컴퓨터가 판독가능한 프로그램코드수단이 매체에 설치되는 컴퓨터사용가능의 매체,
    (d) 상기 제 1 의 컴퓨터가, 그 지정된 내부전송포트를 사용하여 UDP 데이터패킷을 상기 제 2 의 외부 네트워크어드레스와 상기 제 2 의 컴퓨터의 지정 내부수신포트로 보내고, 상기 제 2 의 컴퓨터는 그 지정된 내부전송포트를 사용하여 UDP 데이터패킷을 상기 제 1 의 외부 네트워크어드레스와 상기 제 1 의 컴퓨터의 지정 내부수신포트로 보내는 것을 특징으로 하는 방화벽을 통과하여 데이터전송을 허용하도록 하는 컴퓨터가 판독가능한 프로그램코드수단이 매체에 설치되는 컴퓨터사용가능의 매체인 것을 특징으로 하는 방화벽을 통과하여 데이터전송을 허용하기 위한 컴퓨터프로그램 판독가능매체.
  26. 광대역 컴퓨터 네트워크(10) 상에서, 복수 개의 컴퓨터 중의 어떤 2 개의 컴퓨터 사이에서 UDP 데이터 패킷을 양방향 전송을 허용하고, 컴퓨터 사용가능한 매체가 그 매체에 구현된 컴퓨터판독가능한 프로그램코드를, 상기 복수개의 각각의 컴퓨터를 위하여 UDP 데이터패킷을 그로부터 전송할 내부포트와, 거기에서 UDP 데이터패킷을 수신할 내부포트를 지정하는 컴퓨터프로그램제품에 있어서,
    상기 각각의 컴퓨터는, 상기 광대역 컴퓨터 네트워크 상에서 통신할 때에 상기 컴퓨터의 상기 내부 네트워크어드레스를 외부 네트워크어드레스로 변환하는 방화벽에 의하여 보호되고, 상기 방화벽을 통과하여 상기 광대역 컴퓨터 네트워크(10) 상에서 데이터 전송을 허용하는 방법은, 상기 광대역 컴퓨터 네트워크를 경유하여 상기 복수 개의 컴퓨터와 통신하는 지정된 수신컴퓨터(28)를 사용하고,
    상기 컴퓨터프로그램제품이,
    (a) 상기 복수 개의 컴퓨터가, 그들의 지정 내부수신포트를 사용하여 각각의 UDP 데이터패킷을 상기 지정 수신컴퓨터로 보내고, 그들의 지정 내부송신포트를 사용하여 UDP 데이터패킷을 상기 지정 수신컴퓨터로 보내게 하도록 하는 컴퓨터가 판독가능한 프로그램코드수단이 매체에 설치되는 컴퓨터사용가능의 매체,
    (b) 상기 지정 수신컴퓨터는, 각각의 외부 네트워크어드레스, 지정 내부전송포트, 상기 데이터패킷으로부터 결정된 지정 내부수신포트를 상기 복수 개의 컴퓨터와 통신하도록 하는 컴퓨터가 판독가능한 프로그램코드수단이 매체에 설치되는 컴퓨터사용가능의 매체,
    (c) 상기 제 1 의 외부 네트워크어드레스를 가지는 복수 개의 제 1 의 컴퓨터(12)가 그 지정된 내부수신포트(h1)를 사용하여 제 1 의 UDP 데이터패킷을 제 2 의 외부네트워크어드레(F2)스와, 복수 개의 컴퓨터의 제 2 의 컴퓨터(20)와 관련한 지정된 내부전송포트(h2)로 보내기 위한 제 1 의 외부 네트워크어드레스(F1)를 가지고,
    상기 복수 개의 컴퓨터의 제 2 의 컴퓨터는 그 지정된 내부수신포트를 사용하여 UDP 데이터패킷을 상기 복수 개의 컴퓨터의 상기 제 1 의 외부 네트워크어드레스와, 상기 복수 개의 상기 제 1 의 컴퓨터와 관련한 지정 내부전송포트로 보내도록 하는 컴퓨터가 판독가능한 프로그램코드수단이 매체에 설치되는 컴퓨터사용가능의 매체,
    (d) 상기 제 2 의 컴퓨터는 그 지정된 내부전송포트를 사용하여 UDP 데이터패킷을 상기 제 1 의 외부 네트워크어드레스와, 상기 제 1의 컴퓨터와 관련한 지정 내부수신포트로 보내고, 상기 제 1 의 컴퓨터는 그 지정된 내부전송포트를 사용하여 UDP 데이터패킷을 상기 제 2 의 외부 네트워크어드레스와, 상기 제 2 의 컴퓨터와 관련한 지정 내부수신포트로 보내도록 하는 컴퓨터가 판독가능한 프로그램코드수단이 매체에 설치되는 컴퓨터사용가능의 매체인 것을 특징으로 하는 컴퓨터프로그램 판독가능매체.
  27. 제 24 항에 있어서,
    상기 컴퓨터프로그램은, 상기 각각의 컴퓨터가 상기 각각의 컴퓨터의 지정 내부전송과 수신포트를 지정된 외부전송과 수신포트로 변환하는 방화벽에 의하여 보호되고,
    (a) 청구항 24 의 스텝(b)에서, 상기 지정 수신컴퓨터는 상기 제 1 의 외부 네트워크어드레스와 상기 제 1 의 UDP 데이터패킷에 의하여 결정된 외부전송포트(f1)를 상기 제 2 의 컴퓨터로 통신하고, 상기 제 2 의 외부 네트워크어드레스와, 상기 제 2 의 UDP 데이터패킷으로부터 결정된 외부수신포트(f2)를 상기 제 1 의 컴퓨터로 통신하고,
    (b) 청구항 24 의 스텝(c)에서, 상기 제 2 의 컴퓨터로부터 보내어진 UDP 데이터패킷은 상기 제 2의 컴퓨터의 지정 내부수신포트를 사용하여 상기 제 1 의 외부 네트워크어드레스와 상기 제 1 의 컴퓨터의 외부전송포트로 보내어지고,
    (c) 청구항 24 의 스텝(d)에서,
    상기 제 1 의 컴퓨터로부터 보내어진 UDP데이터패킷은 상기 제 1 의 컴퓨터의 지정 내부수신포트를 사용하여 상기 제 2 의 외부 네트워크어드레스와 상기 제 2 의 컴퓨터의 외부수신전송포트로 보내어지는 것을 특징으로 하는 컴퓨터프로그램 판독가능매체.
  28. 제 25 항에 있어서,
    상기 컴퓨터프로그램은, 상기 각각의 컴퓨터가 상기 각각의 컴퓨터의 지정 내부전송과 수신포트를 지정된 외부전송과 수신포트로 변환하는 방화벽에 의하여 보호되고,
    (a) 청구항 25 의 스텝(b)에서, 상기 지정 수신컴퓨터는 상기 제 1 의 외부 네트워크어드레스, 외부전송포트(f1), 상기 제 1 의 컴퓨터의 외부수신포트, 상기 제 1 의 컴퓨터로부터 보내어진 상기 데이터패킷으로부터 결정된 상기 제 1 의 컴퓨터의 외부수신포트를 상기 제 2 의 컴퓨터와 통신하고, 상기 제 2 의 외부 네트워크어드레스, 외부전송포트(f2), 상기 제 2 의 컴퓨터로부터 보내어진 상기 데이터패킷으로부터 결정되는 상기 제 2 의 컴퓨터의 외부수신포트를 상기 제 1 의 컴퓨터와 통신하고,
    (b) 청구항 25 의 스텝(c)에서, 상기 제 2 의 컴퓨터로부터 보내어진 UDP 데이터패킷은 상기 제 2의 컴퓨터의 지정 내부수신포트를 사용하여 상기 제 1 의 외부 네트워크어드레스와 상기 제 1 의 컴퓨터의 외부전송포트로 보내어지고, 상기 제 1 의 컴퓨터로부터 보내어진 UDP데이터패킷은 상기 제 1 의 컴퓨터의 지정 내부수신포트를 사용하여 상기 제 2 의 외부 네트워크어드레스와 상기 제 2 의 컴퓨터의 외부전송포트로 보내어지고,
    (c) 청구항 25 의 스텝(d)에서, 상기 제 1 의 컴퓨터로부터 보내어진 UDP 데이터패킷은 상기 제 1 의 컴퓨터의 내부전송포트를 사용하여 상기 제 2 의 외부 네트워크어드레스와 상기 제 2 의 컴퓨터의 외부수신포트로 보내어지고, 상기 제 2 의 컴퓨터로부터 보내어진 UDP 데이터패킷은 상기 제 2 의 컴퓨터의 내부전송포트를 사용하여 상기 제 1 의 외부 네트워크어드레스와, 상기 제 1 의 컴퓨터의 외부수신포트로 보내어지는 것을 특징으로 하는 컴퓨터프로그램 판독가능매체.
  29. 제 26 항에 있어서,
    상기 컴퓨터프로그램은, 상기 각각의 컴퓨터가 상기 각각의 컴퓨터의 지정 내부전송과 수신포트를 지정된 외부전송과 수신포트로 변환하는 방화벽에 의하여 보호되고,
    (a) 청구항 26 의 스텝(b)에서, 상기 지정수신컴퓨터는 각각의 외부 네트워크어드레스, 외부전송포트, 상기 데이터패킷으로부터 결정되는 외부수신포트를 상기 복수 개의 컴퓨터와 통신하고,
    (b) 청구항 26 의 스텝(c)에서, 상기 복수개의 컴퓨터의 상기 제 1 의 컴퓨터는 그 지정된 내부수신포트를 사용하여 제 1 의 UDP 데이터패킷을 상기 제 2 의 외부 네트워크어드레스(F2)와, 상기 복수개의 컴퓨터의 제 2 의 컴퓨터와 관련한 외부전송포트(f2)로 보내고, 상기 복수개의 컴퓨터의 상기 제 2 의 컴퓨터는 그 지정된 내부수신포트(h2)를 사용하여 UDP 데이터패킷을 상기 제 1 의 외부 네트워크어드레스와, 상기 복수개의 컴퓨터의 제 1 의 컴퓨터와 관련한 외부전송포트(h1)로 보내고,
    (c) 청구항 26 의 스텝(d)에서, 상기 제 2 의 컴퓨터는 그 지정된 내부전송포트를 사용하여 UDP 데이터패킷을 상기 제 1 의 외부 네트워크어드레스와, 상기 제 1 의 컴퓨터와 관련한 외부수신포트로 보내고, 상기 제 1 의 컴퓨터는 그 지정된 내부전송포트를 사용하여 UDP 데이터패킷을 상기 제 2 의 외부 네트워크어드레스와, 상기 제 2 의 컴퓨터와 관련한 외부수신포트로 보내는 것을 특징으로 하는 컴퓨터프로그램 판독가능매체.
  30. 제 24 항 내지 제 29 항 기재의 어느 한 항에 있어서,
    상기 UDP 데이터 패킷의 전송은 라이브 오디오/비디오 데이터에 관련한 것인 것을 특징으로 하는 방화벽을 통과하여 데이터전송을 허용하기 위한 컴퓨터프로그램 판독가능매체.
  31. 제 24 항 내지 제 29 항 기재의 어느 한 항에 있어서,
    상기 UDP 데이터 패킷의 전송은 저장된 온디맨드 스트림 오디오/비디오 데이터에 관련한 것을 특징으로 하는 컴퓨터프로그램 판독가능매체.
  32. 제 24 항 내지 제 29 항 기재의 어느 한 항에 있어서,
    상기 UDP 데이터 패킷의 전송은 저장된 컴퓨터 파일의 컨텐츠에 관련한 것을 특징으로 하는 컴퓨터프로그램 판독가능매체.
  33. 제 24 항 내지 제 29 항 기재의 어느 한 항에 있어서,
    상기 UDP 데이터 패킷의 전송은 오디오/비디오 회의 통신에 관련한 것을 특징으로 하는 컴퓨터프로그램 판독가능매체.
  34. 제 24 항 내지 제 29 항 기재의 어느 한 항에 있어서,
    상기 컴퓨터프로그램이 그에 할당되는 외부전송포트를 인식하기 위하여 중간매개체로 UDP 데이터패킷을 보내거나, 다른 참여 측에 할당된 외부수신포트를 인식하기 위하여 중간매개체로부터 데이터를 수신하도록 컴퓨터가 작동하는 프로그램인 것을 특징으로 하는 컴퓨터프로그램 판독가능매체.
  35. 광대역 네트워크(10) 상에서 2 개의 방화벽으로 보호받는 컴퓨터 사이에서의 UDP 데이터패킷을 전송하기 위한 시스템에 있어서,
    광대역 네트워크 상에서 통신하기 위하여 채용되는 제 1 , 2의 컴퓨터를 가지고, 상기 제 1 의 컴퓨터(12)는 상기 UDP 데이터패킷을 전송하기 위하여 제 1 의 내부 네트워크어드레스(H1)와 지정된 내부포트(h1)를 가지고, 상기 제 2 의 컴퓨터(20)는 상기 UDP 데이터패킷을 수신하기 위하여 제 2 의 내부 네트워크어드레스(H2)와 지정된 내부포트(h2)를 가지고, 상기 제 1 의 컴퓨터는, 상기 광대역 네트워크 상에서 통신을 할 때에 상기 제 1 의 내부어드레스와 지정 내부전송포트를 제 1 의 외부 네트워크어드레스(F1)와 외부전송포트(f1)로 변환하는 제 1 의 방화벽(16)에 의하여 보호되고, 상기 제 2 의 컴퓨터는, 상기 광대역 네트워크 상에서 통신을 할 때에 상기 제 2 의 내부어드레스와 지정 내부수신포트를 제 2 의 네트워크 외부어드레스(F2)와 외부수신포트(f2)로 변환하는 제 2 의 방화벽(24)에 의하여 보호되고, 상기 제 1,2 의 방화벽은 상기 광대역 컴퓨터 네트워크 상에서 통신하는 상기 시스템은;
    상기 지정 수신컴퓨터는 광대역 컴퓨터 네트워크를 경유하여 상기 제 1, 2 컴퓨터와 통신하고,
    상기 제 1,2 의 컴퓨터가 제 1,2 의 UDP 데이터패킷들을 상기 지정 수신컴퓨터로 보내는 수단을 가지고,
    상기 제 1 의 컴퓨터는 그 지정 내부전송포트를 사용하여 상기 제 1 의 UDP 데이터패킷을 전송하고, 상기 제 2 의 컴퓨터는 그 지정된 내부수신포트를 사용하여 상기 제 2 의 UDP 데이터패킷을 전송하고,
    상기 지정된 수신컴퓨터는 상기 외부 네트워크어드레스와 상기 제 1 의 UDP 데이터패킷으로부터 결정된 외부전송포트를 상기 제 2 의 컴퓨터로 통신하는 수단,
    상기 제 2 의 UDP 데이터패킷으로부터 결정된 외부수신포트와 상기 제 2 의 외부네트워크어드레스를 상기 제 1 의 컴퓨터와 통신하는 수단을 포함하고,
    상기 제 2 의 컴퓨터는 그 내부수신포트를 사용하여 UDP 데이터패킷을 상기 제 1의 외부 네트워크어드레스와 상기 제 1 의 컴퓨터의 외부전송포트로 보내는 수단,
    상기 제 1 의 컴퓨터는 그 내부전송포트를 사용하여 UDP 데이터패킷을 상기 제 2 의 외부 네트워크어드레스와 상기 제 2 의 컴퓨터의 외부수신포트로 전송하는 수단;을 포함하는 것을 특징으로 하는 방화벽을 통과하여 데이터전송을 허용하기 위한 시스템.
  36. 제 3 항 또는 제 6 항에 있어서,
    상기 스텝(a)에서 상기 복수 개의 데이터패킷들은 상기 복수 개의 컴퓨터의 각각에 의하여 보내어지는 것을 특징으로 하는 방화벽을 통과하는 데이터 전송을 허용하기 위한 방법.
KR1020037010887A 2001-02-20 2002-02-19 방화벽을 통과하여 데이터전송을 허용하기 위한 장치와 방법 KR100949510B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US26935701P 2001-02-20 2001-02-20
US60/269357 2001-02-20
PCT/CA2002/000214 WO2002067531A1 (en) 2001-02-20 2002-02-19 Method and apparatus to permit data transmission to traverse firewalls

Publications (2)

Publication Number Publication Date
KR20030080006A KR20030080006A (ko) 2003-10-10
KR100949510B1 true KR100949510B1 (ko) 2010-03-24

Family

ID=23026907

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037010887A KR100949510B1 (ko) 2001-02-20 2002-02-19 방화벽을 통과하여 데이터전송을 허용하기 위한 장치와 방법

Country Status (10)

Country Link
US (1) US7602784B2 (ko)
EP (1) EP1362460B2 (ko)
JP (1) JP3917076B2 (ko)
KR (1) KR100949510B1 (ko)
CN (1) CN1327679C (ko)
AT (1) ATE324736T1 (ko)
CA (2) CA2761983C (ko)
CY (1) CY1105508T1 (ko)
DE (1) DE60210927T3 (ko)
WO (1) WO2002067531A1 (ko)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8713641B1 (en) 1998-12-08 2014-04-29 Nomadix, Inc. Systems and methods for authorizing, authenticating and accounting users having transparent computer access to a network using a gateway device
US7194554B1 (en) 1998-12-08 2007-03-20 Nomadix, Inc. Systems and methods for providing dynamic network authorization authentication and accounting
US8266266B2 (en) 1998-12-08 2012-09-11 Nomadix, Inc. Systems and methods for providing dynamic network authorization, authentication and accounting
US20030009561A1 (en) * 2001-06-14 2003-01-09 Sollee Patrick N. Providing telephony services to terminals behind a firewall and /or network address translator
US7068655B2 (en) * 2001-06-14 2006-06-27 Nortel Networks Limited Network address and/or port translation
US7769865B1 (en) * 2001-10-16 2010-08-03 Sprint Communications Company L.P. Configuring computer network communications in response to detected firewalls
US7752334B2 (en) 2002-10-15 2010-07-06 Nomadix, Inc. Intelligent network address translator and methods for network address translation
JP4374202B2 (ja) 2003-02-28 2009-12-02 株式会社日立製作所 ストリーム配信計算機、プログラム、nas装置
US7363378B2 (en) * 2003-07-01 2008-04-22 Microsoft Corporation Transport system for instant messaging
CN1317874C (zh) * 2003-09-27 2007-05-23 财团法人资讯工业策进会 提供虚拟主机服务快速查询置换的网络地址端口转换网关器与方法
CN100382552C (zh) * 2003-10-17 2008-04-16 西安大唐电信有限公司 穿透防火墙建立voip通信的方法
US7886057B2 (en) * 2003-10-20 2011-02-08 Logitech Europe S.A. Method and apparatus for communicating data between two hosts
TWI257217B (en) * 2003-11-10 2006-06-21 Inst Information Industry Method to detect the form of network address translation
CN100414938C (zh) * 2004-01-05 2008-08-27 华为技术有限公司 一种网络安全系统和方法
WO2005078593A1 (ja) * 2004-02-13 2005-08-25 Sony Chemicals Corporation 業務プロセスシステム及び業務プロセス方法、並びに情報処理装置
CA2562912A1 (en) * 2004-04-12 2005-10-27 Xds, Inc. System and method for automatically initiating and dynamically establishing secure internet connections between a fire-walled server and a fire-walled client
DE502004002250D1 (de) * 2004-10-04 2007-01-18 Cit Alcatel Vorrichtungen und Verfahren zum Führen von bidirektionellen Verbindungen über eine zwischengeschaltete Firewall mit Adresstransformationsgerät
US7948890B2 (en) * 2004-12-14 2011-05-24 Industrial Technology Research Institute System and method for providing a communication channel
CN100426769C (zh) * 2005-01-12 2008-10-15 腾讯科技(深圳)有限公司 一种建立对等直连通道的方法
US20060230163A1 (en) * 2005-03-23 2006-10-12 Fish Russell H Iii System and method for securely establishing a direct connection between two firewalled computers
CN100583814C (zh) * 2005-05-12 2010-01-20 中兴通讯股份有限公司 一种实现多媒体业务nat穿越的方法
JP4557803B2 (ja) * 2005-05-27 2010-10-06 富士通株式会社 ネットワークシステム及び通信方法
JP4721782B2 (ja) * 2005-06-16 2011-07-13 パナソニック株式会社 通信管理装置および通信システム
CN1917512B (zh) * 2005-08-18 2010-09-29 腾讯科技(深圳)有限公司 一种建立对等直连通道的方法
KR101361061B1 (ko) 2007-04-09 2014-02-07 삼성전자주식회사 서버/클라이언트 네트워크에서의 효율적인 정보 전송 방법및 이를 이용한 서버 장치와 클라이언트 장치
CN101431511B (zh) * 2007-11-09 2013-03-06 友讯科技股份有限公司 一种穿透防火墙在网络终端装置间建立联机信道的方法
KR100917660B1 (ko) * 2009-05-11 2009-09-18 (주)비전소프트 연계아답터를 이용한 방화벽 단일포트를 통해 내부망과 외부망의 서버들 간의 네트워크 연결 시스템
US8886756B2 (en) * 2011-05-13 2014-11-11 Qualcomm Incorporated Exchanging data between a user equipment and an application server
TWI484804B (zh) * 2011-11-09 2015-05-11 Quanta Comp Inc 網路系統之資料管理方法及其相關系統
CN102497446B (zh) * 2011-12-26 2015-04-15 杭州华三通信技术有限公司 一种穿越nat设备的业务流传输方法及装置
CN104660722A (zh) * 2013-11-21 2015-05-27 倚强科技股份有限公司 网络连线方法及其网络系统
US10085070B2 (en) 2015-12-29 2018-09-25 The Directv Group, Inc. Network address translator (NAT) traversal for out of home streaming
CN109787986A (zh) * 2019-01-29 2019-05-21 黄策 文件碎片化公网安全传输方法
CA3204838A1 (en) * 2020-12-18 2022-06-23 Dull Ip Pty Ltd Method for establishing trusted data communication between networks
FR3119290A1 (fr) * 2021-01-27 2022-07-29 Eho.Link Procede d’etablissement d’un canal de communication poste-a-poste securise, dedie a une application reseau, entre deux equipements reseau distants

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980071119A (ko) * 1997-02-06 1998-10-26 올센 케네쓰 방화벽을 통한 보안 트랜잭션(거래)를 허용하기 위한 방법 및 장치.
KR100188491B1 (ko) * 1995-06-07 1999-06-01 제프리 엘. 포만 인터넷을 통해 월드 와이드 웹 서버 데이타를 액세스하기 위한 컴퓨터 네트워크
KR20000064635A (ko) * 1996-03-22 2000-11-06 엔, 마이클 그로브 원격프록시시스템및방법
KR20010008358A (ko) * 2000-11-27 2001-02-05 조용근 인트라넷을 기반으로 하는 전자상거래 시스템과 그 운영방법
KR20010012442A (ko) * 1997-05-12 2001-02-15 마크엘 코잠 지리적으로 분산된 데이터의 집중화된 수집 방법 및 그 장치

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793763A (en) * 1995-11-03 1998-08-11 Cisco Technology, Inc. Security system for network address translation systems
US6259701B1 (en) * 1997-09-11 2001-07-10 At&T Corp. Method and system for a unicast endpoint client to access a multicast internet protocol (IP) session
US6618368B1 (en) * 1998-02-19 2003-09-09 Hitachi, Ltd. Data gateway and method for relaying data
US6055236A (en) * 1998-03-05 2000-04-25 3Com Corporation Method and system for locating network services with distributed network address translation
US6496935B1 (en) * 2000-03-02 2002-12-17 Check Point Software Technologies Ltd System, device and method for rapid packet filtering and processing
WO2002003217A1 (en) * 2000-06-30 2002-01-10 Net2Phone System, method, and computer program product for resolving addressing in a network including a network address translator
US20020032798A1 (en) * 2000-09-08 2002-03-14 Wei Xu Systems and methods for packet sequencing
US6993012B2 (en) * 2001-02-20 2006-01-31 Innomedia Pte, Ltd Method for communicating audio data in a packet switched network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100188491B1 (ko) * 1995-06-07 1999-06-01 제프리 엘. 포만 인터넷을 통해 월드 와이드 웹 서버 데이타를 액세스하기 위한 컴퓨터 네트워크
KR20000064635A (ko) * 1996-03-22 2000-11-06 엔, 마이클 그로브 원격프록시시스템및방법
KR19980071119A (ko) * 1997-02-06 1998-10-26 올센 케네쓰 방화벽을 통한 보안 트랜잭션(거래)를 허용하기 위한 방법 및 장치.
KR20010012442A (ko) * 1997-05-12 2001-02-15 마크엘 코잠 지리적으로 분산된 데이터의 집중화된 수집 방법 및 그 장치
KR20010008358A (ko) * 2000-11-27 2001-02-05 조용근 인트라넷을 기반으로 하는 전자상거래 시스템과 그 운영방법

Also Published As

Publication number Publication date
DE60210927T3 (de) 2012-03-15
CA2476722A1 (en) 2002-08-29
US7602784B2 (en) 2009-10-13
JP2004528748A (ja) 2004-09-16
CA2476722C (en) 2011-12-20
US20040095937A1 (en) 2004-05-20
CA2761983C (en) 2012-11-27
CN1327679C (zh) 2007-07-18
CY1105508T1 (el) 2010-04-28
CA2761983A1 (en) 2002-08-29
EP1362460A1 (en) 2003-11-19
EP1362460B1 (en) 2006-04-26
EP1362460B2 (en) 2010-09-29
CN1493140A (zh) 2004-04-28
DE60210927D1 (de) 2006-06-01
WO2002067531A1 (en) 2002-08-29
DE60210927T2 (de) 2006-09-14
JP3917076B2 (ja) 2007-05-23
KR20030080006A (ko) 2003-10-10
ATE324736T1 (de) 2006-05-15

Similar Documents

Publication Publication Date Title
KR100949510B1 (ko) 방화벽을 통과하여 데이터전송을 허용하기 위한 장치와 방법
US7522594B2 (en) Method and apparatus to permit data transmission to traverse firewalls
US6173334B1 (en) Network system including a plurality of lan systems and an intermediate network having independent address schemes
US6006272A (en) Method for network address translation
US7590758B2 (en) Peer-to-peer (P2P) connection despite network address translators (NATs) at both ends
EP1703695B1 (en) Method and system for reducing the number of ports allocated by a relay
JP4010326B2 (ja) 交信用のシステム、少なくとも2つの私設ネットワーク上にある2台以上のコンピュータ間の通信方法、別個の私設ネットワークに所在するシステム間の交信を行なう方法、別個の私設ネットワークに所在するシステム間で通信リンクを確立する方法、別個の私設ネットワークに所在するシステム間でデータ交換を確立するための集積回路チップ、別個の私設ネットワークに所在するシステム間でデータ交換を確立するためのプログラム命令を有するコンピュータ読み取り可能な媒体
US20040153858A1 (en) Direct peer-to-peer transmission protocol between two virtual networks
US20040158606A1 (en) Transmission method of multimedia data over a network
US20040139228A1 (en) Peer-to-peer (P2P) connection despite network address translators (NATs) at both ends
US20070097989A1 (en) Communication control method
JP2001292163A (ja) 通信データ中継装置
JP2007511123A (ja) 呼設定システムおよび呼設定方法
JP5926164B2 (ja) セッションボーダーコントローラに対する高速振り分け方法及び接続システム
KR20060069345A (ko) 아이피에스이씨 터널, 소프트웨어 모듈 및 아이피에스이씨게이트웨이로 원격 전용 네트워크에 연결된 로컬 컴퓨터네트워크의 동작 방법
CN100571189C (zh) 在网络中实现设备间通讯的方法
US8576854B2 (en) System for communication between private and public IP networks
KR20130085556A (ko) 메시지 인증 방법 및 그를 위한 ip-pbx 시스템
EP2141888B1 (en) System and method for bend-in-the-wire adjacency management
WO2007071369A1 (en) Communication device and method for filtering data according to a data policy
KR20070017988A (ko) 보안성을 가진 원격으로 제어된 게이트웨이 관리

Legal Events

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

Payment date: 20130123

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140304

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170919

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180918

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190918

Year of fee payment: 10