KR102033452B1 - 다중망 병합 전송 시스템, 그리고 이의 동작 방법 - Google Patents

다중망 병합 전송 시스템, 그리고 이의 동작 방법 Download PDF

Info

Publication number
KR102033452B1
KR102033452B1 KR1020160085045A KR20160085045A KR102033452B1 KR 102033452 B1 KR102033452 B1 KR 102033452B1 KR 1020160085045 A KR1020160085045 A KR 1020160085045A KR 20160085045 A KR20160085045 A KR 20160085045A KR 102033452 B1 KR102033452 B1 KR 102033452B1
Authority
KR
South Korea
Prior art keywords
network
subflow
data
network device
terminal
Prior art date
Application number
KR1020160085045A
Other languages
English (en)
Other versions
KR20180005076A (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
Application filed by 주식회사 케이티 filed Critical 주식회사 케이티
Priority to KR1020160085045A priority Critical patent/KR102033452B1/ko
Publication of KR20180005076A publication Critical patent/KR20180005076A/ko
Application granted granted Critical
Publication of KR102033452B1 publication Critical patent/KR102033452B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9042Separate storage for different parts of the packet, e.g. header and payload
    • H04L67/2842
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Abstract

제1망의 에지(edge)에 배치되는 네트워크 장치의 동작 방법으로서, 상기 제1망의 기지국을 거쳐 단말과 연결되는 제1 서브플로우를 생성하는 단계, 상기 제1 서브플로우를 통해 전송되는 트래픽 특성을 기초로 제2 서브플로우를 추가할지 판단하는 단계, 그리고 상기 제2 서브플로우를 추가하는 경우, 상기 단말로 서브플로우 추가를 요청하는 단계를 포함한다.

Description

다중망 병합 전송 시스템, 그리고 이의 동작 방법{APPARATUS FOR MULTINET AGGREGATION TRANSMISSION, AND OPERATING METHOD THEREOF}
본 발명은 다중망 병합 전송에 관한 것이다.
병합 전송(aggregation transmission)은 복수의 통신망을 동시에 사용하여 데이터를 전송하는 기술로서, 각 경로로 전송된 데이터를 하나의 세션으로 처리한다. 병합 전송 기술을 통해, 단말은 한 시점에 복수의 통신망에 연결될 수 있고, 하나의 서비스/어플리케이션은 망 종류나 망의 수에 관계없이 복수의 망을 하나의 망처럼 병합하여 통신한다. 따라서, 병합 전송 장치는 가용한 복수의 망 자원을 이용하여 대량의 데이터를 빠르게 송수신할 수 있다. 복수의 망을 병합하는 의미에서 다중망 병합(MultiNet Aggregation)이라고 부를 수 있다.
병합 전송 기술 중에서 여러 개의 TCP 플로우를 묶어서 사용하는 다중 경로 TCP(Multi-Path TCP, MPTCP) 기술이 있다. MPTCP는 복수의 IP 인터페이스를 동시에 사용하기 위한 L4 기술이다. 복수의 물리적 인터페이스를 구비한 단말은 MPTCP 기술을 통해, 한 시점에 복수의 통신망에 연결될 수 있고, 서브플로우(subflow) 단위로 세션을 생성하여 단대단 통신한다.
본 발명이 해결하고자 하는 과제는 다중망 병합 전송 장치의 기능이 네트워크 에지(Edge)와 코어(Core)로 분산되는 시스템에서의 다중망 병합 처리 방법과 사용량 처리 방법을 제공하는 것이다.
본 발명의 한 실시예에 따른 제1망의 에지(edge)에 배치되는 네트워크 장치의 동작 방법으로서, 상기 제1망의 기지국을 거쳐 단말과 연결되는 제1 서브플로우를 생성하는 단계, 상기 제1 서브플로우를 통해 전송되는 트래픽 특성을 기초로 제2 서브플로우를 추가할지 판단하는 단계, 그리고 상기 제2 서브플로우를 추가하는 경우, 상기 단말로 서브플로우 추가를 요청하는 단계를 포함한다.
상기 제2 서브플로우를 추가할지 판단하는 단계는 상기 트래픽 특성이 서브플로우 추가 기준에 해당하는 경우, 상기 제2 서브플로우를 추가하도록 판단하고, 상기 서브플로우 추가 기준은 버스트 트래픽, 단위시간당 기준값 이상 전송되는 트래픽, 그리고 지정된 목적지 서버로 향하는 트래픽 중 적어도 하나를 포함할 수 있다.
상기 제1망의 에지(edge)에 배치되는 네트워크 장치는 상기 제2 서브플로우가 생성되는 제2망에 연결되고, 상기 제2망에서 상기 제2 서브플로우를 생성할 수 있다.
상기 동작 방법은 상기 단말로부터 상기 제1 서브플로우와 상기 제2 서브플로우 중 적어도 하나를 통해 수신한 상향 데이터를 인터넷망을 통해 목적지 서버로 전송하는 단계, 그리고 상기 인터넷망을 통해 하향 데이터를 수신하고, 상기 하향 데이터를 상기 제1 서브플로우와 상기 제2 서브플로우 중 적어도 하나를 통해 상기 단말로 전송하는 단계를 더 포함할 수 있다.
상기 동작 방법은 상기 제1 서브플로우를 통해 전송된 데이터 사용량을 상기 제1망의 코어(Core)에 배치되는 네트워크 장치에 보고하는 단계를 더 포함하고, 상기 제1망의 코어(Core)에 배치되는 네트워크 장치는 상기 데이터 사용량을 나타내는 패킷을 생성하고, 상기 패킷을 상기 제1망의 과금 장치와 인터페이스 연결된 네트워크 장치로 전송할 수 있다.
본 발명의 다른 실시예에 따른 제1망의 코어(core)에 배치되는 제1 네트워크 장치의 동작 방법으로서, 상기 제1망의 에지(edge)에 배치되는 제2 네트워크 장치로부터 과금할 데이터 사용량을 수신하는 단계, 상기 데이터 사용량을 나타내는 사용량 리포트 패킷을 생성하는 단계, 그리고 상기 사용량 리포트 패킷을 상기 제1망의 과금 장치와 인터페이스 연결된 제3 네트워크 장치로 전송하는 단계를 포함하고, 상기 데이터 사용량은 상기 제1망에서 생성된 서브플로우를 통해 전송된 데이터량을 기초로 계산된다.
상기 사용량 리포트 패킷을 생성하는 단계는 헤더만을 포함하는 패킷을 생성하고, 상기 헤더에서 데이터 크기를 지시하는 필드의 값을 상기 데이터 사용량에 해당하는 값으로 수정하여 상기 사용량 리포트 패킷을 생성할 수 있다.
상기 사용량 리포트 패킷을 생성하는 단계는 상기 데이터 사용량에 해당하는 크기의 페이로드를 포함하는 상기 사용량 리포트 패킷을 생성할 수 있다.
상기 제3 네트워크 장치로 전송하는 단계는 상기 제3 네트워크 장치를 통과하도록 상기 사용량 리포트 패킷을 입력할 수 있다.
상기 제3 네트워크 장치를 통과한 상기 사용량 리포트 패킷은 상기 제2 네트워크 장치 또는 패킷 종료 장치에 의해 종료 처리될 수 있다.
본 발명의 또 다른 실시예에 따른 다중망 병합 전송 시스템으로서, 제1망의 에지(edge)에 배치되고, 상기 제1망을 포함하는 복수의 망과 연결되며, 상기 복수의 망 중 적어도 하나의 망을 통해 제1 단말과 연결되는 적어도 하나의 서브플로우를 생성하는 제1 네트워크 장치, 그리고 상기 제1 네트워크 장치와 연동하고, 상기 제1 네트워크 장치로부터 과금할 데이터 사용량을 수신하고, 상기 데이터 사용량을 나타내는 사용량 리포트 패킷을 생성하는 제2 네트워크 장치를 포함하고, 상기 제1 네트워크 장치는 상기 제1 단말로부터 상기 적어도 하나의 서브플로우를 통해 수신한 상향 데이터를 인터넷망을 통해 목적지 서버로 전송하고, 상기 인터넷망을 통해 수신한 하향 데이터를 상기 적어도 하나의 서브플로우를 통해 상기 제1 단말로 전송한다.
상기 제1 네트워크 장치는 상기 제1망의 기지국을 거쳐 상기 제1 단말과 연결되는 제1 서브플로우를 생성하고, 상기 제1 서브플로우를 통해 전송되는 트래픽 특성을 기초로 상기 제1 단말로 서브플로우 추가를 요청할 수 있다.
상기 제1 네트워크 장치는 상기 트래픽 특성이 서브플로우 추가 기준에 해당하는 경우, 상기 서브플로우 추가를 요청하고, 상기 서브플로우 추가 기준은 버스트 트래픽, 단위시간당 기준값 이상 전송되는 트래픽, 그리고 지정된 목적지 서버로 향하는 트래픽 중 적어도 하나를 포함할 수 있다.
상기 제1 네트워크 장치는 상기 제1 단말로부터 상기 제1 서브플로우 생성을 요청받으면, 상기 제2 네트워크 장치와 제어 정보 교환을 위한 세션을 생성하고, 상기 제1 단말로부터 세션 연결 요청된 목적지 서버와 데이터 교환을 위한 세션을 생성한 후, 상기 제1 서브플로우를 상기 제1망에서 생성할 수 있다.
상기 제1 네트워크 장치는 제2망을 통해 상기 제1 단말로부터 제2 서브플로우 생성을 요청받으면, 상기 제2망에 상기 제2 서브플로우를 생성할 수 있다.
상기 제2 네트워크 장치는 상기 제1망의 과금 장치와 인터페이스 연결된 제3 네트워크 장치로 상기 사용량 리포트 패킷을 전송하고, 상기 사용량 리포트 패킷은 상기 제3 네트워크 장치를 통과할 수 있다.
상기 사용량 리포트 패킷은 헤더에서 데이터 크기를 지시하는 필드의 값이 상기 데이터 사용량에 해당하는 값으로 수정되거나, 페이로드가 상기 데이터 사용량에 해당하는 크기로 채워진 패킷일 수 있다.
상기 제1 네트워크 장치는 상기 제2 네트워크 장치로부터 전파된 캐쉬 데이터를 저장할 수 있다.
상기 제1 네트워크 장치는 제2 단말로부터 연결 요청 받은 목적지 서버의 정보가 저장된 캐쉬 데이터에 적중하는지 판단하며, 캐쉬 데이터에 적중하는 경우, 상기 제2 단말과 연결된 적어도 하나의 서브플로우를 통해 적중한 캐쉬 데이터를 전송하고, 상기 적어도 하나의 서브플로우를 통해 전송한 데이터 중에서 과금할 데이터 사용량을 상기 제2 네트워크 장치로 보고할 수 있다.
본 발명의 실시예에 따르면 단일 네트워크 장치에 집중된 다중망 병합 전송 기능을 트래픽 처리 기능과 사용량 처리 기능으로 분리하여 네트워크 에지(Edge)와 코어(Core)에 분산 배치할 수 있다. 이를 통해 본 발명의 실시예에 따르면 EPC(Evolved Packet Core)에 집중되는 트래픽을 분산할 수 있다. 또한 본 발명의 실시예에 따르면 네트워크 에지에 배치되는 장치마다 사용량 처리 기능을 중복적으로 탑재할 필요 없어 네트워크 장치 비용을 낮출 수 있다.
본 발명의 실시예에 따르면 네트워크 측에서 트래픽 특성을 기초로 다중망 병합 여부를 판단하므로 불필요한 세션 병합을 줄일 수 있다.
본 발명의 실시예에 따르면 네트워크 측에서 단말로 다중망 병합 지시를 하므로, 단말에서 프록시 연결할 필요가 없다. 따라서 본 발명의 실시예에 따르면 단말이 프록시 클라이언트 기능을 탑재할 필요 없고, 프록시 연결에 의한 세션 연결 지연 시간을 줄일 수 있다.
본 발명의 실시예에 따르면 다중망 병합 전송을 위한 네트워크 자원을 효율적으로 사용할 수 있다.
도 1은 본 발명의 한 실시예에 따른 다중망 병합 시스템의 구성도를 설명하는 도면이다.
도 2는 프록시 기반 세션 연결을 설명하는 도면이다.
도 3은 본 발명의 한 실시예에 따른 다중망 병합 전송 시스템의 구성도이다.
도 4는 본 발명의 한 실시예에 따른 다중망 병합 전송 시스템의 동작 방법을 설명하는 흐름도이다.
도 5는 본 발명의 한 실시예에 따른 다중망 병합 전송 시스템의 네트워크 장치들의 블록도이다.
도 6은 본 발명의 한 실시예에 따른 단말의 블록도이다.
도 7은 본 발명의 한 실시예에 따른 다중망 병합 전송 시스템에서의 캐쉬 분산 방법의 흐름도이다.
도 8은 본 발명의 한 실시예에 따른 다중망 병합 전송 시스템의 하드웨어 블록도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
본 명세서에서 단말은 이동국(Mobile Station, MS), 이동 단말(Mobile Terminal, MT), 가입자국(Subscriber Station, SS), 휴대 가입자국(Portable Subscriber Station, PSS), 사용자 장치(User Equipment, UE), 접근 단말(Access Terminal, AT) 등을 지칭할 수도 있고, 이동국, 이동 단말, 가입자국, 휴대 가입자 국, 사용자 장치, 접근 단말 등의 전부 또는 일부의 기능을 포함할 수도 있다.
본 명세서의 단말은 기지국(base station, BS), 접근점(Access Point, AP), 무선 접근국(Radio Access Station, RAS), 노드B(Node B), 고도화 노드B(evolved NodeB, eNodeB), 송수신 기지국(Base Transceiver Station, BTS), MMR(Mobile Multihop Relay)-BS 등과 같은 네트워크 장치에 접속하여 원격의 서버에 연결될 수 있다.
본 명세서의 단말은 스마트폰과 같은 모바일 단말, 스마트패드와 태블릿PC와 같은 태블릿 단말, 컴퓨터, 텔레비전 등 다양한 형태의 통신 단말로서, 복수의 통신 인터페이스를 구비할 수 있다.
통신 인터페이스는 다양할 수 있다. 예를 들면, 통신 인터페이스는 와이파이(WiFi)/WLAN/블루투스(bluetooth) 등의 근거리 무선망 인터페이스, 그리고 3G/LTE(Long Term Evolution)/LTE-A(Long Term Evolution-Advanced) 등의 이동통신망 인터페이스를 포함할 수 있고, 단말 제조사가 다양한 통신 인터페이스를 추가할 수 있다. 본 명세서에서는 WiFi 인터페이스와 3G/LTE 인터페이스를 예로 들어 설명하나, 통신 인터페이스가 이에 한정되는 것은 아니다.
도 1은 본 발명의 한 실시예에 따른 다중망 병합 시스템의 구성도를 설명하는 도면이다.
도 1을 참고하면, 다중망 병합(MultiNet Aggregation) 전송은 복수의 통신망을 병합하여 데이터를 전송하는 기술로서, 전송 데이터를 복수의 동종 망 또는 복수의 이종 망의 경로로 분할하여 전송하거나, 복수의 경로로 전송된 데이터를 하나의 경로로 묶어 전송할 수 있다. 다중망 병합 전송은 데이터를 복수의 경로로 동시에 전송하는 의미에서 다중 경로(Multi-Path) 전송이라고 부를 수 있다.
다중망 병합 시스템은 단말(10), 그리고 단말(10)과 복수의 망(예를 들면, 3G/LTE망과 WiFi망)으로 연결되는 네트워크 장치(20)를 포함할 수 있다.
단말(10)은 다중 통신 인터페이스를 구비하고, 다중 통신 인터페이스를 통해 한 시점에 복수의 망에 연결될 수 있다. 단말(10)은 사용자가 접근하여 다중망 접속을 설정하거나 관리할 수 있는 관리 어플리케이션을 탑재할 수 있다.
단말(10)은 다중망 병합을 위한 인증, 상태 관리, 트래픽 처리를 수행하는 네트워크 에이전트(agent)를 포함하고, 네트워크 에이전트는 단말 내부 로직으로 구현될 수 있다. 단말(10) 내부에서 네트워크 에이전트와 각종 어플리케이션은 소켓(socket) 통신한다. 네트워크 에이전트는 네트워크 관리를 위한 관리 어플리케이션의 설정 정보에 따라 네트워크 장치(20)와 연동한다.
네트워크 장치(20)는 다중 경로로 전송되는 서브플로우를 병합하거나, 단일 경로로 전송되는 플로우를 다중 경로의 서브플로우로 분할하여 전송한다. 네트워크 장치(20)는 다중망의 접점에 위치하고, 예를 들면, LTE망과 WiFi망의 접점에 위치할 수 있다. 네트워크 장치(20)는 다중망 병합 게이트웨이(MultiNet Aggregation-Gateway, MA-GW)라고 부를 수 있다.
네트워크 장치(20)는 수신 데이터를 단말(10)로 전달하기 위해 데이터를 분할한다. 그리고 네트워크 장치(20)는 일부 데이터를 제1망(예를 들면, LTE망)의 서브플로우를 통해 단말(10)로 전송하고, 나머지 데이터를 제2망(예를 들면, WiFi망)의 서브플로우를 통해 단말(10)로 전송할 수 있다. 단말(10)은 복수의 통신 인터페이스를 통해 수신된 데이터를 병합한다. 마찬가지 방법으로, 네트워크 장치(20)는 단말(10)이 다중 통신 인터페이스를 이용하여 전송한 데이터를 병합하여 서버(30)로 전송할 수 있다.
다중망 병합 기술은 병합 지점에 따라 다음과 같이 분류될 수 있다.
L2/링크 계층 병합은 LTE 코어망(core)과 접속망(access)의 경계 지점(즉, eNB)에서 WiFi AP로 전용 터널을 생성한다.
L3/네트워크 계층 병합은 LTE망과 WiFi망에서 독립적으로 사용하는 IP 주소를 통합하기 위해 가상 IP 터널을 생성한다.
L4/전송 계층 병합은 단일 접속망을 통해 세션을 생성한 후, 추가적인 접속망이 사용 가능한 경우, IP 주소체계와 상관없이 데이터 전송에 참여시킬 수 있다. 이때, 응용레벨의 통신 주체는 하나 이상의 접속망을 이용하여 단일 세션 기반의 데이터 통신이 가능한 구조를 지원한다.
L7/응용 계층 병합은 전용 어플리케이션/네트워크 에이전트가 자체적으로 LTE망과 WiFi망을 통해 수신한 데이터를 재조합하거나 응용 프로토콜 데이터를 분리하여 전송한다.
이와 같이, 병합 전송 계층에 따라 다양한 병합 전송이 가능한데, 앞으로는 L4 기반 다중 경로 TCP(Multi-Path TCP, MPTCP)를 통한 병합 기술을 예로 들어 설명한다.
도 2는 프록시 기반 세션 연결을 설명하는 도면이다.
도 2를 참고하면, 단말(10)과 서버(30)는 네트워크 장치(20)를 경유하여 TCP/UDP 통신할 수 있다. 이를 위해, 네트워크 장치(20)는 프록시 서버로 구현되고, 단말(10)과의 시그널링 절차를 거쳐 세션을 연결한다. 단말(10)과 네트워크 장치(20)는 RFC1928과 RFC1929에 정의된 SOCKS(Socket Secure) 프로토콜에 따라 시그널링 정보를 교환할 수 있다. RFC1928과 RFC1929에 정의된 SOCKS 프로토콜을 따르는 프록시 연결 방법은 다음과 같다.
프록시 클라이언트인 단말(10)은 어플리케이션이 구동되어 패킷이 발생(TCP SYN)하면, SOCKS 연결 절차를 통해 프록시 서버인 네트워크 장치(20)에 접속한다. 이때, 단말(10)의 내부 로직으로 구현된 네트워크 에이전트가 어플리케이션과 통신하면서 네트워크 장치(20)와의 연결 절차를 수행한다.
단말(10)은 어플리케이션이 구동되면, 네트워크 장치(20)와 TCP 연결 절차를 수행한다(S110). TCP 연결 절차는 TCP SYN, SYN/ACK, ACK의 교환으로 연결된다.
TCP 연결되면, 단말(10)와 네트워크 장치(20)는 주 서브플로우(primary subflow)로 연결된다(S120).
단말(10)은 SOCKS 프로토콜에 따라 네트워크 장치(20)로 제1메시지를 전송하여 프록시 연결을 시도한다(S130). 제1메시지는 SOCKS 버전(Version), 지원하는 인증 방법의 수(number of authentication methods supported), 인증 방법(authentication method)을 포함한다.
네트워크 장치(20)는 SOCKS 프로토콜에 따라 단말(10)로 선택된 인증 방법에 해당하는 인증 정보(method=username/password)를 질의하는 제2메시지를 전송한다(S140). 제2메시지는 선택된 인증 방법을 지시하고, 예를 들면, 값이 "0x02"인 경우, 유저네임과 패스워드 인증(Username and password authentication)을 의미한다.
단말(10)은 네트워크 장치(20)로 인증 정보에 대한 인증을 요청(SOCKS Authentication Request)하는 제3메시지를 전송한다(S150).
네트워크 장치(20)는 단말(10)로 인증 결과에 대한 응답(SOCKS Authentication Response)을 포함하는 제4메시지를 전송한다(S160).
인증 결과가 성공인 경우, 단말(10)은 네트워크 장치(20)로 서버 연결을 요청(SOCKS Connection Request)하는 제5메시지를 전송한다(S170).
네트워크 장치(20)는 제5메시지에 포함된 목적지 주소의 콘텐츠 서버(30)와 TCP 연결 절차를 수행한다(S180). TCP 연결 절차는 TCP SYN, SYN/ACK, ACK의 교환으로 연결된다.
네트워크 장치(20)는 단말(10)로 서버 연결 결과(SOCKS Connection Reply)를 포함하는 제6메시지를 전송한다(S190).
서버 연결 결과가 성공이면, 단말(10)은 네트워크 장치(20)를 통해 콘텐츠 서버(30)와 데이터를 송수신한다. 서버 연결 결과가 성공이면, 단말(10)은 부 서브플로우(secondary subflow)를 생성하고, 네트워크 장치(20)와 MPTCP 통신하여 데이터를 송수신할 수 있다. 한편, 서버 연결 결과가 성공이 아닌 경우, 단말(10)은 네트워크 장치(20)를 경유하지 않고 디폴트 경로를 통해 콘텐츠 서버(30)에 접속할 수 있다.
이와 같이, SOCKS 프로토콜을 따르는 시그널링 방법은 단말(10)과 네트워크 장치(20) 사이에서 교환되는 메시지들에 의해 시그널링 오버헤드, 연결 지연(latency), 프로세싱 부하, 자원 낭비 등의 문제가 있다. 또한, 프록시 연결을 위해 단말(10)은 SOCKS 프로토콜 기반의 프록시 에이전트를 반드시 탑재해야 한다.
다음에서, 본 발명의 실시예에 따라 네트워크 측에서 서브플로우 생성 및 병합 여부를 제어하는 방법에 대해 설명한다. 앞으로 네트워크 측에서 서브플로우 생성 및 병합 여부를 제어하는 방식을 능동(active) MPTCP라고 부른다. 이와 비교하여, 도 2를 참고로 설명한 단말의 프록시 연결 기반 서브플로우 생성 및 병합 방식을 수동(passive) MPTCP라고 부른다.
도 3은 본 발명의 한 실시예에 따른 다중망 병합 전송 시스템의 구성도이다.
도 3을 참고하면, 다중망 병합 전송 시스템은 단일 네트워크 장치(예를 들면, MA-GW)에 집중된 다중망 병합 전송 기능을 트래픽 처리 기능과 사용량 처리 기능의 네트워크 장치로 각각 분리하여 네트워크의 지정된 위치에 배치한다. 예를 들면, 트래픽 처리 기능을 담당하는 네트워크 장치는 네트워크 에지(Edge)에 배치될 수 있고, 사용량 처리 기능을 담당하는 네트워크 장치는 네트워크 코어(Core)에 배치될 수 있다. 네트워크 에지에 배치된 네트워크 장치(200)는 다중망 병합 에지 장치로서, 간단히 MA-Edge(Multinet Aggregation-Edge)라고 부를 수 있다. 네트워크 코어에 배치된 네트워크 장치(300)는 다중망 병합 코어 장치로서, 간단히 MA-Core(Multinet Aggregation-Core)라고 부를 수 있다.
단말(100)은 다중망 병합(Multinet Aggregation) 서비스를 이용할 수 있는 기능을 탑재하고, MA-Edge(200)와 적어도 하나의 망으로 연결되어 데이터를 송수신한다. 단말(100)은 MA-UE(Multinet Aggregation-User Equipment)라고 부를 수 있다. MA-UE(100)와 MA-Edge(200)는 복수의 망에 서브플로우를 생성할 수 있는데, 앞으로 제1망은 LTE망이고, 제2망은 WiFi망이라고 가정한다.
LTE망은 MA-UE(100)가 접속하는 기지국(예를 들면, eNB)(400), 그리고 네트워크 코어인 EPC(Evolved Packet Core)(500)를 포함한다. 기지국(400)과 EPC(500)는 레가시(legacy) 통신 시스템이라고 가정한다. EPC는 서빙 게이트웨이(Serving-Gateway, S-GW)(510), 패킷 데이터 네트워크 게이트웨이(Packet data network-Gateway, P-GW)(530), MME(Mobility Management Entity)(550), 그리고 정책 및 사용량 처리에 관련된 과금(charging) 장치(570)를 포함한다. 과금 장치(570)는 PCRF(Policy and Charging Rules Function), OCS(Online Charging System), OFCS(OFfline Charging System) 등을 포함한다. 기지국(400)과 S-GW(510)의 인터페이스는 S1-U이고, 기지국(400)과 MME(550)의 인터페이스는 S1-MME라고 정의한다. S-GW(510)와 P-GW(530)의 인터페이스는 S5이고, S-GW(510)와 MME(550)의 인터페이스는 S11이라고 정의한다. P-GW(530)와 PCRF/OCS/OFCS의 인터페이스는 Gx/Gy/Gz라고 정의한다. P-GW(530)는 데이터 사용량(과금 정보)을 과금 장치(570)로 알려준다.
MA-Edge(200)는 MA-UE(100)와 복수의 망(예를 들면, LTE망과 WiFi망)으로 연결되는 인터페이스를 가진다. MA-Edge(200)는 기지국(400)과 S-GW(510)/MME(550)를 연결하는 경로상에 배치되는 노드이다. MA-Edge(200)는 L4 레벨 스니핑(sniffing)을 통해 S1-U/S1-MME 인터페이스를 지나는 트래픽을 감시할 수 있다. MA-Edge(200)는 기지국(400)과 S-GW(510)/MME(550) 사이의 인터페이스(S1-U/S1-MME)에 연결되어 LTE망 경로(주 서브플로우)를 생성할 수 있다. MA-Edge(200)는 WiFi망에 연결되어 WiFi망 경로(부 서브플로우)를 생성할 수 있다.
MA-Edge(200)는 LTE망을 통해 주 서브플로우를 생성한 후, 주 서브플로우를 통해 전송되는 트래픽 특성을 기초로 부 서브플로우를 추가할지 판단한다. 서브플로우 추가 기준에 사용되는 트래픽 특성은 다양하게 설정될 수 있다. 트래픽 특성은 트래픽 전송 패턴이나 단위시간당 흐르는 데이터량 등을 포함할 수 있고 또한 트래픽에 관계된 목적지 서버 정보(주소, 포트, URI 등) 등을 포함할 수 있다. 이를테면, 어떤 트래픽은 굉장히 작은 크기의 데이터만 받고 나머지 시간은 해당 세션이 종료될 때까지 더 이상 전송되지 않을 수 있고, 어떤 트래픽은 버스트(burst)하게 전송될 수 있다. 버스트 트래픽이나 단위시간당 기준값 이상 전송되는 트래픽(특정 기간 동안 데이터 발생되는 트래픽)인 경우, 서브플로우를 추가하여 병합 전송한다면 빠른 데이터 송수신이 가능하다. 따라서, MA-Edge(200)는 버스트 트래픽이나 단위시간당 기준값 이상 전송되는 트래픽을 서브플로우 추가 기준으로 설정할 수 있다. 또한, 미리 특정 목적지 서버나 어플리케이션(예를 들면, 동영상 서비스 제공 서버 및 어플리케이션) 등을 다중망 병합 대상으로 설정해 놓은 뒤, MA-Edge(200)는 트래픽 정보를 기초로 다중망 병합 대상인지를 판단할 수 있다.
MA-Edge(200)는 부 서브플로우 추가를 결정한 경우, MA-UE(100)로 서브플로우 추가(MPTCP ADD_ADDR)를 요청한다. 그러면, MA-UE(100)는 WiFi망에서 부 서브플로우 생성을 요청한다. 이렇게, MA-Edge(200)는 서브플로우 생성 및 병합 여부를 능동적으로 제어(active MPTCP)할 수 있다. 따라서, MA-Edge(200)는 트래픽 특성을 기초로 부 서브플로우 추가 여부를 판단하므로, MA-UE(100)에 의해 불필요하게 추가되는 부 서브플로우의 생성을 방지할 수 있다.
한편, MA-Edge(200)는 인터넷망에 직접 연결된다. 따라서, MA-Edge(200)는 MA-UE(100)에서 전송된 상향 데이터를 인터넷망을 통해 외부로 전달한다. MA-Edge(200)는 MA-UE(100)로 향하는 하향 데이터를 인터넷망으로부터 직접 수신한다.
MA-Core(300)는 MA-Edge(200)로부터 과금 정보, 즉 LTE망(주 서브플로우)에서의 데이터 사용량 정보를 수신한다. 과금 정보, 데이터 사용량, 데이터 전송량은 정확히 일치하지 않을 수 있으나, 여기서는 동일한 의미로 사용한다. 또한, 반드시 주 서브플로우에서의 전송 데이터에 대해서만 과금될 필요는 없으나, 여기서는 LTE망에 생성된 주 서브플로우에서의 전송 데이터에 대해서 과금되는 것으로 설명한다. MA-Core(300)는 데이터 사용량 정보를 포함하는 사용량 리포트 패킷을 P-GW(530)로 전송한다. 이때, 상향 데이터 사용량인 경우, 사용량 리포트 패킷은 S5 인터페이스에 입력되고, S5 인터페이스에서 P-GW(530)로 나가는 방향으로 전송된다. 하향 데이터 사용량인 경우, 사용량 리포트 패킷은 외부 망과 P-GW(530)의 인터페이스(예를 들면, SGi)에 입력되고, SGi 인터페이스에서 P-GW(530)로 들어오는 방향으로 전송된다. 상향 데이터 사용량과 하향 데이터 사용량을 구분할 필요가 없는 경우, 임의 인터페이스에서 P-GW(530)로 입력되어도 무방하다. P-GW(530)를 통해 네트워크 코어로 들어온 사용량 리포트 패킷은 패킷 종료 처리 장치(미도시)에 의해 종료 처리될 수 있다. 패킷 종료 처리 장치는 S-GW(510)와 P-GW(530)의 사이에 배치될 수 있다. 또는 네트워크 코어로 들어온 사용량 리포트 패킷은 MA-Edge(200)에서 종료 처리될 수 있다.
한 실시예에 따른 사용량 리포트 패킷은 페이로드 없이 데이터 크기 정보를 포함하는 TCP/IP 헤더만을 포함할 수 있다. TCP/IP 헤더의 데이터 크기 필드는 페이로드에 포함된 데이터 크기를 지시하지만, MA-Core(300)는 TCP/IP 헤더의 데이터 크기 필드의 값을 데이터 사용량으로 수정해서 전송한다.
다른 실시예에 따른 사용량 리포트 패킷은 실제 LTE망을 통해 송수신되는 데이터 크기의 페이로드를 포함할 수 있다. MA-Core(300)는 MA-Edge(200)로부터 수신한 데이터 사용량 정보에 맞게 TCP/IP 헤더와 페이로드를 포함하는 패킷을 생성한다. 이때, 페이로드는 데이터 사용량에 해당하는 크기를 가지되, 무의미한 값으로 채워질 수 있다.
이와 같이, MA-Edge(200)가 직접 인터넷망으로 트래픽을 송수신하는 분산 시스템에서, P-GW(530)는 데이터 전송에 실제로 참여하지 않는다. 따라서, P-GW(530)는 MA-Edge(200)를 통해 전송되는 데이터량을 알 수 없어서, 과금 장치에게 사용량 정보를 전달할 수 없다. 그러면 P-GW(530)와 과금 장치는 실제 데이터 사용량에 대한 과금(charging), 정산(accounting), 그리고 통계(statistics) 등의 절차를 처리하지 못하는 문제가 발생할 수 있다. 이러한 문제를 해결하기 위해, MA-Edge(200)는 MA-Core(300)로 데이터 사용량 정보를 보고하고, MA-Core(300)는 데이터 사용량 정보를 포함하는 사용량 리포트 패킷을 P-GW(530)로 전달한다. P-GW(530)는 사용량 리포트 패킷을 수신하면 사용량 리포트 패킷이 지시하는 데이터 크기를 LTE망에서 데이터 사용량으로 인식한다. 그러면, P-GW(530)는 데이터 사용량을 과금 장치(570)로 전송할 수 있다.
한편, MA-Edge(200)는 기지국(400)이 존재하는 네트워크 에지마다 배치되므로, 네트워크 코어에 배치되는 MA-Core(300)와 N:1로 대응될 수 있다. 즉, MA-Core(300)는 복수의 MA-Edge(200)와 연동한다. MA-Core(300)는 MA-UE(100)가 기지국 핸드오버를 하여 서빙 MA-Edge를 이동하더라도 서비스 연속성을 지원할 수 있다.
MA-Core(300)는 인터넷망에 직접 연결될 수 있다. MA-Core(300)는 트래픽 분석(예를 들면, HTTP traffic analysis)을 기초로 캐쉬 데이터를 추출하고, 추출한 캐쉬 데이터를 복수의 MA-Edge(200)에 분산 저장할 수 있다.
도 4는 본 발명의 한 실시예에 따른 다중망 병합 전송 시스템의 동작 방법을 설명하는 흐름도이다.
도 4를 참고하면, MA-UE(100)는 목적지 서버(미도시)로 전송할 패킷이 있으면, 기지국(400)을 통해 주 서브플로우 연결을 위한 세션 요청(Session Request)을 한다(S210). 주 서브플로우 연결을 위한 세션 요청은 MA-Edge(200)로 전달된다.
MA-Edge(200)는 데이터 사용량 정보 등의 제어 정보를 전달하기 위해 MA-Core(300)로 TCP 세션 요청한다(S220). MA-Core(300)은 MA-Edge(200)로 TCP 세션 응답(Session Response)을 한다(S222). TCP 세션 요청과 TCP 세션 응답은 제어 플레인(control plane)에서 처리된다.
MA-Edge(200)는 인터넷망을 통해 목적지 서버(예를 들면, 콘텐츠 서버(30))로 TCP 세션 요청을 한다(S230). MA-Edge(200)는 인터넷망을 통해 목적지 서버로부터 TCP 세션 응답을 받는다(S232). TCP 세션 요청과 TCP 세션 응답은 데이터 플레인(data plane)에서 처리된다.
MA-Edge(200)는 MA-UE(100)로 기지국(400)을 통해 세션 요청에 대한 세션 응답(Session Response)을 한다(S234).
MA-Edge(200)는 목적지 서버와 데이터 송수신을 위한 TCP 데이터 세션을 수립(TCP data session established)하고, MA-UE(100)와 데이터 송수신을 위한 주 서브플로우를 수립(Primary subflow establisted)한다(S240).
MA-Edge(200)는 주 서브플로우를 통해 전송되는 트래픽 특성을 기초로 부 서브플로우를 추가할지 판단한다(S250). 서브플로우 추가 기준에 사용되는 판단 조건은 다양하게 설정될 수 있다. 예를 들면, 주 서브플로우를 통해 전송되는 트래픽이 버스트 트래픽이거나 단위시간당 기준값 이상 전송되는 트래픽인 경우, 서브플로우 추가 대상으로 판단할 수 있다. 또는 주 서브플로우를 통해 전송되는 트래픽의 목적지 서버 정보(주소, 포트, URI 등)를 기초로 부 서브플로우를 추가할지 판단할 수 있다.
MA-Edge(200)는 부 서브플로우 추가를 결정한 경우, MA-UE(100)로 서브플로우 추가(MPTCP ADD_ADDR)를 요청한다(S252).
서브플로우 추가(MPTCP ADD_ADDR)를 요청받은 MA-UE(100)는 제2망(즉, WiFi망)을 통해 부 서브플로우 연결을 위한 세션 요청을 한다(S254).
MA-Edge(200)는 MA-UE(100)와 데이터 송수신을 위한 부 서브플로우를 수립(Secondary subflow establisted)한다(S260).
MA-UE(100)와 MA-Edge(200)는 LTE망의 서브플로우와 WiFi망의 서브플로우를 통해 데이터 트래픽을 송수신한다(S270). MA-Edge(200)는 LTE망의 서브플로우와 WiFi망의 서브플로우를 통해 수신한 상향 데이터를 병합(aggregation)하고, 병합한 상향 데이터를 TCP 데이터 세션이 수립된 인터넷망을 통해 외부로 전달한다. 그리고, MA-Edge(200)는 TCP 데이터 세션이 수립된 인터넷망으로부터 MA-UE(100)로 향하는 하향 데이터를 수신하고, 수신한 하향 데이터를 LTE망의 서브플로우와 WiFi망의 서브플로우로 분할(segmentation)하여 전송한다.
MA-Edge(200)는 LTE망의 서브플로우를 통해 전송한 상향 데이터량과 하향 데이터량에 해당하는 데이터 사용량 정보를 MA-Core(300)로 보고(report LTE traffic usage info)한다(S280).
MA-Core(300)는 데이터 사용량 정보를 기초로 생성한 사용량 리포트 패킷(usage report packet)을 P-GW(530)로 입력한다(S282). 사용량 리포트 패킷은 페이로드 없이 데이터 크기 정보를 포함하는 TCP/IP 헤더만을 포함하거나, 사용량에 해당하는 데이터 크기의 페이로드를 포함할 수 있다. 상향 데이터 사용량인 경우, 사용량 리포트 패킷은 P-GW(530)의 S-GW(510) 인터페이스(S5)에서 P-GW(530)로 입력된다. 하향 데이터 사용량인 경우, 사용량 리포트 패킷은 P-GW(530)의 외부망 인터페이스(SGi)에서 P-GW(530)로 입력된다.
P-GW(530)는 사용량 리포트 패킷에서 추출한 LTE망 사용량 정보를 과금 장치(570)로 전송한다(S290). 과금 장치(570)는 LTE망 사용량 정보를 기초로 과금한다. P-GW(530)는 사용량 리포트 패킷을 수신하면, 일반 패킷에 대한 사용량 처리와 동일하게, 사용량 리포트 패킷의 헤더의 데이터 크기 정보나 페이로드 크기를 자신이 전송한 것으로 인식한다.
도 5는 본 발명의 한 실시예에 따른 다중망 병합 전송 시스템의 네트워크 장치들의 블록도이다.
도 5의 (a)는 MA-Edge(200)의 블록도이고, 도 5의 (b)는 MA-Core(300)의 블록도이다. MA-Edge(200)와 MA-Core(300)는 도 5에 표시된 기능 블록만을 포함하는 것은 아니며, 당연히 본 발명에서 설명한 동작을 수행하는 기능 블록을 더 포함한다.
도 5의 (a)를 참고하면, MA-Edge(200)는 S1-U/S1-MME 인터페이스 감시부(S1-U/S1-MME watcher)(210), MPTCP 커널(220), 패킷 처리부(packet manipulator)(230), 데이터 플레인 관리부(data plane manager)(240), 제어 플레인 관리부(Control plane manager)(250), 정책 엔진(Policy Engine)(260), 캐쉬 저장부(Cache repository)(270), 그리고 데이터 사용량 관리부(data usage manager)(280)를 포함한다.
S1-U/S1-MME 인터페이스 감시부(210)는 기지국(400)과 S-GW(510)/MME(550) 사이의 S1-U/S1-MME 인터페이스에서, S1-U/S1-MME 인터페이스로 흐르는 정보를 감시한다. MA-UE(100)가 주 서브플로우 연결을 위한 세션 요청을 하면, S1-U/S1-MME 인터페이스 감시부(210)는 MPTCP 관련 세션이므로, MPTCT 세션 요청이 기지국(400)에서 MA-Edge(200)로 전달되도록 한다. S1-U/S1-MME 인터페이스 감시부(210)는 L4 레벨 스니핑을 통해 S1-U/S1-MME 인터페이스를 지나는 트래픽을 감시할 수 있다. S1-U/S1-MME 인터페이스 감시부(210)는 인라인으로 입력되는 모든 트래픽을 스니핑한다. 스니핑 결과, TCP 트래픽은 S-GW(510)로 포워딩되고, MPTCP 트래픽은 MA-Edge(200)을 통해 인터넷망으로 전송된다.
MPTCP 커널(220)은 운영 체제(예를 들면, 리눅스)의 커널 영역에서, MPTCP 처리를 위한 알고리즘을 구현한 기능 블록일 수 있다.
패킷 처리부(230)는 데이터 플레인 관리부(240)와 연동하여 MA-UE(100), S-GW(510), 인터넷망으로 전달할 데이터 패킷을 생성한다. 패킷 처리부(230)는 스니핑에 의해 원본 데이터 패킷을 재가공하여 전달한 데이터 패킷을 생성할 수 있다. 패킷 처리부(230)는 제어 플레인 관리부(250)와 연동하여 S-GW(510)나 MME(550)로 전달할 제어 정보를 포함하는 제어 패킷을 생성할 수 있다. 데이터 패킷/제어 패킷은 MPTCP 커널(220)을 거쳐 목적지로 전송될 수 있다.
정책 엔진(260)은 다중망 병합에 관련된 각종 정책을 관리한다. 정책 엔진(260)은 S1-U/S1-MME 인터페이스 감시부(210)와 정보를 교환할 수 있다.
캐쉬 저장부(270)는 캐쉬 데이터를 저장하고, MA-Core(300)와 캐쉬 데이터를 동기화할 수 있다.
데이터 사용량 관리부(280)는 과금에 관련된 사용량 정보를 관리한다. 데이터 사용량 관리부(280)는 LTE망의 서브플로우를 통해 전송한 상향 데이터량과 하향 데이터량에 해당하는 LTE망 사용량 정보를 MA-Core(300)로 보고한다.
도 5의 (b)를 참고하면, MA-Core(300)는 과금 정보 수집부(charging data collector)(310), 과금 정보 회신부(charging data replay)(320), 캐쉬 데이터 제어부(cache data control)(330), 캐쉬 데이터 동기화부(cache data synchronization)(340), 그리고 패킷 처리부(350)를 포함한다.
과금 정보 수집부(310)는 MA-Edge(200)의 데이터 사용량 관리부(280)로부터 LTE망 사용량 정보를 수신한다.
과금 정보 회신부(320)는 P-GW(530)와 연동하고, 과금 정보 수집부(310)로부터 LTE망 사용량 정보를 P-GW(530)로 전달한다. 이때, LTE망 사용량 정보는 패킷 처리부(350)에서 사용량 리포트 패킷으로 생성되고, 사용량 리포트 패킷은 P-GW(530)로 전달된다.
캐쉬 데이터 제어부(330)는 외부 콘텐츠 서버와 연결된다. 캐쉬 데이터 제어부(330)는 HTTP 트래픽을 분석하고, 지정된 기준으로 캐쉬 데이터를 선별한다. 캐쉬 데이터는 URI로 관리될 수 있다. 캐쉬 데이터 제어부(330)는 캐쉬 데이터를 MA-Edge(200)의 캐쉬 저장부(270)로 전달한다.
캐쉬 데이터 동기화부(340)는 MA-Edge(200)의 캐쉬 저장부(270)와 연동하여 는 저장된 캐쉬 데이터를 동기화한다.
도 6은 본 발명의 한 실시예에 따른 단말의 블록도이다.
도 6의 (a)는 프록시 에이전트를 탑재한 단말로서, 도 2를 참고로 설명한 바와 같이, 세션 연결을 위해 프록시 에이전트가 다중망 병합 전송 장치(MA-GW)에 프록시 연결을 시도한다. 따라서, 다중망 병합 전송 장치는 수동적으로 서브플로우들을 생성 및 병합한다.
하지만, 도 6의 (b)를 참고하면, 본 발명의 MA-UE(100)는 프록시 에이전트를 탑재할 필요 없다. 왜냐하면, MA-Edge(200)가 서브플로우 생성 및 병합 여부를 능동적으로 제어하므로, MA-UE(100)는 주 서브플로우를 생성한 후, MA-Edge(200)가 부 서브플로우 추가를 요청하면, 부 서브플로우 연결을 위한 세션 요청을 하면 되기 때문이다.
도 7은 본 발명의 한 실시예에 따른 다중망 병합 전송 시스템에서의 캐쉬 분산 방법의 흐름도이다.
도 7을 참고하면, 다중망 병합 전송 시스템은 캐쉬 데이터를 네트워크 에지에 분산하고, 네트워크 에지에서 LTE망을 통해 단말로 전송한 데이터에 대해 과금할 수 있다.
MA-Core(300)는 인터넷망에서의 트래픽 분석(예를 들면, HTTP traffic analysis)을 기초로 캐쉬 데이터를 추출하고(S310), 추출한 캐쉬 데이터를 MA-Edge(200)에 전파한다(S312). 즉, MA-Core(300)는 캐쉬 데이터를 MA-Edge(200)에 분산 저장한다. 캐쉬 데이터는 URI 기준으로 추출될 수 있다.
MA-UE(100)는 목적지 서버(미도시)로 전송할 패킷이 있으면, 기지국(400)을 통해 주 서브플로우 연결을 위한 세션 요청(Session Request)을 한다(S320). 주 서브플로우 연결을 위한 세션 요청은 MA-Edge(200)로 전달된다.
MA-Edge(200)는 목적지 서버의 정보(예를 들면, 목적지 서버의 주소)를 기초로 캐쉬 적중(cache hit) 여부를 판단한다(S322). 적중한 캐쉬 데이터가 없다면, MA-Edge(200)는 도 4에서 설명한 바와 같이, 목적지 서버와의 연결을 시도한다.
적중한 캐쉬가 있다면, MA-Edge(200)는 MA-UE(100)와 데이터 송수신을 위한 주 서브플로우를 수립(Primary subflow establisted)한다(S330).
MA-Edge(200)는 사용량 리포트 등의 제어 정보를 전달하기 위해 MA-Core(300)로 TCP 세션 요청한다(S340). MA-Core(300)은 MA-Edge(200)로 TCP 세션 응답(Session Response)을 한다(S342). TCP 세션 요청과 TCP 세션 응답은 제어 플레인(control plane)에서 처리된다.
MA-Edge(200)는 주 서브플로우를 통해 전송되는 트래픽 특성을 기초로 부 서브플로우를 추가할지 판단한다(S350). 서브플로우 추가 기준에 사용되는 판단 조건은 다양하게 설정될 수 있다.
MA-Edge(200)는 부 서브플로우 추가를 결정한 경우, MA-UE(100)로 서브플로우 추가(MPTCP ADD_ADDR)를 요청한다(S352).
서브플로우 추가(MPTCP ADD_ADDR)를 요청받은 MA-UE(100)는 제2망(즉, WiFi망)을 통해 부 서브플로우 연결을 위한 세션 요청을 한다(S354).
MA-Edge(200)는 MA-UE(100)와 데이터 송수신을 위한 부 서브플로우를 수립(Secondary subflow establisted)한다(S360).
MA-UE(100)는 MA-Edge(200)로 목적지의 데이터를 요청한다(S370). 이때, MA-UE(100)는 헤더에 주소(URI) 정보 등을 포함하는 HTTP 요청(HTTP request) 메시지를 보낸다. 목적지의 URI는 HTTP의 헤더의 get 메소드에 포함된다.
MA-Edge(200)는 HTTP 요청 메시지의 URI를 기초로 적중한(hit) 캐쉬 데이터를 찾는다(S372).
MA-UE(100)와 MA-Edge(200)는 LTE망의 서브플로우와 WiFi망의 서브플로우를 통해 데이터 트래픽(캐쉬 데이터)을 송수신한다(S380). MA-Edge(200)는 LTE망의 서브플로우와 WiFi망의 서브플로우를 통해 수신한 상향 데이터를 병합(aggregation)하고, 병합한 상향 데이터를 인터넷망을 통해 외부로 전달한다. 그리고, MA-Edge(200)는 저장된 캐쉬 데이터를 LTE망의 서브플로우와 WiFi망의 서브플로우로 분할(segmentation)하여 전송한다.
MA-Edge(200)는 LTE망의 서브플로우를 통해 전송한 상향 데이터량과 하향 데이터량에 해당하는 LTE망 사용량 정보를 MA-Core(300)로 보고한다(S390).
MA-Core(300)는 LTE망 사용량 정보를 기초로 생성한 사용량 리포트 패킷을 P-GW(530)로 입력한다(S392). 사용량 리포트 패킷은 페이로드 없이 데이터 크기 정보를 포함하는 TCP/IP 헤더만을 포함하거나, 사용량에 해당하는 데이터 크기의 페이로드를 포함할 수 있다. 상향 데이터 사용량인 경우, 사용량 리포트 패킷은 S5 인터페이스에서 P-GW(530)로 입력된다. 하향 데이터 사용량인 경우, 사용량 리포트 패킷은 외부망 인터페이스(SGi)에서 P-GW(530)로 입력된다.
P-GW(530)는 사용량 리포트 패킷에서 추출한 LTE망 사용량 정보를 과금 장치(570)로 전송한다(S394). 과금 장치(570)는 LTE망 사용량 정보를 기초로 과금한다.
도 8은 본 발명의 한 실시예에 따른 다중망 병합 전송 시스템의 하드웨어 블록도이다.
도 8을 참고하면, MA-UE(100), MA-Edge(200), MA-Core(300) 각각은 프로세서(1100), 메모리 장치(1200), 저장 장치(1300), 적어도 하나의 통신 장치(1400) 등을 포함하는 하드웨어로 구성되고, 지정된 장소에 하드웨어와 결합되어 실행되는 프로그램이 저장된다. 하드웨어는 본 발명을 실행할 수 있는 구성과 성능을 가진다. 프로그램은 도 1부터 도 7을 참고로 설명한 본 발명의 동작 방법을 구현한 명령어(instructions)를 포함하고, 프로세서(1100)와 메모리 장치(1200) 등의 하드웨어와 결합하여 본 발명을 구현한다.
이와 같이, 본 발명의 실시예에 따르면 단일 네트워크 장치에 집중된 다중망 병합 전송 기능을 트래픽 처리 기능과 사용량 처리 기능으로 분리하여 네트워크 에지와 코어에 분산 배치할 수 있다. 이를 통해 본 발명의 실시예에 따르면 EPC에 집중되는 트래픽을 분산할 수 있다. 또한 본 발명의 실시예에 따르면 네트워크 에지에 배치되는 장치마다 사용량 처리 기능을 중복적으로 탑재할 필요 없어 네트워크 장치 비용을 낮출 수 있다.
본 발명의 실시예에 따르면 네트워크 측에서 트래픽 특성을 기초로 다중망 병합 여부를 판단하므로 불필요한 세션 병합을 줄일 수 있다.
본 발명의 실시예에 따르면 네트워크 측에서 단말로 다중망 병합 지시를 하므로, 단말에서 프록시 연결할 필요가 없다. 따라서 본 발명의 실시예에 따르면 단말이 프록시 클라이언트 기능을 탑재할 필요 없고, 프록시 연결에 의한 세션 연결 지연 시간을 줄일 수 있다.
본 발명의 실시예에 따르면 다중망 병합 전송을 위한 네트워크 자원을 효율적으로 사용할 수 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (19)

  1. 제1망의 에지(edge)에 배치되는 네트워크 장치의 동작 방법으로서,
    상기 제1망의 기지국을 거쳐 단말과 연결되는 제1 서브플로우를 생성하는 단계,
    상기 제1 서브플로우를 통해 전송되는 트래픽 특성을 기초로 제2 서브플로우를 추가할지 판단하는 단계, 그리고
    상기 제2 서브플로우를 추가하는 경우, 상기 단말로 서브플로우 추가를 요청하는 단계를 포함하며,
    상기 단말로부터 상기 제1 서브플로우와 상기 제2 서브플로우 중 적어도 하나를 통해 수신한 상향 데이터를 인터넷망을 통해 목적지 서버로 전송하고, 상기 인터넷망을 통해 하향 데이터를 수신하면, 상기 하향 데이터를 상기 제1 서브플로우와 상기 제2 서브플로우 중 적어도 하나를 통해 상기 단말로 전송하는 단계, 그리고
    상기 제1 서브플로우와 상기 제2 서브플로우 중 과금 대상인 서브플로우를 통해 전송된 데이터 사용량을 계산하고, 상기 데이터 사용량을 상기 제1망의 코어망에 배치되는 네트워크 장치에 보고하는 단계
    를 더 포함하는 동작 방법.
  2. 제1항에서,
    상기 제2 서브플로우를 추가할지 판단하는 단계는
    상기 트래픽 특성이 서브플로우 추가 기준에 해당하는 경우, 상기 제2 서브플로우를 추가하도록 판단하고,
    상기 서브플로우 추가 기준은
    버스트 트래픽, 단위시간당 기준값 이상 전송되는 트래픽, 그리고 지정된 목적지 서버로 향하는 트래픽 중 적어도 하나를 포함하는 동작 방법.
  3. 제1항에서,
    상기 제1망의 에지(edge)에 배치되는 네트워크 장치는
    상기 제2 서브플로우가 생성되는 제2망에 연결되고, 상기 제2망에서 상기 제2 서브플로우를 생성하는, 동작 방법.
  4. 삭제
  5. 제1항에서,
    상기 제1망의 코어(Core)망에 배치되는 네트워크 장치는 상기 데이터 사용량을 나타내는 패킷을 생성하고, 상기 패킷을 상기 제1망의 과금 장치와 인터페이스 연결된 패킷 데이터 네트워크 게이트웨이(P-GW)로 전송하는 동작 방법.
  6. 제1망의 코어(core)망에 배치되는 제1 네트워크 장치의 동작 방법으로서,
    상기 제1망의 에지(edge)에 배치되는 제2 네트워크 장치로부터 과금할 데이터 사용량을 수신하는 단계,
    상기 데이터 사용량을 나타내는 사용량 리포트 패킷을 생성하는 단계, 그리고
    상기 사용량 리포트 패킷을 상기 제1망의 과금 장치와 인터페이스 연결된 제3 네트워크 장치로 전송하는 단계를 포함하고,
    상기 데이터 사용량은 상기 제1망에서 생성된 서브플로우를 통해 전송된 데이터량을 기초로 계산되며,
    상기 제2 네트워크 장치는
    단말과 적어도 하나의 서브플로우로 연결되고, 상기 단말로부터 수신한 상향 데이터를 인터넷망을 통해 목적지 서버로 전송하고, 상기 인터넷망을 통해 하향 데이터를 수신하며, 상기 단말과의 사이에서 과금 대상인 서브플로우를 통해 전송된 데이터 사용량을 계산하고,
    상기 사용량 리포트 패킷은 상기 제3 네트워크 장치를 통과하고,
    상기 제3 네트워크 장치는 상기 코어망의 패킷 데이터 네트워크 게이트웨이(P-GW)인, 동작 방법.
  7. 제6항에서,
    상기 사용량 리포트 패킷을 생성하는 단계는
    헤더만을 포함하는 패킷을 생성하고, 상기 헤더에서 데이터 크기를 지시하는 필드의 값을 상기 데이터 사용량에 해당하는 값으로 수정하여 상기 사용량 리포트 패킷을 생성하는 동작 방법.
  8. 제6항에서,
    상기 사용량 리포트 패킷을 생성하는 단계는
    상기 데이터 사용량에 해당하는 크기의 페이로드를 포함하는 상기 사용량 리포트 패킷을 생성하는, 동작 방법.
  9. 제6항에서,
    상기 제3 네트워크 장치로 전송하는 단계는
    상기 제3 네트워크 장치를 통과하도록 상기 사용량 리포트 패킷을 입력하는, 동작 방법.
  10. 제9항에서,
    상기 제3 네트워크 장치를 통과한 상기 사용량 리포트 패킷은 상기 제2 네트워크 장치 또는 패킷 종료 장치에 의해 종료 처리되는, 동작 방법.
  11. 다중망 병합 전송 시스템으로서,
    제1망의 에지(edge)에 배치되고, 상기 제1망을 포함하는 복수의 망과 연결되며, 상기 복수의 망 중 적어도 하나의 망을 통해 제1 단말과 연결되는 적어도 하나의 서브플로우를 생성하는 제1 네트워크 장치, 그리고
    상기 제1 네트워크 장치와 연동하고, 상기 제1 네트워크 장치로부터 과금할 데이터 사용량을 수신하고, 상기 데이터 사용량을 나타내는 사용량 리포트 패킷을 생성하는 제2 네트워크 장치를 포함하고,
    상기 제1 네트워크 장치는 상기 제1 단말로부터 상기 적어도 하나의 서브플로우를 통해 수신한 상향 데이터를 인터넷망을 통해 목적지 서버로 전송하고, 상기 인터넷망을 통해 수신한 하향 데이터를 상기 적어도 하나의 서브플로우를 통해 상기 제1 단말로 전송하며,
    상기 제2 네트워크 장치는
    상기 제1망의 과금 장치와 인터페이스 연결된 제3 네트워크 장치로 상기 사용량 리포트 패킷을 전송하고,
    상기 사용량 리포트 패킷은 상기 제3 네트워크 장치를 통과하며,
    상기 제3 네트워크 장치는 코어망의 패킷 데이터 네트워크 게이트웨이(P-GW)인, 다중망 병합 전송 시스템.
  12. 제11항에서,
    상기 제1 네트워크 장치는
    상기 제1망의 기지국을 거쳐 상기 제1 단말과 연결되는 제1 서브플로우를 생성하고, 상기 제1 서브플로우를 통해 전송되는 트래픽 특성을 기초로 상기 제1 단말로 서브플로우 추가를 요청하는 다중망 병합 전송 시스템.
  13. 제12항에서,
    상기 제1 네트워크 장치는
    상기 트래픽 특성이 서브플로우 추가 기준에 해당하는 경우, 상기 서브플로우 추가를 요청하고,
    상기 서브플로우 추가 기준은
    버스트 트래픽, 단위시간당 기준값 이상 전송되는 트래픽, 그리고 지정된 목적지 서버로 향하는 트래픽 중 적어도 하나를 포함하는 다중망 병합 전송 시스템.
  14. 제12항에서,
    상기 제1 네트워크 장치는
    상기 제1 단말로부터 상기 제1 서브플로우 생성을 요청받으면, 상기 제2 네트워크 장치와 제어 정보 교환을 위한 세션을 생성하고, 상기 제1 단말로부터 세션 연결 요청된 목적지 서버와 데이터 교환을 위한 세션을 생성한 후, 상기 제1 서브플로우를 상기 제1망에서 생성하는 다중망 병합 전송 시스템.
  15. 제12항에서,
    상기 제1 네트워크 장치는
    제2망을 통해 상기 제1 단말로부터 제2 서브플로우 생성을 요청받으면, 상기 제2망에 상기 제2 서브플로우를 생성하는 다중망 병합 전송 시스템.
  16. 삭제
  17. 제11항에서,
    상기 사용량 리포트 패킷은 헤더에서 데이터 크기를 지시하는 필드의 값이 상기 데이터 사용량에 해당하는 값으로 수정되거나, 페이로드가 상기 데이터 사용량에 해당하는 크기로 채워진 패킷인 다중망 병합 전송 시스템.
  18. 제11항에서,
    상기 제1 네트워크 장치는
    상기 제2 네트워크 장치로부터 전파된 캐쉬 데이터를 저장하는 다중망 병합 전송 시스템.
  19. 제18항에서,
    상기 제1 네트워크 장치는
    제2 단말로부터 연결 요청 받은 목적지 서버의 정보가 저장된 캐쉬 데이터에 적중하는지 판단하며, 캐쉬 데이터에 적중하는 경우, 상기 제2 단말과 연결된 적어도 하나의 서브플로우를 통해 적중한 캐쉬 데이터를 전송하고,
    상기 적어도 하나의 서브플로우를 통해 전송한 데이터 중에서 과금할 데이터 사용량을 상기 제2 네트워크 장치로 보고하는 다중망 병합 전송 시스템.
KR1020160085045A 2016-07-05 2016-07-05 다중망 병합 전송 시스템, 그리고 이의 동작 방법 KR102033452B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160085045A KR102033452B1 (ko) 2016-07-05 2016-07-05 다중망 병합 전송 시스템, 그리고 이의 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160085045A KR102033452B1 (ko) 2016-07-05 2016-07-05 다중망 병합 전송 시스템, 그리고 이의 동작 방법

Publications (2)

Publication Number Publication Date
KR20180005076A KR20180005076A (ko) 2018-01-15
KR102033452B1 true KR102033452B1 (ko) 2019-11-08

Family

ID=61001233

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160085045A KR102033452B1 (ko) 2016-07-05 2016-07-05 다중망 병합 전송 시스템, 그리고 이의 동작 방법

Country Status (1)

Country Link
KR (1) KR102033452B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102641949B1 (ko) * 2018-05-10 2024-02-28 주식회사 케이티 비프록시 기반 다중 경로 전송 시스템, 그리고 이의 세션 연결을 위한 시그널링 방법
KR102261071B1 (ko) 2020-06-10 2021-06-04 주식회사코메론 다축 자석 베이스 줄자

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100793633B1 (ko) * 2006-08-16 2008-01-10 전자부품연구원 트래픽 컨디셔닝 장치 및 트래픽 컨디셔닝 제공 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150042942A (ko) * 2013-10-14 2015-04-22 에스케이텔레콤 주식회사 컨텐츠 전송 시스템에서의 과금 처리 방법, 이를 위한 장치
KR101746191B1 (ko) * 2014-06-27 2017-06-12 주식회사 케이티 다중 경로 통신을 위한 네트워크 장치 및 단말, 이들의 동작 방법, 그리고 동작 방법을 구현한 프로그램

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100793633B1 (ko) * 2006-08-16 2008-01-10 전자부품연구원 트래픽 컨디셔닝 장치 및 트래픽 컨디셔닝 제공 방법

Also Published As

Publication number Publication date
KR20180005076A (ko) 2018-01-15

Similar Documents

Publication Publication Date Title
US20220322202A1 (en) Path selection or path switching and charging for proximity service communication
US11178717B2 (en) Traffic distribution method through multi-access network in a network and network entity performing the same
KR102175527B1 (ko) 허브 브레이크아웃 로밍을 위한 방법 및 장치
US9973989B2 (en) Co-location of application service platform with access node and local gateway
US10652400B2 (en) Base station, a wireless device, and methods therein for controlling user data traffic between the wireless device and a local cloud
US11533610B2 (en) Key generation method and related apparatus
US10064096B2 (en) Traffic distribution in heterogenous network environment
US20190357082A1 (en) Traffic distribution method through multi-access network in a network and network entity performing the same
KR20140023435A (ko) 통신 방법 및 시스템, 액세스 네트워크 장치, 및 애플리케이션 서버
US9071449B2 (en) Charging and policy for services at the edge of a mobile data network
EP3993486A1 (en) Method, device and system for sending event report
CN108353334B (zh) 业务传输方法、装置及设备
US9014023B2 (en) Mobile network services in a mobile data network
WO2019196000A1 (en) Methods and system for carrying out small data fast path communication
US20210227608A1 (en) Method And Apparatus For Sending Multicast Data
US8625452B2 (en) Maintenance of high-speed channels by inserting channel maintenance data in a mobile data network to avoid channel type switching
KR102531648B1 (ko) 다중망 병합 전송 시스템, 그리고 이의 동작 방법
Gomes et al. Feasibility of information-centric networking integration into LTE mobile networks
KR102033452B1 (ko) 다중망 병합 전송 시스템, 그리고 이의 동작 방법
KR102641949B1 (ko) 비프록시 기반 다중 경로 전송 시스템, 그리고 이의 세션 연결을 위한 시그널링 방법
US8773990B1 (en) Detecting unauthorized tethering
KR20210099386A (ko) 동시 다중 액세스 네트워크에서 액세스 트래픽 스티어링 방법 및 장치
US8521153B1 (en) Using the maintenance channel in a mobile data network to provide subscriber data when a cache miss occurs
KR102553167B1 (ko) 다중 경로 전송 시스템, 그리고 이의 다중 경로 전송 방법
US9572158B2 (en) Residential local break out in a communication system

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