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

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

Info

Publication number
KR101049912B1
KR101049912B1 KR1020090015329A KR20090015329A KR101049912B1 KR 101049912 B1 KR101049912 B1 KR 101049912B1 KR 1020090015329 A KR1020090015329 A KR 1020090015329A KR 20090015329 A KR20090015329 A KR 20090015329A KR 101049912 B1 KR101049912 B1 KR 101049912B1
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
KR20100096446A (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

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. 삭제
  4. 제 1 항에 있어서, 상기 단계 b)는:
    b1) 상기 통신 제어 서버로부터 상기 타측 단말로 연결 시도를 요구하는 연결 시도 요청 메시지를 수신하는 단계와;
    b2) 상기 연결 시도 요청 메시지에 따라 상기 통신 제어 서버를 통해 상기 타측 단말로 데이터 전송 시간 체크용 패킷을 전송하고, 이에 따른 응답 메시지를 상기 통신 제어 서버를 통해 수신하는 단계와;
    b3) 상기 수신된 응답 메시지를 통해 상기 타측 단말로 접속 요구 패킷을 전송할 시간을 산출하는 단계와;
    b4) 상기 산출된 시간이 지나면, 상기 타측 단말과 접속 시도할 시점을 예측하여 상기 타측 단말로 접속 요구 패킷을 전송하여 동기화하는 단계;
    를 포함하는 것을 특징으로 하는 네트워크 시스템 간의 접속 방법.
  5. 제 4 항에 있어서, 상기 단계 b3)는:
    상기 데이터 전송 시간 체크용 패킷을 상기 타측 단말에 전송하고, 이에 따라 상기 타측 단말로부터 상기 응답 메시지가 도착된 총 시간을 1/2로 나누어 산출 된 값이며,
    상기 응답 메시지는 상기 타측 단말의 주소 번역 규칙을 포함하는 것을 특징으로 하는 네트워크 시스템 간의 접속 방법.
  6. 제 4 항에 있어서, 상기 단계 b4)는:
    b4-1) 상기 일측 단말의 주소 번역 규칙을 상기 통신 제어 서버를 통해 상기 타측 단말로 전송하는 단계와;
    b4-2) 상기 타측 단말로부터 상기 일측 단말의 예측된 주소를 통해 상기 타측 단말의 접속 요구 패킷을 수신하되, 상기 타측 단말로 상기 주소 번역 규칙을 전송한 후, 상기 산출된 시간이 지나면, 상기 응답 메시지의 주소 번역 규칙을 이용하여 상기 타측 단말의 예측된 주소로 상기 접속 요구 패킷을 전송하는 단계;
    를 포함하는 것을 특징으로 하는 네트워크 시스템 간의 접속 방법.
  7. d) 일측 단말로부터 접속 정보가 수신되면, 타측 단말이 어느 망에 속해 있는지를 체크하는 단계와;
    e) 상기 일측 단말과 상기 타측 단말이 접속을 실패하면, 상기 일측 단말 또는 상기 타측 단말로부터 복수의 세션(Session) 설정을 시도하도록 요청하고, 매 세션마다 상기 일측 단말 또는 상기 타측 단말이 속한 공유기로부터 수신되는 접속 정보에 포함된 아이피와 포트 정보를 파악하여 주소 번역 규칙을 획득하고, 상기 획득된 주소 번역 규칙을 상기 일측 단말과 상기 타측 단말로 전송하여, 상기 일측 단말과 타측 단말이 상기 수신된 주소 번역 규칙을 교환하여 서로 동기화된 접속 시도를 하도록 처리하는 단계와;
    f) 상기 일측 단말과 상기 타측 단말로 전송한 주소 번역 규칙에 따른 예측된 주소를 통해 상기 일측 단말과 타측 단말이 접속을 실패하면, 상기 일측 단말과 상기 타측 단말의 접속을 중계하는 단계;
    를 포함하는 것을 특징으로 하는 통신 제어 서버를 이용한 네트워크 시스템 간의 접속 방법.
  8. 삭제
  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 KR20100096446A (ko) 2010-09-02
KR101049912B1 true 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102666587B1 (ko) * 2019-05-30 2024-05-17 삼성에스디에스 주식회사 피어-투-피어 통신 단말 장치 및 상기 장치에서의 피어-투-피어 통신 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040054817A (ko) * 2002-05-13 2004-06-25 소니 컴퓨터 엔터테인먼트 아메리카 인코포레이티드 네트워크 주소가 변환되는 피어 투 피어 네트워크 통신
KR20070045195A (ko) * 2004-07-05 2007-05-02 오키드 케미칼즈 앤드 파마수티컬즈 리미티드 세팔로스포린 항생제의 제조에 있어서의 새로운 염
KR20070088568A (ko) * 2004-09-29 2007-08-29 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 피어 투 피어 연결 설정 방법
KR20080049286A (ko) * 2006-11-30 2008-06-04 삼성전자주식회사 이종 인터페이스 환경에서의 다중 경로 설정 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040054817A (ko) * 2002-05-13 2004-06-25 소니 컴퓨터 엔터테인먼트 아메리카 인코포레이티드 네트워크 주소가 변환되는 피어 투 피어 네트워크 통신
KR20070045195A (ko) * 2004-07-05 2007-05-02 오키드 케미칼즈 앤드 파마수티컬즈 리미티드 세팔로스포린 항생제의 제조에 있어서의 새로운 염
KR20070088568A (ko) * 2004-09-29 2007-08-29 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 피어 투 피어 연결 설정 방법
KR20080049286A (ko) * 2006-11-30 2008-06-04 삼성전자주식회사 이종 인터페이스 환경에서의 다중 경로 설정 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102666587B1 (ko) * 2019-05-30 2024-05-17 삼성에스디에스 주식회사 피어-투-피어 통신 단말 장치 및 상기 장치에서의 피어-투-피어 통신 방법

Also Published As

Publication number Publication date
KR20100096446A (ko) 2010-09-02

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
US8942225B2 (en) Optimizing communications
JP5086475B2 (ja) ピアツーピア・オーバーレイ・ネットワークへのデバイスの最適参加のための方法および装置
JP4833995B2 (ja) モバイルオンラインゲームシステム、及びモバイルゲーム端末間の通信方法
US20080071900A1 (en) Device and a method for communicating in a network
US8289979B2 (en) Optimising communications
US20130254415A1 (en) Routing requests over a network
KR20100087213A (ko) 접속을 확립하는 방법
KR101680715B1 (ko) 개인 네트워크 등록을 위한 장치 및 방법
JP2012507339A (ja) 通信ネットワークにおいてゲームを有効化する方法及び装置
EP2374244B1 (en) Communications system and method
WO2013143360A1 (zh) 一种业务数据下载方法和移动终端
CN114157605B (zh) 一种通讯方法、系统、电子设备及计算机可读存储介质
KR101049912B1 (ko) 네트워크 시스템 간의 접속 방법
US8416711B1 (en) Systems and methods for sharing availability status information between network nodes
JP5726302B2 (ja) トポロジサーバを用いた、通信アーキテクチャにわたって分散されたノードのネットワークに対する秘密または保護されたアクセス
CN103621045A (zh) 内容分发
KR100657523B1 (ko) 피어 대 피어 네트워크에서 릴레이 서버의 자원을할당하는 방법
KR100704834B1 (ko) 동등 계층 통신을 이용한 채팅 서비스 제공 방법 및 시스템
KR101589680B1 (ko) M2m 트래픽을 위한 ims 플랫폼 관리 장치
CN116389173B (zh) 一种企业生产网自组网实现方法、系统、介质及设备
US8627505B2 (en) Technique for controlling access by a client entity to a service
JP4617203B2 (ja) サーバ装置および通信接続方法
JP5009878B2 (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