KR20190073114A - 단말, 상기 단말의 동작 방법 및 다중경로 통신 시스템 - Google Patents

단말, 상기 단말의 동작 방법 및 다중경로 통신 시스템 Download PDF

Info

Publication number
KR20190073114A
KR20190073114A KR1020170174448A KR20170174448A KR20190073114A KR 20190073114 A KR20190073114 A KR 20190073114A KR 1020170174448 A KR1020170174448 A KR 1020170174448A KR 20170174448 A KR20170174448 A KR 20170174448A KR 20190073114 A KR20190073114 A KR 20190073114A
Authority
KR
South Korea
Prior art keywords
operating system
network
data
sub
address
Prior art date
Application number
KR1020170174448A
Other languages
English (en)
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 KR1020170174448A priority Critical patent/KR20190073114A/ko
Publication of KR20190073114A publication Critical patent/KR20190073114A/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/52Multiprotocol routers
    • 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/70Virtual switches
    • H04L61/2007
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0892Network architectures or network communication protocols for network security for authentication of entities by using authentication-authorization-accounting [AAA] servers or protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

단말, 상기 단말의 동작 방법 및 다중경로 통신 시스템이 제공된다. 이 단말은, 복수의 망에 각각 접속되어 데이터를 송수신하는 복수의 통신 장치, 호스트 운영체제 프로그램, 상기 호스트 운영체제 프로그램의 커널에 설치된 하이퍼바이저 프로그램 및 상기 하이퍼바이저 프로그램에 의해 지원되는 가상 머신 상에서 동작하는 게스트 운영체제 프로그램을 저장하는 메모리; 그리고 상기 메모리에 저장된 프로그램들을 실행하는 프로세서를 포함하고, 상기 게스트 운영체제 프로그램은, 상기 호스트 운영체제 프로그램으로부터 수신한 데이터를 상기 복수의 통신 장치 각각을 통하여 다중망 병합 서비스를 제공하는 게이트웨이와 연결되는 복수의 서브플로우 별로 분할하고, 상기 복수의 서브플로우 별로 수신한 데이터를 하나의 데이터로 병합하여 상기 호스트 운영체제 프로그램으로 전달하는 명령어들(Instructions)을 포함하고, 상기 하이퍼바이저 프로그램은, 상기 호스트 운영체제 프로그램의 응용 계층에서 생성되거나 또는 상기 복수의 통신 장치로부터 수신한 데이터를 상기 게스트 운영체제 프로그램으로 전달하고, 상기 게스트 운영체제 프로그램에서 수신한 데이터를 상기 응용 계층 또는 상기 복수의 통신 장치로 전달하는 명령어들을 포함한다.

Description

단말, 상기 단말의 동작 방법 및 다중경로 통신 시스템{TERMINAL, OPERATION METHOD OF THE TERMINAL AND MULTIPATH COMMUNICATION SYSTEM}
본 발명은 단말, 상기 단말의 동작 방법 및 다중경로 통신 시스템에 관한 것이다.
스마트폰, 태블릿(Tablet) PC 등 다양한 무선 기기들이 증가하고 트래픽 요금이 저렴해지며, 동시에 대용량 트래픽 서비스가 증가하고 있다. 통신 사업자의 네트워크 부하율이 급격히 상승함에 따라 망 투자비 과다 지출 및 서비스 안정성 측면에서 위협을 받고 있다. 이에, LTE(Long Term Evolution) 망, WiFi(Wireless Fidelity) 망 등이 혼재하는 이종망(Heterogeneous network) 환경에서 네트워크의 상태에 따라 능동적으로 단말의 네트워크를 선택하고, 선택된 네트워크를 이용한 효율적인 트래픽 전송을 위한 새로운 서비스 방안이 요구되고 있다.
이러한 요구에 따라 제안된 기술로서, 이종망 또는 다중망 접속이 가능한 단말 환경에서 제안된 다중망 병합(MultiNet Aggregation) 기술이 있다. 다중망 병합 기술은 복수의 통신망을 동시에 사용하여 트래픽을 전송하는 기술로서, 가용한 복수의 망자원을 이용하여 대량의 트래픽을 빠르게 송수신할 수 있다.
한편, 기업, 특정 지역, 지자체 등 단위로, 전용망(Dedicated Network)을 구축하여 기업 내 사용자들, 특정 지역 내 사용자들, 지자체 내 사용자들만을 위한 특화 서비스를 제공하려는 요구가 증가하고 있다. 게다가 광대역 이동통신 시장이 활성화되고 스마트폰 등이 보급됨에 따라, 광대역 이동통신과 스마트폰을 전용망 서비스에 도입하려는 시도가 활발하다. 이러한 전용망 서비스에서도 효율적인 트래픽 전송을 위한 방안이 요구되고 있다.
그런데, 다중망 병합 기술을 구현하기 위해서는 우선 단말 측에 MPTCP (Multi-Path Transmission Control Protocol)를 통해 병합 전송을 할 수 있는 네트워크 스택이 준비되어야 한다. 따라서, MPTCP라는 특수한 병합 전송 프로토콜이 운영체제 상에 구현/탑재되어 있지 않으면 병합 전송 사용 자체가 불가하다. 게다가 특수한 권한없이는 이러한 MPTCP 프로토콜 사용 여부를 결정할 수 없다.
또한, MPTCP 프로토콜 자체로는 보안성 제공이 불가능해 공인(public) AP나 rogue AP 등의 상대적으로 외부 노출에 열악한 예를들어 WiFi 경로로 전달되는 데이터 트래픽에 대한 보호가 불가능하다. 따라서, 기업/사설망 등 보안성 접속에 사용하기에는 MPTCP 프로토콜 자체로는 충분한 보안성 제공이 어렵다.
본 발명이 해결하고자 하는 과제는 호스트 운영체제가 다중망 병합 전송 프로토콜을 탑재하지 않아도 가상화된 게스트 운영체제 기반으로 다중망 병합 전송을 구현할 수 있는 단말, 상기 단말의 동작 방법 및 다중경로 통신 시스템을 제공하는 것이다.
본 발명의 하나의 특징에 따르면, 단말은 복수의 망에 각각 접속되어 데이터를 송수신하는 복수의 통신 장치, 호스트 운영체제 프로그램, 상기 호스트 운영체제 프로그램의 커널에 설치된 하이퍼바이저 프로그램 및 상기 하이퍼바이저 프로그램에 의해 지원되는 가상 머신 상에서 동작하는 게스트 운영체제 프로그램을 저장하는 메모리; 그리고 상기 메모리에 저장된 프로그램들을 실행하는 프로세서를 포함하고, 상기 게스트 운영체제 프로그램은, 상기 호스트 운영체제 프로그램으로부터 수신한 데이터를 상기 복수의 통신 장치 각각을 통하여 다중망 병합 서비스를 제공하는 게이트웨이와 연결되는 복수의 서브플로우 별로 분할하고, 상기 복수의 서브플로우 별로 수신한 데이터를 하나의 데이터로 병합하여 상기 호스트 운영체제 프로그램으로 전달하는 명령어들(Instructions)을 포함하고, 상기 하이퍼바이저 프로그램은, 상기 호스트 운영체제 프로그램의 응용 계층에서 생성되거나 또는 상기 복수의 통신 장치로부터 수신한 데이터를 상기 게스트 운영체제 프로그램으로 전달하고, 상기 게스트 운영체제 프로그램에서 수신한 데이터를 상기 응용 계층 또는 상기 복수의 통신 장치로 전달하는 명령어들을 포함한다.
상기 하이퍼바이저 프로그램은, 상기 호스트 운영체제 프로그램과 상기 게스트 운영체제 프로그램 사이의 데이터 라우팅을 처리하는 가상화 스위치 프로그램을 포함하고, 상기 호스트 운영체제 프로그램은, 라우팅 테이블에 특정 어플리케이션 소켓을 통하여 전달되는 데이터의 목적지를 상기 가상화 스위치로 설정하는 명령어들을 포함할 수 있다.
상기 라우팅 테이블은, 전용망에 할당된 IP 대역의 라우팅 주소가 상기 가상화 스위치로 설정될 수 있다.
상기 하이퍼바이저 프로그램은, 상기 호스트 운영체제 프로그램에 의해 상기 복수의 통신 장치 각각에 대해 할당된 호스트 IP 주소와 상기 게스트 운영체제 프로그램에 의해 상기 복수의 통신 장치 각각에 대응하는 가상 인터페이스들에 할당된 게스트 IP 주소를 바인딩시킨 바인딩 테이블을 포함하고, 상기 가상화 스위치 프로그램은, 상기 바인딩 테이블을 참조로 상기 라우팅을 처리하는 명령어들을 포함할 수 있다.
상기 가상화 스위치 프로그램은, 브리지 모드 또는 NAT(Network Address) 모드로 동작하여 상기 호스트 IP 주소와 상기 게스트 IP 주소를 바인딩시키는 명령어들을 포함할 수 있다.
상기 복수의 서브플로우는, 주 서브플로우 및 상기 주 서브플로우에 추가되는 적어도 하나의 보조 서브플로우를 포함하고, 하나의 데이터 세션을 구성할 수 있다.
상기 주 서브플로우는, 이동통신망에서 할당받은 IP 주소를 사용하고, 상기 보조 서브플로우는, 와이파이(WiFi)망에서 할당받은 IP 주소를 사용하며, 상기 게스트 운영체제 프로그램은, 보안 게이트웨이와 인터넷 보안 프로토콜(IP security protocol, IPsec)을 통하여 교환한 인증키를 이용하여 가상 사설망(Virtual private network, VPN) 터널링을 생성하고, 상기 가상 사설망 터널링을 통하여 상기 보조 서브플로우의 데이터를 송수신하는 명령어들을 포함할 수 있다.
상기 게스트 운영체제 프로그램은, 다중망 병합 인증 서버와 연동하여 다중망 병합 활성화 절차를 수행하고, 다중망 병합 AAA(Authentication Authorization Accounting) 서버와 연동하여 사용자 인증을 수행하며, 상기 다중망 병합 인증 서버와 연동하여 다중망 병합 인증을 수행한 후, 상기 복수의 서브플로우를 생성하는 명령어들을 포함할 수 있다.
본 발명의 다른 특징에 따르면, 단말의 동작 방법은 다중 네트워크 인터페이스를 구비한 단말의 동작 방법으로서, 게스트 운영체제가 복수의 망 각각을 통해 다중망 병합 서비스를 제공하는 게이트웨이와 연결되는 복수의 서브플로우를 생성하는 단계, 호스트 운영체제로부터 제1 망의 제1 IP 주소를 가진 데이터를 수신하는 단계, 수신 데이터를 상기 제1 IP 주소를 가진 데이터와 상기 복수의 망 중에서 상기 제1 망을 제외한 나머지 망 각각의 제2 IP 주소를 가진 데이터로 분할하는 단계, 그리고 분할된 데이터를 각각의 서브플로우를 통해 전송하는 단계를 포함하고, 상기 게스트 운영체제는, 상기 호스트 운영체제의 커널에 설치된 하이퍼바이저에 의해 지원되는 가상 머신 상에서 동작하고, 상기 호스트 운영체제와 상기 게스트 운영체제는 물리적 하드웨어를 공유한다.
상기 전송하는 단계 이후, 상기 게스트 운영체제가 상기 복수의 서브플로우를 통해 각각의 데이터를 수신하는 단계, 그리고 상기 각각의 데이터를 하나의 데이터로 병합하여, 상기 가상화 스위치를 통하여 상기 호스트 운영체제로 전달하는 단계를 더 포함할 수 있다.
상기 생성하는 단계 이전에, 상기 호스트 운영체제에 의해 상기 다중 네트워크 인터페이스에 할당된 호스트 IP 주소와 상기 게스트 운영체제에 의해 상기 다중 네트워크 인터페이스에 대응하는 가상 인터페이스들에 할당된 게스트 IP 주소를 바인딩시키는 단계를 더 포함하고, 상기 하이퍼바이저의 가상 스위치는 상기 호스트 IP 주소와 상기 게스트 IP 주소의 바인딩 정보를 기초로 상기 호스트 운영체제와 상기 게스트 운영체제 간의 데이터를 라우팅처리할 수 있다.
상기 바인딩시키는 단계 이후, 특정 어플리케이션의 라우팅 주소를 상기 하이퍼바이저에 설치된 가상화 스위치로 설정하는 단계를 더 포함하고, 상기 수신하는 단계는, 상기 특정 어플리케이션에서 생성된 데이터를 상기 가상화 스위치를 통하여 수신할 수 있다.
상기 가상화 스위치로 설정하는 단계 이후, 상기 복수의 서브플로우 중에서 주 서브플로우에 할당된 IP 주소, 가입자 정보, 모델 및 상기 게스트 운영체제에 할당된 ID를 기초로 다중망 병합 인증 서버와 연동하여 상기 단말이 다중망 병합이 가능한 상태인지 인증하는 다중망 병합 활성화 절차를 수행하는 단계, 상기 호스트 운영체제로부터 전달된 사용자 인증 정보를 기초로 다중망 병합 AAA(Authentication Authorization Accounting) 서버와 연동하여 다중망 병합 서비스 이용이 가능한 사용자인지 판단하는 사용자 인증을 수행하는 단계, 그리고 상기 게스트 운영체제에 할당된 ID를 기초로 상기 다중망 병합 인증 서버와 연동하여 상기 게스트 운영체제가 다중망 병합 서비스 이용이 가능한지 판단하는 다중망 병합 인증을 수행하는 단계를 더 포함할 수 있다.
상기 복수의 서브플로우를 생성하는 단계는, 이동통신망에서 할당받은 IP 주소를 사용하는 주 서브플로우를 생성하는 단계, 보안 게이트웨이와 인터넷 보안 프로토콜(IP security protocol, IPsec)을 통하여 교환한 인증키를 이용하는 가상 사설망(Virtual private network, VPN) 터널링을 생성하는 단계, 그리고 와이파이(WiFi)망에서 할당받은 IP 주소를 사용하여 상기 가상 사설망 터널링을 통해 데이터를 송수신하기 위한 보조 서브플로우를 생성하는 단계를 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 다중경로 통신 시스템은 단말에서 실행된 호스트 운영체제의 커널에 설치된 하이퍼바이저에 의해 지원되는 가상 머신 상에서 동작하는 게스트 운영체제와 연동하여 상기 단말이 다중망 병합이 가능한 상태인지 인증하는 다중망 병합 활성화 절차와 상기 게스트 운영체제가 다중망 병합 서비스 이용이 가능한지 판단하는 다중망 병합 인증을 수행하는 다중망 병합 인증 서버, 상기 호스트 운영체제에서 생성된 사용자 인증 정보를 기초로 상기 게스트 운영체제와 연동하여 다중망 병합 서비스 이용이 가능한 사용자인지 판단하는 사용자 인증을 수행하는 다중망 병합 AAA(Authentication Authorization Accounting) 서버, 그리고 상기 다중망 병합 활성화 절차, 상기 다중망 병합 인증 및 상기 사용자 인증에 성공하는 경우, 상기 게스트 운영체제와 복수의 망을 통해 각각 연결되는 복수의 서브플로우를 생성하고, 상기 복수의 서브플로우를 통해 데이터를 송수신하는 다중망 병합 게이트웨이를 포함한다.
상기 다중망 병합 게이트웨이는, 상기 게스트 운영체제와의 TCP(Transmission Control Protocol) 연결 절차를 통해 상기 복수의 서브플로우를 생성하고, 상기 복수의 서브플로우를 통해 상기 단말로부터 수신한 목적지 서버와의 연결 요청(Connection Request)에 따라 상기 게스트 운영체제와 상기 목적지 서버 간의 데이터 송수신을 처리할 수 있다.
상기 게스트 운영체제와 인터넷 보안 프로토콜(IP security protocol, IPsec)을 통하여 인증키를 교환하고, 상기 인증키를 이용하여 가상 사설망(Virtual private network, VPN) 터널링을 생성하며, 상기 가상 사설망 터널링을 통하여 상기 복수의 서브플로우중 하나의 서브플로우의 데이터를 송수신하는 보안 게이트웨이를 더 포함할 수 있다.
본 발명의 실시예에 따르면, 가상화 소프트웨어 형태의 게스트 운영체제가 호스트 클라이언트의 운영체제 종류와 무관하게 보안성이 강화된 다중망 병합 전송을 선택적으로 제공할 수 있다.
또한, 전용망 접속시 하나의 경로만을 사용하는 경우 발생되는 망자원의 부족을 다중망 병합 전송을 통해 연결할 수 있어 빠르고, 안정적이며 또한 안전한 통신을 제공할 수 있다.
도 1은 본 발명의 한 실시예에 따른 통신 시스템의 구성도이다.
도 2는 본 발명의 한 실시예에 따른 단말의 가상화 구조를 도시한 블록도이다.
도 3은 본 발명의 실시예에 따른 단말의 데이터 송신을 처리하는 가상화 구조를 도시한 블록도이다.
도 4는 도 3의 단말의 데이터 송신 처리 과정을 나타낸 흐름도이다.
도 5는 본 발명의 실시예에 따른 단말의 데이터 수신을 처리하는 가상화 구조를 도시한 블록도이다.
도 6은 도 5의 단말의 데이터 수신 처리 과정을 나타낸 흐름도이다.
도 7은 본 발명의 실시예에 따른 호스트 운영체제와 게스트 운영체제간 다중망 병합 전송을 위한 사전 처리 과정을 나타낸 흐름도이다.
도 8은 본 발명의 실시예에 따른 다중망 병합 전송을 위한 다단계 인증 과정을 나타낸 흐름도이다.
도 9는 본 발명의 실시예에 따른 다중망 병합 전송 시그널링 절차를 나타낸 흐름도이다.
도 10은 본 발명의 실시예에 따른 단말의 하드웨어 블록도이다.
도 11은 본 발명의 실시예에 따른 서버의 하드웨어 블록도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
또한, 명세서에 기재된 "…부", "…기", "…모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
본 명세서에서 단말은 통신에서의 사용자 단말을 의미하는 포괄적 개념으로서, UE(User Equipment), MS(Mobile Station), MT(Mobile Terminal), SS(Subscriber Station), PSS(Portable Subscriber Station), AT(Access Terminal), 이동국, 이동 단말, 가입자국, 휴대 가입자국, 사용자 장치, 접근 단말, 무선 기기 등의 용어로 불릴 수도 있고, UE, MS, MT, SS, PSS, 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 등과 같은 네트워크 장치에 접속하여 원격의 서버에 연결될 수 있다.
기지국 또는 셀은 단말과 통신하는 고정된 지점을 지칭하고, BS(Base Station), 노드B(Node B), 고도화 노드B(eNB, Evolved Node B), 접근점(Access Point, AP), 무선 접근국(Radio Access Station, RAS), 송수신 기지국(Base Transceiver Station, BTS), MMR(Mobile Multihop Relay)-BS 등을 지칭할 수도 있고, BS, 노드B, 고도화 노드B, 접근점, 무선 접근국, 송수신 기지국, MMR-BS 등의 전부 또는 일부의 기능을 포함할 수도 있다.
본 명세서의 단말은 스마트폰과 같은 모바일 단말, 스마트 패드와 태블릿 PC와 같은 태블릿 단말, 컴퓨터, 텔레비전 등 다양한 형태의 통신 단말로서, 복수의 통신 인터페이스를 구비할 수 있다.
통신 인터페이스는 다양할 수 있다. 예를 들면, 통신 인터페이스는 와이파이(WiFi)/무선랜(WLAN, Wireless Local Area Network)/블루투스(bluetooth) 등의 근거리 무선망 인터페이스, 그리고 3G/LTE(Long Term Evolution)/LTE-A(Long Term Evolution-Advanced) 등의 이동통신망 인터페이스를 포함할 수 있고, 단말 제조사가 다양한 통신 인터페이스를 추가할 수 있다.
본 명세서에서는 WiFi 인터페이스와 LTE 인터페이스를 예로 들어 설명하나, 통신 인터페이스가 이에 한정되는 것은 아니다.
LTE의 하이 레벨 아키텍처는 3개의 주요 구성 요소들을 포함하는데, 단말(UE), E-UTRAN(Evolved UMTS Terrestrial Radio Access Network) 및 EPC(Evolved Packet Core)를 포함하는 것으로 설명될 수 있다. 여기서, EPS(Evolved Packet System)는 E-UTRAN 및 EPC를 지칭한다.
EPC는 MME(Mobility Management Entity), S-GW(Serving Gateway), P-GW(Packet data network Gateway)를 포함하며, LTE 통신 시스템에서 사용되는 통신 기술, 네트워크 장치 구성들의 개념이 본 발명의 실시예에서 참조될 수 있다.
본 발명의 실시예에서는 Private LTE(Long Term Evolution) 기술을 이용할 수 있다. 이러한 Private LTE 기술은 LTE 통신 시스템의 EPC를 통해 PDN(Packet Data Network)들을 분리한다.
여기서, PDN은 공중망과 전용망을 포함한다. 전용망(Dedicated Network)은 특정 가입자를 대상으로 외부 접근이 제한된 이동통신 서비스를 제공하며, 예를들면, 전용 네트워크, 사설망(Private Network), 인트라넷(Intranet), 전용 LTE망이라고도 할 수 있다. 이러한 전용망은 불특정 다수를 대상으로 이동통신 서비스를 제공하는 공중망(Public Network)과 구분된다. 공중망은 공용 네트워크, 인터넷(Internet), 일반 LTE망이라고도 할 수 있다.
공용 PGW 및 전용 PGW는 별개로 장치로 구현될 수 있으나, 실시예에 따라 하나의 PGW를 통해 공용망 및 전용망으로 분기하도록 구현할 수도 있으며, 공용망과 전용망을 분리하는 방식을 특별히 한정하지 않는다.
이때, 통신 사업자가 기업 가입자를 대상으로 Private LTE(Long Term Evolution) 서비스를 제공하는 것을 기업 전용망 서비스라 정의한다. 기업 가입자는 이러한 기업 전용망 서비스를 이용하기로 약정 또는 청약한 가입자를 지칭한다.
본 명세서에서, 다중망 병합(Multi-net Aggregation, 이하, 'MA'라 통칭하여 기재함)은 복수의 무선망을 동시에 사용하여 트래픽을 전송하는 기술로서, 각 경로로 전송된 트래픽을 하나의 세션으로 처리한다. 다중망 병합 기술을 통해, 단말은 한 시점에 복수의 무선망에 연결될 수 있고, 하나의 서비스/어플리케이션은 망 종류나 망의 수에 관계없이 복수의 망을 하나의 망처럼 병합하여 통신한다. 따라서, 다중망 병합 기술은 가용한 복수의 망 자원을 이용하여 대량의 트래픽을 빠르게 송수신할 수 있다.
WiFi망과 LTE망의 병합 기술은 병합 지점에 따라 다음과 같이 분류될 수 있다.
L2/링크 계층 병합은 LTE 코어망(core)와 접속망(access)의 경계 지점(즉, eNB)에서 WiFi AP로 전용 터널을 생성한다.
L3/네트워크 계층 병합은 LTE망과 WiFi망에서 독립적으로 사용하는 IP 주소를 통합하기 위해 가상 IP 터널을 생성한다.
L4/전송 계층 병합은 단일 접속망을 통해 세션을 생성한 후, 추가적인 접속망이 사용 가능한 경우, IP 주소체계와 상관없이 데이터 전송에 참여시킬 수 있다. 이때, 응용레벨의 통신 주체는 하나 이상의 접속망을 이용하여 단일 세션 기반의 데이터 통신이 가능한 구조를 지원한다.
L7/응용 계층 병합은 전용 어플리케이션/에이전트가 자체적으로 LTE망과 WiFi망을 통해 수신한 데이터를 재조합하거나 응용 프로토콜 데이터를 분리하여 전송한다.
이와 같이, 병합 전송 계층에 따라 다양한 병합 전송이 가능한데, 본 발명의 실시예에서는 다중 경로 TCP(Multi-Path TCP, 이하, 'MPTCP'로 통칭하여 기재함)를 통한 병합 전송 위주로 설명한다.
도 1은 본 발명의 실시예에 따른 통신 시스템의 구성도이다.
도 1을 참조하면, 단말(100)은 다중 통신 인터페이스를 구비하여, 다중 통신 인터페이스를 통하여 한 시점에 복수의 망에 연결된다. 본 발명의 실시예에서는 단말(100)이 LTE 인터페이스와 WiFi 인터페이스를 구비하고, LTE망과 WiFi망에 접속하는 것으로 설명한다.
단말(100)은 LTE 기지국(200)과 WiFi AP(Access Point, 300)에 접속한다.
LTE 기지국(200)은 EPC(400), MA 인증 서버(500) 및 MA-AAA(Authentication, Authorization and Accounting) 서버(600)에 연결된다.
WiFi AP(300)는 AAA 서버(700) 및 보안 게이트웨이(800)에 연결된다.
EPC(400)는 MME(401), S-GW(403) 및 P-GW(405)를 포함하고, P-GW(405)는 MA 게이트웨이(900)에 연결된다.
MA 게이트웨이(900)는 P-GW(405), 보안 게이트웨이(800) 및 전용망(1000)에 연결된다. 서버(1100)는 전용망(1000) 내에 위치할 수 있다.
단말(100)은 기지국(200), EPC(400) 및 MA 게이트웨이(900)를 통해 전용망(1000)에 접속할 수 있다. 단말(100)은 WiFi AP(300), 보안 게이트웨이(800) 및 MA 게이트웨이(900)를 통해 전용망(1000)에 접속할 수 있다.
MA 인증 서버(500)는 단말(100)이 MA 접속 권한이 있는 사용자인지 판단하는 MA 접속 인증과 단말(100)이 게스트 운영체제(도 2의 120)를 통해 MA 사용 권한이 있는지 판단하는 MA 사용 인증을 수행한다.
MA 인증 서버(500)는 단말(100)이 다중망 병합 서비스 가능 상태인지 판단하여 단말(100)을 인증한다. MA 인증 서버(500)는 인증된 단말(100)이 MA 게이트웨이(900)에 접속할 수 있도록 단말(100)에게 MA 게이트웨이(900)의 접속 정보(IP 주소, port 값 등)를 제공한다. 또한, MA 인증 서버(500)는 단말(100)의 인증 상태를 주기적으로 체크하여 단말(100)에게 알려준다. 만약, 단말(100)이 다중망 병합 서비스 불가 상태인 경우, MA 인증 서버(500)는 단말(100)에게 인증 상태와 알림 정보를 전송한다.
MA-AAA 서버(600)는 단말(100)이 정당한 사용자인지 판단하는 RADIUS(Remote Authentication Dial In User Service) 인증을 수행한다. MA-AAA 서버(600)는 호스트 운영체제(도 2의 110) 자체에 대한 사용자 인증을 수행한다.
AAA 서버(700)는 WiFi AP(300)에 접속한 단말(100)의 WiFi 접속 권한이 있는지 판단하는 RADIUS 인증을 수행한다.
보안 게이트웨이(800)는 데이터 트래픽의 패킷 암호화와 패킷 인증을 제공하는 게이트웨이로서, VPN(Virtual Private Network)을 구성하기 위한 필수 요소이다. 보안 게이트웨이(800)는 단말(100)과 VPN 터널을 통해 연결되어 암호화된 트래픽을 송수신한다. 보안 게이트웨이(800)는 단말(100)과 IPsec을 이용하여 인증키를 교환하고, 단말(100)과 다중망 병합 세션의 서브플로우를 통해 송수신하는 WiFi 트래픽을 인증키를 이용하여 암호화 및 복호화한다.
MA 게이트웨이(900)는 단말(100)과 MA 세션을 생성한다. MA 세션은 제1 서브플로우(subflow) 및 제2 서브플로우를 포함한다. 제1 서브플로우는 단말(100)과 MA 게이트웨이(900) 간의 LTE 트래픽 경로이다. 제2 서브플로우는 단말(100)과 MA 게이트웨이(900) 간의 WiFi 트래픽 경로이다. 제2 서브플로우는 제1 서브플로우에 추가된다.
MA 게이트웨이(900)는 다중 경로로 전송되는 서브플로우를 병합하거나, 단일 경로로 전송되는 플로우를 다중 경로의 서브플로우로 분할하여 전송하는 네트워크 장치이다. MA 게이트웨이(900)는 다중망의 접점에 위치하고, 예를 들면, LTE망과 WiFi망의 접점에 위치한다.
MA 게이트웨이(900)는 수신한 데이터를 단말(100)의 다중 통신 인터페이스로 전달하기 위해 데이터를 분할한다. 그리고 MA 게이트웨이(900)는 일부 데이터를 LTE망을 통해 단말(100)로 전송하고, 나머지 데이터를 WiFi망을 통해 단말(100)로 전송할 수 있다. 단말(100)은 복수의 통신 인터페이스를 통해 수신한 데이터를 병합한다. 마찬가지 방법으로, MA 게이트웨이(900)는 단말(100)이 다중 통신 인터페이스를 이용하여 전송한 데이터를 병합하여 서버(1100)로 전송한다.
서버(1100)는 일반적인 인터넷 서비스를 제공하는 서버로 단말(100)이 전송하는 데이터 트래픽의 최종 목적지 주소를 포함하는 피어 노드(peer node)를 지칭한다.
본 발명의 실시예에 따르면, 단말(100)은 호스트 운영 시스템(host operating system)에서 제공할 수 없는 MPTCP 전송 프로토콜을 하이퍼바이저(hypervisor)를 통한 가상 머신(virtual machine)에서 제공한다. 이러한 구성에 대해 구체적으로 설명하면, 도 2와 같다.
도 2는 본 발명의 한 실시예에 따른 단말의 가상화 구조를 도시한 블록도이다.
도 2를 참조하면, 단말(100)은 호스트 운영체제(host operating system, 110), 게스트 운영체제(guest operating system, 120), 하이퍼바이저(hypervisor, 130) 및 하드웨어(140)를 포함한다.
최하위에 하드웨어(140)가 위치하고, 하드웨어(140) 위에는 하이퍼바이저(130)가 위치하며, 하이퍼바이저 위에 호스트 운영체제(110) 및 게스트 운영체제(120)가 위치한다.
호스트 운영체제(110) 및 게스트 운영체제(120)는 각각의 운영체제 내에서 다양한 데이터와 어플리케이션을 실행할 수 있다.
호스트 운영체제(110) 및 게스트 운영체제(120)는 동종 또는 이종의 운영체제일 수 있다.
호스트 운영체제(110)는 단말(100) 내의 자원(resource) 및 구성요소들을 제어함으로써, 다양한 응용 프로그램들을 수행한다.
호스트 운영체제(110)는 어플리케이션 계층, 커널 계층 및 하드웨어 계층을 포함한다. 이때, 하드웨어 계층은 물리적 하드웨어(140)를 포함한다. 커널 계층은 TCP(Transmission Control Protocol) 처리부(111) 및 가상머신 모니터(112)를 포함하고 어플리케이션 계층은 어플리케이션(Apps)(113)을 포함한다.
TCP 처리부(111)는 어플리케이션(Apps)(113)과 소켓(socket)을 생성하고 소켓을 통하여 수신된 데이터를 라우팅 테이블에 기초하여 라우팅한다.
TCP 처리부(111)는 어플리케이션별 전송 정보를 기초로, 일부 어플리케이션은 일반 TCP 전송하고, 일부 어플리케이션은 하이퍼바이저(130)를 통하여 게스트 운영체제(120)로 전달하여 MPTCP 전송할 수 있다.
가상머신 모니터(112)는 하이퍼바이저(130)를 통하여 게스트 운영체제(120)를 구동한다.
게스트 운영체제(120)는 가상 운영체제(virtual operating system)이다. 가상 운영체제는 한 대의 장치가 복수의 운영체제를 병렬적으로 수행하는 것처럼 보이는 기법이다. 예를 들어, 게스트 운영체제는 게스트 운영체제 내에서 다양한 응용 프로그램을 수행할 수 있다. 그러나, 게스트 운영체제는 단말 내의 자원 및 구성요소들을 직접 제어할 수 없다.
게스트 운영체제(120)는 어플리케이션 계층, 커널 계층 및 가상 하드웨어 계층을 포함한다. 어플리케이션 계층은 MA 프록시 에이전트(121), IPSec(Internet Protocol Security) 클라이언트(122), 상태 모니터(123), 인증부(124) 및 트래픽 제어부(125)를 포함하며, 각각 어플리케이션 프로세스로 실행될 수 있다. 각 구성(121, 122, 123, 124, 125)은 데몬(daemon) 프로세스로 실행될 수 있다.
커널 계층은 MPTCP 처리부(126)를 포함한다. 가상 하드웨어 계층은 물리 LTE NIC(Network Interface Card, 141)에 대응하는 가상 LTE NIC(127) 및 물리 WiFi NIC(142)에 대응하는 가상 WiFi NIC(128)를 포함한다.
MA 프록시 에이전트(121)는 LTE망 및 WiFi망을 통해 전용망(1000)에 연결되는 다중망 병합 세션을 생성한다.
MA 프록시 에이전트(121)는 가상 LTE NIC(127)를 통하여 MA 게이트웨이(900)와 연결되는 제1 서브플로우, 가상 WiFi NIC(128)를 통하여 MA 게이트웨이(900)와 연결되는 제2 서브플로우를 생성한다. 제1 서브플로우는 LTE IP 주소를 사용하는 주 서브플로우이고, 제2 서브플로우는 제1 서브플로우에 추가되고, WiFi IP 주소를 사용하는 보조 서브플로우이다.
MA 프록시 에이전트(121)는 가상 LTE NIC(127) 또는 가상 WiFi NIC(128)를 통하여 호스트 운영체제(110)의 어플리케이션(113)에서 생성된 데이터를 수신한다. MA 프록시 에이전트(121)는 수신 데이터를 서브플로우 별로 분할하여, 가상 LTE NIC(127) 및 가상 WiFi NIC(128)를 통하여 출력한다.
MA 프록시 에이전트(121)는 가상 LTE NIC(127) 및 가상 WiFi NIC(128)를 통하여 MA 게이트웨이(900)로부터 수신한 서브플로우별 각각의 데이터를 하나의 데이터로 병합하여, 가상 LTE NIC(127) 또는 가상 WiFi NIC(128)를 통하여 호스트 운영체제(110)의 어플리케이션(113)으로 출력한다.
IPSec 클라이언트(122)는 보안 게이트웨이(800)와 인터넷 보안 프로토콜(IP security protocol, IPsec)을 통하여 교환한 인증키를 이용하여 가상 사설망(Virtual private network, VPN) 터널링을 생성하고, 가상 사설망(VPN) 터널링을 통하여 보조 서브플로우의 데이터를 송수신한다.
상태 모니터(123)는 하이퍼바이저(130)를 통하여 물리 NIC들(141, 142)의 WiFi 전파 상태, 현재 WiFi 트래픽 전송량, LTE 트래픽 전송량, LTE망의 레이턴시(latency) 상태, WiFi망의 레이턴시(latency) 상태 등 LTE 및 WiFi 트래픽 전송에 관련된 상태 정보를 체크한다.
인증부(124)는 MA 인증 서버(500)와 연동하여 다중망 병합 활성화 절차 및 다중망 병합 인증을 수행하고, MA-AAA 서버(600)와 연동하여 사용자 인증을 수행하며, AAA 서버(700)와 연동하여 RADIUS 인증을 수행한다. 이때, 각각의 인증 절차는 독립된 별개의 프로세스로 진행될 수 있다.
트래픽 제어부(125)는 MA 게이트웨이(900)로부터 수신한 TC(Traffic Control) 정책 및 상태 모니터(123)로부터 수신한 트래픽 상태 정보를 기초로 트래픽을 제어한다. 트래픽 제어부(125)는 상태 모니터(123)로부터 수신한 트래픽 상태 정보에 기초하여 현재 WiFi 품질이 양호하다고 판단되면, LTE 트래픽의 최대 전송속도를 낮게 예를 들면, 1Mbps로 감소시킬 수 있다. 반면, 현재 WiFi 품질이 나쁘다고 판단되면, LTE 트래픽의 최대 전송속도를 다시 증가시킬 수 있다. 여기서, 감소시키거나 또는 증가시키는 최대 전송속도 값은 LTE망의 상태에 따라 자동으로 설정되거나 운영자/사용자가 임의의 값으로 미리 설정한 값일 수 있다.
MPTCP 처리부(126)는 어플리케이션 계층에서 실행된 각각의 프로세스(121, 122, 123, 124, 125)와 소켓 통신하고, 라우팅 테이블을 기초로 데이터를 전송한다.
가상 LTE NIC(127)는 LTE망으로 데이터를 송수신하는 인터페이스이고, 가상 WiFi NIC(128)는 WiFi망으로 데이터를 송수신하는 인터페이스이며, MPTCP는 하나 이상의 IP/인터페이스를 동시에 사용하여 데이터를 송수신하는 L4 기술이다. 따라서, 단말(100)의 어플리케이션은 일반 TCP를 통해 통신을 시도하지만, 실제로 단말(100)의 MPTCP 처리부(126)가 서브플로우 단위로 세션을 생성하여 적어도 하나의 통신 인터페이스로 데이터를 출력한다. MPTCP와 같은 망 병합 전송은 물리적으로 분리된 LTE망과 WiFi망을 논리적으로 하나의 망처럼 병합하여 두 망을 동시에 사용할 수 있다. 특히, MPTCP는 한 서비스에 대해 생성된 세션을 복수의 서브플로우로 분할할 수 있고, 이를 통해 동적으로 접속망을 추가하거나 해제할 수 있다. 따라서, MPTCP는 병합 전송이 가능한 경우에는 두 망을 병합하여 전송 속도를 높이면서도, 어느 무선망의 상태가 열악해지는 경우에는 다른 무선망으로 트래픽을 전송함으로써 물리적 환경 변화에 관계없이 안정적인 서비스를 제공할 수 있다.
하이퍼바이저(130)는 호스트 운영체제(110)의 커널에 설치되며, 호스트 운영체제(110) 또는 게스트 운영체제(120)가 단말(100) 내의 자원 및 구성요소들에 접근하는 것을 통제할 수 있다.
이때, 호스트 운영체제(110)에서 동작하는 어플리케이션(113)은 서비스 수신을 위한 세션을 생성하고 네트워크 스택을 사용하기 위한 소켓 통신을 시작한다. 이때, 호스트 운영체제(110)는 TCP 세션을 발생시키기 위한 3WHS(three way handshake) 과정을 시작하는데, 이 과정을 위한 패킷은 TCP 처리부(111)의 라우팅 테이블에 설정된 라우팅 규칙에 의해 게스트 운영체제(120)와 연결된 가상화 스위치(131)로 리라우팅된다.
호스트 운영체제(110)에서 시작된 TCP 3WHS 패킷은 게스트 운영체제(120)의 가상 LTE NIC(127)에 인입된다. 가상 LTE NIC(127)에 인입된 패킷은 라우팅 테이블에 기초하여 MPTCP 처리부(126)에 의해 인증부(124)로 인입된다.
인증부(124)는 GL_SOCKS 프로토콜에 의해 외부망 연결을 준비하고, GL_SOCKS 설정되어 있는 MA 게이트웨이(900)의 IP 주소로 TCP 3WHS 과정을 가상 LTE 인터페이스를 통해 시작하고, 이때 TCP 옵션에는 MPTCP 관련 정보(예, MP_CAPABLE)가 포함되어 있다. GL_SOCKS 과정에 의해 실목적지 주소/포트를 획득한 MA 게이트웨이(900)는 실목적지인 CP(Content Provider) 서버(1100)로 데이터를 포워딩하기 위한 세션을 생성한다. 이후, 해당 세션을 통해 양방향 통신이 진행된다.
하이퍼바이저(130)는 게스트 운영체제(120)와 물리적 하드웨어(140) 사이에 위치되고 물리적 하드웨어(140)를 관리한다.
게스트 운영체제(120)는 하이퍼바이저(130)에 의하여 관리되고 물리적 하드웨어(140)는 하이퍼바이저(130)를 통해서 공유된다. 즉, 게스트 운영체제(120)는 하이퍼바이저(130)를 통해서 물리적 하드웨어(140)에 명령을 내릴 수 있다.
하이퍼바이저(130)는 가상화 스위치(131)를 포함한다. 가상화 스위치(131)는 호스트 운영체제(110)의 어플리케이션(113)에서 생성된 데이터를 게스트 운영체제(120)로 전달하고, 게스트 운영체제(120)로부터 수신한 데이터를 물리 NIC들(141, 142)을 통하여 외부망으로 송신한다. 또한, 물리 NIC들(141, 142)을 통하여 수신되는 데이터를 게스트 운영체제(120)로 전달하고, 게스트 운영체제(120)로부터 수신한 데이터를 호스트 운영체제(110)로 전달한다.
이때, TCP 처리부(111)의 라우팅 테이블은 특정 어플리케이션 소켓을 통하여 전달되는 데이터의 목적지가 가상화 스위치(131)로 설정되어 있다. 예를들면, 전용망(1000)에 할당된 IP 대역의 라우팅 주소가 가상화 스위치로 설정될 수 있다.
하이퍼바이저(130)는 호스트 운영체제(110)의 호스트 IP 주소와 게스트 운영체제(120)의 게스트 IP 주소를 바인딩한 바인딩 테이블을 포함한다. 가상화 스위치(131)은 바인딩 테이블을 기초로 라우팅을 처리한다.
바인딩 테이블은 물리 LTE NIC(141)에 할당된 호스트 LTE IP 주소 및 가상 LTE NIC(127)에 할당된 게스트 LTE IP 주소의 바인딩 정보를 저장한다. 바인딩 테이블은 물리 WiFi NIC(142)에 할당된 호스트 WiFi IP 주소와 가상 WiFi NIC(128)에 할당된 게스트 WiFi IP 주소의 바인딩 정보를 저장한다.
이와 같이, 호스트 운영체제(110)와 게스트 운영체제(120) 간의 주소 바인딩이 완료되면, 호스트 운영체제(110)에서 발생하는 데이터가 게스트 운영체제(120)로 라우팅될 수 있다. 이때, 사용자 응용/서비스의 예외 규칙은 별도의 라우팅 우선 순위에 의해 조정된다.
가상화 스위치(131)는 호스트 전용 모드와, 브리지(Bridge) 모드 또는 NAT(Network Address) 모드로 동작한다.
호스트 전용 모드는 호스트 운영체제(110)와 게스트 운영체제(120) 간의 데이터 라우팅을 처리하는 통신 모드이다.
브리지 모드 또는 NAT 모드는 외부 통신을 위한 모드이다.
브리지 모드는 물리 LTE NIC(141)를 가상 LTE NIC(127)에 브리지시키고, 물리 WiFi NIC(142)를 가상 WiFi NIC(128)에 브리지시켜 게스트 운영체제(120)의 어플리케이션 계층에서 생성된 데이터가 호스트 운영체제(110)의 L1, L2 계층의 네트워크 스택을 경유하여 외부로 전달되는 통신 모드이다. 즉, 브리지 모드는 게스트 운영체제(120)가 호스트 운영체제(110)의 NIC들(141, 142)를 공유하는 것으로서, 호스트 운영체제(110)와 게스트 운영체제(120)는 동일한 네트워크 대역을 가진다.
게스트 운영체제(120)의 가상 LTE NIC(127) 및 가상 WiFi NIC(128)은 호스트 운영체제(110)와 별도의 MAC(media access control) 어드레스를 가지고 있어서 게스트 운영체제(120)에서 발생된 데이터는 자신의 주소를 그대로 가지고 호스트 운영체제(110)의 물리 NIC들(141, 142)을 통과(브릿지)한다.
게스트 운영체제(120)에 IP 주소를 설정하는 방식은 수동 또는 자동으로 설정 가능하다. 수동으로 설정하는 경우, 일반적인 IP 주소 할당 방식으로 IP 주소, 게이트웨이 주소, 서브넷 마스크, DNS 주소 등을 설정할 수 있다. 자동으로 설정하는 경우는 DHCP(Dynamic Host Configuration Protocol) 등의 주소 동적할당 프로토콜을 기반으로 게스트 운영체제(120)는 가상화 스위치(131)를 IP 주소를 요청한다. 이때, 가상화 스위치(131)가 DHCP 클라이언트로 동작한다.
NAT 모드는 가상화 스위치(131)가 가상 LTE NIC(127)의 가상 LTE IP 주소와 가상 WiFi NIC(128)의 가상 WiFi IP 주소를 각각 물리 LTE NIC(141)의 호스트 LTE IP 주소와 물리 WiFi NIC(142)의 호스트 WiFi IP 주소로 변환하여 통신하는 방식이다.
이때, 호스트 IP 주소가 (a.b.c.d)라고 할 때, 게스트 IP 주소는 (a+1,b,c,d)와 같이 호스트 IP 주소로부터 산술적으로 정해질 수 있다. 예를 들어, 사용자 단말(100)에게 부여되는 호스트 IP 주소가 10.25.52.111일 때 게스트 IP 주소는 11.25.52.111로 부여될 수 있다.
NAT 모드는 물리 NIC가 브리지 모드를 지원하지 않는 경우, 선택적인 구성일 수 있다. NIC가 브릿지 모드를 지원할 수도 있지만, 브릿지 자체를 사용할 수 없는 NIC도 존재한다. 예를들면, 노트북에 장착된 LTE 모뎀은 브릿지 모드를 지원하지 않는다.
또한, 모뎀 자체 내부에 호스트 운영체제(110)와는 무관하게 IP 스택을 가지고 있는 경우, 하이퍼바이저(130)의 가상화 스위치(131)가 브릿지 모드를 지원한다 할지라도 게스트 운영체제(120)는 DHCP 등의 동적 주소 할당은 불가능하다. 따라서, 이와 같은 경우, NAT 모드를 기반으로 게스트 운영체제(120) 내의 가상 NIC(127M 128)에 주소 할당을 동적으로 할당 받아 처리한다. 동적 주소할당과 마찬가지로, 게스트 운영체제(120)는 DHCP 리퀘스트(request)를 호스트 운영체제(110)로 전달하면 가상화 스위치(131)의 NAT 모드에 의해 DHCP 응답(reply) 회신되어 주소를 할당할 수 있다. 이후, 호스트 운영체제(110)와 게스트 운영체제(120) 사이의 데이터는 게스트 운영체제(120)의 가상 NIC들(127, 128)에 할당된 내부 주소를 사용하고, 가상화 스위치(131)와 외부망 사이의 데이터는 호스트 운영체제(110)의 물리 NIC들(141, 142)에 할당된 외부 주소로 변환되어 사용된다.
도 3은 본 발명의 실시예에 따른 단말의 데이터 송신을 처리하는 가상화 구조를 도시한 블록도이고, 도 4는 도 3의 단말의 데이터 송신 처리 과정을 나타낸 흐름도이며, 도 5는 본 발명의 실시예에 따른 단말의 데이터 수신을 처리하는 가상화 구조를 도시한 블록도이고, 도 6은 도 5의 단말의 데이터 수신 처리 과정을 나타낸 흐름도이다.
이때, 게스트 운영체제(120)의 어플리케이션 계층의 구성은 데이터 송수신 처리에 대한 구성만으로 단순화시켜 기재하였으나, 기재된 구성이 필수 구성요소인 것은 아니다.
또한, 제1 서브플로우는 주 서브플로우로서 LTE 인터페이스를 사용하고, 제2 서브플로우는 보조 서브플로우로서 WiFi 인터페이스를 사용한다고 가정한다.
도 3 및 도 4를 참조하면, 어플리케이션(113) 소켓을 통하여 생성(S101)된 데이터는 TCP 처리부(111)에 의해 LTE 인터페이스를 거쳐 가상화 스위치(131)로 라우팅된다(S103).
가상화 스위치(131)는 바인딩 테이블을 기초로 라우팅을 수행(S105)한다. 즉, 수신 데이터를 가상 LTE NIC(127)를 거쳐 MA 프록시 에이전트(121)로 전달한다.
MA 프록시 에이전트(121)는 수신 데이터의 목적지 주소를 MA 게이트웨이(900)로 변경한다(S107). 이때, 목적지 주소는 컨텐츠 서버(1100)의 주소로 설정되어 있더라도, MA 게이트웨이(900)로 변경한다.
MA 프록시 에이전트(121)는 제1 서브플로우 및 제2 서브플로우를 생성(S109)하고, 수신 데이터를 서브플로우 별로 분할한다. 이때, 제2 서브플로우의 분할 데이터를 IPSec 클라이언트(122)로 전달하여 암호화된 VPN 트래픽으로 생성한다(S111).
MA 프록시 에이전트(121)는 제1 서브플로우의 LTE 데이터와 제2 서브플로우의 암호화된 VPN WiFi 데이터를 각각 가상 LTE NIC(127) 및 가상 WiFi NIC(128)를 거쳐 가상화 스위치(131)로 전달한다(S113, S115).
가상화 스위치(131)로 전달된 각각의 서브플로우 별 분할 데이터는 TCP 처리부(111)에서 물리 LTE NIC(141) 및 물리 WiFi NIC(142)로 라우팅(S117)되어 기지국(200) 및 WiFi AP(300)으로 각각 전송된다(S119).
도 5 및 도 6을 참조하면, 물리 LTE NIC(141) 및 물리 WiFi NIC(142)로부터 각각 수신(S201)되는 데이터를 TCP 처리부(111)가 라우팅 룰을 적용(S203)하여 가상화 스위치(131)로 라우팅한다.
가상화 스위치(131)는 바인딩 테이블을 기초로 라우팅된 데이터를 MPTCP 처리부(126)로 라우팅한다(S205).
MPTCP 처리부(126)는 라우팅 룰을 적용(S207)하여 데이터를 MA 프록시 에이전트(121)로 전달하는데, 이때, 제2 서브플로우의 데이터를 IPsec 클라이언트(122)로 전달하여 복호화(S209)시킨다.
MA 프록시 에이전트(121)는 제1 서브플로우의 데이터 및 복호화된 제2 서브플로우의 데이터를 병합(S211)하고, 목적지 주소를 호스트 운영체제(110)의 호스트 IP 주소로 변경한다(S213).
MPTCP 처리부(126)는 어플리케이션 소켓을 통해 MA 프록시 에이전트(121)로부터 전달되는 병합 데이터를 라우팅 룰을 적용(S215)하여 가상화 스위치(131)로 전달한다.
가상화 스위치(131)는 전달된 병합 데이터를 바인딩 테이블을 기초로 TCP 처리부(111)로 전달한다(S217).
TCP 처리부(111)는 병합 데이터를 해당 어플리케이션(113)으로 전달(S219)함으로써, 어플리케이션(113)은 서버(1100)로부터 데이터를 수신한다(S221).
도 7은 본 발명의 실시예에 따른 호스트 운영체제와 게스트 운영체제간 다중망 병합 전송을 위한 사전 처리 과정을 나타낸 흐름도이다.
도 7을 참조하면, 호스트 운영체제(110)는 기지국(200) 및 EPC(400)에 접속하여 이동통신망을 통한 전용망 접속 절차를 수행한다. 호스트 운영체제(110)는 EPS(Evolved Packet System)/SIM(Subscriber Identification Module) 인증을 수행(S301)한 후, EPC(400)로부터 LTE IP 주소를 할당받는다(S303).
이때, LTE IP 주소는 전용망(1000)에 할당된 전용 LTE IP 주소일 수도 있다.
호스트 운영체제(110)는 단말(100)이 WiFi 커버리지에 위치하는 경우, WiFi AP(300) 및 AAA 서버(700)에 접속하여 WiFi 접속 절차를 수행한다. 호스트 운영체제(110)는 WiFi AP(300)와 EAP-AKA(extensible authentication protocol method for authentication and key agreement)/SIM 인증을 수행(S305)하고, WiFi AP(300)는 AAA 서버(700)와 RADIUS 인증을 수행한다(S307). 호스트 운영체제(110)는 WiFi AP(300)로부터 WiFi IP 주소를 할당받는다(S309).
호스트 운영체제(110)는 하이퍼바이저(130)를 통하여 게스트 운영체제(120)를 구동시킨다(S311). 이때, 게스트 운영체제(120)는 S301 단계 이전에 구동될 수도 있고, S303 ~ S309 단계들을 통하여 IP 주소 할당이 완료될때까지 스탠바이(Stanby)로 대기할 수도 있다.
게스트 운영체제(120)는 가상화 스위치(131)의 브리지 모드 또는 NAT 모드를 이용하여 게스트 IP 주소를 설정한다(S313).
호스트 운영체제(110)와 게스트 운영체제(120)는 가상화 스위치(131)를 통하여 LTE IP 주소와 WiFi IP 주소를 바인드한다(S315, S317).
호스트 운영체제(110)는 특정 어플리케이션의 목적지 IP 주소를 가상화 스위치(131)로 설정하는 라우팅 룰을 세팅한다(S319). 그러면, 특정 어플리케이션 소켓을 통하여 생성된 데이터는 가상화 스위치(131)로 라우팅된다.
도 8은 본 발명의 실시예에 따른 다중망 병합 전송을 위한 다단계 인증 과정을 나타낸 흐름도이다.
도 8을 참조하면, 게스트 운영체제(120)의 인증부(124)는 MA 인증 서버(500)에게 다중망 병합 활성화 요청 메시지(Multinet Aggregation Activation Request)를 전송한다(S401). 이때, 다중망 병합 활성화 요청 메시지는 SIM 정보, 단말 3G/LTE IP, 단말 모델명, ID를 포함할 수 있다. 여기서, SIM 정보는 IMSI(International Mobile Subscriber Identity) 및 MSISDN(Mobile Station ISDN)가 사용될 수 있고, MSISDN은 단말(100)의 USIM 정보를 활용할 수 있다. ID는 게스트 운영체제(120)에 할당된 고유 식별자를 말한다.
MA 인증 서버(500)는 S401 단계에서 수신한 정보들을 기초로 게스트 운영체제(120)가 다중망 병합 접속 가능한 상태인지와, 다중망 병합 접속 권한이 있는지 판단하는 다중망 병합 활성화 인증을 수행한다(S403).
다중망 병합 활성화 인증에 성공하면, MA 인증 서버(500)는 MA 게이트웨이(900)의 IP와 Port, 상태 간격(Status_interval)을 포함하는 다중망 병합 활성화 응답 메시지를 전송한다(S405).
게스트 운영체제(120)가 다중망 병합 불가 상태인 경우, MA 인증 서버(500)는 인증 상태와 알림 정보를 전송할 수도 있다(S405).
MA 인증 서버(500)는 다중망 병합 활성화 인증에 성공하는 경우, 인증이 완료된 게스트 운영체제(120)의 ID를 포함하는 인증 완료 정보를 MA-AAA 서버(600)에 업데이트하여 동기화한다(S407).
MA-AAA 서버(600)는 인증이 완료된 게스트 운영체제(120)의 ID를 저장한다(S409).
게스트 운영체제(120)의 인증부(124)는 호스트 운영체제(110)에서 입력(S411)된 사용자 인증 정보를 포함하는 접속 요청을 수신한다(S413). 이때, 사용자 인증 정보는 ID/PW이거나 또는 지문과 같은 생체정보일 수도 있다.
게스트 운영체제(120)의 인증부(124)는 호스트 운영체제(110)에서 전달받은 사용자 인증 정보를 포함하는 사용자 인증을 요청하는 RADIUS 메시지를 MA-AAA 서버(600)로 전송한다(S415).
MA-AAA 서버(600)는 사용자 인증 정보를 기초로 단말(100)이 정당한 사용자인지 판단하는 사용자 접속 권한 인증을 수행한다(S417). 이때, 사용자 인증 요청은 게스트 운영체제(120)의 ID를 포함할 수 있고, S409 단계에서 저장된 ID와의 일치 여부 판단을 더 포함할 수 있다.
MA-AAA 서버(600)는 인증 결과를 포함하는 사용자 인증 응답을 게스트 운영체제(120)로 전송한다(S419). 게스트 운영체제(120)는 호스트 운영체제(110)로 접속 응답을 전송한다(S421). 이때, 인증이 성공인 경우, 접속 요청(S413)에 대한 접속 허가를 전송한다(S421).
MA-AAA 서버(600)는 MA 인증 서버(500)와 데이터베이스 동기화를 통하여 사용자 인증 완료 정보를 교환한다(S423). 사용자 인증 완료 정보는 인증이 완료된 게스트 운영체제(120)의 ID를 포함할 수 있다.
게스트 운영체제(120)의 인증부(124)는 MA 인증 서버(500)에게 MA 인증 요청 메시지를 전송한다(S25). 이때, MA 인증 요청 메시지는 게스트 운영체제(120)의 ID를 포함할 수 있다. 게스트 운영체제(120)의 ID는 사용자 계정이나 MAC 주소와느 ㄴ다르다.
MA 인증 서버(500)는 S423 단계에서 동기화된 사용자 인증 완료된 ID가 존재하는지와 수신(S425)된 게스트 운영체제 ID를 기초로 MA 접속 권한이 있는 지 판단하는 MA 사용 인증을 수행한다(S427). 즉, 게스트 운영체제(120)가 허가된 인스턴스인지를 판단한다.
MA 인증 서버(500)는 MA 사용 인증에 성공하면, MA 인증 응답 메시지를 게스트 운영체제(120)로 전송한다(S429). 이때, MA 인증 응답 메시지는 인증 성공, 인증 실패등의 인증 결과와 함께 TC 정책을 포함할 수 있다.
TC 정책은 TC를 수행하지 않는 것을 지시하는 제1 식별자, TC를 단말 자체에서 수행하는 것을 지시하는 제2 식별자, TC를 MA 게이트웨이(900)로부터 수신하여 수행하는 것을 지시하는 제3 식별자 중에서 선택된 하나의 식별자가 포함될 수 있다.
제2 식별자의 경우, 트래픽 제어부(125)에 의해 단말(100) 자체에서 LTE 트래픽량을 조절하도록 지시할 수 있다.
제3 식별자의 경우, 트래픽 제어부(125)가 MA 게이트웨이(900)로 단말(100)의 트래픽 상태 정보를 전송하여 LTE 트래픽량 제어 정보를 수신하여 처리하도록 지시할 수 있다.
이때, S401 단계 ~ S429 단계는 단말(100)이 WiFi망에 연결되어 있더라도, LTE망으로 통신하도록 설정되어 있을 수 있다.
도 9는 본 발명의 실시예에 따른 다중망 병합 전송 시그널링 절차를 나타낸 흐름도이다.
도 9를 참조하면, 호스트 운영체제(110)는 특정 어플리케이션이 구동되면, 게스트 운영체제(120)의 MA 프록시 에이전트(121)와 TCP 연결 절차(S501)를 수행하고, 게스트 운영체제(120)의 MA 프록시 에이전트(121)는 MA 게이트웨이(900)와 TCP 연결 절차를 수행한다(S503).
TCP 연결 절차(S503)는 TCP SYN, SYN/ACK, ACK를 교환하는 과정을 포함한다. 이러한 TCP 연결 절차가 완료되면, MA 프록시 에이전트(121)는 MA 게이트웨이(900)와 제1 서브플로우로 연결된다(S505).
이때, TCP 연결 절차(S503)는 MP_CAPABLE 및 calc(Token)을 교환한다. MP_CAPABLE은 MPTCP 프로토콜에서 사용하는 TCP 서브타입(subtype) 정보이다.
본 발명의 실시예에서, LTE 경로인 주 서브플로우에서는 MP_CAPABLE을 TCP 서브타입 정보로 교환한다. 그리고 WiFi 경로인 보조 서브플로우에서는 MP_JOIN을 TCP 서브타입 정보로 교환한다. 이러한 사항은 RFC6824 내 표준 규격에 따른다.
RFC6824에 따르면, MP_CAPABLE로 생성한 주서브플로우와 MP_JOIN으로 생성한 보조서브플로우를 매핑하여 MPTCP 플로우를 관리한다. 이때, calc(Token)을 양 노드간에 생성 및 계산하여 주서브플로우와 보조서브플로우를 하나의 세션으로 간주한다. 이때, calc(Token)은 HMAC(Hash-based message authentication code) 프로토콜을 기반으로 해쉬 연산한 값이 사용될 수 있다.
게스트 운영체제(120)의 MA 프록시 에이전트(121)는 MA 게이트웨이(900)와 RFC1928과 RFC1929에 정의된 SOCKS(Socket Secure) 프로토콜에 따라 시그널링 정보를 교환할 수 있다.
게스트 운영체제(120)의 MA 프록시 에이전트(121)는 MA 게이트웨이(900)에게 서버 연결을 요청 GL_SOCKS Request 메시지를 전송한다(S507). GL_SOCKS Request 메시지는 단말(100)의 가입자 정보인 IMSI, MSISDN과, 단말(100)이 할당받은 LTE IP, 게스트 운영체제(120)의 모델 정보를 포함할 수 있다. GL_SOCKS Request 메시지는 서버(1100)의 IP 주소 및 포트 정보를 포함할 수 있다. GL_SOCKS Request 메시지는 ) 서버(1100)와 TCP 또는 UDP를 연결하기 위한 바인드(Bind) 정보를 포함할 수 있다.
여기서, GL_SOCKS 절차는 인증 정보와 서버(1100) 연결에 필요한 목적지 정보를 포함하는 연결 요청(Request) 메시지와 연결 요청(Request) 메시지에 대한 응답인 연결 응답(Connection Reply) 메시지를 수신하는 단계로 이루어진다.
MA 게이트웨이(900)는 S507 단계에서 수신한 메시지에 포함된 목적지 주소의 서버(1100)와 TCP 연결 절차를 수행한다(S509). TCP 연결 절차는 TCP SYN, SYN/ACK, ACK를 교환하는 과정을 포함한다.
MA 게이트웨이(900)는 서버 연결에 응답하는 GL_SOCKS Response 메시지를 게스트 운영체제(120)로 전송한다(S511). GL_SOCKS Response 메시지는 MA 게이트웨이(900)와 서버(1100) 간의 연결 정보를 알리는 바인드 정보를 포함한다.
또한, 게스트 운영체제(120)는 보안 게이트웨이(800)와 IKE(Internet Key Exchange) 세션 연결 절차(S513), ESP(Encapsulating Security Payload) 설립 절차(S515)를 수행한다. IKE 세션 연결 절차(S513)는 IKE_SA_INIT 메시지를 교환하는 과정을 포함한다. ESP 설립 절차(S515)는 IKE_AUTH 메시지를 교환하는 과정을 포함한다.
이때, S513 단계 및 S515 단계는 선택적으로 수행될 수 있다. IKE_SA_INIT 메시지를 교환하는 SA initialization 과정을 통해 키교환이 진행되며, ESP 과정을 통해 실제 암호화 터널(예, IPSec) 생성이 완료된다. 이후 LTE는 보안터널 없이 사용 가능하고, WiFi 측은 보안터널을 통해 암호화 적용된다. 이는 각 TCP 세션마다 수행되는 절차이다.
게스트 운영체제(120)는 MA 게이트웨이(900)와 제2 서브플로우를 추가하는 TCP 연결 절차를 수행(S517)하여, 제1 서브플로우에 추가되는 제2 서브플로우를 설립한다(S519). TCP 연결 절차는 TCP SYN, SYN/ACK, ACK를 교환하는 과정을 포함한다. MA 게이트웨이(900)는 제1 서브플로우와 제1 서브플로우에 추가되는 제2 서브플로우를 하나의 다중망 병합 세션으로 관리한다. TCP 연결 절차(S517)는 TCP 3WHS 과정이고, 토큰, MPTCP 옵션(MP_JOIN) 등의 정보로 제1 서브플로우 세션과 동일한 세션임을 확인한다.
이후, 호스트 운영체제(110)와 게스트 운영체제(120)간의 송수신되는 데이터는 게스트 운영체제(120)를 통하여 제1 서브플로우의 데이터 및 제2 서브플로우의 데이터로 분할되어 MA 게이트웨이(900)로 전달된다. 그리고 다시 MA 게이트웨이(900)에서 병합되어 최종 목적지인 서버(1100)로 전달된다.
또한, 서버(1100)로부터 전달되는 데이터는 MA 게이트웨이(900)에서 제1 서브플로우의 데이터 및 제2 서브플로우의 데이터로 분할되어 게스트 운영체제(120)로 전달된다. 그리고 게스트 운영체제(120)에 의하여 하나의 세션의 데이터로 병합되어 호스트 운영체제(110)로 전달된다.
도 10은 본 발명의 실시예에 따른 단말의 하드웨어 블록도이다.
도 10을 참조하면, 단말(1200)은 복수의 통신 장치(1201), 메모리(1203), 저장 장치(1205) 및 적어도 하나의 프로세서(1207)를 포함한다.
복수의 통신 장치(1201)는 복수의 망과 연결되어 데이터를 송수신하는 기능을 수행한다. 복수의 통신 장치(1201)는 네트워크 인터페이스 카드(NIC)를 포함할 수 있다.
메모리(1203) 및 저장 장치(1205)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리(1203) 및 저장 장치(1205)는 롬(ROM) 및 램(RAM) 중 적어도 하나를 포함할 수 있다. 또한, 메모리(1203) 및 저장 장치(1205)는 플래시 메모리 및 탈착가능한 저장 매체 중 적어도 하나를 포함할 수 있다.
메모리(1203)는 적어도 하나의 프로그램을 저장할 수 있다. 메모리(1203)는 호스트 운영체제 프로그램, 호스트 운영체제 프로그램의 커널에 설치된 하이퍼바이저 프로그램 및 하이퍼바이저 프로그램에 의해 지원되는 가상 머신 상에서 동작하는 게스트 운영체제 프로그램을 저장할 수 있다.
프로세서(1207))는 메모리(1203)에 저장된 적어도 하나의 프로그램을 실행할 수 있다.
메모리(1203)는 적어도 하나의 프로세서(1207)와 연결되어, 도 1 내지 도 9에서 설명한 실시예들에 따른 구성 및/또는 방법을 실행하게 하는 명령어(instructions)들을 포함하는 프로그램을 저장한다. 프로그램은 메모리(1203) 및 적어도 하나의 프로세서(1207) 등의 하드웨어와 결합하여 본 발명을 구현한다.
저장 장치(1205)는 단말(100)의 운용에 필요한 인증 정보 등을 포함한다. 프로세서(1207)는 메모리(1203), 저장 장치(1205) 등의 하드웨어와 결합하여 본 발명을 실행한다.
도 11은 본 발명의 실시예에 따른 서버의 하드웨어 블록로서, 도 1 ~ 도 9에서 설명한 MA 인증 서버(500), MA-AAA 서버(600), AAA 서버(700), 보안 게이트웨이(800), MA 게이트웨이(900)의 하드웨어 구성을 나타낸다.
도 11을 참조하면, 서버 장치(1300)는 통신 장치(1301), 메모리(1303), 저장 장치(1305) 및 적어도 하나의 프로세서(1307)를 포함한다.
통신 장치(1301)는 적어도 하나의 프로세서(1307)와 연결되어, 복수의 망, 예를들면, LTE망 및/또는 WiFi망을 통해 트래픽을 송신 및/또는 수신한다. 메모리(1303)는 적어도 하나의 프로세서(1307)와 연결되어, 도 1 내지 도 9에서 설명한 실시예들에 따른 구성 및/또는 방법을 실행하게 하는 명령어들을 포함하는 프로그램을 저장한다. 프로그램은 메모리(1303) 및 적어도 하나의 프로세서(1307) 등의 하드웨어와 결합하여 본 발명을 구현한다.
저장 장치(1305)는 서버 장치의 운용에 필요한 각종 정보 등을 포함한다. 프로세서(1307)는 메모리(1303), 저장 장치(1305) 등의 하드웨어와 결합하여 본 발명을 실행한다.
지금까지 설명한 본 발명의 구성을 통해, 호스트 운영체제(110)가 MA 전송을 지원하는 프로토콜을 탑재하지 않더라도, 게스트 운영체제(120)를 통하여 MA 전송이 가능하며, 다단계 인증, 지능형 트래픽 제어를 통하여 보안성 및 서비스 안정성을 확보할 수 있다.
또한, 사업자/기업/개인 등의 선호에 따라 특정 망은 전용회선등으로 보안 회선을 확보할 수 있어 MA 전송으로 기업/사설망 접속을 하는 경우, 선택적인 패킷 보안/인증을 제공할 수 있다.
또한, VPN(Virtual Private Network) 프로토콜들은 사용하는 전체 네트워크에 대하여 적용/미적용 여부를 개별적으로 적용할 수 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (17)

  1. 복수의 망에 각각 접속되어 데이터를 송수신하는 복수의 통신 장치,
    호스트 운영체제 프로그램, 상기 호스트 운영체제 프로그램의 커널에 설치된 하이퍼바이저 프로그램 및 상기 하이퍼바이저 프로그램에 의해 지원되는 가상 머신 상에서 동작하는 게스트 운영체제 프로그램을 저장하는 메모리; 그리고
    상기 메모리에 저장된 프로그램들을 실행하는 프로세서를 포함하고,
    상기 게스트 운영체제 프로그램은,
    상기 호스트 운영체제 프로그램으로부터 수신한 데이터를 상기 복수의 통신 장치 각각을 통하여 다중망 병합 서비스를 제공하는 게이트웨이와 연결되는 복수의 서브플로우 별로 분할하고, 상기 복수의 서브플로우 별로 수신한 데이터를 하나의 데이터로 병합하여 상기 호스트 운영체제 프로그램으로 전달하는 명령어들(Instructions)을 포함하고,
    상기 하이퍼바이저 프로그램은,
    상기 호스트 운영체제 프로그램의 응용 계층에서 생성되거나 또는 상기 복수의 통신 장치로부터 수신한 데이터를 상기 게스트 운영체제 프로그램으로 전달하고, 상기 게스트 운영체제 프로그램에서 수신한 데이터를 상기 응용 계층 또는 상기 복수의 통신 장치로 전달하는 명령어들을 포함하는, 단말.
  2. 제1항에서,
    상기 하이퍼바이저 프로그램은,
    상기 호스트 운영체제 프로그램과 상기 게스트 운영체제 프로그램 사이의 데이터 라우팅을 처리하는 가상화 스위치 프로그램을 포함하고,
    상기 호스트 운영체제 프로그램은,
    라우팅 테이블에 특정 어플리케이션 소켓을 통하여 전달되는 데이터의 목적지를 상기 가상화 스위치로 설정하는 명령어들을 포함하는, 단말.
  3. 제2항에서,
    상기 라우팅 테이블은,
    전용망에 할당된 IP 대역의 라우팅 주소가 상기 가상화 스위치로 설정되는, 단말.
  4. 제2항에서,
    상기 하이퍼바이저 프로그램은,
    상기 호스트 운영체제 프로그램에 의해 상기 복수의 통신 장치 각각에 대해 할당된 호스트 IP 주소와 상기 게스트 운영체제 프로그램에 의해 상기 복수의 통신 장치 각각에 대응하는 가상 인터페이스들에 할당된 게스트 IP 주소를 바인딩시킨 바인딩 테이블을 포함하고,
    상기 가상화 스위치 프로그램은,
    상기 바인딩 테이블을 참조로 상기 라우팅을 처리하는 명령어들을 포함하는, 단말.
  5. 제4항에서,
    상기 가상화 스위치 프로그램은,
    브리지 모드 또는 NAT(Network Address) 모드로 동작하여 상기 호스트 IP 주소와 상기 게스트 IP 주소를 바인딩시키는 명령어들을 포함하는, 단말.
  6. 제1항에서,
    상기 복수의 서브플로우는,
    주 서브플로우 및 상기 주 서브플로우에 추가되는 적어도 하나의 보조 서브플로우를 포함하고, 하나의 데이터 세션을 구성하는, 단말.
  7. 제6항에서,
    상기 주 서브플로우는, 이동통신망에서 할당받은 IP 주소를 사용하고,
    상기 보조 서브플로우는, 와이파이(WiFi)망에서 할당받은 IP 주소를 사용하며,
    상기 게스트 운영체제 프로그램은,
    보안 게이트웨이와 인터넷 보안 프로토콜(IP security protocol, IPsec)을 통하여 교환한 인증키를 이용하여 가상 사설망(Virtual private network, VPN) 터널링을 생성하고, 상기 가상 사설망 터널링을 통하여 상기 보조 서브플로우의 데이터를 송수신하는 명령어들을 포함하는, 단말.
  8. 제1항에서,
    상기 게스트 운영체제 프로그램은,
    다중망 병합 인증 서버와 연동하여 다중망 병합 활성화 절차를 수행하고, 다중망 병합 AAA(Authentication Authorization Accounting) 서버와 연동하여 사용자 인증을 수행하며, 상기 다중망 병합 인증 서버와 연동하여 다중망 병합 인증을 수행한 후, 상기 복수의 서브플로우를 생성하는 명령어들을 포함하는, 단말.
  9. 다중 네트워크 인터페이스를 구비한 단말의 동작 방법으로서,
    게스트 운영체제가 복수의 망 각각을 통해 다중망 병합 서비스를 제공하는 게이트웨이와 연결되는 복수의 서브플로우를 생성하는 단계,
    호스트 운영체제로부터 제1 망의 제1 IP 주소를 가진 데이터를 수신하는 단계,
    수신 데이터를 상기 제1 IP 주소를 가진 데이터와 상기 복수의 망 중에서 상기 제1 망을 제외한 나머지 망 각각의 제2 IP 주소를 가진 데이터로 분할하는 단계, 그리고
    분할된 데이터를 각각의 서브플로우를 통해 전송하는 단계를 포함하고,
    상기 게스트 운영체제는,
    상기 호스트 운영체제의 커널에 설치된 하이퍼바이저에 의해 지원되는 가상 머신 상에서 동작하고,
    상기 호스트 운영체제와 상기 게스트 운영체제는 물리적 하드웨어를 공유하는, 단말의 동작 방법.
  10. 제9항에서,
    상기 전송하는 단계 이후,
    상기 게스트 운영체제가 상기 복수의 서브플로우를 통해 각각의 데이터를 수신하는 단계, 그리고
    상기 각각의 데이터를 하나의 데이터로 병합하여, 상기 가상화 스위치를 통하여 상기 호스트 운영체제로 전달하는 단계
    를 더 포함하는, 단말의 동작 방법.
  11. 제10항에서,
    상기 생성하는 단계 이전에,
    상기 호스트 운영체제에 의해 상기 다중 네트워크 인터페이스에 할당된 호스트 IP 주소와 상기 게스트 운영체제에 의해 상기 다중 네트워크 인터페이스에 대응하는 가상 인터페이스들에 할당된 게스트 IP 주소를 바인딩시키는 단계를 더 포함하고,
    상기 하이퍼바이저의 가상 스위치는
    상기 호스트 IP 주소와 상기 게스트 IP 주소의 바인딩 정보를 기초로 상기 호스트 운영체제와 상기 게스트 운영체제 간의 데이터를 라우팅처리하는, 단말의 동작 방법.
  12. 제11항에서,
    상기 바인딩시키는 단계 이후,
    특정 어플리케이션의 라우팅 주소를 상기 하이퍼바이저에 설치된 가상화 스위치로 설정하는 단계를 더 포함하고,
    상기 수신하는 단계는,
    상기 특정 어플리케이션에서 생성된 데이터를 상기 가상화 스위치를 통하여 수신하는, 단말의 동작 방법.
  13. 제12항에서,
    상기 가상화 스위치로 설정하는 단계 이후,
    상기 복수의 서브플로우 중에서 주 서브플로우에 할당된 IP 주소, 가입자 정보, 모델 및 상기 게스트 운영체제에 할당된 ID를 기초로 다중망 병합 인증 서버와 연동하여 상기 단말이 다중망 병합이 가능한 상태인지 인증하는 다중망 병합 활성화 절차를 수행하는 단계,
    상기 호스트 운영체제로부터 전달된 사용자 인증 정보를 기초로 다중망 병합 AAA(Authentication Authorization Accounting) 서버와 연동하여 다중망 병합 서비스 이용이 가능한 사용자인지 판단하는 사용자 인증을 수행하는 단계, 그리고
    상기 게스트 운영체제에 할당된 ID를 기초로 상기 다중망 병합 인증 서버와 연동하여 상기 게스트 운영체제가 다중망 병합 서비스 이용이 가능한지 판단하는 다중망 병합 인증을 수행하는 단계
    를 더 포함하는, 단말의 동작 방법.
  14. 제13항에서,
    상기 복수의 서브플로우를 생성하는 단계는,
    이동통신망에서 할당받은 IP 주소를 사용하는 주 서브플로우를 생성하는 단계,
    보안 게이트웨이와 인터넷 보안 프로토콜(IP security protocol, IPsec)을 통하여 교환한 인증키를 이용하는 가상 사설망(Virtual private network, VPN) 터널링을 생성하는 단계, 그리고
    와이파이(WiFi)망에서 할당받은 IP 주소를 사용하여 상기 가상 사설망 터널링을 통해 데이터를 송수신하기 위한 보조 서브플로우를 생성하는 단계
    를 포함하는, 단말의 동작 방법.
  15. 단말에서 실행된 호스트 운영체제의 커널에 설치된 하이퍼바이저에 의해 지원되는 가상 머신 상에서 동작하는 게스트 운영체제와 연동하여 상기 단말이 다중망 병합이 가능한 상태인지 인증하는 다중망 병합 활성화 절차와 상기 게스트 운영체제가 다중망 병합 서비스 이용이 가능한지 판단하는 다중망 병합 인증을 수행하는 다중망 병합 인증 서버,
    상기 호스트 운영체제에서 생성된 사용자 인증 정보를 기초로 상기 게스트 운영체제와 연동하여 다중망 병합 서비스 이용이 가능한 사용자인지 판단하는 사용자 인증을 수행하는 다중망 병합 AAA(Authentication Authorization Accounting) 서버, 그리고
    상기 다중망 병합 활성화 절차, 상기 다중망 병합 인증 및 상기 사용자 인증에 성공하는 경우, 상기 게스트 운영체제와 복수의 망을 통해 각각 연결되는 복수의 서브플로우를 생성하고, 상기 복수의 서브플로우를 통해 데이터를 송수신하는 다중망 병합 게이트웨이
    를 포함하는, 다중경로 통신 시스템.
  16. 제15항에서,
    상기 다중망 병합 게이트웨이는,
    상기 게스트 운영체제와의 TCP(Transmission Control Protocol) 연결 절차를 통해 상기 복수의 서브플로우를 생성하고, 상기 복수의 서브플로우를 통해 상기 단말로부터 수신한 목적지 서버와의 연결 요청(Connection Request)에 따라 상기 게스트 운영체제와 상기 목적지 서버 간의 데이터 송수신을 처리하는, 다중경로 통신 시스템.
  17. 제15항에서,
    상기 게스트 운영체제와 인터넷 보안 프로토콜(IP security protocol, IPsec)을 통하여 인증키를 교환하고, 상기 인증키를 이용하여 가상 사설망(Virtual private network, VPN) 터널링을 생성하며, 상기 가상 사설망 터널링을 통하여 상기 복수의 서브플로우중 하나의 서브플로우의 데이터를 송수신하는 보안 게이트웨이
    를 더 포함하는, 다중경로 통신 시스템.
KR1020170174448A 2017-12-18 2017-12-18 단말, 상기 단말의 동작 방법 및 다중경로 통신 시스템 KR20190073114A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170174448A KR20190073114A (ko) 2017-12-18 2017-12-18 단말, 상기 단말의 동작 방법 및 다중경로 통신 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170174448A KR20190073114A (ko) 2017-12-18 2017-12-18 단말, 상기 단말의 동작 방법 및 다중경로 통신 시스템

Publications (1)

Publication Number Publication Date
KR20190073114A true KR20190073114A (ko) 2019-06-26

Family

ID=67105247

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170174448A KR20190073114A (ko) 2017-12-18 2017-12-18 단말, 상기 단말의 동작 방법 및 다중경로 통신 시스템

Country Status (1)

Country Link
KR (1) KR20190073114A (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102152314B1 (ko) * 2019-09-24 2020-09-04 프라이빗테크놀로지 주식회사 데이터 플로우 제어 기반 데이터 전송 시스템 및 방법
US11082256B2 (en) 2019-09-24 2021-08-03 Pribit Technology, Inc. System for controlling network access of terminal based on tunnel and method thereof
US11190494B2 (en) 2019-09-24 2021-11-30 Pribit Technology, Inc. Application whitelist using a controlled node flow
US11271777B2 (en) 2019-09-24 2022-03-08 Pribit Technology, Inc. System for controlling network access of terminal based on tunnel and method thereof
US11381557B2 (en) 2019-09-24 2022-07-05 Pribit Technology, Inc. Secure data transmission using a controlled node flow
WO2023033585A1 (ko) * 2021-09-02 2023-03-09 프라이빗테크놀로지 주식회사 분산 게이트웨이 환경에 최적화된 터널링 및 게이트웨이 접속 시스템 및 그에 관한 방법
US11652801B2 (en) 2019-09-24 2023-05-16 Pribit Technology, Inc. Network access control system and method therefor

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102152314B1 (ko) * 2019-09-24 2020-09-04 프라이빗테크놀로지 주식회사 데이터 플로우 제어 기반 데이터 전송 시스템 및 방법
WO2021060853A1 (ko) * 2019-09-24 2021-04-01 프라이빗테크놀로지 주식회사 네트워크 접속 제어 시스템 및 그 방법
US11082256B2 (en) 2019-09-24 2021-08-03 Pribit Technology, Inc. System for controlling network access of terminal based on tunnel and method thereof
US11190494B2 (en) 2019-09-24 2021-11-30 Pribit Technology, Inc. Application whitelist using a controlled node flow
US11271777B2 (en) 2019-09-24 2022-03-08 Pribit Technology, Inc. System for controlling network access of terminal based on tunnel and method thereof
US11381557B2 (en) 2019-09-24 2022-07-05 Pribit Technology, Inc. Secure data transmission using a controlled node flow
US11652801B2 (en) 2019-09-24 2023-05-16 Pribit Technology, Inc. Network access control system and method therefor
WO2023033585A1 (ko) * 2021-09-02 2023-03-09 프라이빗테크놀로지 주식회사 분산 게이트웨이 환경에 최적화된 터널링 및 게이트웨이 접속 시스템 및 그에 관한 방법

Similar Documents

Publication Publication Date Title
US11968181B2 (en) Secure network enrollment
KR20190073114A (ko) 단말, 상기 단말의 동작 방법 및 다중경로 통신 시스템
TWI713614B (zh) 用於使用支援多個連線性和服務上下文的安全模型的無線通訊的方法和裝置
US8982862B2 (en) Mobile gateway for fixed mobile convergence of data service over an enterprise WLAN
US9979730B2 (en) System and method for secure provisioning of out-of-network user equipment
KR102164823B1 (ko) 통합 코어 망 서비스 이용방법과 이를 위한 통합 제어장치 및 그 시스템
WO2013107136A1 (zh) 终端接入认证的方法及用户端设备
EP3117687B1 (en) Wireless access gateway
KR101640209B1 (ko) 휴대 모바일 가상사설망 서비스 지원장치 및 그 방법
US11805429B2 (en) Control apparatus for gateway in mobile communication system
KR102362078B1 (ko) 1차 단말을 통하여 전용망에 접속하는 2차 단말의 전용망 접속을 제어하는 서버 및 그 1차 단말
CN108141743B (zh) 处置通信交换的方法、网络、装备、系统、介质和装置
KR102207135B1 (ko) 단말의 데이터 전송 방법, 단말 장치 및 데이터 전송 제어 방법
US8982861B2 (en) Mobile access controller for fixed mobile convergence of data service over an enterprise WLAN
KR101480703B1 (ko) LTE 네트워크와 WLAN 사이에 단말의 IPSec 이동성을 제공하는 네트워크 시스템 및 단말의 IPSec 이동성을 제공하는 패킷전송방법
WO2016078375A1 (zh) 数据传送方法及装置
KR20170132608A (ko) 세션 연결을 위한 시그널링 방법, 그리고 이를 구현한 장치
EP3138256B1 (en) Residential local break out in a communication system
EP3310078B1 (en) Communication method, small cell base station, small cell base station controller, terminal and system
US11451489B2 (en) Wireless access gateway
KR102205480B1 (ko) 가상화 코어 시스템, 코어망 변경 시스템 및 가상화 mme
EP3520316B1 (en) Handovers with simplified network topology
KR20150034147A (ko) IPSec 프로토콜을 통해 서비스 정보를 제공하는 네트워크 시스템 및 IPSec 프로토콜을 통해 서비스 정보를 전송하는 방법
KR101575578B1 (ko) IPSec 보안 터널링을 통해 추가 서비스 정보를 제공하는 네트워크 시스템 및 IPSec 보안 터널링을 통해 추가 서비스 정보를 전송하는 방법
Mulder LTE-WiFi Handover Strangelove