KR20100096446A - 네트워크 시스템 간의 접속 방법 - Google Patents

네트워크 시스템 간의 접속 방법 Download PDF

Info

Publication number
KR20100096446A
KR20100096446A KR1020090015329A KR20090015329A KR20100096446A KR 20100096446 A KR20100096446 A KR 20100096446A KR 1020090015329 A KR1020090015329 A KR 1020090015329A KR 20090015329 A KR20090015329 A KR 20090015329A KR 20100096446 A KR20100096446 A KR 20100096446A
Authority
KR
South Korea
Prior art keywords
terminal
control server
communication control
connection
received
Prior art date
Application number
KR1020090015329A
Other languages
English (en)
Other versions
KR101049912B1 (ko
Inventor
홍윤환
Original Assignee
(주)닥터소프트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)닥터소프트 filed Critical (주)닥터소프트
Priority to KR1020090015329A priority Critical patent/KR101049912B1/ko
Publication of KR20100096446A publication Critical patent/KR20100096446A/ko
Application granted granted Critical
Publication of KR101049912B1 publication Critical patent/KR101049912B1/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]
    • H04L12/46Interconnection of 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/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2596Translation of addresses of the same type other than IP, e.g. translation from MAC to MAC addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 공인망 또는 사설망에 있는 네트워크 시스템 간의 접속 방법에 관한 것으로서, 공인망 또는 사설망에 있는 통신 단말들의 접속 방법에 있어서, 양측 단말 중 적어도 일측 단말이 공인망에 속한 경우, 타측 단말이 일측 단말로 접속하도록하여 통신을 개시하는 단계와, 타측 단말과의 통신이 모두 실패하면, 양측 단말의 주소 번역 규칙을 서로 교환하여 타측 단말과 동기화된 접속 시도를 하여 통신을 개시하는 단계와, 예측된 주소를 통해 타측 단말과 접속에 실패하면, 통신 제어 서버에 중계를 요청하여 타측 단말과 통신을 개시하는 단계를 포함하는 것을 특징으로 한다.
피투피, 공인망, 사설망, 공인 아이피, 사설 아이피, 공유기, NAT

Description

네트워크 시스템 간의 접속 방법{Method for connecting between network system}
본 발명은 통신 단말들의 데이터 전송 방법에 관한 것으로서, 특히 공인망 또는 사설망에 있는 통신 단말들 간의 접속 방법에 관한 것이다.
피투피(Peer to Peer : P2P)는 기존의 서버와 클라이언트 개념이나 또는 공급자와 소비자 개념에서 벗어나 단말들끼리 직접 연결되어 데이터를 주고 받는 방식이다. 이에 따라, 모든 피어들은 공급자인 동시에 수요자가 될 수 있다.
이 같은 두 단말간의 접속 방식은 크게 두 가지 방식이 있다. 하나는 중계 서버를 통해 단말들 간의 접속을 실현하는 방식이다. 그러나, 이 같은 중계 접속 방식은 중계 서버를 통해 피어 간의 데이터 통신이 이루어지기 때문에 다수의 단말들이 중계 서버에 집중되면 해당 중계 서버에 과부하가 발생하여 응답 속도가 떨어짐으로써, 단말들 간에 데이터 통신이 이루어지는데 많은 시간이 소요된다. 뿐만 아니라, 중계 서버에 오류가 발생했을 경우, 데이터를 요청한 피어는 중계 서버가 가지고 있는 다수의 단말들의 위치 정보를 불명확하게 안내받아 해당 단말과 데이터 통신을 하게 된다. 이에 따라, 데이터를 요청한 피어는 원하지 않는 데이터를 수신하는 문제가 발생한다.
또다른 방식은 단말들 간에 서로 아이피(Internet Protocol : IP) 등의 개인 정보를 공유하여 중계 서버 없이 직접 연결하는 방식이다. 이 같은 방식은 중계 서버를 이용할 때보다 상대적으로 빠르게 단말들 간에 데이터 통신을 할 수 있다. 즉, 데이터를 제공받을 단말은 공인망에 위치한 서버로부터 해당 데이터를 보유한 단말의 위치 정보를 수신하고, 이를 참조하여 해당 단말에 접속하여 신속하게 데이터를 제공받는다.
그러나, 이 같은 방식은 데이터를 요청하는 단말이 NAT(Network Address Translation : 이하 공유기라 함)을 사용하거나 혹은 데이터를 요청한 단말과 데이터를 제공하는 단말 모두 공유기를 사용할 경우, 두 단말 간의 데이터 통신이 원활히 이루어지지 못한다. 여기서, 공유기는 OSI(Open System Interface) 모델에서 3 계층인 네트워크 계층에서 공인 아이피를 사설 아이피로 변환하여 사용하는 기술로서, 회사와 같이 많은 공인 아이피를 확보할 수 없는 경우, 공유기를 통해 공인 아이피를 사설 아이피로 변환하여 사용함으로써 한정된 공인 아이피를 절약할 수 있다. 이 같은 공유기를 사용하는 단말들이 늘어남에 따라, 단말 간에 피투피 의한 데이터 전송이 매우 불안정해지고, 이에 따라 피투피를 통해 단말들 간에 데이터 전송이 원활히 이루어지지 못하고 있다.
본 발명은 이와 같은 문제점을 해결하고자 하는 것으로서, 공인망 또는 사설망에 있는 단말들 간의 데이터 통신을 수행할 수 있는 확률을 높임을 목적으로 한다.
나아가, 공인망 또는 사설망에 있는 단말들이 신속하게 데이터 통신을 수행토록 함을 목적으로 한다.
더 나아가, 본 발명은 단말들이 중계 서버를 통해 접속되는 것을 최소화함을 목적으로 한다.
더 나아가, 본 발명은 다수의 단말들이 중계 서버에 접속하여 과부하가 발생되는 것을 방지함을 목적으로 한다.
전술한 기술적 과제는 후술하는 본 발명의 특징적인 양상들에 의해 달성된다. 공인망 또는 사설망에 있는 통신 단말들의 접속 방법에 있어서, 양측 단말 중 적어도 일측 단말이 공인망에 속한 경우, 타측 단말이 일측 단말로 접속하도록하여 통신을 개시하는 단계와, 타측 단말과의 통신이 모두 실패하면, 양측 단말의 주소 번역 규칙을 서로 교환하여 타측 단말과 동기화된 접속 시도를 하여 통신을 개시하는 단계와, 예측된 주소를 통해 타측 단말과 접속에 실패하면, 통신 제어 서버에 중계를 요청하여 타측 단말과 통신을 개시하는 단계를 포함하는 것을 특징으로 한 다.
본 발명의 추가적인 양상에 따른 타측 단말이 일측 단말로 접속하도록하여 통신을 개시하는 단계는 일측 단말이 타측 단말과 피투피(Peer to Peer : P2P)로 접속하기 위한 접속 정보를 통신 제어 서버에 전송하는 단계와, 타측 단말이 공인망에 속한 경우, 통신 제어 서버로부터 타측 단말의 접속 정보를 수신하고, 수신된 접속 정보를 이용하여 타측 단말과 접속하되, 타측 단말이 사설망에 속한 경우, 통신 제어 서버를 통해 일측 단말로 접속하도록 요청된 타측 단말의 접속 요청에 따라 타측 단말과 접속하여 통신을 개시하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 추가적인 양상에 따른 타측 단말과 동기화된 접속 시도를 하여 통신을 개시하는 단계는 통신 제어 서버로부터 타측 단말로 연결 시도를 요구하는 연결 시도 요청 메시지를 수신하는 단계와, 연결 시도 요청 메시지에 따라 통신 제어 서버를 통해 타측 단말로 데이터 전송 시간 체크용 패킷을 전송하고, 이에 따른 응답 메시지를 통신 제어 서버를 통해 수신하는 단계와, 수신된 응답 메시지를 통해 타측 단말로 접속 요구 패킷을 전송할 시간을 산출하는 단계와, 산출된 시간이 지나면, 타측 단말과 접속 시도할 시점을 예측하여 타측 단말로 접속 요구 패킷을 전송하여 동기화하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 추가적인 양상에 따른 타측 단말로 접속 요구 패킷을 전송하여 동기화하는 단계는 일측 단말의 주소 번역 규칙을 통신 제어 서버를 통해 타측 단말로 전송하는 단계와, 타측 단말로부터 일측 단말의 예측된 주소를 통해 타측 단말의 접속 요구 패킷을 수신하되, 타측 단말로 주소 번역 규칙을 전송한 후, 산출된 시간이 지나면, 응답 메시지의 주소 번역 규칙을 이용하여 타측 단말의 예측된 주소로 접속 요구 패킷을 전송하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 이 같은 양상에 따라, 다수의 단말들이 어느 망에 속해 있어도 통신 제어 서버와 같은 중계 서버를 거치지 않고 피투피로 접속되도록 확률을 높임으로써, 단말 간의 데이터 통신이 신속하게 이루어질 수 있다.
본 발명의 추가적인 양상에 따른 일측 단말로부터 접속 정보가 수신되면, 타측 단말이 어느 망에 속해 있는지를 체크하는 단계와, 일측 단말과 타측 단말이 접속을 실패하면, 일측 단말과 타측 단말에 주소 번역 규칙을 전송하여, 일측 단말과 타측 단말이 수신된 주소 번역 규칙을 교환하여 서로 동기화된 접속 시도를 하도록 처리하는 단계와, 예측된 주소를 통해 일측 단말과 타측 단말이 접속을 실패하면, 일측 단말과 타측 단말의 접속을 중계하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 추가적인 양상에 따른 통신 제어 서버는 일측 단말 또는 타측 단말로부터 복수의 세션(Session) 설정을 시도하도록 요청하고, 매 세션마다 일측 단말 또는 타측 단말이 속한 공유기로부터 수신되는 접속 정보에 포함된 아이피와 포트 정보를 파악하여 주소 번역 규칙을 획득하고, 획득된 주소 번역 규칙을 해당 단말로 전송하는 것을 특징으로 한다.
본 발명의 추가적인 양상에 따른 일측 단말과 타측 단말의 접속을 중계하는 단계는 일측 단말로부터 접속 정보가 수신되면, 수신된 접속 정보와 관련된 타측 단말을 호출하는 단계와, 호출된 타측 단말로부터 데이터를 수신하고, 수신된 데이 터를 일측 단말로 전송하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 이 같은 양상에 따라, 다수의 단말들이 어느 망에 속해 있어도 피투피로 접속되도록 제어함으로써, 단말 간의 데이터 통신을 신속하게 할 수 있으며, 다수의 단말들이 통신 제어 서버와 같은 중계 서버에 접속됨에 따라 통신 제어 서버에 부하가 발생되는 것을 방지할 수 있다.
상술한 바와 같이 본 발명에 따른 공인망 또는 사설망에 있는 네트워크 시스템 간의 접속 방법은 단말들이 공인망 또는 사설망에 있어도 피투피로 접속되어 데이터 통신을 수행토록 함으로써 단말 간의 데이터 통신이 신속하게 이뤄질 수 있다. 이에 따라, 중계 서버는 다수의 단말들이 접속함에 따라 과부하가 발생되는 것을 방지할 수 있다. 뿐만 아니라, 단말들은 종종 오류를 범하는 중계 서버에 접속을 최소화함으로써, 자신이 요청한 데이터를 올바르게 수신할 수 있으며, 적은 설비 투자로도 서로 다른 망에 속한 다수의 단말들을 연결할 수 있는 효과가 있다.
전술한, 그리고 추가적인 본 발명의 양상들은 첨부된 도면을 참조하여 설명되는 바람직한 실시예들을 통하여 더욱 명백해질 것이다. 이하에서는 본 발명을 이러한 실시예들을 통해 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 공인망 또는 사설망에 있는 단말들이 피투피로 접속하는 방법을 도시한 절차도이다.
도 1에 도시된 바와 같이, 일측 단말(100)은 타측 단말(300)과 접속하기 위하여 통신 제어 서버(200)에 자신의 접속 정보를 전송한다(S100). 여기서, 접속 정보는 자신의 아이피 정보와 데이터 요청 정보를 포함한다. 이후, 통신 제어 서버(200)는 일측 단말(100)로부터 수신된 접속 정보와 관련된 타측 단말(300)의 접속 정보를 확인하여 타측 단말(300)이 어느 망에 접속해 있는지를 체크한다. 체크 결과, 타측 단말(300)이 공인망에 속해 있으면, 통신 제어 서버(200)는 일측 단말(100)로 타측 단말(300)의 접속 정보를 전송한다. 타측 단말(300)의 접속 정보가 수신되면, 일측 단말(100)은 수신된 접속 정보를 이용하여 타측 단말(300)에 접속을 요청하는 접속 요구 패킷을 전송하여 타측 단말(300)과 피투피로 접속하여 통신을 개시한다(S150, S200).
한편, 체크 결과, 타측 단말(300)이 사설망에 속해 있으면, 통신 제어 서버(200)는 일측 단말(100)로부터 수신된 접속 정보와 관련된 타측 단말(300)이 일측 단말(100)에 접속하도록 요청한다. 이 같이, 사설망에 속한 타측 단말(300)로부터 접속을 요청하는 접속 정보가 수신되면, 일측 단말(100)은 타측 단말(300)과 피투피로 접속하여 데이터를 송수신하게 된다(S250). 즉, 접속을 요청한 단말과 데이터를 제공하는 단말이 서로 다른 망에 속해 있는 경우, 통신 제어 서버(200)는 사설망에 속한 단말이 공인망에 속한 단말에 접속 요청하도록 제어한다. 한편, 일측 단말(100)은 접속을 요청할 타측 단말(300)의 접속 정보가 기저장되어 있으면, 통신 제어 서버(200)에 접속 정보를 전송하지 않고, 직접 타측 단말(300)과 접속을 시도할 수 있다. 그 결과, 직접 접속을 요청한 타측 단말(300)과 접속이 실패하면, 일측 단말(100)은 상술한 바와 같이 통신 제어 서버(200)에 타측 단말(300)과 접속을 하기 위한 접속 정보를 전송하여 타측 단말(300)과 접속을 시도할 수 있다.
한편, 일측 단말(100)과 접속을 요청한 타측 단말(300)이 접속에 실패하면, 일측 단말(100)은 통신 제어 서버(200)에 접속 실패 정보를 전송하여 타측 단말(300)과 접속이 실패되었음을 알린다(S300). 이 같이, 접속을 실패하는 경우는 일측 단말(100)과 타측 단말(300)이 모두 사설망에 속해 있는 경우이다.
일측 단말(100)이 타측 단말(300)과 접속에 실패함에 따라, 통신 제어 서버(200)는 일측 단말(100)과 타측 단말(300)의 접속 정보를 참고하여 생성된 주소 번역 규칙을 해당 단말로 전송한다. 이후, 일측 단말(100)은 도 2와 같이 수신된 주소 번역 규칙을 타측 단말(300)과 서로 교환하고, 타측 단말(300)의 주소 번역 규칙을 이용하여 타측 단말(300)의 예측된 주소로 접속 요구 패킷을 전송하여 타측 단말(300)과 접속하여 통신을 개시할 수 있다(S350).
도 2는 본 발명의 일 실시예에 따른 사설망에 속한 일측 단말과 타측 단말이 피투피로 접속하는 방법을 도시한 절차도이다.
도시된 바와 같이, 사설망에 속한 일측 단말(100) 또는 타측 단말(300)은 자신들이 속한 공유기(Network Address Translation : NAT)를 통해 변환된 접속 정보를 통신 제어 서버(200)에 전송한다(S351). 여기서, 변환된 접속 정보는 해당 단말이 속한 공유기의 아이피와 해당 단말에 할당된 포트 정보이다. 이 같이, 공유기의 아이피와 해당 단말에 할당된 포트 정보를 포함하는 접속 정보가 수신되면, 통신 제어 서버(200)는 일측 단말(100) 또는 타측 단말(300)로부터 복수의 세션(Session) 설정을 시도하도록 요청한다. 이에 따라, 통신 제어 서버(200)는 매 세션마다 일측 단말(100) 또는 타측 단말(300)이 속한 공유기로부터 수신된 접속 정보의 아이피와 포트 정보를 파악하여 주소 번역 규칙을 생성한다(S352).
즉, 공유기를 통해 해당 단말에 할당되는 포트는 증감 방식과 같이 규칙적으로 변환됨에 따라, 통신 제어 서버(200)는 일측 단말(100) 또는 타측 단말(300)에서 수신되는 접속 정보의 포트 정보를 학습하여 주소 번역 규칙을 생성한다. 이 같은 주소 번역 규칙은 일측 단말(100) 또는 타측 단말(300)이 접속 요구 패킷을 전송할 단말의 포트를 예측하기 위한 포트 규칙 정보 또는 예측된 포트 정보가 될 수 있다. 이 같은 주소 번역 규칙을 통해 일측 단말(100) 또는 타측 단말(300)은 다음에 어떤 포트를 할당받을지를 예측할 수 있다. 이후, 통신 제어 서버(200)는 생성된 주소 번역 규칙을 해당 단말로 전송한다(S353). 일측 단말(100)과 타측 단말(300)에 주소 번역 규칙이 전송 완료되면, 통신 제어 서버(200)는 접속을 요청한 일측 단말(100)로 타측 단말(300)과 연결을 시도하라는 연결 시도 요구 메시지를 전송한다(S354). 연결 시도 요구 메시지를 수신한 일측 단말(100)은 통신 제어 서버(200)를 통해 타측 단말(300)로 데이터 전송 시간 체크용 패킷을 전송한다(S355, S356).
이후, 타측 단말(300)은 전송 시간 체크용 패킷을 수신한 즉시 통신 제어 서버(200)를 통해 일측 단말(100)로 응답 메시지를 전송한다(S357, S358). 여기서, 응답 메시지는 타측 단말(300)의 주소 번역 규칙을 포함함이 바람직하다. 이 같이, 타측 단말(300)의 주소 번역 규칙을 포함하는 응답 메시지가 수신되면, 일측 단말(100)은 타측 단말(300)로 데이터 전송 시간 체크용 패킷을 전송하여 타측 단말(300)로부 응답 메시지가 수신되는데 걸리는 시간을 체크한다. 이후, 일측 단말(100)은 응답 메시지가 수신되는데 걸린 시간을 1/2로 나누어 접속 요구 패킷을 전송할 시간을 산출한다(S359). 접속 요구 패킷을 전송할 시간이 산출되면, 일측 단말(100)은 통신 제어 서버(200)를 통해 자신의 주소 번역 규칙을 타측 단말(300)로 전송한다(S360). 이후, 타측 단말(300)은 수신된 일측 단말(100)이 주소 번역 규칙을 통해 일측 단말(100)의 예측된 주소로 접속 요구 패킷을 전송한다(S362).
한편, 일측 단말(100)은 단계 360에서 타측 단말(300)로 자신의 주소 번역 규칙을 전송한 후, 접속 요구 패킷을 전송하기 위해 산출된 시간이 지난 즉시 타측 단말(300)로부터 수신된 주소 번역 규칙을 통해 타측 단말(300)의 예측된 주소로 접속 요구 패킷을 전송한다.(S363). 이에 따라, 일측 단말(100)과 타측 단말(300) 은 예측된 주소를 통해 자신의 접속 요구 패킷을 거의 동시에 전송함으로써, 사설망에 모두 속한 일측 단말(100)과 타측 단말(300)은 접속을 원활히 하게 된다(S364).
한편, 상술한 바와 같이, 예측된 주소를 통해 타측 단말(300)과 접속에 실패하면, 일측 단말(100)은 통신 제어 서버(200)에 타측 단말(300)과의 중계를 요청하여 타측 단말(300)과 통신을 개시한다(S400, S450). 즉, 예측된 주소를 통해 타측 단말(300)과 접속에 실패하면, 접속을 요청한 일측 단말(100)은 타측 단말(300)로부터 데이터를 제공받기 위해 통신 제어 서버(200)에 자신의 접속 정보를 전송한다. 일측 단말(100)의 접속 정보를 수신한 통신 제어 서버(200)는 수신된 접속 정보와 관련된 타측 단말(300)을 호출하여 데이터를 요청한다. 이후, 타측 단말(300)로부터 데이터가 수신되면, 통신 제어 서버(200)는 수신된 타측 단말(300)의 데이터를 일측 단말(100)로 전송한다. 이에 따라, 일측 단말(100)은 타측 단말(300)의 데이터를 통신 제어 서버(200)를 통해 수신하게 된다. 이하에서는 통신 중계 서버(200)가 공인망 또는 사설망에 있는 단말들을 피투피로 접속하는 방법에 대해 상세히 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따른 통신 제어 서버를 이용하여 공인망 또는 사설망에 있는 단말들을 피투피로 접속하는 방법을 도시한 흐름도이다.
도신된 바와 같이, 통신 제어 서버(200)는 일측 단말(100)로부터 접속 정보 가 수신되면, 수신된 접속 정보와 관련된 타측 단말(300)의 접속 정보를 통해 타측 단말(300)이 어느 망에 접속해 있는지를 체크한다(S500). 여기서, 접속 정보는 일측 단말(200)의 아이피 정보와 데이터 요청 정보를 포함한다. 체크 결과, 타측 단말(300)이 공인망에 속해 있으면, 통신 제어 서버(200)는 일측 단말(100)로 타측 단말(300)의 접속 정보를 전송한다(S550, S600). 이에 따라, 일측 단말(100)은 통신 제어 서버(200)로부터 수신된 타측 단말(300)의 접속 정보를 이용하여 타측 단말(300)에 접속 요구 패킷을 전송하여 타측 단말(300)과 피투피로 접속한다.
한편, 타측 단말(300)이 사설망에 속해 있으면, 통신 제어 서버(200)는 사설망에 속한 타측 단말(300)이 일측 단말(100)로 접속하도록 일측 단말(100)의 접속 정보를 타측 단말(300)에 전송한다(S650). 즉, 접속을 요청한 단말과 데이터를 제공하는 단말이 서로 다른 망에 속해 있으면, 통신 제어 서버(200)는 사설망에 속한 단말이 공인망에 속한 단말에 접속 요청하도록 제어한다. 이에 따라, 타측 단말(300)은 통신 제어 서버(200)로부터 수신된 일측 단말(100)의 접속 정보를 이용하여 일측 단말(100)에 접속 요구 패킷을 전송하여 일측 단말(100)과 피투피로 접속한다.
한편, 접속을 요청한 타측 단말(300)이 일측 단말(100)과 접속에 실패하면, 통신 제어 서버(200)는 일측 단말(100) 또는 타측 단말(100)로부터 접속 실패 정보를 수신한다(S700). 이 같이, 접속에 실패하는 경우는 일측 단말(100)과 타측 단 말(300)이 모두 사설망에 속해 있는 경우이다. 이에 따라, 통신 제어 서버(200)는 일측 단말(100)과 타측 단말(300)로부터 수신된 접속 정보를 학습하여 생성된 주소 번역 규칙을 해당 단말로 전송한다(S750). 여기서, 주소 번역 규칙은 매 세션마다 일측 단말(100) 또는 타측 단말(300)이 속한 공유기를 통해 수신된 접속 정보에 포함된 아이피와 포트 정보를 파악하여 생성된 규칙 정보이다.
이에 따라, 통신 제어 서버(200)는 매 세션마다 일측 단말(100) 또는 타측 단말(300)이 속한 공유기로부터 수신된 접속 정보의 아이피와 포트 정보를 파악하여 주소 번역 규칙을 생성한다. 즉, 공유기를 통해 해당 단말에 할당되는 포트는 증감 방식과 같이 규칙적으로 변환됨에 따라, 통신 제어 서버(200)는 일측 단말(100) 또는 타측 단말(300)에서 수신되는 접속 정보의 포트 정보를 학습하여 주소 번역 규칙을 생성한다. 이 같은 주소 번역 규칙은 일측 단말(100) 또는 타측 단말(300)이 접속 요구 패킷을 전송할 단말의 포트를 예측하기 위한 포트 규칙 정보 또는 예측된 포트 정보가 되며, 이를 통해 일측 단말(100) 또는 타측 단말(300)은 다음에 어떤 포트를 할당받을지를 예측할 수 있다.
이 같이, 통신 제어 서버(200)로부터 주소 번역 규칙을 수신한 각각의 공유기에 속한 일측 단말(100)과 타측 단말(300)은 자신의 주소 번역 규칙을 교환하여 서로의 예측된 주소로 접속하여 통신을 개시할 수 있다. 주소 번역 규칙을 통해 일측 단말(100)과 타측 단말(300)이 접속하는 방법은 상기에서 상세히 설명하였기 에 생략하기로 한다. 한편, 예측된 주소를 통해 일측 단말(100)과 타측 단말(300)이 접속에 실패하면, 통신 제어 서버(200)는 일측 단말(100) 또는 타측 단말(100)로부터 접속 실패 정보를 수신한다(S800). 접속 실패 정보가 수신됨에 따라, 통신 제어 서버(200)는 도 4와 같이 일측 단말(100)과 타측 단말(300)의 접속을 중계하여 데이터를 송수신한다(S850).
도 4는 본 발명의 일 실시예에 따른 통신 제어 서버가 일측 단말과 타측 단말의 접속을 중계하는 방법을 도시한 흐름도이다.
도시된 바와 같이, 예측된 주소를 통해 일측 단말(100)과 타측 단말(300)이 접속에 실패함에 따라, 통신 제어 서버(200)는 접속을 요청한 일측 단말(100)로부터 접속 정보를 수신한다(S851). 접속 정보가 수신되면, 통신 제어 서버(200)는 수신된 접속 정보를 참조하여 타측 단말(300)를 호출한다. 즉, 통신 제어 서버(200)는 다수의 단말들의 데이터 정보를 포함하는 접속 정보를 기저장하고 있다. 이에 따라, 통신 제어 서버(200)는 일측 단말(100)로부터 수신된 접속 정보를 참조하여 호출된 타측 단말(300)로부터 데이터를 요청하여 수신한다(S852). 타측 단말(300)로부터 데이터가 수신되면, 통신 제어 서버(200)는 일측 단말(100)로 수신된 데이터를 전송한다(S853). 이에 따라, 일측 단말(100)은 통신 제어 서버(200)의 중계를 통해 타측 단말(300)과 간접적으로 접속을 하여 데이터를 송수신한다.
한편, 전술한 통신 제어 서버(200)를 이용하여 공인망 또는 사설망에 있는 단말들을 피투피로 접속하는 방법은 컴퓨터 프로그램으로 작성이 가능하다. 이 같은 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 이 같은 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 통신 제어 서버(200)를 이용하여 공인망 또는 사설망에 있는 단말들을 피투피로 접속하는 방법이 구현된다. 이 같은 정보저장매체는 자기 기록매체, 광 기록매체, 및 캐리어 웨이브 매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다.
본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 공인망 또는 사설망에 있는 단말들이 피투피로 접속하는 방법을 도시한 흐름도,
도 2는 본 발명의 일 실시예에 따른 사설망에 속한 일측 단말과 타측 단말이 피투피로 접속하는 방법을 도시한 절차도,
도 3은 본 발명의 일 실시예에 따른 통신 제어 서버를 이용하여 공인망 또는 사설망에 있는 단말들을 피투피로 접속하는 방법을 도시한 흐름도,
도 4는 본 발명의 일 실시예에 따른 통신 제어 서버가 일측 단말과 타측 단말의 접속을 중계하는 방법을 도시한 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
100 : 일측 단말 200 : 통신 제어 서버
300 : 타측 단말

Claims (10)

  1. a) 양측 단말 중 적어도 일측 단말이 공인망에 속한 경우, 타측 단말이 상기 일측 단말로 접속하도록하여 통신을 개시하는 단계와;
    b) 상기 타측 단말과의 통신이 모두 실패하면, 상기 양측 단말의 주소 번역 규칙을 서로 교환하여 상기 타측 단말과 동기화된 접속 시도를 하여 통신을 개시하는 단계와;
    c) 상기 예측된 주소를 통해 상기 타측 단말과 접속에 실패하면, 상기 통신 제어 서버에 중계를 요청하여 상기 타측 단말과 통신을 개시하는 단계;
    를 포함하는 것을 특징으로 하는 네트워크 시스템 간의 접속 방법.
  2. 제 1 항에 있어서, 상기 단계 a)는:
    a1) 상기 일측 단말이 상기 타측 단말과 피투피(Peer to Peer : P2P)로 접속하기 위한 접속 정보를 상기 통신 제어 서버에 전송하는 단계와;
    a2) 상기 타측 단말이 공인망에 속한 경우, 상기 통신 제어 서버로부터 상기 타측 단말의 접속 정보를 수신하고, 상기 수신된 접속 정보를 이용하여 상기 타측 단말과 접속하되, 상기 타측 단말이 사설망에 속한 경우, 상기 통신 제어 서버를 통해 상기 일측 단말로 접속하도록 요청된 상기 타측 단말의 접속 요청에 따라 상기 타측 단말과 접속하여 통신을 개시하는 단계;
    를 포함하는 것을 특징으로 하는 네트워크 시스템 간의 접속 방법.
  3. 제 1 항에 있어서, 상기 단계 b)는:
    상기 통신 제어 서버로부터 상기 주소 번역 규칙을 수신하는 것을 특징으로 하는 네트워크 시스템 간의 접속 방법.
  4. 제 1 항에 있어서, 상기 단계 b)는:
    b1) 상기 통신 제어 서버로부터 상기 타측 단말로 연결 시도를 요구하는 연결 시도 요청 메시지를 수신하는 단계와;
    b2) 상기 연결 시도 요청 메시지에 따라 상기 통신 제어 서버를 통해 상기 타측 단말로 데이터 전송 시간 체크용 패킷을 전송하고, 이에 따른 응답 메시지를 상기 통신 제어 서버를 통해 수신하는 단계와;
    b3) 상기 수신된 응답 메시지를 통해 상기 타측 단말로 접속 요구 패킷을 전송할 시간을 산출하는 단계와;
    b4) 상기 산출된 시간이 지나면, 상기 타측 단말과 접속 시도할 시점을 예측하여 상기 타측 단말로 접속 요구 패킷을 전송하여 동기화하는 단계;
    를 포함하는 것을 특징으로 하는 네트워크 시스템 간의 접속 방법.
  5. 제 4 항에 있어서, 상기 단계 b3)는:
    상기 데이터 전송 시간 체크용 패킷을 상기 타측 단말에 전송하고, 이에 따라 상기 타측 단말로부터 상기 응답 메시지가 도착된 총 시간을 1/2로 나누어 산출 된 값이며,
    상기 응답 메시지는 상기 타측 단말의 주소 번역 규칙을 포함하는 것을 특징으로 하는 네트워크 시스템 간의 접속 방법.
  6. 제 4 항에 있어서, 상기 단계 b4)는:
    b4-1) 상기 일측 단말의 주소 번역 규칙을 상기 통신 제어 서버를 통해 상기 타측 단말로 전송하는 단계와;
    b4-2) 상기 타측 단말로부터 상기 일측 단말의 예측된 주소를 통해 상기 타측 단말의 접속 요구 패킷을 수신하되, 상기 타측 단말로 상기 주소 번역 규칙을 전송한 후, 상기 산출된 시간이 지나면, 상기 응답 메시지의 주소 번역 규칙을 이용하여 상기 타측 단말의 예측된 주소로 상기 접속 요구 패킷을 전송하는 단계;
    를 포함하는 것을 특징으로 하는 네트워크 시스템 간의 접속 방법.
  7. d) 일측 단말로부터 접속 정보가 수신되면, 타측 단말이 어느 망에 속해 있는지를 체크하는 단계와;
    e) 상기 일측 단말과 상기 타측 단말이 접속을 실패하면, 상기 일측 단말과 상기 타측 단말에 주소 번역 규칙을 전송하여, 상기 일측 단말과 타측 단말이 상기 수신된 주소 번역 규칙을 교환하여 서로 동기화된 접속 시도를 하도록 처리하는 단계와;
    f) 상기 예측된 주소를 통해 상기 일측 단말과 타측 단말이 접속을 실패하 면, 상기 일측 단말과 상기 타측 단말의 접속을 중계하는 단계;
    를 포함하는 것을 특징으로 하는 통신 제어 서버를 이용한 네트워크 시스템 간의 접속 방법.
  8. 제 7 항에 있어서, 상기 통신 제어 서버는:
    상기 일측 단말 또는 상기 타측 단말로부터 복수의 세션(Session) 설정을 시도하도록 요청하고, 매 세션마다 상기 일측 단말 또는 상기 타측 단말이 속한 공유기로부터 수신되는 접속 정보에 포함된 아이피와 포트 정보를 파악하여 주소 번역 규칙을 획득하고, 상기 획득된 주소 번역 규칙을 해당 단말로 전송하는 것을 특징으로 하는 통신 제어 서버를 이용한 네트워크 시스템 간의 접속 방법.
  9. 제 7 항에 있어서, 상기 단계 f)는:
    상기 일측 단말로부터 접속 정보가 수신되면, 상기 수신된 접속 정보와 관련된 상기 타측 단말을 호출하는 단계와;
    상기 호출된 타측 단말로부터 데이터를 수신하고, 상기 수신된 데이터를 상기 일측 단말로 전송하는 단계;
    를 포함하는 것을 특징으로 하는 통신 제어 서버를 이용한 네트워크 시스템 간의 접속 방법.
  10. 제 7 항 내지 제 9 항 중의 어느 한 항에 따른 통신 제어 서버를 이용한 네 트워크 시스템 간의 접속 방법이 구현된 컴퓨터가 실행가능한 프로그램이 저장된 기록매체.
KR1020090015329A 2009-02-24 2009-02-24 네트워크 시스템 간의 접속 방법 KR101049912B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090015329A KR101049912B1 (ko) 2009-02-24 2009-02-24 네트워크 시스템 간의 접속 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090015329A KR101049912B1 (ko) 2009-02-24 2009-02-24 네트워크 시스템 간의 접속 방법

Publications (2)

Publication Number Publication Date
KR20100096446A true KR20100096446A (ko) 2010-09-02
KR101049912B1 KR101049912B1 (ko) 2011-07-19

Family

ID=43003971

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090015329A KR101049912B1 (ko) 2009-02-24 2009-02-24 네트워크 시스템 간의 접속 방법

Country Status (1)

Country Link
KR (1) KR101049912B1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7676579B2 (en) * 2002-05-13 2010-03-09 Sony Computer Entertainment America Inc. Peer to peer network communication
EP1765833A2 (en) * 2004-07-05 2007-03-28 Orchid Chemicals and Pharmaceuticals Limited News salts in the preparation of cephalosporin antibiotics
CN100486193C (zh) * 2004-09-29 2009-05-06 腾讯科技(深圳)有限公司 多策略的p2p连接建立方法
KR101210337B1 (ko) * 2006-11-30 2012-12-10 삼성전자주식회사 이종 인터페이스 환경에서의 다중 경로 설정 장치 및 방법

Also Published As

Publication number Publication date
KR101049912B1 (ko) 2011-07-19

Similar Documents

Publication Publication Date Title
US10841421B2 (en) System and method for determining and communicating presence information
US8316134B2 (en) File server device arranged in a local area network and being communicable with an external server arranged in a wide area network
JP4833995B2 (ja) モバイルオンラインゲームシステム、及びモバイルゲーム端末間の通信方法
JP5086475B2 (ja) ピアツーピア・オーバーレイ・ネットワークへのデバイスの最適参加のための方法および装置
CN1835505B (zh) 会话中继装置
US20080071900A1 (en) Device and a method for communicating in a network
US9614687B2 (en) Dynamic configuration of a conference system with distributed media agents
US20130254415A1 (en) Routing requests over a network
US20130003592A1 (en) Optimizing Communications
CN106664249B (zh) 传播针对自主网络的路由感知
US20090216887A1 (en) Method of establishing a connection
US20130016728A1 (en) Optimising Communications
KR101680715B1 (ko) 개인 네트워크 등록을 위한 장치 및 방법
US20080133723A1 (en) Extended home service apparatus and method for providing extended home service on p2p networks
KR20110137917A (ko) Pn 라우팅 테이블을 이용한 개인 네트워크의 구성 장치 및 방법
WO2013143360A1 (zh) 一种业务数据下载方法和移动终端
JP2009176289A (ja) サービス提供システム、サービス提供方法およびサービス提供プログラム
CN109391503A (zh) 一种网络切片管理方法及装置
KR101049912B1 (ko) 네트워크 시스템 간의 접속 방법
US8416711B1 (en) Systems and methods for sharing availability status information between network nodes
JP2013531852A (ja) トポロジサーバを用いた、通信アーキテクチャにわたって分散されたノードのネットワークに対する秘密または保護されたアクセス
CN114285802A (zh) 网络负载均衡方法、装置、电子设备、介质和程序产品
CN103959744B (zh) 发现数据网络基础设施服务
KR100776793B1 (ko) 폐쇄형 p2p 네트워크 시스템 및 방법
JP5768550B2 (ja) 通信端末および通信制御方法

Legal Events

Date Code Title Description
A201 Request for examination
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: 20140610

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150708

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160610

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170707

Year of fee payment: 7