WO2014209075A1 - 인터넷 프로토콜을 이용한 서비스를 위한 다중 연결 시스템 및 방법 - Google Patents

인터넷 프로토콜을 이용한 서비스를 위한 다중 연결 시스템 및 방법 Download PDF

Info

Publication number
WO2014209075A1
WO2014209075A1 PCT/KR2014/005771 KR2014005771W WO2014209075A1 WO 2014209075 A1 WO2014209075 A1 WO 2014209075A1 KR 2014005771 W KR2014005771 W KR 2014005771W WO 2014209075 A1 WO2014209075 A1 WO 2014209075A1
Authority
WO
WIPO (PCT)
Prior art keywords
mcs
packet
server
proxies
client
Prior art date
Application number
PCT/KR2014/005771
Other languages
English (en)
French (fr)
Inventor
서정환
임영석
Original Assignee
Seo Jeong Hoan
Lim Young Suk
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 Seo Jeong Hoan, Lim Young Suk filed Critical Seo Jeong Hoan
Priority to EP14817169.7A priority Critical patent/EP3016332B1/en
Priority to JP2016523655A priority patent/JP6105163B2/ja
Priority to CN201480036291.8A priority patent/CN105379208B/zh
Priority to US14/392,329 priority patent/US9762546B2/en
Publication of WO2014209075A1 publication Critical patent/WO2014209075A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/36Backward learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols

Definitions

  • the present invention relates to an Internet service system, and more particularly, to a multiple connectivity system and method, for services using the Internet protocol that enable Internet service persistence.
  • DDoS Distributed Denial of Service
  • a network infrastructure capable of distributing and absorbing a large amount of traffic is generally used.
  • the IPS equipment is used to control the amount of traffic flowing into the target system under attack and to remove some known harmful packets. Blocking and dedicated equipment are attached to the front of the system to block harmful traffic.
  • this method has difficulty in blocking real-time attack because it requires the necessary control personnel in the middle to bypass and handle the traffic, and has a weak point that the service should be stopped once.
  • the client has one-to-one communication with Server 1 or Server 2 for the desired service.
  • IP address server's information
  • IP address server's information
  • this structure has a problem that the gateway or proxy burden the server.
  • the problem to be solved by the present invention is to provide a service using the Internet protocol that can provide a continuous service while blocking the attacker even when the proxy is impossible to use for abnormal reasons, for example, malicious user attacks or physical reasons It is to provide a multi-connection system.
  • Another object of the present invention is to provide a multi-connection method for a service using an Internet protocol.
  • Another object of the present invention is to provide an MCS client used in a multi-connection system for a service using an Internet protocol.
  • Another problem to be solved by the present invention is to provide an MCS server used in a multiple connection system for a service using an Internet protocol.
  • a multi-connection system for a service using an internet protocol comprising: a plurality of proxies;
  • the client receives a packet to be transmitted to the server, and adds an MCS sequence ID for identifying the received packet to the packet, thereby generating an MCS packet as many as the number of proxy access information connected to or configured with the plurality of proxies.
  • An MCS client sequentially transmitting the MCS packet to each of the plurality of proxies connected through a network; Receiving an MCS packet from each of the plurality of proxies, extracting an MCS sequence ID included in the received MCS packet, comparing the MCS sequence ID with a prestored MCS sequence ID, and storing the extracted MCS sequence ID;
  • the MCS packet is generated by the server as a packet that can be received by the server and transmitted to the server. If the extracted MCS sequence ID is the same as the previously stored MCS sequence ID, the MCS server does not transmit the MCS packet to the server. It includes.
  • the MCS client transmits a query for requesting proxy access information to a server or a domain name server (DNS) that uses a plurality of proxy access information that is already set or provides a plurality of proxy access information, and receives proxy access information from the DNS.
  • DNS domain name server
  • the MCS client forms a session with the plurality of proxies to store access information, and transmits a packet to which the MCS sequence ID is added to the proxy.
  • the MCS client sets a packet transmission priority among the plurality of proxies to transmit the packet to the proxy according to the set priority, and the packet transmission priority of the plurality of proxies is determined by the MCS client to the proxy. It is characterized in that it is set based on the time to receive a response by transmitting.
  • the MCS server sets priority between the plurality of proxies based on the received order when MCS packets are received from each of the plurality of proxies.
  • a multi-connection system for a service using an internet protocol comprising: a plurality of proxies; Upon receiving a packet from the server, an MCS sequence ID for identifying the received packet is added to the packet to generate MCS packets for the number of proxy access information connected or set with the proxy, and the MCS packet is stored in the network.
  • An MCS server sequentially transmitting to each of the plurality of proxies connected through the MCS server; Receive an MCS packet from each of the plurality of proxies, extract the MCS sequence ID included in the MCS packet, compare the stored MCS sequence ID with the stored MCS sequence ID, and store the extracted MCS sequence ID.
  • An MCS client that generates a packet that the client can receive and transmits the packet to the client, and if the extracted MCS sequence ID is the same as the previously stored MCS sequence ID, does not transmit the MCS packet received from the proxy to the client.
  • the MCS server transmits a packet to which the MCS sequence ID is added to a plurality of proxies connected through a network according to a transmission priority between the plurality of proxies which are set in advance, and the transmission priority between the plurality of proxies is
  • the MCS server receives a packet from each of the plurality of proxies, it is set between the plurality of proxies based on the received order.
  • the MCS server forms a session with the plurality of proxies to store access information, and transmits a packet to which the MCS sequence ID is added to the proxy.
  • Packet determining unit for storing the;
  • a packet generation unit for generating an MCS packet received from the proxy as a packet that a client can receive if it is not the same as the check result;
  • a reverse packet transmitter for transmitting the packet generated by the packet generator to the client.
  • the MCS client transmits a query for requesting connection information to a server or DNS (Domain Name Server) that uses a plurality of proxy connection information or provides a plurality of proxy connection information, and receives a connection from the DNS. It further comprises a connection control unit used as a plurality of proxy connection information.
  • DNS Domain Name Server
  • the MCS client includes a failure detection unit for detecting a failure occurrence of the plurality of proxy servers; If the failure is detected, further comprising a failover unit for retrieving the list of available proxy servers and selecting an available proxy server other than the plurality of proxy servers to replace the failed proxy server with the selected proxy server. do.
  • the MCS client includes a failure detection unit for detecting a failure occurrence of a plurality of proxy servers; When a failure is detected, the server transmits a query for requesting proxy access information to a server or a domain name server (DNS) providing proxy access information, and when the proxy access information is received from DNS, the proxy access information is transmitted to the proxy server that has failed. It characterized in that it further comprises a failover unit for replacing with a proxy corresponding to the.
  • DNS domain name server
  • a packet determination unit which stores an MCS sequence ID;
  • a packet generation unit for generating an MCS packet received from the proxy as a packet that can be received by the server if the check result is not the same;
  • a forward packet transmitter for transmitting the packet generated by the packet generator to a server.
  • the MCS server further comprises a proxy priority setting unit for setting the transmission priority between the plurality of proxies based on the received order when receiving packets from each of the plurality of proxies, the reverse packet transmission unit is The packet added with the reverse MCS sequence ID according to the transmission priority is transmitted to a plurality of proxies connected through a network.
  • an MCS sequence ID for identifying the received packet may be assigned to the packet.
  • an MCS client sequentially transmitting the MCS packet to each of a plurality of proxies connected through a network; Each of the plurality of proxies transmitting MCS packets received from the MCS client to an MCS server connected through a network;
  • the MCS server receives an MCS packet from each of the plurality of proxies, checking the MCS sequence ID included in the packet; If the MCS sequence ID is not the same as the MCS sequence ID stored in the MCS server, the MCS server stores the MCS sequence ID, generates the MCS packet as a packet that can be received by the server, and sends the same to the server: And if the MCS sequence ID is the same as the MCS sequence ID stored in the MCS server, the MCS server does not transmit the MCS packet received from the proxy to the server.
  • the MCS client forms a session with the plurality of proxies to store access information, and transmits the MCS packet to the proxy.
  • the MCS client sets a packet transmission priority among the plurality of proxies to transmit the packet to the proxy according to the set priority, and the packet transmission priority of the plurality of proxies is determined by the MCS client to the proxy. It is characterized in that it is set based on the time to receive a response by transmitting.
  • the MCS server sets priority between the plurality of proxies based on the received order when packets are received from each of the plurality of proxies.
  • an MCS server receives a packet from a server
  • an MCS sequence ID for identifying the received packet may be assigned to the packet.
  • the MCS server sequentially transmitting the MCS packet to each of a plurality of proxies connected through a network; Each of the plurality of proxies transmitting the MCS packet received from the MCS server to an MCS client connected through a network;
  • the MCS client receives the MCS packet from each of the plurality of proxies, checking the MCS sequence ID included in the MCS packet; If the MCS sequence ID is not the same as the MCS sequence ID stored in the MCS client, the MCS client stores the MCS sequence ID, generates the MCS packet as a packet that can be received by the client, and sends the same to the client; And if the MCS sequence ID is the same as the MCS sequence ID stored in the MCS server, the MCS client does not transmit the MCS packet received from the proxy to the client.
  • the MCS server transmits a packet to which the MCS sequence ID is added to a plurality of proxies connected through a network according to a transmission priority between the plurality of proxies which are set in advance, and the transmission priority between the plurality of proxies
  • the MCS server When the MCS server receives a packet from each of the plurality of proxies, it is set between the plurality of proxies based on the received order.
  • the MCS server forms a session with the plurality of proxies to store access information, and transmits the MCS packet to the proxy.
  • the present invention provides a recording medium readable by a processor that records a program executed by the processor.
  • the single connection structure is a structure in which a client and a server are connected one-to-one.
  • the client-proxy-server is directly connected, so the proxy acts as an intermediary, but it does not escape from the single connection structure.
  • the multi-connection system (MCS) according to the present invention has a structure that overcomes the single connection.
  • MCS can configure MCS client and MCS server in client and server and use these elements to send packet to one or more proxies. This means that you have implemented a multi-connection architecture that allows you to have more than one line between the client and server.
  • the client and the server have the same effect as using a plurality of circuits using the MCS client and the MCS server. This ensures that if a particular line between the client and server fails, the service is not broken because the other line is alive.
  • the multiple connection system according to the present invention since a plurality of lines are communicating at the same time, when a problem occurs in a specific device, even if the device is replaced, communication is performed on another line, so that communication is not broken even when the device is replaced.
  • the multi-connection system (MCS) according to the present invention can be said to be an effective system that provides service permanence, which is the most important factor in the network market, which is continuously developing and growing.
  • FIG. 1 illustrates a connection relationship between a plurality of proxy servers, a client, and a server.
  • FIG. 2 illustrates a connection relationship between a plurality of proxy servers, a client, and a server according to the present invention.
  • FIG. 3 is a block diagram illustrating an example configuration of a multi-connection system for a service using the Internet protocol according to the present invention.
  • Figure 4 shows a block diagram of another example configuration for a multi-connection system for services using the Internet protocol according to the present invention.
  • FIG. 5 is a block diagram illustrating a configuration of an example of the MCS client 50 according to the present invention.
  • FIG. 6 is a block diagram illustrating a configuration of an example of the MCS server 60 according to the present invention.
  • FIG. 7 is a block diagram showing the configuration of the MCS client 70.
  • FIG. 8 is a block diagram showing the configuration of the MCS server 80.
  • FIG. 9 is a flowchart illustrating an example of a multiple connection method for a service using an Internet protocol according to the present invention.
  • FIG. 10 is a flowchart illustrating another example of a multi-connection method for a service using an Internet protocol according to the present invention.
  • 11 shows a flow of attempting a session connection for the first time with equipment to be connected to an MCS module when MCS is activated.
  • FIG. 12 illustrates a flow of a forward packet transmission operation in which a packet sent by a client arrives at a proxy via an MCS client.
  • FIG. 13 shows a forward flow of a forward packet transmission operation in which a packet sent by a proxy arrives at a server via an MCS server.
  • FIG. 14 is a flowchart illustrating a reverse packet transmission operation in which a packet sent from a server arrives at a proxy through an MCS server.
  • 15 is a flowchart illustrating a reverse packet transmission operation in which a packet sent from a proxy arrives at a client via an MCS client.
  • 16 illustrates a flow of a forward packet transmission operation in which a packet sent by a client arrives at a proxy via an MCS client.
  • FIG. 17 shows a forward flow of a forward packet transmission operation in which a packet sent by a proxy arrives at a server via an MCS server.
  • FIG. 18 is a flowchart illustrating a reverse packet transmission operation in which a packet sent by a server arrives at a proxy through an MCS server.
  • 19 is a flowchart illustrating a reverse packet transmission operation in which a packet sent by a proxy arrives at a client via an MCS client.
  • FIG. 20 illustrates a structure in which an MCS client is located outside the client and an MCS server is located in an In Process of the Server OS.
  • the Multi Connection System (hereinafter referred to as MCS) allows a server to continuously provide a service to a client even if a circuit between the client and the server fails, and the client can continuously use a service provided by the server.
  • All devices capable of network communication such as PCs and smartphones, send and receive data while sending and receiving packets. And when sending and receiving these packets, the devices are connected on a single line. Therefore, if a line is disconnected by a single line, the devices cannot communicate with each other. MCS is needed to solve this problem.
  • MCS consists of MCS client and MCS server.
  • the same packet is transmitted and received to one or more proxies using the MCS client and the MCS server.
  • the MCS sends the same packet to more than one line.
  • the processing of these packets is handled by using the characteristics of the devices. When the devices are processed, they cannot be processed at the same time, but only sequentially.
  • the MCS sends packets sequentially to each line, and the receiving device receives the earliest packet and responds to the request of the sending device.
  • FIG. 1 illustrates a connection between a plurality of proxies and a client and a server. Since a plurality of proxies 110, 120, and 130 are located between the client 100 and the server 150, a plurality of data transmission paths may be formed between the client 100 and the server 150.
  • the MCS client 210 is located between the client 200 and the plurality of proxies 220, 230, 240, and the MCS server 260 is located between the plurality of proxies 220, 230, 240 and the server 270.
  • the plurality of proxies 220, 230, and 240 may be configured not only with a single stage shown in FIG. 2 but also with multiple stage proxies. That is, each of the plurality of proxy servers 220, 230, and 240 may be replaced with a plurality of proxy servers connected in series.
  • MCS comprises an MCS client 210, MCS server 260 and a plurality of proxies (220, 230, 240).
  • MCS client 210 transmits a packet to MCS server 260 and receives a packet from MCS server 260.
  • the packet that the client 200 wants to transmit to the server 270 is received by the MCS client 210 and transmitted to the MCS server 260 via one or more proxies 220, 230, and 240.
  • the packet transmitted from the MCS server 260 and the one or more proxies 220, 230, and 240 is delivered to the client 200 after the MCS client 210 checks the state of the packet and whether the packet is duplicated.
  • the MCS client 210 may be located inside or outside the client 200.
  • the MCS client 210 may be implemented in various forms such as a program, equipment, a tool, and the like.
  • the MCS server 260 sends a packet to the MCS client 210 and receives a packet from the MCS client 210.
  • the packet that the server 270 intends to transmit to the client 200 is received by the MCS server 260 and transmitted to the MCS client 260 via one or more proxies 220, 230, and 240.
  • the packet received through the one or more proxies 220, 230, and 240 from the MCS client 210 is delivered to the server 270 after the MCS server 260 checks the state and duplication of the packet.
  • the MCS server 260 may be located inside or outside the server 270 according to a situation, and may be implemented in various forms such as a program, equipment, and a tool.
  • the server 270 provides a service to the client 200.
  • the server 270 may be various equipment according to a situation or environment, and includes elements for providing a service to the client 200.
  • the server may be composed of hardware, an operating system (OS), and a network-based service providing program.
  • OS operating system
  • the client 200 is an element that receives and uses a service from the server 270.
  • the client includes all equipment that sends a request to a server providing a service for using a service such as a PC, a smartphone, a tablet PC, or the like depending on a situation or an environment.
  • the client may consist of hardware, an operating system (OS), and a network-based service use program.
  • OS operating system
  • the proxy temporarily stores the server's data in a cache, and when the client passes through the proxy, it receives the server's data that is stored in the proxy's cache.
  • the second feature is that when the client and server communicate, the proxy is in the middle of the two devices, passing the packet to the destination.
  • MCS uses the second feature of the proxy.
  • FIG. 3 is a block diagram illustrating an example configuration of a multi-connection system for a service using an Internet protocol according to the present invention, and includes a plurality of proxies 320, 330, and 340, an MCS client 300, and an MCS server 310. )
  • the MCS client 300 receives a packet that the client 350 wants to transmit to the server 360.
  • the MCS client 300 generates an MCS packet by adding the MCS sequence ID for identifying the received packet to the packet to the number of proxy access information connected to or configured with the plurality of proxies 320, 330, and 340.
  • the MCS client 300 sequentially transmits the MCS packet to each of the plurality of proxies connected through a network.
  • the MCS client 300 transmits a query for requesting proxy access information to a server (not shown) or DNS (Domain Name Server, not shown) that uses a plurality of proxy connection information that is already set or provides a plurality of proxy connection information.
  • the proxy access information may be received from the DNS and used as a plurality of proxy access information.
  • the MCS client 300 may establish a session with the plurality of proxies 320, 330, and 340 to store access information, and transmit the packet to which the MCS sequence ID is added to the proxies 320, 330, and 340.
  • the MCS client 300 may set a packet transmission priority among the plurality of proxies 320, 330, and 340 and transmit the packet to the proxies 320, 330, and 340 according to the set priority.
  • the priority of packet transmission between the plurality of proxies may be set based on the time when the MCS client 300 receives the response by transmitting the equipment check packet to the proxies 320, 330, and 340.
  • the MCS server 310 receives MCS packets from each of the plurality of proxies 320, 330, 340.
  • the MCS server 310 extracts the MCS sequence ID included in the received MCS packet and compares it with a previously stored MCS sequence ID, and stores the extracted MCS sequence ID if it is not the same. Generates a packet that can be received and sends it to the server.
  • the MCS server 310 does not transmit the MCS packet to the server 360 if the extracted MCS sequence ID is the same as the previously stored MCS sequence ID.
  • the MCS server 310 may set priorities among the plurality of proxies 320, 330, and 340 based on the received order when MCS packets are received from each of the plurality of proxies 320, 330, and 340.
  • the plurality of proxies 320, 330, 340 relay the MCS packets between the MCS client 300 and the MCS server 310.
  • FIG. 4 is a block diagram illustrating another example of a configuration of a multi-connection system for a service using an Internet protocol according to the present invention, and includes a plurality of proxies 420, 430, and 440, an MCS client 400, and an MCS server 410. )
  • the MCS server 410 receives a packet from the server 460, and adds an MCS sequence ID for identifying the received packet to the packet to be connected to or configured with the proxy 420, 430, and 440. Generate as many MCS packets.
  • the MCS client 400 sequentially transmits the MCS packet to each of the plurality of proxies 420, 430, and 440 connected through a network.
  • the MCS client 400 receives an MCS packet from each of the plurality of proxies 420, 430, and 440.
  • the MCS client 400 extracts the MCS sequence ID included in the MCS packet and compares it with the stored MCS sequence ID, and if it is not the same, stores the extracted MCS sequence ID and receives the MCS packet from the client 450. It generates a packet that can be transmitted to the client 450.
  • the MCS client 400 does not transmit the MCS packet received from the proxy 420, 430, 440 to the client 450 if the extracted MCS sequence ID is the same as the previously stored MCS sequence ID.
  • MCS server 410 is a plurality of proxies (420, 430, 440) connected via a network to the packet to which the MCS sequence ID is added in accordance with the transmission priority between a plurality of preset proxy (420, 430, 440) ) Can be sent.
  • the transmission priority between the plurality of proxies 420, 430, and 440 may be set based on the received order when the MCS server 410 receives a packet from each of the plurality of proxies 420, 430, and 440.
  • the MCS server 410 may establish a session with the plurality of proxies 420, 430, and 440 to store access information, and transmit the packet to which the MCS sequence ID is added to the proxies 420, 430, and 440.
  • the plurality of proxies 420, 430, and 440 relay a MCS packet between the MCS client 400 and the MCS server 410.
  • the forward packet receiver 500, the MCS packet generator 510, the forward packet transmitter 520, and the reverse packet receiver ( 540, a packet determination unit 550, a packet generation unit 560, and a reverse packet transmission unit 570, and further include a connection control unit 530 or a failure detection unit 580 and a failure recovery unit 590. It may include.
  • the forward packet receiver 500 receives a forward packet that the client 505 intends to transmit to a server (not shown).
  • the MCS packet generation unit 510 generates a forward MCS packet by adding a forward MCS sequence ID for identifying the forward packet to the forward packet.
  • the forward packet transmitter 520 sequentially transmits the forward MCS packet to each of the plurality of proxies 515, 525, and 535.
  • the reverse packet receiving unit 540 receives the reverse MCS packet from each of the plurality of proxies.
  • the packet determining unit 550 extracts the reverse MCS sequence ID included in the reverse packet and checks whether the packet is the same by comparing with the stored MCS sequence ID. If the comparison result is the same, the packet determination unit 550 does not transmit the packet received from the proxy to the client. Otherwise, the packet determination unit 550 stores the extracted MCS sequence ID.
  • the packet generator 560 If the extracted reverse MCS sequence ID and the stored MCS sequence ID are not the same, the packet generator 560 generates a MCS packet received from the proxy as a packet that a client can receive.
  • the reverse packet transmitter 570 transmits the packet generated by the packet generator 560 to the client 505.
  • the connection controller 530 transmits a query for requesting connection information to a server (not shown) or a DNS (Domain Name Server, not shown) that uses a plurality of proxy connection information that is already set or provides a plurality of proxy connection information. Proxy access information may be received from the DNS and used as a plurality of proxy access information.
  • the failure detector 580 detects whether a failure occurs in the plurality of proxies 515, 525, and 535.
  • the failure recovery unit 590 searches for a proxy list that lists the available proxies and selects an available proxy server other than the plurality of proxy servers so that the failure has occurred.
  • the server may be replaced with the selected proxy server.
  • the failure detection unit 590 detects a failure by the failure detection unit 580, a query for requesting proxy connection information from a server (not shown) or DNS (Domain Name Server, not shown) that provides proxy connection information.
  • a query for requesting proxy connection information from a server not shown
  • DNS Domain Name Server, not shown
  • the failed proxy server may be replaced with a proxy corresponding to the proxy access information.
  • the forward packet receiver 600, the packet determiner 610, the packet generator 620, and the forward packet transmitter 630 are illustrated in FIG. ),
  • the reverse packet receiver 650, the MCS packet generator 660, and the reverse packet transmitter 670 may further include a proxy priority setting unit 640.
  • the reverse packet receiving unit 650 receives a reverse packet from the server 605.
  • the MCS packet generation unit 660 adds a reverse MCS sequence ID for identifying the reverse packet to the reverse packet to generate reverse MCS packets as many as the number of connected proxies.
  • the reverse packet transmitter 670 sequentially transmits the reverse MCS packet to each of the plurality of proxies 615, 625, and 635.
  • the forward packet receiver 600 receives a forward MCS packet from each of the plurality of proxies 615, 625, and 635.
  • the packet determination unit 610 extracts a forward MCS sequence ID included in the forward MCS packet and checks whether it is the same as the forward MCS sequence ID stored therein. If the forward MCS sequence ID extracted from the check result is the same as the stored forward MCS sequence ID, the packet determination unit 610 discards the packet received from the proxy without transmitting it to the server 605. The packet determining unit 610 stores the extracted forward MCS sequence ID when the extracted forward MCS sequence ID is not the same as the stored forward MCS sequence ID.
  • the packet generator 620 If the extracted forward MCS sequence ID and the stored forward MCS sequence ID are not the same, the packet generator 620 generates an MCS packet received from the proxy as a packet that the server can receive.
  • the forward packet transmitter 630 transmits the packet generated by the packet generator 620 to the server 605.
  • the proxy priority setting unit 640 may set a transmission priority between the plurality of proxies 615, 625, and 635 based on the received order when packets are received from each of the plurality of proxies 615, 625, and 635.
  • the reverse packet transmitter 670 may transmit a packet to which the reverse MCS sequence ID is added to a plurality of proxies 615, 625, and 635 connected through a network according to the transmission priority.
  • FIG. 9 is a flowchart illustrating an example of a multiple connection method for a service using an Internet protocol according to the present invention.
  • the MCS client 300 receives a packet from the client 350 (step S900).
  • the MCS client 300 generates an MCS packet by adding an MCS sequence ID for identifying the received packet to the packet (step S910).
  • the MCS client 300 sequentially transmits the MCS packet to each of the plurality of proxies 320, 330, and 340 connected through a network (step S920).
  • the MCS server 310 may transmit the plurality of proxies 320, 330, 340) MCS packets are received from each one (step S930).
  • the MCS server 310 checks the MCS sequence ID included in the packet (step S940).
  • the MCS server 310 compares the MCS sequence ID with the MCS sequence ID stored in the MCS server 310 (step S950).
  • the MCS server 310 stores the MCS sequence ID (step S960), and the server 360 receives the MCS packet.
  • a packet can be generated and transmitted to the server 360 (step S970).
  • the MCS server 310 discards the MCS packet received from the proxies 320, 330, and 340 without transmitting to the server 360. S980 step)
  • the MCS client 300 may establish a session with each of the plurality of proxies 320, 330, and 340 to store access information, and transmit the MCS packet to each of the proxies 320, 330, and 340.
  • the MCS client 300 may set the packet transmission priority among the plurality of proxies 320, 330, and 340 and transmit the packet to the proxies 320, 330, and 340 according to the set priority.
  • the priority of packet transmission between the plurality of proxies 320, 330, and 340 may be set based on the time when the MCS client 300 receives a response by transmitting an equipment confirmation packet to each of the proxies 320, 330, and 340. Can be.
  • the MCS server 310 may set priorities among the plurality of proxies 320, 330, and 340 based on the received order.
  • FIG. 10 is a flowchart illustrating another example of a multi-connection method for a service using an Internet protocol according to the present invention.
  • the MCS server 410 receives a packet from the server 460 (step S1000).
  • the MCS server 410 generates an MCS packet by adding an MCS sequence ID for identifying the received packet to the packet (step S1010).
  • the MCS server 410 sequentially transmits the MCS packet to each of the plurality of proxies 420, 430, and 440 connected through a network (step S1020).
  • each of the plurality of proxies 420, 430, and 440 transmits the MCS packet received from the MCS server 410 to the MCS client 400 connected through a network
  • the MCS client 400 receives a plurality of proxies ( The MCS packet is received from each of 420, 430, and 440 (step S1030).
  • the MCS client 400 checks the MCS sequence ID included in the MCS packet (step S1040).
  • the MCS client 400 compares the MCS sequence ID with the MCS sequence ID stored in the MCS client 400 (step S1050).
  • MCS client 400 stores the MCS sequence ID (step S1060), the packet that the client can receive the MCS packet Create and transmit to the client. (S1070)
  • the MCS client 400 does not transmit the MCS packet received from each of the proxies 420, 430, and 440 to the client 460. Discard it (step S1060).
  • MCS server 410 is a plurality of proxies (420, 430, 440) connected via a network to the packet to which the MCS sequence ID is added in accordance with the transmission priority between a plurality of preset proxy (420, 430, 440) ) Can be sent.
  • the transmission priority between the plurality of proxies 420, 430, and 440 may be set based on the received order when the MCS server 410 receives a packet from each of the plurality of proxies 420, 430, and 440. have.
  • the MCS server 410 may establish a session with a plurality of proxies 420, 430, and 440 to store access information, and transmit the MCS packet to each of the plurality of proxies 420, 430, and 440.
  • MCS Elements that must be implemented in MCS are included in MCS system components. And since MCS is a system that operates on the network, it is necessary to determine the elements to be implemented accordingly. MCS can work with TCP, SCTP, UDP and their own protocols. However, since each protocol communicates differently on each network, MCS operating on network operates differently according to the characteristics of each protocol. However, TCP and SCTP work similarly to TCP because their structure is similar. And their own protocols work similar to UDP. Therefore, the implementation elements for communicating with SCTP through its own protocol will not be described separately.
  • the first condition is that the client and the MCS client must be connected on the network.
  • the second condition requires that the MCS client know the connection information of the proxy or MCS server.
  • the forward packet receiver 700 receives a packet of the client 705.
  • the MCS client 70 will receive the packet from the client 705 to send the packet to one or more proxies.
  • the session manager 710 will be described. Since the MCS client 70 is connected to one or more proxies or MCS servers, the MCS client needs to obtain connection information of one or more proxies or MCS servers to which they want to send packets for efficient packet transmission. At this time, the session manager 710 secures the connection information of the proxy including the number of necessary connection information and the number of reserved connection information.
  • the session manager 710 sets access IP information and a method in the packet.
  • the configuration can be set using DNS or using the MCS client API.
  • the session manager 710 may determine the speed of the proxy to be accessed using a priority algorithm and set the order of proxies to send packets in the fastest order. If the priority is already known, the session manager 710 may set the priority of the packet to the previously determined priority.
  • the session manager 710 may connect only some proxies to the MCS client from the obtained list of proxy access information.
  • This secured list can be used to detect if a problem occurs in the proxy or MCS server in real time, and to move to the reserve proxy using the reserved proxy access information from the secured proxy list.
  • the MCS packet generation unit 720 Since the MCS includes one or more Proxy or MCS Servers 70 and sends packets as many as the connection information of the one or more Proxy or MCS servers 70, the MCS packet generator 720 generates MCS packets as many as the proxy connection information. It is necessary to do
  • the forward packet transmitter 730 transmits the generated MCS packet to the proxy connected to the MCS client.
  • the reverse packet receiving unit 740 receives a proxy packet.
  • MCS client 70 receives packets from one or more proxies to send packets to the client.
  • the MCS needs processing of this packet because the same packet is sent from more than one proxy.
  • the packet determination unit 750 may use the specific data in the MCS header to determine and process the use of duplicate packets.
  • the packet generator 760 Since the client 705 cannot use the packet generated by the MCS module as it is, the client 705 must generate the packet so that the client 705 can receive the packet. For this function, the packet generator 760 generates an MCS packet determined by the packet determiner 750 as a packet for sending to the client 705.
  • the reverse packet transmitter 770 transmits all the completed packets from the MCS client 70 to the client 705.
  • MCS server sends and receives packets to communicate with a server, proxy, or MCS client. Therefore, in order for the MCS server to function properly, the following two conditions are required.
  • the first condition is that the server and the MCS server must be connected on the network.
  • the second condition requires that the MCS server know the connection information of the proxy or MCS client.
  • the forward packet receiver 800 receives a packet of a proxy.
  • the MCS server receives packets from one or more proxies to send packets to the server.
  • the packet determination unit 810 may use the specific data in the MCS header to determine and process the use of the duplicate packet.
  • the packet generator 820 Since the server cannot use the packet generated by the MCS module as it is, it must be created to receive the packet. For this function, the packet generator 820 generates the MCS packet determined by the packet determiner 810 as a packet for sending to the server.
  • the forward packet transmitter 830 transmits the packet, which has been completed by the MCS server, to the server.
  • the reverse packet receiving unit 850 receives a server packet.
  • the MCS server receives the packet from the server to send the packet to one or more proxies.
  • the session manager 860 sets access information such as a packet destination by referring to a packet received from an MCS client or one or more proxies. When the access information is obtained, the session manager 860 sets the access IP information and the method in the packet. Settings can be set using the MCS server API.
  • the session management unit 860 of the MCS server may determine the priority using the arrival order of packets received from the MCS client or one or more proxies, so that the priority of the packets may be set using the priority.
  • the MCS packet generator 870 Since the MCS has a configuration in which at least one Proxy or MCS client exists, and has a structure in which as many packets as the access information of the at least one Proxy or MCS client are sent, the MCS packet generator 870 generates MCS packets as many as the access information. do.
  • the reverse packet transmitter 880 transmits the generated MCS packet to a proxy connected to the MCS server.
  • the first condition is that the client and the MCS client must be connected on the network.
  • the second condition requires that the MCS client know the connection information of the proxy or MCS server.
  • FIG. 5 shows a block diagram of an example configuration of an MCS client 50 that communicates using UDP and its own protocol.
  • the forward packet receiver 500 receives a packet of a client.
  • the MCS client receives the packet from the client to send the packet to one or more proxies.
  • the MCS packet generator 510 Since the MCS has a structure in which at least one Proxy or MCS Server exists and sends packets as many as the access information of at least one Proxy or MCS server, the MCS packet generator 510 generates a transport packet as many as the access information.
  • the forward packet transmitter 520 sends the generated MCS packet to the Proxy 515, 525, 535 connected with the MCS client.
  • the reverse packet receiving unit 540 receives a packet of a proxy.
  • MCS clients receive packets from one or more proxies to send packets to the client.
  • the packet determination unit 550 may use the specific data in the MCS header to determine and process the use of duplicate packets.
  • the packet generation unit 560 Since the client cannot use the packet created by the MCS module as it is, it must be created so that the client can receive the packet. For this function, the packet generation unit 560 generates the MCS packet determined by the packet determination unit 550 as a packet for sending to the client.
  • the reverse packet transmitter 570 transmits all the completed packets from the MCS client to the client.
  • the MCS server sends and receives packets to communicate with a server, proxy, or MCS client. Therefore, in order for the MCS server to function properly, the following two conditions are required. And when the MCS server operates with UDP and its own protocol, there is no need for the session management unit to manage sessions, unlike when operating with TCP.
  • the first condition is that the server and the MCS server must be connected on the network.
  • the second condition requires that the MCS server know the connection information of the proxy or MCS client.
  • FIG. 6 is a block diagram showing the configuration of the MCS server 60.
  • the forward packet receiver 800 receives a packet of a proxy.
  • the MCS server receives packets from one or more proxies to send packets to the server.
  • the packet determination unit 610 may use the duplicate data in the MCS header to determine and process the duplicate packet.
  • the packet generator 620 Since the server cannot use the packet generated by the MCS module as it is, it must be created to receive the packet. For this function, the packet generator 620 generates an MCS packet determined by the packet determiner 610 as a packet for sending to the server.
  • the forward packet transmitter 630 transmits the packet, which has been completed by the MCS server, to the server.
  • the device acknowledgment packet refers to a packet sent to confirm whether or not the device for the MCS module to communicate properly operates.
  • a session connection will be described with reference to FIG. 11.
  • it is checked whether there is a proxy access information list (step S1100). If there is no access information list, the access information list is searched (step S1110). Then, the device identification packet is transmitted to the equipment corresponding to the list (step S1120). Check whether the device confirmation packet has been received (step S1130). Check the device confirmation packet reception time (step S1140), and store the time check information. (Step S1150) If the session information is maintained (step S1160), Otherwise, go to step S1100 and check if there is a proxy connection information list.
  • FIG. 12 illustrates a flow of a forward packet transmission operation in which a packet sent by a client arrives at a proxy via an MCS client.
  • the MCS client receives a packet from the client (step S1200). Then, it is checked whether a session connection with the proxy is maintained. (Step S1210) If the session connection is not maintained, the MCS client establishes a session (S1220). Step) Then, MCS packets are generated as many as the number of sessions (step S1230). The MCS packets are transmitted in the order of session reception (step S1240).
  • FIG. 13 shows a forward flow of a forward packet transmission operation in which a packet sent by a proxy arrives at a server via an MCS server.
  • the MCS server receives the MCS packet (step S1300).
  • the MCS packet checks whether the priority information is stored in the on order (step S1310). If not, the priority information is stored in the order in which the MCS packets are received. (Step S1320)
  • the MCS sequence ID is duplicated, that is, the MCS sequence ID included in the MCS packet and the stored MCS sequence ID are compared with each other (step S1330). If they are the same, the received MCS packet is discarded (step S1340). Otherwise, the packet is generated as a packet that is not sent to the final destination (step S1350), and the generated packet is transmitted to the final destination (step S1360).
  • FIG. 14 is a flowchart illustrating a reverse packet transmission operation in which a packet sent from a server arrives at a proxy through an MCS server.
  • the MCS server receives a packet from the server (step S1400). It is checked whether the session connection is maintained. (Step S1410) If the session connection is not maintained, the session connection is performed (step S1420). MCS packet is generated (step S1430). The MCS packet is transmitted to the proxy according to the session priority (step S1440).
  • 15 is a flowchart illustrating a reverse packet transmission operation in which a packet sent from a proxy arrives at a client via an MCS client.
  • an MCS client receives an MCS packet from a proxy.
  • the priority information is updated in the order of arrival MCS packet.
  • the MCS sequence ID is duplicated, that is, whether the MCS sequence ID included in the MCS packet and the stored MCS sequence ID are the same. . If it is the same, the MCS packet is discarded (step S1530). If it is not the same, the packet is sent to the final destination (step S1540) and the generated packet is transmitted (step S1550).
  • 16 illustrates a flow of a forward packet transmission operation in which a packet sent by a client arrives at a proxy via an MCS client.
  • an MCS client first receives a packet (step S1600). Then, MCS packets are generated as many as the set number of proxies. In step S1610, the MCS packet is transmitted to the proxy.
  • FIG. 17 shows a forward flow of a forward packet transmission operation in which a packet sent by a proxy arrives at a server via an MCS server.
  • the MCS server receives the MCS packet from the proxy (step S1700).
  • the MCS server checks whether the priority information is stored in the order in which the MCS packets are received (step S1710). Save (step S1720).
  • step S1730 If the duplicated MCS sequence ID is checked (step S1730), if duplicated, the MCS packet is discarded (step S1740). If not, the generated MCS sequence ID is generated as a packet to be sent to the final destination (step S1760).
  • FIG. 18 is a flowchart illustrating a reverse packet transmission operation in which a packet sent by a server arrives at a proxy through an MCS server.
  • the MCS server receives a packet from the server (step S1800), and generates MCS packets by the same packet quantity as the MCS sequence ID received in the forward direction (step S1810).
  • the MCS server then receives the MCS sequence ID received in the forward direction.
  • the MCS packet is transmitted to the proxy in the same order (step S1820).
  • 19 is a flowchart illustrating a reverse packet transmission operation in which a packet sent by a proxy arrives at a client via an MCS client.
  • the MCS client receives the MCS packet from the proxy (step S1900).
  • the MCS client updates priority information based on the received MCS packet order (step S1910).
  • 20 illustrates a structure in which an MCS client is located outside the client and an MCS server is located in the In Process of the Server OS.
  • the MCS client may be operated outside of the equipment.
  • the concept of "outside" is not installed inside the client equipment, but installed outside the equipment to communicate using a line. Say.
  • the MCS client can be installed outside of the client. At this time, the MCS client becomes a physical device installed outside.
  • MCS server can be operated in library concept when it is operated in In Process in OS.
  • Windows for example, when MCS Server is run in In Process, MCS Server is run as dll file.
  • the installed MCS Client and MCS Server exchange information with the OS of the equipment and are in charge of processing packets from each transmitting and receiving unit.
  • MCS The characteristic of MCS is the effect of multiple connections. It covers not only the continuous services of MCS but also security and convenience.
  • the ultimate goal of MCS is to maintain service continuity.
  • the session maintenance system In a network disconnection or DDoS attack situation, the session maintenance system must defend against the attack and maintain the session. Defensive systems are difficult to deal with in the event of a network break or failure.
  • the MCS is a system for controlling packets using an MCS-specific module, and uses this to transmit the same packet to more than one line.
  • the session maintenance system configures a plurality of sessions by connecting a plurality of proxy devices and a plurality of source service servers in a DDoS attack situation.
  • MCS uses its own modules to implement multiple connectivity systems.
  • MCS is a system that controls packets using a unique module, so it is possible to implement a multi-connection system even if there are not multiple proxy equipments or source service servers.
  • MCS transmits packets to the line even if the number of lines is increased or decreased, so the dependency on the line is low and the utilization is high.
  • MCS has its own modules, which can be in various forms such as equipment, programs, tools, libraries, etc., so that clients and servers can implement multiple connectivity systems by installing or mounting MCS modules where they are desired. It is supposed to be. Therefore, MCS has the advantage of being able to access to one infrastructure without having to directly modify the program to put Client or Server function.
  • the purpose of the MCS is to maintain service durability.
  • a session maintenance system aims to defend against a DDoS attack and maintain a session therefor.
  • systems designed for this particular purpose are difficult to deal with when other failures occur.
  • the MCS is a system for controlling packets using an MCS-specific module, and uses this to transmit the same packet to more than one line. This makes it possible to maintain the service itself as well as defend and maintain sessions by sending packets to other circuits even if a line failure such as physical failure or natural disaster occurs not only in an attack but also in a system built with MCS.
  • MCS uses modules to implement multiple connectivity systems. MCS uses its own modules to implement multiple connectivity systems. In a DDoS attack situation, the session maintenance system connects a plurality of proxy servers and a plurality of origin servers to form a plurality of sessions, and thus a plurality of proxies and a plurality of origin servers are required.
  • MCS is a system that uses a unique module to control packets. Therefore, it is possible to implement a multi-connection system without multiple proxy servers and origin servers. In addition, MCS transmits packets to the line even if the number of lines is increased or decreased, so the dependency on the line is low.
  • MCS Mobility Management System It provides convenience of using MCS to Server and Client.
  • the session maintenance system needs to directly configure the client and server in the system structure.
  • MCS has prepared its own module and this module can be in the form of equipment, programs, tools, libraries, etc. as needed, so that Client and Server can implement multi-connected system simply by installing MCS module in the desired place. have. Therefore, MCS can access to one infrastructure without having to directly modify program to put Client or Server function.
  • the present invention can be embodied as code that can be read by a computer (including all devices having an information processing function) in a computer-readable recording medium.
  • the computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording devices include ROM, RAM, CD-ROM, magnetic tape, floppy disks, optical data storage devices, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

인터넷 프로토콜을 사용하는 서비스를 위한 다중연결 시스템 및 방법이 개시된다. 그 다중연결 시스템은 복수의 프록시; 클라이언트가 서버로 전송하고자 하는 패킷을 수신하고, 수신한 패킷을 식별할 수 있는 MCS 시퀀스 ID를 패킷에 부가하여 복수의 프록시와 접속되어 있거나 설정된 프록시 접속정보 수 만큼 MCS 패킷을 생성하고, MCS 패킷을 네트워크를 통해 연결되어 있는 복수의 프록시 각각에게 순차적으로 전송하는 MCS 클라이언트; 및 복수의 프록시 각각으로부터 MCS 패킷을 수신하고, 상기 수신된 MCS 패킷에 포함되어 있는 MCS 시퀀스 ID를 추출하여 미리 저장되어 있는 MCS 시퀀스 ID와 비교하여 동일하지 않으면 상기 추출된 MCS 시퀀스 ID를 저장하고, 상기 MCS패킷을 서버가 수신할 수 있는 패킷으로 생성하여 상기 서버로 전송하고, 상기 추출된 MCS 시퀀스 ID가 미리 저장되어 있는 MCS 시퀀스 ID와 동일하면 상기 MCS 패킷을 상기 서버로 전송하지 않는 MCS 서버를 포함한다.

Description

인터넷 프로토콜을 이용한 서비스를 위한 다중 연결 시스템 및 방법
본 발명은 인터넷 서비스 시스템에 관한 것으로서, 특히 인터넷 서비스 영속성을 가능하게 하는, 인터넷 프로토콜을 이용한 서비스를 위한, 다중 연결 시스템 및 방법에 관한 것이다.
DDoS(Distributed Denial of Service) 공격이란 수십 대에서 많게는 수백만 대의 컴퓨터를 원격 조종해 특정 웹사이트에 동시에 접속시킴으로써 단시간 내에 과부하를 일으켜 특정 웹사이트가 마비되게 하거나 과부하가 걸려 서비스를 제공할 수 없게 만드는 공격을 말한다. 이러한 DDoS 공격을 차단하는 방법으로 일반적으로는 대용량의 트래픽을 분산, 흡수할 수 있는 네트워크 인프라를 갖춘 후 IPS장비를 이용하여 공격을 받는 대상 시스템으로 유입되는 트래픽의 양을 조절하고 일부 알려진 유해 패킷을 차단하는 것과 전용 장비를 시스템 앞 단에 부착하여 유해 트래픽을 차단하는 방법을 사용하고 있다.
그러나 이와 같은 방법은 트래픽을 우회하고 처리하기 위해 중간에 필수적인 관제인원의 조치가 필요하기에 실시간 공격 차단에 어려움이 있으며, 최초 한번은 서비스가 중단되어야 한다는 약점이 있다.
클라이언트는 원하는 서비스를 위해 서버 1 또는 서버 2와 일대일 통신을 하게 된다.
그러나 이러한 서비스 시스템은 클라이언트와 서버 간의 일대일 연결로 인해 서버의 정보(IP address)가 노출되고, 그로 이해 공격의 대상이 될 수 있다. 이를 막아내기 위한 방법으로 게이트웨이를 두거나 프록시 서버를 두고 서버의 정보(IP address)를 노출시키지 않는 방법을 사용한다. 하지만 이러한 구조는 서버의 문제를 게이트웨이나 프록시가 부담하게 되는 문제가 있다.
본 발명이 해결하고자 하는 과제는 비정상적인 이유 예를 들어 악의적인 사용자의 공격이나 물리적인 이유로 프록시의 사용이 불가능한 경우라도 공격자를 차단할 수 있으면서도 지속적으로 서비스를 제공할 수 있는, 인터넷 프로토콜을 이용한 서비스를 위한 다중 연결 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 과제는 인터넷 프로토콜을 이용한 서비스를 위한 다중 연결 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 과제는 인터넷 프로토콜을 이용한 서비스를 위한 다중 연결 시스템에 사용되는 MCS 클라이언트를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 과제는 인터넷 프로토콜을 이용한 서비스를 위한 다중 연결 시스템에 사용되는 MCS 서버를 제공하는 것이다.
상기 기술적 과제를 이루기 위한 본 발명에 의한 인터넷 프로토콜을 사용하는 서비스를 위한 다중연결 시스템은 클라이언트와 서버를 다중으로 연결하는 다중연결 시스템에 있어서, 복수의 프록시; 상기 클라이언트가 상기 서버로 전송하고자 하는 패킷을 수신하고, 상기 수신한 패킷을 식별할 수 있는 MCS 시퀀스 ID를 상기 패킷에 부가하여 상기 복수의 프록시와 접속되어 있거나 설정된 프록시 접속정보 수 만큼 MCS 패킷을 생성하고, 상기 MCS 패킷을 네트워크를 통해 연결되어 있는 상기 복수의 프록시 각각에게 순차적으로 전송하는 MCS 클라이언트; 및 상기 복수의 프록시 각각으로부터 MCS 패킷을 수신하고, 상기 수신된 MCS 패킷에 포함되어 있는 MCS 시퀀스 ID를 추출하여 미리 저장되어 있는 MCS 시퀀스 ID와 비교하여 동일하지 않으면 상기 추출된 MCS 시퀀스 ID를 저장하고, 상기 MCS패킷을 서버가 수신할 수 있는 패킷으로 생성하여 상기 서버로 전송하고, 상기 추출된 MCS 시퀀스 ID가 미리 저장되어 있는 MCS 시퀀스 ID와 동일하면 상기 MCS 패킷을 상기 서버로 전송하지 않는 MCS 서버를 포함한다.
상기 MCS 클라이언트는 이미 설정된 복수의 프록시 접속 정보를 사용하거나 복수의 프록시 접속 정보를 제공하는 서버 또는 DNS(Domain Name Server)에게 프록시 접속정보를 요청하는 쿼리를 전송하고, 상기 DNS로부터 프록시 접속정보를 수신하여 복수의 프록시 접속정보로 사용하는 것을 특징으로 한다.
상기 MCS 클라이언트는 상기 복수의 프록시와 세션을 형성하여 접속정보를 저장하고, 상기 MCS 시퀀스 ID가 부가된 패킷을 상기 프록시에게 전송하는 것을 특징으로 한다.
상기 MCS 클라이언트는 상기 복수의 프록시 간의 패킷 전송 우선순위를 설정하여 상기 설정된 우선순위에 따라 패킷을 상기 프록시에게 전송하고, 상기 복수의 프록시 간의 패킷 전송 우선순위는 상기 MCS 클라이언트가 상기 프록시에게 장비확인 패킷을 전송하여 응답을 받는 시간을 기준으로 설정되는 것을 특징으로 한다.
상기 MCS 서버는 상기 복수의 프록시 각각으로부터 MCS 패킷을 수신하면 수신되는 순서에 기초하여 상기 복수의 프록시 간의 우선순위를 설정하는 것을 특징으로 한다.
상기 기술적 과제를 이루기 위한 본 발명에 의한 인터넷 프로토콜을 사용하는 서비스를 위한 다중연결 시스템은 클라이언트와 서버를 다중으로 연결하는 다중연결 시스템에 있어서, 복수의 프록시; 상기 서버로부터 패킷을 수신하면, 상기 수신한 패킷을 식별할 수 있는 MCS 시퀀스 ID를 상기 패킷에 부가하여 상기 프록시와 접속되어 있거나 설정된 프록시 접속정보 수 만큼 MCS 패킷을 생성하고, 상기 MCS 패킷을 네트워크를 통해 연결되어 있는 상기 복수의 프록시 각각에게 순차적으로 전송하는 MCS 서버; 상기 복수의 프록시 각각으로부터 패킷을 MCS 패킷을 수신하고, 상기 MCS 패킷에 포함되어 있는 MCS 시퀀스 ID를 추출하여 저장되어 있는 MCS 시퀀스 ID와 비교하여 동일하지 않으면 상기 추출된 MCS 시퀀스 ID를 저장하고 상기 MCS 패킷을 클라이언트가 수신할 수 있는 패킷으로 생성하여 클라이언트로 전송하고, 상기 추출된 MCS 시퀀스 ID가 미리 저장되어 있는 MCS 시퀀스 ID와 동일하면 상기 프록시로부터 수신한 MCS 패킷을 클라이언트로 전송하지 않는 MCS 클라이언트를 포함한다.
상기 MCS 서버는 미리 설정되어 있는 상기 복수의 프록시 간의 전송우선순위에 따라 상기 MCS 시퀀스 ID가 부가된 패킷을 네트워크를 통해 연결되어 있는 복수의 프록시에게 전송하고, 상기 복수의 프록시 간의 전송 우선순위는 상기 MCS 서버가 상기 복수의 프록시 각각으로부터 패킷을 수신할 때 수신되는 순서에 기초하여 상기 복수의 프록시 간의 설정되는 것을 특징으로 한다.
상기 MCS 서버는 상기 복수의 프록시와 세션을 형성하여 접속정보를 저장하고, 상기 MCS 스퀀스 ID를 부가된 패킷을 상기 프록시로 전송하는 것을 특징으로 한다
상기 다른 기술적 과제를 이루기 위한 본 발명에 의한 인터넷 프로토콜을 사용하는 서비스를 위한 다중연결 시스템에서의 MCS 클라이언트는 클라이언트가 서버로 전송하고자 하는 순방향 패킷을 수신하는 순방향 수신부; 상기 순방향 패킷을 식별할 수 있는 순방향 MCS 시퀀스 ID를 상기 순방향 패킷에 부가하여 순방향 MCS 패킷을 생성하는 MCS 패킷 생성부; 상기 순방향 MCS 패킷을 상기 복수의 프록시 각각에게 순차적으로 전송하는 순방향 패킷 송신부; 복수의 프록시 각각으로부터 역방향 MCS 패킷을 수신하는 역방향 수신부; 상기 역방향 패킷에 포함되어 있는 역방향 MCS 시퀀스 ID를 추출하여 저장되어 있는 MCS 시퀀스 ID와 동일한지 체크하여 동일하면 상기 프록시로부터 수신한 패킷을 상기 클라이언트로 전송하지 않고, 동일하지 않으면 상기 추출된 MCS 시퀀스 ID를 저장하는 패킷 판단부; 상기 체크결과 동일하지 않으면 상기 프록시로부터 수신한 MCS패킷을 클라이언트가 받을 수 있는 패킷으로 생성하는 패킷 생성부; 및 상기 패킷 생성부에서 생성된 패킷을 클라이언트로 전송하는 역방향 패킷 송신부를 포함한다.
상기 본 발명에 의한 MCS 클라이언트는 이미 설정된 복수의 프록시 접속 정보를 사용하거나 복수의 프록시 접속 정보를 제공하는 서버 또는 DNS(Domain Name Server)에게 접속 정보를 요청하는 쿼리를 전송하고, DNS로부터 접속 를 수신하여 복수의 프록시 접속정보로 사용하는 연결 제어부를 더 포함하는 것을 특징으로 한다.
상기 본 발명에 의한 MCS 클라이언트는 상기 복수의 프록시 서버의 장애 발생을 탐지하는 장애 탐지부; 장애발생이 탐지되면 사용가능한 프록시 서버 리스트를 검색하여 상기 복수의 프록시 서버 이외의 사용 가능한 프록시 서버를 선택하여 상기 장애가 발생된 프록시 서버를 상기 선택된 프록시 서버로 대체하는 장애복구부를 더 포함하는 것을 특징으로 한다.
상기 본 발명에 의한 MCS 클라이언트는 복수의 프록시 서버의 장애 발생을 탐지하는 장애 탐지부; 장애발생이 탐지되면 프록시 접속 정보를 제공하는 서버 또는 DNS(Domain Name Server)에게 프록시 접속 정보를 요청하는 쿼리를 전송하고, DNS로부터 프록시 접속 정보를 수신하면 상기 장애가 발생된 프록시 서버를 상기 프록시 접속 정보에 해당하는 프록시로 대체하는 장애복구부를 더 포함하는 것을 특징으로 한다.
상기 다른 기술적 과제를 이루기 위한 본 발명에 의한 인터넷 프로토콜을 사용하는 서비스를 위한 다중연결 시스템에서의 MCS 서버는 서버가 클라이언트로 전송하고자 하는 역방향 패킷을 수신하는 역방향 패킷 수신부; 상기 역방향 패킷을 식별할 수 있는 역방향 MCS 시퀀스 ID를 상기 역방향 패킷에 부가하여 접속된 프록시 수 만큼 역방향 MCS 패킷을 생성하는 MCS 패킷 생성부; 상기 역방향 MCS 패킷을 상기 복수의 프록시 각각에게 순차적으로 전송하는 역방향 패킷 송신부; 복수의 프록시 각각으로부터 순방향 MCS 패킷을 수신하는 순방향 패킷 수신부; 상기 순방향 MCS 패킷에 포함되어 있는 순방향 MCS 시퀀스 ID를 추출하여 저장되어 있는 순방향 MCS 시퀀스 ID와 동일한지 체크하여 동일하면 상기 프록시로부터 수신한 패킷을 상기 서버로 전송하지 않고, 동일하지 않으면 상기 추출된 순방향 MCS 시퀀스 ID를 저장하는 패킷 판단부; 상기 체크결과 동일하지 않으면 상기 프록시로부터 수신한 MCS패킷을 서버가 받을 수 있는 패킷으로 생성하는 패킷 생성부; 상기 패킷 생성부에서 생성된 패킷을 서버로 전송하는 순방향 패킷 송신부를 포함한다.
상기 본 발명에 의한 MCS 서버는 상기 복수의 프록시 각각으로부터 패킷을 수신하면 수신되는 순서에 기초하여 상기 복수의 프록시 간의 전송 우선순위를 설정하는 프록시 우선순위 설정부를 더 구비하고, 상기 역방향 패킷 전송부는 상기 전송우선순위에 따라 상기 역방향 MCS 시퀀스 ID가 부가된 패킷을 네트워크를 통해 연결되어 있는 복수의 프록시에게 전송하는 것을 특징으로 한다.
상기 또 다른 기술적 과제를 이루기 위한 본 발명에 의한 인터넷 프로토콜을 사용하는 서비스를 위한 다중연결 방법은 MCS 클라이언트가 클라이언트로부터 패킷을 수신하면, 상기 수신한 패킷을 식별할 수 있는 MCS 시퀀스 ID를 상기 패킷에 부가하여 MCS 패킷을 생성하는 단계; MCS 클라이언트는 상기 MCS 패킷을 네트워크를 통해 연결되어 있는 복수의 프록시 각각에게 순차적으로 전송하는 단계; 상기 복수의 프록시 각각은 상기 MCS클라이언트로부터 수신한 MCS 패킷을 네트워크를 통해 연결되어 있는 MCS 서버로 전송하는 단계; 상기 MCS서버는 상기 복수의 프록시 각각으로부터 MCS 패킷을 수신하면 패킷에 포함되어 있는 MCS 시퀀스 ID를 체크하는 단계; 상기 MCS 시퀀스 ID가 상기 MCS 서버에 저장되어 있는 MCS 시퀀스 ID와 동일하지 않으면 상기 MCS 서버는 상기 MCS 시퀀스 ID를 저장하고 상기 MCS 패킷을 서버가 수신할 수 있는 패킷으로 생성하여 서버로 전송하는 단계: 및 상기 MCS 시퀀스 ID가 상기 MCS 서버에 저장되어 있는 MCS 시퀀스 ID와 동일하면 상기 MCS 서버는 상기 프록시로부터 수신한 MCS 패킷을 상기 서버로 전송하지 않는 단계를 포함한다.
상기 MCS 클라이언트는 상기 복수의 프록시와 세션을 형성하여 접속정보를 저장하고, 상기 MCS 패킷을 상기 프록시에게 전송하는 것을 특징으로 한다.
상기 MCS 클라이언트는 상기 복수의 프록시 간의 패킷 전송 우선순위를 설정하여 상기 설정된 우선순위에 따라 패킷을 상기 프록시에게 전송하고, 상기 복수의 프록시 간의 패킷 전송 우선순위는 상기 MCS 클라이언트가 상기 프록시에게 장비확인 패킷을 전송하여 응답을 받는 시간을 기준으로 설정되는 것을 특징으로 한다.
상기 MCS 서버는 상기 복수의 프록시 각각으로부터 패킷을 수신하면 수신되는 순서에 기초하여 상기 복수의 프록시 간의 우선순위를 설정하는 것을 특징으로 한다.
상기 또 다른 기술적 과제를 이루기 위한 본 발명에 의한 인터넷 프로토콜을 사용하는 서비스를 위한 다중연결 방법은 MCS 서버가 서버로부터 패킷을 수신하면, 상기 수신한 패킷을 식별할 수 있는 MCS 시퀀스 ID를 상기 패킷에 부가하여 MCS 패킷을 생성하는 단계; MCS 서버는 상기 MCS 패킷을 네트워크를 통해 연결되어 있는 복수의 프록시 각각에게 순차적으로 전송하는 단계; 상기 복수의 프록시 각각은 상기 MCS서버로부터 수신한 상기 MCS 패킷을 네트워크를 통해 연결되어 있는 MCS 클라이언트로 전송하는 단계; 상기 MCS클라이언트는 상기 복수의 프록시 각각으로부터 MCS 패킷을 수신하면 MCS 패킷에 포함되어 있는 MCS 시퀀스 ID를 체크하는 단계; 상기 MCS 시퀀스 ID가 상기 MCS 클라이언트에 저장되어 있는 MCS 시퀀스 ID와 동일하지 않으면 상기 MCS 클라이언트는 상기 MCS 시퀀스 ID를 저장하고 상기 MCS 패킷을 클라이언트가 수신할 수 있는 패킷으로 생성하여 상기 클라이언트로 전송하는 단계: 및 상기 MCS 시퀀스 ID가 상기 MCS 서버에 저장되어 있는 MCS 시퀀스 ID와 동일하면 상기 MCS 클라이언트는 상기 프록시로부터 수신한 MCS 패킷을 상기 클라이언트로 전송하지 않는 단계를 포함하는 것을 특징으로 한다.
상기 MCS 서버는 미리 설정되어 있는 상기 복수의 프록시 간의 전송우선순위에 따라 상기 MCS 시퀀스 ID가 부가된 패킷을 네트워크를 통해 연결되어 있는 복수의 프록시에게 전송하고, 상기 복수의 프록시 간의 전송 우선순위는
상기 MCS 서버가 상기 복수의 프록시 각각으로부터 패킷을 수신할 때 수신되는 순서에 기초하여 상기 복수의 프록시 간의 설정되는 것을 특징으로 한다.
상기 MCS 서버는 상기 복수의 프록시와 세션을 형성하여 접속정보를 저장하고, 상기 MCS 패킷을 상기 프록시에게 전송하는 것을 특징으로 한다.
그리고 상기 기재된 발명을 프로세서에 의해 실행되는 프로그램을 기록한 프로세서에 의해 읽을 수 있는 기록매체를 제공한다.
본 발명에 따른 인터넷 서비스 영속성을 위한 다중 연결 시스템 및 방법에 의하면, 다음과 같은 잇점과 효과가 있다.
현재 일반적으로 쓰고 있는 네트워크 시스템은 싱글 커넥션(single connection) 구조이다. 싱글 커넥션 구조란 클라이언트와 서버가 일대일로 연결되어 있는 구조를 말한다. 그 외에 클라이언트-프록시-서버(Client-Proxy-Server)가 직접 연결되어 있어 프록시가 중개역할을 하는 구조도 있지만 싱글 커넥션 구조에서 벗어나지는 못한다.
이 구조 때문에 클라이언트와 서버 간의 회선에 문제가 생기면 서로의 통신에 문제가 생기게 된다. 또 이 구조의 단점은 회선의 장애를 복구시킬 때 대기장비를 두고 장애가 생기면 교체하는 방식으로 복구를 시키는데 장비를 교체하는 순간 해당 장비가 있던 자리가 비게 되어 통신이 끊기게 된다. 따라서 싱글 커넥션 구조는 서비스를 지속적으로 유지 시키기엔 많은 어려움이 따르는 구조이다.
하지만 본 발명에 의한 다중연결 시스템(MCS)는 상기 싱글 커넥션을 극복한 구조이다. MCS는 클라이언트와 서버에 MCS 클라이언트와 MCS 서버를 구성하여 이 요소들을 이용해 패킷을 하나 이상의 프록시로 전송하는 것이 가능하다. 이는 결국 클라이언트와 서버 간에 회선을 한 개가 아닌 복수의 회선을 둘 수 있는 멀티 커넥션 구조를 구현했다는 것을 의미한다.
본 발명에 의한 다중연결 시스템(MCS)는 클라이언트와 서버는 MCS 클라이언트 및 MCS 서버를 이용하여 복수의 회선을 이용하는 것과 같은 효과를 가진다. 이로 인해 클라이언트와 서버 간의 특정 회선에 장애가 발생해도 다른 회선이 살아 있기 때문에 서비스가 끊어지지 않는다. 또한 본 발명에 의한 다중연결 시스템은 복수의 회선이 동시에 통신하고 있기 때문에 특정 장비에 문제가 생겼을 경우 장비를 교체해도 다른 회선에서 통신이 이루어 지므로 장비 교체 시에도 통신이 끊어지지 않는다.
따라서 본 발명에 의한 다중연결 시스템(MCS)은 지속적으로 발전하고 규모가 커지는 네트워크 시장에서 무엇보다 중요한 요소인 서비스의 영속성을 제공하는 효과적인 시스템이라고 할 수 있다.
도 1은 복수의 프록시 서버와 클라이언트 및 서버의 연결관계를 나타낸 것이다.
도 2는 본 발명에 의한 복수의 프록시 서버와 클라이언트 및 서버의 연결관계를 나타낸 것이다.
도 3은 본 발명에 의한 인터넷 프로토콜을 이용한 서비스를 위한 다중연결 시 스템에 대한 일 예의 구성을 블록도로 나타낸 것이다.
도 4은 본 발명에 의한 인터넷 프로토콜을 이용한 서비스를 위한 다중연결 시 스템에 대한 다른 예의 구성을 블록도로 나타낸 것이다.
도 5는 본 발명에 의한 MCS 클라이언트(50)의 일 예에 대한 구성을 블록도로 나타낸 것이다.
도 6은 본 발명에 의한 MCS 서버(60)의 일 예에 대한 구성을 블록도로 나타낸 것이다.
도 7은 MCS 클라이언트(70)의 구성을 블록도로 나타낸 것이다.
도 8은 MCS 서버(80)의 구성을 블록도로 나타낸 것이다.
도 9는 본 발명에 따른 인터넷 프로토콜을 이용한 서비스를 위한 다중연결방법에 대한 일 예를 흐름도로 나타낸 것이다.
도 10은 본 발명에 따른 인터넷 프로토콜을 이용한 서비스를 위한 다중연결방법에 대한 다른 예를 흐름도로 나타낸 것이다.
도 11은 MCS 기동 시 MCS 모듈과 접속하게 될 장비와 최초로 세션 접속을 시도하는 흐름을 나타낸 것이다.
도 12는 클라이언트가 보낸 패킷이 MCS 클라이언트를 경유하여 프록시까지 패킷이 도착하게 되는 순방향 패킷 전송 동작에 대한 흐름을 나타낸 것이다.
도 13은 프록시가 보낸 패킷이 MCS 서버를 경유해 서버까지 패킷이 도착하게 되는 순방향 패킷 전송 동작에 대한 순방향 흐름을 나타낸 것이다.
도 14는 서버가 보낸 패킷이 MCS 서버를 경유하여 프록시까지 패킷이 도착하게 되는 역방향 패킷 전송 동작에 대한 흐름도를 나타낸 것이다.
도 15는 Proxy가 보낸 패킷이 MCS Client를 경유해 Client까지 패킷이 도착하게 되는 역방향 패킷 전송 동작에 대한 흐름도를 나타낸 것이다.
도 16은 클라이언트가 보낸 패킷이 MCS 클라이언트를 경유해 프록시까지 패킷이 도착하게 되는 순방향 패킷 전송 동작에 대한 흐름을 나타낸 것이다.
도 17은 프록시가 보낸 패킷이 MCS 서버를 경유해 서버까지 패킷이 도착하게 되는 순방향 패킷 전송 동작에 대한 순방향 흐름을 나타낸 것이다.
도 18은 서버가 보낸 패킷이 MCS 서버를 경유해 프록시까지 패킷이 도착하게 되는 역방향 패킷 전송 동작에 대한 흐름도를 나타낸 것이다.
도 19는 Proxy가 보낸 패킷이 MCS Client를 경유해 Client까지 패킷이 도착하게 되는 역방향 패킷 전송 동작에 대한 흐름도를 나타낸 것이다.
도 20은 클라이언트 외부에 MCS 클라이언트가 있고 Server OS의 In Process에 MCS 서버가 있는 구조를 나타낸 것이다.
이하, 첨부된 도면을 참조로 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 바람직한 일 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
다중연결시스템(Multi Connection System, 이하 MCS라 한다)은 클라이언트와 서버 간의 회선에 장애가 생겨도 서버는 클라이언트에게 지속적으로 서비스를 제공할 수 있고, 클라이언트는 서버에서 제공하는 서비스를 지속적으로 이용할 수 있게 한다.
PC, 스마트 폰 등 네트워크 통신이 가능한 모든 장비들은 패킷을 송수신하면서 데이터를 보내고 받는다. 그리고 이 패킷을 송수신할 때 장비들은 단일 회선으로 연결되어 있다. 따라서 단일 회선으로 연결되어 있는 회선이 끊어지면 장비들은 서로 통신이 불가능하게 된다. 이러한 문제점을 해결하기 위해 MCS가 필요하다.
MCS는 MCS 클라이언트와 MCS 서버로 포함하여 이루어진다. 상기 MCS 클라이언트와 MCS 서버를 이용하여 동일한 패킷을 하나 이상의 프록시(Proxy)로 송수신한다. 이로 인해 장비들끼리 연결된 회선 중 일부 회선에 장애가 생겨도 예비로 하나 이상의 회선이 설치되어 있어 이 회선을 통해 통신이 지속적으로 이루어진다.
다만, MCS는 시스템의 특성상 하나 이상의 회선으로 동일한 패킷을 보낸다. 이러한 패킷들의 처리는 장비들의 특징을 이용해서 처리하게 되는데 장비들은 작업을 처리할 때 동시에 처리할 수 없고 순차적으로만 작업을 처리한다.
MCS는 패킷을 순차적으로 각 회선으로 보내게 되고 패킷을 받는 장비는 가장 빠른 패킷을 받아 패킷을 보낸 장비의 요구에 응답한다.
도 1은 복수의 프록시와 클라이언트 및 서버의 연결을 나타낸 것이다. 클라이언트(100)와 서버(150) 사이에 복수의 프록시(110, 120, 130)이 위치함으로써 클라이언트(100)와 서버(150) 간에 복수의 데이터 전송 경로를 형성할 수 있다.
도 2는 본 발명에 의한 다중연결 시스템이 적용되는 시스템의 전체적인 구성을 블록도로 나타낸 것이다. 클라이언트(200)와 복수의 프록시(220, 230, 240) 사이에 MCS 클라이언트(210)가 위치하고, 복수의 프록시(220, 230, 240)와 서버(270) 사이에 MCS 서버(260)가 위치한다. 상기 복수의 프록시(220, 230, 240)는 도 2에 도시된 한 개의 단(single stage) 뿐만 아니라 여러 개의 단(multi stage)의 프록시로 구성될 수도 있다. 즉 복수의 프록시 서버(220, 230, 240) 각각은 여러 개의 프록시 서버가 직렬로 연결된 것으로 대체될 수 있다.
본 발명에 의한 MCS는 MCS 클라이언트(210), MCS 서버(260) 및 복수의 프록시(220, 230, 240)를 포함하여 이루어진다.
MCS 클라이언트(210)는 MCS 서버(260)로 패킷을 송신하고 MCS 서버(260)로부터 패킷을 수신한다. 클라이언트(200)가 서버(270)로 전송하고자 하는 패킷은 MCS 클라이언트(210)가 수신하여 하나 이상의 프록시(220, 230, 240)를 거쳐 MCS 서버(260)로 전송하게 된다. 그리고 MCS 서버(260)와 하나 이상의 프록시(220, 230, 240)에서 전송된 패킷은 MCS 클라이언트(210)가 패킷의 상태, 중복 여부를 확인 한 후 클라이언트(200)로 전달된다. MCS 클라이언트(210)는 클라이언트(200)의 내부 혹은 외부에 위치할 수 있다. MCS 클라이언트(210)는 프로그램, 장비, 툴(tool) 등 다양한 형태로 구현될 수 있다.
MCS 서버(260)는 MCS 클라이언트(210)로 패킷을 송신하고 MCS클라이언트(210)로부터 패킷을 수신한다. 서버(270)가 클라이언트(200)로 전송하고자 하는 패킷은 MCS 서버(260)가 수신하여 하나 이상의 프록시(220, 230, 240)를 거쳐 MCS 클라이언트(260)로 전송된다. 그리고 MCS 클라이언트(210)로부터 하나 이상의 프록시(220, 230, 240)를 거쳐 수신되는 패킷은 MCS 서버(260)가 패킷의 상태, 중복 여부를 확인 한 후 서버(270)로 전달된다. MCS 서버(260)는 상황에 따라 서버(270)의 내부 혹은 외부에 위치할 수 있으며, 프로그램, 장비, 툴 등 다양한 형태로 구현될 수 있다.
서버(270)는 클라이언트(200)에게 서비스를 제공한다. 여기서 서버(270)란 상황 혹은 환경에 따라 다양한 장비가 될 수 있으며 클라이언트(200)에게 서비스를 제공하는 요소들을 포함한다. 서버는 하드웨어, OS(운영체제) 및 네트워크 기반 서비스 제공 프로그램 등으로 이루어질 수 있다.
클라이언트(200)는 서버(270)에게 서비스를 받고 이용하는 요소이다. 여기서 클라이언트란 상황 혹은 환경에 따라 PC, 스마트폰, 태블릿PC 등 서비스를 이용하기 위해 서비스를 제공하는 서버로 요구를 보내는 모든 장비를 포함한다. 클라이언트는 하드웨어, OS(운영체제) 및 네트워크 기반 서비스 이용 프로그램 등으로 이루질 수 있다.
프록시의 특징으로는 크게 2가지로 나뉜다. 첫번째 특징은 서버의 데이터를 프록시가 캐시형태로 일시적으로 저장하고 있고 클라이언트가 프록시를 통과할 때 프록시에 캐시 형태로 저장되어 있는 서버의 데이터를 받아간다. 두번째 특징은 클라이언트와 서버가 통신을 할 때 프록시가 두 장비의 중간에 위치해서 패킷을 목적지로 넘겨주는 역할을 한다. 본 발명에 의한 MCS는 Proxy의 특징 중 두번째 특징을 이용하게 된다.
도 3은 본 발명에 의한 인터넷 프로토콜을 이용한 서비스를 위한 다중연결 시 스템에 대한 일 예의 구성을 블록도로 나타낸 것으로서, 복수의 프록시(320, 330, 340), MCS 클라이언트(300) 및 MCS 서버(310)를 포함하여 이루어진다.
MCS 클라이언트(300)는 클라이언트(350)가 서버(360)로 전송하고자 하는 패킷을 수신한다. MCS 클라이언트(300)는 상기 수신한 패킷을 식별할 수 있는 MCS 시퀀스 ID를 상기 패킷에 부가하여 복수의 프록시(320, 330, 340)와 접속되어 있거나 설정된 프록시 접속정보 수 만큼 MCS 패킷을 생성한다. MCS 클라이언트(300)는 상기 MCS 패킷을 네트워크를 통해 연결되어 있는 상기 복수의 프록시 각각에게 순차적으로 전송한다.
MCS 클라이언트(300)는 이미 설정된 복수의 프록시 접속 정보를 사용하거나 복수의 프록시 접속 정보를 제공하는 서버(미도시) 또는 DNS(Domain Name Server, 미도시)에게 프록시 접속정보를 요청하는 쿼리를 전송하고, 상기 DNS로부터 프록시 접속정보를 수신하여 복수의 프록시 접속정보로 사용할 수 있다.
MCS 클라이언트(300)는 복수의 프록시(320, 330, 340)와 세션을 형성하여 접속정보를 저장하고, 상기 MCS 시퀀스 ID가 부가된 패킷을 프록시(320, 330, 340)에게 전송할 수 있다.
MCS 클라이언트(300)는 복수의 프록시(320, 330, 340) 간의 패킷 전송 우선순위를 설정하여 상기 설정된 우선순위에 따라 패킷을 프록시(320, 330, 340)에게 전송할 수 있다. 여기서, 상기 복수의 프록시 간의 패킷 전송 우선순위는 MCS 클라이언트(300)가 프록시(320, 330, 340)에게 장비확인 패킷을 전송하여 응답을 받는 시간을 기준으로 설정될 수 있다.
MCS 서버(310)는 복수의 프록시(320, 330, 340) 각각으로부터 MCS 패킷을 수신한다. MCS 서버(310)는 상기 수신된 MCS 패킷에 포함되어 있는 MCS 시퀀스 ID를 추출하여 미리 저장되어 있는 MCS 시퀀스 ID와 비교하여 동일하지 않으면 상기 추출된 MCS 시퀀스 ID를 저장하고, 상기 MCS 패킷을 서버가 수신할 수 있는 패킷으로 생성하여 상기 서버로 전송한다. MCS 서버(310)는 상기 추출된 MCS 시퀀스 ID가 미리 저장되어 있는 MCS 시퀀스 ID와 비교하여 동일하면 상기 MCS 패킷을 서버(360)로 전송하지 않는다.
MCS 서버(310)는 복수의 프록시(320, 330, 340) 각각으로부터 MCS 패킷을 수신하면 수신되는 순서에 기초하여 복수의 프록시(320, 330, 340) 간의 우선순위를 설정할 수 있다.
복수의 프록시(320, 330, 340)는 MCS 클라이언트(300)와 MCS 서버(310) 간의 MCS 패킷을 중계하는 기능을 한다.
도 4은 본 발명에 의한 인터넷 프로토콜을 이용한 서비스를 위한 다중연결 시 스템에 대한 다른 예의 구성을 블록도로 나타낸 것으로서, 복수의 프록시(420, 430, 440), MCS 클라이언트(400) 및 MCS 서버(410)를 포함하여 이루어진다.
MCS 서버(410)는 서버(460)로부터 패킷을 수신하고, 상기 수신한 패킷을 식별할 수 있는 MCS 시퀀스 ID를 상기 패킷에 부가하여 프록시(420, 430, 440)와 접속되어 있거나 설정된 프록시 접속정보 수만큼 MCS 패킷을 생성한다. MCS 클라이언트(400)는 상기 MCS 패킷을 네트워크를 통해 연결되어 있는 상기 복수의 프록시(420, 430, 440) 각각에게 순차적으로 전송한다.
MCS 클라이언트(400)는 복수의 프록시(420, 430, 440) 각각으로부터 MCS 패킷을 수신한다. MCS 클라이언트(400)는 상기 MCS 패킷에 포함되어 있는 MCS 시퀀스 ID를 추출하여 저장되어 있는 MCS 시퀀스 ID와 비교하여 동일하지 않으면 상기 추출된 MCS 시퀀스 ID를 저장하고 상기 MCS 패킷을 클라이언트(450)가 수신할 수 있는 패킷으로 생성하여 클라이언트(450)로 전송한다. MCS 클라이언트(400)는 상기 추출된 MCS 시퀀스 ID가 미리 저장되어 있는 MCS 시퀀스 ID와 비교하여 동일하면 프록시(420, 430, 440)로부터 수신한 MCS 패킷을 클라이언트(450)로 전송하지 않는다.
MCS 서버(410)는 미리 설정되어 있는 복수의 프록시(420, 430, 440) 간의 전송우선순위에 따라 상기 MCS 시퀀스 ID가 부가된 패킷을 네트워크를 통해 연결되어 있는 복수의 프록시(420, 430, 440)에게 전송할 수 있다. 여기서 복수의 프록시(420, 430, 440) 간의 전송 우선순위는 MCS 서버(410)가 복수의 프록시(420, 430, 440) 각각으로부터 패킷을 수신할 때 수신되는 순서에 기초하여 설정될 수 있다.
MCS 서버(410)는 복수의 프록시(420, 430, 440)와 세션을 형성하여 접속정보를 저장하고, 상기 MCS 스퀀스 ID를 부가된 패킷을 프록시(420, 430, 440)로 전송할 수 있다.
복수의 프록시(420, 430, 440)는 MCS 클라이언트(400)와 MCS 서버(410) 간의 MCS 패킷을 중계하는 기능을 수행한다.
도 5는 본 발명에 의한 MCS 클라이언트(50)의 일 예에 대한 구성을 블록도로 나타낸 것으로서, 순방향 패킷수신부(500), MCS 패킷 생성부(510), 순방향 패킷 송신부(520), 역방향 패킷 수신부(540), 패킷 판단부(550), 패킷 생성부(560), 역방향 패킷 송신부(570)를 포함하여 이루어지고, 연결제어부(530) 또는 장애탐지부(580)와 장애복구부(590)를 더 포함할 수 있다.
순방향 패킷수신부(500)는 클라이언트(505)가 서버(미도시)로 전송하고자 하는 순방향 패킷을 수신한다.
MCS 패킷 생성부(510)는 상기 순방향 패킷을 식별할 수 있는 순방향 MCS 시퀀스 ID를 상기 순방향 패킷에 부가하여 순방향 MCS 패킷을 생성한다.
순방향 패킷 송신부(520)는 상기 순방향 MCS 패킷을 복수의 프록시(515, 525, 535) 각각에게 순차적으로 전송한다.
역방향 패킷 수신부(540)는 복수의 프록시 각각으로부터 역방향 MCS 패킷을 수신한다.
패킷 판단부(550)는 상기 역방향 패킷에 포함되어 있는 역방향 MCS 시퀀스 ID를 추출하여 저장되어 있는 MCS 시퀀스 ID와 비교하여 동일한지 체크한다. 패킷 판단부(550)는 상기 비교한 결과 동일하면 상기 프록시로부터 수신한 패킷을 상기 클라이언트로 전송하지 않고, 동일하지 않으면 상기 추출된 MCS 시퀀스 ID를 저장한다.
패킷 생성부(560)는 상기 추출한 상기 역방향 MCS 시퀀스 ID와 저장되어 있는 MCS 시퀀스 ID가 동일하지 않으면 상기 프록시로부터 수신한 MCS패킷을 클라이언트가 받을 수 있는 패킷으로 생성한다.
역방향 패킷 송신부(570)는 패킷 생성부(560)에서 생성된 패킷을 클라이언트(505)로 전송한다.
연결 제어부(530)는 이미 설정된 복수의 프록시 접속 정보를 사용하거나 복수의 프록시 접속 정보를 제공하는 서버(미도시) 또는 DNS(Domain Name Server, 미도시)에게 접속 정보를 요청하는 쿼리를 전송하고, 상기 DNS로부터 프록시 접속정보 를 수신하여 복수의 프록시 접속정보로 사용할 수 있다.
장애 탐지부(580)는 복수의 프록시(515, 525, 535)에 장애가 발생했는지를 탐지한다.
장애복구부(590)는 장애탐지부(580)에 의해 장애 발생이 탐지되면 사용 가능한 프록시들을 리스트한 프록시 리스트를 검색하여 상기 복수의 프록시 서버 이외의 사용 가능한 프록시 서버를 선택하여 상기 장애가 발생된 프록시 서버를 상기 선택된 프록시 서버로 대체할 수 있다.
또한 장애복구부(590)는 장애탐지부(580)에 의해 장애발생이 탐지되면 프록시 접속 정보를 제공하는 서버(미도시) 또는 DNS(Domain Name Server, 미도시)에게 프록시 접속 정보를 요청하는 쿼리를 전송하고, 상기 DNS로부터 프록시 접속 정보를 수신하면 상기 장애가 발생된 프록시 서버를 상기 프록시 접속 정보에 해당하는 프록시로 대체할 수도 있다.
도 6은 본 발명에 의한 MCS 서버(60)의 일 예에 대한 구성을 블록도로 나타낸 것으로서, 순방향 패킷수신부(600), 패킷 판단부(610), 패킷 생성부(620), 순방향 패킷 송신부(630), 역방향 패킷 수신부(650), MCS 패킷 생성부(660), 역방향 패킷 송신부(670)를 포함하여 이루어지고, 프록시 우선순위 설정부(640)를 더 포함할 수 있다.
역방향 패킷 수신부(650)는 서버(605)로부터 역방향 패킷을 수신한다.
MCS 패킷 생성부(660)는 상기 역방향 패킷을 식별할 수 있는 역방향 MCS 시퀀스 ID를 상기 역방향 패킷에 부가하여 접속된 프록시 수 만큼 역방향 MCS 패킷을 생성한다.
역방향 패킷 송신부(670)는 상기 역방향 MCS 패킷을 복수의 프록시(615, 625, 635) 각각에게 순차적으로 전송한다.
순방향 패킷수신부(600)는 복수의 프록시(615, 625, 635) 각각으로부터 순방향 MCS 패킷을 수신한다.
패킷 판단부(610)는 상기 순방향 MCS 패킷에 포함되어 있는 순방향 MCS 시퀀스 ID를 추출하여 저장되어 있는 순방향 MCS 시퀀스 ID와 동일한지 체크한다. 패킷 판단부(610)는 체크 결과 추출된 순방향 MCS 시퀀스 ID와 저장되어 있는 순방향 MCS 시퀀스 ID가 동일하면 프록시로부터 수신한 패킷을 서버(605)로 전송하지 않고 폐기한다. 패킷 판단부(610)는 상기 추출된 순방향 MCS 시퀀스 ID와 상기 저장되어 있는 순방향 MCS 시퀀스 ID가 동일하지 않으면 상기 추출된 순방향 MCS 시퀀스 ID를 저장한다.
패킷 생성부(620)는 상기 추출된 순방향 MCS 시퀀스 ID와 상기 저장되어 있는 순방향 MCS 시퀀스 ID가 동일하지 않으면 상기 프록시로부터 수신한 MCS 패킷을 서버가 받을 수 있는 패킷으로 생성한다.
순방향 패킷 송신부(630)는 패킷 생성부(620)에서 생성된 패킷을 서버(605)로 전송한다.
프록시 우선순위 설정부(640)는 복수의 프록시(615, 625, 635) 각각으로부터 패킷을 수신하면 수신되는 순서에 기초하여 복수의 프록시(615, 625, 635) 간의 전송 우선순위를 설정할 수 있다.
이 때, 역방향 패킷 송신부(670)는 상기 전송우선순위에 따라 상기 역방향 MCS 시퀀스 ID가 부가된 패킷을 네트워크를 통해 연결되어 있는 복수의 프록시(615, 625, 635)에게 전송할 수 있다.
도 9는 본 발명에 따른 인터넷 프로토콜을 이용한 서비스를 위한 다중연결방법에 대한 일 예를 흐름도로 나타낸 것이다.
도 3과 도 9를 참조하며, 본 발명에 따른 인터넷 프로토콜을 이용한 서비스를 위한 다중연결방법에 대한 일 예를 설명하기로 한다.
MCS 클라이언트(300)는 클라이언트(350)로부터 패킷을 수신한다.(S900단계)
MCS 클라이언트(300)는 상기 수신한 패킷을 식별할 수 있는 MCS 시퀀스 ID를 상기 패킷에 부가하여 MCS 패킷을 생성한다.(S910단계)
MCS 클라이언트(300)는 상기 MCS 패킷을 네트워크를 통해 연결되어 있는 복수의 프록시(320, 330, 340) 각각에게 순차적으로 전송한다.(S920단계)
복수의 프록시(320, 330, 340) 각각이 상기 MCS클라이언트로부터 수신한 MCS 패킷을 네트워크를 통해 연결되어 있는 MCS 서버(310)로 전송하면, MCS서버(310)는 복수의 프록시(320, 330, 340) 각각으로부터 MCS 패킷을 수신한다.(S930단계)
MCS서버(310)는 패킷에 포함되어 있는 MCS 시퀀스 ID를 체크한다.(S940단계)
MCS서버(310)는 상기 MCS 시퀀스 ID가 MCS 서버(310)에 저장되어 있는 MCS 시퀀스 ID와 동일한지 비교한다.(S950단계)
MCS서버(310)는 상기 MCS 시퀀스 ID가 MCS 서버(310)에 저장되어 있는 MCS 시퀀스 ID와 동일하지 않으면 상기 MCS 시퀀스 ID를 저장하고(S960단계), 상기 MCS 패킷을 서버(360)가 수신할 수 있는 패킷으로 생성하여 서버(360)로 전송한다.(S970단계)
상기 MCS 시퀀스 ID가 상기 MCS 서버에 저장되어 있는 MCS 시퀀스 ID와 동일하면 MCS 서버(310)는 프록시(320, 330, 340)로부터 수신한 MCS 패킷을 서버(360)로 전송하지 않고 폐기한다.(S980단계)
MCS 클라이언트(300)는 복수의 프록시(320, 330, 340) 각각과 세션을 형성하여 접속정보를 저장하고, 상기 MCS 패킷을 프록시(320, 330, 340) 각각에게 전송할 수도 있다. 또한 MCS 클라이언트(300)는 복수의 프록시(320, 330, 340) 간의 패킷 전송 우선순위를 설정하여 상기 설정된 우선순위에 따라 패킷을 프록시(320, 330, 340)에게 전송할 수 있다. 여기서, 복수의 프록시(320, 330, 340) 간의 패킷 전송 우선순위는 상기 MCS 클라이언트(300)가 프록시(320, 330, 340) 각각에게 장비확인 패킷을 전송하여 응답을 받는 시간을 기준으로 설정될 수 있다.
그리고 MCS 서버(310)는 복수의 프록시(320, 330, 340) 각각으로부터 패킷을 수신하면 수신되는 순서에 기초하여 복수의 프록시(320, 330, 340) 간의 우선순위를 설정할 수 있다.
도 10은 본 발명에 따른 인터넷 프로토콜을 이용한 서비스를 위한 다중연결방법에 대한 다른 예를 흐름도로 나타낸 것이다.
도 4와 도 10을 참조하며, 본 발명에 따른 인터넷 프로토콜을 이용한 서비스를 위한 다중연결방법에 대한 다른 예를 설명하기로 한다.
MCS 서버(410)는 서버(460)로부터 패킷을 수신한다.(S1000단계)
MCS 서버(410)는 상기 수신한 패킷을 식별할 수 있는 MCS 시퀀스 ID를 상기 패킷에 부가하여 MCS 패킷을 생성한다.(S1010단계)
MCS 서버(410)는 상기 MCS 패킷을 네트워크를 통해 연결되어 있는 복수의 프록시(420, 430, 440) 각각에게 순차적으로 전송한다.(S1020단계)
상기 복수의 프록시(420, 430, 440) 각각이 MCS서버(410)로부터 수신한 상기 MCS 패킷을 네트워크를 통해 연결되어 있는 MCS 클라이언트(400)로 전송하면, MCS클라이언트(400)는 복수의 프록시(420, 430, 440) 각각으로부터 MCS 패킷을 수신한다.(S1030단계)
MCS클라이언트(400)는 MCS 패킷에 포함되어 있는 MCS 시퀀스 ID를 체크한다.(S1040단계)
MCS클라이언트(400)는 상기 MCS 시퀀스 ID가 MCS 클라이언트(400)에 저장되어 있는 MCS 시퀀스 ID와 동일한지 비교한다.(S1050단계)
상기 MCS 시퀀스 ID가 MCS 클라이언트(400)에 저장되어 있는 MCS 시퀀스 ID와 동일하지 않으면 MCS클라이언트(400)는 상기 MCS 시퀀스 ID를 저장하고(S1060단계), 상기 MCS 패킷을 클라이언트가 수신할 수 있는 패킷으로 생성하여 상기 클라이언트로 전송한다.(S1070단계)
한편, 상기 MCS 시퀀스 ID가 상기 MCS 서버에 저장되어 있는 MCS 시퀀스 ID와 동일하면, MCS 클라이언트(400)는 프록시(420, 430, 440) 각각으로부터 수신한 MCS 패킷을 클라이언트(460)로 전송하지 않고 폐기한다.(S1060단계)
MCS 서버(410)는 미리 설정되어 있는 복수의 프록시(420, 430, 440) 간의 전송우선순위에 따라 상기 MCS 시퀀스 ID가 부가된 패킷을 네트워크를 통해 연결되어 있는 복수의 프록시(420, 430, 440)에게 전송할 수도 있다. 여기서, 상기 복수의 프록시(420, 430, 440) 간의 전송 우선순위는 MCS 서버(410)가 복수의 프록시(420, 430, 440) 각각으로부터 패킷을 수신할 때 수신되는 순서에 기초하여 설정될 수 있다.
MCS 서버(410)는 복수의 프록시(420, 430, 440)와 세션을 형성하여 접속정보를 저장하고, 상기 MCS 패킷을 복수의 프록시(420, 430, 440) 각각에게 전송할 수도 있다.
한편, 본 발명을 보다 구체적으로 설명하기로 한다.
MCS에서 구현해야 할 요소는 MCS 시스템 구성 요소에 포함되는 것이다. 그리고 MCS는 네트워크 상에서 동작되는 시스템이기 때문에 그에 맞게 구현할 요소를 정할 필요가 있다. MCS는 TCP, SCTP, UDP 그리고 자체적으로 만든 프로토콜(Protocol)로 동작할 수 있다. 하지만 네트워크 상에서 각 프로토콜마다 통신하는 로직(Logic)이 다르기 때문에 네트워크 상에서 동작하는 MCS는 각 프로토콜의 특징에 따라 다르게 동작한다. 다만 TCP와 SCTP의 경우 구조가 비슷하기 때문에 TCP와 유사하게 동작한다. 그리고 자체적으로 만든 프로토콜은 UDP와 비슷하게 동작한다. 따라서 SCTP와 자체적으로 만든 프로토콜로 통신할 때에 대한 구현 요소에 대해서는 별도의 내용을 서술하지는 않기로 한다.
MCS 클라이언트가 TCP 및 SCTP 프로토콜을 이용하여 통신할 때 고려할 요소는 다음과 같다. MCS 클라이언트는 클라이언트, 프록시 또는 MCS 서버와 통신하기 위해 패킷을 송수신한다. 그러므로 MCS 클라이언트가 제대로 역할을 하기 위해서는 아래의 두 조건을 만족하는 것이 요구된다.
첫번째 조건은 클라이언트와 MCS 클라이언트가 네트워크 상에 연결되어 있어야 한다. 두번째 조건은 MCS 클라이언트가 프록시 또는 MCS 서버의 접속정보를 알고 있어야 한다.
도 7은 MCS 클라이언트(70)의 구성을 블록도로 나타낸 것이다. 순방향 패킷 수신부(700)는 클라이언트(705)의 패킷을 수신한다. MCS 클라이언트(70)는 하나 이상의 프록시로 패킷을 송신하기 위해 클라이언트(705)에게서 패킷을 수신하게 된다.
세션 관리부(710)를 설명한다. MCS 클라이언트(70)는 하나 이상의 프록시 또는 MCS 서버에 연결되어 있는 구조이므로 MCS 클라이언트는 효율적인 패킷 전송을 위해 자신이 패킷을 보내려고 하는 하나 이상의 프록시 또는 MCS 서버의 접속 정보를 얻어야 한다. 이때 세션 관리부(710)는 프록시의 접속 정보를 필요 접속 정보수와 예비 접속 정보수를 포함하여 확보하게 된다.
접속 정보를 얻게 되면 세션 관리부(710)는 패킷에 접속 IP 정보와 방법을 설정한다. 상기 설정은 DNS를 이용하거나 MCS 클라이언트 API를 이용하여 설정할 수 있다.
이때 MCS 구조상 하나 이상의 프록시가 존재할 가능성이 있으므로 패킷의 신속한 송신을 위해 가장 빠른 회선으로 전송해야 한다. 세션 관리부(710)는 우선순위 알고리즘을 이용하여 접속하고자 하는 프록시의 속도를 파악하고 가장 빠른 순서대로 패킷을 보낼 프록시의 순서를 설정할 수 있다. 우선순위를 이미 파악한 경우에는 세션 관리부(710)는 사전에 파악한 우선순위로 패킷의 우선순위를 설정할 수 있다.
또한 세션 관리부(710)는 확보한 프록시 접속 정보의 리스트 중 일부 프록시만 MCS 클라이언트와 연결 시킬 수 있다. 이렇게 미리 확보한 리스트는 프록시 또는 MCS 서버에 문제가 생겼을 경우 이를 실시간으로 탐지하고 확보한 프록시 리스트 중 예비 프록시 접속 정보를 활용해 예비 프록시로 이동하게 하는 작업에 활용될 수 있다.
이러한 기능으로 인해 프록시에 장애가 발생했을 경우 통신 장애에 대해 즉각적으로 대응할 수 있다.
다음으로 MCS 패킷 생성부(720)를 설명한다. MCS는 하나 이상의 Proxy 또는 MCS 서버(70)를 포함하고, 하나 이상의 Proxy 또는 MCS 서버(70)의 접속 정보 수 만큼 패킷을 보내므로 MCS 패킷 생성부(720)는 프록시 접속정보 수 만큼 MCS 패킷을 생성하는 것이 필요하다.
순방향 패킷 송신부(730)는 생성된 MCS 패킷을 MCS 클라이언트와 연결되어 있는 프록시로 보내는 작업을 수행한다.
역방향 패킷 수신부(740)는 프록시의 패킷을 수신한다. MCS 클라이언트(70)는 클라이언트에게 패킷을 송신하기 위해 하나 이상의 Proxy에게서 패킷을 수신한다.
MCS는 하나 이상의 프록시에서 동일한 패킷이 전송되기 때문에 이 패킷에 대한 처리 기능이 필요하다. 패킷 판단부( 750)는 MCS 헤더 내부의 특정 데이터를 이용해 중복 패킷에 대한 사용 판단 및 처리를 할 수 있다.
클라이언트(705)는 MCS 모듈에서 생성한 패킷을 그대로 사용할 수 없기 때문에 클라이언트(705)가 패킷을 받을 수 있도록 생성을 해주어야 한다. 이러한 기능을 위해 패킷 생성부(760)는 패킷 판단부(750)에서 판단이 끝난 MCS 패킷을 클라이언트(705)로 보내기 위한 패킷으로 생성한다.
역방향 패킷 송신부(770)는 MCS 클라이언트(70)에서 모든 작업이 끝난 패킷을 클라이언트(705)에게 송신하는 역할을 한다.
MCS 서버가 TCP 및 SCTP 프로토콜을 이용하여 통신할 때 고려할 요소는 다음과 같다. MCS 서버는 서버, 프록시 또는 MCS 클라이언트와 통신하기 위해 패킷을 송수신한다. 그러므로 MCS 서버가 제대로 역할을 하기 위해서는 다음 두 조건을 만족하는 것이 요구된다.
첫번째 조건은 서버와 MCS 서버가 네트워크 상에 연결되어 있어야 한다. 두번째 조건은 MCS 서버가 프록시 또는 MCS 클라이언트의 접속정보를 알고 있어야 한다.
도 8은 MCS 서버(80)의 구성을 블록도로 나타낸 것이다. 순방향 패킷 수신부(800)는 Proxy의 패킷을 수신한다. MCS 서버는 서버에게 패킷을 송신하기 위해 하나 이상의 Proxy에게서 패킷을 수신하게 된다.
MCS는 하나 이상의 Proxy에서 동일한 패킷이 오기 때문에 이 패킷에 대한 처리 기능이 필요하기 때문에, 패킷 판단부(810)는 MCS 헤더 내부의 특정 데이터를 이용해 중복 패킷에 대한 사용 판단 및 처리를 할 수 있다.
서버는 MCS 모듈에서 생성한 패킷을 그대로 사용할 수 없기 때문에 서버가 패킷을 받을 수 있도록 생성을 해주어야 한다. 이러한 기능을 위해 패킷 생성부(820)는 패킷 판단부(810)에서 판단이 끝난 MCS 패킷을 서버로 보내기 위한 패킷으로 생성한다.
순방향 패킷 송신부(830)는 MCS 서버에서 모든 작업을 끝낸 패킷을 서버로 송신한다.
역방향 패킷 수신부(850)는 서버의 패킷을 수신한다. MCS 서버는 하나 이상의 프록시로 패킷을 송신하기 위해 서버로부터 패킷을 수신한다.
세션 관리부(860)는 패킷의 목적지 등의 접속정보를 MCS 클라이언트 혹은 하나 이상의 Proxy로부터 수신한 패킷을 참고하여 설정하게 된다. 접속 정보를 얻게 되면 세션 관리부(860)는 패킷에 접속 IP 정보와 방법을 설정해주게 된다. 설정은 MCS 서버 API를 이용하여 설정할 수 있다.
그리고 MCS 서버의 세션 관리부(860)는 MCS 클라이언트 혹은 하나 이상의 Proxy로부터 수신되는 패킷의 도착 순서를 이용하여 우선 순위를 결정할 수 있으므로 해당 우선 순위를 이용하여 패킷의 우선 순위를 설정할 수 있다.
MCS는 하나 이상의 Proxy 또는 MCS 클라이언트가 존재하는 구성을 가지고 있고, 하나 이상의 Proxy 또는 MCS 클라이언트의 접속 정보 수 만큼 패킷을 보내는 구조로 이루어져 있으므로 MCS 패킷 생성부(870)는 접속 정보 수 만큼 MCS 패킷을 생성한다.
역방향 패킷 송신부(880)는 생성된 MCS 패킷을 MCS 서버와 연결되어 있는 Proxy로 보낸다.
MCS 클라이언트가 UDP 및 자체 프로토콜 이용하여 통신할 때 고려할 요소는 다음과 같다. MCS 클라이언트는 클라이언트, 프록시 또는 MCS 서버와 통신하기 위해 패킷을 송수신한다. 그러므로 MCS 클라이언트가 제대로 역할을 하기 위해서는 다음 두 조건을 만족하는 것이 요구된다. 그리고 MCS 클라이언트가 UDP 및 자체 제작 프로토콜로 동작할 때는 TCP로 동작할 때와 다르게 세션을 관리하는 세션관리부가 없어도 된다.
첫번째 조건은 클라이언트와 MCS 클라이언트가 네트워크 상에 연결되어 있어야 한다. 두번째 조건은 MCS 클라이언트가 프록시 또는 MCS 서버의 접속정보를 알고 있어야 한다.
도 5는 UDP 및 자체 프로토콜 이용하여 통신하는 MCS 클라이언트(50)의 일 예의 구성을 블록도로 나타낸 것이다.
순방향 패킷 수신부(500)는 클라이언트의 패킷을 수신한다. MCS 클라이언트는 하나 이상의 Proxy로 패킷을 송신하기 위해 클라이언트로부터 패킷을 수신한다.
MCS는 하나 이상의 Proxy 또는 MCS Server가 존재하는 구조이고 하나 이상의 Proxy 또는 MCS 서버의 접속 정보 수 만큼 패킷을 보내는 구조로 이루어져 있으므로 MCS 패킷 생성부(510)는 접속 정보 수 만큼 전송 패킷을 생성한다.
순방향 패킷 송신부(520)는 생성된 MCS 패킷을 MCS 클라이언트와 연결되어 있는 Proxy(515, 525, 535)로 보낸다.
역방향 패킷 수신부(540)는 Proxy의 패킷을 수신한다. MCS 클라이언트는 클라이언트에게 패킷을 송신하기 위해 하나 이상의 Proxy에게서 패킷을 수신하게 된다.
MCS는 하나 이상의 Proxy에서 동일한 패킷이 오기 때문에 이 패킷에 대한 처리 기능이 필요하다. 패킷 판단부(550)는 MCS 헤더 내부의 특정 데이터를 이용해 중복 패킷에 대한 사용 판단 및 처리를 할 수 있다.
Client는 MCS 모듈에서 생성한 패킷을 그대로 사용할 수 없기 때문에 클라이언트가 패킷을 받을 수 있도록 생성을 해주어야 한다. 이러한 기능을 위해 패킷 생성부(560)는 패킷 판단부(550)에서 판단이 끝난 MCS 패킷을 클라이언트로 보내기 위한 패킷으로 생성한다.
역방향 패킷 송신부(570)는 MCS 클라이언트에서 모든 작업이 끝난 패킷을 클라이언트로 송신한다.
MCS 서버가 UDP 및 자체 제작 프로토콜을 이용하여 통신할 때 고려할 요소는 다음과 같다. MCS 서버는 서버, 프록시 또는 MCS 클라이언트와 통신하기 위해 패킷을 송수신한다. 그러므로 MCS 서버가 제대로 역할을 하기 위해서는 다음 두 조건을 만족하는 것이 요구된다. 그리고 MCS 서버가 UDP 및 자체 제작 프로토콜로 동작할 때는 TCP로 동작할 때와 다르게 세션을 관리하는 세션관리부가 없어도 된다.
첫번째 조건은 서버와 MCS 서버가 네트워크 상에 연결되어 있어야 한다. 두번째 조건은 MCS 서버가 프록시 또는 MCS 클라이언트의 접속정보를 알고 있어야 한다.
도 6은 MCS 서버(60)의 구성을 블록도로 나타낸 것이다.
순방향 패킷 수신부(800)는 Proxy의 패킷을 수신한다. MCS 서버는 서버에게 패킷을 송신하기 위해 하나 이상의 Proxy에게서 패킷을 수신하게 된다.
MCS는 하나 이상의 프록시에서 동일한 패킷이 오기 때문에 이 패킷에 대한 처리 기능이 필요하다. 패킷 판단부(610)는 MCS 헤더 내부의 특정 데이터를 이용해 중복 패킷에 대한 사용 판단 및 처리를 할 수 있다.
서버는 MCS 모듈에서 생성한 패킷을 그대로 사용할 수 없기 때문에 서버가 패킷을 받을 수 있도록 생성을 해주어야 한다. 이러한 기능을 위해 패킷 생성부(620)는 패킷 판단부(610)에서 판단이 끝난 MCS 패킷을 서버로 보내기 위한 패킷으로 생성한다.
순방향 패킷 송신부(630)는 MCS 서버에서 모든 작업을 끝낸 패킷을 서버로 송신한다.
한편, MCS에서 TCP 및 STCP 프로토콜을 이용하여 클라이언트와 서버를 다중연결하는 방법을 보다 구체적으로 설명하기로 한다.
도 11은 MCS 기동 시 MCS 모듈과 접속하게 될 장비와 최초로 세션 접속을 시도하는 흐름을 나타낸 것이다. 여기서 장비 확인 패킷이란 MCS 모듈이 통신을 하기 위한 장비가 정상적으로 작동하는지에 대한 여부를 확인하기 위해 보내는 패킷을 말한다.
도 11을 참조하여 세션접속을 설명하기로 한다. 먼저, 프록시 접속정보 리스트가 있는지 체크한다.(S1100단계) 접속정보 리스트가 없으면 접속정보 리스트를 검색한다.(S1110단계) 그리고 나서 리스트에 해당하는 장비로 장비확인 패킷을 전송한다.(S1120단계) 장비확인 패킷을 수신했는지 확인한다.(S1130단계) 장비확인 패킷 수신 시간을 체크하고(S1140 단계), 시간체크 정보를 저장한다.(S1150단계) 세션 정보가 유지되어 있으면(S1160단계) 종료하고, 그렇지 않으면 S1100단계로 가서 프록시 접속정보 리스트가 있는지 체크한다.
도 12는 클라이언트가 보낸 패킷이 MCS 클라이언트를 경유하여 프록시까지 패킷이 도착하게 되는 순방향 패킷 전송 동작에 대한 흐름을 나타낸 것이다.
도 12를 참조하면, 클라이언트에서 프록시 까지의 순방향 패킷 전송 동작을 설명하기로 한다. 먼저, MCS 클라이언트가 클라이언트로부터 패킷을 수신한다.(S1200단계) 그리고 나서 프록시와의 세션 접속이 유지 중인지 체크한다.(S1210단계) MCS 클라이언트는 세션접속이 유지되어 있지 않으면 세션을 형성한다.(S1220단계) 그리고 나서 세션 개수만큼 MCS패킷을 생성한다.(S1230단계) 세션수신 순서대로 MCS 패킷을 송신한다.(S1240단계)
도 13은 프록시가 보낸 패킷이 MCS 서버를 경유해 서버까지 패킷이 도착하게 되는 순방향 패킷 전송 동작에 대한 순방향 흐름을 나타낸 것이다.
도 13을 참조하여, 프록시에서 서버까지의 순방향 패킷 전송 동작을 설명하기로 한다. 먼저, MCS 서버가 MCS 패킷을 수신한다.(S1300단계) MCS 패킷이 온 순서대로 우선순위 정보를 저장했는지 체크하여(S1310단계), 저장하지 않았으면 MCS 패킷이 수신되는 순서대로 우선순위 정보를 저장한다.(S1320단계)
그리고 나서 MCS 시퀀스 ID가 중복되는지 즉 MCS 패킷에 포함된 MCS 시퀀스 ID와 저장되어 있는 MCS 시퀀스 ID가 동일한지 비교한다.(S1330단계) 동일하면 수신한 MCS 패킷을 폐기한다.(S1340단계) 동일하지 않으면, 최종 수신지로 보내기 이한 패킷으로 생성하여(S1350단계), 생성된 패킷을 최종 목적지로 송신한다.(S1360단계)
도 14는 서버가 보낸 패킷이 MCS 서버를 경유하여 프록시까지 패킷이 도착하게 되는 역방향 패킷 전송 동작에 대한 흐름도를 나타낸 것이다.
도 14를 참조하여, 서버에서 프록시까지의 역방향 패킷 전송 동작을 설명하기로 한다. 먼저, MCS서버는 서버로부터 패킷을 수신한다.(S1400단계) 세션접속이 유지중인지 체크한다.(S1410단계) 세션 접속이 유지되어 있지 않으면 세션접속을 수행한다.(S1420단계) 그리고나서 세션 개수만큼 MCS 패킷을 생성한다.(S1430단계) 세션 우선순위 대로 MCS 패킷을 프록시로 송신한다.(S1440단계)
도 15는 Proxy가 보낸 패킷이 MCS Client를 경유해 Client까지 패킷이 도착하게 되는 역방향 패킷 전송 동작에 대한 흐름도를 나타낸 것이다.
도 15를 참조하여, 프록시에서 클라이언트까지의 역방향 패킷 전송 동작을 설명하기로 한다. 먼저, MCS 클라이언트는 프록시로부터 MCS 패킷을 수신한다. (S1500단계) 도착한 MCS 패킷 순서대로 우선순위 정보를 갱신한다.(S1510단계) 그리고 나서 MCS 시퀀스 ID가 중복되었는지 즉, MCS 패킷에 포함된 MCS 시퀀스 ID와 저장되어 있는 MCS 시퀀스 ID가 동일한지 비교한다. (S1520단계) 동일하면 MCS 패킷을 폐기한다.(S1530단계) 동일하지 않으면 최종 수신지로 보내기 위한 패킷으로 생성하고(S1540단계) 생성된 패킷을 송신한다.(S1550단계)
한편, MCS UDP 및 자체 생성 프로토콜을 이용한 다중연결 방법을 설명하기로 한다.
도 16은 클라이언트가 보낸 패킷이 MCS 클라이언트를 경유해 프록시까지 패킷이 도착하게 되는 순방향 패킷 전송 동작에 대한 흐름을 나타낸 것이다.
도 16을 참조하면, 먼저 MCS 클라이언트가 패킷을 수신한다.(S1600단계) 그리고 나서 설정된 프록시 개수만큼 MCS 패킷을 생성한다. (S1610단계) MCS 패킷을 프록시로 전송한다.(S1620단계)
도 17은 프록시가 보낸 패킷이 MCS 서버를 경유해 서버까지 패킷이 도착하게 되는 순방향 패킷 전송 동작에 대한 순방향 흐름을 나타낸 것이다.
도 17을 참조하여, 프록시에서 서버까지의 순방향 패킷 전송 동작을 설명하기로 한다. 먼저 MCS 서버가 프록시로부터 MCS 패킷을 수신한다.(S1700단계) MCS 패킷이 수신되는 순서대로 우선순위 정보를 저장했는지 체크하여(S1710단계), 저장하지 못했으면 MCS 패킷이 온 순서대로 우선순위 정보를 저장한다.(S1720단계)
그리고 MCS 시퀀스 ID가 중복되었는지 체크하여(S1730단계), 중복되면 MCS 패킷을 폐기하고(S1740단계), 중복되지 않았으면 최종 수신지로 보내기 위한 패킷으로 생성하여 생성된 패킷을 송신하다.(S1760단계)
도 18은 서버가 보낸 패킷이 MCS 서버를 경유해 프록시까지 패킷이 도착하게 되는 역방향 패킷 전송 동작에 대한 흐름도를 나타낸 것이다.
도 18을 참조하여, 서버에서 프록시 까지의 역방향 패킷 전송 동작을 설명하기로 한다. 먼저 MCS 서버가 서버로부터 패킷을 수신하여(S1800단계), 순방향에서 수신된 MCS 시퀀스 ID가 같은 패킷 수량만큼 MCS 패킷을 생성한다.(S1810단계) 그리고 나서 MCS 서버는 순방향에서 수신된 MCS 시퀀스 ID가 같은 순서대로 MCS 패킷을 프록시로 송신한다.(S1820단계)
도 19는 Proxy가 보낸 패킷이 MCS Client를 경유해 Client까지 패킷이 도착하게 되는 역방향 패킷 전송 동작에 대한 흐름도를 나타낸 것이다.
도 19를 참조하여 프록시에서 클라이언트까지의 역방향 패킷 전송 동작을 설명하기로 한다.
먼저, MCS 클라이언트는 프록시로부터 MCS 패킷을 수신한다.(S1900단계) MCS 클라이언트는 도착한 MCS 패킷 순서를 기초로 우선정보를 갱신한다.(S1910단계) MCS 시퀀스 ID가 중복되었는지 체크하여(S1920단계), 중복되었으면 MCS 패킷을 폐기하고(S1930단계), 중복되지 않았으면 최종 수신지로 보내기 위한 패킷을 생성한 후(S1940단계), 생성된 패킷을 클라이언트로 전송한다.(S1950단계)
한편, MCS 구현의 일 예를 설명한다. 도 20은 클라이언트 외부에 MCS 클라이언트가 있고 Server OS의 In Process에 MCS 서버가 있는 구조이며 MCS 클라이언트와 MCS 서버는 하나 이상의 프록시 및 프록시 상태 파악 장비와 연결되어 있는 구조이다.
도 20처럼 MCS 클라이언트는 장비의 외부에서 운용될 수 있는데 여기서 "외부에 있다"라는 개념은 클라이언트 장비 내부에 설치되어 있는 것이 아니라 장비 바깥에 설치되어서 회선을 이용해 통신을 해야 하는 위치에 설치되어 있다는 것을 말한다.
따라서 MCS 클라이언트는 클라이언트의 외부에 설치될 수 있다. 이때 MCS 클라이언트는 외부에 설치하는 물리적인 장비가 된다.
그리고 MCS 서버는 OS에서 In Process에서 운용 될 경우 라이브러리 개념으로 운용될 수 있다. 윈도우로 예를 들면 MCS Server가 In Process에서 구동이 될 경우 MCS Server는 dll 파일 형태로 구동이 되게 된다.
설치된 MCS Client및 MCS Server는 장비의 OS와 서로 정보를 주고 받으며 각각의 송, 수신부에서 온 패킷의 처리를 담당하게 된다.
MCS의 특징은 여러 개의 연결로 인해 얻게 되는 효과이다. MCS의 지속적인 서비스뿐만 아니라 보안과 편의성 측면에서 다루고 있다. MCS의 궁극적인 목적은 서비스 영속성을 유지하는데 있다. 네트워크 단절 또는 DDoS공격 상황에서 세션 유지 시스템은 공격에 대한 방어와 그에 대한 세션 유지가 반드시 이루어 져야 한다. 방어 목적으로만 이루어진 시스템은 네트워트 단절이나 장애가 발생했을 겼을 경우 구조상 대처하기 어려운 점이 있다. 하지만 MCS는 MCS 고유의 모듈을 이용하여 패킷을 제어하는 시스템으로 되어 있고 이러한 점을 이용하여 하나 이상의 회선에 동일한 패킷을 송신하도록 되어 있다.
중복 패킷 전송으로 MCS가 구축된 시스템에선 공격뿐만 아니라 물리적인 장애, 자연재해로 인한 장애 등의 회선장애가 발생해도 다른 회선으로 패킷을 보내면 될 뿐이므로 방어 및 세션 유지뿐만 아니라 서비스 자체의 영속성유지가 가능하다.
세션유지 시스템은 DDoS 공격 상황에서 복수의 Proxy 장비와 복수의 원천 서비스 서버를 연결하여 복수의 세션을 구성한다. 때문에 복수의 Proxy 장비와 복수의 원천 서비스 서버가 필요한 구조로 되어 있다. 하지만 MCS는 자체 모듈을 이용하여 다중 연결 시스템을 구현한다.
MCS는 고유의 모듈을 사용하여 패킷을 제어하는 시스템이기 때문에 Proxy 장비, 원천 서비스 서버가 복수로 존재하지 않아도 다중 연결 시스템 구현이 가능하다. 뿐만 아니라 MCS는 회선의 수를 늘리거나 줄여도 해당 회선에 맞게 패킷을 전송하므로 회선에 대한 의존도가 낮고 활용성이 높다.
세션 유지 시스템의 또하나의 단점은 그 시스템의 구조 상 Client와 Server를 직접 설정해줘야 하는 구조로 되어 있다. MCS는 자체 모듈을 따로 준비되어 있으며 이 모듈은 필요에 따라 장비, 프로그램, 툴, 라이브러리 등의 여러 형태가 될 수 있기 때문에 Client 및 Server는 MCS 모듈을 원하는 곳에 설치 또는 장착을 통해 다중 연결 시스템을 구현할 수 있도록 되어 있다. 따라서 MCS는 Client나 Server를 기능을 넣기 위한 프로그램 변형을 직접 할 필요가 없이 하나의 인프라로 접근할 수 있다는 장점을 가지고 있다.
상술한 실시예들에서, MCS의 목적은 서비스의 영속성을 유지하는 것이다. 디도스(DDoS) 공격 상황에서 세션 유지 시스템은 디도스(DDoS) 공격에 대한 방어와 그에 대한 세션 유지가 목적이다. 하지만 이런 특정 목적으로만 이루어진 시스템은 다른 장애가 생겼을 경우 그에 대처하기 어려운 점이 있다.
하지만 MCS는 MCS 고유의 모듈을 이용하여 패킷을 제어하는 시스템으로 되어 있고 이러한 점을 이용하여 하나 이상의 회선에 동일한 패킷을 송신하도록 되어 있다. 이러한 점이 있어 MCS가 구축된 시스템에선 공격뿐만 아니라 물리적인 장애, 자연재해로 인한 장애등의 회선장애가 발생해도 다른 회선으로 패킷을 보내면 될 뿐이므로 방어 및 세션 유지뿐만 아니라 서비스 자체의 영속성유지가 가능하다.
MCS는 모듈을 이용하여 다중 연결 시스템을 구현한다. MCS는 자체 모듈을 이용하여 다중 연결 시스템을 구현한다. 디도스(DDoS) 공격 상황에서 세션 유지 시스템은 복수의 프록시 서버와 복수의 오리진 서버를 연결하여 복수의 세션을 구성하기 때문에 복수의 프록시와 복수의 오리진 서버가 필요한 구조로 되어 있다.
하지만 MCS는 고유의 모듈을 사용하여 패킷을 제어하는 시스템이기 때문에 프록시 서버, 오리진 서버가 복수로 존재하지 않아도 다중 연결 시스템 구현이 가능하다. 뿐만 아니라 MCS는 회선의 수를 늘리거나 줄여도 해당 회선에 맞게 패킷을 전송하므로 회선에 대한 의존도가 낮다.
Server와 Client에게 MCS 사용의 편의성을 제공해준다. 디도스(DDoS) 공격 상황에서 세션 유지 시스템은 그 시스템의 구조 상 Client와 Server를 직접 설정해줘야 하는 구조로 되어 있다. 하지만 MCS는 자체 모듈을 따로 준비하였고 이 모듈은 필요에 따라 장비, 프로그램, 툴, 라이브러리등의 형태가 될 수 있기 때문에 Client 및 Server는 MCS 모듈을 원하는 곳에 설치만 하면 다중 연결 시스템을 구현할 수 있도록 되어 있다. 따라서 MCS는 Client나 Server를 기능을 넣기 위한 프로그램 변형을 직접 할 필요가 없이 하나의 인프라로 접근할 수 있다.
본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터(정보 처리 기능을 갖는 장치를 모두 포함한다)가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
지속적으로 발전하고 규모가 커지는 네트워크 시장에서 클라이언트 서버 모델의 서비스에서 무엇보다 중요한 요소인 서비스의 영속성을 제공하는 데 효과적으로 이용할 수 있다.

Claims (21)

  1. 클라이언트와 서버를 다중으로 연결하는 다중연결 시스템에 있어서,
    복수의 프록시;
    상기 클라이언트가 상기 서버로 전송하고자 하는 패킷을 수신하고, 상기 수신한 패킷을 식별할 수 있는 MCS 시퀀스 ID를 상기 패킷에 부가하여 상기 복수의 프록시와 접속되어 있거나 설정된 프록시 접속정보 수 만큼 MCS 패킷을 생성하고, 상기 MCS 패킷을 네트워크를 통해 연결되어 있는 상기 복수의 프록시 각각에게 순차적으로 전송하는 MCS 클라이언트; 및
    상기 복수의 프록시 각각으로부터 MCS 패킷을 수신하고, 상기 수신된 MCS 패킷에 포함되어 있는 MCS 시퀀스 ID를 추출하여 미리 저장되어 있는 MCS 시퀀스 ID와 비교하여 동일하지 않으면 상기 추출된 MCS 시퀀스 ID를 저장하고, 상기 MCS패킷을 서버가 수신할 수 있는 패킷으로 생성하여 상기 서버로 전송하고, 상기 추출된 MCS 시퀀스 ID가 미리 저장되어 있는 MCS 시퀀스 ID와 동일하면 상기 MCS 패킷을 상기 서버로 전송하지 않는 MCS 서버를 포함하는 인터넷 프로토콜을 사용하는 서비스를 위한 다중연결 시스템.
  2. 제1항에 있어서, 상기 MCS 클라이언트는
    이미 설정된 복수의 프록시 접속 정보를 사용하거나 복수의 프록시 접속 정보를 제공하는 서버 또는 DNS(Domain Name Server)에게 프록시 접속정보를 요청하는 쿼리를 전송하고, 상기 DNS로부터 프록시 접속정보를 수신하여 복수의 프록시 접속정보로 사용하는 것을 특징으로 하는 인터넷 프로토콜을 이용한 서비스를 위한 다중 연결 시스템.
  3. 제1항에 있어서, 상기 MCS 클라이언트는
    상기 복수의 프록시와 세션을 형성하여 접속정보를 저장하고, 상기 MCS 시퀀스 ID가 부가된 패킷을 상기 프록시에게 전송하는 것을 특징으로 하는 인터넷 프로토콜을 이용한 서비스를 위한 다중 연결 시스템.
  4. 제3항에 있어서, 상기 MCS 클라이언트는
    상기 복수의 프록시 간의 패킷 전송 우선순위를 설정하여 상기 설정된 우선순위에 따라 패킷을 상기 프록시에게 전송하고,
    상기 복수의 프록시 간의 패킷 전송 우선순위는 상기 MCS 클라이언트가 상기 프록시에게 장비확인 패킷을 전송하여 응답을 받는 시간을 기준으로 설정되는 것을 특징으로 하는 인터넷 프로토콜을 이용한 서비스를 위한 다중 연결 시스템.
  5. 제1항에 있어서, 상기 MCS 서버는
    상기 복수의 프록시 각각으로부터 MCS 패킷을 수신하면 수신되는 순서에 기초하여 상기 복수의 프록시 간의 우선순위를 설정하는 것을 특징으로 하는 인터넷 프로토콜을 이용한 서비스를 위한 다중 연결 시스템.
  6. 클라이언트와 서버를 다중으로 연결하는 다중연결 시스템에 있어서,
    복수의 프록시;
    상기 서버로부터 패킷을 수신하면, 상기 수신한 패킷을 식별할 수 있는 MCS 시퀀스 ID를 상기 패킷에 부가하여 상기 프록시와 접속되어 있거나 설정된 프록시 접속정보 수 만큼 MCS 패킷을 생성하고, 상기 MCS 패킷을 네트워크를 통해 연결되어 있는 상기 복수의 프록시 각각에게 순차적으로 전송하는 MCS 서버;
    상기 복수의 프록시 각각으로부터 패킷을 MCS 패킷을 수신하고, 상기 MCS 패킷에 포함되어 있는 MCS 시퀀스 ID를 추출하여 저장되어 있는 MCS 시퀀스 ID와 비교하여 동일하지 않으면 상기 추출된 MCS 시퀀스 ID를 저장하고 상기 MCS 패킷을 클라이언트가 수신할 수 있는 패킷으로 생성하여 클라이언트로 전송하고, 상기 추출된 MCS 시퀀스 ID가 미리 저장되어 있는 MCS 시퀀스 ID와 동일하면 상기 프록시로부터 수신한 MCS 패킷을 클라이언트로 전송하지 않는 MCS 클라이언트를 포함하는, 인터넷 프로토콜을 이용한 서비스를 위한 다중 연결 시스템.
  7. 제6항에 있어서, 상기 MCS 서버는
    미리 설정되어 있는 상기 복수의 프록시 간의 전송우선순위에 따라 상기 MCS 시퀀스 ID가 부가된 패킷을 네트워크를 통해 연결되어 있는 복수의 프록시에게 전송하고,
    상기 복수의 프록시 간의 전송 우선순위는
    상기 MCS 서버가 상기 복수의 프록시 각각으로부터 패킷을 수신할 때 수신되는 순서에 기초하여 상기 복수의 프록시 간의 설정되는 것을 특징으로 하는 인터넷 프로토콜을 이용한 서비스를 위한 다중 연결 시스템.
  8. 제6항에 있어서, 상기 MCS 서버는
    상기 복수의 프록시와 세션을 형성하여 접속정보를 저장하고, 상기 MCS 스퀀스 ID를 부가된 패킷을 상기 프록시로 전송하는 것을 특징으로 하는 인터넷 프로토콜을 이용한 서비스를 위한 다중 연결 시스템.
  9. 클라이언트가 서버로 전송하고자 하는 순방향 패킷을 수신하는 순방향 패킷수신부;
    상기 순방향 패킷을 식별할 수 있는 순방향 MCS 시퀀스 ID를 상기 순방향 패킷에 부가하여 순방향 MCS 패킷을 생성하는 MCS 패킷 생성부;
    상기 순방향 MCS 패킷을 상기 복수의 프록시 각각에게 순차적으로 전송하는 순방향 패킷 송신부;
    복수의 프록시 각각으로부터 역방향 MCS 패킷을 수신하는 역방향 수신부;
    상기 역방향 패킷에 포함되어 있는 역방향 MCS 시퀀스 ID를 추출하여 저장되어 있는 MCS 시퀀스 ID와 동일한지 체크하여 동일하면 상기 프록시로부터 수신한 패킷을 상기 클라이언트로 전송하지 않고, 동일하지 않으면 상기 추출된 MCS 시퀀스 ID를 저장하는 패킷 판단부;
    상기 체크결과 동일하지 않으면 상기 프록시로부터 수신한 MCS패킷을 클라이언트가 받을 수 있는 패킷으로 생성하는 패킷 생성부; 및
    상기 패킷 생성부에서 생성된 패킷을 클라이언트로 전송하는 역방향 패킷 송신부를 포함하는 MCS 클라이언트.
  10. 제9항에 있어서,
    이미 설정된 복수의 프록시 접속 정보를 사용하거나 복수의 프록시 접속 정보를 제공하는 서버 또는 DNS(Domain Name Server)에게 접속 정보를 요청하는 쿼리를 전송하고, DNS로부터 접속 를 수신하여 복수의 프록시 접속정보로 사용하는 연결 제어부를 더 포함하는 것을 특징으로 하는 MCS 클라이언트.
  11. 제9항에 있어서,
    상기 복수의 프록시 서버의 장애 발생을 탐지하는 장애 탐지부;
    장애발생이 탐지되면 사용가능한 프록시 서버 리스트를 검색하여 상기 복수의 프록시 서버 이외의 사용 가능한 프록시 서버를 선택하여 상기 장애가 발생된 프록시 서버를 상기 선택된 프록시 서버로 대체하는 장애복구부를 더 포함하는 것을 특징으로 하는 MCS 클라이언트.
  12. 제9항에 있어서,
    상기 복수의 프록시 서버의 장애 발생을 탐지하는 장애 탐지부;
    장애발생이 탐지되면 프록시 접속 정보를 제공하는 서버 또는 DNS(Domain Name Server)에게 프록시 접속 정보를 요청하는 쿼리를 전송하고, DNS로부터 프록시 접속 정보를 수신하면 상기 장애가 발생된 프록시 서버를 상기 프록시 접속 정보에 해당하는 프록시로 대체하는 장애복구부를 더 포함하는 것을 특징으로 하는 MCS 클라이언트.
  13. 서버가 클라이언트로 전송하고자 하는 역방향 패킷을 수신하는 역방향 패킷 수신부;
    상기 역방향 패킷을 식별할 수 있는 역방향 MCS 시퀀스 ID를 상기 역방향 패킷에 부가하여 접속된 프록시 수 만큼 역방향 MCS 패킷을 생성하는 MCS 패킷 생성부;
    상기 역방향 MCS 패킷을 상기 복수의 프록시 각각에게 순차적으로 전송하는 역방향 패킷 송신부;
    복수의 프록시 각각으로부터 순방향 MCS 패킷을 수신하는 순방향 패킷 수신부;
    상기 순방향 MCS 패킷에 포함되어 있는 순방향 MCS 시퀀스 ID를 추출하여 저장되어 있는 순방향 MCS 시퀀스 ID와 동일한지 체크하여 동일하면 상기 프록시로부터 수신한 패킷을 상기 서버로 전송하지 않고, 동일하지 않으면 상기 추출된 순방향 MCS 시퀀스 ID를 저장하는 패킷 판단부;
    상기 체크결과 동일하지 않으면 상기 프록시로부터 수신한 MCS패킷을 서버가 받을 수 있는 패킷으로 생성하는 패킷 생성부;
    상기 패킷 생성부에서 생성된 패킷을 서버로 전송하는 순방향 패킷 송신부를 포함하는 MCS 서버.
  14. 제13항에 있어서,
    상기 복수의 프록시 각각으로부터 패킷을 수신하면 수신되는 순서에 기초하여 상기 복수의 프록시 간의 전송 우선순위를 설정하는 프록시 우선순위 설정부를 더 구비하고,
    상기 역방향 패킷 전송부는
    상기 전송우선순위에 따라 상기 역방향 MCS 시퀀스 ID가 부가된 패킷을 네트워크를 통해 연결되어 있는 복수의 프록시에게 전송하는 것을 특징으로 하는 MCS 서버.
  15. MCS 클라이언트는 클라이언트로부터 패킷을 수신하면, 상기 수신한 패킷을 식별할 수 있는 MCS 시퀀스 ID를 상기 패킷에 부가하여 MCS 패킷을 생성하는 단계;
    MCS 클라이언트는 상기 MCS 패킷을 네트워크를 통해 연결되어 있는 복수의 프록시 각각에게 순차적으로 전송하는 단계;
    상기 복수의 프록시 각각은 상기 MCS클라이언트로부터 수신한 MCS 패킷을 네트워크를 통해 연결되어 있는 MCS 서버로 전송하는 단계;
    상기 MCS서버는 상기 복수의 프록시 각각으로부터 MCS 패킷을 수신하면 패킷에 포함되어 있는 MCS 시퀀스 ID를 체크하는 단계;
    상기 MCS 시퀀스 ID가 상기 MCS 서버에 저장되어 있는 MCS 시퀀스 ID와 동일하지 않으면 상기 MCS 서버는 상기 MCS 시퀀스 ID를 저장하고 상기 MCS 패킷을 서버가 수신할 수 있는 패킷으로 생성하여 서버로 전송하는 단계: 및
    상기 MCS 시퀀스 ID가 상기 MCS 서버에 저장되어 있는 MCS 시퀀스 ID와 동일하면 상기 MCS 서버는 상기 프록시로부터 수신한 MCS 패킷을 상기 서버로 전송하지 않는 단계를 포함하는 것을 특징으로 하는 인터넷 프로토콜을 이용한 서비스를 위한 다중 연결 방법.
  16. 제15항에 있어서,
    상기 MCS 클라이언트는 상기 복수의 프록시와 세션을 형성하여 접속정보를 저장하고, 상기 MCS 패킷을 상기 프록시에게 전송하는 것을 특징으로 하는 인터넷 프로토콜을 이용한 서비스를 위한 다중 연결 방법.
  17. 제16항에 있어서,
    상기 MCS 클라이언트는 상기 복수의 프록시 간의 패킷 전송 우선순위를 설정하여 상기 설정된 우선순위에 따라 패킷을 상기 프록시에게 전송하고,
    상기 복수의 프록시 간의 패킷 전송 우선순위는 상기 MCS 클라이언트가 상기 프록시에게 장비확인 패킷을 전송하여 응답을 받는 시간을 기준으로 설정되는 것을 특징으로 하는 인터넷 프로토콜을 이용한 서비스를 위한 다중 연결 방법.
  18. 제15항에 있어서,
    상기 MCS 서버는 상기 복수의 프록시 각각으로부터 패킷을 수신하면 수신되는 순서에 기초하여 상기 복수의 프록시 간의 우선순위를 설정하는 것을 특징으로 하는 인터넷 프로토콜을 이용한 서비스를 위한 다중 연결 방법
  19. MCS 서버는 서버로부터 패킷을 수신하면, 상기 수신한 패킷을 식별할 수 있는 MCS 시퀀스 ID를 상기 패킷에 부가하여 MCS 패킷을 생성하는 단계;
    MCS 서버는 상기 MCS 패킷을 네트워크를 통해 연결되어 있는 복수의 프록시 각각에게 순차적으로 전송하는 단계;
    상기 복수의 프록시 각각은 상기 MCS서버로부터 수신한 상기 MCS 패킷을 네트워크를 통해 연결되어 있는 MCS 클라이언트로 전송하는 단계;
    상기 MCS클라이언트는 상기 복수의 프록시 각각으로부터 MCS 패킷을 수신하면 MCS 패킷에 포함되어 있는 MCS 시퀀스 ID를 체크하는 단계;
    상기 MCS 시퀀스 ID가 상기 MCS 클라이언트에 저장되어 있는 MCS 시퀀스 ID와 동일하지 않으면 상기 MCS 클라이언트는 상기 MCS 시퀀스 ID를 저장하고 상기 MCS 패킷을 클라이언트가 수신할 수 있는 패킷으로 생성하여 상기 클라이언트로 전송하는 단계: 및
    상기 MCS 시퀀스 ID가 상기 MCS 서버에 저장되어 있는 MCS 시퀀스 ID와 동일하면 상기 MCS 클라이언트는 상기 프록시로부터 수신한 MCS 패킷을 상기 클라이언트로 전송하지 않는 단계를 포함하는 것을 특징으로 하는 인터넷 프로토콜을 이용한 서비스를 위한 다중 연결 방법.
  20. 제19항에 있어서,
    상기 MCS 서버는 미리 설정되어 있는 상기 복수의 프록시 간의 전송우선순위에 따라 상기 MCS 시퀀스 ID가 부가된 패킷을 네트워크를 통해 연결되어 있는 복수의 프록시에게 전송하고,
    상기 복수의 프록시 간의 전송 우선순위는
    상기 MCS 서버가 상기 복수의 프록시 각각으로부터 패킷을 수신할 때 수신되는 순서에 기초하여 상기 복수의 프록시 간의 설정되는 것을 특징으로 하는 인터넷 프로토콜을 이용한 서비스를 위한 다중 연결 방법.
  21. 제19항에 있어서,
    상기 MCS 서버는 상기 복수의 프록시와 세션을 형성하여 접속정보를 저장하고, 상기 MCS 패킷을 상기 프록시에게 전송하는 것을 특징으로 하는 인터넷 프로토콜을 이용한 서비스를 위한 다중 연결 방법.
PCT/KR2014/005771 2013-06-27 2014-06-27 인터넷 프로토콜을 이용한 서비스를 위한 다중 연결 시스템 및 방법 WO2014209075A1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP14817169.7A EP3016332B1 (en) 2013-06-27 2014-06-27 Multi-connection system and method for service using internet protocol
JP2016523655A JP6105163B2 (ja) 2013-06-27 2014-06-27 インターネットプロトコルを利用したサービスのための多重連結システム及びその方法
CN201480036291.8A CN105379208B (zh) 2013-06-27 2014-06-27 用于互联网协议的多连接系统和方法
US14/392,329 US9762546B2 (en) 2013-06-27 2014-06-27 Multi-connection system and method for service using internet protocol

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20130074919 2013-06-27
KR10-2013-0074919 2013-06-27
KR10-2014-0080166 2014-06-27
KR1020140080166A KR101617393B1 (ko) 2013-06-27 2014-06-27 인터넷 프로토콜을 이용한 서비스를 위한 다중 연결 시스템 및 방법

Publications (1)

Publication Number Publication Date
WO2014209075A1 true WO2014209075A1 (ko) 2014-12-31

Family

ID=52475335

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2014/005771 WO2014209075A1 (ko) 2013-06-27 2014-06-27 인터넷 프로토콜을 이용한 서비스를 위한 다중 연결 시스템 및 방법

Country Status (6)

Country Link
US (1) US9762546B2 (ko)
EP (1) EP3016332B1 (ko)
JP (1) JP6105163B2 (ko)
KR (1) KR101617393B1 (ko)
CN (1) CN105379208B (ko)
WO (1) WO2014209075A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105897817A (zh) * 2015-09-17 2016-08-24 乐视云计算有限公司 服务器之间的通信方法、服务器及通信系统

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8560604B2 (en) 2009-10-08 2013-10-15 Hola Networks Ltd. System and method for providing faster and more efficient data communication
US9241044B2 (en) 2013-08-28 2016-01-19 Hola Networks, Ltd. System and method for improving internet communication by using intermediate nodes
US11057446B2 (en) 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
JP6743534B2 (ja) * 2016-07-11 2020-08-19 富士通株式会社 情報処理装置、情報処理システム、プログラム及び情報処理方法
CN107370624A (zh) * 2017-07-20 2017-11-21 北京奇艺世纪科技有限公司 一种地址切换方法、装置、域名系统及电子设备
EP4311204A3 (en) 2017-08-28 2024-04-10 Bright Data Ltd. Method for improving content fetching by selecting tunnel devices
CN109982391B (zh) 2017-12-28 2023-04-11 华为技术有限公司 数据的处理方法及装置
CN109474710B (zh) * 2018-10-30 2022-05-10 北京网众共创科技有限公司 获取信息的方法及装置
KR20200052673A (ko) 2018-11-07 2020-05-15 삼성전자주식회사 무선 네트워크에서 근접한 장치들 간 통신 방법 및 장치
LT3780547T (lt) 2019-02-25 2023-03-10 Bright Data Ltd. Turinio parsisiuntimo, naudojant url bandymų mechanizmą, sistema ir būdas
EP4030318A1 (en) 2019-04-02 2022-07-20 Bright Data Ltd. System and method for managing non-direct url fetching service
US11140073B2 (en) * 2019-12-05 2021-10-05 Citrix Systems, Inc. System and method for canary deployment using DNS SRV records
CN111200830B (zh) * 2020-01-02 2022-04-26 腾讯科技(深圳)有限公司 数据传输方法及装置、电子设备
CN113497783B (zh) * 2020-03-19 2024-01-16 北京沃东天骏信息技术有限公司 处理数据的方法和装置
KR102383998B1 (ko) 2021-04-05 2022-04-08 주식회사 틸코블렛 Ip주소를 관리하는 프록시 서버가 포함된 정보수집 대행 시스템

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040243703A1 (en) * 2003-04-14 2004-12-02 Nbt Technology, Inc. Cooperative proxy auto-discovery and connection interception
WO2008091899A1 (en) * 2007-01-22 2008-07-31 Intel Corporation Proxy igmp client and method for providing multicast broadcast services in a broadband wireless access network
KR20100014199A (ko) * 2008-08-01 2010-02-10 포스데이타 주식회사 무선 네트워크 상에서의 mcbcs 지원 시스템 및 방법
KR20110093677A (ko) * 2010-02-10 2011-08-18 주식회사 유섹 분산 서비스 거부 공격에 대한 공격 트래픽 방어 시스템 및 그 방법
KR20120072908A (ko) * 2010-12-24 2012-07-04 주식회사 케이티 복수 개의 프락시 서버를 포함하는 분산 저장 시스템 및 그 오브젝트 관리 방법 및 컴퓨터에 의하여 독출가능한 저장 매체

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5311593A (en) * 1992-05-13 1994-05-10 Chipcom Corporation Security system for a network concentrator
US6182139B1 (en) * 1996-08-05 2001-01-30 Resonate Inc. Client-side resource-based load-balancing with delayed-resource-binding using TCP state migration to WWW server farm
US6738814B1 (en) * 1998-03-18 2004-05-18 Cisco Technology, Inc. Method for blocking denial of service and address spoofing attacks on a private network
US7016973B1 (en) * 1999-11-19 2006-03-21 At&T Corp. Apparatus and methods for providing translucent proxies in a communications network
US7058974B1 (en) * 2000-06-21 2006-06-06 Netrake Corporation Method and apparatus for preventing denial of service attacks
DE10031177B4 (de) * 2000-06-27 2005-11-03 Siemens Ag Verfahren und Anordnung zur gesicherten paketorientierten Informationsübermittlung
JP2002217949A (ja) * 2001-01-15 2002-08-02 Mitsubishi Heavy Ind Ltd 遠隔監視ネットワーク管理システム
JP3785343B2 (ja) 2001-10-02 2006-06-14 日本電信電話株式会社 クライアントサーバシステム及びクライアントサーバシステムにおけるデータ通信方法
US7316029B1 (en) * 2001-10-25 2008-01-01 Sprint Communications Company L.P. Network security services architecture
US7174566B2 (en) * 2002-02-01 2007-02-06 Intel Corporation Integrated network intrusion detection
WO2003084137A2 (en) * 2002-03-29 2003-10-09 Network Genomics, Inc. Methods for identifying network traffic flows
US7203963B1 (en) * 2002-06-13 2007-04-10 Mcafee, Inc. Method and apparatus for adaptively classifying network traffic
JP3794491B2 (ja) * 2002-08-20 2006-07-05 日本電気株式会社 攻撃防御システムおよび攻撃防御方法
US7305546B1 (en) * 2002-08-29 2007-12-04 Sprint Communications Company L.P. Splicing of TCP/UDP sessions in a firewalled network environment
JP4079359B2 (ja) * 2002-12-18 2008-04-23 財団法人電力中央研究所 複数ルートを用いた高信頼化伝送方法およびシステムおよび高信頼化伝送用ルータ
US8127356B2 (en) * 2003-08-27 2012-02-28 International Business Machines Corporation System, method and program product for detecting unknown computer attacks
US7886348B2 (en) * 2003-10-03 2011-02-08 Verizon Services Corp. Security management system for monitoring firewall operation
US7843906B1 (en) * 2004-02-13 2010-11-30 Habanero Holdings, Inc. Storage gateway initiator for fabric-backplane enterprise servers
JP4407369B2 (ja) * 2004-04-30 2010-02-03 沖電気工業株式会社 無線ネットワークシステム、無線ネットワークシステムのパケットロス軽減方法、及び、無線通信装置
US7725708B2 (en) * 2004-10-07 2010-05-25 Genband Inc. Methods and systems for automatic denial of service protection in an IP device
KR100612452B1 (ko) * 2004-11-08 2006-08-16 삼성전자주식회사 악성 코드 탐지 장치 및 그 방법
US8458467B2 (en) * 2005-06-21 2013-06-04 Cisco Technology, Inc. Method and apparatus for adaptive application message payload content transformation in a network infrastructure element
CN101019405B (zh) * 2005-01-28 2011-09-28 美国博通公司 用于在通信网络中缓解拒绝服务的方法和系统
US20070097976A1 (en) * 2005-05-20 2007-05-03 Wood George D Suspect traffic redirection
US7649886B2 (en) * 2005-11-21 2010-01-19 Motorola, Inc. Method and system for processing incoming packets in a communication network
US7934258B2 (en) * 2006-08-17 2011-04-26 Informod Control Inc. System and method for remote authentication security management
JP2008066903A (ja) * 2006-09-06 2008-03-21 Nec Corp 不正侵入検知システム及びその方法並びにそれを用いた通信装置
CA2663317A1 (en) 2006-09-13 2008-03-20 Asankya Networks, Inc. Systems and methods of improving performance of transport protocols in a multi-path environment
KR100886925B1 (ko) 2006-12-06 2009-03-09 (주)액텔라 다중 터널을 지원하는 왠 가속 최적화 장치 및 그 방법
US8156557B2 (en) * 2007-01-04 2012-04-10 Cisco Technology, Inc. Protection against reflection distributed denial of service attacks
US8225085B2 (en) * 2007-06-05 2012-07-17 Blue Coat Systems, Inc. System and method for distributed SSL processing between co-operating nodes
US8667582B2 (en) * 2007-12-10 2014-03-04 Mcafee, Inc. System, method, and computer program product for directing predetermined network traffic to a honeypot
JP4591789B2 (ja) 2007-12-13 2010-12-01 Necエンジニアリング株式会社 パケット転送方法およびパケット転送装置
US20090249471A1 (en) * 2008-03-27 2009-10-01 Moshe Litvin Reversible firewall policies
US8073945B2 (en) * 2008-04-25 2011-12-06 At&T Intellectual Property I, L.P. Method and apparatus for providing a measurement of performance for a network
US8429287B2 (en) * 2009-04-29 2013-04-23 Rangecast Technologies, Llc Network audio distribution system and method
US8732296B1 (en) * 2009-05-06 2014-05-20 Mcafee, Inc. System, method, and computer program product for redirecting IRC traffic identified utilizing a port-independent algorithm and controlling IRC based malware
JP5235800B2 (ja) 2009-06-24 2013-07-10 日本電信電話株式会社 Ipストリーム送受信システム、ipストリーム送受信方法、ipストリーム送受信プログラムおよびそのプログラムを記録した記録媒体
CN101662700A (zh) * 2009-08-28 2010-03-03 中兴通讯股份有限公司 一种信令消息传递方法及系统
US8488466B2 (en) * 2009-12-16 2013-07-16 Vss Monitoring, Inc. Systems, methods, and apparatus for detecting a pattern within a data packet and detecting data packets related to a data packet including a detected pattern
US8566465B2 (en) 2010-09-17 2013-10-22 At&T Intellectual Property I, L.P. System and method to detect and mitigate distributed denial of service attacks using random internet protocol hopping
CN102457537B (zh) * 2010-10-19 2015-11-25 阿里巴巴集团控股有限公司 一种传输控制协议的通信方法及服务器
KR101585700B1 (ko) * 2010-12-14 2016-01-14 한국전자통신연구원 서비스 거부 공격 차단 방법
MY171266A (en) * 2012-05-31 2019-10-07 Netsweeper Barbados Inc Policy service logging using graph structures
US9787589B2 (en) * 2012-06-08 2017-10-10 Apple Inc. Filtering of unsolicited incoming packets to electronic devices
US9787570B2 (en) * 2012-10-17 2017-10-10 Verizon Patent And Licensing Inc. Dynamic feature peer network for application flows
US9001671B2 (en) * 2012-10-17 2015-04-07 Verizon Patent And Licensing Inc. Feature peer network representations and scalable feature peer network management
US9160797B2 (en) * 2012-10-17 2015-10-13 Verizon Patent And Licensing Inc. Network devices with feature peer network logic
US9380111B2 (en) * 2012-10-17 2016-06-28 Verizon Patent And Licensing Inc. Feature peer network with scalable state information
US8844019B2 (en) * 2012-11-21 2014-09-23 Check Point Software Technologies Ltd. Penalty box for mitigation of denial-of-service attacks
US9407602B2 (en) * 2013-11-07 2016-08-02 Attivo Networks, Inc. Methods and apparatus for redirecting attacks on a network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040243703A1 (en) * 2003-04-14 2004-12-02 Nbt Technology, Inc. Cooperative proxy auto-discovery and connection interception
WO2008091899A1 (en) * 2007-01-22 2008-07-31 Intel Corporation Proxy igmp client and method for providing multicast broadcast services in a broadband wireless access network
KR20100014199A (ko) * 2008-08-01 2010-02-10 포스데이타 주식회사 무선 네트워크 상에서의 mcbcs 지원 시스템 및 방법
KR20110093677A (ko) * 2010-02-10 2011-08-18 주식회사 유섹 분산 서비스 거부 공격에 대한 공격 트래픽 방어 시스템 및 그 방법
KR20120072908A (ko) * 2010-12-24 2012-07-04 주식회사 케이티 복수 개의 프락시 서버를 포함하는 분산 저장 시스템 및 그 오브젝트 관리 방법 및 컴퓨터에 의하여 독출가능한 저장 매체

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3016332A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105897817A (zh) * 2015-09-17 2016-08-24 乐视云计算有限公司 服务器之间的通信方法、服务器及通信系统

Also Published As

Publication number Publication date
KR101617393B1 (ko) 2016-05-18
JP2016523497A (ja) 2016-08-08
EP3016332B1 (en) 2018-02-28
EP3016332A1 (en) 2016-05-04
US20160173452A1 (en) 2016-06-16
US9762546B2 (en) 2017-09-12
KR20150001689A (ko) 2015-01-06
EP3016332A4 (en) 2017-03-08
JP6105163B2 (ja) 2017-03-29
CN105379208A (zh) 2016-03-02
CN105379208B (zh) 2018-10-12

Similar Documents

Publication Publication Date Title
WO2014209075A1 (ko) 인터넷 프로토콜을 이용한 서비스를 위한 다중 연결 시스템 및 방법
WO2014010992A1 (ko) 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 및 실시간 스트리밍 컨텐츠 제공을 위한 컨텐츠 요청자 및 컨텐츠 제공자의 통신 방법
WO2018076868A1 (zh) 一种数据同步方法、装置、系统、存储介质和服务器
WO2023033586A1 (ko) Tcp 세션 제어에 기초하여 애플리케이션의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
WO2023033585A1 (ko) 분산 게이트웨이 환경에 최적화된 터널링 및 게이트웨이 접속 시스템 및 그에 관한 방법
WO2016023148A1 (zh) 报文的控制方法、交换机及控制器
WO2015157942A1 (zh) 接入无线网络的装置及方法
WO2012081903A1 (ko) 서비스 거부 공격 차단 방법
WO2014168335A1 (ko) 콘텐츠 전송 네트워크에서의 거리 계산 방법 및 장치
WO2023085793A1 (ko) 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
WO2015194885A1 (ko) 클라이언트 경로 제어 시스템을 활용한 장애유발 클라이언트 검출 방법 및 시스템
WO2016163634A1 (ko) 보안 터널링 및 데이터 재전송을 수행하는 물리적 단방향 통신의 보안 게이트웨이의 송신/수신 장치 및 그것을 이용하는 데이터 전송 방법
WO2018101565A1 (ko) 네트워크 가상화 환경에서 보안 관리를 위한 구조
WO2023033588A1 (ko) 가상화 단말에서 데이터 플로우를 제어하기 위한 시스템 및 그에 관한 방법
WO2023090755A1 (ko) 가상화 인스턴스의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
WO2014200266A1 (ko) 캡슐화 프로토콜을 이용하여 클라이언트의 ip 주소를 서버로 전송하는 중계 시스템 및 방법
WO2017131285A1 (ko) 컨테이너 네트워크 관리 시스템 및 컨테이너 네트워킹 방법
WO2015199340A1 (ko) 다중 경로 통신을 위한 네트워크 장치 및 단말, 이들의 동작 방법, 그리고 동작 방법을 구현한 프로그램
WO2023211124A1 (ko) 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
WO2023177238A1 (ko) 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
WO2023136658A1 (ko) 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
WO2022231304A1 (ko) 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
WO2023163514A1 (ko) 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
WO2016209053A1 (en) Communication method in terminal and terminal suitable for the same
WO2015016655A1 (en) Method and apparatus for establishing communication between terminals

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: 14817169

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016523655

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14392329

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2014817169

Country of ref document: EP