KR101223907B1 - Server side relay apparatus and client side relay apparatus for configurating direct communication environment between server and client - Google Patents

Server side relay apparatus and client side relay apparatus for configurating direct communication environment between server and client Download PDF

Info

Publication number
KR101223907B1
KR101223907B1 KR1020110003723A KR20110003723A KR101223907B1 KR 101223907 B1 KR101223907 B1 KR 101223907B1 KR 1020110003723 A KR1020110003723 A KR 1020110003723A KR 20110003723 A KR20110003723 A KR 20110003723A KR 101223907 B1 KR101223907 B1 KR 101223907B1
Authority
KR
South Korea
Prior art keywords
server
port
client
side relay
connection
Prior art date
Application number
KR1020110003723A
Other languages
Korean (ko)
Other versions
KR20120082302A (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 주식회사 아이디스
Priority to KR1020110003723A priority Critical patent/KR101223907B1/en
Publication of KR20120082302A publication Critical patent/KR20120082302A/en
Application granted granted Critical
Publication of KR101223907B1 publication Critical patent/KR101223907B1/en

Links

Images

Classifications

    • 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
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1091Interfacing with client-server systems or between P2P systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/20Repeater circuits; Relay circuits

Landscapes

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

Abstract

본 발명은 서버와 클라이언트간 직접 통신 환경 구현을 위한 서버측 중계장치 및 클라이언트측 중계장치에 관한 것으로, 서버와 클라이언트간을 공유기를 통해 연결시, 서버나 클라이언트나 소프트웨어 수정 없이도 서버와 클라이언트간 직접 통신 환경을 구현함으로써 서버나 클라이언트나 소프트웨어 수정 없이 공유기를 통해 서버와 클라이언트간의 접속을 연결할 수 있도록 한 것이다.The present invention relates to a server-side relay device and a client-side relay device for implementing a direct communication environment between the server and the client, when connecting the server and the client through a router, direct communication between the server and the client without modifying the server, client or software By implementing the environment, it is possible to connect the connection between the server and the client through the router without modifying the server, client or software.

Description

서버와 클라이언트간 직접 통신 환경 구현을 위한 서버측 중계장치 및 클라이언트측 중계장치{Server side relay apparatus and client side relay apparatus for configurating direct communication environment between server and client}Server side relay apparatus and client side relay apparatus for configurating direct communication environment between server and client}

본 발명은 서버와 클라이언트간 통신 접속 기술에 관련한 것으로, 특히 서버와 클라이언트간 직접 통신 환경 구현을 위한 서버측 중계장치 및 클라이언트측 중계장치에 관한 것이다.The present invention relates to a communication connection technology between a server and a client, and more particularly, to a server side relay apparatus and a client side relay apparatus for implementing a direct communication environment between a server and a client.

다양한 네트워크 서비스를 제공하는 서버는 클라이언트의 접속 요청을 처리하고, 디지털 데이터를 전달하는 역할을 한다. 현재 주류를 이루고 있는 IPv4 주소체계의 인터넷망에서 주소 부족 문제를 해결하기 위해 NAT(Network Address Translation) 기능을 구비한 공유기가 많이 사용되고 있다.A server providing various network services processes a client's connection request and delivers digital data. In order to solve the address shortage problem in the Internet network of the mainstream IPv4 address system, a router equipped with NAT (Network Address Translation) function is widely used.

공유기는 공유기 환경 내부에 존재하는 장치의 포트(Port)로부터 외부로 나가는 데이터는 차단하지 않지만, 한번이라도 외부로 나가는 데이터가 없었던 포트에 대해서는 외부로부터 들어오는 데이터를 차단하는 특징이 있다. 이러한 공유기의 특성으로 인해 공유기 환경에서 서버를 운영할 경우, 클라이언트가 공유기를 통과하여 서버에 직접 접속할 수 없는 문제가 발생하게 된다.The router does not block outgoing data from the port of a device existing inside the router environment, but it has a feature that blocks incoming data from a port that has never been outgoing. Due to the characteristics of the router, when the server is operated in the router environment, the client cannot directly access the server through the router.

이러한 문제를 해결하기 위해, 종래의 경우 포트 포워딩(Port Forwarding)이나 홀 펀칭(Hole Punching) 방법을 사용해 미리 서버가 사용하는 포트를 외부에 개방하는 방법을 사용했다.In order to solve this problem, in the related art, a port forwarding or hole punching method is used to open a port previously used by a server to the outside.

포트 포워딩 방법으로 공유기의 포트 포워딩 설정 기능을 통해 수동으로 서버가 사용하는 포트를 외부에 개방하는 수동 포트 포워딩 방법이 있다. 수동 포트 포워딩 방법을 사용할 경우, 수동 포트 포워딩은 네트워크 전문 지식이 필요하기 때문에 일반 사용자들이 직접 수동 포트 포워딩하기에는 무리가 있다. As a port forwarding method, there is a manual port forwarding method of manually opening a port used by the server through the router's port forwarding setting function. When using the manual port forwarding method, since manual port forwarding requires network expertise, it is not easy for ordinary users to manually perform manual port forwarding.

또한, 수동 포트 포워딩 방법은 서비스 포트가 늘어날수록 직접 공유기를 설정하고 포트들을 관리하는데 어려움이 커진다. 특히, 영상 전송 장치와 같이 개인용 서버들이 늘어나는 상황에서의 수동적인 공유기 설정 문제는 개인 서비스를 제공하는데 있어서 난제가 되고 있다.In addition, in the manual port forwarding method, as the service port increases, it becomes more difficult to directly configure the router and manage the ports. In particular, the problem of passive router setting in a situation in which personal servers are increasing, such as a video transmission device, has become a challenge in providing personal services.

한편, 포트 포워딩 방법으로 UPnP IGD(Universal Plug and Play Internet Gateway Device)와 같은 공유기가 지원하는 프로토콜을 통해 공유기 환경내의 서버가 사용자의 개입없이 포트 포워딩을 자동으로 수행하는 방법이 있다.Meanwhile, a port forwarding method includes a method in which a server in a router environment automatically performs port forwarding without user intervention through a protocol supported by a router such as UPnP IGD (Universal Plug and Play Internet Gateway Device).

그러나, 이 방법은 UPnP IGD를 통해 공유기 포트를 자동으로 등록하는 별도의 장치 또는 소프트웨어를 사용하더라도, 반드시 서버가 사용하는 포트를 알고 있어야 하기 때문에, 서버 장치와 연동을 위한 인터페이스가 필요하며, 이러한 자동 포트 포워딩 기능을 지원하지 않는 공유기가 아직 많기 때문에 사용에 있어 제한적일 수 밖에 없다.However, even if a separate device or software is used to automatically register the router port through UPnP IGD, this method requires an interface for interworking with the server device. There are still many routers that do not support port forwarding, so they are limited in use.

홀 펀칭 방법은 공유기가 한번이라도 데이터가 외부로 나간 적이 있던 포트에 대해서는 외부로부터 들어오는 데이터를 차단하지 않는다는 특성을 이용한 것으로, 서버가 외부 클라이언트로부터 접속을 기다리기 전에 사용하는 포트를 통해 미리 데이터를 보내 향후 공유기가 특정 서비스 포트로 들어오는 데이터를 막지 않도록 하는 방법이다.The hole punching method takes advantage of the feature that the router does not block incoming data for ports that have ever been out, and the data is sent in advance through the port that the server uses before waiting for access from external clients. This is a way to prevent the router from blocking data coming into a specific service port.

그러나, 이 방법은 네트워크 프로토콜과 공유기의 특성에 따라 접속 성공률이 다르며, 특히 공유기에 다수의 서버나 서비스 포트들이 있을 경우 경쟁으로 인해 성공률이 더욱 낮아지는 문제가 있다. 또한, 홀 펀칭을 위해서는 공유기에 미리 데이터를 보내 포트를 여는 과정 등이 필요하고, 공유기의 특성에 따라 클라이언트 주소와 종속적인 홀 펀칭이 필요할 경우 외부 네트워크에 별도의 접속 서버를 운영해야 하는 등 복잡하고, 연결된 서버들에 대해서 상당한 수정 없이는 적용이 불가능한 문제가 있다.However, this method has a different connection success rate according to the characteristics of the network protocol and the router. In particular, when there are a plurality of server or service ports in the router, the success rate is lowered due to competition. In addition, hole punching requires the process of sending data to the router in advance to open ports, and if the client address and hole punching are required depending on the characteristics of the router, a separate connection server must be operated in the external network. However, there is a problem that cannot be applied to the connected servers without significant modification.

그 밖에 외부 네트워크에 별도의 중계 서버를 운영하고, 서비스 서버와 클라이언트를 중계 서버에 연결해 중계 서버를 통해 데이터를 주고 받도록 하는 방법도 있다. 그러나, 이 방법은 비디오와 같이 데이터량이 큰 네트워크 서비스나 다수의 서버와 클라이언트를 대상으로 할 경우, 대용량 처리를 위한 비용 증가로 인해 실용적인 면에서 불리하고, 이 역시 중계 서버에 연결되는 서버와 클라이언트를 수정해야 하는 문제가 있다.In addition, there is a method of operating a separate relay server in an external network and connecting a service server and a client to the relay server to exchange data through the relay server. However, this method is disadvantageous in terms of practical use due to the increased cost for processing a large amount of data, such as video, or a network service with a large amount of data. There is a problem that needs to be corrected.

즉, 종래의 방법들은 서버와 클라이언트간을 공유기를 통해 연결시, 서버나 클라이언트나 소프트웨어를 수정하지 않고는 공유기를 사용할 수 없었다. 그런데, 이러한 수정 작업은 매우 전문성을 요하므로 현실적으로는 수정이 매우 어렵거나 불가능하였다.That is, the conventional methods cannot use the router when the server and the client are connected through the router without modifying the server, the client, or the software. However, such modifications are very difficult and impossible in reality because they require a lot of expertise.

따라서, 본 발명자는 서버와 클라이언트간을 공유기를 통해 연결시, 서버나 클라이언트나 소프트웨어 수정 없이도 서버와 클라이언트간 직접 통신 환경을 구현할 수 있는 기술에 대한 연구를 하게 되었다.Therefore, the present inventors have studied a technology for implementing a direct communication environment between a server and a client without modifying the server, the client, or the software when the server and the client are connected through a router.

본 발명은 상기한 취지하에 발명된 것으로, 서버와 클라이언트간을 공유기를 통해 연결시, 서버나 클라이언트나 소프트웨어 수정 없이도 서버와 클라이언트간 직접 통신 환경을 구현할 수 있는 서버측 중계장치 및 클라이언트측 중계장치를 제공함을 그 목적으로 한다.The present invention has been invented under the above-mentioned object, and provides a server-side relay apparatus and a client-side relay apparatus capable of implementing a direct communication environment between the server and the client without modifying the server, the client, or the software when connecting the server and the client through a router. The purpose is to provide.

상기한 목적을 달성하기 위한 본 발명의 일 양상에 따르면, 다수의 서버가 공유하는 서버측 공유기 환경내에 적용되어 다수의 서버에 대해 가상의 클라이언트로서 동작하는 서버측 중계장치가 각 서버 포트와 통신 접속을 처리하는 서버 포트 접속부와; 클라이언트측 중계장치 포트와 통신 접속을 처리하는 중계 포트 접속부와; 상기 서버 포트 접속부와 중계 포트 접속부간 포트 다중화 및 역다중화를 처리하는 포트 다중화/역다중화부와; 사용중인 포트 접속 관리 및 명령 처리를 수행하는 접속 관리부를 포함하여 이루어지는 것을 특징으로 한다.According to an aspect of the present invention for achieving the above object, a server-side relay device which is applied in a server-side router environment shared by a plurality of servers and operates as a virtual client for a plurality of servers, communicates with each server port. A server port connection unit for processing; A relay port connection portion for processing a communication connection with a client-side relay port; A port multiplexing / demultiplexing unit for processing port multiplexing and demultiplexing between the server port connecting unit and the relay port connecting unit; And a connection management unit that performs port connection management and command processing in use.

본 발명의 또 다른 양상에 따르면, 다수의 클라이언트가 공유하는 클라이언트측 공유기 환경내에 적용되어 다수의 클라이언트에 대해 가상의 서버로서 동작하는 클라이언트측 중계장치가 각 클라이언트 포트와 통신 접속을 처리하는 클라이언트 포트 접속부와; 서버측 중계장치 포트와 통신 접속을 처리하는 중계 포트 접속부와; 상기 클라이언트 포트 접속부와 중계 포트 접속부간 포트 다중화 및 역다중화를 처리하는 포트 다중화/역다중화부와; 사용중인 포트 접속 관리 및 명령 처리를 수행하는 접속 관리부를 포함하여 이루어지는 것을 특징으로 한다.According to another aspect of the present invention, a client port connection unit applied in a client-side router environment shared by a plurality of clients and operating as a virtual server for a plurality of clients, handles a communication connection with each client port. Wow; A relay port connection portion for processing a communication connection with a server-side relay port; A port multiplexing / demultiplexing unit for processing port multiplexing and demultiplexing between the client port connecting unit and the relay port connecting unit; And a connection management unit that performs port connection management and command processing in use.

본 발명은 서버와 클라이언트간을 공유기를 통해 연결시, 서버나 클라이언트나 소프트웨어 수정 없이도 서버와 클라이언트간 직접 통신 환경을 구현함으로써 서버나 클라이언트나 소프트웨어 수정 없이 공유기를 통해 서버와 클라이언트간의 접속을 연결할 수 있는 효과가 있다.According to the present invention, when the server and the client are connected through the router, the server and the client can implement a direct communication environment between the client without modifying the server, the client, or the software. It works.

또한, 본 발명은 일대다 포트 연결을 통해 포트 멀티플렉싱 및 포트 디멀티플렉싱 환경을 구현함으로써 공유기에 연결된 장치간의 충돌 가능성을 줄일 수 있어 접속 성공률을 향상시킬 수 있는 효과가 있다.In addition, the present invention implements a port multiplexing and port demultiplexing environment through a one-to-many port connection, thereby reducing the possibility of collision between devices connected to the router, thereby improving the connection success rate.

도 1 은 본 발명에서의 공유기를 통한 서버와 클라이언트간 연결 관계를 도시한 네트워크 연결 개요도이다.
도 2 는 본 발명에 따른 서버와 클라이언트간 직접 통신 환경 구현을 위한 서버측 중계장치의 일 실시예의 구성을 도시한 블럭도이다.
도 3 은 본 발명에 따른 서버와 클라이언트간 직접 통신 환경 구현을 위한 클라이언트측 중계장치의 일 실시예의 구성을 도시한 블럭도이다.
1 is a network connection schematic diagram illustrating a connection relationship between a server and a client through a router according to the present invention.
2 is a block diagram showing the configuration of an embodiment of a server-side relay apparatus for implementing a direct communication environment between the server and the client according to the present invention.
3 is a block diagram showing the configuration of an embodiment of a client-side relay apparatus for implementing a direct communication environment between a server and a client according to the present invention.

이하, 첨부된 도면을 참조하여 기술되는 바람직한 실시예를 통하여 본 발명을 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 기술하기로 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily understand and reproduce the present invention.

본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명 실시예들의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.In the following description of the present invention, detailed descriptions of well-known functions or configurations will be omitted if it is determined that the detailed description of the embodiments of the present invention may unnecessarily obscure the gist of the present invention.

본 발명 명세서 전반에 걸쳐 사용되는 용어들은 본 발명 실시예에서의 기능을 고려하여 정의된 용어들로서, 사용자 또는 운용자의 의도, 관례 등에 따라 충분히 변형될 수 있는 사항이므로, 이 용어들의 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.The terms used throughout the present specification are terms defined in consideration of functions in the embodiments of the present invention, and may be sufficiently modified according to the intention, custom, etc. of the user or operator, and the definitions of these terms are used throughout the specification. It should be made based on the contents.

도 1 은 본 발명에서의 공유기를 통한 서버와 클라이언트간 연결 관계를 도시한 네트워크 연결 개요도이다. 도 1 에 도시한 바와 같이, 서버측 공유기(10)와 클라이언트측 공유기(20)가 외부 네트워크에 연결되며, 각각 서버측 공유기(10)에는 적어도 하나의 서버(30)가 연결되고, 클라이언트측 공유기(20)에는 적어도 하나의 클라이언트(40)가 연결되어 내부 네트워크를 형성한다.1 is a network connection schematic diagram illustrating a connection relationship between a server and a client through a router according to the present invention. As shown in FIG. 1, the server-side router 10 and the client-side router 20 are connected to an external network, and at least one server 30 is connected to the server-side router 10 and the client-side router, respectively. At least one client 40 is connected to the 20 to form an internal network.

이 때, 서버측 공유기(10)와 클라이언트측 공유기(20) 내부에 서버측 중계장치(100)와, 클라이언트측 중계장치(200)가 각각 하드웨어적 또는 소프트웨어적 또는 이 둘을 결합한 방식으로 탑재되어, 서버와 클라이언트간 직접 통신 환경을 구현한다.At this time, the server-side relay device 100 and the client-side relay device 200 are mounted in the server-side router 10 and the client-side router 20 in a hardware or software manner, or a combination thereof. In addition, it implements a direct communication environment between the server and the client.

도 2 는 본 발명에 따른 서버와 클라이언트간 직접 통신 환경 구현을 위한 서버측 중계장치의 일 실시예의 구성을 도시한 블럭도이다. 이 실시예에 따른 서버와 클라이언트간 직접 통신 환경 구현을 위한 서버측 중계장치(100)는 다수의 서버가 공유하는 서버측 공유기 환경내에 적용(서버측 공유기내에 탑재되거나 또는 서버측 공유기와 서버간에 별도로 설치)되어 다수의 서버에 대해 가상의 클라이언트로서 동작하며, 도 2 에 도시한 바와 같이, 서버 포트 접속부(110)와, 중계 포트 접속부(120)와, 포트 다중화/역다중화부(130)와, 접속 관리부(140)를 포함하여 이루어진다.2 is a block diagram showing the configuration of an embodiment of a server-side relay apparatus for implementing a direct communication environment between the server and the client according to the present invention. The server-side relay apparatus 100 for implementing a direct communication environment between the server and the client according to this embodiment is applied in a server-side router environment shared by a plurality of servers (mounted in the server-side router or separately between the server-side router and the server). Installed) and operating as a virtual client for a plurality of servers, and as shown in FIG. 2, the server port connecting unit 110, the relay port connecting unit 120, the port multiplexing / demultiplexing unit 130, It includes a connection management unit 140.

상기 서버 포트 접속부(110)는 각 서버 포트와 통신 접속을 처리한다. 즉, 이 서버 포트 접속부(110)는 각 서버의 물리적인 포트들과 물리적으로 인터페이싱되어 각 서버와 서버측 중계장치(100)간에 통신 접속이 되도록 한다.The server port connection unit 110 processes a communication connection with each server port. In other words, the server port connection unit 110 is physically interfaced with the physical ports of each server to be a communication connection between each server and the server-side relay device (100).

상기 중계 포트 접속부(120)는 클라이언트측 중계장치 포트와 통신 접속을 처리한다. 즉, 이 중계 포트 접속부(120)는 적어도 하나의 클라이언트측 중계장치의 물리적인 포트와 물리적으로 인터페이싱되어 서버측 중계장치(100)와 클라이언트측 중계장치(200)간에 통신 접속이 되도록 한다.The relay port connector 120 handles a communication connection with a client-side relay port. In other words, the relay port connection unit 120 is physically interfaced with at least one physical port of the client-side relay device so as to establish a communication connection between the server-side relay device 100 and the client-side relay device 200.

이 때, 상기 중계 포트 접속부(120)가 클라이언트측 중계장치(200)와 하나의 포트만을 이용해 통신 접속하도록 구현할 수 있다. 즉, 서버측 중계장치(100)와 각 클라이언트측 중계장치(200)간에 하나의 포트만을 이용해 통신 접속할 경우, 클라이언트측 중계장치(200)들간의 충돌 가능성을 줄일 수 있으므로, 클라이언트의 접속 성공률을 향상시킬 수 있다.In this case, the relay port connection unit 120 may be implemented to communicate with the client side relay device 200 using only one port. That is, when the server-side relay device 100 and the client-side relay device 200 communicate with each other using only one port, the possibility of collision between the client-side relay devices 200 can be reduced, thereby improving the client's connection success rate. You can.

상기 포트 다중화/역다중화부(130)는 상기 서버 포트 접속부(110)와 중계 포트 접속부(120)간 포트 다중화 및 역다중화를 처리한다. 즉, 서버측 중계장치(100)와 각 클라이언트측 중계장치(200)간에 하나의 포트만을 이용해 통신 접속되도록 구현할 경우, 서버측 중계장치(100)에는 다수의 서버들의 포트가 연결되므로, 일대다 포트 연결 관계를 형성하게 된다. The port multiplexing / demultiplexing unit 130 processes port multiplexing and demultiplexing between the server port connecting unit 110 and the relay port connecting unit 120. That is, when the server-side relay device 100 and each client-side relay device 200 are implemented to communicate by using only one port, the server-side relay device 100 is connected to a plurality of ports, so that one-to-many ports A connection relationship is formed.

따라서, 상기 포트 다중화/역다중화부(130)가 다수의 서버 포트들 각각으로부터 수신된 데이터들을 특정 클라이언트측 중계장치 포트로 출력하는 포트 다중화가 수행될 수 있다.Therefore, the port multiplexing / demultiplexing unit 130 may perform port multiplexing to output data received from each of the plurality of server ports to a specific client-side relay port.

한편, 상기 포트 다중화/역다중화부(130)가 특정 클라이언트측 중계장치 포트로부터 수신된 데이터를 다수의 서버 포트들 각각으로 출력하는 포트 역다중화가 수행될 수 있다.Meanwhile, port demultiplexing by the port multiplexing / demultiplexing unit 130 to output data received from a specific client-side relay port to each of a plurality of server ports may be performed.

상기 접속 관리부(140)는 사용중인 포트 접속 관리 및 명령 처리를 수행한다. 이 때, 상기 접속 관리부(140)가 클라이언트 중계장치(200)로부터의 특정 서버 접속 요구 명령에 따라, 해당 접속 요구된 서버 포트와 해당 클라이언트 중계장치 포트간의 접속 관리를 수행함으로써 마치 공유기가 없는 환경과 동일한 서버와 클라이언트간 직접 통신 환경을 구현할 수 있다.The connection manager 140 performs port access management and command processing in use. At this time, the connection manager 140 manages the connection between the server port and the client relay port, which is requested to connect, according to a specific server connection request command from the client relay 200, so as to provide an environment without a router. Direct communication between the same server and client can be implemented.

예컨대, 접속 관리부(140)가 서버를 대신해 각 서버가 사용하는 포트를 미리 클라이언트측에 개방함으로써 서버나 클라이언트나 소프트웨어 수정 없이도 서버와 클라이언트간 직접 통신 환경을 구현할 수 있다.For example, the connection manager 140 may open a port used by each server in advance on the client side in place of the server to implement a direct communication environment between the server and the client without modifying the server, the client, or the software.

이 때, 상기 접속 관리부(140)가 포트 포워딩(Port Forwarding)을 수행하여 각 서버가 사용하는 포트를 미리 클라이언트측에 개방하도록 구현함으로써 서버나 클라이언트나 소프트웨어 수정 없이도 서버와 클라이언트간 직접 통신 환경을 구현할 수 있다.In this case, the connection manager 140 performs port forwarding to open ports used by each server in advance to the client side, thereby implementing a direct communication environment between the server and the client without modifying the server, the client, or the software. Can be.

이 때, 상기 접속 관리부(140)가 홀 펀칭(Hole Punching)을 수행하여 각 서버가 사용하는 포트를 미리 클라이언트측에 개방하도록 구현함으로써 서버나 클라이언트나 소프트웨어 수정 없이도 서버와 클라이언트간 직접 통신 환경을 구현할 수도 있다.At this time, the connection manager 140 implements hole punching to open ports used by each server in advance to the client side, thereby implementing a direct communication environment between the server and the client without modifying the server, the client, or the software. It may be.

따라서, 서버와 클라이언트간을 공유기를 통해 연결시, 이 실시예에 따른 서버와 클라이언트간 직접 통신 환경 구현을 위한 서버측 중계장치(100)를 통해 서버나 클라이언트나 소프트웨어 수정 없이도 서버와 클라이언트간 직접 통신 환경을 구현할 수 있어 서버나 클라이언트나 소프트웨어 수정 없이 공유기를 통해 서버와 클라이언트간의 접속을 연결할 수 있다.Accordingly, when the server and the client are connected through a router, the server and the client directly communicate with each other without modifying the server, the client, or the software through the server-side relay apparatus 100 for implementing a direct communication environment between the server and the client according to this embodiment. The environment can be implemented so that connections between server and client can be made through the router without modifying the server, client or software.

또한, 서버와 클라이언트간을 공유기를 통해 연결시, 이 실시예에 따른 서버와 클라이언트간 직접 통신 환경 구현을 위한 서버측 중계장치(100)를 통해 일대다 포트 연결 관계를 가지도록 포트 멀티플렉싱 및 포트 디멀티플렉싱 환경을 구현함으로써 공유기에 연결된 장치간의 충돌 가능성을 줄일 수 있어 접속 성공률을 향상시킬 수 있게 된다.In addition, when the server and the client is connected through a router, the port multiplexing and the port decode so as to have a one-to-many port connection relationship through the server-side relay apparatus 100 for implementing a direct communication environment between the server and the client according to this embodiment. By implementing a multiplexing environment, the possibility of collision between devices connected to the router can be reduced, thereby improving the connection success rate.

도 3 은 본 발명에 따른 서버와 클라이언트간 직접 통신 환경 구현을 위한 클라이언트측 중계장치의 일 실시예의 구성을 도시한 블럭도이다. 이 실시예에 따른 서버와 클라이언트간 직접 통신 환경 구현을 위한 클라이언트측 중계장치(200)는 다수의 클라이언트가 공유하는 클라이언트측 공유기 환경내에 적용(클라이언트측 공유기내에 탑재되거나 또는 클라이언트측 공유기와 클라이언트간에 별도로 설치)되어 다수의 클라이언트에 대해 가상의 서버로서 동작하며, 클라이언트 포트 접속부(210)와, 중계 포트 접속부(220)와, 포트 다중화/역다중화부(230)와, 접속 관리부(240)를 포함하여 이루어진다.3 is a block diagram showing the configuration of an embodiment of a client-side relay apparatus for implementing a direct communication environment between a server and a client according to the present invention. The client-side relay device 200 for implementing a direct communication environment between the server and the client according to the present embodiment is applied in a client-side router environment shared by a plurality of clients (mounted in the client-side router or separately between the client-side router and the client). Installed) and operating as a virtual server for a plurality of clients, including a client port connection unit 210, a relay port connection unit 220, a port multiplexing / demultiplexing unit 230, and a connection management unit 240. Is done.

상기 클라이언트 포트 접속부(210)는 각 클라이언트 포트와 통신 접속을 처리한다. 즉, 이 클라이언트 포트 접속부(210)는 각 클라이언트의 물리적인 포트들과 물리적으로 인터페이싱되어 각 클라이언트와 클라이언트측 중계장치(200)간에 통신 접속이 되도록 한다.The client port access unit 210 processes a communication connection with each client port. In other words, the client port access unit 210 is physically interfaced with the physical ports of each client so as to establish a communication connection between each client and the client-side relay device 200.

상기 중계 포트 접속부(220)는 서버측 중계장치 포트와 통신 접속을 처리한다. 즉, 이 중계 포트 접속부(220)는 서버측 중계장치의 물리적인 포트와 물리적으로 인터페이싱되어 클라이언트측 중계장치(200)와 서버측 중계장치(100)간에 통신 접속이 되도록 한다.The relay port connector 220 handles a communication connection with a server-side relay device port. That is, the relay port connecting unit 220 is physically interfaced with the physical port of the server-side relay device so that the communication connection between the client-side relay device 200 and the server-side relay device 100.

이 때, 상기 중계 포트 접속부(220)가 서버측 중계장치(100)와 하나의 포트만을 이용해 통신 접속하도록 구현할 수 있다. 즉, 클라이언트측 중계장치(200)와 서버측 중계장치(100)간에 하나의 포트만을 이용해 통신 접속할 경우, 클라이언트 중계장치(200)들간의 충돌 가능성을 줄일 수 있으므로, 서버의 접속 성공률을 향상시킬 수 있다.At this time, the relay port connection unit 220 may be implemented to communicate with the server-side relay device 100 using only one port. That is, when the communication connection between the client-side relay device 200 and the server-side relay device 100 using only one port can reduce the possibility of collision between the client relay devices 200, the success rate of the server connection can be improved. have.

상기 포트 다중화/역다중화부(230)는 상기 클라이언트 포트 접속부(210)와 중계 포트 접속부(220)간 포트 다중화 및 역다중화를 처리한다. 즉, 클라이언트측 중계장치(200)와 서버측 중계장치(100)간에 하나의 포트만을 이용해 통신 접속되도록 구현할 경우, 클라이언트측 중계장치(200)에는 다수의 클라이언트들의 포트가 연결되므로, 일대다 포트 연결 관계를 형성하게 된다. The port multiplexing / demultiplexing unit 230 processes port multiplexing and demultiplexing between the client port connecting unit 210 and the relay port connecting unit 220. That is, when the client-side relay device 200 and the server-side relay device 100 are implemented to communicate by using only one port, the client-side relay device 200 is connected to a port of a plurality of clients, one-to-many port connection Will build relationships.

따라서, 상기 포트 다중화/역다중화부(230)가 다수의 클라이언트 포트들 각각으로부터 수신된 데이터들을 서버측 중계장치 포트로 출력하는 포트 다중화가 수행될 수 있다.Thus, the port multiplexing / demultiplexing unit 230 may perform port multiplexing to output data received from each of the plurality of client ports to the server-side relay port.

한편, 상기 포트 다중화/역다중화부(230)가 서버측 중계장치 포트로부터 수신된 데이터를 다수의 클라이언트 포트들 각각으로 출력하는 포트 역다중화가 수행될 수 있다.On the other hand, the port multiplexing / demultiplexing unit 230 may perform port demultiplexing to output data received from the server-side relay port to each of the plurality of client ports.

상기 접속 관리부(240)는 사용중인 포트 접속 관리 및 명령 처리를 수행한다. 이 때, 상기 접속 관리부(240)가 특정 클라이언트로부터의 서버 접속 요구 명령에 따라, 해당 서버 접속 요구한 클라이언트 포트와 서버 중계장치 포트간의 접속 관리를 수행함으로써 마치 공유기가 없는 환경과 동일한 서버와 클라이언트간 직접 통신 환경을 구현할 수 있다.The connection manager 240 performs port access management and command processing in use. At this time, the connection manager 240 manages the connection between the client port and the server relay port requested for the server connection according to a server connection request command from a specific client. You can implement a direct communication environment.

한편, 클라이언트측 중계장치(200)의 접속 관리부(240)의 경우 서버측 중계장치(100)의 접속 관리부(140)와는 달리 포트를 미리 외부에 개방하는 동작은 필요 없다.On the other hand, in the case of the connection management unit 240 of the client-side relay device 200, unlike the connection management unit 140 of the server-side relay device 100, it is not necessary to open the port in advance.

이상에서 설명한 바와 같이, 본 발명은 서버와 클라이언트간을 공유기를 통해 연결시, 서버나 클라이언트나 소프트웨어 수정 없이도 서버와 클라이언트간 직접 통신 환경을 구현할 수 있어 서버나 클라이언트나 소프트웨어 수정 없이 공유기를 통해 서버와 클라이언트간의 접속을 연결할 수 있으므로, 상기에서 제시한 본 발명의 목적을 달성할 수 있다.As described above, the present invention can implement a direct communication environment between the server and the client without modifying the server, the client or the software when connecting the server and the client through the router, so Since the connection between the clients can be connected, the object of the present invention as described above can be achieved.

또한, 서버와 클라이언트간을 공유기를 통해 연결시, 일대다 포트 연결 관계를 가지도록 포트 멀티플렉싱 및 포트 디멀티플렉싱 환경을 구현함으로써 공유기에 연결된 장치간의 충돌 가능성을 줄일 수 있어 접속 성공률을 향상시킬 수 있다.In addition, when the server and the client are connected through the router, the port multiplexing and port demultiplexing environment is implemented to have a one-to-many port connection relationship, thereby reducing the possibility of collision between the devices connected to the router, thereby improving the connection success rate.

본 발명은 첨부된 도면에 의해 참조되는 바람직한 실시예를 중심으로 기술되었지만, 이러한 기재로부터 후술하는 특허청구범위에 의해 포괄되는 범위내에서 본 발명의 범주를 벗어남이 없이 다양한 변형이 가능하다는 것은 명백하다.While the invention has been described with reference to the preferred embodiments, which are referred to by the accompanying drawings, it is apparent that various modifications are possible without departing from the scope of the invention within the scope covered by the following claims from this description. .

본 발명은 서버와 클라이언트간 통신 접속 기술분야 및 이의 응용 기술분야에서 산업상으로 이용 가능하다.The present invention is industrially applicable in the field of communication connection between a server and a client and its application field.

100 : 서버측 중계장치 110 : 서버 포트 접속부
120, 220 : 중계 포트 접속부 130, 230 : 포트 다중화/역다중화부
140, 240 : 접속 관리부 200 : 클라이언트측 중계장치
210 : 클라이언트 포트 접속부
100: server side relay device 110: server port connection
120, 220: relay port connection unit 130, 230: port multiplexing / demultiplexing unit
140, 240: connection management unit 200: client-side relay device
210: client port connection

Claims (12)

다수의 서버가 공유하는 서버측 공유기 환경내에 적용되어 다수의 서버에 대해 가상의 클라이언트로서 동작하는 서버측 중계장치에 있어서,
각 서버 포트와 통신 접속을 처리하는 서버 포트 접속부와;
클라이언트측 중계장치 포트와 통신 접속을 처리하는 중계 포트 접속부와;
상기 서버 포트 접속부와 중계 포트 접속부간 포트 다중화 및 역다중화를 처리하는 포트 다중화/역다중화부와;
사용중인 포트 접속 관리 및 명령 처리를 수행하되, 클라이언트 중계장치로부터의 특정 서버 접속 요구 명령에 따라, 해당 접속 요구된 서버 포트와 해당 클라이언트 중계장치 포트간의 접속 관리를 수행하는 접속 관리부를;
포함하여 이루어지는 것을 특징으로 하는 서버와 클라이언트간 직접 통신 환경 구현을 위한 서버측 중계장치.
In a server-side relay device that is applied in a server-side router environment shared by a plurality of servers and operates as a virtual client for a plurality of servers,
A server port connection portion for processing a communication connection with each server port;
A relay port connection portion for processing a communication connection with a client-side relay port;
A port multiplexing / demultiplexing unit for processing port multiplexing and demultiplexing between the server port connecting unit and the relay port connecting unit;
A connection manager configured to perform port connection management and command processing in use, and perform connection management between the server connection request server port and the client relay port according to a specific server connection request command from the client relay device;
Server-side relay device for implementing a direct communication environment between the server and the client, characterized in that it comprises a.
제 1 항에 있어서,
상기 포트 다중화/역다중화부가:
다수의 서버 포트들 각각으로부터 수신된 데이터들을 특정 클라이언트측 중계장치 포트로 출력하는 포트 다중화를 수행하는 것을 특징으로 하는 서버와 클라이언트간 직접 통신 환경 구현을 위한 서버측 중계장치.
The method of claim 1,
The port multiplexing / demultiplexing unit:
A server-side relay apparatus for implementing a direct communication environment between the server and the client, characterized in that for performing port multiplexing outputting data received from each of the plurality of server ports to a specific client-side relay port.
제 1 항에 있어서,
상기 포트 다중화/역다중화부가:
특정 클라이언트측 중계장치 포트로부터 수신된 데이터를 다수의 서버 포트들 각각으로 출력하는 포트 역다중화를 수행하는 것을 특징으로 하는 서버와 클라이언트간 직접 통신 환경 구현을 위한 서버측 중계장치.
The method of claim 1,
The port multiplexing / demultiplexing unit:
A server-side relay apparatus for implementing a direct communication environment between the server and the client, characterized in that for performing port demultiplexing to output data received from a specific client-side relay port to each of the plurality of server ports.
제 1 항에 있어서,
상기 중계 포트 접속부가:
클라이언트측 중계장치와 하나의 포트만을 이용해 통신 접속하는 것을 특징으로 하는 서버와 클라이언트간 직접 통신 환경 구현을 위한 서버측 중계장치.
The method of claim 1,
The relay port connection portion:
Server-side relay device for implementing a direct communication environment between the server and the client, characterized in that the client-side relay device and the communication connection using only one port.
삭제delete 제 1 항에 있어서,
상기 접속 관리부가:
포트 포워딩(Port Forwarding)을 수행하여 각 서버가 사용하는 포트를 미리 클라이언트측에 개방하는 것을 특징으로 하는 서버와 클라이언트간 직접 통신 환경 구현을 위한 서버측 중계장치.
The method of claim 1,
The connection management unit:
A server-side relay apparatus for implementing a direct communication environment between the server and the client, characterized in that for opening the port used by each server in advance by performing port forwarding.
제 1 항에 있어서,
상기 접속 관리부가:
홀 펀칭(Hole Punching)을 수행하여 각 서버가 사용하는 포트를 미리 클라이언트측에 개방하는 것을 특징으로 하는 서버와 클라이언트간 직접 통신 환경 구현을 위한 서버측 중계장치.
The method of claim 1,
The connection management unit:
Server-side relay device for implementing a direct communication environment between the server and the client, characterized in that for performing hole punching (Hole Punching) to open the port used by each server in advance.
다수의 클라이언트가 공유하는 클라이언트측 공유기 환경내에 적용되어 다수의 클라이언트에 대해 가상의 서버로서 동작하는 클라이언트측 중계장치에 있어서,
각 클라이언트 포트와 통신 접속을 처리하는 클라이언트 포트 접속부와;
서버측 중계장치 포트와 통신 접속을 처리하는 중계 포트 접속부와;
상기 클라이언트 포트 접속부와 중계 포트 접속부간 포트 다중화 및 역다중화를 처리하는 포트 다중화/역다중화부와;
사용중인 포트 접속 관리 및 명령 처리를 수행하되, 특정 클라이언트로부터의 서버 접속 요구 명령에 따라, 해당 서버 접속 요구한 클라이언트 포트와 서버 중계장치 포트간의 접속 관리를 수행하는 접속 관리부를;
포함하여 이루어지는 것을 특징으로 하는 서버와 클라이언트간 직접 통신 환경 구현을 위한 클라이언트측 중계장치.
In a client-side relay device applied in a client-side router environment shared by a plurality of clients and operating as a virtual server for a plurality of clients,
A client port connection for handling a communication connection with each client port;
A relay port connection portion for processing a communication connection with a server-side relay port;
A port multiplexing / demultiplexing unit for processing port multiplexing and demultiplexing between the client port connecting unit and the relay port connecting unit;
A connection manager configured to perform port connection management and command processing in use, and to perform connection management between a client port and a server relay port requested for the server connection according to a server connection request command from a specific client;
Client-side relay device for implementing a direct communication environment between the server and the client, characterized in that it comprises a.
제 8 항에 있어서,
상기 포트 다중화/역다중화부가:
다수의 클라이언트 포트들 각각으로부터 수신된 데이터들을 특정 서버측 중계장치 포트로 출력하는 포트 다중화를 수행하는 것을 특징으로 하는 서버와 클라이언트간 직접 통신 환경 구현을 위한 클라이언트측 중계장치.
The method of claim 8,
The port multiplexing / demultiplexing unit:
And a port multiplexing for outputting data received from each of the plurality of client ports to a specific server-side relay port.
제 8 항에 있어서,
상기 포트 다중화/역다중화부가:
특정 서버측 중계장치 포트로부터 수신된 데이터를 다수의 클라이언트 포트들 각각으로 출력하는 포트 역다중화를 수행하는 것을 특징으로 하는 서버와 클라이언트간 직접 통신 환경 구현을 위한 클라이언트측 중계장치.
The method of claim 8,
The port multiplexing / demultiplexing unit:
A client-side relay device for implementing a direct communication environment between the server and the client, characterized in that for performing port demultiplexing to output data received from a specific server-side relay port to each of the plurality of client ports.
제 8 항에 있어서,
상기 중계 포트 접속부가:
서버측 중계장치와 하나의 포트만을 이용해 통신 접속하는 것을 특징으로 하는 서버와 클라이언트간 직접 통신 환경 구현을 위한 클라이언트측 중계장치.
The method of claim 8,
The relay port connection portion:
Client-side relay device for implementing a direct communication environment between the server and the client, characterized in that the server-side relay device and the communication connection using only one port.
삭제delete
KR1020110003723A 2011-01-13 2011-01-13 Server side relay apparatus and client side relay apparatus for configurating direct communication environment between server and client KR101223907B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110003723A KR101223907B1 (en) 2011-01-13 2011-01-13 Server side relay apparatus and client side relay apparatus for configurating direct communication environment between server and client

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110003723A KR101223907B1 (en) 2011-01-13 2011-01-13 Server side relay apparatus and client side relay apparatus for configurating direct communication environment between server and client

Publications (2)

Publication Number Publication Date
KR20120082302A KR20120082302A (en) 2012-07-23
KR101223907B1 true KR101223907B1 (en) 2013-01-21

Family

ID=46714150

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110003723A KR101223907B1 (en) 2011-01-13 2011-01-13 Server side relay apparatus and client side relay apparatus for configurating direct communication environment between server and client

Country Status (1)

Country Link
KR (1) KR101223907B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102618291B1 (en) * 2022-10-28 2023-12-27 주식회사 안랩 Client asset management system and client asset management method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080067842A (en) * 2007-01-17 2008-07-22 에스케이 텔레콤주식회사 Apparatus for expanding base station

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080067842A (en) * 2007-01-17 2008-07-22 에스케이 텔레콤주식회사 Apparatus for expanding base station

Also Published As

Publication number Publication date
KR20120082302A (en) 2012-07-23

Similar Documents

Publication Publication Date Title
US10237253B2 (en) Private cloud routing server, private network service and smart device client architecture without utilizing a public cloud based routing server
US9203807B2 (en) Private cloud server and client architecture without utilizing a routing server
KR101221551B1 (en) Network controller based pass-through communication mechanism between local host and management controller
EP3493508A1 (en) Separation of control plane function and forwarding plane function of broadband remote access server
US9781087B2 (en) Private and secure communication architecture without utilizing a public cloud based routing server
JP5876877B2 (en) Telecommunication network and method and system for efficient use of connection between telecommunication network and customer premises equipment
US9935930B2 (en) Private and secure communication architecture without utilizing a public cloud based routing server
TW201002018A (en) Method for predicting port number of NAT apparatus based on two STUN server inquiry results
WO2007036160A1 (en) An apparatus, system and method for realizing communication between the client and the server
TWI484804B (en) Data management methods for use in a network system and systems thereof
CN108810124B (en) Remote access control system for large number of multimedia terminals in public network environment
US20050232273A1 (en) Communications system and a gateway device
US20110145426A1 (en) Networking method of communication apparatus, communication apparatus and storage medium
JP2008278529A (en) Method and system for transparent transmission of data traffic between data processing devices, corresponding computer program product, and corresponding computer-readable storage medium
WO2016184283A1 (en) Data stream management method and system for virtual machine
KR101223907B1 (en) Server side relay apparatus and client side relay apparatus for configurating direct communication environment between server and client
JP5926164B2 (en) High-speed distribution method and connection system for session border controller
GB2531831A (en) Private and secure communication architecture without utilizing a public cloud based routing server
US20160316021A1 (en) Remote out of band management
GB2496380A (en) Private cloud server and client architecture using e-mail/SMS to establish communication
US8285853B2 (en) Message and system for implementing the inter-access of stack members
WO2018068238A1 (en) Cable media converter management method, apparatus and system
CN114928459A (en) Connection method and computer readable medium for private communication architecture
GB2532832A (en) Private and secure communication architecture without utilizing a public cloud based routing server
CN115883256B (en) Data transmission method, device and storage medium based on encryption tunnel

Legal Events

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

Payment date: 20151109

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161207

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20171218

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190107

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 8