WO2018222000A1 - Mptcp proxy system, and manufacturing method and operating method therefor - Google Patents

Mptcp proxy system, and manufacturing method and operating method therefor Download PDF

Info

Publication number
WO2018222000A1
WO2018222000A1 PCT/KR2018/006285 KR2018006285W WO2018222000A1 WO 2018222000 A1 WO2018222000 A1 WO 2018222000A1 KR 2018006285 W KR2018006285 W KR 2018006285W WO 2018222000 A1 WO2018222000 A1 WO 2018222000A1
Authority
WO
WIPO (PCT)
Prior art keywords
mptcp
packet
interworking interface
interface processor
dpfp
Prior art date
Application number
PCT/KR2018/006285
Other languages
French (fr)
Korean (ko)
Inventor
임성현
Original Assignee
주식회사 애니랙티브
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020170079743A external-priority patent/KR102351395B1/en
Application filed by 주식회사 애니랙티브 filed Critical 주식회사 애니랙티브
Publication of WO2018222000A1 publication Critical patent/WO2018222000A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications

Definitions

  • the present invention relates to an MPTCP proxy system, a method for manufacturing the same, and an operation method thereof, and more particularly, to a multicore CPU high performance packet board based MPTCP proxy system for data service on a multiple network interface in a mobile environment.
  • the present invention relates to a method of manufacturing and operating such an MPTCP proxy system.
  • a single path TCP communication method is used between a terminal device 2 having a TCP / IP stack 1 and a service server device 4 having a TCP / IP stack 3. . Accordingly, when the terminal device 2 moves from the cellular network to the WiFi network, after the coverage of the cellular network is removed, an IP address is allocated from the WiFi network and the TCP connection is reset. At this time, the user may experience that the service in use is momentarily interrupted due to the additional delay.
  • the terminal device 2 may be a mobile device such as a smartphone, and the service server device 4 may be a legacy TCP server.
  • a plurality of communication interfaces that the terminal device 10 or the service server device 20 has as shown in FIG. TCP / IP stack (12, 13; 22, 23) can be used simultaneously.
  • the terminal device 10 and the service server device 20 informs whether or not the MPTCP (Multi-Path TCP) is used, and multiple subflows using multiple IP addresses for one connection ( subflow).
  • the terminal device 10 may be a mobile device such as a smartphone, and the service server device 20 may be a server having a multipath transmission protocol.
  • a high cost MPTCP system construction cost is generated. That is, the configuration of Figure 2 has to replace all the configuration of the existing server and upgrade the OS, a high cost occurs.
  • the present invention has been proposed to solve the above-described problems, a high performance low-cost MPTCP proxy system capable of supporting data offloading and endless handover between heterogeneous networks for distributing the load of a communication network, a manufacturing method and operation thereof
  • the purpose is to provide a method.
  • the DPFP interworking interface processing unit for receiving the packet entered into the MP board in a DPFP communication method, and outputs the received packet;
  • An MPTCP protocol interworking interface processor that reads header information of the packet output from the DPFP interworking interface processor to determine whether there is an MPTCP option, and transmits the packet to an MPTCP protocol layer and an application program interworking interface processor when the MPTCP option is present;
  • an MPTCP protocol layer and an application program interworking interface processor for processing a packet from the MPTCP protocol interworking interface processor to generate an MPTCP subflow.
  • the MPTCP protocol interworking interface processor may transmit the packet to the legacy TCP server if the MPTCP option is not present.
  • the MP board has its own CPU and can directly process input / output.
  • the manufacturing method of the MPTCP proxy system importing the MP library to the existing TCP / IP stack to create a modified TCP / IP stack; And installing an MPTCP stack and connecting to the MP board through a DPFP interface in the modified TCP / IP stack.
  • the modified TCP / IP stack may include: a DPFP interworking interface processor configured to receive a packet introduced into the MP board through a DPFP communication method and output a received packet; And an MPTCP protocol interworking interface processor for reading the header information of the packet output from the DPFP interworking interface processor to determine whether there is an MPTCP option, and transmitting the packet to the MPTCP stack when the MPTCP option is present. .
  • the operating method of the MPTCP proxy system the DPFP interworking interface processing unit, the step of transmitting a packet entered into the MP board to the internal message queue; Extracting, by the DPFP interworking interface processor, the packet in the message queue and outputting the packet; Determining, by an MPTCP protocol interworking interface processor, header information of the packet; Transmitting, by the MPTCP protocol interworking interface processor, the packet to the MPTCP protocol layer and an application program interworking interface processor when the header information of the packet is an MPTCP option; And generating, by the MPTCP protocol layer and the application program interworking interface processor, the MPTCP subflow by processing the packet.
  • the present invention uses multiple communication paths, it is possible to support data offloading and continuous handover between heterogeneous networks to distribute the load of the communication network. In other words, it can support data offloading and continuous handover between heterogeneous networks to distribute the load of the communication network, and can improve the throughput of data network traffic by using multiple communication paths, and it is possible to use a high-performance packet board (hardware) based It can support simultaneous multiple access session of.
  • Network traffic performance improves as the number of connections increases under server hardware conditions with PCI slots that allow CPU-based packet PCI boards to be expanded.
  • 1 is a diagram schematically illustrating a conventional single path TCP communication scheme.
  • FIG. 2 is a diagram schematically illustrating a conventional multi-path TCP (Multi-Path TCP) communication scheme.
  • Multi-Path TCP Multi-Path TCP
  • 3 is a network configuration to which the MPTCP proxy system according to an embodiment of the present invention is applied.
  • FIG. 4 is a view of the MPTCP proxy system shown in FIG. 3 as viewed from a network communication point of view.
  • FIG. 5 is a diagram illustrating an internal configuration of the MPTCP proxy system shown in FIG. 3.
  • FIG. 6 is a diagram illustrating an MPTCP option format.
  • FIG. 7 is a flowchart for describing an operation of the DPFP interworking interface processor shown in FIG. 5.
  • FIG. 8 is a flowchart for describing an operation of the MPTCP protocol interworking interface processor shown in FIG. 5.
  • FIG. 9 is a flowchart illustrating an MPTCP subflow session processing in the MPTCP protocol layer and an application program interworking interface processor shown in FIG. 5.
  • FIG. 10 is a flowchart illustrating a method of manufacturing an MPTCP proxy system and an operation method thereof according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating a network configuration to which an MPTCP proxy system is applied according to an embodiment of the present invention, and illustrates a concept of a network configuration to which an MPTCP proxy system 30 based on a multicore CPU high performance packet board (hereinafter referred to as an MP board) is applied. It is a figure for following.
  • MP board multicore CPU high performance packet board
  • the MPTCP proxy system 30 is TCP-connected to the service server device 4 and is connected to the terminal device 10 via a network 40 (including LTE network and WiFi network) such as the Internet for simultaneous use of multiple wireless networks.
  • a network 40 including LTE network and WiFi network
  • the terminal device 10 is a terminal device capable of MPTCP, which is the same as the terminal device of FIG. 2, and the service server device 4 may be regarded as a legacy TCP server.
  • the MPTCP proxy system 30 may support data offloading and continuous handover between heterogeneous networks to distribute the load of the communication network.
  • the MPTCP proxy system 30 may process all sessions and traffic between the terminal device 10 and the legacy TCP server 4.
  • an apparatus for performing a high performance low cost MPTCP proxy can be provided.
  • FIG. 4 is a view of the MPTCP proxy system 30 shown in FIG. 3 from a network communication point of view.
  • the MPTCP proxy system 30 is a TCP / IP stack for communication with a terminal device 10 to a first communication network (for example, an LTE network), and a terminal device ( 10) with a TCP / IP stack for communication to a second communication network (e.g., WiFi network).
  • a first communication network for example, an LTE network
  • a terminal device ( 10) with a TCP / IP stack for communication to a second communication network (e.g., WiFi network).
  • a second communication network e.g., WiFi network
  • the MPTCP Proxy system 30 will also have a TCP / IP stack for TCP connection with the service server device 4.
  • the MPTCP Proxy system 30 will have an MPTCP stack capable of scheduling traffic for MPTCP subflows.
  • TCP stack The TCP / IP stack shown in FIG. 4 may be abbreviated as TCP stack.
  • FIG. 5 is an internal configuration diagram of the MPTCP Proxy system 30 shown in FIG. 3, and FIG. 6 is a diagram illustrating an MPTCP option format.
  • the MPTCP proxy system 30 includes an MP board 31, an OS 32, a DPFP interworking interface processor 33, an MPTCP protocol interworking interface processor 34, and an MPTCP protocol layer and an application program interworking interface processor 35. can do.
  • the MP (Multi-Path) board 31 is a multicore CPU high performance packet board.
  • the MP board 31 Since the MP board 31 is equipped with its own CPU to process the input / output without using the CPU of the service server device 4, the MP board 31 can operate independently of the service server device 4. . This may be the reason why the MPTCP proxy system 30 can maintain high performance at low cost.
  • the MP board 31 includes a pre-classifier in the form of m (m is a natural number) pipe lines, an input terminal (INPUT), and an output terminal (OUTPUT).
  • the OS 32 is an operating system of the MPTCP proxy system 30.
  • the OS 32 may be configured as a Linux kernel.
  • the OS 32 may be referred to as an OS section 32.
  • the DPFP (Data-Plane Fast-Path) interworking interface processor 33 may deliver a packet received through a DPFP communication scheme to an IP layer (not shown) through a predetermined interworking interface (eg, TCPIP_MSG_INPKT interworking interface).
  • a predetermined interworking interface eg, TCPIP_MSG_INPKT interworking interface.
  • the IP layer may be understood as being inside or outside the DPFP interworking interface processor 33.
  • the DPFP interworking interface processing unit 33 may receive a network packet introduced into the MP board 31 through the DPFP communication method and transfer the received packet to the IP layer through, for example, the TCPIP_MSG_INPKT interworking interface.
  • the MPTCP protocol interworking interface processor 34 sends packets received through the IP layer (not shown) and the TCP layer (not shown) in the DPFP interworking interface processor 33 to the MPTCP protocol layer and the application program interworking interface processor 35. I can deliver it.
  • the MPTCP protocol interworking interface processor 34 reads the header information of the received packet and determines whether there is an MPTCP option.
  • the MPTCP protocol interworking interface processor 34 transmits the received packet to the MPTCP protocol layer and the application program interworking interface processor 35.
  • the MPTCP protocol interworking interface processor 34 transmits the received packet to the legacy TCP server 4 by determining that the MPTCP protocol interworking interface processor 34 interworks with the general legacy TCP server 4.
  • the MPTCP protocol layer and the application program interworking interface processor 35 manages the TCP session and the MPTCP session, and traffic scheduling functions for the MPTCP subflow for data transmission to the terminal device 10. Do this.
  • the MPTCP protocol layer and the application program interworking interface processing unit 35 interpret the MPTCP protocol in the DPFP interworking interface processing unit 33 and the MPTCP protocol interworking interface processing unit 34, and if the requested protocol is the MPTCP protocol, the MPTCP subflow ( Subflow) Processes the requested packet so that it can be created and managed.
  • the MPTCP protocol layer and the application program interworking interface processor 35 may perform congestion control.
  • MPTCP subflow generation control of the MPTCP protocol layer and the application program interworking interface processor 35 will be described in more detail as follows.
  • Subflow can use a plurality of transmission paths called subflows at the same time as the flow of TCP. Although it is possible to make an arbitrary number set between both hosts that have performed a TCP connection, in the case of the current wireless connection, one subflow may be generated per one air interface.
  • MPTCP transfers through one primary subflow and another multipath transfer (CMT) method that simultaneously transfers the generated subflows, and the other route acts as its backup subflow. It can be operated by backup method.
  • CMT multipath transfer
  • the packet order of MPTCP is divided into a data sequence number and a subflow sequence number.
  • the data sequence number indicates the order among the packets transmitted by utilizing the packet order among the transmission data transmitted by the host.
  • the subflow sequence number indicates the order among the packets transmitted by using the corresponding subflow.
  • MPTCP uses a large number of subflows and, in this case, needs to rearrange the packet order due to differences in transmission speed and delay time between each subflow.
  • Use sequence number and Subflow sequence number are used.
  • MPTCP since MPTCP supports backward TCP, packet headers for MPTCP are added under the packet header form of TCP. That is, MPTCP has a structure in which MPTCP related information is added to a header of an existing TCP packet. As shown in FIG. 6, if MPTCP is specified in the Kind of the TCP option field, the packet is recognized as an MPTCP packet and operated. Length indicates the length of the MPTCP option, and Subtype indicates the MPTCP message type of the packet. Based on this value, MPTCP is classified as a message for connection, address addition, redirection, route disconnection, and so on. Stuck.
  • the MP_CAPABLE, MP_JOIN, MP_FAIL, and MP_FASTCLOSE headers are used for new subflow connection and disconnection.
  • the ADD_ADDR and REMOVE_ADDR headers are used to add or remove addresses, and the MP_PRIO header is used to switch paths.
  • a Data Sequence Signal (DSS) header including sequence information is added to all data and ACK packets using MPTCP.
  • DSS Data Sequence Signal
  • Transmission is performed by using a number of subflows, and the transmission rate is distributed in proportion to the size of the cwnd (congestion window) of each subflow. Therefore, new problems arise when TCP's congestion control algorithm is applied as it is. do. Representatively, as MPTCP subflows occupy the bottleneck interval, the issue of equity violation due to bandwidth overcapacity compared to the existing TCP, packet rearrangement due to transmission speed and round trip time (RTT) difference between subflows A problem arises.
  • RTT round trip time
  • the typical congestion control algorithm uses OLIA (Opportunistic LIA), and LIA (Linked-Increased Algorithm) uses a specific transmission path while delivering the transmission rate when the optimal path is used in the existing TCP method when multi-transmission using MPTCP. Algorithm to prevent oligopoly. This can be achieved by passing the amount of transmission allocated to the most congested subflow to the less congested subflow.
  • OLIA the congestion level for each path is controlled similarly by adjusting the distribution level of each subflow by reducing the increase when the congestion level of a certain path is high and increasing the increase when the congestion level is low.
  • the DPFP interworking interface processor 33 and the MPTCP protocol interworking interface processor 34 may correspond to the TCP / IP stack of the MPTCP proxy system 30 of FIG. 4.
  • the conventional TCP / IP stack cannot directly read the packet by directly connecting to the MP board 31, and even if it is read from the MP board 31, there is no function of interpreting the MPTCP protocol request.
  • the TCP / IP stack that is, the DPFP interworking interface processor 33 and the MPTCP protocol interworking interface processor 34 in the embodiment of the present invention can interpret the MPTCP protocol.
  • the above-described MPTCP protocol layer and the application program interworking interface processor 35 may correspond to the MPTCP stack of the MPTCP proxy system 30 of FIG. 4.
  • the DPFP interworking interface processor 33 inquires a message queue (S10).
  • the DPFP interworking interface processor 33 transmits the packet in the message queue to the IP layer (S14).
  • the MPTCP protocol interworking interface processor 34 receives the message of the IP layer (S20), and reads the header information of the packet in the message to determine whether there is an MPTCP option (S22).
  • the MPTCP protocol interworking interface processor 34 transmits the received packet to the MPTCP protocol layer and the application program interworking interface processor 35 (S24).
  • the MPTCP protocol layer and the application program interworking interface processor 35 may be an MPTCP layer or an MPTCP protocol layer.
  • the MPTCP protocol interworking interface processor 34 transmits the received packet to the legacy TCP server 4 (S26).
  • the legacy TCP server 4 may be a TCP layer or a TCP protocol layer.
  • the terminal device 10 transmits a message (ie, SYN + MP_CAPABLE) to the MPTCP proxy system 30 via the LTE network to inquire whether a sync signal (SYN) and multipath are possible (S30).
  • a message ie, SYN + MP_CAPABLE
  • SYN sync signal
  • S30 multipath are possible
  • the MPTCP proxy system 30 sends an ACK signal (ie, SYN / ACK + MP_CAPABLE) to the terminal device 10 via the LTE network (S32).
  • an ACK signal ie, SYN / ACK + MP_CAPABLE
  • the terminal device 10 transmits an acknowledgment signal (that is, ACK + MP_CAPABLE) to the MPTCP proxy system 30 through the LTE network (S34).
  • an acknowledgment signal that is, ACK + MP_CAPABLE
  • a TCP session is established between the terminal device 10 and the MPTCP proxy system 30 that can use the LTE network (S36).
  • the terminal device 10 transmits a sync signal SYN and a message (that is, SYN + MP_JOIN) to the MPTCP proxy system 30 through the WiFi network (SYN + MP_JOIN).
  • the MPTCP proxy system 30 sends an ACK signal (ie, SYN / ACK + MP_JOIN) to the terminal device 10 via the WiFi network (S40).
  • an ACK signal ie, SYN / ACK + MP_JOIN
  • the terminal device 10 transmits an Ack signal (ie, ACK + MP_JOIN) corresponding thereto to the MPTCP proxy system 30 through the WiFi network (S42).
  • an Ack signal ie, ACK + MP_JOIN
  • a session capable of MPTCP subflow join is formed between the terminal apparatus 10 and the MPTCP proxy system 30 that can use the WiFi network (S44).
  • the MPTCP proxy system 30 may transmit single data to the terminal device 10 via the LTE network and the WiFi network, respectively (S46).
  • the present invention can support data offloading for distributing the load of the communication network and continuous handover between heterogeneous networks because the present invention uses multiple communication paths.
  • FIG. 10 is a flowchart illustrating a method of manufacturing an MPTCP proxy system and an operation method thereof according to an embodiment of the present invention.
  • the MP board 31 which is a high-performance CPU-mounted network card, is mounted in a PCI slot of a computer (S100).
  • SDK Software Development Kit; Software Development Kit
  • the modified TCP / IP stack is created by opening an existing TCP / IP stack and importing the MP library (S120).
  • import means importing data into one's own system from another computer system, so importing an MP library into an existing TCP / IP stack causes the existing TCP / IP stack to become a new TCP / IP stack.
  • the MPTCP stack (that is, the MPTCP protocol layer and the application program interworking interface processor 35) is installed, and the MP board 31 is connected through the DPFP interface by the DPFP interworking interface processor 33 and the MPTCP protocol interworking interface processor 34. Modify to connect with (S130).
  • the MPTCP proxy system 30 When the process of steps S100 to S130 described above is performed, the MPTCP proxy system 30 according to the embodiment of the present invention can be manufactured.
  • the packet introduced into the MP board 31 is transmitted to the DPFP interworking interface processor 33, and the DPFP interworking interface processor 33 delivers the packet to an internal message queue (S150). Accordingly, the packet introduced into the MP board 31 will be temporarily stored in the message queue of the DPFP interworking interface processor 33.
  • the DPFP interworking interface processor 33 extracts the packet in the message queue and delivers the packet to the IP layer (S160).
  • the MPTCP protocol interworking interface processor 34 determines whether the header information of the packet received from the IP layer (or in the IP layer) is MPTCP (more specifically, MPTCP option) (S170).
  • the MPTCP protocol interworking interface processor 34 transmits the packet to the MPTCP protocol layer and the application program interworking interface processor 35 (that is, the MPTCP stack) (S180). Accordingly, the MPTCP protocol layer and the application program interworking interface processor 35 participate in the MPTCP subflow session and perform TCP processing (S190).
  • the MPTCP protocol interworking interface processor 34 performs TCP processing on the packet (S200).

Abstract

Proposed are an MPTCP proxy system, and a manufacturing method and an operating method therefor, which are highly efficient and require low cost and can support data offloading for load balancing of a communication network and a seamless handover between heterogeneous networks. The proposed MPTCP proxy system comprises: a DPFP interworking interface processing unit for receiving a packet, input to an MP board, according to a DPFP communication scheme and outputting the received packet; an MPTCP protocol interworking interface processing unit for reading header information of the packet output from the DPFP interworking interface processing unit so as to determine whether the read header information includes an MPTCP option, and transmitting the packet to an MPTCP protocol layer and application program interworking interface processing unit when the read header information includes the MPTCP option; and the MPTCP protocol layer and application program interworking interface processing unit for generating an MPTCP subflow by processing the packet from the MPTCP protocol interworking interface processing unit.

Description

MPTCP 프록시 시스템, 이의 제작 방법 및 운용방법MCPC proxy system, its production method and operation method
본 발명은 MPTCP 프록시 시스템, 이의 제작 방법 및 운용방법에 관한 것으로, 보다 상세하게는 모바일 환경에서 다중 네트워크 인터페이스상에 데이터 서비스를 위한 멀티코어 CPU 고성능 패킷보드 기반의 MPTCP 프록시 시스템, 이러한 MPTCP 프록시 시스템을 제작하는 방법 및 이러한 MPTCP 프록시 시스템을 운용하는 방법에 관한 것이다.The present invention relates to an MPTCP proxy system, a method for manufacturing the same, and an operation method thereof, and more particularly, to a multicore CPU high performance packet board based MPTCP proxy system for data service on a multiple network interface in a mobile environment. The present invention relates to a method of manufacturing and operating such an MPTCP proxy system.
종래에는 도 1에서와 같이, TCP/IP 스택(1)을 갖춘 단말장치(2)와 TCP/IP 스택(3)을 갖춘 서비스서버장치(4)간에는 단일 경로(OnePath) TCP 통신 방식을 사용한다. 그에 따라, 셀룰러 망에서 WiFi 망으로 단말장치(2)가 이동하게 되면, 셀룰러 망의 커버리지를 벗어난 후, WiFi망에서 IP 주소를 할당받고, TCP 연결을 재설정하게 된다. 이때, 사용자는 추가적으로 발생되는 지연으로 인해 이용중인 서비스가 순간적으로 끊기는 것을 경험하게 된다. 도 1에서, 단말장치(2)는 스마트폰과 같은 모바일 기기일 수 있고, 서비스서버장치(4)는 레거시(Legacy) TCP 서버일 수 있다.In the related art, as shown in FIG. 1, a single path TCP communication method is used between a terminal device 2 having a TCP / IP stack 1 and a service server device 4 having a TCP / IP stack 3. . Accordingly, when the terminal device 2 moves from the cellular network to the WiFi network, after the coverage of the cellular network is removed, an IP address is allocated from the WiFi network and the TCP connection is reset. At this time, the user may experience that the service in use is momentarily interrupted due to the additional delay. In FIG. 1, the terminal device 2 may be a mobile device such as a smartphone, and the service server device 4 may be a legacy TCP server.
이러한 문제점을 개선하는 기술이 요구되어 기존의 TCP를 확장하는 개념으로서, 도 2에서와 같이 단말장치(10) 또는 서비스서버장치(20)가 가지고 있는 여러 개의 통신 인터페이스(MPTCP 스택(11, 21), TCP/IP 스택(12, 13; 22, 23))를 동시에 사용할 수 있게 해준다. 연결시, 단말장치(10)와 서비스서버장치(20)는 MPTCP(Multi-Path TCP ; 다중 경로 TCP) 사용여부에 대해 알려주어 하나의 연결에 대해 여러 개의 IP 주소를 사용하는 여러 개의 서브플로우(subflow)를 생성한다. 도 2에서, 단말장치(10)는 스마트폰과 같은 모바일 기기일 수 있고, 서비스서버장치(20)는 다중 경로 전송 프로토콜을 가진 서버일 수 있다. 도 2와 같은 구성을 구현하기 위해서는 고비용의 MPTCP 시스템 구축비용이 발생하게 된다. 즉, 도 2의 구성은 기존의 서버의 모든 구성을 교체하고 OS를 업그레이드시켜야 하므로, 고비용이 발생하게 된다.As a concept of extending the existing TCP as a technique for improving such a problem, a plurality of communication interfaces (MPTCP stack 11, 21) that the terminal device 10 or the service server device 20 has as shown in FIG. TCP / IP stack (12, 13; 22, 23) can be used simultaneously. When connecting, the terminal device 10 and the service server device 20 informs whether or not the MPTCP (Multi-Path TCP) is used, and multiple subflows using multiple IP addresses for one connection ( subflow). In FIG. 2, the terminal device 10 may be a mobile device such as a smartphone, and the service server device 20 may be a server having a multipath transmission protocol. In order to implement the configuration as shown in Figure 2, a high cost MPTCP system construction cost is generated. That is, the configuration of Figure 2 has to replace all the configuration of the existing server and upgrade the OS, a high cost occurs.
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로, 통신망의 부하를 분산하기 위한 데이터 오프로딩 및 이종 망 간 끊임없는 핸드오버를 지원할 수 있는 고성능 저비용의 MPTCP 프록시 시스템, 이의 제작 방법 및 운용방법을 제공함에 그 목적이 있다.The present invention has been proposed to solve the above-described problems, a high performance low-cost MPTCP proxy system capable of supporting data offloading and endless handover between heterogeneous networks for distributing the load of a communication network, a manufacturing method and operation thereof The purpose is to provide a method.
상기와 같은 목적을 달성하기 위하여 본 발명의 바람직한 실시양태에 따른 MPTCP 프록시 시스템은, MP 보드에 인입된 패킷을 DPFP 통신 방식으로 수신하고, 수신된 패킷을 출력하는 DPFP 연동 인터페이스 처리부; 상기 DPFP 연동 인터페이스 처리부에서 출력된 패킷의 헤더 정보를 판독하여 MPTCP 옵션 유무를 판단하고, 상기 MPTCP 옵션이 있게 되면 상기 패킷을 MPTCP 프로토콜 계층과 응용 프로그램 연동 인터페이스 처리부에게로 전송하는 MPTCP 프로토콜 연동 인터페이스 처리부; 및 상기 MPTCP 프로토콜 연동 인터페이스 처리부로부터의 패킷을 처리하여 MPTCP 서브플로우를 생성하는 MPTCP 프로토콜 계층과 응용 프로그램 연동 인터페이스 처리부;를 포함한다.In order to achieve the above object, MPTCP proxy system according to a preferred embodiment of the present invention, the DPFP interworking interface processing unit for receiving the packet entered into the MP board in a DPFP communication method, and outputs the received packet; An MPTCP protocol interworking interface processor that reads header information of the packet output from the DPFP interworking interface processor to determine whether there is an MPTCP option, and transmits the packet to an MPTCP protocol layer and an application program interworking interface processor when the MPTCP option is present; And an MPTCP protocol layer and an application program interworking interface processor for processing a packet from the MPTCP protocol interworking interface processor to generate an MPTCP subflow.
상기 MPTCP 프로토콜 연동 인터페이스 처리부는, 상기 MPTCP 옵션이 없으면 상기 패킷을 레거시 TCP 서버에게로 전송할 수 있다.The MPTCP protocol interworking interface processor may transmit the packet to the legacy TCP server if the MPTCP option is not present.
상기 MP 보드는, 자체 CPU를 탑재하고 직접 입력/출력을 처리할 수 있다.The MP board has its own CPU and can directly process input / output.
한편, 본 발명의 바람직한 실시양태에 따른 MPTCP 프록시 시스템의 제작 방법은, 기존의 TCP/IP 스택에 MP 라이브러리를 임포트하여 변경된 TCP/IP 스택을 만드는 단계; 및 MPTCP 스택을 설치하고, 상기 변경된 TCP/IP 스택에서 DPFP 인터페이스를 통해 MP 보드와 연결하는 단계;를 포함한다.On the other hand, the manufacturing method of the MPTCP proxy system according to a preferred embodiment of the present invention, importing the MP library to the existing TCP / IP stack to create a modified TCP / IP stack; And installing an MPTCP stack and connecting to the MP board through a DPFP interface in the modified TCP / IP stack.
상기 변경된 TCP/IP 스택은, 상기 MP 보드에 인입된 패킷을 DPFP 통신 방식으로 수신하고, 수신된 패킷을 출력하는 DPFP 연동 인터페이스 처리부; 및 상기 DPFP 연동 인터페이스 처리부에서 출력된 패킷의 헤더 정보를 판독하여 MPTCP 옵션 유무를 판단하고, 상기 MPTCP 옵션이 있게 되면 상기 패킷을 상기 MPTCP 스택에게로 전송하는 MPTCP 프로토콜 연동 인터페이스 처리부;를 포함할 수 있다.The modified TCP / IP stack may include: a DPFP interworking interface processor configured to receive a packet introduced into the MP board through a DPFP communication method and output a received packet; And an MPTCP protocol interworking interface processor for reading the header information of the packet output from the DPFP interworking interface processor to determine whether there is an MPTCP option, and transmitting the packet to the MPTCP stack when the MPTCP option is present. .
한편, 본 발명의 바람직한 실시양태에 따른 MPTCP 프록시 시스템의 운용방법은, DPFP 연동 인터페이스 처리부가, MP 보드에 인입된 패킷을 내부의 메시지 큐에게로 전송하는 단계; 상기 DPFP 연동 인터페이스 처리부가, 상기 메시지 큐내의 패킷을 꺼내어 출력하는 단계; MPTCP 프로토콜 연동 인터페이스 처리부가, 상기 패킷의 헤더 정보를 판단하는 단계; 상기 MPTCP 프로토콜 연동 인터페이스 처리부가, 상기 패킷의 헤더 정보가 MPTCP 옵션이면 해당 패킷을 MPTCP 프로토콜 계층과 응용 프로그램 연동 인터페이스 처리부에게로 전달하는 단계; 및 상기 MPTCP 프로토콜 계층과 응용 프로그램 연동 인터페이스 처리부가, 상기 패킷을 처리하여 MPTCP 서브플로우를 생성하는 단계;를 포함한다.On the other hand, the operating method of the MPTCP proxy system according to a preferred embodiment of the present invention, the DPFP interworking interface processing unit, the step of transmitting a packet entered into the MP board to the internal message queue; Extracting, by the DPFP interworking interface processor, the packet in the message queue and outputting the packet; Determining, by an MPTCP protocol interworking interface processor, header information of the packet; Transmitting, by the MPTCP protocol interworking interface processor, the packet to the MPTCP protocol layer and an application program interworking interface processor when the header information of the packet is an MPTCP option; And generating, by the MPTCP protocol layer and the application program interworking interface processor, the MPTCP subflow by processing the packet.
상기 MPTCP 프로토콜 연동 인터페이스 처리부가, 상기 패킷의 헤더 정보가 상기 MPTCP 옵션이 아니면 상기 패킷을 레거시 TCP 서버에게로 전송하는 단계;를 추가로 포함할 수 있다.And transmitting, by the MPTCP protocol interworking interface processor, the packet to the legacy TCP server if the header information of the packet is not the MPTCP option.
이러한 구성의 본 발명에 따르면, 멀티코어 CPU 고성능 패킷보드(MP 보드) 기반의 MPTCP 프록시 시스템을 구현함으로써 고성능 저비용의 MPTCP 프록시 기능을 수행하는 장치를 제공할 수 있다.According to the present invention having such a configuration, it is possible to provide an apparatus for performing a high performance low cost MPTCP proxy function by implementing a multicore CPU high performance packet board (MP board) based MPTCP proxy system.
또한, 본 발명은 다중 통신경로를 사용하므로 통신망의 부하를 분산하기 위한 데이터 오프로딩 및 이종 망 간 끊임없는 핸드오버를 지원할 수 있다. 다시 말해서, 통신망의 부하를 분산하기 위한 데이터 오프로딩 및 이종 망 간 끊임없는 핸드오버를 지원하고, 다중 통신경로를 사용하여 데이터 네트워크 트래픽 처리율 향상을 기대할 수 있고, 고성능 패킷보드(하드웨어) 기반으로 대량의 동시 다중접속 세션을 지원할 수 있다.In addition, since the present invention uses multiple communication paths, it is possible to support data offloading and continuous handover between heterogeneous networks to distribute the load of the communication network. In other words, it can support data offloading and continuous handover between heterogeneous networks to distribute the load of the communication network, and can improve the throughput of data network traffic by using multiple communication paths, and it is possible to use a high-performance packet board (hardware) based It can support simultaneous multiple access session of.
CPU기반 패킷 PCI보드가 확장 설치될 수 있는 PCI슬롯이 장착된 서버 하드웨어 조건하에 접속자수가 증가함에 따라 네트워크 트래픽 성능이 향상된다. Network traffic performance improves as the number of connections increases under server hardware conditions with PCI slots that allow CPU-based packet PCI boards to be expanded.
도 1은 종래의 단일 경로 TCP(OnePath TCP) 통신 방식을 개략적으로 설명하기 위한 도면이다.1 is a diagram schematically illustrating a conventional single path TCP communication scheme.
도 2는 종래의 다중 경로 TCP(Multi-Path TCP) 통신 방식을 개략적으로 설명하기 위한 도면이다. 2 is a diagram schematically illustrating a conventional multi-path TCP (Multi-Path TCP) communication scheme.
도 3은 본 발명의 실시예에 따른 MPTCP 프록시 시스템이 적용된 망 구성도이다.3 is a network configuration to which the MPTCP proxy system according to an embodiment of the present invention is applied.
도 4는 도 3에 도시된 MPTCP 프록시 시스템을 네트워크 통신 관점에서 바라본 도면이다.4 is a view of the MPTCP proxy system shown in FIG. 3 as viewed from a network communication point of view.
도 5는 도 3에 도시된 MPTCP 프록시 시스템의 내부 구성도이다.FIG. 5 is a diagram illustrating an internal configuration of the MPTCP proxy system shown in FIG. 3.
도 6은 MPTCP 옵션 형식을 예시한 도면이다.6 is a diagram illustrating an MPTCP option format.
도 7은 도 5에 도시된 DPFP 연동 인터페이스 처리부의 동작을 설명하기 위한 플로우차트이다.FIG. 7 is a flowchart for describing an operation of the DPFP interworking interface processor shown in FIG. 5.
도 8은 도 5에 도시된 MPTCP 프로토콜 연동 인터페이스 처리부의 동작을 설명하기 위한 플로우차트이다.FIG. 8 is a flowchart for describing an operation of the MPTCP protocol interworking interface processor shown in FIG. 5.
도 9는 도 5에 도시된 MPTCP 프로토콜 계층과 응용 프로그램 연동 인터페이스 처리부에서의 MPTCP 서브플로우 세션처리 흐름도이다.FIG. 9 is a flowchart illustrating an MPTCP subflow session processing in the MPTCP protocol layer and an application program interworking interface processor shown in FIG. 5.
도 10은 본 발명의 실시예에 따른 MPTCP 프록시 시스템을 제작하는 방법 및 이의 운용방법을 설명하기 위한 플로우차트이다.10 is a flowchart illustrating a method of manufacturing an MPTCP proxy system and an operation method thereof according to an embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다.As the inventive concept allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art, and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, with reference to the accompanying drawings, it will be described in detail a preferred embodiment of the present invention. In the following description of the present invention, the same reference numerals are used for the same elements in the drawings and redundant descriptions of the same elements will be omitted.
도 3은 본 발명의 실시예에 따른 MPTCP 프록시 시스템이 적용된 망 구성도로서, 멀티코어 CPU 고성능 패킷보드(이하, MP 보드라고 함) 기반의 MPTCP 프록시 시스템(30)이 적용된 망 구성의 개념을 설명하기 위한 도면이다.3 is a diagram illustrating a network configuration to which an MPTCP proxy system is applied according to an embodiment of the present invention, and illustrates a concept of a network configuration to which an MPTCP proxy system 30 based on a multicore CPU high performance packet board (hereinafter referred to as an MP board) is applied. It is a figure for following.
MPTCP 프록시 시스템(30)은 서비스서버장치(4)에 TCP 연결되고, 다중 무선망 동시 사용을 위해 인터넷 등의 네트워크(40; LTE망, WiFi망 포함)를 통해 단말장치(10)와 연결된다. 여기서, 단말장치(10)는 MPTCP가 가능한 단말장치로서 도 2의 단말장치와 동일하고, 서비스서버장치(4)는 레거시 TCP 서버라고 보면 된다.The MPTCP proxy system 30 is TCP-connected to the service server device 4 and is connected to the terminal device 10 via a network 40 (including LTE network and WiFi network) such as the Internet for simultaneous use of multiple wireless networks. Here, the terminal device 10 is a terminal device capable of MPTCP, which is the same as the terminal device of FIG. 2, and the service server device 4 may be regarded as a legacy TCP server.
MPTCP 프록시 시스템(30)은 통신망의 부하를 분산하기 위한 데이터 오프로딩 및 이종 망 간 끊임없는 핸드오버를 지원할 수 있다.The MPTCP proxy system 30 may support data offloading and continuous handover between heterogeneous networks to distribute the load of the communication network.
그리고, MPTCP 프록시 시스템(30)은 단말장치(10)와 레거시 TCP 서버(4)간의 모든 세션 및 트래픽을 처리할 수 있다.In addition, the MPTCP proxy system 30 may process all sessions and traffic between the terminal device 10 and the legacy TCP server 4.
상술한 도 3의 구성에 따르면, 본 발명의 실시예는 기존의 레거시 TCP 서버(즉, 서비스서버장치)를 변경없이 그대로 사용하므로, 고성능 저비용의 MPTCP 프록시를 수행하는 장치를 제공할 수 있다. According to the configuration of FIG. 3 described above, since the embodiment of the present invention uses an existing legacy TCP server (that is, a service server device) without modification, an apparatus for performing a high performance low cost MPTCP proxy can be provided.
도 4는 도 3에 도시된 MPTCP 프록시 시스템(30)을 네트워크 통신 관점에서 바라본 도면이다.4 is a view of the MPTCP proxy system 30 shown in FIG. 3 from a network communication point of view.
MPTCP 프록시 시스템(30)을 네트워크 통신 관점에서 바라보면, MPTCP 프록시 시스템(30)은 단말장치(10)와의 제 1 통신망(예컨대, LTE망)으로의 통신을 위한 TCP/IP 스택, 및 단말장치(10)와의 제 2 통신망(예컨대, WiFi망)으로의 통신을 위한 TCP/IP 스택을 갖출 것이다. Looking at the MPTCP proxy system 30 from a network communication point of view, the MPTCP proxy system 30 is a TCP / IP stack for communication with a terminal device 10 to a first communication network (for example, an LTE network), and a terminal device ( 10) with a TCP / IP stack for communication to a second communication network (e.g., WiFi network).
또한, MPTCP 프록시 시스템(30)은 서비스서버장치(4)와의 TCP 연결을 위한 TCP/IP 스택을 갖출 것이다.The MPTCP Proxy system 30 will also have a TCP / IP stack for TCP connection with the service server device 4.
또한, MPTCP 프록시 시스템(30)은 MPTCP 서브플로우(subflow)에 대한 트래픽 스케쥴링이 가능한 MPTCP 스택을 갖출 것이다.In addition, the MPTCP Proxy system 30 will have an MPTCP stack capable of scheduling traffic for MPTCP subflows.
도 4에 도시된 TCP/IP 스택은 TCP 스택으로 약칭할 수도 있다.The TCP / IP stack shown in FIG. 4 may be abbreviated as TCP stack.
도 5는 도 3에 도시된 MPTCP 프록시 시스템(30)의 내부 구성도이고, 도 6은 MPTCP 옵션 형식을 예시한 도면이다.FIG. 5 is an internal configuration diagram of the MPTCP Proxy system 30 shown in FIG. 3, and FIG. 6 is a diagram illustrating an MPTCP option format.
MPTCP 프록시 시스템(30)은 MP 보드(31), OS(32), DPFP 연동 인터페이스 처리부(33), MPTCP 프로토콜 연동 인터페이스 처리부(34), 및 MPTCP 프로토콜 계층과 응용 프로그램 연동 인터페이스 처리부(35)를 포함할 수 있다.The MPTCP proxy system 30 includes an MP board 31, an OS 32, a DPFP interworking interface processor 33, an MPTCP protocol interworking interface processor 34, and an MPTCP protocol layer and an application program interworking interface processor 35. can do.
MP(Multi-Path) 보드(31)는 멀티코어 CPU 고성능 패킷보드이다. The MP (Multi-Path) board 31 is a multicore CPU high performance packet board.
MP 보드(31)는 자체 CPU를 탑재해서 서비스서버장치(4)의 CPU를 사용하지 않고 직접 입력(INPUT)/출력(OUTPUT)을 처리하므로, 서비스서버장치(4)와는 독립적으로 동작할 수 있다. 이는 MPTCP 프록시 시스템(30)이 저렴한 비용으로 고성능을 유지할 수 있는 이유가 될 수 있다.Since the MP board 31 is equipped with its own CPU to process the input / output without using the CPU of the service server device 4, the MP board 31 can operate independently of the service server device 4. . This may be the reason why the MPTCP proxy system 30 can maintain high performance at low cost.
도시하지 않았지만, MP 보드(31)는 m(m은 자연수)개의 파이프(pipe) 라인 형태의 pre-classifier, 입력단(INPUT), 및 출력단(OUTPUT)을 포함한다.Although not shown, the MP board 31 includes a pre-classifier in the form of m (m is a natural number) pipe lines, an input terminal (INPUT), and an output terminal (OUTPUT).
OS(32)는 해당 MPTCP 프록시 시스템(30)의 운영체제(Operating System)이다. 예를 들어, OS(32)는 리눅스 커널(Linux Kernel)로 구성될 수 있다.The OS 32 is an operating system of the MPTCP proxy system 30. For example, the OS 32 may be configured as a Linux kernel.
그리고, OS(32)는 OS부(32)라고 하여도 된다.The OS 32 may be referred to as an OS section 32.
DPFP(Data-Plane Fast-Path) 연동 인터페이스 처리부(33)는 DPFP 통신 방식을 통해 수신된 패킷을 소정의 연동 인터페이스(예컨대, TCPIP_MSG_INPKT 연동 인터페이스)를 통해서 IP 계층(도시 생략)으로 전달할 수 있다. 여기서, IP 계층은 DPFP 연동 인터페이스 처리부(33)의 내부 또는 외부에 있는 것으로 이해하면 된다.The DPFP (Data-Plane Fast-Path) interworking interface processor 33 may deliver a packet received through a DPFP communication scheme to an IP layer (not shown) through a predetermined interworking interface (eg, TCPIP_MSG_INPKT interworking interface). Here, the IP layer may be understood as being inside or outside the DPFP interworking interface processor 33.
다시 말해서, DPFP 연동 인터페이스 처리부(33)는 MP 보드(31)에 인입된 네트워크 패킷을 DPFP 통신 방식으로 수신하고, 수신된 패킷을 예를 들어 TCPIP_MSG_INPKT 연동 인터페이스를 통해서 IP 계층으로 전달할 수 있다.In other words, the DPFP interworking interface processing unit 33 may receive a network packet introduced into the MP board 31 through the DPFP communication method and transfer the received packet to the IP layer through, for example, the TCPIP_MSG_INPKT interworking interface.
MPTCP 프로토콜 연동 인터페이스 처리부(34)는 DPFP 연동 인터페이스 처리부(33)내의 IP 계층(도시 생략) 및 TCP 계층(도시 생략)을 통해 전달받은 패킷을 MPTCP 프로토콜 계층과 응용 프로그램 연동 인터페이스 처리부(35)에게로 전달할 수 있다. The MPTCP protocol interworking interface processor 34 sends packets received through the IP layer (not shown) and the TCP layer (not shown) in the DPFP interworking interface processor 33 to the MPTCP protocol layer and the application program interworking interface processor 35. I can deliver it.
이때, MPTCP 프로토콜 연동 인터페이스 처리부(34)는 수신한 패킷의 헤더의 정보를 판독하여 MPTCP 옵션 유무를 판단한다. At this time, the MPTCP protocol interworking interface processor 34 reads the header information of the received packet and determines whether there is an MPTCP option.
MPTCP 옵션이 있는 경우 MPTCP 프로토콜 연동 인터페이스 처리부(34)는 수신한 패킷을 MPTCP 프로토콜 계층과 응용 프로그램 연동 인터페이스 처리부(35)에게로 전송한다.If there is an MPTCP option, the MPTCP protocol interworking interface processor 34 transmits the received packet to the MPTCP protocol layer and the application program interworking interface processor 35.
만약, MPTCP 옵션이 없는 경우 MPTCP 프로토콜 연동 인터페이스 처리부(34)는 일반적인 레거시 TCP 서버(4)와의 연동으로 판단하여 레거시 TCP 서버(4)에게로 수신한 패킷을 전송한다.If there is no MPTCP option, the MPTCP protocol interworking interface processor 34 transmits the received packet to the legacy TCP server 4 by determining that the MPTCP protocol interworking interface processor 34 interworks with the general legacy TCP server 4.
MPTCP 프로토콜 계층과 응용 프로그램 연동 인터페이스 처리부(35)는 TCP 세션에 대한 관리 및 MPTCP 세션에 대한 관리를 수행하고, 단말장치(10)에게로 데이터 전송을 위하여 MPTCP 서브플로우(Subflow)에 대한 트래픽 스케줄링 기능을 수행한다.The MPTCP protocol layer and the application program interworking interface processor 35 manages the TCP session and the MPTCP session, and traffic scheduling functions for the MPTCP subflow for data transmission to the terminal device 10. Do this.
다시 말해서, MPTCP 프로토콜 계층과 응용 프로그램 연동 인터페이스 처리부(35)는 DPFP 연동 인터페이스 처리부(33) 및 MPTCP 프로토콜 연동 인터페이스 처리부(34)에서 MPTCP 프로토콜을 해석한 다음 요청된 프로토콜이 MPTCP 프로토콜이면 MPTCP 서브플로우(Subflow) 생성 및 관리를 할 수 있도록, 요청된 패킷을 처리한다. 또한, MPTCP 프로토콜 계층과 응용 프로그램 연동 인터페이스 처리부(35)는 혼잡 제어를 수행할 수 있다.In other words, the MPTCP protocol layer and the application program interworking interface processing unit 35 interpret the MPTCP protocol in the DPFP interworking interface processing unit 33 and the MPTCP protocol interworking interface processing unit 34, and if the requested protocol is the MPTCP protocol, the MPTCP subflow ( Subflow) Processes the requested packet so that it can be created and managed. In addition, the MPTCP protocol layer and the application program interworking interface processor 35 may perform congestion control.
여기서, MPTCP 프로토콜 계층과 응용 프로그램 연동 인터페이스 처리부(35)의 MPTCP 서브플로우(Subflow) 생성 제어에 대해 보다 구체적으로 설명하면 다음과 같다.Here, MPTCP subflow generation control of the MPTCP protocol layer and the application program interworking interface processor 35 will be described in more detail as follows.
서브플로우(Subflow)는 TCP의 플로우(flow)와 같은 개념의 서브플로우(subflow)라는 전송 경로를 동시에 다수 사용할 수 있다. TCP 연결을 수행한 양 호스트간 설정한 임의의 수만큼 만들 수 있으나, 현재 무선 연결의 경우 하나의 무선 인터페이스 당 하나의 서브플로우(subflow)를 생성할 수 있다. Subflow can use a plurality of transmission paths called subflows at the same time as the flow of TCP. Although it is possible to make an arbitrary number set between both hosts that have performed a TCP connection, in the case of the current wireless connection, one subflow may be generated per one air interface.
MPTCP는 생성된 서브플로우(subflow)들을 통해 동시에 전송을 수행하는 CMT(Concurrent Multipath Transfer) 방식과 하나의 주 경로(Primary subflow)를 통해 전송을 수행하고 다른 경로는 이의 보조 경로(Backup subflow)로 동작하는 Backup 방식으로 동작할 수 있다.MPTCP transfers through one primary subflow and another multipath transfer (CMT) method that simultaneously transfers the generated subflows, and the other route acts as its backup subflow. It can be operated by backup method.
MPTCP에서 패킷을 처리함에 있어서 MPTCP의 패킷 순서는 데이터 스퀀스 번호(Data sequence number) 및 서브플로우 시퀀스 번호(Subflow sequence number)로 나누어진다. 데이터 시퀀스 번호(Data sequence number)는 호스트가 발신한 전송 데이터 중에서 해당 패킷 순서를 활용하여 전송된 패킷들 중에서의 순서를 나타낸다. 서브플로우 시퀀스 번호(Subflow sequence number)는 해당 서브플로우(subflow)를 활용하여 전송된 패킷들 중에서의 순서를 나타낸다. In processing packets in MPTCP, the packet order of MPTCP is divided into a data sequence number and a subflow sequence number. The data sequence number indicates the order among the packets transmitted by utilizing the packet order among the transmission data transmitted by the host. The subflow sequence number indicates the order among the packets transmitted by using the corresponding subflow.
MPTCP는 기존 TCP와는 달리 다수의 서브플로우(subflow)를 이용하고, 각 서브플로우(subflow) 간의 전송속도, 지연 시간 등의 차이로 인해 패킷 순서를 재배열해야 하기 때문에 이 경우에 데이터 시퀀스 번호(Data sequence number)와 서브플로우 시퀀스 번호(Subflow sequence number)를 사용한다.Unlike TCP, MPTCP uses a large number of subflows and, in this case, needs to rearrange the packet order due to differences in transmission speed and delay time between each subflow. Use sequence number and Subflow sequence number.
특히, MPTCP는 기존 TCP를 하위 지원하므로 TCP의 패킷 헤더 양식 아래에 MPTCP를 위한 패킷 헤더가 추가된다. 즉, MPTCP는 기존의 TCP 패킷의 헤더에 MPTCP 관련 정보들이 추가된 구조를 갖는다. 도 6에서와 같이, TCP 옵션 필드의 Kind에 MPTCP를 명시하면 해당 패킷을 MPTCP 패킷으로 인식하여 동작한다. Length는 MPTCP 옵션의 길이를 나타내고, Subtype은 해당 패킷의 MPTCP 메시지 유형을 나타내는데 이 값에 따라 MPTCP는 연결, 주소 추가, 경로 전환, 경로 단절 등을 위한 메시지로 분류되게 되며 해당 유형에 맞는 추가적인 헤더가 붙게 된다.In particular, since MPTCP supports backward TCP, packet headers for MPTCP are added under the packet header form of TCP. That is, MPTCP has a structure in which MPTCP related information is added to a header of an existing TCP packet. As shown in FIG. 6, if MPTCP is specified in the Kind of the TCP option field, the packet is recognized as an MPTCP packet and operated. Length indicates the length of the MPTCP option, and Subtype indicates the MPTCP message type of the packet. Based on this value, MPTCP is classified as a message for connection, address addition, redirection, route disconnection, and so on. Stuck.
또한, 새로운 서브플로우(subflow) 연결과 단절 관련을 위해서 MP_CAPABLE, MP_JOIN, MP_FAIL, MP_FASTCLOSE 헤더가 사용되고, 주소 추가나 제거 시에는 ADD_ADDR, REMOVE_ADDR 헤더가 사용되고, 경로 전환 시에는 MP_PRIO 헤더가 사용된다. 또한, MPTCP를 이용한 모든 데이터와 ACK 패킷에는 순서 정보를 포함한 Data Sequence Signal(DSS) 헤더가 추가된다.Also, the MP_CAPABLE, MP_JOIN, MP_FAIL, and MP_FASTCLOSE headers are used for new subflow connection and disconnection. The ADD_ADDR and REMOVE_ADDR headers are used to add or remove addresses, and the MP_PRIO header is used to switch paths. In addition, a Data Sequence Signal (DSS) header including sequence information is added to all data and ACK packets using MPTCP.
이번에는, MPTCP 프로토콜 계층과 응용 프로그램 연동 인터페이스 처리부(35)의 혼잡 제어 기능에 대해 대해 보다 구체적으로 설명하면 다음과 같다.This time, the congestion control function of the MPTCP protocol layer and the application program interworking interface processor 35 will be described in more detail as follows.
다수의 서브플로우(subflow)를 활용하여 전송을 수행하고, 각 서브플로우(subflow)의 cwnd(Congestion window) 크기에 비례하여 전송량을 분배하기 때문에 TCP의 혼잡 제어 알고리즘을 그대로 적용할 경우 새로운 문제점들이 유발된다. 대표적으로, MPTCP 서브플로우(subflow)들이 병목 구간을 중복 점유함에 따라 기존 TCP 대비 대역폭 과점유에 따른 형평성 위반 문제, 서브플로우(subflow)들 간의 전송 속도 및 RTT(Round trip time) 차이로 인한 패킷 재배열 문제가 발생한다.Transmission is performed by using a number of subflows, and the transmission rate is distributed in proportion to the size of the cwnd (congestion window) of each subflow. Therefore, new problems arise when TCP's congestion control algorithm is applied as it is. do. Representatively, as MPTCP subflows occupy the bottleneck interval, the issue of equity violation due to bandwidth overcapacity compared to the existing TCP, packet rearrangement due to transmission speed and round trip time (RTT) difference between subflows A problem arises.
대표적인 혼잡제어알고리즘으로는 OLIA(Opportunistic LIA)를 사용하며 LIA(Linked-Increased Algorithm)는 MPTCP를 이용한 다중 전송 시, 기존 TCP 방식에서 최적의 경로를 사용하였을 때의 전송속도를 내면서도 특정 전송 경로를 과점을 방지하기 위한 알고리즘이다. 이는 가장 혼잡한 서브플로우(subflow)에 할당되는 전송량을 혼잡도가 낮은 서브플로우(subflow)에 넘겨줌으로써 달성할 수 있다. OLIA를 이용하면 특정 경로의 혼잡 수준이 높을 경우 증가량을 줄이고, 혼잡 수준이 낮을 경우 증가량을 높이는 방식으로 서브플로우(subflow)별 전송량 분배 수준을 조절하여 경로 별 혼잡 수준을 유사하게 제어한다. The typical congestion control algorithm uses OLIA (Opportunistic LIA), and LIA (Linked-Increased Algorithm) uses a specific transmission path while delivering the transmission rate when the optimal path is used in the existing TCP method when multi-transmission using MPTCP. Algorithm to prevent oligopoly. This can be achieved by passing the amount of transmission allocated to the most congested subflow to the less congested subflow. With OLIA, the congestion level for each path is controlled similarly by adjusting the distribution level of each subflow by reducing the increase when the congestion level of a certain path is high and increasing the increase when the congestion level is low.
상술한 DPFP 연동 인터페이스 처리부(33) 및 MPTCP 프로토콜 연동 인터페이스 처리부(34)는 도 4의 MPTCP 프록시 시스템(30)의 TCP/IP 스택에 상응할 수 있다. 종래 TCP/IP 스택은 MP 보드(31)에 직접 연결하여 패킷을 읽어들일 수 없고, MP 보드(31)에서 읽어들였다고 하더라도 MPTCP 프로토콜 요청에 대한 해석을 하는 기능이 없다. 그러나, 본 발명의 실시예에서의 TCP/IP 스택(즉, DPFP 연동 인터페이스 처리부(33) 및 MPTCP 프로토콜 연동 인터페이스 처리부(34))는 MPTCP 프로토콜을 해석할 수 있다.The DPFP interworking interface processor 33 and the MPTCP protocol interworking interface processor 34 may correspond to the TCP / IP stack of the MPTCP proxy system 30 of FIG. 4. The conventional TCP / IP stack cannot directly read the packet by directly connecting to the MP board 31, and even if it is read from the MP board 31, there is no function of interpreting the MPTCP protocol request. However, the TCP / IP stack (that is, the DPFP interworking interface processor 33 and the MPTCP protocol interworking interface processor 34) in the embodiment of the present invention can interpret the MPTCP protocol.
상술한 MPTCP 프로토콜 계층과 응용 프로그램 연동 인터페이스 처리부(35)는 도 4의 MPTCP 프록시 시스템(30)의 MPTCP 스택에 상응할 수 있다. The above-described MPTCP protocol layer and the application program interworking interface processor 35 may correspond to the MPTCP stack of the MPTCP proxy system 30 of FIG. 4.
상술한 DPFP 연동 인터페이스 처리부(33)의 동작을 도 7을 참조하여 다시 설명하면 다음과 같다. The operation of the above-described DPFP interworking interface processor 33 will be described again with reference to FIG. 7 as follows.
먼저, DPFP 연동 인터페이스 처리부(33)에서는 메시지 큐를 조회한다(S10). First, the DPFP interworking interface processor 33 inquires a message queue (S10).
이후, 메시지 큐에 패킷이 존재하면(S12에서 "Yes") DPFP 연동 인터페이스 처리부(33)는 메시지 큐에 있는 패킷을 IP 계층으로 전송한다(S14).Thereafter, if a packet exists in the message queue ("Yes" in S12), the DPFP interworking interface processor 33 transmits the packet in the message queue to the IP layer (S14).
상술한 MPTCP 프로토콜 연동 인터페이스 처리부(34)의 동작을 도 8을 참조하여 다시 설명하면 다음과 같다. The operation of the above-described MPTCP protocol interworking interface processor 34 will be described with reference to FIG. 8 as follows.
먼저, MPTCP 프로토콜 연동 인터페이스 처리부(34)는 IP 계층의 메시지를 인입받고(S20), 해당 메시지내의 패킷의 헤더의 정보를 판독하여 MPTCP 옵션 유무를 판단한다(S22). First, the MPTCP protocol interworking interface processor 34 receives the message of the IP layer (S20), and reads the header information of the packet in the message to determine whether there is an MPTCP option (S22).
만약, MPTCP 옵션이 있으면 MPTCP 프로토콜 연동 인터페이스 처리부(34)는 수신한 패킷을 MPTCP 프로토콜 계층과 응용 프로그램 연동 인터페이스 처리부(35)에게로 전송한다(S24). 여기서, MPTCP 프로토콜 계층과 응용 프로그램 연동 인터페이스 처리부(35)는 MPTCP 계층 또는 MPTCP 프로토콜 계층이 될 수 있다.If the MPTCP option exists, the MPTCP protocol interworking interface processor 34 transmits the received packet to the MPTCP protocol layer and the application program interworking interface processor 35 (S24). Here, the MPTCP protocol layer and the application program interworking interface processor 35 may be an MPTCP layer or an MPTCP protocol layer.
반대로, MPTCP 옵션이 없으면 MPTCP 프로토콜 연동 인터페이스 처리부(34)는 수신한 패킷을 레거시 TCP 서버(4)에게로 전송한다(S26). 여기서, 레거시 TCP 서버(4)는 TCP 계층 또는 TCP 프로토콜 계층이 될 수 있다.On the contrary, if there is no MPTCP option, the MPTCP protocol interworking interface processor 34 transmits the received packet to the legacy TCP server 4 (S26). Here, the legacy TCP server 4 may be a TCP layer or a TCP protocol layer.
상술한 MPTCP 프로토콜 계층과 응용 프로그램 연동 인터페이스 처리부(35)의 MPTCP 서브플로우(Subflow) 세션 처리에 대한 동작을 도 9를 참조하여 다시 설명하면 다음과 같다. The operation of the MPTCP subflow session processing of the above-described MPTCP protocol layer and the application program interworking interface processor 35 will be described with reference to FIG. 9 as follows.
단말장치(10)는 LTE망을 통해 MPTCP 프록시 시스템(30)에게로 싱크신호(SYN) 및 다중 경로가 가능한지를 문의하는 메시지(즉, SYN + MP_CAPABLE)를 보낸다(S30). The terminal device 10 transmits a message (ie, SYN + MP_CAPABLE) to the MPTCP proxy system 30 via the LTE network to inquire whether a sync signal (SYN) and multipath are possible (S30).
MPTCP 프록시 시스템(30)은 이를 수신하였음을 의미하는 액크 신호(즉, SYN/ACK + MP_CAPABLE)를 LTE망을 통해 단말장치(10)에게로 보낸다(S32). The MPTCP proxy system 30 sends an ACK signal (ie, SYN / ACK + MP_CAPABLE) to the terminal device 10 via the LTE network (S32).
그리고, 단말장치(10)는 이에 응답하는 액크 신호(즉, ACK + MP_CAPABLE)를 LTE망을 통해 MPTCP 프록시 시스템(30)에게로 보낸다(S34). In addition, the terminal device 10 transmits an acknowledgment signal (that is, ACK + MP_CAPABLE) to the MPTCP proxy system 30 through the LTE network (S34).
그에 따라, LTE망을 이용할 수 있는 단말장치(10)와 MPTCP 프록시 시스템(30) 간에는 TCP 세션이 형성된다(S36).Accordingly, a TCP session is established between the terminal device 10 and the MPTCP proxy system 30 that can use the LTE network (S36).
그리고, 단말장치(10)는 WiFi망을 통해 MPTCP 프록시 시스템(30)에게로 싱크신호(SYN) 및 다중 경로 참여를 희망하는 메시지(즉, SYN + MP_JOIN)를 보낸다(S38). In addition, the terminal device 10 transmits a sync signal SYN and a message (that is, SYN + MP_JOIN) to the MPTCP proxy system 30 through the WiFi network (SYN + MP_JOIN).
MPTCP 프록시 시스템(30)은 이를 수신하였음을 의미하는 액크 신호(즉, SYN/ACK + MP_JOIN)를 WiFi망을 통해 단말장치(10)에게로 보낸다(S40). The MPTCP proxy system 30 sends an ACK signal (ie, SYN / ACK + MP_JOIN) to the terminal device 10 via the WiFi network (S40).
그리고, 단말장치(10)는 이에 응답하는 액크 신호(즉, ACK + MP_JOIN)를 WiFi망을 통해 MPTCP 프록시 시스템(30)에게로 보낸다(S42). In addition, the terminal device 10 transmits an Ack signal (ie, ACK + MP_JOIN) corresponding thereto to the MPTCP proxy system 30 through the WiFi network (S42).
그에 따라, WiFi망을 이용할 수 있는 단말장치(10)와 MPTCP 프록시 시스템(30) 간에는 MPTCP 서브플로우 참여(subflow join)가 가능한 세션이 형성된다(S44).Accordingly, a session capable of MPTCP subflow join is formed between the terminal apparatus 10 and the MPTCP proxy system 30 that can use the WiFi network (S44).
이에 의해, MPTCP 프록시 시스템(30)은 단일의 데이터를 LTE망 및 WiFi망을 통해 단말장치(10)에게로 각각 전송할 수 있다(S46).Accordingly, the MPTCP proxy system 30 may transmit single data to the terminal device 10 via the LTE network and the WiFi network, respectively (S46).
상술한 도 6 내지 도 8의 설명에 의해, 본 발명은 다중 통신경로를 사용하므로 통신망의 부하를 분산하기 위한 데이터 오프로딩 및 이종 망 간 끊임없는 핸드오버를 지원할 수 있음을 알 수 있다.6 to 8, it can be seen that the present invention can support data offloading for distributing the load of the communication network and continuous handover between heterogeneous networks because the present invention uses multiple communication paths.
도 10은 본 발명의 실시예에 따른 MPTCP 프록시 시스템을 제작하는 방법 및 이의 운용방법을 설명하기 위한 플로우차트이다.10 is a flowchart illustrating a method of manufacturing an MPTCP proxy system and an operation method thereof according to an embodiment of the present invention.
먼저, 고성능 CPU탑재 네트워크 카드인 MP 보드(31)를 컴퓨터의 PCI슬롯에 장착한다(S100).First, the MP board 31, which is a high-performance CPU-mounted network card, is mounted in a PCI slot of a computer (S100).
이후, MP 보드(31)용 SDK(Software Development Kit ; 소프트웨어 개발 키트)를 컴퓨터에 설치한다(S110).Thereafter, the SDK (Software Development Kit; Software Development Kit) for the MP board 31 is installed on the computer (S110).
그리고, 기존의 TCP/IP 스택을 열어서 MP 라이브러리를 임포트(import)함으로써 변경된 TCP/IP 스택을 만든다(S120). 예를 들어, 임포트는 다른 컴퓨터 시스템으로부터 자기의 시스템안에 데이터 등을 들여놓는 행위를 의미하므로, 기존의 TCP/IP 스택에 MP 라이브러리를 임포트(import)하면 기존의 TCP/IP 스택은 새로운 TCP/IP 스택으로 변경될 수 있다. 이와 같이 변경된 TCP/IP 스택은 DPFP 연동 인터페이스 처리부(33) 및 MPTCP 프로토콜 연동 인터페이스 처리부(34)를 의미하므로, 단계 S120에 의해서 DPFP 연동 인터페이스 처리부(33) 및 MPTCP 프로토콜 연동 인터페이스 처리부(34)가 만들어진다. In addition, the modified TCP / IP stack is created by opening an existing TCP / IP stack and importing the MP library (S120). For example, import means importing data into one's own system from another computer system, so importing an MP library into an existing TCP / IP stack causes the existing TCP / IP stack to become a new TCP / IP stack. Can be changed to stack Since the modified TCP / IP stack means the DPFP interworking interface processor 33 and the MPTCP protocol interworking interface processor 34, the DPFP interworking interface processor 33 and the MPTCP protocol interworking interface processor 34 are created in step S120. .
이후, MPTCP 스택(즉, MPTCP 프로토콜 계층과 응용 프로그램 연동 인터페이스 처리부(35))을 설치하고, DPFP 연동 인터페이스 처리부(33) 및 MPTCP 프로토콜 연동 인터페이스 처리부(34)에서 DPFP 인터페이스를 통해 MP 보드(31)와 연결하도록 수정한다(S130).Thereafter, the MPTCP stack (that is, the MPTCP protocol layer and the application program interworking interface processor 35) is installed, and the MP board 31 is connected through the DPFP interface by the DPFP interworking interface processor 33 and the MPTCP protocol interworking interface processor 34. Modify to connect with (S130).
상술한 단계 S100 ~ 단계 S130의 과정을 거치게 되면 본 발명의 실시예에 따른 MPTCP 프록시 시스템(30)을 제작할 수 있게 된다.When the process of steps S100 to S130 described above is performed, the MPTCP proxy system 30 according to the embodiment of the present invention can be manufactured.
그리고, 상술한 바와 같이 제작된 MPTCP 프록시 시스템(30)을 운용하기 위해서는 먼저, MPTCP 프록시 시스템(30)을 운용할 수 있는 프로그램을 컴파일하여 실행시킨다(S140).In order to operate the MPTCP proxy system 30 manufactured as described above, first, a program capable of operating the MPTCP proxy system 30 is compiled and executed (S140).
그에 따라, MP 보드(31)에 인입된 패킷은 DPFP 연동 인터페이스 처리부(33)에게로 전송되고, DPFP 연동 인터페이스 처리부(33)는 내부의 메시지 큐에게로 패킷을 전달한다(S150). 그에 따라, MP 보드(31)에 인입된 패킷은 DPFP 연동 인터페이스 처리부(33)의 메시지 큐에 일시저장될 것이다.Accordingly, the packet introduced into the MP board 31 is transmitted to the DPFP interworking interface processor 33, and the DPFP interworking interface processor 33 delivers the packet to an internal message queue (S150). Accordingly, the packet introduced into the MP board 31 will be temporarily stored in the message queue of the DPFP interworking interface processor 33.
이후, DPFP 연동 인터페이스 처리부(33)는 메시지 큐내의 패킷을 꺼내고, 꺼낸 패킷을 IP 계층에게로 전달한다(S160).Thereafter, the DPFP interworking interface processor 33 extracts the packet in the message queue and delivers the packet to the IP layer (S160).
그러면, MPTCP 프로토콜 연동 인터페이스 처리부(34)는 IP 계층으로부터 받은(또는 IP 계층에 있는) 패킷의 헤더 정보가 MPTCP(보다 구체적으로, MPTCP 옵션) 인지를 판단한다(S170).Then, the MPTCP protocol interworking interface processor 34 determines whether the header information of the packet received from the IP layer (or in the IP layer) is MPTCP (more specifically, MPTCP option) (S170).
판단 결과, MPTCP이면 MPTCP 프로토콜 연동 인터페이스 처리부(34)는 해당 패킷을 MPTCP 프로토콜 계층과 응용 프로그램 연동 인터페이스 처리부(35)(즉, MPTCP 스택)에게로 전달한다(S180). 그에 따라, MPTCP 프로토콜 계층과 응용 프로그램 연동 인터페이스 처리부(35)는 MPTCP 서브플로우 세션에 참여시키고 TCP 처리를 수행한다(S190). If it is determined that the MPTCP, the MPTCP protocol interworking interface processor 34 transmits the packet to the MPTCP protocol layer and the application program interworking interface processor 35 (that is, the MPTCP stack) (S180). Accordingly, the MPTCP protocol layer and the application program interworking interface processor 35 participate in the MPTCP subflow session and perform TCP processing (S190).
반대로, MPTCP가 아니면 MPTCP 프로토콜 연동 인터페이스 처리부(34)는 해당 패킷에 대해 TCP처리를 수행한다(S200).On the contrary, if not MPTCP, the MPTCP protocol interworking interface processor 34 performs TCP processing on the packet (S200).
이상에서와 같이 도면과 명세서에서 최적의 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 청구범위의 기술적 사상에 의해 정해져야 할 것이다.As described above, the best embodiment has been disclosed in the drawings and the specification. Although specific terms have been used herein, they are used only for the purpose of describing the present invention and are not used to limit the scope of the present invention as defined in the meaning or claims. Therefore, those skilled in the art will understand that various modifications and equivalent other embodiments are possible from this. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

Claims (8)

  1. MP 보드에 인입된 패킷을 DPFP 통신 방식으로 수신하고, 수신된 패킷을 출력하는 DPFP 연동 인터페이스 처리부;A DPFP interworking interface processor for receiving a packet inserted into the MP board through a DPFP communication method and outputting the received packet;
    상기 DPFP 연동 인터페이스 처리부에서 출력된 패킷의 헤더 정보를 판독하여 MPTCP 옵션 유무를 판단하고, 상기 MPTCP 옵션이 있게 되면 상기 패킷을 MPTCP 프로토콜 계층과 응용 프로그램 연동 인터페이스 처리부에게로 전송하는 MPTCP 프로토콜 연동 인터페이스 처리부; 및An MPTCP protocol interworking interface processor that reads header information of the packet output from the DPFP interworking interface processor to determine whether there is an MPTCP option, and transmits the packet to an MPTCP protocol layer and an application program interworking interface processor when the MPTCP option is present; And
    상기 MPTCP 프로토콜 연동 인터페이스 처리부로부터의 패킷을 처리하여 MPTCP 서브플로우를 생성하는 MPTCP 프로토콜 계층과 응용 프로그램 연동 인터페이스 처리부;를 포함하는 것을 특징으로 하는 MPTCP 프록시 시스템.And an MPTCP protocol layer and an application program interworking interface processor for processing a packet from the MPTCP protocol interworking interface processor to generate an MPTCP subflow.
  2. 청구항 1에 있어서,The method according to claim 1,
    상기 MPTCP 프로토콜 연동 인터페이스 처리부는,The MPTCP protocol interworking interface processing unit,
    상기 MPTCP 옵션이 없으면 상기 패킷을 레거시 TCP 서버에게로 전송하는 것을 특징으로 하는 MPTCP 프록시 시스템.The MPTCP proxy system, if the MPTCP option is absent, sends the packet to a legacy TCP server.
  3. 청구항 1에 있어서,The method according to claim 1,
    상기 MP 보드는,The MP board,
    자체 CPU를 탑재하고 직접 입력/출력을 처리하는 것을 특징으로 하는 MPTCP 프록시 시스템.MPTCP proxy system, which is equipped with its own CPU and processes input / output directly.
  4. 기존의 TCP/IP 스택에 MP 라이브러리를 임포트하여 변경된 TCP/IP 스택을 만드는 단계; 및Importing the MP library into an existing TCP / IP stack to create a modified TCP / IP stack; And
    MPTCP 스택을 설치하고, 상기 변경된 TCP/IP 스택에서 DPFP 인터페이스를 통해 MP 보드와 연결하는 단계;를 포함하는 것을 특징으로 하는 MPTCP 프록시 시스템의 제작 방법.And installing an MPTCP stack and connecting to the MP board through a DPFP interface in the modified TCP / IP stack.
  5. 청구항 4에 있어서,The method according to claim 4,
    상기 변경된 TCP/IP 스택은,The modified TCP / IP stack,
    상기 MP 보드에 인입된 패킷을 DPFP 통신 방식으로 수신하고, 수신된 패킷을 출력하는 DPFP 연동 인터페이스 처리부; 및 상기 DPFP 연동 인터페이스 처리부에서 출력된 패킷의 헤더 정보를 판독하여 MPTCP 옵션 유무를 판단하고, 상기 MPTCP 옵션이 있게 되면 상기 패킷을 상기 MPTCP 스택에게로 전송하는 MPTCP 프로토콜 연동 인터페이스 처리부;를 포함하는 것을 특징으로 하는 MPTCP 프록시 시스템의 제작 방법.A DPFP interworking interface processor configured to receive the packet received in the MP board through a DPFP communication method and output the received packet; And an MPTCP protocol interworking interface processor for reading the header information of the packet output from the DPFP interworking interface processor to determine whether there is an MPTCP option, and transmitting the packet to the MPTCP stack when the MPTCP option is present. The production method of the MPTCP proxy system.
  6. 청구항 4에 있어서,The method according to claim 4,
    상기 MP 보드는,The MP board,
    자체 CPU를 탑재하고 직접 입력/출력을 처리하는 것을 특징으로 하는 MPTCP 프록시 시스템의 제작 방법.A method of manufacturing an MPTCP proxy system, which is equipped with its own CPU and processes input / output directly.
  7. DPFP 연동 인터페이스 처리부가, MP 보드에 인입된 패킷을 내부의 메시지 큐에게로 전송하는 단계;Transmitting, by the DPFP interworking interface processor, a packet inserted into the MP board to an internal message queue;
    상기 DPFP 연동 인터페이스 처리부가, 상기 메시지 큐내의 패킷을 꺼내어 출력하는 단계;Extracting, by the DPFP interworking interface processor, the packet in the message queue and outputting the packet;
    MPTCP 프로토콜 연동 인터페이스 처리부가, 상기 패킷의 헤더 정보를 판단하는 단계; Determining, by an MPTCP protocol interworking interface processor, header information of the packet;
    상기 MPTCP 프로토콜 연동 인터페이스 처리부가, 상기 패킷의 헤더 정보가 MPTCP 옵션이면 해당 패킷을 MPTCP 프로토콜 계층과 응용 프로그램 연동 인터페이스 처리부에게로 전달하는 단계; 및Transmitting, by the MPTCP protocol interworking interface processor, the packet to the MPTCP protocol layer and an application program interworking interface processor when the header information of the packet is an MPTCP option; And
    상기 MPTCP 프로토콜 계층과 응용 프로그램 연동 인터페이스 처리부가, 상기 패킷을 처리하여 MPTCP 서브플로우를 생성하는 단계;를 포함하는 것을 특징으로 하는 MPTCP 프록시 시스템의 운용방법.And generating, by the MPTCP protocol layer and the application program interworking interface processor, the MPTCP subflow by processing the packet.
  8. 청구항 7에 있어서,The method according to claim 7,
    상기 MPTCP 프로토콜 연동 인터페이스 처리부가, 상기 패킷의 헤더 정보가 상기 MPTCP 옵션이 아니면 상기 패킷을 레거시 TCP 서버에게로 전송하는 단계;를 추가로 포함하는 것을 특징으로 하는 MPTCP 프록시 시스템의 운용방법.And transmitting, by the MPTCP protocol interworking interface processor, the packet to the legacy TCP server if the header information of the packet is not the MPTCP option.
PCT/KR2018/006285 2017-06-02 2018-06-01 Mptcp proxy system, and manufacturing method and operating method therefor WO2018222000A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2017-0068910 2017-06-02
KR20170068910 2017-06-02
KR1020170079743A KR102351395B1 (en) 2017-06-02 2017-06-23 MPTCP Proxy system and operation method thereof
KR10-2017-0079743 2017-06-23

Publications (1)

Publication Number Publication Date
WO2018222000A1 true WO2018222000A1 (en) 2018-12-06

Family

ID=64455538

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/006285 WO2018222000A1 (en) 2017-06-02 2018-06-01 Mptcp proxy system, and manufacturing method and operating method therefor

Country Status (1)

Country Link
WO (1) WO2018222000A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060104288A1 (en) * 2004-11-16 2006-05-18 Wai Yim Method and apparatus for tunneling data using a single simulated stateful TCP connection
US20160183129A1 (en) * 2014-12-19 2016-06-23 At&T Intellectual Property I, L.P. Mobility Management of Wireless Networks Based on Multipath Transfer Control Protocol
US20170085484A1 (en) * 2014-05-15 2017-03-23 Telefonaktiebolaget Lm Ericsson (Publ) Method and devices for controlling usage of multi-path tcp

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060104288A1 (en) * 2004-11-16 2006-05-18 Wai Yim Method and apparatus for tunneling data using a single simulated stateful TCP connection
US20170085484A1 (en) * 2014-05-15 2017-03-23 Telefonaktiebolaget Lm Ericsson (Publ) Method and devices for controlling usage of multi-path tcp
US20160183129A1 (en) * 2014-12-19 2016-06-23 At&T Intellectual Property I, L.P. Mobility Management of Wireless Networks Based on Multipath Transfer Control Protocol

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BARRE, SEBASTIAN: "Implementation and assessment of modern host-based multipath solutions", THESIS; DIGITAL ACCESS TO LIBRARIES (DIAL), 22 October 2011 (2011-10-22), Belgium, pages 113 - 127, XP055638422 *
MIYAUCHI, NOBUHITO: "An evaluation for RAM usage of TCP/IP protocol stack on embedded systems", IPSJ SIG TECHNICAL REPORT, vol. 2013-SLDM-160, no. 32, 14 March 2013 (2013-03-14), XP055638410 *

Similar Documents

Publication Publication Date Title
WO2018194433A1 (en) Method and apparatus for distributing packets on multi-link in mobile communication network
USRE44918E1 (en) Method and apparatus for equalizing load of streaming media server
EP2395712A1 (en) Application switch system, and application switch method
EP1376954B1 (en) Packet fragmentation prevention
WO2012115385A2 (en) Apparatus and method for providing universal plug and play service based on wi-fi direct connection in portable terminal
JP2005537764A (en) Mechanism for providing QoS in a network using priority and reserve bandwidth protocols
US11677721B2 (en) Packet transmission method using proxy server and system thereof
WO2014054909A1 (en) Method and device for providing content in mobile communication system
WO2018222000A1 (en) Mptcp proxy system, and manufacturing method and operating method therefor
WO2020180123A1 (en) Method and system for mpquic over qsocks in wireless network
WO2020055149A1 (en) Credit-based multipath data transmission method for load balancing of data center network
JP2009055418A (en) Communicating system, relay device, terminal, relay processing method, and its program
WO2018186681A1 (en) Device and method for setting transmission rules of data packet in software defined network
Cisco SDLLC: SDLC to LLC2 Media Translation
Cisco SDLLC: SDLC to LLC2 Media Translation
Cisco SDLLC: SDLC to LLC2 Media Translation
Cisco SDLLC: SDLC to LLC2 Media Translation
Cisco SDLLC: SDLC to LLC2 Media Translation
Cisco SDLLC: SDLC to LLC2 Media Translation
Cisco SDLLC: SDLC to LLC2 Media Translation
Cisco SDLLC: SDLC to LLC2 Media Translation
Cisco Configuring Serial Tunneling in SDLC and HDLC Environments
Cisco Configuring Serial Tunneling in SDLC and HDLC Environments
Cisco Configuring Serial Tunneling in SDLC and HDLC Environments
Cisco Configuring Serial Tunneling in SDLC and HDLC Environments

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 28/02/2020)

122 Ep: pct application non-entry in european phase

Ref document number: 18808961

Country of ref document: EP

Kind code of ref document: A1