KR20170002340A - 다중망 병합 전송을 위한 네트워크 장치 및 단말, 그리고 이들의 동작 방법 - Google Patents
다중망 병합 전송을 위한 네트워크 장치 및 단말, 그리고 이들의 동작 방법 Download PDFInfo
- Publication number
- KR20170002340A KR20170002340A KR1020160172811A KR20160172811A KR20170002340A KR 20170002340 A KR20170002340 A KR 20170002340A KR 1020160172811 A KR1020160172811 A KR 1020160172811A KR 20160172811 A KR20160172811 A KR 20160172811A KR 20170002340 A KR20170002340 A KR 20170002340A
- Authority
- KR
- South Korea
- Prior art keywords
- terminal
- network
- gateway
- server
- connection
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0215—Traffic management, e.g. flow control or congestion control based on user or device properties, e.g. MTC-capable devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/24—Accounting or billing
-
- H04W76/025—
-
- H04W76/027—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/18—Management of setup rejection or failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
- H04W8/20—Transfer of user or subscriber data
- H04W8/205—Transfer to or from user equipment or user record carrier
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/15—Setup of multiple wireless link connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
- H04W88/06—Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
단말이 다중망 병합 서비스를 위해 동작하는 방법으로서, 인증 서버로부터 상기 다중망 병합 서비스를 제공하는 게이트웨이의 접속 정보를 수신하는 단계, 서버로 전송되는 패킷이 발생하면, 제1망을 통해 상기 접속 정보에 해당하는 상기 게이트웨이에 접속하여 연결 절차를 수행하는 단계, 상기 연결 절차가 성공이면, 상기 제1망을 통해 제1 서브플로우를 생성하는 단계, 그리고 제2망을 통해 상기 제1 서브플로우에 추가되는 제2 서브플로우를 생성하는 단계를 포함하고, 상기 게이트웨이는 상기 제1망과 상기 제2망의 접점에 위치하고, 상기 단말과 상기 서버 사이의 데이터 통신을 위해 상기 단말과 상기 서버에 프록시 연결되는 네트워크 장치이다.
Description
본 발명은 다중망 병합에 관한 것이다.
병합 전송(aggregation transmission)은 복수의 통신망을 동시에 사용하여 데이터를 전송하는 기술로서, 각 경로로 전송된 데이터를 하나의 세션으로 처리한다. 병합 전송 기술을 통해, 단말은 한 시점에 복수의 통신망에 연결될 수 있고, 하나의 서비스/어플리케이션은 망 종류나 망의 수에 관계없이 복수의 망을 하나의 망처럼 병합하여 통신한다. 따라서, 병합 전송 시스템은 가용한 복수의 망자원을 이용하여 대량의 데이터를 빠르게 송수신할 수 있다. 복수의 망을 병합하는 의미에서 다중망 병합(MultiNet Aggregation)이라고 부를 수 있다.
병합 전송 기술 중에서 여러 개의 TCP 플로우를 묶어서 사용하는 다중 경로 TCP(Multi-Path TCP, MPTCP) 기술이 있다. MPTCP는 복수의 IP 인터페이스를 동시에 사용하기 위한 L4 기술이다. 복수의 물리적 인터페이스를 구비한 단말은 MPTCP 기술을 통해, 한 시점에 복수의 통신망에 연결될 수 있고, 서브플로우(subflow) 단위로 세션을 생성하여 단대단 통신한다. 이와 같이, 복수의 통신망을 동시에 사용하여 데이터를 전송하는 기술에 대한 연구가 진행되고 있으나, 아직까지 모든 서버가 다중 경로 통신을 지원하지 않는다. 따라서, 현재 다중 통신 인터페이스를 구비한 단말이 모든 서버와 다중 경로 통신을 하기 어려운 한계가 있다.
본 발명이 해결하고자 하는 과제는 다중망 병합 서비스를 제공하는 네트워크 장치 및 단말, 그리고 이들의 동작 방법을 제공하는 것이다.
본 발명의 한 실시예에 따른 단말이 다중망 병합 서비스를 위해 동작하는 방법으로서, 인증 서버로부터 상기 다중망 병합 서비스를 제공하는 게이트웨이의 접속 정보를 수신하는 단계, 서버로 전송되는 패킷이 발생하면, 제1망을 통해 상기 접속 정보에 해당하는 상기 게이트웨이에 접속하여 연결 절차를 수행하는 단계, 상기 게이트웨이와의 연결 절차가 성공이면, 상기 제1망을 통해 제1 서브플로우를 생성하는 단계, 그리고 제2망을 통해 상기 제1 서브플로우에 추가되는 제2 서브플로우를 생성하는 단계를 포함하고, 상기 게이트웨이는 상기 제1망과 상기 제2망의 접점에 위치하고, 상기 단말과 상기 서버 사이의 데이터 통신을 위해 상기 단말과 상기 서버에 프록시 연결되는 네트워크 장치이다.
상기 연결 절차를 수행하는 단계는 상기 게이트웨이로 사용자 정보를 전송하는 단계, 상기 게이트웨이로부터 상기 사용자 정보를 기초로 판단된 사용자 인증 결과를 수신하는 단계, 상기 사용자 인증 결과가 성공인 경우, 상기 게이트웨이로 상기 서버의 정보를 전송하는 단계, 그리고 상기 게이트웨이로부터 상기 서버와의 연결 결과를 수신하는 단계를 포함할 수 있다.
상기 방법은 상기 사용자 인증 결과가 상기 다중망 병합 서비스 이용에 대한 거절을 포함하는 경우, 상기 게이트웨이와의 연결 절차를 해제하는 단계, 그리고 상기 인증 서버로 다중망 병합 서비스 인증 해제를 요청하는 메시지를 전송하는 단계를 더 포함할 수 있다.
상기 메시지는 사유(reason)를 포함하고, 상기 사유는 상기 사용자 인증 결과를 나타낼 수 있다.
상기 사용자 정보는 서비스 패키지명을 포함하고, 상기 방법은 상기 사용자 인증 결과가 상기 서비스 패키지명에 대한 거절을 포함하는 경우, 디폴트 경로를 통해 상기 서버에 접속하는 단계를 더 포함할 수 있다.
상기 방법은 상기 게이트웨이와의 연결 절차가 실패인 경우, 디폴트 경로를 통해 상기 서버에 접속하는 단계를 더 포함할 수 있다.
상기 방법은 상기 디폴트 경로를 통해 상기 서버에 접속한 후, 상기 인증 서버로 다중망 병합 서비스 상태 질의 메시지(MA Service Status Query Request)를 전송하여 다중망 병합 서비스 상태를 질의하는 단계, 그리고 상기 다중망 병합 서비스 상태 질의 메시지의 응답을 수신한 결과, 상기 다중망 병합 서비스 이용이 가능한 경우, 상기 게이트웨이와의 연결 절차를 수행하는 단계를 더 포함할 수 있다.
상기 방법은 제1 주소로 접속한 상기 게이트웨이와의 연결 절차가 실패인 경우, 상기 게이트웨이와의 연결 절차를 재수행하는 단계를 더 포함하고, 상기 연결 절차를 재수행하는 단계는 상기 인증 서버로부터 상기 게이트웨이의 주소를 재획득하는 단계, 재획득한 주소로 상기 게이트웨이와의 연결 절차를 시도하는 단계, 그리고 상기 재획득한 주소로 시도한 연결 절차가 실패인 경우, 해당 세션에 대해서 디폴트 경로를 통해 상기 서버에 접속하는 단계를 포함할 수 있다.
상기 게이트웨이의 주소를 재획득하는 단계는 상기 접속 정보에 포함된 상기 게이트웨이의 주소가 복수 개인 경우, 상기 제1 주소와 다른 제2 주소로 상기 게이트웨이와의 연결 절차를 시도하고, 상기 제2 주소로 시도한 연결 절차가 실패인 경우, 상기 인증 서버로부터 상기 게이트웨이의 주소를 재획득할 수 있다.
상기 연결 절차를 수행하는 단계는 상기 게이트웨이와의 연결 예외 사항을 관리하고, 상기 서버에 관련된 정보가 상기 연결 예외 사항에 해당하지 않는 경우, 상기 게이트웨이와의 연결 절차를 수행하고, 상기 서버에 관련된 정보가 상기 연결 예외 사항에 해당하는 경우, 디폴트 경로를 통해 상기 서버에 접속하며, 상기 연결 예외 사항은 목적지 서버의 주소가 사설 IP 주소이거나 미인증 주소를 포함할 수 있다.
상기 제1망은 이동통신망이고, 상기 제2망은 근거리 통신망일 수 있다.
본 발명의 다른 실시예에 따라 다중망의 접점에 위치하는 게이트웨이가 단말의 다중망 병합 서비스를 위해 동작하는 방법으로서, 상기 단말로부터 사용자 정보를 수신하는 단계, 상기 단말로 상기 사용자 정보에 대한 사용자 인증 결과를 전송하는 단계, 상기 사용자 인증 결과가 성공인 경우, 상기 단말로부터 서버 정보를 수신하는 단계, 그리고 상기 단말로 상기 서버 정보에 해당하는 서버와의 연결 결과를 전송하는 단계를 포함한다.
상기 사용자 인증 결과를 전송하는 단계는 상기 사용자 정보를 기초로 상기 단말이 다중망 병합 서비스 이용이 가능한 가입자인지 판단하고, 상기 다중망 병합 서비스 이용이 불가능한 가입자인 경우, 상기 다중망 병합 서비스 이용에 대한 거절을 포함하는 상기 사용자 인증 결과를 전송할 수 있다.
상기 사용자 인증 결과를 전송하는 단계는 인증 서버와 연동하여 상기 단말이 상기 다중망 병합 서비스 이용이 가능한 가입자인지 판단하고, 상기 인증 서버는 상기 단말을 인증하고, 인증된 상기 단말에게 상기 게이트웨이의 접속 정보를 제공하는 네트워크 장치일 수 있다.
상기 사용자 인증 결과를 전송하는 단계는 상기 서버와의 연결 결과가 성공이 아닌 경우, 실패 이유를 나타내는 사용자 인증 결과를 전송하고, 상기 실패 이유는 상기 사용자 정보에 포함된 값을 파싱할 때 발견되는 오류를 나타내는 정보, 상기 사용자 정보에 포함된 값에 대한 거절을 나타내는 정보, 그리고상기 사용자 정보에 포함된 서비스 패키지명에 대한 거절을 나타내는 정보 중 적어도 하나를 포함할 수 있다.
상기 서버와의 연결 결과를 전송하는 단계는 상기 서버와의 연결 결과가 성공이 아닌 경우, 상기 단말에게 디폴트 경로를 통해 상기 서버에 접속하도록 요청하는 결과를 전송할 수 있다.
상기 방법은 상기 서버와의 연결 결과가 성공이면, 상기 제1망을 통해 상기 단말에 연결되는 제1 서브플로우를 생성하는 단계, 그리고 제2망을 통해 상기 제1 서브플로우에 추가되는 제2 서브플로우를 생성하는 단계를 더 포함할 수 있다.
본 발명의 또 다른 실시예에 따라 다중망 병합 서비스를 제공하는 단말로서, 통신 모듈, 디스플레이, 프로그램을 저장하는 메모리, 그리고 상기 통신 모듈, 상기 디스플레이, 그리고 상기 메모리와 연동하여 상기 프로그램을 실행하는 프로세서를 포함하고, 상기 프로그램은 인증 서버로부터 상기 다중망 병합 서비스를 제공하는 게이트웨이의 접속 정보를 수신하고, 어플리케이션이 구동되어 서버로 전송되는 패킷이 발생하면, 제1망을 통해 상기 접속 정보에 해당하는 상기 게이트웨이와의 연결 절차를 진행하고, 상기 게이트웨이와의 연결이 성공하면, 상기 게이트웨이를 통해 상기 어플리케이션에 관계된 데이터를 송수신하는 명령어들(instructions)을 포함하며, 상기 게이트웨이는 상기 제1망과 상기 제2망의 접점에 위치하고, 상기 단말과 상기 서버 사이의 데이터 통신을 위해 상기 단말과 상기 서버에 프록시 연결되는 네트워크 장치이다.
상기 프로그램은 어플리케이션이 구동되어 콘텐트 서버로 전송되는 패킷이 발생하면, 상기 게이트웨이로 사용자 정보를 전송하여 상기 게이트웨이로부터 상기 사용자 정보를 기초로 판단된 사용자 인증 결과를 수신하고, 상기 사용자 인증 결과가 성공인 경우, 상기 게이트웨이로 상기 서버의 정보를 전송하여 상기 게이트웨이로부터 상기 서버와의 연결 결과를 수신하며, 상기 연결 결과를 기초로 상기 게이트웨이를 통해 상기 서버와 통신하거나 디폴트 경로를 통해 상기 서버와 통신하는 명령어를 더 포함할 수 있다.
상기 프로그램은 상기 사용자 인증 결과가 상기 다중망 병합 서비스 이용에 대한 거절을 포함하는 경우, 상기 게이트웨이와의 연결 절차를 해제하고, 상기 인증 서버로 다중망 병합 서비스 인증 해제를 요청하는 메시지를 전송하는 명령어를 더 포함할 수 있다.
상기 프로그램은 상기 사용자 인증 결과가 상기 사용자 정보에 포함된 값을 파싱할 때 발견되는 오류, 상기 사용자 정보에 포함된 값에 대한 거절, 그리고 상기 사용자 정보에 포함된 서비스 패키지명에 대한 거절 중 적어도 하나를 포함하는 경우, 디폴트 경로를 통해 상기 서버에 접속하는 명령어를 더 포함할 수 있다.
상기 프로그램은 상기 서버와의 연결 결과가 성공인 경우, 상기 제1망을 통해 상기 게이트웨이에 연결되는 제1 서브플로우를 생성하고 제2망을 통해 상기 제1 서브플로우에 추가되는 제2 서브플로우를 생성하며, 상기 제1 서브플로우와 상기 제2 서브플로우를 통해 상기 어플리케이션에 관계된 데이터를 송수신하고, 상기 서버와의 연결 결과가 성공이 아닌 경우, 디폴트 경로를 통해 상기 서버에 접속하는 명령어를 더 포함할 수 있다.
본 발명의 실시예에 따르면 다중망 병합 서비스를 제공하는 게이트웨이가 사용자 인증 결과와 서버 연결 결과를 단말에게 제공하므로, 단말은 수신 결과를 기초로 다중망 병합 서비스 설정을 유지하거나 해제할 수 있다. 또한, 본 발명의 실시예에 따르면 사용자는 게이트웨이로부터 제공된 사용자 인증 결과와 서버 연결 결과를 기초로 다중망 병합 서비스에 대한 연결 상태를 인지하여 다중망 병합 서비스 가능 상태인지를 쉽게 알 수 있다.
도 1은 본 발명의 한 실시예에 따른 망 병합 전송을 설명하는 개념도이다.
도 2는 본 발명의 한 실시예에 따른 다중망 병합 시스템의 구성도를 설명하는 도면이다.
도 3은 본 발명의 한 실시예에 따른 다중망 병합 전송을 설명하는 도면이다.
도 4는 본 발명의 한 실시예에 따른 단말에서의 다중망 병합 서비스 설정 화면을 예시적으로 나타내는 도면이다.
도 5는 본 발명의 한 실시예에 따른 트래픽 흐름을 예시적으로 나타내는 도면이다.
도 6은 본 발명의 한 실시예에 따른 단말의 다중망 병합 서비스 방법의 흐름도이다.
도 7은 본 발명의 한 실시예에 따른 단말의 게이트웨이 접속 방법의 흐름도이다.
도 8은 본 발명의 한 실시예에 따른 MPTCP 연결 해제 방법의 흐름도이다.
도 9는 본 발명의 한 실시예에 따른 다중망 병합 서비스 인증 해제 방법의 흐름도이다.
도 10은 본 발명의 한 실시예에 따른 단말의 프록시 연결 오류 시 처리 방법의 흐름도이다.
도 11은 본 발명의 한 실시예에 따른 단말의 하드웨어 블록도이다.
도 2는 본 발명의 한 실시예에 따른 다중망 병합 시스템의 구성도를 설명하는 도면이다.
도 3은 본 발명의 한 실시예에 따른 다중망 병합 전송을 설명하는 도면이다.
도 4는 본 발명의 한 실시예에 따른 단말에서의 다중망 병합 서비스 설정 화면을 예시적으로 나타내는 도면이다.
도 5는 본 발명의 한 실시예에 따른 트래픽 흐름을 예시적으로 나타내는 도면이다.
도 6은 본 발명의 한 실시예에 따른 단말의 다중망 병합 서비스 방법의 흐름도이다.
도 7은 본 발명의 한 실시예에 따른 단말의 게이트웨이 접속 방법의 흐름도이다.
도 8은 본 발명의 한 실시예에 따른 MPTCP 연결 해제 방법의 흐름도이다.
도 9는 본 발명의 한 실시예에 따른 다중망 병합 서비스 인증 해제 방법의 흐름도이다.
도 10은 본 발명의 한 실시예에 따른 단말의 프록시 연결 오류 시 처리 방법의 흐름도이다.
도 11은 본 발명의 한 실시예에 따른 단말의 하드웨어 블록도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
본 명세서에서 단말은 이동국(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은 본 발명의 한 실시예에 따른 망 병합 전송을 설명하는 개념도이고, 도 2는 본 발명의 한 실시예에 따른 다중망 병합 시스템의 구성도를 설명하는 도면이며, 도 3은 본 발명의 한 실시예에 따른 다중망 병합 전송을 설명하는 도면이다.
도 1을 참고하면, 다중망 병합(MultiNet Aggregation) 전송은 복수의 통신망을 병합하여 데이터를 전송하는 기술로서, 하나의 경로로 전송된 데이터를 복수의 동종 망 또는 복수의 이종 망의 경로로 분할하여 전송하거나, 복수의 경로로 전송된 데이터를 하나의 경로로 묶어 전송할 수 있다. 다중망 병합 전송은 데이터를 복수의 경로로 동시에 전송하는 의미에서 다중 경로(Multi-Path) 전송이라고 부를 수 있다.
도 2를 참고하면, 다중망 병합 시스템은 단말(100), 단말(100)과 복수의 망으로 연결되는 게이트웨이(200), 그리고 인증 서버(300)를 포함한다.
단말(100)은 다중 통신 인터페이스를 구비하고, 다중 통신 인터페이스를 통해 한 시점에 복수의 망(예를 들면, WiFi망과 3G/LTE망)에 연결될 수 있다.
단말(100)은 사용자가 접근하여 다중망 접속을 설정하거나 관리할 수 있는 관리 어플리케이션을 탑재한다. 관리 어플리케이션은 예를 들면, GiGa LTE 매니저(GiGA LTE manager)라고 부를 수 있다.
단말(100)은 다중망 병합을 위한 인증, 상태 관리, 트래픽 처리를 수행하는 네트워크 에이전트(agent)를 포함하고, 네트워크 에이전트는 단말 내부 로직으로 구현될 수 있다. 단말(100) 내부에서 네트워크 에이전트와 각종 어플리케이션은 소켓(socket) 통신한다. 네트워크 에이전트는 네트워크 관리를 위한 관리 어플리케이션의 설정 정보에 따라 인증 서버(300) 및 게이트웨이(200)와 연동한다. 구체적으로, 네트워크 에이전트는 인증 서버(300)와의 연동 기능을 구현한 인증 서버 연동부와 게이트웨이(200)와의 연동 기능을 구현한 게이트웨이 연동부를 포함한다. 인증 서버(300)와의 연동 기능은 TCP/IP 프로토콜로 구현되고, 게이트웨이(200)와의 연동 기능은 SOCKS(Socket Secure) 프로토콜로 구현될 수 있다. SOCKS는 서버와 클라이언트 사이의 TCP/UDP 통신을 할 때 프록시 서버를 경유하기 위해 사용되는 프로토콜이다. 여기서 네트워크 에이전트는 다중망 병합-네트워크 에이전트(MultiNet Aggregation-Agent, MA agent)라고 부를 수 있다.
게이트웨이(200)는 다중 경로로 전송되는 서브플로우를 병합하거나, 단일 경로로 전송되는 플로우를 다중 경로의 서브플로우로 분할하여 전송하는 네트워크 장치이다. 게이트웨이(200)는 다중망의 접점에 위치하고, 예를 들면, LTE망과 WiFi망의 접점에 위치할 수 있다. 여기서, 게이트웨이(200)는 다중망 병합 게이트웨이(MultiNet Aggregation-Gateway, MA-GW)라고 부를 수 있다.
게이트웨이(200)는 수신한 데이터를 단말(100)의 다중 통신 인터페이스로 전달하기 위해 데이터를 분할한다. 그리고 게이트웨이(200)는 일부 데이터를 LTE망을 통해 단말(100)로 전송하고, 나머지 데이터를 WiFi망을 통해 단말(100)로 전송할 수 있다. 단말(100)은 복수의 통신 인터페이스를 통해 수신한 데이터를 병합한다. 마찬가지 방법으로, 게이트웨이(200)는 단말(100)이 다중 통신 인터페이스를 이용하여 전송한 데이터를 병합하여 서버(400)로 전송할 수 있다.
인증 서버(300)는 단말(100)이 다중망 병합 서비스 가능 상태인지 판단하여 단말을 인증한다. 인증 서버(300)는 인증된 단말(100)이 게이트웨이(200)에 접속할 수 있도록 단말(100)에게 게이트웨이(200)의 접속 정보(IP 주소, port 값 등)를 제공한다. 또한, 인증 서버(300)는 단말(100)의 인증 상태를 주기적으로 체크하여 단말(100)에게 알려준다. 만약, 단말(100)이 다중망 병합 서비스 불가 상태인 경우, 인증 서버(300)는 단말에게 인증 상태와 알림 정보를 전송한다. 여기서, 인증 서버(300)는 다중망 병합 정책 엔진(MultiNet Aggregation-Policy Engine MA-PE)이라고 부를 수 있다.
WiFi망과 LTE망의 병합 기술은 병합 지점에 따라 다음과 같이 분류될 수 있다.
L2/링크 계층 병합은 LTE 코어망(core)와 접속망(access)의 경계 지점(즉, eNB)에서 WiFi AP로 전용 터널을 생성한다.
L3/네트워크 계층 병합은 LTE망과 WiFi망에서 독립적으로 사용하는 IP 주소를 통합하기 위해 가상 IP 터널을 생성한다.
L4/전송 계층 병합은 단일 접속망을 통해 세션을 생성한 후, 추가적인 접속망이 사용 가능한 경우, IP 주소체계와 상관없이 데이터 전송에 참여시킬 수 있다. 이때, 응용레벨의 통신 주체는 하나 이상의 접속망을 이용하여 단일 세션 기반의 데이터 통신이 가능한 구조를 지원한다.
L7/응용 계층 병합은 전용 어플리케이션/네트워크 에이전트가 자체적으로 LTE망과 WiFi망을 통해 수신한 데이터를 재조합하거나 응용 프로토콜 데이터를 분리하여 전송한다.
이와 같이, 병합 전송 계층에 따라 다양한 병합 전송이 가능한데, 앞으로는 L4 기반 다중 경로 TCP(Multi-Path TCP, MPTCP)를 통한 병합 기술을 예로 들어설명한다.
도 3을 참고하면, 게이트웨이(200)는 MPTCP 데이터와 TCP 데이터를 중계(relay)한다. 게이트웨이(200)는 단말(100)이 일반 TCP 서버와 통신할 때, MPTCP를 통해 데이터를 송수신할 수 있도록 지원(Transparent CP supported)하는 프록시 서버일 수 있다. 여기서, 서버(400)와 서버(500)는 다중 통신 인터페이스를 지원하지 않는다고 가정한다.
단말(100)에서 다중망 병합 서비스를 이용할 수 있는 상태(예를 들면, 다중망 병합 서비스가 활성화)인 경우, 단말(100)과 게이트웨이(200)는 주 경로(3G/LTE망)와 보조 경로(WiFi망) 각각에서 생성된 주 서브플로우(Primary subflow)와 부 서브플로우(Secondary subflow)를 통해 데이터를 송수신한다.
단말(100)에서 다중망 병합 서비스를 이용할 수 없는 상태인 경우(예를 들면, 다중망 병합 서비스가 비활성화 또는 서버(500)에서 제공하는 서비스가 다중망 병합 전송을 사용하지 않도록 설정된 경우), 단말(100)은 게이트웨이(200)를 거칠 필요 없이 디폴트 경로(default route)를 통해 서버(500)와 통신한다. 디폴트 경로는 게이트웨이(200)로 접속하지 않는 기본 데이터 송/수신 경로로서, WiFi 접속 상태일 경우 디폴트 경로는 WiFi망이고, WiFi 미접속 상태일 경우, 디폴트 경로는 3G/LTE일 수 있다.
도 4는 본 발명의 한 실시예에 따른 단말에서의 다중망 병합 서비스 설정 화면을 예시적으로 나타내는 도면이고, 도 5는 본 발명의 한 실시예에 따른 트래픽 흐름을 예시적으로 나타내는 도면이다.
먼저 도 4를 참고하면, 단말(100)은 사용자가 접근하여 통신 환경을 설정하고, 어플리케이션별 통신 경로를 설정할 수 있는 관리 어플리케이션을 탑재한다. 관리 어플리케이션은 단말(100)에서 실행되고, 사용자가 접근하여 통신 환경을 설정할 수 있는 화면을 디스플레이에 표시한다. 관리 어플리케이션은 WiFi 설정, 모바일 데이터 설정, 그리고 다중망 병합 설정(예를 들면, GiGa LTE 설정)을 할 수 있는 화면을 표시한다. 관리 어플리케이션은 단말(100)의 화면에 다중망 병합(3G/LTE망+WiFi망) 설정을 선택할 수 있는 영역(10)를 표시한다.
영역(10)이 선택되면, 단말(100)에서 다중망 병합 서비스가 설정(MultiNet ON)되고, 인증 서버(300)와의 연동 기능을 구현한 인증 서버 연동부와 게이트웨이(200)와의 연동 기능을 구현한 게이트웨이 연동부가 동작하여 다중망 병합 서비스를 제공한다. 여기서 설정(ON)은 다중망 병합 서비스의 활성화(activation)를 의미하고, 설정 해제(OFF)는 다중망 병합 서비스의 비활성화(deactivation)를 의미한다.
다중망 병합 서비스가 설정되면, 관리 어플리케이션은 다중망 병합을 통한 데이터 전송이 가능한 어플리케이션들을 설정할 수 있는 화면을 표시할 수 있다. 다중망 병합 서비스를 이용할 수 있는 어플리케이션들은 화이트리스트(whitelist)라고 할 수 있다.
단말(100)은 다중망 병합 서비스의 설정/해제(On/OFF)에 따라 적정한 라우팅 테이블을 참조하고, MPTCP 파라미터를 설정하며, 네트워크 에이전트 구동을 한다. 이때, 단말(100)은 MPTCP의 주 서브플로우는 3G/LTE망으로 설정하고, 부 서브플로우는 WiFi망으로 설정할 수 있다. 주 서브플로우가 3G/LTE망에서 연결되므로, WiFi망에 주 서브플로우가 연결되는 것에 비해 안정적인 망 접속을 유지할 수 있다. 3G/LTE망은 연결이 끊어져도 자원을 즉시 보강할 수 있으나, WiFi망은 해당 AP 자원에서만 네트워크 연결을 보장하기 때문이다.
도 5를 참고하면, 단말(100)은 어플리케이션별 설정을 기초로 각 어플리케이션의 전송망을 선택할 수 있다. 예를 들면, 단말(100)은 일부 어플리케이션(예를 들면, 메신저 어플리케이션)의 서버와 LTE망을 통해 TCP 통신하고, 일부 어플리케이션(예를 들면, 소셜 미디어 어플리케이션)의 서버와 WiFi망을 통해 TCP 통신하며, 일부 어플리케이션(예를 들면, 동영상 서비스 어플리케이션)의 서버와는 게이트웨이(MA-GW)(200)를 통해 MPTCP 통신할 수 있다. 즉, 단말(100)은 화이트리스트에 속한 어플리케이션을 사용할 때에는 LTE망과 WiFi망을 통해 데이터를 송수신할 수 있고, 메신저 어플리케이션을 사용할 때에는 디폴트 경로를 통해 데이터를 송수신할 수 있다.
이와 같이, 단말(100)은 다중망 병합 서비스가 설정되면 게이트웨이(200)를 경유하는 MPTCP 플로우를 관리한다. 또한, 단말(100)은 비정상적인 상황이 발생하거나 어플리케이션의 세션 관리에 따라 다중망 병합 전송에서 디폴트 경로로 전환할 수 있다.
단말(100)이 프록시 서버인 게이트웨이(200)를 경유하여 서버(400)와 통신하기 위해 단말(100)과 게이트웨이(200)는 SOCKS 프로토콜로 연동한다. 다음에서 다중망 병합 서비스를 위해 단말과 게이트웨이의 연동 방법에 대해 설명한다.
도 6은 본 발명의 한 실시예에 따른 단말의 다중망 병합 서비스 방법의 흐름도이다.
도 6을 참고하면, 다중망 병합 서비스가 설정(ON)되면, 단말(100)은 인증 서버(300)와 통신하여 다중망 병합 서비스 사용을 인증받는다(S110). 그리고 단말(100)은 주기적으로 자신의 다중망 병합 서비스 상태를 질의하여 자신의 인증 상태를 체크한다.
인증된 단말(100)은 인증 서버(300)로부터 수신한 게이트웨이(200)의 접속 정보를 저장한다(S120). 게이트웨이의 정보는 주소 타입, 주소, 포트 등을 포함할 수 있다.
어플리케이션이 구동되어 서버(400)로 전송되는 패킷이 발생하면, 단말(100)은 게이트웨이(200)와 프록시 연결 절차를 수행한다(S130). 단말(100)과 게이트웨이(200)가 SOCKS 프로토콜을 기초로 연결되므로, SOCKS 연결 절차라고 부를 수 있다. 서버(400)는 어플리케이션에 관련된 콘텐트 서버라고 할 수 있다.
단말(100)은 게이트웨이(200)에 연결되는 주 서브플로우(Primary Subflow)를 생성한다(S140). 주 서브플로우는 주 경로인 이동통신망인 3G/LTE망에서 생성된다.
근거리 통신망(예를 들면 WiFi망)에 연결된 경우, 단말(100)은 주 서브플로우에 추가(join)되는 부 서브플로우(Secondary subflow)를 생성한다(S150). 단말(100)은 3G/LTE망에서 MPTCP 주 서브플로우를 생성한 후, WiFi망에 연결(Connected)인 경우 WiFi망에서 부 서브플로우 생성한다.
단말(100)은 주 서브플로우와 부 서브플로우를 통해 MPTCP 통신하여 데이터를 송수신한다(S160).
데이터 송수신이 끝나면, 단말(100)은 주 서브플로우와 부 서브플로우의 자원을 정리(MPTCP 연결 해제)한다(S170).
여기서, 단말(100)과 게이트웨이(200)는 주 서브플로우와 부 서브플로우의 TCP 연결을 위해 TCP SYN, SYN/ACK, ACK를 교환하는데, 부 서브플로우의 TCP 연결 시 주 서브플로우에 추가(join)되도록 한다.
도 7은 본 발명의 한 실시예에 따른 단말의 게이트웨이 접속 방법의 흐름도이다.
도 7을 참고하면, 단말(100)은 인증 서버(300)로부터 다중망 병합 서비스 사용을 인증받은 후, 인증 서버(300)로부터 게이트웨이(200)의 접속 정보를 획득한다. 그리고, 단말(100)은 어플리케이션이 구동되어 패킷이 발생(TCP SYN)하면, SOCKS 연결 절차를 통해 게이트웨이(200)에 접속한다. 이때, 단말(100)의 내부 로직으로 구현된 네트워크 에이전트(특히, 게이트웨이(200)와의 연동 기능을 구현한 게이트웨이 연동부)가 어플리케이션과 통신하면서 게이트웨이(200)와의 연결 절차를 수행한다.
단말(100)은 어플리케이션이 구동되면, 게이트웨이(200)와 TCP 연결한다(S210). TCP는 TCP SYN, SYN/ACK, ACK의 교환 후에 연결된다.
TCP 연결이 완료되면, 단말(100)은 게이트웨이(200)로 프록시(proxy) 연결을 시도한다(S220). 프록시 연결을 위해 SOCKS 프로토콜이 사용될 수 있다. 단말(100)은 프록시 연결을 위해 게이트웨이(200)로 SOCKS 프로토콜 정보를 전송할 수 있다. SOCKS 프로토콜 정보는 SOCKS Version, Method Selection 등을 포함할 수 있다.
게이트웨이(200)는 단말(100)에게 사용자 정보(method=username/password)를 질의한다(S230). 사용자 정보는 사용자명(username)과 패스워드일 수 있다.
단말(100)은 게이트웨이(200)로 사용자 정보를 포함하는 사용자 인증 요청(SOCKS Authentication Request)을 전송한다(S240).
게이트웨이(200)는 단말(100)로 사용자 인증 결과(SOCKS Authentication Response)를 전송한다(S250). 사용자 인증 결과는 인증 성공(result=authentication succeeded)을 포함할 수 있다. 게이트웨이(200)는 인증 서버(300)와 통신하여 사용자 정보에 해당하는 단말(100)의 인증 여부를 확인할 수 있다.
사용자 인증 결과가 성공이면, 단말(100)은 게이트웨이(200)로 서버 정보를 포함하는 서버 연결 요청(SOCKS Connection Request)을 전송한다(S260). 서버 정보는 주소(IP), 도메인(domain), 서버 포트(port) 등을 포함할 수 있다. 사용자 인증 결과가 성공이 아닌 경우, 단말(100)은 사용자 인증 결과에 따른 거절 사유(또는 실패 사유)를 판단하고, 사용자 인증 결과에 지정된 동작을 수행한다(표 2 참조).
단말(100)은 SOCKS 연결 예외 사항을 관리하고, SOCKS 연결 예외 사항에 해당하는 경우, 게이트웨이(200)와의 SOCKS 연결 대신 디폴트 경로를 통해 서버에 연결할 수 있다. 만약, 서버 주소가 특정 주소(예를 들면, 사설 IP 주소나 미인증 주소 등)이거나 또는 디폴트 경로를 사용하도록 지정된 어플리케이션이나 서비스가 SOCKS 연결 예외 사항에 해당하는 경우, 단말(100)의 네트워크 에이전트는 게이트웨이(200)로 SOCKS 연결 요청(SOCKS Connection Request)하지 않고, 디폴트 경로로 해당 서버에 접속할 수 있다. 예를 들어, LTE의 VoLTE 등의 인터페이스는 MPTCP 통신(MP_JOIN, MP_CAPABLE)으로 수행되지 않도록 디폴트 경로가 설정될 수 있다.
게이트웨이(200)는 단말(100)로 서버 연결 결과(SOCKS Connection Reply)를 전송한다(S270). 게이트웨이(200)는 연결 요청에 포함된 서버 정보를 기초로 서버와 통신(TCP 통신)하여 연결 상태를 확인한다. 서버 연결 결과는 연결 성공(result=connection succeeded)을 포함할 수 있다.
서버 연결 결과가 성공이면, 단말(100)은 게이트웨이(200)를 통해 서버(400)와 데이터를 송수신한다(S280). 서버 연결 결과가 성공이면, 단말(100)은 부 서브플로우를 생성하고, 게이트웨이(200)와 MPTCP 통신하여 데이터를 송수신한다. 서버 연결 결과가 성공이 아닌 경우, 단말(100)은 게이트웨이(200)를 경유하지 않고 디폴트 경로를 통해 서버에 접속한다(표 3 참조).
사용자 정보인 사용자명(username)과 패스워드는 표 1과 같이 정의될 수 있다. username은 식별자인 IMSI(International Mobile Subscriber Identity) 및 MSISDN(Mobile Station ISDN). 단말 3G/LTE IP, Service Destination IP(Content Provider IP), 서비스 패키지 명, 단말 모델명으로 구성될 수 있으나, 다양하게 변경될 수 있다. 이때, MSISDN은 단말(100)의 USIM 정보를 활용할 수 있다.
Parameters | Size(Bytes) | Type | 내용 |
Username (ID) |
Variable (최대 255) |
Char | IMSI;MSISDN;단말 3G/LTE IP; Service Destination IP; 서비스 패키지 명;단말 모델명 |
Password | Variable (최대 255) |
Char | Random 생성 |
게이트웨이(200)는 단말(100)로 사용자 인증 결과(SOCKS Authentication Response)를 전송하는데, 사용자 인증 결과가 성공(0x00)이 아닌 경우, 사용자 인증 결과에 따른 단말 동작은 표 2와 같이 정의될 수 있다.
Authentication Response Result | 단말 동작 |
버전 미지원, 사용자명(username) 파싱 오류 (e.g., 0x01 ~ 0x03, 0x10 ~ 0x17) |
해당 TCP Socket에 대한 SOCKS Socket Error로 처리, 단말의 인디케이터: GiGA LTE 아이콘을 유지 |
어플리케이션의 거절 (e.g., 0x21, 0x22, 0x23, 0x24 0x26, 0x27) |
거절된 어플리케이션의 트래픽 전송을 위해 디폴트 경로(3G/LTE 또는 WiFi)로 연결[게이트웨이(200)로 연결하지 않음] 단말의 인디케이터: GiGA LTE 아이콘 유지 |
Username 내의 서비스 패키지명에 대한 거절 (e.g., 0x25) |
거절로 설정된 서비스 패키지명(예: com.kt.ollehApp)에 해당하는 어플리케이션의 트래픽 전송을 위해 디폴트 경로(3G/LTE 또는 WiFi)로 연결[게이트웨이(200)로 연결하지 않음] 단말의 인디케이터: GiGA LTE 아이콘 유지 |
다중망 병합 서비스 이용 불가 가입자에 대한 거절(미등록 가입자에 대한 응답) (e.g., 0x30) |
게이트웨이(200)와의 SOCKS 연결 해제 및 인증 서버(300)와의 다중망 병합 서비스 인증 해제를 통해 다중망 병합 서비스 설정 해제(OFF) |
표 2에서, username 파싱 오류는 username 파싱 시 발견되는 오류로서, 예를 들면 정보길이 오류, username과 password 복호화 오류, username을 구성하는 정보(IMSI, MSISDN, 3G/LTE IP, CP IP, 패키지명)의 포맷 오류, 단말모델명 오류, 구분자 오류 등 사용자명을 구성하는 값들의 형식적 오류(syntax error) 등을 의미한다. 버전 미지원이나 username 파싱 오류로 사용자 인증이 거절되면, 특정 Socket만 디폴트 경로로 연결되고, 다른 Socket은 GiGA LTE를 사용할 수 있으므로, 단말(100)은 GiGA LTE 아이콘을 유지한다.
표 2에서, 어플리케이션의 거절은 MSISDN 거절, 3G/LTE IP 거절, CP IP 거절, 단말모델명 거절, 사용자명(가입자정보) 조합에 의한 거절 등의 거절 사유를 의미한다. 게이트웨이(200)는 단말(100)로 서버 연결 결과(SOCKS Connection Reply)를 전송하는데, 서버 연결 결과가 성공(0x00)이 아닌 경우, 서버 연결 결과에 따른 단말 동작은 표 3과 같이 정의될 수 있다.
Connection Reply Result | 단말 동작 |
디폴트 경로 0x01 |
다중망 병합 서비스 설정 해제(OFF) 전까지 해당 세션에 한하여 디폴트 경로(3G/LTE 또는 WiFi)로 연결[게이트웨이(200)로 연결하지 않음] 단말의 인디케이터: GiGA LTE 아이콘 유지 |
SOCKS 소켓 에러(Socket Error) 0x02 ~ 0xFF |
SOCKS Socket 에러 수신, iptables에 의해 해당 Socket만 디폴트 경로로 재접속하여 Application 서비스 연속성 보장 단말의 인디케이터: GiGA LTE 아이콘 유지 |
다른 실시예에 따라, 단말(100)에서 구동된 어플리케이션이 UDP(User Datagram Protocol)를 전송할 수 있다.
단계(S250)에서 사용자 인증 결과가 성공이면, 단말(100)은 게이트웨이(200)로 서버 정보를 포함하는 연결 요청(SOCKS Connection Request)을 전송할 때, UDP Associate를 포함하여 전송한다. 그리고, 최초 연결 시, SOCKS Connection Request UDP Associate의 목적지 주소(Destination Address)와 포트(Destination port)는 모두 0으로 설정된다.
게이트웨이(200)는 단말(100)로 서버 연결 결과(SOCKS Connection Reply)를 전송하는데, UDP 연결을 위한 UDP 프록시 주소와 포트를 포함하여 전송한다. 그러면, 단말(100)은 UDP 프록시 주소로 UDP 데이터를 전송한다.
단말(100)의 네트워크 에이전트가 어플리케이션으로부터 UDP 데이터를 수신하면, UDP 데이터를 포함하는 SOCKS UDP 요청 헤더 메시지(SOCKS UDP Request Header)를 프록시 서버로 전송한다. 이렇게 SOCKS를 통해서 UDP 전송 세션이 생성되면, 이후 어플리케이션에서 생성되는 UDP Send/Receive Data는 SOCKS UDP Associate에 의해 열려 있는 SOCKS 소켓(Socket)을 이용하여 송수신된다.
SOCKS UDP 요청 헤더 메시지(SOCKS UDP Request Header)는 표 4의 정보를 포함할 수 있다.
구분 | Size(Bytes) | 내용 |
Reserved | 2 | 0x0000 |
Fragment | 1 | 현재 Fragment number |
Address Type | 1 | IPv4: 0x01 Domain Name: 0x03 IPv6: 0x04 |
Destination Address | Variable | 전달하려는 Destination Address |
Destination Port | 2 | 전달하려는 Destination Port |
Data | Variable | 전달하려는 Data |
한편, 단말(100)은 어플리케이션이 바라보는 소켓(어플리케이션 소켓)의 통신 인터페이스를 주 경로인 3G/LTE로 고정한다. 이를 위해, 단말(100)은 어플리케이션이 바라보는 소켓(어플리케이션 소켓)과 단말(100)의 네트워크 스택이 바라보는 소켓(시스템 소켓)을 분리시킨다. 단말(100)은 어플리케이션이 바라보는 소켓의 통신 인터페이스는 특정 통신 인터페이스(예를 들면, LTE)에 고정해 두고, 시스템 전역으로 설정된 라우팅 테이블에 의거하여 설정된 통신 인터페이스로 실제 접속망에 연결한다. 즉, 단말(100)은 3G/LTE 등과 같이 always-on 상태로 언제 어디서든지 가능한 통신 인터페이스를 어플리케이션에 바인딩되는 소켓의 통신 인터페이스로 고정함으로써, 항상 IP 주소를 확립시켜놓고 글로벌 모빌리티(global mobility)를 지원한다. 이러한 방법을 통해, 단말(100)은 네트워크 에이전트로 인입되는 어플리케이션 소켓이 인지하는 소스 바인딩을 3G/LTE로 처리할 수 있다.
도 8은 본 발명의 한 실시예에 따른 MPTCP 연결 해제 방법의 흐름도이다.
도 8을 참고하면, MPTCP를 통해서 어플리케이션의 데이터 송수신이 끝나면, 단말(100)은 주 서브플로우와 부 서브플로우의 자원을 정리(MPTCP 연결 해제)한다. 단말(100)은 MPTCP를 통한 데이터 송수신이 끝나면, SOCKS 세션내 MPTCP 세션을 FIN 동작으로 정리하고 어플리케이션에 TCP FIN 응답을 전송한다. 이때 약전계 등으로 부 서브플로우가 유실되는 경우, 단말(100)은 FIN 요청 없이 자동으로 MPTCP 부 서브플로우를 정리한 후, 어플리케이션에 정상적으로 TCP FIN 응답을 전송한다.
단말(100)의 어플리케이션이 데이터 송수신이 끝나면, 네트워크 에이전트로 TCP 종료(FIN)를 요청한다(S310).
단말(100)의 네트워크 에이전트는 게이트웨이(200)로 데이터 송수신 종료(Data FIN)를 요청한다(S320).
게이트웨이(200)는 단말(100)로 데이터 송수신 종료 요청에 대한 응답(Data FIN/ACK)를 전송한다(S322). 게이트웨이(200)는 어플리케이션이 연결된 서버와 통신하여 TCP FIN 절차를 수행한다.
단말(100)의 네트워크 에이전트는 게이트웨이(200)로 주 서브플로우와 부 서브플로우의 종료(FIN)를 요청한다(S330, 332).
게이트웨이(200)는 단말(100)로 주 서브플로우와 부 서브플로우의 종료 요청에 대한 응답(FIN/ACK)을 전송한다(S340, S342).
단말(100)의 네트워크 에이전트는 어플리케이션으로 TCP 종료 요청에 대한 응답(TCP FIN/ACK)을 전송한다(S350).
이렇게 단말(100) 내부의 네트워크 에이전트와 어플리케이션 사이에서 TCP 세션이 정리된다.
도 9는 본 발명의 한 실시예에 따른 다중망 병합 서비스 인증 해제 방법의 흐름도이다.
도 9를 참고하면, 사용자 인증 결과가 성공이면, 단말(100)은 게이트웨이(200)로 서버 정보를 포함하는 연결 요청(SOCKS Connection Request)을 전송한다. 그리고 게이트웨이(200)는 단말(100)로 사용자 인증 결과(SOCKS Authentication Response)를 전송하는데, 사용자 인증 결과가 다중망 병합 서비스 이용 불가 가입자에 대한 거절(0x30)일 수 있다. 그러면, 단말(100)은 게이트웨이(200)와의 SOCKS 연결 절차를 중단하고, 다음과 같이 인증 서버(300)와의 다중망 병합 서비스 인증 해제 절차를 진행한다.
단말(100)은 인증 서버(300)로 다중망 병합 서비스 비활성화 요청 메시지(MA Service Deactivation Request)를 전송한다(S410).
인증 서버(300)는 단말(100)로 응답 정보를 포함하는 다중망 병합 서비스 비활성화 응답 메시지(MA Service Deactivation Response)를 전송한다(S420).
다중망 병합 서비스 비활성화 요청 메시지(MA Service Deactivation Request)는 표 5의 정보를 포함한다. 다중망 병합 서비스 비활성화 요청 메시지는 사용자명(username), 패스워드, 그리고 사유(reason) 정보를 포함한다. 사유는 표 7과 같이 비활성화 요청 시점의 네트워크 상태와 비활성화 사유를 포함할 수 있다. 비활성화 요청 시점의 네트워크 상태는 예를 들면, LTE와 WiFi(LTE+WiFi), 3G와 WiFi(3G+WiFi), LTE(LTE Only), 3G(3G Only)와 같은 네트워크 연결 상태를 나타낼 수 있다. 비활성화 사유는 사용자에 의해 다중망 병합 서비스 설정이 해제 요청된 것인지, 또는 인증 서버(300)에 의한 인증이 완료된 후 단말(100)과 게이트웨이(200) 사이의 인증(SOCKS Authentication) 시 발생한 오류에 의해 해제 요청된 것인지를 나타낸다.
구분 | Parameters | Size (Bytes) |
Type | 내용 |
Header | Name | 8 | Char | "KTMA" |
Version | 1 | Int | 0x0X | |
Type | 1 | Int | 0x01 | |
Data Size | 2 | Int | Data size | |
Data | UE Version | 32 | Char | 단말모델명;바이너리버전 |
Username (ID) |
255 | Char | IMSI;MSISDN;단말 3G/LTE IP; Service Destination IP; 서비스 패키지 명;단말 모델명 |
|
Password | 255 | Char | Random 생성 | |
Reason | 1 | Int | 0xAB (A, B 동작 구분) A : Deactivation 시점 네트워크 상태 [Value] 1 : GiGA LTE(LTE+WiFi) 2 : GiGA LTE(3G+WiFi) 3 : GiGA LTE(LTE Only) 4 : GiGA LTE(3G Only) B : Deactivation 사유 [Value] 1: 사용자가 MA 설정을 OFF시 2: SOCKS Authentication Response로 0x30 수신 시 0xFF : Reserved |
|
Reserved | 4 | Char | Reserved |
다중망 병합 서비스 비활성화 응답 메시지(MA Service Deactivation Response)는 표 6의 정보를 포함한다. 다중망 병합 서비스 비활성화 응답 메시지는 비활성화 요청에 대한 응답 결과를 포함하고, 응답 결과는 비활성화 요청을 수락한 정보(Accepted)를 포함할 수 있다. 즉, 비활성화 요청을 수락한 정보(Accepted)는 인증 해제를 의미한다.
구분 | Parameters | Size (Bytes) |
Type | 내용 |
Header | Name | 8 | Char | "KTMA" |
Version | 1 | Int | 0x0X | |
Type | 1 | Int | 0x11 | |
Data Size | 2 | Int | Data size | |
Data | Status | 1 | Int | 0x00 : Accepted |
Reserved | 4 | Char | Reserved |
도 10은 본 발명의 한 실시예에 따른 단말의 프록시 연결 오류 시 처리 방법의 흐름도이다.
도 10을 참고하면, 단말(100)은 게이트웨이(200)로 전달한 TCP SYN의 무응답 및 SOCKS 연결 실패의 경우 SOCKS 연결을 재시도하고, 재시도 결과도 실패한 경우에는 해당 세션에 대하여만 디폴트 경로로 데이터를 송수신할 수 있다.
단말(100)은 게이트웨이(200)로 SOCKS 연결을 시도한다(S510). 단말(100)은 게이트웨이(200)의 제1 주소(primary IP)로 SOCKS 연결을 시도한다.
단말(100)은 SOCKS 연결 여부를 판단한다(S520). SOCKS 연결이 성공하면, 도 6과 도 7에서 설명한 절차에 따라 MPTCP를 통해 데이터를 송수신한다.
SOCKS 연결이 실패하면, 단말(100)은 게이트웨이(200)의 제2 주소(secondary IP)가 있는지 확인한다(S530). 제2 주소(secondary IP)는 제1 주소(primary IP)와 함께 인증 서버(300)로부터 수신될 수 있다.
게이트웨이(200)의 제2 주소가 있는 경우, 단말(100)은 제2 주소의 게이트웨이(200)로 SOCKS 연결을 시도한다(S540).
단말(100)은 SOCKS 연결 여부를 판단한다(S542). SOCKS 연결이 성공하면, 도 6과 도 7에서 설명한 절차에 따라 MPTCP를 통해 데이터를 송수신한다.
SOCKS 연결이 실패하면, 단말(100)은 재시도(retry) 횟수가 기준 횟수(N) 미만인지 판단한다(S550). 기준 횟수는 2회일 수 있다.
기준 횟수 미만인 경우, 단말(100)은 인증 서버(300)로부터 게이트웨이의 새 주소를 획득한다(S560). 단말(100)은 게이트웨이의 새 주소로 SOCKS 연결을 시도한다. 단말(100)은 인증 서버(300)로 다중망 병합 서비스 활성화 요청 메시지(MA Service Activation Request)를 전송하여 게이트웨이의 새 주소를 획득한다.
기준 횟수 이상인 경우, 단말(100)은 디폴트 경로로 데이터를 송수신한다(S570). SOCKS 연결 실패로, 디폴트 경로로 데이터를 송수신하게 되더라도, 단말(100)은 인증 서버(300)로 다중망 병합 서비스 상태 질의 메시지(MA Service Status Query Request)를 주기적으로 전송하고, 다중망 병합 서비스가 이용 가능한 경우 게이트웨이(200)와의 연결을 유지할 수 있다.
한편, 게이트웨이(200)의 제2 주소가 없는 경우, 단말(100)은 재시도 횟수를 판단하는 단계(S550)로 이동한다.
구체적으로, 단말(100)은 인증 서버(300)로 다중망 병합 서비스 활성화 요청 메시지를 전송하고, 이에 대한 응답으로 다중망 병합 서비스 활성화 응답 메시지(MA Service Activation Response)를 수신한다. 이때, 다중망 병합 서비스 활성화 응답 메시지는 게이트웨이(200)의 주소를 적어도 하나 포함한다.
한 실시예에 따라, 인증 서버(300)로부터 획득한 게이트웨이(200)의 주소가 하나인 경우, SOCKS 연결이 실패하면, 단말(100)은 다중망 병합 서비스 활성화 요청 메시지를 인증 서버(300)로 재전송하여 게이트웨이(200)의 주소를 재획득한다. 재획득한 주소는 이전에 획득한 주소와 다른 주소이다. 어플리케이션에서 네트워크 에이전트가 2개 이상의 SOCKS 연결 시 TCP 세션 개수에는 상관 없이, 한 개의 다중망 병합 서비스 활성화 요청 메시지를 인증 서버(300)로 전달한다. 단말(100)은 재획득한 게이트웨이(200)의 주소를 통해 SOCKS 연결을 재시도 한다. 만약, 재획득한 주소로도 SOCKS 연결이 실패하면, 단말(100)은 해당 세션에 대해서만 디폴트 경로로 연결하여 데이터를 송수신한다. 이때, 단말은 GiGA LTE 인디케이터를 유지한다. SOCKS 연결 실패로, 디폴트 경로로 연결 중인 세션은 인증 서버(300)로 다중망 병합 서비스 상태 질의 메시지(MA Service Status Query Request)를 주기적으로 전송하여 다중망 병합 서비스가 이용 가능한 상태인지 확인하고, 다중망 병합 서비스가 이용 가능한 경우 게이트웨이(200)와의 연결을 시도할 수 있다.
다른 실시예에 따라, 인증 서버(300)로부터 획득한 게이트웨이(200)의 주소가 복수(예를 들면 2개)인 경우, 제1 주소로 시도한 SOCKS 연결이 실패하면, 단말(100)은 게이트웨이(200)의 제2 주소로 SOCKS 연결을 재시도한다. 제2 주소로도 SOCKS 연결이 실패한 경우, 단말(100)은 다중망 병합 서비스 활성화 요청 메시지를 인증 서버(300)로 재전송하여 게이트웨이(200)의 주소를 재획득한다. 만약, 재획득한 주소로도 SOCKS 연결이 실패하면, 단말(100)은 해당 세션에 대해서만 디폴트 경로로 연결하여 데이터를 송수신한다. SOCKS 연결 실패로, 디폴트 경로로 연결 중인 세션은 인증 서버(300)로 다중망 병합 서비스 상태 질의 메시지(MA Service Status Query Request)를 주기적으로 전송하여 다중망 병합 서비스가 이용 가능한 상태인지 확인하고, 다중망 병합 서비스가 이용 가능한 경우 게이트웨이(200)와의 연결을 시도할 수 있다.
도 11은 본 발명의 한 실시예에 따른 단말의 하드웨어 블록도이다.
도 11을 참고하면, 단말(100)은 프로세서(810), 메모리 장치(820), 저장 장치(830), 디스플레이(840), 통신 장치(850), 그리고 스피커/마이크(860) 등을 포함하는 하드웨어로 구성되고, 지정된 장소에 하드웨어와 결합되어 실행되는 프로그램이 저장된다. 하드웨어는 본 발명의 방법을 실행할 수 있는 구성과 성능을 가진다. 프로그램은 도 1부터 도 10을 참고로 설명한 본 발명의 동작 방법을 구현한 명령어(instructions)를 포함하고, 프로세서(810)와 메모리 장치(820) 등의 하드웨어와 결합하여 본 발명을 실행한다. 프로그램은 관리 어플리케이션과 단말 내부 로직으로 구현된 네트워크 에이전트 동작을 위한 명령어를 포함할 수 있다. 네트워크 에이전트는 인증 서버(300)와의 연동 기능을 구현한 인증 서버 연동부와 게이트웨이(200)와의 연동 기능을 구현한 게이트웨이 연동부를 포함한다. 또한 단말은 다양한 어플리케이션 프로그램을 탑재한다.
게이트웨이(200)와 인증 서버(300) 역시, 프로세서, 메모리 장치, 저장 장치, 통신 장치 등을 포함하는 하드웨어로 구성되고, 프로그램이 지정된 장소에 저장되고, 하드웨어와 결합되어 실행된다. 하드웨어는 본 발명의 방법을 실행할 수 있는 구성과 성능을 가진다. 프로그램은 도 1부터 도 10을 참고로 설명한 본 발명의 동작 방법을 구현한 명령어를 포함하고, 프로세서와 메모리 장치 등의 하드웨어와 결합하여 본 발명을 실행한다.
이와 같이, 본 발명의 실시예에 따르면 다중망 병합 서비스를 제공하는 게이트웨이가 사용자 인증 결과와 서버 연결 결과를 단말에게 제공하므로, 단말은 수신 결과를 기초로 다중망 병합 서비스 설정을 유지하거나 해제할 수 있다. 또한, 본 발명의 실시예에 따르면 사용자는 게이트웨이로부터 제공된 사용자 인증 결과와 서버 연결 결과를 기초로 다중망 병합 서비스에 대한 연결 상태를 인지하여 다중망 병합 서비스 가능 상태인지를 쉽게 알 수 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
Claims (1)
- 단말이 다중망 병합 서비스를 위해 동작하는 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20150092490 | 2015-06-29 | ||
KR1020150092490 | 2015-06-29 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160018033A Division KR101689012B1 (ko) | 2015-06-29 | 2016-02-16 | 다중망 병합 전송을 위한 네트워크 장치 및 단말, 그리고 이들의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20170002340A true KR20170002340A (ko) | 2017-01-06 |
Family
ID=57723426
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160018039A KR101689013B1 (ko) | 2015-06-29 | 2016-02-16 | 다중망 병합 전송을 위한 네트워크 장치 및 단말, 그리고 이들의 동작 방법 |
KR1020160018033A KR101689012B1 (ko) | 2015-06-29 | 2016-02-16 | 다중망 병합 전송을 위한 네트워크 장치 및 단말, 그리고 이들의 동작 방법 |
KR1020160172811A KR20170002340A (ko) | 2015-06-29 | 2016-12-16 | 다중망 병합 전송을 위한 네트워크 장치 및 단말, 그리고 이들의 동작 방법 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160018039A KR101689013B1 (ko) | 2015-06-29 | 2016-02-16 | 다중망 병합 전송을 위한 네트워크 장치 및 단말, 그리고 이들의 동작 방법 |
KR1020160018033A KR101689012B1 (ko) | 2015-06-29 | 2016-02-16 | 다중망 병합 전송을 위한 네트워크 장치 및 단말, 그리고 이들의 동작 방법 |
Country Status (2)
Country | Link |
---|---|
EP (2) | EP3301969B1 (ko) |
KR (3) | KR101689013B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180108098A (ko) * | 2017-03-24 | 2018-10-04 | (주)넷비젼텔레콤 | 다중 경로 환경에서 생성되는 tcp 패킷을 처리하는 방법 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112565481B (zh) | 2018-11-21 | 2022-04-12 | Oppo广东移动通信有限公司 | 电子设备、域名查询方法及相关产品 |
CN109587749B (zh) * | 2018-12-24 | 2021-04-20 | 深圳市闻耀电子科技有限公司 | 数据发送方法和系统 |
CN113923032B (zh) * | 2021-10-12 | 2024-04-09 | 成都安恒信息技术有限公司 | 一种应用访问控制的接入方法 |
CN115843130A (zh) * | 2021-10-22 | 2023-03-24 | 中兴通讯股份有限公司 | 通信方法、设备和存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI330025B (en) * | 2006-11-17 | 2010-09-01 | Ind Tech Res Inst | Multi-service method over heterogeneous network |
US8155158B2 (en) * | 2008-11-12 | 2012-04-10 | Patricio Humberto Saavedra | System, apparatus and method for providing aggregated network connections |
KR101034938B1 (ko) * | 2009-11-26 | 2011-05-17 | 삼성에스디에스 주식회사 | IPv6 주소 및 접속정책 관리 시스템 및 방법 |
US8819235B2 (en) * | 2010-10-20 | 2014-08-26 | International Business Machines Corporation | Multi-adapter link aggregation for adapters with hardware based virtual bridges |
KR101260648B1 (ko) * | 2010-11-29 | 2013-05-03 | 주식회사 케이티 | 무선인터넷 서비스의 온라인 개통 방법 및 그 시스템 |
WO2012154506A1 (en) * | 2011-05-06 | 2012-11-15 | Interdigital Patent Holdings, Inc. | Method and apparatus for bandwidth aggregation for ip flow |
US8817797B2 (en) * | 2012-01-31 | 2014-08-26 | Alcatel Lucent | Method and apparatus for multipath protocol packet relay |
KR20130006385A (ko) * | 2012-08-24 | 2013-01-16 | 주식회사에어플러그 | 고정 호스트 주소에 기반하여 복수의 이종망(異種網)들을 선택적으로 사용하여 데이터 송수신할 수 있게 하는 장치와 이를 위한 방법 |
WO2014044333A1 (en) * | 2012-09-24 | 2014-03-27 | Telefonaktiebolaget L M Ericsson (Publ) | Traffic shaping and steering for a multipath transmission control protocol connection |
KR20140081497A (ko) * | 2012-12-21 | 2014-07-01 | 주식회사 케이티 | 이종망간 이동성 제공 시스템 및 이동성 제공 방법 |
EP3127392A1 (en) * | 2014-04-04 | 2017-02-08 | Nokia Technologies OY | Access management with multipath transport |
-
2016
- 2016-02-16 KR KR1020160018039A patent/KR101689013B1/ko active IP Right Grant
- 2016-02-16 KR KR1020160018033A patent/KR101689012B1/ko active IP Right Grant
- 2016-03-21 EP EP16818098.2A patent/EP3301969B1/en active Active
- 2016-03-21 EP EP16818097.4A patent/EP3301968B1/en active Active
- 2016-12-16 KR KR1020160172811A patent/KR20170002340A/ko active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180108098A (ko) * | 2017-03-24 | 2018-10-04 | (주)넷비젼텔레콤 | 다중 경로 환경에서 생성되는 tcp 패킷을 처리하는 방법 |
Also Published As
Publication number | Publication date |
---|---|
EP3301969B1 (en) | 2019-12-18 |
EP3301969A1 (en) | 2018-04-04 |
EP3301968A1 (en) | 2018-04-04 |
EP3301968A4 (en) | 2018-07-04 |
EP3301969A4 (en) | 2018-07-04 |
KR101689013B1 (ko) | 2016-12-22 |
EP3301968B1 (en) | 2019-12-18 |
KR101689012B1 (ko) | 2016-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10548004B2 (en) | Security management in communication systems between security edge protection proxy elements | |
US8750827B2 (en) | LAN-based UMA network controller with aggregated transport | |
KR101689012B1 (ko) | 다중망 병합 전송을 위한 네트워크 장치 및 단말, 그리고 이들의 동작 방법 | |
US11924641B2 (en) | Security management for service access in a communication system | |
KR20210134056A (ko) | 서비스 슬라이스 선택 및 분리를 위한 방법 | |
US10826946B2 (en) | Security management in communication systems with provisioning based mechanism to identify information elements | |
US20240196212A1 (en) | Enabling coordinated identity management between an operator-managed mobile-edge platform and an external network | |
AU2016357203A1 (en) | Methods and apparatus for wireless communication using a security model to support multiple connectivity and service contexts | |
US11716308B2 (en) | Application triggered setup of distributed anchor for edge computing | |
US20210219137A1 (en) | Security management between edge proxy and internetwork exchange node in a communication system | |
US10084755B2 (en) | Methods, systems, and computer readable media for remote authentication dial in user service (RADIUS) proxy and diameter agent address resolution | |
US20240314534A1 (en) | Discovery of internet of things network | |
CN118804411A (zh) | 用于用户面处理的系统和方法 | |
US9357386B2 (en) | System and method for femto ID verification | |
EP2491732B1 (en) | Wireless access point | |
US20230156468A1 (en) | Secure Communication Method, Related Apparatus, and System | |
KR102055911B1 (ko) | 세션 연결을 위한 시그널링 방법, 그리고 이를 구현한 장치 | |
KR102641949B1 (ko) | 비프록시 기반 다중 경로 전송 시스템, 그리고 이의 세션 연결을 위한 시그널링 방법 | |
WO2017003065A1 (ko) | 다중망 병합 전송을 위한 네트워크 장치 및 단말, 그리고 이들의 동작 방법 | |
KR102553167B1 (ko) | 다중 경로 전송 시스템, 그리고 이의 다중 경로 전송 방법 | |
KR102553166B1 (ko) | 비프록시 기반 다중 경로 전송 시스템, 그리고 이의 세션 연결을 위한 인증 방법 | |
US11956236B2 (en) | System and method for tracking privacy policy in access networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent |