KR101386809B1 - 다중 mtu를 설정하는 모바일 디바이스 및 이를 이용한 데이터 전송 방법 - Google Patents

다중 mtu를 설정하는 모바일 디바이스 및 이를 이용한 데이터 전송 방법 Download PDF

Info

Publication number
KR101386809B1
KR101386809B1 KR1020120021499A KR20120021499A KR101386809B1 KR 101386809 B1 KR101386809 B1 KR 101386809B1 KR 1020120021499 A KR1020120021499 A KR 1020120021499A KR 20120021499 A KR20120021499 A KR 20120021499A KR 101386809 B1 KR101386809 B1 KR 101386809B1
Authority
KR
South Korea
Prior art keywords
mtu
network
virtual interface
interface
routing table
Prior art date
Application number
KR1020120021499A
Other languages
English (en)
Other versions
KR20130101674A (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 KR1020120021499A priority Critical patent/KR101386809B1/ko
Priority to US13/676,202 priority patent/US9445384B2/en
Publication of KR20130101674A publication Critical patent/KR20130101674A/ko
Application granted granted Critical
Publication of KR101386809B1 publication Critical patent/KR101386809B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W60/00Affiliation to network, e.g. registration; Terminating affiliation with the network, e.g. de-registration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/16Discovering, processing access restriction or access information

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명에서는 MTU를 다중으로 설정하는 모바일 디바이스 및 이를 이용한 데이터 전송 방법이 개시된다.
일 예로, 라우팅 테이블을 갖는 IP; 상기 IP로부터 데이터 패킷을 전송받는 적어도 하나의 가상 인터페이스; 상기 가상 인터페이스를 통해 또는 직접적으로 상기 IP의 데이터 패킷을 전송받는 네트워크 인터페이스; 및 상기 라우팅 테이블, 가상 인터페이스 및 네트워크 인터페이스를 제어하는 MTU 관리부를 포함하고, 상기 가상 인터페이스의 MTU(Maximum Transfer Unit)는 통신 네트워크에 대해 가변되어 설정되는 네트워크 프로토콜 계층 구조를 포함하는 모바일 디바이스가 개시된다.

Description

다중 MTU를 설정하는 모바일 디바이스 및 이를 이용한 데이터 전송 방법{Communication Terminal creating Multiple MTU and Data Transferring Method Using The Same}
본 발명은 MTU를 다중 설정하는 모바일 디바이스 및 이를 이용한 데이터 전송 방법에 관한 것이다.
모바일 디바이스의 네트워크 구조에서 데이터 전송 시 네트워크 인터페이스에서는 MTU(Maximum Transfer Unit)를 설정하고 MTU에 해당되는 크기로 데이터 패킷을 구성하여 전송한다. 그런데, 모바일 디바이스에 여러개의 네트워크가 연결되는 경우, 설정되는 MTU는 이에 종속된다. 따라서, 데이터 패킷의 사이즈가 MTU보다 큰 경우 조각화(fragmentation) 작업이 수반되어야 하며, 만약 데이터 패킷이 조각화될 수 없는 속성을 갖는 경우 전송이 되지 않는 문제점이 있다. 또한, 여러 네트워크 중 가장 MTU가 작은 네트워크에 의해 MTU가 결정되면 데이터 패킷의 크기가 이에 따라 제약되어 데이터 전송 효율이 감소하는 어려움이 있다.
본 발명은 MTU를 다중으로 설정하는 모바일 디바이스 및 이를 이용한 데이터 전송 방법을 제공한다.
본 발명에 따른 모바일 디바이스는 라우팅 테이블을 갖는 IP; 상기 IP로부터 데이터 패킷을 전송받는 적어도 하나의 가상 인터페이스; 상기 가상 인터페이스를 통해 또는 직접적으로 상기 IP의 데이터 패킷을 전송받는 네트워크 인터페이스; 및 상기 라우팅 테이블, 가상 인터페이스 및 네트워크 인터페이스를 제어하는 MTU 관리부를 포함하고, 상기 가상 인터페이스의 MTU(Maximum Transfer Unit)는 통신 네트워크에 대해 가변되어 설정되는 네트워크 프로토콜 계층 구조를 포함할 수 있다.
여기서, 상기 가상 인터페이스와 상기 네트워크 인터페이스의 MTU(Maximum Transfer Unit)은 다른 값을 갖도록 설정되는 네트워크 프로토콜 계층 구조를 포함할 수 있다.
그리고 상기 가상 인터페이스는 연결된 복수개의 통신 네트워크에 대해 각각 생성될 수 있다.
또한, 상기 가상 인터페이스는 복수개로 구비되어, 서로 상이한 MTU를 갖도록 설정될 수 있다.
또한, 상기 라우팅 테이블은 상기 가상 인터페이스 및 네트워크 인터페이스의 MTU 및 목적지 정보를 저장할 수 있다.
또한, 상기 MTU 관리부는 새로 추가되는 네트워크에 대한 MTU 및 목적지 정보를 라우팅 테이블과 비교하여 상기 가상 인터페이스의 생성 여부를 결정하는 MTU 설정 요구 처리부; 상기 라우팅 테이블에 저장된 MTU 및 목적지의 정보를 갱신하는 라우팅 테이블 관리부; 상기 MTU 설정 처리 요구부에 의해 추가된 네트워크에 대한 가상 인터페이스를 생성하고 검색된 MTU 및 네트워크의 정보를 설정하는 가상 인터페이스 관리부; 및 상기 네트워크 인터페이스의 MTU 및 네트워크의 정보를 설정하는 네트워크 인터페이스 관리부를 포함할 수 있다.
또한, 상기 MTU 설정 요구 처리부는 상기 추가된 네트워크의 목적지 정보를 상기 라우팅 테이블과 비교하여, 상기 라우팅 테이블에 등록된 목적지가 아닌 경우 상기 가상 인터페이스를 생성하도록 결정할 수 있다.
또한, 상기 MTU 설정 요구 처리부는 상기 추가된 네트워크의 목적지 정보를 상기 라우팅 테이블과 비교하여, 상기 라우팅 테이블에 등록된 목적지이지만 상기 MTU가 변경된 경우 상기 가상 인터페이스를 생성하도록 결정할 수 있다.
또한, 상기 MTU 설정 요구 처리부는 상기 추가된 네트워크의 목적지 정보를 상기 라우팅 테이블과 비교하여, 상기 라우팅 테이블에 등록된 목적지이고 상기 MTU가 동일한 경우 MTU 설정 요청 대기 상태를 유지할 수 있다.
더불어, 본 발명에 따른 데이터 전송 방법은 복수개의 네트워크 경로에 대해 MTU를 검색하는 MTU 디스커버리 단계; 상기 MTU 각각에 대해 적어도 하나의 가상 인터페이스를 생성하고, 상기 가상 인터페이스에 상기 MTU를 설정하는 MTU 설정 단계; 및 상기 가상 인터 페이스를 통해 데이터 패킷을 네트워크 인터페이스에 전송하여 네트워크에 데이터를 전송하는 데이터 전송 단계를 포함할 수 있다.
여기서, 상기 MTU 디스커버리 단계는 IPSec VPN에서 보안키 협상 과정시 IKE(Internet Key Exchange) 메시지에 MTU 속성을 추가하여 상기 MTU를 결정할 수 있다.
그리고 상기 MTU 설정 단계는 상기 가상 인터페이스에 대해 상기 MTU 및 목적지 정보를 설정할 수 있다.
또한, 상기 MTU 설정 단계는 상기 네트워크에 대한 MTU 및 목적지 정보를 라우팅 테이블과 비교하여 목적지가 등록되지 않았거나, 목적지는 동일하나 MTU가 변경된 경우, 상기 가상 인터페이스를 생성할 수 있다.
또한, 상기 MTU 설정 단계는 상기 가상 인터페이스에 대한 MTU 및 목적지 정보를 이용하여 라우팅 테이블을 갱신할 수 있다.
또한, 상기 데이터 전송 단계는 상기 네트워크에 따라 각각 상기 가상 인터페이스 또는 네트워크 인터페이스의 MTU에 대응되도록 데이터 패킷을 생성하여 전송할 수 있다.
본 발명에 의한 모바일 디바이스 및 이를 이용한 데이터 전송 방법은 네트워크 인터페이스의 결정된 MTU에 비해 새로 추가된 네트워크 경로의 MTU가 작은 경우, 네트워크 인터페이스의 MTU를 변경하지 않고 상기 가상 인터페이스를 통해 다중의 MTU를 설정하고, 해당 네트워크 경로에 대해서는 상기 가상 인터페이스를 통해 패킷을 생성 및 전송함으로써, 다른 네트워크의 MTU는 변경할 필요가 없기 때문에, 패킷의 크기가 MTU에 비해 크지만 패킷이 조각화될 수 없는 경우 발생되는 전송 실패의 문제, 또는 특정 네트워크의 작은 MTU에 의해 나머지 네트워크에서도 통신 속도의 저하의 문제를 해결할 수 있다.
도 1은 본 발명의 실시예에 따른 모바일 디바이스의 네트워크 프로토콜 계층 구조를 도시한 것이다.
도 2는 본 발명의 실시예에 따른 모바일 디바이스의 MTU 관리부를 도시한 것이다.
도 3은 본 발명의 실시예에 따른 모바일 디바이스의 MTU 관리부의 동작을 설명한 플로우챠트이다.
도 4는 본 발명의 실시예에 따른 모바일 디바이스의 데이터 전송 방법을 설명한 플로우챠트이다.
도 5는 본 발명의 실시예에 따른 모바일 디바이스의 데이터 전송 방법에서 MTU 디스커버리 단계를 수행하는 방법들을 도시한 것이다.
도 6은 본 발명의 실시예에 따른 모바일 디바이스의 데이터 전송 방법에서 MTU 디스커버리 단계를 VPN 서버를 통해 선택하는 예를 도시한 것이다.
도 7은 본 발명의 실시예에 따른 모바일 디바이스의 데이터 전송 방법에서 MTU 설정 단계를 수행하는 세부 단계를 도시한 것이다.
도 8은 본 발명의 실시예에 따른 모바일 디바이스의 데이터 전송 방법에서 데이터 전송 단계를 수행하는 세부 단계를 도시한 것이다.
본 발명이 속하는 기술분야에 있어서 통상의 지식을 가진 자가 용이하게 실시할 수 있을 정도로 본 발명의 바람직한 실시예를 도면을 참조하여 상세하게 설명하면 다음과 같다.
먼저, 도 1을 참조하면, 본 발명의 실시예에 따른 모바일 디바이스(10)은 네트워크 어플리케이션(110), 소프트웨어 블록(120), 소켓 인터페이스(130), TCP(140), UDP(150), IP(160), 가상 인터페이스(170), 네트워크 인터페이스(180), MTU 관리부(190), 모뎀 디바이스(200)를 포함하는 네트워크 프로토콜 계층 구조를 가질 수 있다. 다만, 이러한 네트워크 프로토콜 계층 구조는 안드로이드(Android) 및 리눅스(Linux) 기반의 계층 구조로서, 본 발명에서 계층 구조의 예로 들기 위해 사용한 것일 뿐 다른 운영 체제 기반의 계층 구조에도 변형 적용 가능하다.
상기 네트워크 어플리케이션(network application, 110)은 네트워크 프로토콜 계층 구조에서 가장 상위 계층으로서, 서비스와 응용 프로그램 안에서 구현되는 프로토콜을 사용한다. 이러한 네트워크 어플리케이션(110)은 브라우저나 ftp, Http와 같은 응용 서비스를 수행한다.
상기 소프트웨어 블록(framework, 120)는 네트워크 프로토콜 계층 구조에서 차상위 계층으로, 운영 체제하에서 응용 어플리케이션들의 표준 구조를 구현하기 위한 라이브러리, 공통의 개발도구, 인터페이스 등의 집합을 의미한다.
상기 소켓 인터페이스(130), TCP(140), UDP(150) 및 IP(160)는 함께 네트워크 프로토콜부를 형성할 수 있다.
먼저, 상기 소켓 인터페이스(socket interface, 130)는 응용 어플리케이션간 기능을 이용할 수 있도록 기능한다.
상기 TCP(140)는 전송 제어 프로토콜(transmission control protocol)로서, 서로 다른 운영체제를 쓰는 시스템간에도 데이터를 전송할 수 있어 정보 전송을 위한 프로토콜로 사용된다. TCP(140)는 전송 데이터를 패킷 단위로 나누는 것에 관한 프로토콜이다. 또한, TCP(140)는 목적지 및 발신지 주소 등을 포함하는 헤더를 포함한다. 또한, TCP(140)는 IP(160)에서 전송한 데이터가 잘못 전송되거나 전송되지 않은 경우 등에 패킷의 헤더를 참조하여 재전송한다.
상기 TCP(140)에서 생성하는 패킷은 MTU(Maximum Transfer Unit)에 의해 결정된다. 여기서, MTU는 하나의 프레임이나 패킷이 전송될 때, 조각화(fragmentation)없이 한번에 통째로 전송될 수 있는 최대 전송 데이터 크기를 의미한다. 상기 MTU는 네트워크 인터페이스가 무엇인지에 따라 달라지게 된다. 또한, 네트워크 운용에 따라 네트워크 인터페이스의 MTU보다 작은 값으로 상황에 맞게 변경될 수 있다.
그리고 여기서의 조각화는 패킷이 MTU에 비해 커서 하나의 단일한 단위로 데이터 링크 계층을 통과할 수 없을 경우, 송신 호스트 또는 중간의 라우터에서 패킷을 몇 개의 패킷들로 나눠서 수신측에 전송하고, 수신측에서 이러한 패킷들을 모두 수신한 이후 재조립하는 것을 의미한다.
그런데 패킷의 발송 시, 후술할 IP 패킷 헤더에서 설정되는 값에 따라, 조각화가 이루어질 수 없는 경우가 있다. 그리고 패킷이 MTU에 비해 크지만 조각화가 되지 않으면, 패킷이 전송될 수 없는 문제점이 발생한다.
따라서, 패킷의 전송을 위해, 상기 TCP(140)는 상기 MTU 관리부(190)에서 인가받은 MTU 정보를 토대로 패킷을 결정한다.
상기 UDP(150)는 사용자 데이터 프로토콜(user datagram protocol)로서 인터넷 상에서 서로 정보를 주고 받을 때 정보를 보낸다는 신호나 받는다는 신호 절차를 거치지 않고 보내는 쪽에서 일방적으로 데이터를 전달하는 통신 프로토콜이다. 따라서, 상기 TCP(140)와는 달리 송신측에서 수신측이 데이터를 받았는지 여부를 확인할 수 없고, 확인할 필요도 없는 경우에 사용되는 프로토콜이다.
상기 IP(160)는 인터넷 프로토콜(internet protocol)로서, 한 단말에서 다른 단말로 데이터를 전송할 때 사용되는 프로토콜이다. IP(160)는 네트워크를 통해 패킷을 전송하는 역할을 담당한다. 이를 위해, IP(160)는 TCP(140) 또는 UDP(150) 패킷에 라우팅 및 목적지 정보를 담을 헤더를 추가한다. 이 때, IP 패킷 헤더의 DF(Don't Fragment) 비트를 '1'로 설정하면 경로 상에서 MTU가 작은 네트워크가 존재하여 조각화가 필요하더라도 조각화를 수행하지 말라(Don't Fragment)는 의미가 된다. 그리고 DF 비트에 따라 조각화를 수행하지 않아서 수신측에 패킷을 전송할 수 없게 되면, 송신측에는 ICMP(Internet Control Message Protocol) 에러 메시지가 전송되고, 해당 패킷은 폐기된다. 즉, DF가 '1'로 설정되면 MTU보다 큰 패킷은 전송될 수 없다.
상기 IP(160)는 상기 MTU 관리부(190)로부터 설정된 MTU에 따라 라우팅 테이블(Routing Table, 161)이 갱신된다. 여기서, 라우팅 테이블은 목적지 정보 및 목적지까지의 네트워크 경로 및 패킷 전송에 이용할 네트워크 및 인터페이스 정보를 저장한다. 상기 MTU 관리부(190)는 다중 MTU를 설정하고자 하는 목적지 정보를 갖고 있는 경우 상기 라우팅 테이블(161)의 기존 정보와 비교하며, 등록되어 있지 않거나 등록되어 있더라도 MTU가 다르면 상기 라우팅 테이블(161)에 네트워크 정보 및 인터페이스 정보를 등록하고, 새로운 가상 인터페이스(170)를 설정한다.
또한, 상기 IP(160)는 ICMP(Internet control message protocol, 162)를 더 포함하여, TCP/IP 프토토콜에서 IP 네트워크의 상태 및 오류 정보를 공유할 수 있다. 상기 ICMP(162)는 네트워크 장애 등의 여러 원인에 의해 데이터 전송 시 오류가 일어났음을 TCP(140)에 전달하여, TCP(140)가 패킷을 재전송할 수 있도록 한다. 따라서, IP 패킷 헤더의 DF 비트가 '1'로 설정되어, 패킷이 MTU에 비해 크더라도 조각화되지 않아 전송이 이루어지지 않는 경우, 상기 ICMP 에러 메시지가 통해 TCP에 전송될 수 있다.
상기 가상 인터페이스(170)는 상기 IP(160)와 네트워크 인터페이스(180)의 중간 레벨에 위치할 수 있다. 상기 가상 인터페이스(170)는 다중 MTU의 설정을 위해 구비되며, 보다 상세하게는 단말이 서로 상이한 MTU를 가진 네트워크에 동시에 접속하는 경우 각 경로별로 추가될 수 있다. 이를 위해, 상기 가상 인터페이스(170)는 복수개의 가상 인터페이스(171, 172)를 포함하여 이루어질 수 있다.
일 예로, 단말의 네트워크 인터페이스(180)가 이더넷(ethernet)인 경우 MTU는 1500[byte]으로 설정되며, 새로 추가된 네트워크의 경로의 MTU가 이보다 작은 경우(예를 들어, 1400[byte]), 이에 대한 새로운 제 1 가상 인터페이스(171)가 생성된다. 또한, 새로 추가된 네트워크의 경로의 MTU 역시 상기 네트워크 인터페이스(180)의 MTU보다 작은 경우(예를 들어, 1200[byte]), 이에 대한 별도의 새로운 제 2 가상 인터페이스(172)가 생성된다. 또한, 추가된 새로운 네트워크의 정보는 상기 라우팅 테이블(161)에 저장된다.
이 후, 상기 가상 인터페이스(170)를 통해 입력되는 패킷들은 추가적인 처리 없이 상기 네트워크 인터페이스(180)에 바이패스된다.
결국, 본 발명의 실시예에 따른 모바일 디바이스는 네트워크 인터페이스(180)의 결정된 MTU에 비해 새로 추가된 네트워크 경로의 MTU가 작은 경우, 네트워크 인터페이스(180)의 MTU를 변경하지 않고 상기 가상 인터페이스(170)를 통해 다중의 MTU를 설정할 수 있다. 따라서, 해당 네트워크 경로에 대해서는 상기 가상 인터페이스(170)를 통해 패킷을 생성 및 전송함으로써, 패킷의 크기가 MTU에 비해 크지만 패킷이 조각화(fragment)될 수 없는 경우 발생되는 전송 실패의 문제, 또는 특정 네트워크의 작은 MTU에 의해 나머지 네트워크에서도 통신 속도의 저하의 문제를 해결할 수 있다.
상기 네트워크 인터페이스(180)는 실제 외부 네트워크로 패킷을 전송하는 모뎀 디바이스(200)와의 연동을 담당한다. 상기 네트워크 인터페이스(180)의 MTU는 디바이스 장치에서 설정할 수 있는 최대값으로 설정될 수 있다. 예를 들어, 상기 네트워크 인터페이스(180)가 이더넷인 경우 MTU는 1500[byte]로 설정될 수 있다.
상기 MTU 관리부(190)는 추가되는 네트워크 경로가 라우팅 테이블(161)에 등록된 것이지 여부, 등록되어 있다면 MTU가 등록되어 있는 MTU와 동일한지 여부에 따라, 가상 인터페이스(170)를 생성 및 라우팅 테이블(161) 갱신의 동작을 수행한다.
도 1과 도 2를 함께 참조하면, 이러한 MTU 관리부(190)는 MTU 설정 요구 처리부(191), 라우팅 테이블 관리부(192), 가상 인터페이스 관리부(193), 네트워크 인터페이스 관리부(194)를 포함할 수 있다.
상기 MTU 설정 요구 처리부(191)는 네트워크 경로의 MTU 값을 알아낸 후, 실제 MTU를 설정하고자 할 때, 어플리케이션이나 시스템 모듈에 MTU 설정을 받아들이고, 기본적으로 정상, 비정상, 중복 요구를 확인한다. 또한, 상기 MTU 설정 요구 처리부(191)는 네트워크의 목적지 및 MTU를 라우팅 테이블과 비교하여 가상 인터페이스(170)를 생성할지 여부를 결정한다.
상기 라우팅 테이블 관리부(192)는 상기 가상 인터페이스(170)의 네트워크 정보를 상기 라우팅 테이블(161)에 등록하거나 삭제하는 등의 동작을 수행한다. 또한, 상기 라우팅 테이블 관리부(192)는 추가되는 네트워크가 등록되어 있어도 MTU가 변경된 경우 이를 상기 라우팅 테이블(162)에 저장하는 갱신 동작을 수행한다.
상기 가상 인터페이스 관리부(193)는 상기 가상 인터페이스(170)에 대해 상기 MTU 설정 요구 처리부(191)를 통해 요청받은 MTU 및 네트워크 정보를 설정한다.
또한, 상기 네트워크 인터페이스 관리부(194)는 실제의 상기 네트워트 인터페이스(180)에 대해 MTU 및 네트워크 정보를 설정한다.
상기 모뎀 디바이스(200)는 상기 네트워크 인터페이스(180)로부터 패킷을 인가받아, 이를 전송한다. 상기 모뎀 디바이스(200)는 유무선 연결을 모두 포함할 수 있으며, 무선 통신의 경우 동기식 또는 비동기식 통신망 등을 이용하여 전송할 수 있다.
이하에서는 상기 MTU 관리부(190)의 동작 과정을 보다 구체적으로 설명하도록 한다.
도 3을 참조하면, MTU 설정 대기 상태(S1)에서, 새로운 네트워크가 추가되면 상기 MTU 설정 요구 처리부(191)가 MTU 설정 요청을 한다(S2).
그리고 상기 라우팅 테이블 관리부(192)는 상기 라우팅 테이블(161)을 검색하여(S3), 추가된 새로운 네트워크의 목적지 및 MTU 정보를 비교한다.
만약, 상기 추가된 새로운 네트워크의 목적지가 기 등록된 목적지이면, 상기 라우팅 테이블 관리부(192)는 MTU값이 변경되었는지 여부를 확인한다(S6). 만약, MTU값이 변경되지 않았으면, 상기 라우팅 테이블(161)의 갱신이 필요하지 않으므로, 상기 MTU 설정 요청 대기 상태(S1)가 유지된다.
반면, 추가된 새로운 네트워크가 기 등록된 목적지지만 상기 MTU값이 변경되었거나, 추가된 네트워크가 기동록된 목적지가 아닌 경우, 상기 가상 인터페이스 관리부(193)는 가상 인터페이스(170)를 생성하고, 목적지 주소 및 MTU를 설정한다(S6).
또한, 상기 라우팅 테이블 관리부(192)는 상기 가상 인터페이스(170)에 설정된 목적지 주소 및 MTU값을 상기 라우팅 테이블(161)에 저장한다. 따라서, 이후 상기 네트워크가 다시 연결되었을 때, 다시 가상 인터페이스(170)를 생성하는 등의 동작을 반복하지 않을 수 있다.
상기와 같이 하여, 본 발명의 실시예에 따른 모바일 디바이스는 네트워크 인터페이스(180)의 결정된 MTU에 비해 새로 추가된 네트워크 경로의 MTU가 작은 경우, 네트워크 인터페이스(180)의 MTU를 변경하지 않고 상기 가상 인터페이스(170)를 통해 다중의 MTU를 설정할 수 있다. 따라서, 해당 네트워크 경로에 대해서는 상기 가상 인터페이스(170)를 통해 패킷을 생성 및 전송함으로써, 다른 네트워크의 MTU는 변경할 필요가 없기 때문에, 패킷의 크기가 MTU에 비해 크지만 패킷이 조각화(fragment)될 수 없는 경우 발생되는 전송 실패의 문제, 또는 특정 네트워크의 작은 MTU에 의해 나머지 네트워크에서도 통신 속도의 저하의 문제를 해결할 수 있다.
이하에서는 본 발명의 실시예에 따른 모바일 디바이스의 데이터 전송 방법을 설명하도록 한다.
먼저, 도 4를 참조하면, 본 발명의 실시예에 따른 모바일 디바이스의 데이터 전송 방법은 MTU 디스커버리 단계(S10), MTU 설정 단계(S20), 데이터 전송 단계(S30)를포함하여 이루어질 수 있다. 이하에서는 상기 단계들을 도 5 내지 도 8을 함께 참조하여 설명하도록 한다.
도 4 및 도 5를 함께 참조하면, 상기 MTU 디스커버리 단계(S10)는 다양한 방법으로 네트워크 경로에 대한 MTU를 검색할 수 있다.
그 중 첫 번째로, TCP 연결시 MSS(Maximum Segment Size)를 이용하여 MTU를 설정하는 방법이 사용될 수 있다(S11). 여기서, MSS는 최대 세그먼트 크기를 의미하는 것으로 TCP(140)에서 생성된 데이터 패킷의 최대 크기를 의미한다. 이 방법은 TCP(140)간의 연결 과정에서 서로의 MSS를 교환하여 이 중 작은 값으로 MSS를 설정한다. 또한, 상기 MSS에 TCP 헤더와 IP 헤더의 크기를 더 추가하여 전체적인 MTU값을 결정할 수 있다.
두 번째로, SSL VPN(Secure Sockets Layer) VPN(Vitual Private Network) 및 IPSec VPN의 보안 연결 과정에서 MTU를 검색하는 방법이 사용될 수 있다(S12).
여기서, SSL은 웹 브라우저와 서버간의 통신에서 정보를 암호화함으로써 해킹 등을 통해 정보가 유출되더라도 정보의 내용을 보호할 수 있는 보안 솔루션이며, SSL VPN은 장소나 단말의 종류와 관계없이 내부 네트워크에 접속할 수 있는 SSL 기반의 가상 사설망(VPN)을 의미한다. SSL VPN의 경우, SSL 세션을 맺는 과정에서 협의된 TCP의 MSS 크기를 바탕으로 TCP 헤더와 IP 헤더의 크기를 더 추가하여 전체적인 MTU값을 결정한다.
한편, IPSec이란 보안이 되고 암호가 된 통신을 보장하는 프로토콜의 모음으로서, 데이터 암호화와 서명을 통해 트래픽을 보호하는 것을 의미하고, IPSec VPN이란 IPSec 기반의 가상 사설망(VPN)을 의미한다. IPSec VPN의 경우, IKE(Internet Key Exchange) 프로토콜을 이용하여 보안키 협상 과정 중에 MTU관련 속성을 추가하여 상호간의 MTU를 얻어와 이 중 작은 값으로 MTU를 계산할 수 있다. 도 6을 참조하면, IKE를 위해 사용되는 메시지 구성이 예로서 도시되어 있다. 기본 헤더 뒤에 붙는 일반적인 페이로드(payload)는 이후에 붙는 페이로드 타입에 따라 값이 정해져 있으며, MTU의 경우에는 개인용으로 할당된 128~255의 값을 이용할 수 있다. 여기서의 페이로드는 패킷에서 헤더 정보를 제외한 나머지 실질적인 데이터 부분을 의미한다. 도 6에서는 MTU에 대해 예로서 '254'의 값을 사용하였다. 또한, 도 6의 두 번째 페이로드에서는 다음번 페이로드의 타입으로서 '254'를 사용하여 'MTU'임을 알려주고, 마지막 페이로드에서는 MTU의 값을 '1500'으로 기재하고 있다. 따라서, 도 6의 메시지에서는 MTU가 '1500'임을 확인할 수 있게 되어, 이를 토대로 네트워크의 MTU를 결정할 수 있다.
세 번째로, 경로 MTU 디스커버리 방법을 사용하는 것이 가능하다(S13). 이 방법은 패킷의 크기를 늘려가면서 목적지로 패킷을 전송하여, 문제없이 전송되는 최대 크기로서 MTU를 결정하는 방법이다. 보다 구체적으로, MTU 디스커버리 방법에서 IP 헤더의 DF 비트는 '1'로 설정되어 전송된다. 만약, 네트워크 경로의 MTU보다 패킷이 크다면, 해당 네트워크의 라우터는 ICMP 에러 메시지를 수신한다. ICMP 에러 메시지 타입은 목적지에 도달할 수 없음을 의미하는 3(Destination Unreachable)이고, 코드(code)는 조각화 및 DF 비트 설정이 필요함을 의미하는 4(Fragmentation Required, and DF flag set)이며, 이 메시지 내에 해당 네트워크의 MTU가 포함된다. 상기 ICMP 에러 메시지를 받은 송신측은 메시지 내의 MTU값의 크기의 패킷을 다시 생성하여 재전송을 수행하고, 본 방법에서는 이를 반복하여 패킷이 정상적으로 전송될 수 있는 최대 MTU를 결정하게 된다.
다음으로, 도 4 및 도 7을 함께 참조하면, 상기 MTU 설정 단계(S20)는 먼저 MTU값과 네트워크 정보를 취득하는 단계(S21)로 이루어진다. 이에 따라, 앞의 MTU 디스커버리 단계(S10)에서 검색된 MTU값과 네트워크 정보는 MTU 관리부(190)로 전송된다.
이후, 네트워크의 목적지가 기 등록된 것인지 여부 및 MTU값이 변경되었는지 여부에 따라 MTU 관리부(190)는 가상 인터페이스(170) 생성하고, 상기 가상 인터페이스(170)에 MTU 및 네트워크 정보를 설정한다(S22).
그리고 상기 MTU 관리부(190)는 상기 MTU 및 네트워크 정보를 라우팅 테이블(161)에 저장하는 동작을 수행한다(S23).
도 4 및 도 8을 함께 참조하면, 상기 데이터 전송 단계(S30)는 상기 가상 인터페이스(170) 또는 직접 네트워크 인터페이스(180)를 통해 데이터 패킷을 전송하는 단계이다.
상기 데이터 전송 단계(S30)는 먼저 네트워크 어플리케이션(110)에서 데이터를 전송하고(S31), 상기 데이터에 TCP(140)/UDP(150)/IP(160)의 프로토콜 패킷을 생성한다(S32). 이 단계에서는 상기 TCP(140)/UDP(150)/IP(160)에 해당되는 헤더들이 더 추가되어 데이터 패킷을 형성하게 된다.
또한, IP(160)는 라우팅 테이블(161)을 검색하여 목적지 주소에 따른 출력 인터페이스를 확인하고(S33), 이에 의해 결정되는 MTU에 따라 IP 패킷 크기를 결정하여 생성한다(S34).
그리고 최종적으로 상기 IP 패킷을 가상 인터페이스(170)를 통해 네트워크 인터페이스(180)에 전송하거나, 또는 네트워크 인터페이스(180)에 직접 전송하여 데이터 전송을 수행하도록 한다(S35).
상기와 같이 하여, 본 발명에 따른 모바일 디바이스의 데이터 전송 방법은 네트워크에 따른 가상 인터페이스를 생성함으로써, 다중 MTU를 설정하여 데이터 패킷의 전송 실패 또는 데이터 전송 효율 저감 문제를 해결할 수 있다.
이상에서 설명한 것은 본 발명에 의한 모바일 디바이스 및 이를 이용한 데이터 전송 방법을 실시하기 위한 하나의 실시예에 불과한 것으로서, 본 발명은 상기 실시예에 한정되지 않고, 이하의 특허청구범위에서 청구하는 바와 같이 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.
10; 네트워크 프로토콜 계층 구조
110; 네트워크 어플리케이션 120; 소프트웨어 블록
130; 소켓 인터페이스 140; TCP
150; UDP 160; IP
161; 라우팅 테이블 162; ICMP
170; 가상 인터페이스 180; 네트워크 인터페이스
190; MTU 관리부 191; MTU 설정 요구 처리부
192; 라우팅 테이블 관리부 193; 가상 인터페이스 관리부
194; 네트워크 인터페이스 관리부 200; 모뎀 디바이스

Claims (15)

  1. 라우팅 테이블을 갖는 IP(Internet Protocol);
    상기 IP로부터 데이터 패킷을 전송받는 적어도 하나의 가상 인터페이스;
    상기 가상 인터페이스를 통해 또는 직접적으로 상기 IP의 데이터 패킷을 전송받는 네트워크 인터페이스; 및
    상기 라우팅 테이블, 가상 인터페이스 및 네트워크 인터페이스를 제어하는 MTU 관리부를 포함하고,
    상기 네트워크 인터페이스의 MTU(Maximum Transfer Unit)에 대한 변경없이, 상기 가상 인터페이스의 MTU가 추가된 통신 네트워크에 대해 동적으로 가변되어 설정되는 네트워크 프로토콜 계층 구조를 포함하는 모바일 디바이스.
  2. 제 1 항에 있어서,
    상기 가상 인터페이스와 상기 네트워크 인터페이스의 MTU(Maximum Transfer Unit)은 다른 값을 갖도록 설정되는 네트워크 프로토콜 계층 구조를 포함하는 모바일 디바이스.
  3. 제 1 항에 있어서,
    상기 가상 인터페이스는 연결된 복수개의 통신 네트워크에 대해 각각 생성되는 모바일 디바이스.
  4. 제 1 항에 있어서,
    상기 가상 인터페이스는 복수개로 구비되어, 서로 상이한 MTU를 갖도록 설정된 모바일 디바이스.
  5. 제 1 항에 있어서,
    상기 라우팅 테이블은 상기 가상 인터페이스 및 네트워크 인터페이스의 MTU 및 목적지 정보를 저장하는 모바일 디바이스.
  6. 제 1 항에 있어서,
    상기 MTU 관리부는
    새로 추가되는 네트워크에 대한 MTU 및 목적지 정보를 상기 라우팅 테이블과 비교하여 상기 가상 인터페이스의 생성 여부를 결정하는 MTU 설정 요구 처리부;
    상기 라우팅 테이블에 저장된 MTU 및 목적지의 정보를 갱신하는 라우팅 테이블 관리부;
    상기 MTU 설정 처리 요구부에 의해 추가된 네트워크에 대한 가상 인터페이스를 생성하고 검색된 MTU 및 네트워크의 정보를 설정하는 가상 인터페이스 관리부; 및
    상기 네트워크 인터페이스의 MTU 및 네트워크의 정보를 설정하는 네트워크 인터페이스 관리부를 포함하는 모바일 디바이스.
  7. 제 6 항에 있어서,
    상기 MTU 설정 요구 처리부는 상기 추가된 네트워크의 목적지 정보를 상기 라우팅 테이블과 비교하여, 상기 라우팅 테이블에 등록된 목적지가 아닌 경우 상기 가상 인터페이스를 생성하도록 결정하는 모바일 디바이스.
  8. 제 6 항에 있어서,
    상기 MTU 설정 요구 처리부는 상기 추가된 네트워크의 목적지 정보를 상기 라우팅 테이블과 비교하여, 상기 라우팅 테이블에 등록된 목적지이지만 상기 MTU가 변경된 경우 상기 가상 인터페이스를 생성하도록 결정하는 모바일 디바이스.
  9. 제 6 항에 있어서,
    상기 MTU 설정 요구 처리부는 상기 추가된 네트워크의 목적지 정보를 상기 라우팅 테이블과 비교하여, 상기 라우팅 테이블에 등록된 목적지이고 상기 MTU가 동일한 경우 MTU 설정 요청 대기 상태를 유지하는 모바일 디바이스.
  10. 복수개의 네트워크 경로에 대해 MTU(Maximum Transfer Unit)를 검색하는 MTU 디스커버리 단계;
    상기 MTU 각각에 대해 적어도 하나의 가상 인터페이스를 생성하고, 상기 가상 인터페이스에 상기 MTU를 설정하는 MTU 설정 단계; 및
    상기 가상 인터 페이스를 통해 데이터 패킷을 네트워크 인터페이스에 전송하여 네트워크에 데이터를 전송하는 데이터 전송 단계를 포함하고,
    상기 MTU 설정 단계는 상기 네트워크 인터페이스의 MTU에 대한 변경없이, 상기 가상 인터페이스의 MTU를 추가되는 통신 네트워크에 대해 동적으로 가변하여 설정하는 데이터 전송 방법.
  11. 제 10 항에 있어서,
    상기 MTU 디스커버리 단계는 IPSec VPN에서 보안키 협상 과정 시 IKE(Internet Key Exchange) 메시지에 MTU 속성을 추가하여 상기 MTU를 결정하는 데이터 전송 방법.
  12. 제 10 항에 있어서,
    상기 MTU 설정 단계는 상기 가상 인터페이스에 대해 상기 MTU 및 목적지 정보를 설정하는 데이터 전송 방법.
  13. 제 10 항에 있어서,
    상기 MTU 설정 단계는 상기 네트워크에 대한 MTU 및 목적지 정보를 라우팅 테이블과 비교하여 목적지가 등록되지 않았거나, 목적지는 동일하나 MTU가 변경된 경우, 상기 가상 인터페이스를 생성하는 데이터 전송 방법.
  14. 제 13 항에 있어서,
    상기 MTU 설정 단계는 상기 가상 인터페이스에 대한 MTU 및 목적지 정보를 이용하여 라우팅 테이블을 갱신하는 데이터 전송 방법.
  15. 제 10 항에 있어서,
    상기 데이터 전송 단계는 상기 네트워크에 따라 각각 상기 가상 인터페이스 또는 네트워크 인터페이스의 MTU에 대응되도록 데이터 패킷을 생성하여 전송하는 데이터 전송 방법.
KR1020120021499A 2012-02-29 2012-02-29 다중 mtu를 설정하는 모바일 디바이스 및 이를 이용한 데이터 전송 방법 KR101386809B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120021499A KR101386809B1 (ko) 2012-02-29 2012-02-29 다중 mtu를 설정하는 모바일 디바이스 및 이를 이용한 데이터 전송 방법
US13/676,202 US9445384B2 (en) 2012-02-29 2012-11-14 Mobile device to generate multiple maximum transfer units and data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120021499A KR101386809B1 (ko) 2012-02-29 2012-02-29 다중 mtu를 설정하는 모바일 디바이스 및 이를 이용한 데이터 전송 방법

Publications (2)

Publication Number Publication Date
KR20130101674A KR20130101674A (ko) 2013-09-16
KR101386809B1 true KR101386809B1 (ko) 2014-04-21

Family

ID=49002784

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120021499A KR101386809B1 (ko) 2012-02-29 2012-02-29 다중 mtu를 설정하는 모바일 디바이스 및 이를 이용한 데이터 전송 방법

Country Status (2)

Country Link
US (1) US9445384B2 (ko)
KR (1) KR101386809B1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140351832A1 (en) 2013-05-21 2014-11-27 Samsung Electronics Co., Ltd. Electronic device using framework interface for communication
US9154432B2 (en) * 2013-06-14 2015-10-06 Hewlett-Packard Development Company, L.P. Method and apparatus to control TX/RX AMSDU size based on the negotiated maximum transmission unit in the tunnel between a controller and an access point
US9584427B2 (en) 2014-08-19 2017-02-28 Citrix Systems, Inc. Systems and methods for providing fine grained control over MSS values of transport layer connections
TWI561104B (en) * 2014-10-07 2016-12-01 Hon Hai Prec Ind Co Ltd Terminal device and method for processing packet
US10841834B2 (en) 2018-04-04 2020-11-17 At&T Intellectual Property I, L.P. Legacy network maximum transmission unit isolation capability through deployment of a flexible maximum transmission unit packet core design
US10638363B2 (en) 2018-04-04 2020-04-28 At&T Intellectual Property I, L.P. Legacy network maximum transmission unit isolation capability through deployment of a flexible maximum transmission unit packet core design
US11424958B2 (en) * 2020-03-05 2022-08-23 Vmware, Inc. Managing transmission control protocol (TCP) maximum segment size (MSS) values for multiple tunnels supported by a computing site gateway
US11695822B2 (en) * 2021-07-16 2023-07-04 Adp, Inc. Unified integration pattern protocol for centralized handling of data feeds

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030015835A (ko) * 2001-08-15 2003-02-25 삼성전자주식회사 지능형 인터넷 프로토콜 패킷 릴레이 장치 및 방법
KR100721339B1 (ko) 2005-12-29 2007-05-28 엘지전자 주식회사 적응적 데이터 송/수신 기능을 갖는 이동 통신 단말기 및그 방법
KR20080035204A (ko) * 2006-10-18 2008-04-23 주식회사 케이티프리텔 무선 데이터통신망별로 최적화된 스트리밍 서비스 제공방법 및 장치
WO2009127681A1 (en) 2008-04-17 2009-10-22 Nokia Siemens Networks Oy Method for preserving the network address during a vertical handover

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100506529B1 (ko) * 2003-08-06 2005-08-03 삼성전자주식회사 데이터 통신 네트워크에서의 경로 엠티유 발견 네트워크장치, 시스템 및 그 방법
US7656835B2 (en) * 2005-05-18 2010-02-02 Nokia Corporation Method for informing changed communications capabilities
JP4764737B2 (ja) * 2006-02-13 2011-09-07 富士通株式会社 ネットワークシステム、端末およびゲートウェイ装置
KR100864825B1 (ko) * 2006-12-08 2008-10-23 한국전자통신연구원 이동 단말기에서 복수 개의 네트워크 주소를 처리하는 방법및 장치
US9210140B2 (en) * 2009-08-19 2015-12-08 Solarflare Communications, Inc. Remote functionality selection
US8832685B2 (en) * 2010-06-29 2014-09-09 International Business Machines Corporation Virtual network packet transfer size manager
US8863256B1 (en) * 2011-01-14 2014-10-14 Cisco Technology, Inc. System and method for enabling secure transactions using flexible identity management in a vehicular environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030015835A (ko) * 2001-08-15 2003-02-25 삼성전자주식회사 지능형 인터넷 프로토콜 패킷 릴레이 장치 및 방법
KR100721339B1 (ko) 2005-12-29 2007-05-28 엘지전자 주식회사 적응적 데이터 송/수신 기능을 갖는 이동 통신 단말기 및그 방법
KR20080035204A (ko) * 2006-10-18 2008-04-23 주식회사 케이티프리텔 무선 데이터통신망별로 최적화된 스트리밍 서비스 제공방법 및 장치
WO2009127681A1 (en) 2008-04-17 2009-10-22 Nokia Siemens Networks Oy Method for preserving the network address during a vertical handover

Also Published As

Publication number Publication date
US20130223337A1 (en) 2013-08-29
KR20130101674A (ko) 2013-09-16
US9445384B2 (en) 2016-09-13

Similar Documents

Publication Publication Date Title
KR101386809B1 (ko) 다중 mtu를 설정하는 모바일 디바이스 및 이를 이용한 데이터 전송 방법
EP3635939B1 (en) Seamless mobility and session continuity with tcp mobility option
US10033843B2 (en) Network device and method for processing a session using a packet signature
US8713305B2 (en) Packet transmission method, apparatus, and network system
US20170104689A1 (en) Virtual machine and application movement over a wide area network
US7738457B2 (en) Method and system for virtual routing using containers
US7143282B2 (en) Communication control scheme using proxy device and security protocol in combination
US20100250767A1 (en) Apparatus and method for accelerating streams through use of transparent proxy architecture
EP3780440A1 (en) Transmission control method and apparatus
US10111192B2 (en) Method for effective PMTU discovery in VPN environment
US20160380902A1 (en) Network interface selection for network connections
KR100748698B1 (ko) 보안 통신 시스템의 패킷 처리 방법 및 그 장치
US9467471B2 (en) Encrypted communication apparatus and control method therefor
CN106209401B (zh) 一种传输方法及装置
CN115333859B (zh) 一种基于芯片方案的IPsec协议报文加密及解密方法
JP6718739B2 (ja) 通信装置および通信方法
JP3614006B2 (ja) 非対称経路利用通信システム、および、非対称経路利用通信方法
KR20190110719A (ko) 네트워크 은닉 장치 및 방법
KR100506182B1 (ko) 멀티 터널 아이피에스이씨(ipsec)를 지원하는브이피엔(vpn) 시스템 및 운용방법
US10771429B1 (en) Mechanisms for solving an IP fragmentation overlapping issue in L2VPN using multiple IP addresses in GRE headers
Thornburgh RFC 7016: Adobe's Secure Real-Time Media Flow Protocol
Ganiga et al. A Detailed Study of Transport Layer SCT Protocol and its Security Solutions
Dakhane et al. UDP-Based Multi-Stream Communication Protocol

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170926

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180927

Year of fee payment: 5