WO2022164201A1 - Private network access control device for enabling user terminal of internet network to access private network in order to execute remote service, and control method thereof - Google Patents

Private network access control device for enabling user terminal of internet network to access private network in order to execute remote service, and control method thereof Download PDF

Info

Publication number
WO2022164201A1
WO2022164201A1 PCT/KR2022/001397 KR2022001397W WO2022164201A1 WO 2022164201 A1 WO2022164201 A1 WO 2022164201A1 KR 2022001397 W KR2022001397 W KR 2022001397W WO 2022164201 A1 WO2022164201 A1 WO 2022164201A1
Authority
WO
WIPO (PCT)
Prior art keywords
private network
user terminal
network
remote service
address
Prior art date
Application number
PCT/KR2022/001397
Other languages
French (fr)
Korean (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
Priority claimed from KR1020210022145A external-priority patent/KR102595308B1/en
Application filed by 대구대학교 산학협력단, 주식회사 크래프트엑스 filed Critical 대구대학교 산학협력단
Publication of WO2022164201A1 publication Critical patent/WO2022164201A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • 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/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Definitions

  • the present invention relates to an apparatus for controlling access to a private network that allows a user terminal of an Internet network to access a private network to execute a remote service, a system including the same, and a method for controlling the same.
  • Terminals are assigned a public IP (Internet Protocol) from an Internet Service Provider (ISP) or a private IP assigned from a Network Address Translator (NAT) to access the network.
  • IP Internet Protocol
  • ISP Internet Service Provider
  • NAT Network Address Translator
  • the NAT device controls a plurality of terminals to access an external network using one public IP allocated from the ISP. More specifically, the NAT device is an address translator of a communication network used to convert a private IP address into a public IP address. To this end, the NAT device classifies the terminals using the private IPs allocated differently within the network, and allows the terminals to access the external network while sharing the public IP.
  • a NAT device There are two purposes of using a NAT device. First, it can save the public IP address of the Internet, and second, it can protect users' own private network connected to the public network of the Internet from intruders.
  • NAT is a device that connects to an external communication network, that is, the Internet network
  • the router notifies only the public IP address assigned to it to the outside, and only uses the private IP address internally, and converts them when necessary. . Therefore, in order for an external intruder to attack, it is impossible to attack because the internal private IP address of the private network must be known, so the internal network can be protected.
  • a plurality of virtual machines are installed inside the server.
  • a Linux-based Kernel-based Virtual Machine (KVM) hypervisor a Windows-based VmWare hypervisor, and the like are used.
  • the operator when a virtual machine is used as described above, the operator must set port forwarding information in response to a firewall, a NAT device, and the like. In particular, when a private IP is assigned to a virtual machine, the operator must continuously update the settings.
  • the present invention aims to solve the above and other problems.
  • One object of the present invention is to propose an apparatus, system and method for efficiently accessing a remote service existing in a private network or a cloud computing internal network by a terminal from the outside.
  • An embodiment of the present invention for realizing the above problems relates to a control method of a private network access control apparatus.
  • the control method may include: logging in to a user terminal accessing a portal through an Internet network; obtaining user information about the user terminal in response to the user terminal logging in; changing settings of a router connecting the Internet network and the private network using the user information; and providing a remote service located in the private network to the user terminal using the router.
  • the changing of the router configuration includes: setting a destination address of a packet transmitted from the user terminal to the private network as a private network IP address of a node in which the remote service is located; and setting a destination address of a packet sent by the remote service to the user terminal as an Internet network IP address of the user terminal.
  • the user information may include the Internet network IP address of the user terminal, remote service information to be used by the user terminal, and a private network IP address of a node in which the remote service is located.
  • the portal may be operated in a server connected to the private network, and the address of the portal may be fixed to a specific address accessible from the Internet network to the private network.
  • control method may include: discovering a first user terminal and a second user terminal that exist in the private network and access the remote service; disposing the remote service providing node differently as a first node corresponding to the first user terminal and a second node corresponding to the second user terminal; and providing the remote service to the first user terminal through the first node and providing the remote service to the second user terminal through the second node.
  • An embodiment of the present invention relates to a system including a private network access control device that allows a user terminal of an Internet network to access a private network to execute a desktop service.
  • the system includes a plurality of hosts providing different remote services; a router connected to the hosts by a private network and configured to connect the private network to an Internet network; and a private network access control device connected to the hosts through the private network and configured to change the settings of the router so that a user terminal connected to the private network can use a remote service provided by at least one of the hosts.
  • a user terminal can quickly and efficiently access a remote service existing in a private network or an internal cloud computing network from the outside.
  • FIGS. 1A and 1B are diagrams illustrating a network environment including a NAT device and a firewall;
  • FIG. 2 is a diagram for explaining a port forward method
  • FIG. 3 is a diagram for explaining a method of using a relay server in a private network
  • FIG. 4 is a view for explaining a system including a private network access control device according to an embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating a control method according to an embodiment of the present invention.
  • the terminal may be divided into a mobile/portable terminal and a stationary terminal according to whether the terminal can be moved.
  • the mobile terminal can be divided into a handheld terminal and a vehicle mounted terminal according to whether the user can carry it directly.
  • the terminal described in this specification includes a mobile phone, a smart phone, a laptop computer, a digital broadcasting terminal, a personal digital assistant (PDA), a portable multimedia player (PMP), a navigation system, a slate PC, A tablet PC, an ultrabook, a wearable device, for example, a watch-type terminal (smartwatch), a glass-type terminal (smart glass), a head mounted display (HMD), etc. may be included.
  • PDA personal digital assistant
  • PMP portable multimedia player
  • a navigation system a slate PC
  • a tablet PC an ultrabook
  • a wearable device for example, a watch-type terminal (smartwatch), a glass-type terminal (smart glass), a head mounted display (HMD), etc. may be included.
  • the remote service refers to a service in which a user terminal accesses a specific computing device through an Internet network to use resources of the computing device or to control the computing device.
  • a typical example of a remote service is Remote Desktop Services.
  • Remote Desktop Services is one of the components of Microsoft Windows that allows users to take control of a remote computer or virtual machine that is connected to a network.
  • Remote Desktop Services is Microsoft's implementation of Thin Client, which allows full computer desktops running Windows software, Remote Desktop Services (RDS), to connect to remote client machines that support Remote Desktop Protocol (RDP).
  • RDP Remote Desktop Protocol
  • Remote Desktop Services only the software user interfaces are sent to the client system. All input from the client system is sent to the server, where the software execution takes place. This is in contrast to application streaming systems such as Microsoft's App-V, where computer programs are streamed to the requesting client and run on a streaming machine.
  • VNC Virtual Network Computing
  • FIGS. 1A and 1B are diagrams illustrating a network environment including a NAT device and a firewall.
  • various types of hosts 6 , 8 , 10 , and 12 are located in an internal network, and the hosts 6 , 8 , 10 , and 12 are connected to a router ( 4) (or switch). And, the first terminal 20 is connected to the internal network (16).
  • the first host 6 is set to a first type (Type-1).
  • the first type means a host to which a public IP is allocated.
  • the second host 8 is set to a second type (Type-2).
  • the second type means a host including a virtual machine (VM) therein by a NAT type provided by an operating system (OS).
  • OS operating system
  • the third host 10 is set to a third type (Type-3).
  • the third type means a host connected to the internal network 16 via the NAT device 14 .
  • the fourth host 12 is set to a fourth type (Type-4).
  • the fourth type refers to a host connected to the internal network 16 via the NAT device 14 and including a virtual machine (VM) therein by the NAT type provided by the operating system (OS).
  • OS operating system
  • the internal network is connected to an external network (eg, the Internet, etc.) via the firewall 2 .
  • the firewall 2 protects the internal network from the external network by controlling only the session that meets the policy set in advance from the external network to be communicated to the internal network.
  • the second terminal 30 located outside the firewall 2 may block communication with the internal network by the packet filtering function of the firewall 2 .
  • the above-described first host 6 is assigned a public IP.
  • the second host 8 is allocated one public IP, and virtual machines (VM) located therein are allocated a private IP.
  • the third host 10 and the fourth host 12 connected to the NAT device 14 are assigned a private IP. Additionally, virtual machines (VMs) included in the fourth host 12 are allocated a different private IP from the fourth host 12 .
  • the first terminal 20 connected to the internal network 16 can communicate with the first host 6 assigned a public IP. However, even in the first terminal 20 connected to the internal network 16 , the virtual machines (VM) of the second host 8 using the private IP, the third host 10 and the fourth host 12 Communication with virtual machines (VMs) is not allowed.
  • VM virtual machines
  • a private IP is generally used for network configuration.
  • the operator when configuring a network using a private IP, the operator must set port forwarding information for remote access such as telnet or ssh.
  • remote access such as telnet or ssh is required from an external network, the operator must additionally set a firewall permission policy, which limits network utility.
  • an apparatus for controlling port forwarding may include hosts 106 , 108 , 110 , 112 , a router 104 , and an internal forwarder 140 .
  • Hosts 106 , 108 , 110 , 112 , router 104 and internal forwarding unit 140 are connected by internal network 116 (internal network formation).
  • the first host 106 is set to a first type (Type-1).
  • the first type means a host to which a public IP is allocated.
  • the second host 108 is set to a second type (Type-2).
  • the second type refers to a host including virtual machines VM-1 and VM-2 (or first virtual machines) therein by a NAT type provided by an operating system (OS).
  • OS operating system
  • Such a second host 108 includes a forwarding agent (FA).
  • the forwarding agent FA transfers the access information to be provided by the second host 108 to the internal forwarding unit 140 .
  • the forwarding agent (FA) of the second host 108 may transmit connection information that can be connected to the virtual machines VM-1 and VM2 of the second host 108 to the internal forwarding unit 140 . have.
  • the forwarding agent (FA) is illustrated as being separately included in the host for convenience of description, the present invention is not limited thereto.
  • the forwarding agent (FA) may be deleted, and the operation of the forwarding agent (FA) may be performed in the corresponding host.
  • the forwarding agent (FA) may be implemented as a program or the like.
  • the third host 110 is set to a third type (Type-3).
  • the third type means a host connected to the internal network 116 via the NAT device 114 .
  • Such a third host 110 includes a forwarding agent (FA).
  • the forwarding agent FA transmits access information to be provided by the third host 110 to the internal forwarding unit 140 .
  • the fourth host 112 is set to a fourth type (Type-4).
  • the fourth type is connected to the internal network 116 via the NAT device 114, and virtual machines (VM-1', VM-2') inside by the NAT type provided by the operating system (OS). (or second virtual machines) means a host.
  • Such a fourth host 112 includes a forwarding agent (FA).
  • FA forwarding agent
  • the forwarding agent FA transmits the access information to be provided by the fourth host 112 to the internal forwarding unit 140 .
  • the forwarding agent FA of the fourth host 112 may transmit connection information that can be connected to the virtual machines VM-1' and VM-2' to the internal forwarding unit 140 .
  • FIG. 1B shows four hosts 106 to 112 formed in different types for convenience of description, the present invention is not limited thereto.
  • one or more types of hosts included in the internal network of the present invention may be configured, and the number of hosts may be variously configured.
  • a router 104 (or a switch) connects the internal network with any external network.
  • the router 104 is connected to the Internet via the firewall 102 , and accordingly, the internal network may be connected to any external network (or terminal, etc.) via the Internet.
  • the internal forwarding unit 140 sets port forwarding information in response to access information from a forwarding agent (FA) included in each of the hosts 108 to 112 . That is, the internal forwarding unit 140 automatically sets port forwarding information in response to the access information of the forwarding agent (FA).
  • the first terminal 120 connected to the internal network 116 may be connected to the second host 108 to the fourth host 112 in response to the port forwarding information set in the internal forwarding unit 140 . have.
  • the first host 106 to which the public IP is assigned can communicate with the first terminal 120 without a separate port forwarding.
  • the internal forwarding unit 140 does not generate separate port forwarding information in relation to the first host 106
  • the present invention is not limited thereto.
  • port forwarding information of the first host 106 may be set in the internal forwarding unit 140 to be connected to an external network via the firewall 102 .
  • the firewall 102 protects the internal network from the external network by controlling only a session meeting a policy set in advance from the external network to be communicated to the internal network.
  • the second terminal 130 located outside the firewall 102 may block communication with the internal network by the packet filtering function of the firewall 102 .
  • the present invention provides a method for a terminal located outside to use a desktop service existing in an internal network.
  • the port forwarding control apparatus includes hosts 106 ′, 108 , 110 , 112 , a router 104 , an internal forwarding unit 140 , and an external forwarding unit 150 . can do.
  • Each of hosts 106', 108, 110, 112 includes a forwarding agent (FA).
  • the forwarding agent (FA) included in each of the hosts 106', 108, 110, and 112 transmits the access information of the host 106', 108, 110, and 112 to the internal forwarding unit 140. forward to
  • the internal forwarding unit 140 sets port forwarding information (or internal port forwarding information) in response to access information from the forwarding agent (FA). Then, the internal forwarding unit 140 transmits the port forwarding information to the external forwarding unit 150 .
  • FA forwarding agent
  • the external forwarding unit 150 is located outside the firewall 102 . Such an external forwarding unit 150 sets port forwarding information (or external port forwarding information) based on the port forwarding information from the internal forwarding unit 140 .
  • the external forwarding unit 150 transmits the packet from the second terminal 130 to the internal forwarding unit 140 in response to the port forwarding information stored therein.
  • the internal forwarding unit 140 may supply the packet transferred from the external forwarding unit 150 to the specific host 106' to any one of 112 in response to the port forwarding information stored therein.
  • FIG. 2 is a diagram for simplifying the port forward method described above with reference to FIGS. 1A and 1B .
  • IP IP is a unique value, it does not have duplicate addresses.
  • IPv4 which consists of 4 numbers from 0 to 255, can allocate only 4,294,967,296 (about 4.2 billion) addresses to the power of 2, 32. Therefore, a separate private network is established for devices that do not need a network worldwide.
  • the above-mentioned Internet-capable IP is called a public IP.
  • These public IPs are unique values and are assigned to each device using the Internet. However, some IP bands are not used in these public IPs.
  • the 10.x.x.x bands, the 172.16 ⁇ 31.x.x bands, and the 192.168.x.x bands are all unused.
  • This IP band is used only in a private network (or private network) that a company or individual will establish separately.
  • a private network is a local network, not the global Internet, and is used when the Internet is not necessary. In order to build such a private network, a DHCP server and a router are required, but the personal equipment that combines these functions is a router.
  • the role of the router is to establish a private network for all devices connected to the router. Because it is a private network, the private IP band is used instead of the public IP band mentioned above.
  • the mainly used IP band is 192.168.x.x. As such, a device with an IP address starting with 192.168 requires a device with a public IP address to access the Internet.
  • the router is assigned a public IP while creating a private network. So, all devices connected to the router must go through the router to access the Internet.
  • the remote access desktop service existing inside the private network allocates a different port for each computer for remote access.
  • the router managing the private network can allow the connection to access the private network from the outside by forwarding all packets that connect to a pre-determined port from the outside for remote access to the desktop service using the pre-determined IP.
  • this method is inconvenient in that a port is allocated for each computer, and a user who wants to access the allocated port from the outside must also know as previously agreed information.
  • FIG. 3 is a diagram for explaining a method of using a relay server in a private network.
  • the method of using the relay server inside the private network is the method suggested by Microsoft (patent application No. 10-2004-0039190), which provides a desktop service that the user terminal can access through the portal, and when the user terminal selects a specific desktop service, the inside of the private network
  • Microsoft patent application No. 10-2004-0039190
  • This is a method that relays traffic between an external user terminal and an internal desktop service by creating a thread for the server in the server to receive the user's traffic and the desktop service traffic inside the private network. Since this method takes a method in which the internal server receives both traffic and relays it again, there is a disadvantage that the efficiency may be greatly reduced if a lot of load is concentrated at once.
  • FIG. 4 is a diagram for explaining a system including a private network access control apparatus according to an embodiment of the present invention
  • FIG. 5 is a flowchart for explaining a control method according to an embodiment of the present invention.
  • the private network access control device performs a function of allowing a user terminal located outside the private network to access a computing device located in the private network through the Internet network and use a remote service for the computing device.
  • the remote service may include various functions, but for convenience of description, the remote desktop service will be exemplified.
  • the remote desktop service In a cloud environment, the remote desktop service usually exists inside a private network and can be accessed by the method described above.
  • the current cloud network is becoming increasingly complex with a structure in which the private network environment is surrounded by double or triple layers, and the need to improve performance in a simpler and more efficient way is increasing in this environment.
  • the user terminal performs membership registration through a login portal operated by the private network access control device inside the private network (S510).
  • User information including remote desktop service information that the user terminal intends to use when signing up for membership and a private network IP address of a node in which the remote desktop service is located may be stored in the memory of the private network access control device.
  • the user terminal accesses the server accessible to the private network through the login portal operated by the server inside the private network, and performs login (S530).
  • the address of the login portal is fixed to a specific address that can access the private network, and a portal that provides a specific service can be installed inside the private network using a known method. Since the IP address that can access the portal service is known externally, anyone can access it.
  • the user terminal When the user terminal is logged in, it is possible to know who the user accessed through the portal is, and the IP information used by the user can be obtained through the user packet. Since the remote desktop service is provided in a one-to-one correspondence with a specific user, by using user information, it is also possible to identify the remote desktop service corresponding to the user. Using internal management information, you can find out which cloud computing node the corresponding remote desktop service is currently deployed on, and you can know the IP address of the corresponding computing node or the IP address represented for access (usually a gateway or router address). have. Therefore, by using the logged-in user information, it is possible to know the IP address of the user terminal, the remote desktop service for users inside the private network, the IP address of the cloud computing node where the service is deployed, and information about the access path.
  • the private network access control apparatus provides the remote desktop service by changing the configuration information of the router (or gateway) connecting the private network and the outside using the obtained IP address of the user terminal as follows ( S550 ).
  • the packet transmitted from the user terminal to the private network is delivered into the private network by using the IP address of the computing node where the corresponding remote desktop service is located inside the private network as the destination address.
  • the packet sent by the Remote Desktop Service to the user can be transmitted outside the private network with the IP address of the user terminal as the destination in the same way as the method currently used in NAT.
  • the host provides the remote desktop service to the user terminal through the router whose settings are changed (S570).
  • a plurality of user terminals may have the same starting address.
  • the computing node providing the remote desktop service is arranged differently or the service is provided through a container having a different address.
  • the private network access control apparatus searches for a first user terminal and a second user terminal that exist in the private network and access the remote desktop service, and provides a node providing the remote desktop service to the first user terminal. disposing differently to a corresponding first node and a second node corresponding to the second user terminal, and providing the remote desktop service to the first user terminal through the first node, and through the second node.
  • the step of providing the remote desktop service to the second user terminal may be additionally performed.
  • the classic method is port forwarding, but this method has a limitation in that traffic with a specific port coming from the outside can be sent to only one server inside the NAT.
  • the method presented by Microsoft is a method of receiving all connections with a server program, reading the traffic, and then sending it back to the server.
  • the traffic consists of a read part and a sending part.
  • the method proposed in the present invention is not to read and then forward it, but to change the address value of the traffic according to a predetermined rule according to the user so that the remote desktop user terminal can directly send the traffic to its own server.
  • the user and the address value are mapped 1:1, and the information is predetermined when the user terminal creates a user account or an administrator creates an account.
  • a user terminal can quickly and efficiently access a remote desktop service existing in a private network or an internal cloud computing network from the outside.
  • the present invention described above can be implemented as computer-readable code (or application or software) on a medium in which a program is recorded.
  • the above-described control method of the diagnostic system may be realized by a code stored in a memory or the like.
  • the computer-readable medium includes all kinds of recording devices in which data readable by a computer system is stored.
  • Examples of computer-readable media include Hard Disk Drive (HDD), Solid State Disk (SSD), Silicon Disk Drive (SDD), ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc.
  • HDD Hard Disk Drive
  • SSD Solid State Disk
  • SDD Silicon Disk Drive
  • ROM Read Only Memory
  • RAM compact disc-read only memory
  • CD-ROM compact disc-read only memory
  • magnetic tape floppy disk
  • optical data storage device etc.
  • carrier wave eg, transmission over the Internet
  • the computer may include a processor or a processor. Accordingly, the above detailed description should not be construed as restrictive in all respects but as exemplary. The scope of the present invention should be determined by a reasonable interpretation of the appended claims, and all modifications within the equivalent scope of the present invention are included in the scope of the present invention.

Abstract

The present invention relates to a private network access control device for enabling a user terminal of an Internet network to access a private network in order to execute a remote service, and a control method thereof. The control method comprises the steps of: logging in to a user terminal having accessed a portal through an Internet network; obtaining user information about the user terminal in response to logging in of the user terminal; changing a configuration of a router connecting the Internet network and the private network, using the user information; and providing a remote service located in the private network to the user terminal by using the router.

Description

인터넷 망의 사용자 단말이 원격 서비스를 실행하기 위하여 사설망에 접속할 수 있도록 하는 사설망 접속 제어장치 및 그것의 제어 방법Private network access control apparatus and method for controlling the same, allowing a user terminal of the Internet network to access a private network to execute a remote service
본 발명은 인터넷 망의 사용자 단말이 원격 서비스를 실행하기 위하여 사설망에 접속할 수 있도록 하는 사설망 접속 제어장치, 그것을 포함하는 시스템 및 그것의 제어 방법에 관한 것이다. The present invention relates to an apparatus for controlling access to a private network that allows a user terminal of an Internet network to access a private network to execute a remote service, a system including the same, and a method for controlling the same.
단말들은 ISP(Internet Service Provider)로부터 공용 IP(Internet Protocol)를 할당 받거나, NAT(Network Address Translator)로부터 사설 IP를 할당받아 네트워크에 접속한다.Terminals are assigned a public IP (Internet Protocol) from an Internet Service Provider (ISP) or a private IP assigned from a Network Address Translator (NAT) to access the network.
NAT 장치는 ISP로부터 할당받은 하나의 공인 IP를 이용하여 복수의 단말들이 외부망에 접속되도록 제어한다. 보다 구체적으로, NAT 장치는 사설 IP주소를 공인 IP주소로 바꿔주는데 사용하는 통신망의 주소 변환기이다. 이를 위하여, NAT 장치는 네트워크망의 내부에서 서로 다르게 할당된 사설 IP를 이용하여 단말들을 구분하고, 공인 IP를 공유하면서 단말들이 외부망에 접속되도록 한다.The NAT device controls a plurality of terminals to access an external network using one public IP allocated from the ISP. More specifically, the NAT device is an address translator of a communication network used to convert a private IP address into a public IP address. To this end, the NAT device classifies the terminals using the private IPs allocated differently within the network, and allows the terminals to access the external network while sharing the public IP.
NAT장치를 사용하는 목적에는 2가지가 있는데, 첫째는 인터넷의 공인 IP주소를 절약할 수 있다는 점이고 둘째는 인터넷이란 공공망과 연결되는 사용자들의 고유한 사설망을 침입자들로부터 보호할 수 있다는 점이다.There are two purposes of using a NAT device. First, it can save the public IP address of the Internet, and second, it can protect users' own private network connected to the public network of the Internet from intruders.
인터넷의 공인 IP주소는 한정되어 있기 때문에 가급적 이를 공유할 수 있도록 하는 것이 필요한데 NAT를 이용하면 사설 IP주소를 사용하면서 이를 공인 IP주소와 상호 변환할 수 있도록 하여 공인 IP주소를 다수가 함께 사용할 수 있도록 함으로써 이를 절약할 수 있는 것이다.Since public IP addresses on the Internet are limited, it is necessary to share them as much as possible. Using NAT, a private IP address can be used and converted into a public IP address so that a large number of public IP addresses can be used together. You can save it by doing this.
공개된 인터넷과 사설망 사이에 방화벽(Firewall)을 설치하여 외부 공격으로부터 사용자의 통신망을 보호하는 기본적인 수단으로 활용할 수 있다. 이때 외부 통신망 즉 인터넷 망과 연결하는 장비인 라우터에 NAT를 설정할 경우 라우터는 자신에게 할당된 공인 IP주소만 외부로 알려지게 하고, 내부에서는 사설 IP주소만 사용하도록 하여 필요시에 이를 서로 변환시켜 준다. 따라서 외부 침입자가 공격하기 위해서는 사설망의 내부 사설 IP주소를 알아야 하기 때문에 공격이 불가능해지므로 내부 네트워크를 보호할 수 있다.By installing a firewall between the public Internet and the private network, it can be used as a basic means of protecting the user's communication network from external attacks. At this time, when NAT is set on a router, which is a device that connects to an external communication network, that is, the Internet network, the router notifies only the public IP address assigned to it to the outside, and only uses the private IP address internally, and converts them when necessary. . Therefore, in order for an external intruder to attack, it is impossible to attack because the internal private IP address of the private network must be known, so the internal network can be protected.
한편, 가상화 기술이 발전하면서 서버(또는 호스트) 자원이나 네트워크를 효율적으로 사용하기 위하여, 서버 내부에 다수의 가상머신이 설치된다. 이와 같은 서버 가상화를 위하여 리눅스(Linux) 기반의 KVM(Kernel-based Virtual Machine) 하이퍼바이저(Hypervisor), 윈도우(Windows) 기반의 VmWare 하이퍼바이저 등이 사용되고 있다.Meanwhile, with the development of virtualization technology, in order to efficiently use server (or host) resources or networks, a plurality of virtual machines are installed inside the server. For such server virtualization, a Linux-based Kernel-based Virtual Machine (KVM) hypervisor, a Windows-based VmWare hypervisor, and the like are used.
하지만, 상기와 같이 가상머신이 사용되는 경우 방화벽, NAT 장치 등에 대응하여 운영자가 포트 포워딩 정보를 설정해 주어야 한다. 특히, 가상머신으로 사설 IP가 할당되는 경우 운영자가 지속적으로 설정을 갱신해야 한다.However, when a virtual machine is used as described above, the operator must set port forwarding information in response to a firewall, a NAT device, and the like. In particular, when a private IP is assigned to a virtual machine, the operator must continuously update the settings.
본 발명은 전술한 문제 및 다른 문제를 해결하는 것을 목적으로 한다.SUMMARY OF THE INVENTION The present invention aims to solve the above and other problems.
본 발명의 일 목적은 외부에서 단말이 사설망 혹은 클라우드 컴퓨팅 내부망에 존재하는 원격 서비스에 접근하려고 할 때 효율적으로 접속할 수 있는 장치, 시스템 및 방법을 제안한다.One object of the present invention is to propose an apparatus, system and method for efficiently accessing a remote service existing in a private network or a cloud computing internal network by a terminal from the outside.
상기와 같은 과제를 실현하기 위한 본 발명의 일 실시 예는 사설망 접속 제어장치의 제어 방법에 관한 것이다.An embodiment of the present invention for realizing the above problems relates to a control method of a private network access control apparatus.
상기 제어 방법은, 인터넷 망을 통하여 포털에 접속한 사용자 단말에 대한 로그인을 수행하는 단계; 상기 사용자 단말이 로그인 하는 것에 응답하여, 상기 사용자 단말에 대한 사용자 정보를 획득하는 단계; 상기 사용자 정보를 이용하여 상기 인터넷 망과 사설망을 연결하는 라우터의 설정을 변경하는 단계; 및 상기 라우터를 이용하여 상기 사설망에 위치하는 원격 서비스를 상기 사용자 단말로 제공하는 단계를 포함한다.The control method may include: logging in to a user terminal accessing a portal through an Internet network; obtaining user information about the user terminal in response to the user terminal logging in; changing settings of a router connecting the Internet network and the private network using the user information; and providing a remote service located in the private network to the user terminal using the router.
일 실시 예에 따르면, 상기 라우터의 설정을 변경하는 단계는, 상기 사용자 단말에서 상기 사설망으로 전송되어 오는 패킷의 목적지 주소를 상기 원격 서비스가 위치한 노드의 사설망 IP 주소로 설정하는 단계; 및 상기 원격 서비스가 상기 사용자 단말로 보내는 패킷의 목적지 주소를 상기 사용자 단말의 인터넷 망 IP 주소로 설정하는 단계를 포함할 수 있다.According to an embodiment, the changing of the router configuration includes: setting a destination address of a packet transmitted from the user terminal to the private network as a private network IP address of a node in which the remote service is located; and setting a destination address of a packet sent by the remote service to the user terminal as an Internet network IP address of the user terminal.
일 실시 예에 따르면, 상기 사용자 정보는, 상기 사용자 단말의 상기 인터넷 망 IP 주소, 상기 사용자 단말이 사용하고자 하는 원격 서비스 정보, 상기 원격 서비스가 위치한 노드의 사설망 IP 주소를 포함할 수 있다.According to an embodiment, the user information may include the Internet network IP address of the user terminal, remote service information to be used by the user terminal, and a private network IP address of a node in which the remote service is located.
일 실시 예에 따르면, 상기 포털은 상기 사설망에 접속된 서버에서 운영되며, 상기 포털의 주소는 상기 인터넷 망에서 상기 사설망으로 접근할 수 있는 특정 주소로 고정되어 있을 수 있다.According to an embodiment, the portal may be operated in a server connected to the private network, and the address of the portal may be fixed to a specific address accessible from the Internet network to the private network.
일 실시 예에 따르면, 상기 제어 방법은 상기 사설망 내에 존재하면서 상기 원격 서비스에 접속하는 제1 사용자 단말 및 제2 사용자 단말을 탐색하는 단계; 상기 원격 서비스를 제공하는 노드를 상기 제1 사용자 단말에 대응하는 제1 노드와 상기 제2 사용자 단말에 대응하는 제2 노드로 다르게 배치하는 단계; 및 상기 제1 노드를 통해 상기 제1 사용자 단말로 상기 원격 서비스를 제공하고, 상기 제2 노드를 통해 상기 제2 사용자 단말로 상기 원격 서비스를 제공하는 단계를 더 포함할 수 있다.According to an embodiment, the control method may include: discovering a first user terminal and a second user terminal that exist in the private network and access the remote service; disposing the remote service providing node differently as a first node corresponding to the first user terminal and a second node corresponding to the second user terminal; and providing the remote service to the first user terminal through the first node and providing the remote service to the second user terminal through the second node.
본 발명의 일 실시 예는 인터넷 망의 사용자 단말이 데스크톱 서비스를 실행하기 위하여 사설망에 접속할 수 있도록 하는 사설망 접속 제어장치를 포함하는 시스템에 관한 것이다.An embodiment of the present invention relates to a system including a private network access control device that allows a user terminal of an Internet network to access a private network to execute a desktop service.
상기 시스템은 서로 다른 원격 서비스를 제공하는 복수의 호스트들; 사설망에 의하여 상기 호스트들과 접속되며, 상기 사설망을 인터넷 망과 접속시키기 위한 라우터; 및 상기 사설망에 의하여 상기 호스트들과 접속되며, 상기 사설망에 접속되는 사용자 단말이 상기 호스트들 중 적어도 하나가 제공하는 원격 서비스를 이용할 수 있도록 상기 라우터의 설정을 변경하는 사설망 접속 제어장치를 구비한다.The system includes a plurality of hosts providing different remote services; a router connected to the hosts by a private network and configured to connect the private network to an Internet network; and a private network access control device connected to the hosts through the private network and configured to change the settings of the router so that a user terminal connected to the private network can use a remote service provided by at least one of the hosts.
본 발명에 따른 인터넷 망의 사용자 단말이 원격 서비스를 실행하기 위하여 사설망에 접속할 수 있도록 하는 사설망 접속 제어장치 및 그것의 제어 방법 의 효과에 대해 설명하면 다음과 같다.The effects of the private network access control device and its control method for allowing the user terminal of the Internet network to access the private network to execute a remote service according to the present invention will be described as follows.
본 발명은 외부에서 사용자 단말이 사설망 혹은 클라우드 컴퓨팅 내부망에 존재하는 원격 서비스에 빠르고 효율적으로 접속할 수 있다. According to the present invention, a user terminal can quickly and efficiently access a remote service existing in a private network or an internal cloud computing network from the outside.
도 1a 및 도 1b는 NAT 장치 및 방화벽을 포함하는 네트워크 환경을 나타내는 도면들1A and 1B are diagrams illustrating a network environment including a NAT device and a firewall;
도 2는 포트 포워드 방법을 설명하기 위한 도면2 is a diagram for explaining a port forward method;
도 3은 사설망 내부에 중계 서버를 이용하는 방법을 설명하기 위한 도면3 is a diagram for explaining a method of using a relay server in a private network;
도 4는 본 발명의 일 실시 예에 따른 사설망 접속 제어장치를 포함한 시스템을 설명하기 위한 도면4 is a view for explaining a system including a private network access control device according to an embodiment of the present invention;
도 5는 본 발명의 일 실시 예에 따른 제어 방법을 설명하기 위한 흐름도5 is a flowchart illustrating a control method according to an embodiment of the present invention;
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Hereinafter, the embodiments disclosed in the present specification will be described in detail with reference to the accompanying drawings, but the same or similar components are assigned the same reference numerals regardless of reference numerals, and redundant description thereof will be omitted. The suffixes "module" and "part" for components used in the following description are given or mixed in consideration of only the ease of writing the specification, and do not have distinct meanings or roles by themselves. In addition, in describing the embodiments disclosed in the present specification, if it is determined that detailed descriptions of related known technologies may obscure the gist of the embodiments disclosed in this specification, the detailed description thereof will be omitted. In addition, the accompanying drawings are only for easy understanding of the embodiments disclosed in this specification, and the technical idea disclosed herein is not limited by the accompanying drawings, and all changes included in the spirit and scope of the present invention , should be understood to include equivalents or substitutes.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms including ordinal numbers such as first, second, etc. may be used to describe various elements, but the elements are not limited by the terms. The above terms are used only for the purpose of distinguishing one component from another.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is referred to as being “connected” or “connected” to another component, it may be directly connected or connected to the other component, but it is understood that other components may exist in between. it should be On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that the other element does not exist in the middle.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. The singular expression includes the plural expression unless the context clearly dictates otherwise.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In the present application, terms such as “comprises” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It is to be understood that this does not preclude the possibility of the presence or addition of numbers, steps, operations, components, parts, or combinations thereof.
단말기는 이동 가능 여부에 따라 이동 단말기(mobile/portable terminal) 및 고정 단말기(stationary terminal)으로 나뉠 수 있다. 다시 이동 단말기는 사용자의 직접 휴대 가능 여부에 따라 휴대(형) 단말기(handheld terminal) 및 거치형 단말기(vehicle mounted terminal)로 나뉠 수 있다.The terminal may be divided into a mobile/portable terminal and a stationary terminal according to whether the terminal can be moved. Again, the mobile terminal can be divided into a handheld terminal and a vehicle mounted terminal according to whether the user can carry it directly.
본 명세서에서 설명되는 단말기에는 휴대폰, 스마트폰(smart phone), 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 슬레이트 PC(slate PC), 태블릿 PC(tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(wearable device, 예를 들어, 워치형 단말기 (smartwatch), 글래스형 단말기 (smart glass), HMD(head mounted display) 등이 포함될 수 있다.The terminal described in this specification includes a mobile phone, a smart phone, a laptop computer, a digital broadcasting terminal, a personal digital assistant (PDA), a portable multimedia player (PMP), a navigation system, a slate PC, A tablet PC, an ultrabook, a wearable device, for example, a watch-type terminal (smartwatch), a glass-type terminal (smart glass), a head mounted display (HMD), etc. may be included.
본 명세서에 기재된 실시 예에 따른 구성은 디지털 TV, 데스크탑 컴퓨터, 디지털 사이니지, 서버 등과 같은 고정 단말기에도 적용될 수도 있음을 본 기술분야의 당업자라면 쉽게 알 수 있을 것이다.Those skilled in the art will readily appreciate that the configuration according to the embodiment described in this specification may also be applied to a fixed terminal such as a digital TV, a desktop computer, a digital signage, or a server.
원격 서비스는 사용자 단말이 인터넷 망을 통하여 특정 컴퓨팅 장치로 접속해 상기 컴퓨팅 장치의 리소스를 사용하거나 상기 컴퓨팅 장치를 제어하는 서비스를 의미한다. 원격 서비스의 대표적인 예로 원격 데스크톱 서비스가 있다.The remote service refers to a service in which a user terminal accesses a specific computing device through an Internet network to use resources of the computing device or to control the computing device. A typical example of a remote service is Remote Desktop Services.
원격 데스크톱 서비스(Remote Desktop Services, RDS)는 네트워크가 연결되어 있는 원격 컴퓨터나 가상 머신에 사용자가 제어권을 가질 수 있게 하는 마이크로소프트 윈도우의 구성 요소들 가운데 하나이다. 원격 데스크톱 서비스 (RDS)는 신 클라이언트의 마이크로소프트 구현체로서, 윈도우 소프트웨어, 원격 데스크톱 서비스 (RDS)를 실행 중인 전체 컴퓨터 데스크톱이 원격 데스크톱 프로토콜(RDP)을 지원하는 원격 클라이언트 머신에 연결할 수 있게 한다. 원격 데스크톱 서비스 (RDS)를 사용하면 소프트웨어 사용자 인터페이스들만 클라이언트 시스템으로 전송된다. 클라이언트 시스템의 모든 입력은 서버에 전송되며 여기서 소프트웨어 실행이 발생한다. 이는 요청을 한 클라이언트에 컴퓨터 프로그램들이 스트리밍되고 스트리밍 머신에서 실행되는 마이크로소프트 App-V와 같은 애플리케이션 스트리밍 시스템과는 대비된다.Remote Desktop Services (RDS) is one of the components of Microsoft Windows that allows users to take control of a remote computer or virtual machine that is connected to a network. Remote Desktop Services (RDS) is Microsoft's implementation of Thin Client, which allows full computer desktops running Windows software, Remote Desktop Services (RDS), to connect to remote client machines that support Remote Desktop Protocol (RDP). With Remote Desktop Services (RDS), only the software user interfaces are sent to the client system. All input from the client system is sent to the server, where the software execution takes place. This is in contrast to application streaming systems such as Microsoft's App-V, where computer programs are streamed to the requesting client and run on a streaming machine.
리눅스 진영에서는 가상 네트워크 컴퓨팅(Virtual Network Computing, VNC) 서비스를 제공한다. 가상 네트워크 컴퓨팅(VNC)은 컴퓨터 환경에서 RFB 프로토콜을 이용하여 원격으로 다른 컴퓨터를 제어하는 그래픽 데스크톱 공유 시스템이다. 자판과 마우스 이벤트를 한 컴퓨터에서 다른 컴퓨터로 전송시켜서 네트워크를 거쳐 그래픽 화면을 갱신하는 방식을 제공한다.이외에도 다양한 업체들이 고유의 원격 데스크톱 서비스를 제공하고 있다. The Linux camp provides Virtual Network Computing (VNC) services. Virtual Network Computing (VNC) is a graphical desktop sharing system that uses the RFB protocol to remotely control another computer in a computer environment. It provides a method to update the graphic screen through a network by sending keyboard and mouse events from one computer to another. In addition, various companies provide their own remote desktop services.
도 1a 및 도 1b는 NAT 장치 및 방화벽을 포함하는 네트워크 환경을 나타내는 도면들이다.1A and 1B are diagrams illustrating a network environment including a NAT device and a firewall.
도 1a을 참조하면, 내부 네트워크에는 다양한 타입의 호스트들(6, 8, 10, 12)이 위치되며, 호스트들(6, 8, 10, 12)은 내부 네트워크망(16)을 경유하여 라우터(4)(또는 스위치)에 접속된다. 그리고, 제1 단말(20)이 내부 네트워크망(16)에 접속된다.Referring to FIG. 1A , various types of hosts 6 , 8 , 10 , and 12 are located in an internal network, and the hosts 6 , 8 , 10 , and 12 are connected to a router ( 4) (or switch). And, the first terminal 20 is connected to the internal network (16).
제1 호스트(6)는 제1 타입(Type-1)으로 설정된다. 여기서, 제1 타입은 공인 IP를 할당받는 호스트를 의미한다.The first host 6 is set to a first type (Type-1). Here, the first type means a host to which a public IP is allocated.
제2 호스트(8)는 제2 타입(Type-2)으로 설정된다. 여기서, 제2 타입은 운영체제(OS: Operating System)에서 제공하는 NAT type에 의하여 내부에 가상머신(VM)을 포함하는 호스트를 의미한다.The second host 8 is set to a second type (Type-2). Here, the second type means a host including a virtual machine (VM) therein by a NAT type provided by an operating system (OS).
제3 호스트(10)는 제3 타입(Type-3)으로 설정된다. 여기서, 제3 타입은 NAT 장치(14)를 경유하여 내부 네트워크망(16)에 접속되는 호스트를 의미한다.The third host 10 is set to a third type (Type-3). Here, the third type means a host connected to the internal network 16 via the NAT device 14 .
제4 호스트(12)는 제4 타입(Type-4)으로 설정된다. 여기서, 제4 타입은 NAT 장치(14)를 경유하여 내부 네트워크망(16)에 접속되며, 운영체제(OS)에서 제공하는 NAT type에 의하여 내부에 가상머신(VM)을 포함하는 호스트를 의미한다.The fourth host 12 is set to a fourth type (Type-4). Here, the fourth type refers to a host connected to the internal network 16 via the NAT device 14 and including a virtual machine (VM) therein by the NAT type provided by the operating system (OS).
내부 네트워크는 방화벽(2)을 경유하여 외부망(일례로, 인터넷 등)과 접속된다. 방화벽(2)은 외부망으로부터 미리 설정된 정책에 맞는 세션만 내부 네트워크로 통신되도록 제어함으로써, 외부망으로부터 내부 네트워크를 보호한다. 일례로, 방화벽(2) 외부에 위치된 제2 단말(30)은 방화벽(2)의 패킷 필터링에 기능에 의하여 내부 네트워크와의 통신이 차단될 수 있다.The internal network is connected to an external network (eg, the Internet, etc.) via the firewall 2 . The firewall 2 protects the internal network from the external network by controlling only the session that meets the policy set in advance from the external network to be communicated to the internal network. For example, the second terminal 30 located outside the firewall 2 may block communication with the internal network by the packet filtering function of the firewall 2 .
한편, 상술한 제1 호스트(6)는 공인 IP를 할당받는다. 제2 호스트(8)는 하나의 공인 IP를 할당받으며, 내부에 위치된 가상머신들(VM)은 사설 IP를 할당받는다. NAT 장치(14)에 접속된 제3 호스트(10) 및 제4 호스트(12)는 사설 IP를 할당받는다. 추가적으로, 제4 호스트(12)에 포함된 가상머신들(VM)은 제4 호스트(12)와 상이한 사설 IP를 할당받는다.Meanwhile, the above-described first host 6 is assigned a public IP. The second host 8 is allocated one public IP, and virtual machines (VM) located therein are allocated a private IP. The third host 10 and the fourth host 12 connected to the NAT device 14 are assigned a private IP. Additionally, virtual machines (VMs) included in the fourth host 12 are allocated a different private IP from the fourth host 12 .
내부 네트워크망(16)에 접속된 제1 단말(20)은 공인 IP를 할당받은 제1 호스트(6)와 통신이 가능하다. 하지만, 내부 네트워크망(16)에 접속된 제1 단말(20)이라하더라도 사설 IP를 이용하는 제2 호스트(8)의 가상머신들(VM), 제3 호스트(10) 및 제4 호스트(12)의 가상머신들(VM)과 통신이 허용되지 않는다.The first terminal 20 connected to the internal network 16 can communicate with the first host 6 assigned a public IP. However, even in the first terminal 20 connected to the internal network 16 , the virtual machines (VM) of the second host 8 using the private IP, the third host 10 and the fourth host 12 Communication with virtual machines (VMs) is not allowed.
한편, 공용 IP는 활용할 수 있는 자원이 제한적이고, 관리 및 유지 비용이 높기 때문에 네트워크 구성에는 일반적으로 사설 IP가 사용된다. 하지만, 사설 IP를 사용하여 네트워크를 구성하는 경우, telnet, ssh 등의 원격 접속을 위하여 운영자가 포트 포워딩 정보를 설정해야 한다. 또한, 외부망으로부터 telnet, ssh 등의 원격 접속이 필요한 경우 운영자가 방화벽 허용정책을 추가로 설정해야 하고, 이에 따라 네트워크의 활용성이 매우 제한된다.On the other hand, since public IP has limited available resources and high management and maintenance costs, a private IP is generally used for network configuration. However, when configuring a network using a private IP, the operator must set port forwarding information for remote access such as telnet or ssh. In addition, when remote access such as telnet or ssh is required from an external network, the operator must additionally set a firewall permission policy, which limits network utility.
도 1b를 참조하면, 본 발명의 실시예에 의한 포트 포워딩 제어장치는 호스트들(106, 108, 110, 112), 라우터(104) 및 내부 포워딩부(Internal Forwarder: 140)를 구비할 수 있다. Referring to FIG. 1B , an apparatus for controlling port forwarding according to an embodiment of the present invention may include hosts 106 , 108 , 110 , 112 , a router 104 , and an internal forwarder 140 .
호스트들(106, 108, 110, 112), 라우터(104) 및 내부 포워딩부(140)는 내부 네트워크망(116)에 의하여 접속된다(내부 네트워크 형성). Hosts 106 , 108 , 110 , 112 , router 104 and internal forwarding unit 140 are connected by internal network 116 (internal network formation).
제1 호스트(106)는 제1 타입(Type-1)으로 설정된다. 여기서, 제1 타입은 공인 IP를 할당받는 호스트를 의미한다.The first host 106 is set to a first type (Type-1). Here, the first type means a host to which a public IP is allocated.
제2 호스트(108)는 제2 타입(Type-2)으로 설정된다. 여기서, 제2 타입은 운영체제(OS: Operating System)에서 제공하는 NAT type에 의하여 내부에 가상머신(VM-1, VM-2)(또는 제1 가상머신들)을 포함하는 호스트를 의미한다. 이와 같은 제2 호스트(108)는 포워딩 에이전트(FA)를 포함한다. 포워딩 에이전트(FA)는 제2 호스트(108)에서 제공하고자 하는 접속정보를 내부 포워딩부(140)로 전달한다. 일례로, 제2 호스트(108)의 포워딩 에이전트(FA)는 제2 호스트(108)의 가상머신들(VM-1, VM2)에 접속될 수 있는 접속 정보를 내부 포워딩부(140)로 전달할 수 있다.The second host 108 is set to a second type (Type-2). Here, the second type refers to a host including virtual machines VM-1 and VM-2 (or first virtual machines) therein by a NAT type provided by an operating system (OS). Such a second host 108 includes a forwarding agent (FA). The forwarding agent FA transfers the access information to be provided by the second host 108 to the internal forwarding unit 140 . For example, the forwarding agent (FA) of the second host 108 may transmit connection information that can be connected to the virtual machines VM-1 and VM2 of the second host 108 to the internal forwarding unit 140 . have.
한편, 포워딩 에이전트(FA)는 설명의 편의성을 위하여 호스트의 내부에 별도로 포함하는 것으로 도시하였지만, 본 발명이 이에 한정되지는 않는다. 일례로, 포워딩 에이전트(FA)가 삭제되고, 해당 호스트에서 포워딩 에이전트(FA)의 동작을 수행할 수 있다. 예컨대, 포워딩 에이전트(FA)는 프로그램 등으로 구현될 수 있다.On the other hand, although the forwarding agent (FA) is illustrated as being separately included in the host for convenience of description, the present invention is not limited thereto. For example, the forwarding agent (FA) may be deleted, and the operation of the forwarding agent (FA) may be performed in the corresponding host. For example, the forwarding agent (FA) may be implemented as a program or the like.
제3 호스트(110)는 제3 타입(Type-3)으로 설정된다. 여기서, 제3 타입은 NAT 장치(114)를 경유하여 내부 네트워크망(116)에 접속되는 호스트를 의미한다. 이와 같은 제3 호스트(110)는 포워딩 에이전트(FA)를 포함한다. 포워딩 에이전트(FA)는 제3 호스트(110)에서 제공하고자 하는 접속정보를 내부 포워딩부(140)로 전달한다.The third host 110 is set to a third type (Type-3). Here, the third type means a host connected to the internal network 116 via the NAT device 114 . Such a third host 110 includes a forwarding agent (FA). The forwarding agent FA transmits access information to be provided by the third host 110 to the internal forwarding unit 140 .
제4 호스트(112)는 제4 타입(Type-4)으로 설정된다. 여기서, 제4 타입은 NAT 장치(114)를 경유하여 내부 네트워크망(116)에 접속되며, 운영체제(OS)에서 제공하는 NAT type에 의하여 내부에 가상머신(VM-1', VM-2')(또는 제2가상머신들)을 포함하는 호스트를 의미한다. 이와 같은 제4 호스트(112)는 포워딩 에이전트(FA)를 포함한다.The fourth host 112 is set to a fourth type (Type-4). Here, the fourth type is connected to the internal network 116 via the NAT device 114, and virtual machines (VM-1', VM-2') inside by the NAT type provided by the operating system (OS). (or second virtual machines) means a host. Such a fourth host 112 includes a forwarding agent (FA).
포워딩 에이전트(FA)는 제4 호스트(112)에서 제공하고자 하는 접속정보를 내부 포워딩부(140)로 전달한다. 일례로, 제4 호스트(112)의 포워딩 에이전트(FA)는 가상머신들(VM-1', VM-2')에 접속될 수 있는 접속정보를 내부 포워딩부(140)로 전달할 수 있다.The forwarding agent FA transmits the access information to be provided by the fourth host 112 to the internal forwarding unit 140 . For example, the forwarding agent FA of the fourth host 112 may transmit connection information that can be connected to the virtual machines VM-1' and VM-2' to the internal forwarding unit 140 .
한편, 도 1b에서는 설명의 편의성을 위하여 서로 다른 타입으로 형성된 4개의 호스트들(106 내지 112)을 도시하였지만, 본 발명이 이에 한정되지는 않는다. 일례로, 본 발명의 내부 네트워크에 포함되는 호스트들은 하나 이상의 타입으로 설정될 수 있고, 호스트들의 수는 다양하게 설정될 수 있다.Meanwhile, although FIG. 1B shows four hosts 106 to 112 formed in different types for convenience of description, the present invention is not limited thereto. For example, one or more types of hosts included in the internal network of the present invention may be configured, and the number of hosts may be variously configured.
라우터(104)(또는 스위치)는 내부 네트워크를 임의의 외부 네트워크와 연결한다. 일례로, 라우터(104)는 방화벽(102)을 경유하여 인터넷에 접속되고, 이에 따라 내부 네트워크는 인터넷을 경유하여 임의의 외부 네트워크(또는 단말 등)에 접속될 수 있다.A router 104 (or a switch) connects the internal network with any external network. For example, the router 104 is connected to the Internet via the firewall 102 , and accordingly, the internal network may be connected to any external network (or terminal, etc.) via the Internet.
내부 포워딩부(140)는 호스트들(108 내지 112) 각각에 포함된 포워딩 에이전트(FA)로부터의 접속정보에 대응하여, 포트 포워딩 정보를 설정한다. 즉, 내부 포워딩부(140)는 포워딩 에이전트(FA)의 접속정보에 대응하여 자동적으로 포트 포워딩 정보를 설정한다. 이 경우, 내부 네트워크망(116)에 접속되는 제1 단말(120)은 내부 포워딩부(140)에 설정된 포트 포워딩 정보에 대응하여 제2 호스트(108) 내지 제4 호스트(112)에 접속될 수 있다.The internal forwarding unit 140 sets port forwarding information in response to access information from a forwarding agent (FA) included in each of the hosts 108 to 112 . That is, the internal forwarding unit 140 automatically sets port forwarding information in response to the access information of the forwarding agent (FA). In this case, the first terminal 120 connected to the internal network 116 may be connected to the second host 108 to the fourth host 112 in response to the port forwarding information set in the internal forwarding unit 140 . have.
한편, 공인 IP를 할당받는 제1 호스트(106)는 별도의 포트 포워딩 없이 제1 단말(120)과 통신 가능하다.Meanwhile, the first host 106 to which the public IP is assigned can communicate with the first terminal 120 without a separate port forwarding.
따라서, 내부 포워딩부(140)는 제1 호스트(106)와 관련하여 별도의 포트 포워딩 정보를 생성하지 않는 것으로 설명하였지만, 본원 발명이 이에 한정되지는 않는다. 일례로, 방화벽(102)을 경유하여 외부망과 접속될 수 있도록 제1 호스트(106)의 포트 포워딩 정보가 내부 포워딩부(140)에 설정될 수 있다.Accordingly, although it has been described that the internal forwarding unit 140 does not generate separate port forwarding information in relation to the first host 106 , the present invention is not limited thereto. For example, port forwarding information of the first host 106 may be set in the internal forwarding unit 140 to be connected to an external network via the firewall 102 .
방화벽(102)은 외부망으로부터 미리 설정된 정책에 맞는 세션만 내부 네트워크로 통신되도록 제어함으로써, 외부망으로부터 내부 네트워크를 보호한다. 일례로, 방화벽(102) 외부에 위치된 제2 단말(130)은 방화벽(102)의 패킷 필터링에 기능에 의하여 내부 네트워크와의 통신이 차단될 수 있다.The firewall 102 protects the internal network from the external network by controlling only a session meeting a policy set in advance from the external network to be communicated to the internal network. For example, the second terminal 130 located outside the firewall 102 may block communication with the internal network by the packet filtering function of the firewall 102 .
한편, 도 1b와 같이 포트 포워딩 제어장치에 내부 포워딩부(140)가 포함되더라도, 방화벽(102)의 외부에 위치된 제2 단말(130)은 내부 네트워크에 접근하기 어렵다.Meanwhile, even if the internal forwarding unit 140 is included in the port forwarding control device as shown in FIG. 1B , it is difficult for the second terminal 130 located outside the firewall 102 to access the internal network.
본 발명은 외부에 위치한 단말이 내부망에 존재하는 데스크톱 서비스를 이용하기 위한 방법을 제공한다. The present invention provides a method for a terminal located outside to use a desktop service existing in an internal network.
예를 들어, 본 발명의 다른 실시예에 의한 포트 포워딩 제어장치는 호스트들(106', 108, 110, 112), 라우터(104), 내부 포워딩부(140) 및 외부 포워딩부(150)를 구비할 수 있다.For example, the port forwarding control apparatus according to another embodiment of the present invention includes hosts 106 ′, 108 , 110 , 112 , a router 104 , an internal forwarding unit 140 , and an external forwarding unit 150 . can do.
호스트들(106', 108, 110, 112) 각각은 포워딩 에이전트(FA)를 포함한다. 호스트들(106', 108, 110, 112) 각각에 포함된 포워딩 에이전트(FA)는 자신이 포함된 호스트(106', 108, 110, 112중 어느 하나)의 접속정보를 내부 포워딩부(140)로 전달한다.Each of hosts 106', 108, 110, 112 includes a forwarding agent (FA). The forwarding agent (FA) included in each of the hosts 106', 108, 110, and 112 transmits the access information of the host 106', 108, 110, and 112 to the internal forwarding unit 140. forward to
내부 포워딩부(140)는 포워딩 에이전트(FA)로부터의 접속정보에 대응하여 포트 포워딩 정보(또는 내부 포트 포워딩 정보)를 설정한다. 그리고, 내부 포워딩부(140)는 포트 포워딩 정보를 외부 포워딩부(150)로 전달한다.The internal forwarding unit 140 sets port forwarding information (or internal port forwarding information) in response to access information from the forwarding agent (FA). Then, the internal forwarding unit 140 transmits the port forwarding information to the external forwarding unit 150 .
외부 포워딩부(150)는 방화벽(102)의 외부에 위치된다. 이와 같은 외부 포워딩부(150)는 내부 포워딩부(140)로부터의 포트 포워딩 정보를 기반으로 포트 포워딩 정보(또는 외부 포트 포워딩 정보)를 설정한다.The external forwarding unit 150 is located outside the firewall 102 . Such an external forwarding unit 150 sets port forwarding information (or external port forwarding information) based on the port forwarding information from the internal forwarding unit 140 .
외부 포워딩부(150)는 자신에게 저장된 포트 포워딩 정보에 대응하여 제 2단말(130)로부터의 패킷을 내부 포워딩부(140)로 전달한다. 내부 포워딩부(140)는 자신에게 저장된 포트 포워딩 정보에 대응하여 외부 포워딩부(150)로부터 전달된 패킷을 특정 호스트(106' 내지 112 중 어느 하나)로 공급할 수 있다.The external forwarding unit 150 transmits the packet from the second terminal 130 to the internal forwarding unit 140 in response to the port forwarding information stored therein. The internal forwarding unit 140 may supply the packet transferred from the external forwarding unit 150 to the specific host 106' to any one of 112 in response to the port forwarding information stored therein.
한편, 클라우드 기반의 서비스가 활성화되면서 개인용 컴퓨터를 가상화하고 이를 클라우드 내부에 배치하여 활용하는 데스크톱 서비스가 확대되고 있다. 그러나 클라우드 망은 기본적으로 사설망으로 관리되어 외부와 차단되고 클라우드 내부에서 동작하는 데스크톱 서비스들은 사설망을 위해 할당된 IP 주소를 이용하여 동작한다. 사설망 내에서 사설망 바깥에 있는 서비스를 인터넷을 통하여 활용하는 것은 가능하지만 외부에 있는 인터넷 망에 존재하는 사용자가 사설망 내부에 있는 데스크톱 서비스에 접속하는 것은 여러가지 어려운 문제를 가지고 있다. 이러한 어려움을 해결하기 위하여 포트 포워딩 또는 사설망 내부에 중계 서버를 이용하는 방법 등이 제공되고 있다.On the other hand, as cloud-based services are activated, desktop services that virtualize personal computers and use them by placing them inside the cloud are expanding. However, the cloud network is basically managed as a private network and blocked from the outside, and desktop services operating inside the cloud operate using the IP address allocated for the private network. Although it is possible to use services outside the private network through the Internet within the private network, it is difficult for users in the external Internet network to access the desktop service inside the private network. In order to solve this difficulty, port forwarding or a method of using a relay server inside a private network has been provided.
도 2는 도 1a 및 도 1b에서 상술한 포트 포워드 방법을 단순화하여 설명하기 위한 도면이다.FIG. 2 is a diagram for simplifying the port forward method described above with reference to FIGS. 1A and 1B .
과거에는 가정이나 회사에서 보통 컴퓨터 한 대만 사용하고 스마트폰이 없었기 때문에 인터넷을 설치한다고 하더라도 모뎀만 있으면 컴퓨터에 인터넷을 연결할 수 있었다. 최근 들어서는 가족 구성원 한 명마다 컴퓨터를 사용하거나 스마트폰을 이용한 인터넷을 위해서 유무선 공유기를 사용한다. 단순히 인터넷을 사용하기만 한다면 공유기는 아무런 문제를 일으키지 않지만, 내가 어떤 서비스나 서버를 구축하게 된다면 공유기가 큰 문제가 된다.In the past, at home or at work, there was usually only one computer and there was no smartphone, so even if you installed the Internet, you could connect to the Internet to your computer with a modem. In recent years, each family member uses a computer or uses a wired/wireless router to access the Internet using a smartphone. If you simply use the Internet, the router does not cause any problems, but if I build any service or server, the router becomes a big problem.
인터넷을 사용하기 위해서는 전세계적으로 사용되는 아이피(IP) 주소가 있어야 한다. 아이피는 고유한 값이기 때문에 중복되는 주소를 가지지 않는다. 그렇지만 전세계의 모든 장비에 아이피를 할당하기에는 현재의 아이피 체계가 많이 부족하다. 0~255까지의 숫자 4개로 구성되는 IPv4는 2의 32제곱, 즉 4,294,967,296(약 42억)개의 주소만 할당할 수 있다. 그렇기 때문에 굳이 전세계적으로 네트워크가 필요하지 않은 장비들에 대해서는 별도의 사설 네트워크를 구축하게 된다.To use the Internet, you must have an IP address that is used worldwide. Since IP is a unique value, it does not have duplicate addresses. However, the current IP system is insufficient to allocate IPs to all devices in the world. IPv4, which consists of 4 numbers from 0 to 255, can allocate only 4,294,967,296 (about 4.2 billion) addresses to the power of 2, 32. Therefore, a separate private network is established for devices that do not need a network worldwide.
앞서 언급한 인터넷이 가능한 아이피를 공인(Public) 아이피라고 한다. 이러한 공인 아이피는 고유한 값으로 인터넷을 사용하는 기기에 하나씩 할당된다. 그런데, 이런 공인 아이피에서 몇몇 아이피 대역은 사용되지 않습니다. 10.x.x.x 대역, 172.16~31.x.x대역, 그리고 192.168.x.x 대역이 모두 사용되지 않는다. 이러한 아이피 대역은 회사나 개인 등이 별도로 구축하게 될 사설 네트워크(또는 사설망)에서만 이용된다. 사설 네트워크는 전세계적인 인터넷이 아닌 국지적인 네트워크로써 굳이 인터넷이 필요하지 않은 경우에 사용된다. 본래 이러한 사설 네트워크를 구축하기 위해서는 DHCP 서버와 라우터 등등이 필요하지만, 이러한 기능이 하나로 뭉쳐있는 개인용 장비가 바로 공유기이다.The above-mentioned Internet-capable IP is called a public IP. These public IPs are unique values and are assigned to each device using the Internet. However, some IP bands are not used in these public IPs. The 10.x.x.x bands, the 172.16~31.x.x bands, and the 192.168.x.x bands are all unused. This IP band is used only in a private network (or private network) that a company or individual will establish separately. A private network is a local network, not the global Internet, and is used when the Internet is not necessary. In order to build such a private network, a DHCP server and a router are required, but the personal equipment that combines these functions is a router.
공유기의 역할은 공유기에 연결되는 모든 기기들에 사설 네트워크를 구축해주는 것이다. 사설 네트워크이기 때문에 위에서 언급했던 공인 아이피 대역을 사용하지 않고 사설 아이피 대역을 이용하게 된다. 주로 이용되는 아이피 대역이 바로 192.168.x.x 이다. 이처럼 192.168로 시작되는 아이피 주소를 가진 장비는 인터넷에 접속하기 위해서 반드시 공인 아이피를 보유한 장비가 필요하다. 공유기는 사설 네트워크를 만들면서 동시에 공인 아이피를 하나 할당 받는다. 그래서 공유기에 연결된 모든 장비는 인터넷에 접근하기 위해서 반드시 공유기를 거쳐야만 한다.The role of the router is to establish a private network for all devices connected to the router. Because it is a private network, the private IP band is used instead of the public IP band mentioned above. The mainly used IP band is 192.168.x.x. As such, a device with an IP address starting with 192.168 requires a device with a public IP address to access the Internet. The router is assigned a public IP while creating a private network. So, all devices connected to the router must go through the router to access the Internet.
공유기 하나에 단말 1에서 인터넷에 접근하기 위해서는 공유기를 거쳐야만 한다. 단말 1에 웹서버를 80번 포트로 열었다고 가정하는 경우, 인터넷을 통해서 다른 사람들이 단말 1의 웹서버에 접근하기 위해서 단말 1의 아이피를 알려줄 수는 없다. 사설 아이피 대역은 여기 저기서 사용하기 때문에 공인 아이피처럼 특정한 기기를 가리키지 않기 때문이다. 그래서 공유기가 보유한 공인 아이피를 알려줘야 한다. 공인 아이피의 80번 포트로 들어오는 연결은 공유기에 도달하면 끝나버린다. 왜냐하면 공인 아이피로 들어온 80번 포트의 연결을 공유기에서 단말 1, 2, 3 중에 어떤 곳으로 보내줘야 할 것인지를 판단하지 못하기 때문이다. 그렇기 때문에 공인 아이피로 들어오는 80번 포트의 연결을 단말 1의 80번 포트로 연결하라고 공유기에 설정을 해야 하는 것이며, 이것을 포트 포워딩이라고 한다.In order to access the Internet from Terminal 1 to one router, it must go through the router. If it is assumed that the web server of terminal 1 is opened to port 80, it is impossible to inform the IP of terminal 1 in order for others to access the web server of terminal 1 through the Internet. Because private IP bands are used here and there, they do not point to specific devices like public IPs. So, you need to inform the public IP of the router. The connection to port 80 of the public IP ends when it reaches the router. This is because the router cannot determine which port among terminals 1, 2, and 3 to send the connection of port 80 that has entered the public IP. Therefore, it is necessary to configure the router to connect the port 80 coming from the public IP to port 80 of terminal 1, and this is called port forwarding.
포트 포워딩을 이용하는 경우, 사설망 내부에 존재하는 원격접속 데스크톱 서비스는 원격접속을 위하여 컴퓨터마다 다른 포트를 할당한다. 사설망을 관리하는 라우터는 원격 접속을 위해 외부에서 미리 약속된 포트로 접속하는 모든 패킷은 미리 약속된 IP를 사용하는 데스크톱 서비스로 전달하여 외부에서 사설망 내부로 접속할 수 있도록 연결을 허용할 수 있다. 그러나 이러한 방법은 컴퓨터마다 포트를 할당하고 할당된 포트를 외부에서 접근하고자하는 사용자도 미리 약속된 정보로 알고 있어야하는 불편함이 있다.When port forwarding is used, the remote access desktop service existing inside the private network allocates a different port for each computer for remote access. The router managing the private network can allow the connection to access the private network from the outside by forwarding all packets that connect to a pre-determined port from the outside for remote access to the desktop service using the pre-determined IP. However, this method is inconvenient in that a port is allocated for each computer, and a user who wants to access the allocated port from the outside must also know as previously agreed information.
도 3은 사설망 내부에 중계 서버를 이용하는 방법을 설명하기 위한 도면이다.3 is a diagram for explaining a method of using a relay server in a private network.
사설망 내부에 중계 서버를 이용하는 방법은 마이크로소프트가 제시한 방법(특허출원번호 10-2004-0039190)으로 포털을 통하여 사용자 단말이 접속가능한 데스크톱 서비스를 제공하고 사용자 단말이 특정 데스크톱 서비스를 선택하면 사설망 내부에 있는 서버가 해당 사용자의 트래픽과 사설망 내부에 있는 데스크톱 서비스의 트래픽을 수신하기 위한 쓰레드를 만들어서 외부에 있는 사용자 단말과 내부에 있는 데스크톱 서비스 사이의 트래픽을 중계해주는 방법이다. 이 방법은 내부의 서버가 양쪽 트래픽을 수신하여 다시 중계해주는 방법을 취하고 있으므로 많은 부하가 한꺼번에 몰리는 경우 효율이 크게 저하될 수 있는 단점이 있다.The method of using the relay server inside the private network is the method suggested by Microsoft (patent application No. 10-2004-0039190), which provides a desktop service that the user terminal can access through the portal, and when the user terminal selects a specific desktop service, the inside of the private network This is a method that relays traffic between an external user terminal and an internal desktop service by creating a thread for the server in the server to receive the user's traffic and the desktop service traffic inside the private network. Since this method takes a method in which the internal server receives both traffic and relays it again, there is a disadvantage that the efficiency may be greatly reduced if a lot of load is concentrated at once.
도 4는 본 발명의 일 실시 예에 따른 사설망 접속 제어장치를 포함한 시스템을 설명하기 위한 도면이고, 도 5는 본 발명의 일 실시 예에 따른 제어 방법을 설명하기 위한 흐름도이다. 4 is a diagram for explaining a system including a private network access control apparatus according to an embodiment of the present invention, and FIG. 5 is a flowchart for explaining a control method according to an embodiment of the present invention.
사설망 접속 제어장치는 사설망이 아닌 외부에 위치한 사용자 단말이 인터넷 망을 통하여 사설망 내에 위치하는 컴퓨팅 장치에 접속해 컴퓨팅 장치에 대한 원격 서비스를 이용하게 하는 기능을 수행한다. 상기 원격 서비스에는 다양한 기능들이 포함될 수 있으나, 설명의 편의를 위하여 원격 데스크톱 서비스인 경우를 예로 들어 설명한다. The private network access control device performs a function of allowing a user terminal located outside the private network to access a computing device located in the private network through the Internet network and use a remote service for the computing device. The remote service may include various functions, but for convenience of description, the remote desktop service will be exemplified.
클라우드 환경에서 원격 데스트톱 서비스는 보통 사설망 내부에 존재하며 상기 설명한 방법 등으로 접근 가능하다. 그러나 현재의 클라우드 망은 사설망 환경이 이중 삼중으로 겹겹히 둘러싸이는 구조로 점차 복잡해지고 있으며 이러한 환경에서는 보다 단순하고 효율적인 방법으로 성능을 개선할 필요성이 높아지고 있다.In a cloud environment, the remote desktop service usually exists inside a private network and can be accessed by the method described above. However, the current cloud network is becoming increasingly complex with a structure in which the private network environment is surrounded by double or triple layers, and the need to improve performance in a simpler and more efficient way is increasing in this environment.
이를 해결하기 위하여, 사용자 단말은 사설망 내부에 있는 사설망 접속 제어장치에서 운영하는 로그인 포털을 통하여 회원가입을 수행한다(S510). To solve this problem, the user terminal performs membership registration through a login portal operated by the private network access control device inside the private network (S510).
회원가입시 사용자 단말이 사용하고자 하는 원격 데스크톱 서비스 정보, 원격 데스크톱 서비스가 위치한 노드의 사설망 IP 주소를 포함하는 사용자 정보가 사설망 접속 제어장치의 메모리에 저장될 수 있다. User information including remote desktop service information that the user terminal intends to use when signing up for membership and a private network IP address of a node in which the remote desktop service is located may be stored in the memory of the private network access control device.
다음으로, 사용자 단말은 사설망 내부에 있는 서버에서 운영하는 로그인 포털을 통하여 사설망에 접속가능한 서버로 접근하고, 로그인을 수행한다(S530). 로그인 포털의 주소는 사설망에 접근할 수 있는 특정 주소로 고정되어 있으며 현재 이미 알려져 있는 방법을 이용하여 사설망 내부에 특정 서비스를 제공하는 포털을 설치할 수 있다. 포털 서비스에 접근할 수 있는 IP 주소는 외부에 알려져 있으므로 누구나 접속 가능하다.Next, the user terminal accesses the server accessible to the private network through the login portal operated by the server inside the private network, and performs login (S530). The address of the login portal is fixed to a specific address that can access the private network, and a portal that provides a specific service can be installed inside the private network using a known method. Since the IP address that can access the portal service is known externally, anyone can access it.
사용자 단말이 로그인이 되면 포털을 통해 접속한 사용자가 누구인지 알 수 있으며 사용자 패킷을 통하여 사용자가 사용하는 IP 정보를 획득할 수 있다. 원격 데스크톱 서비스는 특정한 사용자와 1대1로 대응되어 제공되기 때문에 사용자 정보를 이용하면 사용자와 대응되는 원격 데스크톱 서비스가 무엇인지도 파악할 수 있다. 내부 관리정보를 이용하여 현재 대응되는 원격 데스크톱 서비스가 어떤 클라우드 컴퓨팅 노드에 배치되어 있는지 알 수 있으며 해당되는 컴퓨팅 노드의 IP 주소 혹은 접근하기 위해 대표되는 IP 주소(보통은 게이트웨이 혹은 라우터주소)를 알 수 있다. 그러므로 로그인된 사용자 정보를 활용하면 사용자 단말의 IP 주소와 사설망 내부의 사용자를 위한 원격 데스크톱 서비스, 해당 서비스가 배치되어 있는 클라우드 컴퓨팅 노드의 IP주소, 접근 경로에 대한 정보를 알 수 있다.When the user terminal is logged in, it is possible to know who the user accessed through the portal is, and the IP information used by the user can be obtained through the user packet. Since the remote desktop service is provided in a one-to-one correspondence with a specific user, by using user information, it is also possible to identify the remote desktop service corresponding to the user. Using internal management information, you can find out which cloud computing node the corresponding remote desktop service is currently deployed on, and you can know the IP address of the corresponding computing node or the IP address represented for access (usually a gateway or router address). have. Therefore, by using the logged-in user information, it is possible to know the IP address of the user terminal, the remote desktop service for users inside the private network, the IP address of the cloud computing node where the service is deployed, and information about the access path.
다음으로, 사설망 접속 제어장치는 획득한 사용자 단말의 IP주소를 이용하여 사설망과 외부를 연결하는 라우터(혹은 게이트웨이)의 설정정보를 다음과 같이 변경하여 원격 데스크톱 서비스를 제공한다(S550). Next, the private network access control apparatus provides the remote desktop service by changing the configuration information of the router (or gateway) connecting the private network and the outside using the obtained IP address of the user terminal as follows ( S550 ).
사용자 단말에서 사설망으로 전송되어 오는 패킷은 사설망 내부에 있는 대응되는 원격 데스크톱 서비스가 위치한 컴퓨팅 노드의 IP 주소를 목적지 주소로 하여 사설망 내부로 전달되도록 한다. 원격 데스크톱 서비스가 사용자에게 보내는 패킷은 현재 NAT에서 사용하는 방법과 동일하게 사용자 단말의 IP 주소를 목적지로 하여 사설망 외부로 전송 가능 하다. The packet transmitted from the user terminal to the private network is delivered into the private network by using the IP address of the computing node where the corresponding remote desktop service is located inside the private network as the destination address. The packet sent by the Remote Desktop Service to the user can be transmitted outside the private network with the IP address of the user terminal as the destination in the same way as the method currently used in NAT.
호스트는 설정이 변경된 라우터를 통해 사용자 단말로 원격 데스크톱 서비스를 제공한다(S570).The host provides the remote desktop service to the user terminal through the router whose settings are changed (S570).
만약 복수의 사용자 단말이 동일한 사설망 내에 존재하는 경우, 동일한 출발 주소를 가질 수 있다. 이러한 경우에 대비하기 위하여 동일한 출발 주소를 가진 복수의 사용자 단말이 사설망 내부에 존재하는 원격 데스크톱 서비스에 접속할 때 원격 데스크톱 서비스가 제공되는 컴퓨팅 노드를 다르게 배치하거나 혹은 다른 주소를 가지는 컨테이터를 통하여 서비스를 제공함으로써 별도의 추가적인 장치나 동작 없이 현재 이미 사용되고 있는 NAT를 이용하여 서비스가 원활히 제공되도록 할 수 있다. If a plurality of user terminals exist in the same private network, they may have the same starting address. In order to prepare for this case, when a plurality of user terminals with the same starting address access the remote desktop service existing inside the private network, the computing node providing the remote desktop service is arranged differently or the service is provided through a container having a different address. By providing the service, it is possible to provide a service smoothly using the NAT that is already in use without any additional device or operation.
보다 구체적으로, 사설망 접속 제어장치는 상기 사설망 내에 존재하면서 상기 원격 데스크톱 서비스에 접속하는 제1 사용자 단말 및 제2 사용자 단말을 탐색하는 단계, 상기 원격 데스크톱 서비스를 제공하는 노드를 상기 제1 사용자 단말에 대응하는 제1 노드와 상기 제2 사용자 단말에 대응하는 제2 노드로 다르게 배치하는 단계 및 상기 제1 노드를 통해 상기 제1 사용자 단말로 상기 원격 데스크톱 서비스를 제공하고, 상기 제2 노드를 통해 상기 제2 사용자 단말로 상기 원격 데스크톱 서비스를 제공하는 단계를 추가적으로 수행할 수 있다. More specifically, the private network access control apparatus searches for a first user terminal and a second user terminal that exist in the private network and access the remote desktop service, and provides a node providing the remote desktop service to the first user terminal. disposing differently to a corresponding first node and a second node corresponding to the second user terminal, and providing the remote desktop service to the first user terminal through the first node, and through the second node The step of providing the remote desktop service to the second user terminal may be additionally performed.
고전적인 방법은 포트 포워딩인데 이 방법은 외부에서 들어오는 특정 포트를 가진 트래픽을 NAT 내부에 있는 오직 하나의 서버로만 보낼 수 있다는 한계가 있다. The classic method is port forwarding, but this method has a limitation in that traffic with a specific port coming from the outside can be sent to only one server inside the NAT.
이 때문에, 마이크로 소프트가 새로운 방법을 제시한 것인데 마이크로 소프트에서 제시한 방법은 서버 프로그램이 있어서 모든 연결을 받아주고 트래픽을 읽은 뒤에 다시 서버로 전송하는 방법이다. 이 방법에 의할 경우, 트래픽은 읽은 부분과 보내는 부분으로 구성된다. For this reason, Microsoft has proposed a new method. The method presented by Microsoft is a method of receiving all connections with a server program, reading the traffic, and then sending it back to the server. According to this method, the traffic consists of a read part and a sending part.
본 발명에서 제안하는 방법은 읽은 뒤 전달하는 것이 아니라 트래픽의 주소값을 사용자에 따라 미리 정해진 룰에 의해 바꾸어주어서 원격 데스크탑 사용자 단말이 자신의 서버로 트래픽을 바로 보낼 수 있도록 하는 것이다. 이때 사용자와 주소값은 1:1로 맵핑(mapping) 되고 그 정보는 사용자 단말이 사용자 계정을 만들거나 관리자가 계정을 만들 때 미리 정해주는 것이다.The method proposed in the present invention is not to read and then forward it, but to change the address value of the traffic according to a predetermined rule according to the user so that the remote desktop user terminal can directly send the traffic to its own server. At this time, the user and the address value are mapped 1:1, and the information is predetermined when the user terminal creates a user account or an administrator creates an account.
마이크로소프트의 방법은 읽고 다시 보내기때문에 지연이 걸리고 복잡한 프로그램이 필요하지만, 본 발명은 주소 값만 바꿔주는 것이므로 그럴 필요가 없다. 이로써, 본 발명은 외부에서 사용자 단말이 사설망 혹은 클라우드 컴퓨팅 내부망에 존재하는 원격 데스크톱 서비스에 빠르고 효율적으로 접속할 수 있다. Microsoft's method takes a delay because it reads and sends back and requires a complicated program, but this is not necessary because the present invention only changes the address value. Accordingly, according to the present invention, a user terminal can quickly and efficiently access a remote desktop service existing in a private network or an internal cloud computing network from the outside.
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드(또는, 애플리케이션이나 소프트웨어)로서 구현하는 것이 가능하다. 상술한 진단 시스템의 제어 방법은 메모리 등에 저장된 코드에 의하여 실현될 수 있다. The present invention described above can be implemented as computer-readable code (or application or software) on a medium in which a program is recorded. The above-described control method of the diagnostic system may be realized by a code stored in a memory or the like.
컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 상기 컴퓨터는 프로세서 또는 프로세서를 포함할 수도 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.The computer-readable medium includes all kinds of recording devices in which data readable by a computer system is stored. Examples of computer-readable media include Hard Disk Drive (HDD), Solid State Disk (SSD), Silicon Disk Drive (SDD), ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. There is also a carrier wave (eg, transmission over the Internet) that includes implementation in the form of. In addition, the computer may include a processor or a processor. Accordingly, the above detailed description should not be construed as restrictive in all respects but as exemplary. The scope of the present invention should be determined by a reasonable interpretation of the appended claims, and all modifications within the equivalent scope of the present invention are included in the scope of the present invention.

Claims (6)

  1. 인터넷 망을 통하여 포털에 접속한 사용자 단말에 대한 로그인을 수행하는 단계;performing log-in to a user terminal accessing the portal through an Internet network;
    상기 사용자 단말이 로그인 하는 것에 응답하여, 상기 사용자 단말에 대한 사용자 정보를 획득하는 단계;obtaining user information about the user terminal in response to the user terminal logging in;
    상기 사용자 정보를 이용하여 상기 인터넷 망과 사설망을 연결하는 라우터의 설정을 변경하는 단계; 및changing settings of a router connecting the Internet network and the private network using the user information; and
    상기 라우터를 이용하여 상기 사설망에 위치하는 원격 서비스를 상기 사용자 단말로 제공하는 단계를 포함하는 사설망 접속 제어장치의 제어 방법.and providing a remote service located in the private network to the user terminal using the router.
  2. 제1항에 있어서,According to claim 1,
    상기 라우터의 설정을 변경하는 단계는,Changing the settings of the router includes:
    상기 사용자 단말에서 상기 사설망으로 전송되어 오는 패킷의 목적지 주소를 상기 원격 서비스가 위치한 노드의 사설망 IP 주소로 설정하는 단계; 및setting a destination address of a packet transmitted from the user terminal to the private network as a private network IP address of a node in which the remote service is located; and
    상기 원격 서비스가 상기 사용자 단말로 보내는 패킷의 목적지 주소를 상기 사용자 단말의 인터넷 망 IP 주소로 설정하는 단계를 포함하는 것을 특징으로 하는 사설망 접속 제어장치의 제어 방법.and setting a destination address of a packet sent by the remote service to the user terminal as an Internet network IP address of the user terminal.
  3. 제2항에 있어서,3. The method of claim 2,
    상기 사용자 정보는, The user information is
    상기 사용자 단말의 상기 인터넷 망 IP 주소, 상기 사용자 단말이 사용하고자 하는 원격 서비스 정보, 상기 원격 서비스가 위치한 노드의 사설망 IP 주소를 포함하는 것을 특징으로 하는 사설망 접속 제어장치의 제어 방법.The method of controlling a private network access control apparatus, characterized in that it includes the Internet network IP address of the user terminal, remote service information to be used by the user terminal, and a private network IP address of a node in which the remote service is located.
  4. 제1항에 있어서,The method of claim 1,
    상기 포털은 상기 사설망에 접속된 서버에서 운영되며, 상기 포털의 주소는 상기 인터넷 망에서 상기 사설망으로 접근할 수 있는 특정 주소로 고정되어 있는 것을 특징으로 하는 사설망 접속 제어장치의 제어 방법.The portal is operated in a server connected to the private network, and the address of the portal is fixed to a specific address that can be accessed from the Internet network to the private network.
  5. 제1항에 있어서,According to claim 1,
    상기 사설망 내에 존재하면서 상기 원격 서비스에 접속하는 제1 사용자 단말 및 제2 사용자 단말을 탐색하는 단계;discovering a first user terminal and a second user terminal existing in the private network and accessing the remote service;
    상기 원격 서비스를 제공하는 노드를 상기 제1 사용자 단말에 대응하는 제1 노드와 상기 제2 사용자 단말에 대응하는 제2 노드로 다르게 배치하는 단계; 및disposing the remote service providing node differently as a first node corresponding to the first user terminal and a second node corresponding to the second user terminal; and
    상기 제1 노드를 통해 상기 제1 사용자 단말로 상기 원격 서비스를 제공하고, 상기 제2 노드를 통해 상기 제2 사용자 단말로 상기 원격 서비스를 제공하는 단계를 포함하는 것을 특징으로 하는 사설망 접속 제어장치의 제어 방법.and providing the remote service to the first user terminal through the first node and providing the remote service to the second user terminal through the second node. control method.
  6. 서로 다른 원격 서비스를 제공하는 복수의 호스트들;a plurality of hosts providing different remote services;
    사설망에 의하여 상기 호스트들과 접속되며, 상기 사설망을 인터넷 망과 접속시키기 위한 라우터; 및a router connected to the hosts by a private network and configured to connect the private network to an Internet network; and
    상기 사설망에 의하여 상기 호스트들과 접속되며, 상기 사설망에 접속되는 사용자 단말이 상기 호스트들 중 적어도 하나가 제공하는 원격 서비스를 이용할 수 있도록 상기 라우터의 설정을 변경하는 사설망 접속 제어장치를 구비하는 것을 특징으로 하는 사설망 접속 제어시스템.and a private network access control device connected to the hosts through the private network and configured to change the settings of the router so that a user terminal connected to the private network can use a remote service provided by at least one of the hosts. private network access control system.
PCT/KR2022/001397 2021-01-27 2022-01-26 Private network access control device for enabling user terminal of internet network to access private network in order to execute remote service, and control method thereof WO2022164201A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20210011554 2021-01-27
KR10-2021-0011554 2021-01-27
KR10-2021-0022145 2021-02-18
KR1020210022145A KR102595308B1 (en) 2021-01-27 2021-02-18 Private network access control device for allowing user terminals of internet network to access private network to execute remote service and control method thereof

Publications (1)

Publication Number Publication Date
WO2022164201A1 true WO2022164201A1 (en) 2022-08-04

Family

ID=82654796

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/001397 WO2022164201A1 (en) 2021-01-27 2022-01-26 Private network access control device for enabling user terminal of internet network to access private network in order to execute remote service, and control method thereof

Country Status (1)

Country Link
WO (1) WO2022164201A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061349A (en) * 1995-11-03 2000-05-09 Cisco Technology, Inc. System and method for implementing multiple IP addresses on multiple ports
WO2001097485A2 (en) * 2000-06-14 2001-12-20 At & T Wireless Services, Inc. Method for providing transparent public addressed networks within private networks
US20030041136A1 (en) * 2001-08-23 2003-02-27 Hughes Electronics Corporation Automated configuration of a virtual private network
KR20040108568A (en) * 2003-06-06 2004-12-24 마이크로소프트 코포레이션 Architecture for connecting a remote client to a local client desktop
US20130128892A1 (en) * 2004-07-23 2013-05-23 Goutham P. Rao Method and systems for routing packets from a gateway to an endpoint

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061349A (en) * 1995-11-03 2000-05-09 Cisco Technology, Inc. System and method for implementing multiple IP addresses on multiple ports
WO2001097485A2 (en) * 2000-06-14 2001-12-20 At & T Wireless Services, Inc. Method for providing transparent public addressed networks within private networks
US20030041136A1 (en) * 2001-08-23 2003-02-27 Hughes Electronics Corporation Automated configuration of a virtual private network
KR20040108568A (en) * 2003-06-06 2004-12-24 마이크로소프트 코포레이션 Architecture for connecting a remote client to a local client desktop
US20130128892A1 (en) * 2004-07-23 2013-05-23 Goutham P. Rao Method and systems for routing packets from a gateway to an endpoint

Similar Documents

Publication Publication Date Title
EP2745474B1 (en) Virtualization gateway between virtualized and non-virtualized networks
JP6306640B2 (en) Providing logical networking capabilities for managed computer networks
US8332523B2 (en) Architecture to enable keyboard, video and mouse (KVM) access to a target from a remote client
US9042384B2 (en) Distributed routing domains in multi-tenant datacenter virtual networks
US9106529B2 (en) Virtual network configuration and management
JP2007193429A (en) Network computing system, communication method, image projection device, image input/output device, and screen data acquisition method
AU2012340331A1 (en) Virtual network interface objects
JP2009278261A (en) Information processing device and communication control method
JP2014525155A (en) Computer-implemented method, computer program, and data processing system for configuration and management of virtual network
WO2018008933A1 (en) Method for providing virtual cpe service by using single internet line and network function virtualization cloud
KR102595308B1 (en) Private network access control device for allowing user terminals of internet network to access private network to execute remote service and control method thereof
WO2022164201A1 (en) Private network access control device for enabling user terminal of internet network to access private network in order to execute remote service, and control method thereof
JP2010239591A (en) Network system, relay device, and method of controlling network
WO2015037911A1 (en) Method, device, system and computer-readable recording medium for supporting communication between user terminal device and local host by using open flow
WO2017154163A1 (en) Computer system, gateway device control method and storage medium
WO2015020393A1 (en) Method, device, and system for supporting communication between user terminal devices by using openflow, and computer-recordable recording medium
KR101996588B1 (en) Network bridge apparatus and control method thereof to support arp protocols
JP2015002424A (en) Address allocation device, management device, address allocation program, and management program
JP7419771B2 (en) Network system and connection method
KR102103484B1 (en) Method and system for providing intranet service by customer using virtual networking technology
Luevano et al. The Healthcare Simulation Technology Specialist and Information Technology
CN114598600A (en) Dual system for realizing network intercommunication
Li et al. Creating virtual networks for distributed virtual computing environment
Li et al. A Scalable and Efficient Virtual Network for Cloud Computing
JP2012129897A (en) Communication device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22746227

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22746227

Country of ref document: EP

Kind code of ref document: A1