KR20150059248A - 중계 프록시 서버, 이를 이용한 데이터 전송 중계 방법 및 데이터 전송시스템 - Google Patents
중계 프록시 서버, 이를 이용한 데이터 전송 중계 방법 및 데이터 전송시스템 Download PDFInfo
- Publication number
- KR20150059248A KR20150059248A KR1020130142598A KR20130142598A KR20150059248A KR 20150059248 A KR20150059248 A KR 20150059248A KR 1020130142598 A KR1020130142598 A KR 1020130142598A KR 20130142598 A KR20130142598 A KR 20130142598A KR 20150059248 A KR20150059248 A KR 20150059248A
- Authority
- KR
- South Korea
- Prior art keywords
- tunneling
- data packet
- virtual network
- server
- terminal
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
중계 프록시 서버 및 이를 이용한 데이터 전송 방법과 시스템이 개시된다. 본 발명의 일 실시예에 따른 데이터 전송 시스템은, 제1 단말기와 연결되는 제1 터널링 서버; 상기 제1 단말기와 기본 TCP 연결된 제2 단말기와 연결되는 제2 터널링 서버; 및 상기 제1 터널링 서버와 제1 가상 네트워크를 연결하고, 상기 제2 터널링 서버와 제2 가상 네트워크를 연결하며, 상기 제1 터널링 서버로부터 상기 제1 가상 네트워크를 통하여 수신되는 데이터 패킷을 상기 제2 가상 네트워크를 통해 상기 제2 터널링 서버로 전송하는 중계 프록시 서버를 포함한다.
Description
본 발명의 실시예는 데이터 전송 기술에 관한 것으로서, 보다 상세하게는 중계 프록시 서버 및 이를 이용한 데이터 전송 방법과 시스템에 관한 것이다.
일반적으로, TCP(Transmission Control Protocol) 연결 시 단위 시간당 데이터 전송량(Throughput)은 수신 윈도우(RWND)/라운드 트립 타임(RTT)으로 제한되게 된다.
도 1은 일반적인 TCP 연결 시 단위 시간당 데이터 전송량을 구하는 상태를 나타낸 도면이다. 도 1을 참조하면, 클라이언트(10)와 웹 서버(20) 간에 TCP 연결이 이루어진 경우, 단위 시간당 데이터 전송량은 Min(CWND, RWND)/RTT로 나타낼 수 있다. 여기서, CWND(Congestion Window)는 네트워크 통신망의 혼잡 상태에 따라 전송 노드가 조절하는 윈도우 크기를 말하고, RWND(Receive Window)는 수신 노드의 윈도우 크기를 말하며, RTT(Round Trip Time)은 전송 노드와 수신 노드 간의 데이터 패킷의 왕복 시간을 말한다. 일반적으로 CWND ≫ RWND 이므로, 단위 시간당 데이터 전송량은 RWND/RTT으로 나타낼 수 있다. RWND는 수신 노드의 상황에 따라 달라지나 단위 시간당 데이터 전송량의 이론적인 최대값을 구하기 위해 RWND의 최대값인 64K byte를 이용하기로 한다. RWND가 64 Kbyte이고, 클라이언트(10)와 웹 서버(20) 간의 RTT가 400ms인 경우, 단위 시간당 데이터 전송량은 (64 Kbyte × 8bit)/0.4s = 1310720 bps = 1.25 Mbps가 된다.
이와 같이, 단위 시간당 데이터 전송량은 RWND/RTT에 의해 제한되는데, 이러한 문제를 해결하기 위해 티씨피 스플라이싱(TCP SPLICING) 기법이 제안된 바 있다. 티씨피 스플라이싱 기법은 두 개의 서로 다른 TCP 연결을 서로 이어주는 기법을 말한다.
도 2는 티씨피 스플라이싱 기법을 통해 단위 시간당 데이터 전송량을 향상시키는 상태를 나타낸 도면이다.
도 2를 참조하면, 클라이언트(10)와 웹 서버(20) 사이에 프록시 서버(30)를 두고 티씨피 스플라이싱 기법을 적용하면, 클라이언트(10)와 프록시 서버(30) 간에 TCP 연결이 이루어지고, 웹 서버(20)와 프록시 서버(30) 간에 또 다른 TCP 연결이 이루어지게 된다. 이 두 개의 TCP 연결을 프록시 서버(30)가 이어주게 된다. 각 TCP 연결의 RTT가 200ms인 경우, 각 TCP 연결의 단위 시간당 데이터 전송량은 (64 Kbyte × 8bit)/0.2s = 2621440 bps = 2.5 Mbps가 된다.
단위 시간당 데이터 전송량이 각각 2.5 Mbps인 두 개의 TCP 연결이 프록시 서버(30)에 의해 연결되므로, 클라이언트(10)와 웹 서버(20) 간의 단위 시간당 데이터 전송량은 2.5 Mbps로 유지되게 된다. 이와 같이, 티씨피 스플라이싱 기법을 사용하면, TCP 연결 시 RTT를 줄일 수 있어 단위 시간당 데이터 전송량을 증가시킬 수 있게 된다.
그러나, 티씨피 스플라이싱 기법은 반드시 프록시 서버를 거쳐야 하기 때문에, 클라이언트(10)에서 프록시 서버(30)에 접속한 후 프록시 서버(30)가 다시 웹 서버(20)에 접속하는 형태로 프록시 설정을 해주어야 한다. 그러나, 일반 사용자가 이러한 프록시 설정을 하는 것은 어렵고 번거로운 작업이라는 문제가 있으며, FTP 등 다른 데이터 전송 프로그램에서는 적용할 수 없다는 문제점이 있다.
한국공개특허공보 제10-2007-0093077호(2007.09.17)
본 발명의 실시예는 별도의 설정 또는 프로그램의 변경 없이 단위 시간당 데이터 전송량을 증가시킬 수 있는 중계 프록시 서버 및 이를 이용한 데이터 전송 방법과 시스템을 제공하고자 한다.
본 발명의 일 실시예에 따른 데이터 전송 시스템은, 제1 단말기와 연결되는 제1 터널링 서버; 상기 제1 단말기와의 기본 TCP 연결을 통해 상기 제1 단말기로부터 데이터 패킷을 수신하는 제2 단말기와 연결되는 제2 터널링 서버; 및상기 제1 터널링 서버와 제1 가상 네트워크를 형성하고, 상기 제2 터널링 서버와 제2 가상 네트워크를 형성하며, 상기 제1 터널링 서버로부터 상기 제1 가상 네트워크를 통하여 수신되는 데이터 패킷을 상기 제2 가상 네트워크를 통해 상기 제2 터널링 서버로 전송하는 중계 프록시 서버를 포함한다.
상기 제1 터널링 서버는, 상기 제1 단말기로부터 상기 데이터 패킷을 수신하고, 수신된 상기 데이터 패킷을 캡슐화하여 상기 제1 가상 네트워크를 통해 상기 중계 프록시 서버로 송신할 수 있다.
상기 제1 터널링 서버는, 상기 중계 프록시 서버와 제1 터널링 연결을 수립하고, 상기 제1 터널링 연결에 대응되는 제1 가상 네트워크 헤더를 수신된 상기 데이터 패킷에 부가함으로써 상기 데이터 패킷을 캡슐화할 수 있다.
상기 중계 프록시 서버는, 상기 제1 터널링 서버로부터 수신된 캡슐화된 데이터 패킷을 재캡슐화하여 상기 제2 가상 네트워크를 통해 상기 제2 터널링 서버로 송신할 수 있다.
상기 중계 프록시 서버는, 상기 수신된 캡슐화된 데이터 패킷을 캡슐 해제(Decapsulation)하고, 캡슐 해제된 상기 데이터 패킷으로부터 획득한 기본 TCP 정보를 이용하여 상기 기본 TCP 연결을 종단 처리하며, 상기 제2 터널링 서버와 제2 터널링 연결을 수립하고, 캡슐 해제된 데이터 패킷에 상기 제2 터널링 연결에 대응되는 제2 가상 네트워크 헤더를 부가하여 제2 터널링 서버로 송신할 수 있다.
상기 제2터널링 서버는,상기 중계 프록시 서버로부터 수신된 재캡슐화된 데이터 패킷을 캡슐 해제(decapsulation)하고, 캡슐 해제된 상기 데이터 패킷을 상기 제2 단말기로 송신할 수 있다.
한편, 본 발명의 일 실시예에 따른 중계 프록시 서버는, 제1 단말기 및 상기 제1 단말기와의 기본 TCP 연결을 통해 상기 제1 단말기로부터 데이터 패킷을 수신하는 제2 단말기 간의 상기 데이터 패킷 송수신을 중계하는 중계 프록시 서버로서, 상기 제1 단말기에 연결된 제1 터널링 서버와 제1 가상 네트워크를 형성하고, 상기 제1 가상 네트워크를 통해 상기 제1 터널링 서버로부터 캡슐화된 상기 데이터 패킷을 수신하는 제1 가상 네트워크 연결부; 상기 제1 가상 네트워크 연결부를 통해 수신된 상기 캡슐화된 데이터 패킷을 재캡슐화 하는 재캡슐화부; 및 상기 제2 단말기에 연결된 제2 터널링 서버와 제2 가상 네트워크를 형성하고, 재캡슐화된 상기 데이터 패킷을 상기 제2 가상 네트워크를 통해 상기 제2 터널링 서버로 송신하는 제2 가상 네트워크 연결부를 포함한다.
상기 제1 가상 네트워크 연결부는, 상기 제1 터널링 서버와 제1 터널링 연결을 수립하고, 상기 제1 터널링 연결에 대응되는 제1 가상 네트워크 헤더가 부가됨으로써 캡슐화된 데이터 패킷을 상기 제1 터널링 서버로부터 수신할 수 있다.
상기 제2 가상 네트워크 연결부는, 상기 제2 터널링 서버와 제2 터널링 연결을 수립하며, 상기 재캡슐화부는, 상기 캡슐화된 데이터 패킷을 캡슐 해제(Decapsulation)하고, 캡슐 해제된 상기 데이터 패킷으로부터 획득한 기본 TCP 정보를 이용하여 상기 기본 TCP 연결을 종단 처리하며, 캡슐 해제된 상기 데이터 패킷에 상기 제2 터널링 연결에 대응되는 제2 가상 네트워크 헤더를 추가함으로써 상기 캡슐화된 데이터 패킷을 재캡슐화할 수 있다.
한편, 본 발명의 일 실시예에 따른 데이터 전송 중계 방법은, 제1 단말기 및 상기 제1 단말기와의 기본 TCP 연결을 통해 상기 제1 단말기로부터 데이터 패킷을 수신하는 제2 단말기 간의 데이터 전송을 중계하기 위한 방법으로서, 제1 가상 네트워크 연결부에서, 상기 제1 단말기에 연결된 제1 터널링 서버와 제1 가상 네트워크를 형성하고, 상기 제1 가상 네트워크를 통해 상기 제1 터널링 서버로부터 캡슐화된 데이터 패킷을 수신하는 단계; 재캡슐화부에서, 상기 제1 가상 네트워크 연결부를 통해 수신된 상기 캡슐화된 데이터 패킷을 재캡슐화하는 단계; 및 제2 가상 네트워크 연결부에서, 상기 제2 단말기에 연결된 제2 터널링 서버와 제2 가상 네트워크를 형성하고, 재캡슐화된 상기 데이터 패킷을 상기 제2 가상 네트워크를 통해 상기 제2 터널링 서버로 송신하는 단계를 포함할 수 있다.
상기 캡슐화된 데이터 패킷을 수신하는 단계는, 상기 제1 터널링 서버와 제1 터널링 연결을 수립하는 단계; 및 상기 제1 터널링 연결에 대응되는 제1 가상 네트워크 헤더가 부가됨으로써 캡슐화된 데이터 패킷을 상기 제1 터널링 서버로부터 수신하는 단계를 더 포함할 수 있다.
상기 제2 가상 네트워크 연결부는, 상기 제2 터널링 서버와 제2 터널링 연결을 수립하며, 상기 재캡슐화 단계는, 상기 캡슐화된 데이터 패킷을 캡슐 해제(Decapsulation)하는 단계; 캡슐 해제된 상기 데이터 패킷으로부터 획득한 기본 TCP 정보를 이용하여 상기 기본 TCP 연결을 종단 처리하는 단계; 및 캡슐 해제된 상기 데이터 패킷에 상기 제2 터널링 연결에 대응되는 제2 가상 네트워크 헤더를 추가함으로써 상기 캡슐화된 데이터 패킷을 재캡슐화하는 단계를 더 포함할 수 있다.
본 발명의 실시예에 의하면, 제1 단말기와 제2 단말기 사이에 중계 프록시 서버를 통해 티씨피 스플라이싱 기법을 적용함으로써, 제1 단말기와 제2 단말기 간의 라운드 트립 타임을 줄일 수 있으며, 그로 인해 단위 시간당 데이터 전송량을 증가시킬 수 있게 된다. 이때, 중계 프록시 서버는 제1 단말기에 연결된 제1 터널링 서버 및 제2 단말기에 연결된 제2 터널링 서버를 통해 각각 가상 네트워크를 형성하고 두 개의 가상 네트워크 사이에서 TCP 연결을 가로채 사용자에게 투명한 프록시 기능을 수행하기 때문에, 제1 단말기 또는 제2 단말기의 사용자 측에서 프록시 설정을 변경하거나 데이터 전송 프로그램을 수정 또는 변경하지 않아도 된다.
도 1은 일반적인 TCP 연결 시 단위 시간당 데이터 전송량을 구하는 상태를 나타낸 도면
도 2는 티씨피 스플라이싱 기법을 통해 단위 시간당 데이터 전송량을 향상시키는 상태를 나타낸 도면
도 3은 터널링 프로토콜을 이용하여 오버레이 네트워크를 구현하는 상태를 나타낸 도면
도 4는 본 발명의 일 실시예에 따른 데이터 전송 시스템의 구성을 나타낸 도면
도 5는 본 발명의 일 실시예에 따른 중계 프록시 서버의 구성을 나타낸 도면
도 2는 티씨피 스플라이싱 기법을 통해 단위 시간당 데이터 전송량을 향상시키는 상태를 나타낸 도면
도 3은 터널링 프로토콜을 이용하여 오버레이 네트워크를 구현하는 상태를 나타낸 도면
도 4는 본 발명의 일 실시예에 따른 데이터 전송 시스템의 구성을 나타낸 도면
도 5는 본 발명의 일 실시예에 따른 중계 프록시 서버의 구성을 나타낸 도면
이하, 도 3 내지 도 5를 참조하여 본 발명의 중계 프록시 서버 및 이를 이용한 데이터 전송 방법과 시스템의 구체적인 실시예를 설명하기로 한다. 그러나 이는 예시적 실시예에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하 실시예는 진보적인 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
본 발명의 실시예에서는프록시 설정 또는 응용 프로그램의 변경 없이 티씨피 스플라이싱 기법을 적용하기 위해, 터널링 프로토콜(Tunneling Protocol)을 통한 오버레이 네트워크(Overlay Network)를 이용하도록 구성된다. 오버레이 네트워크를 이용하면 프록시 설정 또는 응용 프로그램의 변경 없이 특정 서버로 향하는 트래픽의라우팅 경로가 지정된 임의의 서버를 거치도록 할 수 있게 된다.
도 3은 터널링 프로토콜을 이용하여 오버레이 네트워크를 구현하는 상태를 나타낸 도면이다.도 3을 참조하면, 클라이언트(50)와 서버(60) 사이에서 실제적인 라우팅 경로는 클라이언트(50) → R1 → R2 → R3 → R4 → R5 → 서버(60)가 된다. 여기서, R1, R2, R3, R4, R5는 라우터를 나타낸다. 여기서, 이러한 라우팅 경로 밖에 위치하는 라우터 R6과 라우터 R1 및 라우터 R5 사이를 각각 터널링 프로토콜을 이용하여 연결하여 오버레이 네트워크를 형성하면, 클라이언트(50)와 서버(60) 사이에 클라이언트(50) → R1 → R6 → R5 → 서버(60)로 이어지는 논리적 라우팅 경로를 만들 수 있게 된다. 본 발명의 실시예에서는 터널링 프로토콜을 이용하여 오버레이 네트워크를 구성하고, 클라이언트와 서버 사이에 티씨피 스플라이싱 기법이 적용된 중계 프록시 서버를 둠으로써, 클라이언트와 서버 사이의 라운드 트립 타임(RTT)을 줄이고 단위 시간당 데이터 전송량을 증가시킬 수 있게 된다.
도 4는 본 발명의 일 실시예에 따른 데이터 전송 시스템의 구성을 나타낸 도면이다.
도 4를 참조하면, 데이터 전송 시스템(100)은 제1 단말기(102), 제1 터널링 서버(104), 중계 프록시 서버(106), 제2 터널링 서버(108), 및 제2 단말기(110)를 포함한다. 여기서, 해당 네트워크에는 4개의 라우터(R1, R2, R3, R4)가 존재하는 것으로 가정하기로 한다. 라우터 R1, 라우터 R2, 라우터 R3는 각각 제1 터널링 서버(104), 중계 프록시 서버(106), 및 제2 터널링 서버(108)에 연결될 수 있다. 이 경우, 제1 터널링 서버(104)는 라우터 R1을 통해 데이터를 송신 및 수신하고, 중계 프록시 서버(106)는 라우터 R2를 통해 데이터를 송신 및 수신하며, 제2 터널링 서버(108)는 라우터 R3를 통해 데이터를 송신 및 수신하게 된다. 이하 본 발명의 명세서에서는, 제1 터널링 서버(104), 중계 프록시 서버(106), 및 제2 터널링 서버(108)가 각각 라우터 R1, 라우터 R2, 및 라우터 R3를 통해 데이터를 송신 및 수신하는 것을 제1 터널링 서버(104), 중계 프록시 서버(106), 및 제2 터널링 서버(108)가 데이터를 송신 및 수신하는 것으로 간단히 표현하기로 한다.
제1 단말기(102)와 제2 단말기(110) 간의 기본적인 라우팅 경로는 제1 단말기(102) →라우터 R1 →라우터 R4 →라우터 R3 → 제2 단말기(110)인 것으로 가정한다. 제1 단말기(102) 및 제2 단말기(110) 간에는 상기 기본적인 라우팅 경로를 통해 TCP 연결이 이루어지게 된다. 여기서, 기본 라우팅 경로 밖에 위치하는 라우터 R2와 라우터 R1 및 라우터 R3 사이에 터널링 프로토콜을 이용한 오버레이 네트워크(즉, 가상 네트워크)를 형성하기 위해 라우터 R1, 라우터 R2, 라우터 R3의 위치에 각각 제1 터널링 서버(104), 중계 프록시 서버(106), 및 제2 터널링 서버(108)를 구축할 수 있다. 제1 터널링 서버(104), 중계 프록시 서버(106), 및 제2 터널링 서버(108)는 네트워크에 구축되어 있는 기존의 서버를 이용할 수도 있다. 중계 프록시 서버(106)는 제1 단말기(102)와 제2 단말기(110) 사이에 티씨피 스플라이싱 기법을 적용하기 위한 서버이다. 본 발명의 실시예에서는 중계 프록시 서버(106)와 제1 터널링 서버(104) 및 제2 터널링 서버(108) 간에 각각 터널링 연결을 통한 가상 네트워크를 형성함으로써, 제1 단말기(102)와 제2 단말기(110) 간에 제1 단말기(102) →라우터 R1 →라우터 R2 →라우터 R3 → 제2 단말기(110)의 논리적 라우팅 경로를 형성할 수 있게 된다.
이하, 데이터 전송 시스템(100)을 이용하여 제1 단말기(102)가 제2 단말기(110)로 데이터 패킷을 전송하는 과정에 대해 살펴보기로 한다. 즉, 제1 단말기(102) 및 제2 단말기(110) 간에 상기 기본적인 라우팅 경로에 의한 TCP 연결(이하, 기본 TCP 연결이라 함)이 이루어져 있는 경우, 상기 가상 네트워크 및 티씨피 스플라이싱 기법에 의해 형성된 논리적 라우팅 경로에 따라 데이터 패킷이 전송되는 과정에 대해 살펴보기로 한다.
먼저, 중계 프록시 서버(106)는 제1 터널링 서버(104)와 제1 가상 네트워크를 형성하고(①), 제2 터널링 서버(108)와 제2 가상 네트워크를 형성한다(②). 중계 프록시 서버(106)는 터널링 프로토콜을 이용하여 제1 터널링 서버(104)와 제1 가상 네트워크(즉, 오버레이 네트워크)를 형성하고, 제2 터널링 서버(108)와 제2 가상 네트워크를 형성할 수 있다. 이와 같이, 제1 가상 네트워크 및 제2 가상 네트워크를 형성함으로써, 제1 터널링 서버(104)와 중계 프록시 서버(106) 간에 제1 터널링 연결이 이루어지고, 중계 프록시 서버(106)와 제2 터널링 서버(110) 간에 제2 터널링 연결이 이루어지게 된다. 이때, 상기 제1 터널링 연결 및 제2 터널링 연결은 예를 들어 TCP를 이용하여 수행될 수 있다. 이 경우 상기 제1 터널링 연결 및 제2 터널링 연결은 각각 제1 TCP 연결 및 제2 TCP 연결이 될 수 있다.
다음으로, 제1 단말기(102)는 데이터 패킷을 생성하여 제1 터널링 서버(104)로 전달한다(③). 제1 단말기(102)는 제2 단말기(110)와 맺은 기본 TCP 연결에 따라 데이터 패킷을 생성하게 된다. 해당 데이터 패킷의 최종 목적지는 제2 단말기(110)이므로, 제1 단말기(102)는 데이터 패킷의 헤더의 목적지 필드에 제2 단말기(110)의 주소를 기록하고, 출발지 필드에 제1 단말기(102)의 주소를 기록하게 된다.
다음으로, 제1 터널링 서버(104)는 제1 단말기(102)로부터 수신한 데이터 패킷을 캡슐화하고, 캡슐화된 패킷을 제1 가상 네트워크를 통해 중계 프록시 서버(106)로 전송한다(④). 구체적으로, 제1 터널링 서버(104)는 제1 단말기(102)로부터 수신한 데이터 패킷에 헤더를 추가하여 캡슐화(Encapsulation) 할 수 있다. 이때, 추가된 헤더의 목적지 필드에는 중계 프록시 서버(106)의 주소가 기록되고, 출발지 필드에는 제1 터널링 서버(104)의 주소가 기록될 수 있다. 즉, 제1 터널링 서버(104)는 제1 가상 네트워크를 통해 중계 프록시 서버(106)와 제1 터널링 연결을 이루고 있는데, 제1 단말기(102)로부터 수신한 데이터 패킷의 목적지는 제2 단말기(110)로 되어 있으므로, 상기 수신한 데이터 패킷을 중계 프록시 서버(106)로 전송하기 위해 상기 수신한 데이터 패킷을 캡슐화하여 전송한다.
다음으로, 중계 프록시 서버(106)는 제1 터널링 서버(104)로부터 캡슐화 된 데이터 패킷 수신하고, 이를 재캡슐화 하여 제2 터널링 서버(108)로 전송한다(⑤). 구체적으로, 중계 프록시 서버(106)는 제1 터널링 서버(104)로부터 수신한 캡슐화 된 데이터 패킷을 캡슐 해제(Decapsulation)하여 추가된 제1 가상 네트워크 헤더를 제거한다.
이후, 중계 프록시 서버(106)는 상기 캡슐 해제된 데이터 패킷으로부터 상기 기본 TCP 연결 정보를 획득한 뒤, 이를 이용하여상기 기본 TCP 연결을 종단 처리한다. 중계 프록시 서버(106)는 상기 수신한 캡슐화된 데이터 패킷을 캡슐 해제한 후 상기 기본 TCP 연결에 대한 ACK 신호를 제1 터널링 서버(104)를 통해 제1 단말기(102)로 전송하여 기본 TCP 연결을 종단 처리할 수 있다. 이 경우, 제1 단말기(102)는 데이터 패킷에 대한 전송 처리가 완료된 것으로 판단할 수 있다. 즉 본 발명의 실시예에서, 제1 단말기(102)에서 제2 단말기(110)로 전송되는 데이터 패킷은 1차적으로 중계 프록시 서버(106)에서 종단 처리되며, 이후 중계 프록시 서버(106)는 티씨피 스플라이싱 기법을 이용한 별도의 TCP 연결을 통해 상기 데이터 패킷을 제2 단말기(110)로 송신하게 된다. 따라서 제1 단말기(102)로서는 제2 단말기(110)보다 가까운 중계 프록시 서버(106)로 데이터 패킷을 전달하는 것 만으로 데이터 전송이 완료되는 것과 같은 효과를 가지게 되는 바, 데이터 전송의 효율이 향상될 수 있다.
다음으로, 중계 프록시 서버(106)는 상기 데이터 패킷에 새롭게 제2 가상 네트워크 헤더를 추가하여 이를 재캡슐화한다. 이때, 추가된 헤더의 목적지 필드에는 제2 터널링 서버(108)의 주소가 기록되고, 출발지 필드에는 중계 프록시 서버(106)의 주소가 기록될 수 있다. 여기서, 중계 프록시 서버(106)는 제1 터널링 서버(104)로부터 수신한 캡슐화된 데이터 패킷을 캡슐 해제하고 상기 기본 TCP 연결을 종단 처리하며 상기 데이터 패킷을 재캡슐화 함으로써, 제1 단말기(102)와 중계 프록시 서버(106) 사이의 제1 터널링 연결(제1 TCP 연결)과 제2 단말기(110)와 중계 프록시 서버(106) 사이의 제2 터널링 연결(제2 TCP 연결)을 서로 이어주는 티씨피 스플라이싱을 수행하게 된다.
다음으로, 제2 터널링 서버(108)는 중계 프록시 서버(106)로부터 수신한 재캡슐화 된 데이터 패킷을 캡슐 해제(Decapsulation)하여 제2 단말기(110)로 전송한다(⑥). 구체적으로, 제2 터널링 서버(108)는 중계 프록시 서버(106)로부터 수신한 재캡슐화 된 데이터 패킷에서 새롭게 추가된 헤더를 제거한 후 원래의 데이터 패킷(즉, 제1 단말기(102)가 생성한 데이터 패킷)을 제2 단말기(110)로 전송할 수 있다. 여기서, 재캡슐화 시 새롭게 추가된 헤더를 제거하면, 원래의 데이터 패킷의 헤더에는 목적지가 제2 단말기(110)의 주소로 기록되어 있으므로, 제2 터널링 서버(108)는 원래의 데이터 패킷을 제2 단말기(110)로 전송하게 된다.
여기서, 제1 단말기(102)와 제2 단말기(110) 간의 기본적인 라우팅 경로(제1 단말기(102) →라우터 R1 →라우터 R4 →라우터 R3 → 제2 단말기(110))에 의한 라운드 트립 타임(RTT)이 400ms이고, 제1 터널링 연결에 의한 제1 단말기(102)와 중계 프록시 서버(106)간의 라운드 트립 타임 및 제2 터널링 연결에 의한 중계 프록시 서버(106)와 제2 단말기(110) 간의 라운드 트립 타임은 각각 200ms라고 가정하자. 이 경우 중계 프록시 서버(106)를 통한 티씨피 스플라이싱 기법이 적용됨으로써, 제1 단말기(102)와 제2 단말기(110) 간의 전체 라운드 트립 타임은 200ms로 줄어들 수 있게 된다. 즉, 제1 단말기(102)와 제2 단말기(110) 간에 기본적인 라우팅 경로를 통해 데이터를 전송하는 경우 단위 시간당 데이터 전송량(즉, (64 Kbyte * 8bit)/0.4s)은 최대 1.25 Mbps가 되나, 본 발명의 실시예에 의하면 단위 시간당 데이터 전송량(즉, (64 Kbyte * 8bit)/0.2s)은 최대 2.5 Mbps로 증가하게 된다. 그리고, 본 발명의 실시예에서는 제1 터널링 서버(104) 및 제2 터널링 서버(108)를 통해 중계 프록시 서버(106)와 각각 가상 네트워크를 형성하여 TCP 연결이 이루어지기 때문에, 제1 단말기(102) 또는 제2 단말기(110)의 사용자 측에서 프록시 설정을 변경하거나 데이터 전송 프로그램을 수정 또는 변경하지 않아도 된다.
도 5는 본 발명의 일 실시예에 따른 중계 프록시 서버의 구성을 나타낸 도면이다.
도 5를 참조하면, 중계 프록시 서버(106)는 제1 가상 네트워크 연결부(121), 제2 가상 네트워크 연결부(124), 및 재캡슐화부(127)를 포함한다.
제1 가상 네트워크 연결부(121)는 제1 터널링 서버(104)와 제1 가상 네트워크를 형성한다. 이때, 제1 가상 네트워크 연결부(121)는 터널링 프로토콜을 이용하여 제1 터널링 서버(104)와 제1 가상 네트워크를 형성할 수 있다. 이 경우, 제1 가상 네트워크 연결부(121)는 제1 터널링 서버(104)와 제1 터널링 연결을 이루게 된다. 제1 가상 네트워크 연결부(121)는 제1 터널링 서버(104)로부터 캡슐화된 데이터 패킷을 수신할 수 있다.
제2 가상 네트워크 연결부(124)는 제2 터널링 서버(108)와 제2 가상 네트워크를 형성한다. 이때, 제2 가상 네트워크 연결부(124)는 터널링 프로토콜을 이용하여 제2 터널링 서버(108)와 제2 가상 네트워크를 형성할 수 있다. 이 경우, 제2 가상 네트워크 연결부(124)는 제2 터널링 서버(108)와 제2 터널링 연결을 이루게 된다. 제2 가상 네트워크 연결부(124)는 재캡슐화부(127)에 의해 재캡슐화 된 데이터 패킷을 제2 터널링 서버(108)와 전송할 수 있다.
재캡슐화부(127)는 제1 가상 네트워크 연결부(121)가 제1 터널링 서버(104)로부터 수신한 캡슐화된 데이터 패킷을 재캡슐화한다. 구체적으로, 재캡슐화부(127)는 제1 터널링 서버(104)로부터 수신한 캡슐화된 데이터 패킷을 캡슐 해제(Decapsulation)하여 추가된 헤더를 제거할 수 있다. 다음으로, 재캡슐화부(127)는 기본 TCP 연결에 대한 ACK 신호를 제1 가상 네트워크 연결부(121)를 통해 제1 터널링 서버(104)로 전송하여 기본 TCP 연결을 종단 처리할 수 있다. 다음으로, 재캡슐화부(127)는 데이터 패킷에 새롭게 헤더를 추가하여 재캡슐화 할 수 있다. 이때, 재캡슐화부(127)는 새롭게 추가된 헤더의 목적지 필드에 제2 가상 네트워크 연결부(124)와 제2 터널링 연결을 이루고 있는 제2 터널링 서버(108)의 주소를 기록할 수 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 데이터 전송 시스템
102: 제1 단말기
104: 제1 터널링 서버
106: 중계 프록시 서버
108: 제2 터널링 서버
110: 제2 단말기
121: 제1 가상 네트워크 연결부
124: 제2 가상 네트워크 연결부
127: 재캡슐화부
102: 제1 단말기
104: 제1 터널링 서버
106: 중계 프록시 서버
108: 제2 터널링 서버
110: 제2 단말기
121: 제1 가상 네트워크 연결부
124: 제2 가상 네트워크 연결부
127: 재캡슐화부
Claims (12)
- 제1 단말기와 연결되는 제1 터널링 서버;
상기 제1 단말기와의기본 TCP 연결을 통해 상기 제1 단말기로부터 데이터 패킷을 수신하는 제2 단말기와 연결되는 제2 터널링 서버; 및
상기 제1 터널링 서버와 제1 가상 네트워크를 형성하고, 상기 제2 터널링 서버와 제2 가상 네트워크를 형성하며, 상기 제1 터널링 서버로부터 상기 제1 가상 네트워크를 통하여 수신되는 데이터 패킷을 상기 제2 가상 네트워크를 통해 상기 제2 터널링 서버로 전송하는 중계 프록시 서버를 포함하는, 데이터 전송 시스템.
- 청구항 1에 있어서,
상기 제1 터널링 서버는, 상기 제1 단말기로부터 상기 데이터 패킷을 수신하고, 수신된 상기 데이터 패킷을 캡슐화하여 상기 제1 가상 네트워크를 통해 상기 중계 프록시 서버로 송신하는, 데이터 전송 시스템.
- 청구항 2에 있어서,
상기 제1 터널링 서버는, 상기 중계 프록시 서버와 제1 터널링 연결을 수립하고, 상기 제1 터널링 연결에 대응되는 제1 가상 네트워크 헤더를 수신된 상기 데이터 패킷에 부가함으로써 상기 데이터 패킷을 캡슐화하는, 데이터 전송 시스템.
- 청구항 3에 있어서,
상기 중계 프록시 서버는, 상기 제1 터널링 서버로부터 수신된 캡슐화된 데이터 패킷을 재캡슐화하여 상기 제2 가상 네트워크를 통해 상기 제2 터널링 서버로 송신하는, 데이터 전송 시스템.
- 청구항 4에 있어서,
상기 중계 프록시 서버는, 상기 수신된 캡슐화된 데이터 패킷을 캡슐 해제(Decapsulation)하고,
캡슐 해제된 상기 데이터 패킷으로부터 획득한 기본 TCP 정보를 이용하여 상기 기본 TCP 연결을 종단 처리하며,
상기 제2 터널링 서버와 제2 터널링 연결을 수립하고, 캡슐 해제된 데이터 패킷에 상기 제2 터널링 연결에 대응되는 제2 가상 네트워크 헤더를 부가하여 제2 터널링 서버로 송신하는, 데이터 전송 시스템.
- 청구항 4에 있어서,
상기 제2 터널링 서버는,
상기 중계 프록시 서버로부터 수신된 재캡슐화된 데이터 패킷을 캡슐 해제(decapsulation)하고, 캡슐 해제된 상기 데이터 패킷을 상기 제2 단말기로 송신하는, 데이터 전송 시스템.
- 제1 단말기 및 상기 제1 단말기와의 기본 TCP 연결을 통해 상기 제1 단말기로부터 데이터 패킷을 수신하는 제2 단말기 간의 상기 데이터 패킷 송수신을 중계하는 중계 프록시 서버로서,
상기 제1 단말기에 연결된 제1 터널링 서버와 제1 가상 네트워크를 형성하고, 상기 제1 가상 네트워크를 통해 상기 제1 터널링 서버로부터 캡슐화된 상기 데이터 패킷을 수신하는 제1 가상 네트워크 연결부;
상기 제1 가상 네트워크 연결부를 통해 수신된 상기 캡슐화된 데이터 패킷을 재캡슐화하는 재캡슐화부; 및
상기 제2 단말기에 연결된 제2 터널링 서버와 제2 가상 네트워크를 형성하고, 재캡슐화된 상기 데이터 패킷을 상기 제2 가상 네트워크를 통해 상기 제2 터널링 서버로 송신하는 제2 가상 네트워크 연결부를 포함하는, 중계 프록시 서버.
- 청구항 7에 있어서,
상기 제1 가상 네트워크 연결부는, 상기 제1 터널링 서버와 제1 터널링 연결을 수립하고, 상기 제1 터널링 연결에 대응되는 제1 가상 네트워크 헤더가 부가됨으로써 캡슐화된 데이터 패킷을 상기 제1 터널링 서버로부터 수신하는, 중계 프록시 서버.
- 청구항 8에 있어서,
상기 제2 가상 네트워크 연결부는, 상기 제2 터널링 서버와 제2 터널링 연결을 수립하며,
상기 재캡슐화부는, 상기 캡슐화된 데이터 패킷을 캡슐 해제(Decapsulation)하고,
캡슐 해제된 상기 데이터 패킷으로부터 획득한 기본 TCP 정보를 이용하여 상기 기본 TCP 연결을 종단 처리하며,
캡슐 해제된 상기 데이터 패킷에 상기 제2 터널링 연결에 대응되는 제2 가상 네트워크 헤더를 추가함으로써 상기 캡슐화된 데이터 패킷을 재캡슐화하는, 중계 프록시 서버.
- 제1 단말기 및 상기 제1 단말기와의 기본 TCP 연결을 통해 상기 제1 단말기로부터 데이터 패킷을 수신하는 제2 단말기 간의 데이터 전송을 중계하기 위한 방법으로서,
제1 가상 네트워크 연결부에서, 상기 제1 단말기에 연결된 제1 터널링 서버와 제1 가상 네트워크를 형성하고, 상기 제1 가상 네트워크를 통해 상기 제1 터널링 서버로부터 캡슐화된 데이터 패킷을 수신하는 단계;
재캡슐화부에서, 상기 제1 가상 네트워크 연결부를 통해 수신된 상기 캡슐화된 데이터 패킷을 재캡슐화하는 단계; 및
제2 가상 네트워크 연결부에서, 상기 제2 단말기에 연결된 제2 터널링 서버와 제2 가상 네트워크를 형성하고, 재캡슐화된 상기 데이터 패킷을 상기 제2 가상 네트워크를 통해 상기 제2 터널링 서버로 송신하는 단계를 포함하는, 데이터 전송 중계 방법.
- 청구항 10에 있어서,
상기 캡슐화된 데이터 패킷을 수신하는 단계는,
상기 제1 터널링 서버와 제1 터널링 연결을 수립하는 단계; 및
상기 제1 터널링 연결에 대응되는 제1 가상 네트워크 헤더가 부가됨으로써 캡슐화된 데이터 패킷을 상기 제1 터널링 서버로부터 수신하는 단계를 더 포함하는, 데이터 전송 중계 방법.
- 청구항 11에 있어서,
상기 제2 가상 네트워크 연결부는, 상기 제2 터널링 서버와 제2 터널링 연결을 수립하며,
상기 재캡슐화 단계는, 상기 캡슐화된 데이터 패킷을 캡슐 해제(Decapsulation)하는 단계;
캡슐 해제된 상기 데이터 패킷으로부터 획득한 기본 TCP 정보를 이용하여 상기 기본 TCP 연결을 종단 처리하는 단계; 및
캡슐 해제된 상기 데이터 패킷에상기 제2 터널링 연결에 대응되는 제2 가상 네트워크 헤더를 추가함으로써 상기 캡슐화된 데이터 패킷을 재캡슐화하는 단계를 더 포함하는, 데이터 전송 중계 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130142598A KR102087735B1 (ko) | 2013-11-22 | 2013-11-22 | 중계 프록시 서버, 이를 이용한 데이터 전송 중계 방법 및 데이터 전송시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130142598A KR102087735B1 (ko) | 2013-11-22 | 2013-11-22 | 중계 프록시 서버, 이를 이용한 데이터 전송 중계 방법 및 데이터 전송시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150059248A true KR20150059248A (ko) | 2015-06-01 |
KR102087735B1 KR102087735B1 (ko) | 2020-03-11 |
Family
ID=53490369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130142598A KR102087735B1 (ko) | 2013-11-22 | 2013-11-22 | 중계 프록시 서버, 이를 이용한 데이터 전송 중계 방법 및 데이터 전송시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102087735B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170122440A (ko) * | 2016-04-27 | 2017-11-06 | 삼성에스디에스 주식회사 | 가상화 시뮬레이터 및 이를 구비하는 빌딩 관리 시스템 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102383998B1 (ko) | 2021-04-05 | 2022-04-08 | 주식회사 틸코블렛 | Ip주소를 관리하는 프록시 서버가 포함된 정보수집 대행 시스템 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090010951A (ko) * | 2006-04-25 | 2009-01-30 | 오비탈 데이터 코오포레이션 | 네트워크 디바이스를 위한 가상 인라인 구성 |
WO2009093308A1 (ja) * | 2008-01-22 | 2009-07-30 | Ntt Pc Communications, Inc. | 接続制御方法、接続制御サーバ装置、接続制御クライアント装置、及びプログラム |
-
2013
- 2013-11-22 KR KR1020130142598A patent/KR102087735B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090010951A (ko) * | 2006-04-25 | 2009-01-30 | 오비탈 데이터 코오포레이션 | 네트워크 디바이스를 위한 가상 인라인 구성 |
WO2009093308A1 (ja) * | 2008-01-22 | 2009-07-30 | Ntt Pc Communications, Inc. | 接続制御方法、接続制御サーバ装置、接続制御クライアント装置、及びプログラム |
Non-Patent Citations (1)
Title |
---|
삭제 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170122440A (ko) * | 2016-04-27 | 2017-11-06 | 삼성에스디에스 주식회사 | 가상화 시뮬레이터 및 이를 구비하는 빌딩 관리 시스템 |
Also Published As
Publication number | Publication date |
---|---|
KR102087735B1 (ko) | 2020-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10122574B2 (en) | Methods and apparatus for a common control protocol for wired and wireless nodes | |
JP4669536B2 (ja) | 送信方法、トンネル終端装置、コンピュータプログラム | |
KR102226366B1 (ko) | 패킷 프로세싱 방법 및 디바이스 | |
US10085253B2 (en) | Methods and apparatus for controlling wireless access points | |
US8250643B2 (en) | Communication device, communication system, communication method, and program | |
JP5580706B2 (ja) | 再送制御プロトコルを用いるデータ転送装置、プログラム及び方法 | |
CN105009544A (zh) | 报文的隧道处理方法、交换设备及控制设备 | |
WO2009056061A1 (fr) | Procédé, système et dispositif pour transmettre un datagramme de protocole de tunnellisation de service général de radiocommunication par paquets | |
CN102624723B (zh) | 一种实现显式拥塞通告的方法及设备 | |
CN104426737B (zh) | 一种实现动态虚拟专用网络链路层通信的方法和装置 | |
JP4998687B2 (ja) | 通信システム、トンネリング装置、通信方法、およびプログラム | |
CN109936492A (zh) | 一种通过隧道传输报文的方法、装置和系统 | |
CN108282391B (zh) | 一种vxlan报文分片方法和装置 | |
CN111865940B (zh) | 一种传输优化的方法及装置 | |
KR102087735B1 (ko) | 중계 프록시 서버, 이를 이용한 데이터 전송 중계 방법 및 데이터 전송시스템 | |
CN102255790A (zh) | 拥塞控制信息的通知方法和系统 | |
JP2021093723A (ja) | マルチホップネットワークルーティング拡張 | |
EP2600569B1 (en) | Method, apparatus and system for processing a tunnel packet | |
CN109302504B (zh) | Ptn中控制信令通道的建立方法、ptn网元及存储介质 | |
CN113852784B (zh) | 一种视频流传输方法及系统 | |
CN105991307B (zh) | 一种远程控制路由器的方法和装置 | |
JP5752644B2 (ja) | 通信路終端装置、データサイズ決定方法およびデータサイズ決定プログラム | |
CN117692534A (zh) | 数据传输方法、装置、存储介质和电子设备 | |
CN115065734A (zh) | 一种数据处理方法、装置及芯片 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |