KR101082651B1 - 멀티호밍을 지원하기 위한 가상화 드라이브 장치 및 그 방법 - Google Patents

멀티호밍을 지원하기 위한 가상화 드라이브 장치 및 그 방법 Download PDF

Info

Publication number
KR101082651B1
KR101082651B1 KR1020100017351A KR20100017351A KR101082651B1 KR 101082651 B1 KR101082651 B1 KR 101082651B1 KR 1020100017351 A KR1020100017351 A KR 1020100017351A KR 20100017351 A KR20100017351 A KR 20100017351A KR 101082651 B1 KR101082651 B1 KR 101082651B1
Authority
KR
South Korea
Prior art keywords
server
packet
multihoming
drive device
tunneling
Prior art date
Application number
KR1020100017351A
Other languages
English (en)
Other versions
KR20110097490A (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 KR1020100017351A priority Critical patent/KR101082651B1/ko
Publication of KR20110097490A publication Critical patent/KR20110097490A/ko
Application granted granted Critical
Publication of KR101082651B1 publication Critical patent/KR101082651B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/06Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/677Multiple interfaces, e.g. multihomed nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 멀티호밍을 지원하기 위한 가상화 드라이브 장치 및 그 방법에 관한 것으로, 다중 접속 무선망에서 단말이 대역폭 확장을 위해 복수 개의 무선 네트워크 인터페이스를 수용해야 할 경우, 상위 TCP/IP 응용계층의 코드 변경 없이 전송계층의 독립성을 보장할 수 있는, 멀티호밍을 지원하기 위한 가상화 드라이브 장치 및 그 방법을 제공하고자 한다.
이를 위하여, 본 발명은 멀티호밍을 지원하기 위한 가상화 드라이브 장치에 있어서, 다중 링크를 인식하고 상기 인식된 다중 링크의 상태를 감시하여 연결 및 해제 상태를 관리하기 위한 가상 드라이버; 및 외부의 응용부로부터 전송을 요청받은 다운 패킷(Down packet)에 대해 모바일 IP(Mobile IP)를 첨가하고 터널링 데이터를 추가하여 터널링 패킷을 생성하여 상기 다중 링크를 통하여 외부의 멀티호밍 서버로 전송하고, 상기 멀티호밍 서버로부터 상기 다중 링크를 통하여 수신되는 업 패킷(Up Packet)에 대해 터널링 데이터를 제거하고 모바일 IP를 제거하여 IP 패킷을 추출하고 재정렬하여 상기 응용부로 전송하기 위한 중간 다중화 드라이버(Intermediate MUX Driver)를 포함한다.

Description

멀티호밍을 지원하기 위한 가상화 드라이브 장치 및 그 방법{Virtual Driver for Multi-homing and Method Thereof}
본 발명은 멀티호밍을 지원하기 위한 가상화 드라이브 장치 및 그 방법에 관한 것으로, 더욱 상세하게는 다중 접속 무선망에서 단말이 대역폭 확장을 위해 복수 개의 무선 네트워크 인터페이스를 수용해야 할 경우, 멀티호밍을 지원해야 하는 TCP/IP(Transmission Control Protocol/Internet Protocol) 기반의 모든 상위 응용계층의 코드 변경 없이 동작할 수 있도록 지원하기 위한, 가상화 드라이브 장치 및 그 방법에 관한 것이다.
본 발명은 지식경제부의 산업원천기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호 : 2009-S-024-01, 과제명 : 와이브로 기반 모바일 멀티미디어 최적전송 시스템 개발].
최근에 다양한 무선 네트워크의 출현으로 인하여 이기종 네트워크 간의 정합 및 유/무선 네트워크 간의 정합이 화두가 되고 있다. 따라서 하나의 단말이 물리적으로 복수 개의 접속망을 이용하여 인터넷에 연결되는 멀티호밍 기술은 네트워크 이동성에 있어서 지속적인 통신을 유지하기 위한 이슈가 되었다.
이를 위해, 멀티호밍을 지원하는 단말은 중복성, 부하분산, 성능, 전송계층의 독립성 및 생존성이 요구되며, 해당 기술이 적용된 단말은 다중 인터페이스를 활용한 대역폭 증가 효과와, 동시에 다중 경로로 트래픽을 송/수신하여 실시간 통신의 시간 지연 최소화 및 대용량 통신의 패킷 손실 감소, 다중 접속을 통한 효율적인 부하분산, 및 중복성을 통한 장애 최소화(단일 접속 대비)의 효과를 갖게 된다.
하지만, 종래의 멀티호밍 기술은 별도의 L4 전송계층(예 : SCTP, mSCTP) 또는 L3 계층(예 : IPv6, NEMO)이 요구되므로 TCP/IP 기반 상위 응용계층의 코드 변경이 요구되는 단점을 가지고 있다. 따라서 종래의 IPv4 TCP/IP 기반 응용 프로그램의 전송계층의 독립성 보장을 위해서는 가상화 드라이브 장치의 기능이 요구되고 있다.
전술한 바와 같이, 상기와 같은 종래 기술은 TCP/IP 기반 상위 응용계층의 코드 변경이 요구되는 문제점이 있으며, 이러한 문제점을 해결하고자 하는 것이 본 발명의 과제이다.
따라서 본 발명은 다중 접속 무선망에서 단말이 대역폭 확장을 위해 복수 개의 무선 네트워크 인터페이스를 수용해야 할 경우, 상위 TCP/IP 응용계층의 코드 변경 없이 전송계층의 독립성을 보장할 수 있는, 멀티호밍을 지원하기 위한 가상화 드라이브 장치 및 그 방법을 제공하는 데 그 목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시 예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명의 장치는, 멀티호밍을 지원하기 위한 가상화 드라이브 장치에 있어서, 다중 링크를 인식하고 상기 인식된 다중 링크의 상태를 감시하여 연결 및 해제 상태를 관리하기 위한 가상 드라이버; 및 외부의 응용부로부터 전송을 요청받은 다운 패킷(Down packet)에 대해 모바일 IP(Mobile IP)를 첨가하고 터널링 데이터를 추가하여 터널링 패킷을 생성하여 상기 다중 링크를 통하여 외부의 멀티호밍 서버로 전송하고, 상기 멀티호밍 서버로부터 상기 다중 링크를 통하여 수신되는 업 패킷(Up Packet)에 대해 터널링 데이터를 제거하고 모바일 IP를 제거하여 IP 패킷을 추출하고 재정렬하여 상기 응용부로 전송하기 위한 중간 다중화 드라이버(Intermediate MUX Driver)를 포함한다.
또한, 상기 본 발명의 장치는, 정보를 설정하고, 무선 인터페이스의 연결 상태를 확인하여 선택하며, 바인드(Bind) 처리를 통해 상기 선택된 무선 인터페이스를 상기 멀티호밍 서버와 연결하거나 해제하도록 하기 위한 연결 관리기(CM)를 더 포함한다.
한편, 상기 목적을 달성하기 위한 본 발명의 방법은, 멀티호밍을 지원하기 위한 가상화 드라이브 장치의 동작 방법에 있어서, 가상 드라이버가 다중 링크를 인식하고 상기 인식된 다중 링크의 상태를 감시하여 연결 및 해제 상태를 관리하는 단계; 중간 다중화 드라이버가 전송을 요청받은 다운 패킷(Down packet)에 대해 모바일 IP(Mobile IP)를 첨가하고 터널링 데이터를 추가하여 터널링 패킷을 생성하여 상기 다중 링크를 통하여 전송하는 단계; 및 상기 중간 다중화 드라이버가 상기 다중 링크를 통하여 수신되는 업 패킷(Up Packet)에 대해 터널링 데이터를 제거하고 모바일 IP를 제거하여 IP 패킷을 추출하고 재정렬하는 단계를 포함한다.
또한, 상기 본 발명의 방법은, 연결 관리기가 정보를 설정하고, 무선 인터페이스의 연결 상태를 확인하여 선택하며, 바인드(Bind) 처리를 통해 상기 선택된 무선 인터페이스를 연결하거나 해제하는 단계를 더 포함한다.
이를 위하여, 본 발명은 복수 개의 무선 네트워크 인터페이스 외에 가상화 드라이브 장치를 구비하고, TCP/IP를 이용하는 모든 상위 계층이 상기 가상화 드라이브 장치를 참조하고 소켓 바인드할 수 있도록 하며, 단말이 외부로 전송하는 모든 패킷을 상기 가상화 드라이브 장치를 통하여 실제 물리 인터페이스로 전송하고, 실제 외부로부터 인입되는 패킷을 실제 물리 인터페이스로부터 가상화 드라이브 장치로 전송하여 실제 물리 네트워크와 상위 TCP/IP 응용계층과의 독립성을 유지하는 기능을 제공한다.
상기와 같은 본 발명은, 다중 접속 무선망에서 단말이 대역폭 확장을 위해 복수 개의 무선 네트워크 인터페이스를 수용해야 할 경우, 상위 TCP/IP 응용계층의 코드 변경 없이 전송계층의 독립성을 보장할 수 있는 효과가 있다.
즉, 본 발명은 복수 개의 무선 네트워크 인터페이스 외에 가상화 드라이브 장치를 구비하고, TCP/IP를 이용하는 모든 상위 계층이 상기 가상화 드라이브 장치를 참조하고 소켓 바인드할 수 있도록 하며, 단말이 외부로 전송하는 모든 패킷을 상기 가상화 드라이브 장치를 통하여 실제 물리 인터페이스로 전송하고, 실제 외부로부터 인입되는 패킷을 실제 물리 인터페이스로부터 가상화 드라이브 장치로 전송함으로써, 실제 물리 네트워크와 상위 TCP/IP 응용계층과의 독립성을 보장할 수 있는 효과가 있다.
도 1은 본 발명이 적용되는 멀티호밍 기반 무선 대역폭 확장 시스템의 일실시예 구성도,
도 2는 본 발명에 이용되는 단독 바인드 메시지 처리 과정에 대한 일실시예 흐름도,
도 3은 본 발명에 이용되는 동시 바인드 메시지 처리 과정에 대한 일실시예 흐름도,
도 4는 본 발명에 이용되는 터널링 프로토콜 스택을 나타내는 일실시예 도면,
도 5는 본 발명에 이용되는 프로토콜의 주요 필드를 나타내는 일예시도,
도 6은 본 발명에 따른 멀티호밍을 지원하기 위한 가상화 드라이브 장치의 일실시예 구성도,
도 7은 본 발명에 따른 멀티호밍을 지원하기 위한 가상화 드라이브 장치가 구현된 멀티호밍 단말을 나타내는 일예시도,
도 8은 상기 도 6의 연결 관리기의 일실시예 상세 구성도,
도 9는 상기 도 6의 중간 다중화 드라이버(Intermediate MUX Driver)의 일실시예 상세 구성도,
도 10은 상기 도 6의 가상 드라이버(Virtual Driver)의 일실시예 상세 구성도,
도 11은 방화벽/NAT 통과 기술에 대한 설명도,
도 12는 다중 경로 전송에 따른 패킷(Packet) 역전 현상 발생을 설명하기 위한 도면,
도 13은 역전된 패킷을 재정렬 처리하는 과정을 설명하기 위한 도면,
도 14는 본 발명에 따른 멀티호밍을 지원하기 위한 가상화 드라이브 장치의 동작 방법에 대한 일실시예 흐름도이다.
상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되어 있는 상세한 설명을 통하여 보다 명확해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하기로 한다.
그리고 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때 이는 "직접적으로 연결"되어 있는 경우뿐만 아니라 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 "포함" 또는 "구비"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함하거나 구비할 수 있는 것을 의미한다.
도 1은 본 발명이 적용되는 멀티호밍 기반 무선 대역폭 확장 시스템의 일실시예 구성도이다.
도 1에 도시된 바와 같이, 본 발명이 적용되는 멀티호밍 기반 무선 대역폭 확장 시스템은 복수 개의 단말을 연결할 수 있는 멀티호밍 단말과, 복수 개의 모뎀을 한 개의 모뎀처럼 처리하고 미디어 서버(컨텐츠 서버)와 데이터를 주고받는 역할을 하는 멀티호밍 서버를 포함한다.
이때, 멀티호밍 단말은 복수 개의 단말에 대해 서버에 바인드(Bind)를 시도한다. 그리고 멀티호밍 서버로부터 가상 IP 주소(Address)를 할당받아 터널링에 사용한다. 그리고 사용자 트래픽에 대해서는 복수 개의 단말로 분산하여 전송한다. 그리고 멀티호밍 서버로부터 전달받은 트래픽에 대해 터널링 패킷 제거, 패킷 순서를 재정렬하여 사용자부로 전달한다.
그리고 멀티호밍 서버는 멀티호밍 단말의 요청을 받아 응답하며, 응답 메시지 내에 가상 IP 주소(Address)를 할당해 준다. 그리고 사용자 트래픽을 전달받아 미디어 서버(컨텐츠 서버)로 전송한다. 그리고 미디어 서버로부터 전달받은 데이터를 복수 개의 단말로 분산하여 멀티호밍 단말로 전송한다.
이때, 멀티호밍 단말과 멀티호밍 서버 간의 인터페이스(예 : Mhis 인터페이스) 구간은 터널링(Tunnelling) 구간이고, 멀티호밍 단말과 미디어 서버 간의 데이터는 모두 이 인터페이스를 통해 송수신된다.
그리고 멀티호밍 서버와 미디어 서버 간의 인터페이스(예 : Mi 인터페이스-이더넷 기반 일반 프로토콜을 적용함) 구간은 멀티호밍 단말에서 전송된 터널링 패킷(Tunnelling Packet)에서 터널링(Tunnelling) 데이터를 제거한 IP 패킷으로 전송된다. 그에 따라, 미디어 서버도 IP 패킷으로 멀티호밍 서버로 전송하고 멀티호밍 서버는 터널링 패킷(Tunnelling Packet)을 생성하여 멀티호밍 단말로 전송한다.
그리고 멀티호밍 서버는 시그널을 유저 레벨(User Level)에서 처리하고, 실제 데이터는 커널 레벨(Kernel Level)에서 처리한다. 이때, 두 구간의 호의 동기화 부분 등을 위해 유저 레벨(User Level)과 커널 레벨(Kernel Level) 간의 인터페이스(예 : Interior 인터페이스)가 필요하다.
다음으로, 도 2 내지 도 5를 참조하여 본 발명이 적용되는 멀티호밍 기반 무선 대역폭 확장 시스템의 동작에 대하여 살펴보면 다음과 같다.
멀티호밍 단말은 최초 기동 시 멀티호밍 서버로부터 가상 IP 주소(Address) 정보를 획득하기 위해 바인드(Bind) 과정을 수행한다.
처음 접속하는 단말은 가상 IP 주소 정보가 없음으로 단독 바인드(Single Bind) 형식으로 요청하고, 다음에 접속하는 단말은 처음 접속한 단말에서 얻은 가상 IP 주소(Address)를 입력하여 전송하는 동시 바인드(Simultaneous Bind) 형식으로 접속을 시도한다.
바인드(Bind) 과정이 완료되면 멀티호밍 단말과 멀티호밍 서버 간에는 터널링(Tunneling) 구간 생성이 완료되고, 모든 데이터는 이 터널링(Tunneling) 구간을 통해 송수신된다.
도 2는 본 발명에 이용되는 단독 바인드 메시지 처리 과정에 대한 일실시예 흐름도이다.
먼저, 멀티호밍 단말에 연결된 모뎀은 자신의 망을 통해 해당 단말의 IP 주소(Address)를 받아온다.
그리고 해당 망에 연결된 단말은 멀티호밍 서버로 바인드(Bind)를 요청한다. 이때, 상기 이전 과정에서 얻은 단말의 IP 주소(Address) 정보와, 단독 바인드(Single Bind)를 가리키는 S=0으로 요청하고, 최초에는 가상 IP 주소(홈 주소)는 없음으로 '0'으로 요청한다.
그리고 해당 단말은 멀티호밍 서버로부터 바인드(Bind)에 대한 응답을 받는다(홈 주소 할당 'A').
그리고 멀티호밍 단말은 홈 주소를 단말에 할당한다(터널링 완료).
그리고 멀티호밍 단말이 요청하고 응답받는 모든 데이터는 멀티호밍 서버를 통해 송수신된다(터널링).
도 3은 본 발명에 이용되는 동시 바인드 메시지 처리 과정에 대한 일실시예 흐름도이다.
먼저, 멀티호밍 단말에 연결된 모뎀은 자신의 망을 통해 해당 단말의 IP 주소(Address)를 받아온다.
그리고 해당 망에 연결된 단말은 멀티호밍 서버로 바인드(Bind)를 요청한다. 이때, 상기 이전 과정에서 얻은 단말의 IP 주소(Address) 정보와, 동시 바인드(Simultaneous Bind)를 가리키는 S=1로 요청하고, 최초에는 가상 IP 주소(홈 주소)는 단독 바인드(Single Bind) 시에 응답으로 받은 홈 주소 'A'를 할당하여 요청한다.
그리고 멀티호밍 서버로부터 바인드(Bind)에 대한 응답을 받는다(동일 홈 주소 할당 'A').
그리고 멀티호밍 단말은 홈 주소를 단말에 할당한다(터널링 완료).
그리고 멀티호밍 단말이 요청하고 응답받는 모든 데이터는 멀티호밍 서버를 통해 송수신된다(터널링).
도 4는 본 발명에 이용되는 터널링 프로토콜 스택을 나타내는 일실시예 도면이다.
전술한 바와 같이, 멀티호밍 단말에서 송출되는 모든 트래픽(Traffic)은 터널링(Tunneling)되어 멀티호밍 서버로 전송된다.
도 4에 도시된 바와 같이, 사용자의 트래픽은 IP 기반의 패킷으로 송수신된다. 멀티호밍 단말은 사용자의 데이터에 터널링(Tunneling)에 필요한 프로토콜(Protocol)을 추가하여 멀티호밍 서버로 전송한다. 그리고 멀티호밍 서버는 터널링(Tunneling)된 데이터를 수신하면 터널링 데이터를 제거한 후 사용자의 응용 데이터를 송출 서버로 전송한다.
반대로, 송출 서버에서 전송된 데이터는 멀티호밍 서버를 통해 터널링 패킷(Tunnelling Packet)으로 생성되어 멀티호밍 단말까지 터널링(Tunneling)이 이루어진다.
이렇게 모든 데이터는 멀티호밍 서버를 통해 송수신이 이루어지는 것을 알 수 있다.
도 4의 응용은 사용자가 요청한 응용 데이터를 나타낸다. 만약, 사용자가 웹 페이지를 요청하였다면 HTTP가 될 것이다. 그리고 도 4에는 도시되지 않았지만 TCP/UDP(User Datagram Protocol)와 같은 전송계층의 프로토콜(Protocol)도 당연히 존재한다.
또한, 도 4의 IP2(Inner IP 주소)에는 사용자가 통신하고자 하는 목적지 서버의 주소가 입력된다. IP의 소스 주소(Source Address)는 단말 자신의 IP 주소(Address)이다. 여기서는 단말 자신의 주소가 바인드(Bind)를 통해 얻어진 홈 주소('A')가 된다. 그리고 IP의 목적지 주소(Destination Address)는 목적지 서버의 주소가 된다.
또한, 도 4의 터널 데이터(Tunnel Data)는 터널링을 위해 추가된 데이터이다. 이때, 터널 프로토콜(Tunneling Protocol)로는 IPinIP를 사용한다. 그리고 UDP와 터널 데이터는 주소변환기 통과(NAT Traversal) 문제를 해결하기 위해 별도로 추가된 데이터이다. 그리고 IP의 소스 주소(Source Address)는 해당 망에서 할당받은 IP 주소, 즉 단말이 해당 망에 접속하여 얻은 IP 주소이다. 그리고 IP의 목적지 주소(Destination Address)는 멀티호밍 서버의 IP 주소이다. 이때, 멀티호밍 서버의 주소는 환경설정으로 단말에 설정되어 있어야 한다.
도 5는 본 발명에 이용되는 프로토콜의 주요 필드를 나타내는 일예시도이다.
여기서, 도 5는 HTTP 요청의 경우를 나타내고 있다.
한편, 멀티호밍 서버는 멀티호밍 단말의 바인드(Bind) 요청에 대해 응답하고, 멀티호밍 단말에서 올라온 데이터에서 터널링 데이터를 제거한 후 송출 서버로 전송한다. 또한, 멀티호밍 서버는 송출 서버에서 전송한 데이터를 수신하여 터널링 데이터를 추가하여 해당 멀티호밍 단말로 전송한다. 또한, 멀티호밍 서버 자신에 대한 데이터를 상위에 전송하는 역할도 수행한다.
그리고 멀티호밍 단말은 모뎀을 통하여 각 해당 망에 접속을 시도한 후 IP(예 : CoA)을 할당받는다. 그 후, 멀티호밍 단말은 멀티호밍 서버와 터널링(Tunneling) 구간을 생성하기 위해 멀티호밍 서버로 바인드(Bind)를 시도한다.
그리고 멀티호밍 서버는 응용(Application)에서 UDP 포트(Port)를 바인드(Bind)하고 있어 멀티호밍 단말로부터 들어온 요청에 대해 응답한다. 그리고 멀티호밍 서버는 커널 모듈 중 IP 계층(layer)에서 해당 패킷(Packet)을 인지하고 터널링 패킷(Tunneling Packet)이 아닌 경우 내부 패킷(Packet)으로 판단하여 상위 처리로 보내 응용(Application)에서 처리할 수 있게 한다.
이때, 멀티호밍 단말로부터의 요청은 모바일 IP의 RRQ 메시지(Registration Request Message) 형태이며, 멀티호밍 서버의 응답은 모바일 IP의 RRP(Registration Response) 메시지로 응답한다.
한편, 사용자 데이터는 멀티호밍 단말에서 멀티호밍 서버 방향으로 송신하는 업(UP) 방향과, 멀티호밍 서버에서 멀티호밍 단말로 송신하는 다운(DOWN) 방향이 있다.
업 방향은 멀티호밍 단말과 멀티호밍 서버 구간, 멀티호밍 서버와 송출 서버 구간으로 나누어지며, 멀티호밍 단말과 멀티호밍 서버 구간은 터널링(Tunneling) 구간으로 송신한다. 그리고 멀티호밍 서버와 송출 서버 구간은 순수 IP 패킷(Packet)으로 통신을 한다.
이때, 멀티호밍 서버는 커널 모듈 중 IP 계층에서 패킷을 수신하여 터널링 패킷(Tunneling Packet)으로 구성되어 있으면 업 패킷(UP Packet)으로 인식하고 터널링 패킷(Tunneling Packet)을 제거한 후 송출 서버로 송신한다.
터널링 패킷(Tunneling Packet)이 아니고 IP 계층의 목적지 주소(Destination Address)가 멀티호밍 서버가 관리하는 가상 IP 주소(Address)이면 다운 패킷(Down Packet)으로 판단하여 터널링 패킷(Tunneling Packet)을 추가한 후 멀티호밍 단말로 송신한다.
한편, 멀티호밍 서버는 멀티호밍 단말에 대한 연결 요청(Bind) 패킷 처리, 사용자 데이터 처리를 주요 기능으로 수행한다. 하지만, 관리 데이터 및 일반 서버의 역할을 수행하기 위한 패킷(Packet)이 동시에 존재한다. 따라서 멀티호밍 서버는 이러한 일반 패킷(Packet)을 다른 서비스 패킷(Packet)들과 구분하여 처리한다.
그리고 멀티호밍 서버는 사용자 데이터 패킷(Packet)이 아니면 커널 모듈 중 IP 계층에서 모두 상위 계층으로 전송하여 처리되도록 한다. 이때, 바인드 패킷도 응용에서 처리하기 때문에 일반 패킷과 같은 분류를 통해 상위로 전달된다.
도 6은 본 발명에 따른 멀티호밍을 지원하기 위한 가상화 드라이브 장치의 일실시예 구성도이다.
도 6에 도시된 바와 같이, 본 발명에 따른 멀티호밍을 지원하기 위한 가상화 드라이브 장치는, 복수 개의 링크(다중 링크)를 인식하고 상기 인식된 다중 링크의 상태를 감시하여 연결 및 해제 상태를 관리하기 위한 가상 드라이버(61), 및 응용부로부터 전송을 요청받은 다운 패킷(Down packet)에 대해 모바일 IP(Mobile IP) 부분을 첨가하고 터널링 데이터를 추가하여 터널링 패킷을 생성하여 상기 다중 링크를 통하여 멀티호밍 서버로 전송하고, 상기 멀티호밍 서버로부터 상기 다중 링크를 통하여 수신되는 업 패킷(Up Packet)에 대해 터널링 데이터를 제거하고 모바일 IP 부분을 제거하여 IP 패킷을 추출하고 재정렬하여 상기 응용부로 전송하기 위한 중간 다중화 드라이버(Intermediate MUX Driver, 62)를 포함한다.
그리고 본 발명에 따른 멀티호밍을 지원하기 위한 가상화 드라이브 장치는, 정보를 설정하고, 무선 인터페이스의 연결 상태를 확인하여 선택하며, 바인드(Bind) 처리를 통해 상기 선택된 무선 인터페이스를 멀티호밍 서버와 연결하거나 해제하도록 하기 위한 연결 관리기(CM, 63)를 더 포함한다.
도 7은 본 발명에 따른 멀티호밍을 지원하기 위한 가상화 드라이브 장치가 구현된 멀티호밍 단말을 나타내는 일예시도이다.
도 7은 윈도우즈(Windows, 예 : NDIS) 기반 단말에 본 발명에 따른 가상화 드라이브 장치가 구현된 경우의 형태이며, BSD(예 : 리눅스(Linux), Free BSD) 또는 SVR4(Sun OS) 계열 운영체제(OS)에서도 동일한 내용으로 구성이 가능하다.
이때, 멀티호밍 단말은 NDIS 기반의 커널부(가상 드라이버와 중간 다중화 드라이버를 포함함)와 연결 관리기(CM)를 위한 응용부로 구현된다.
여기서, 가상 드라이버, 중간 다중화 드라이버, 및 연결 관리기의 동작은 도 6에서 전술한 바와 같고, 그 외의 부분은 공지의 기술이므로 여기서는 더 이상 설명하지 않기로 한다.
도 8은 상기 도 6의 연결 관리기(63)의 일실시예 상세 구성도이다.
도 8에 도시된 바와 같이, 연결 관리기(63)는 사용자 인터페이스부(81), 바인드(Bind) 처리부(82), 데이터 처리 확인부(83) 및 데이터 전송부(84)를 포함한다.
상기 사용자 인터페이스부(81)는 환경정보를 설정하고, 무선 인터페이스를 설정하며, 연결/해제 기능을 수행한다.
여기서, 환경정보 설정 기능은 멀티호밍 서버의 IP 주소(Address) 등 접속에 필요한 정보를 입력받아 저장하는 부분이고, 무선 인터페이스 설정 기능은 연결된 무선 인터페이스를 확인하고 선택하는 기능이다. 그리고 연결/해제 기능은 무선 인터페이스 설정에서 선택된 무선 인터페이스에 대해 연결/해제할 수 있다.
그리고 바인드(Bind) 처리부(82)는 무선 인터페이스가 연결/해제될 때 멀티호밍 서버와 연결/해제하는 기능을 수행한다.
그리고 데이터 처리 확인부(83)는 현재 처리하고 있는 데이터 트래픽에 대한 정보를 확인한다.
그리고 데이터 전송부(84)는 데이터 처리 확인부(83)에서 확인된 트래픽 정보를 상기 중간 다중화 드라이버(62)와 가상 드라이버(61)를 통하여 멀티호밍 서버로 전송하도록 한다. 이때, 멀티호밍 서버에 전송된 트래픽 정보는 대역폭 추정에 사용된다.
도 9는 상기 도 6의 중간 다중화 드라이버(Intermediate MUX Driver, 62)의 일실시예 상세 구성도이다.
도 9에 도시된 바와 같이, 중간 다중화 드라이버(Intermediate MUX Driver, 62)는 동적 트래픽 전송 제어부(91), 및 제 1 다중링크 관리부(92)를 포함한다.
상기 동적 트래픽 전송 제어부(91)는 응용부(사용자)가 요청한 데이터에 대해 다중 링크로 전송하는 기능과 다중 링크에서 들어오는 데이터에 대해 응용부(사용자)에게 전송하는 기능을 수행한다. 즉, 상기 동적 트래픽 전송 제어부(91)는 응용부로부터 전송을 요청받은 다운 패킷(Down packet)에 대해 모바일 IP(Mobile IP) 부분을 첨가하고 터널링 데이터를 추가하여 터널링 패킷을 생성하여 상기 다중 링크를 통하여 멀티호밍 서버로 전송하고, 상기 멀티호밍 서버로부터 상기 다중 링크를 통하여 수신되는 업 패킷(Up Packet)에 대해 터널링 데이터를 제거하고 모바일 IP 부분을 제거하여 IP 패킷을 추출하고 재정렬하여 상기 응용부로 전송한다.
그리고 제 1 다중 링크 관리부(92)는 현재 연결된 링크를 관리하고 유지한다.
도 10은 상기 도 6의 가상 드라이버(Virtual Driver, 61)의 일실시예 상세 구성도이다.
도 10에 도시된 바와 같이, 가상 드라이버(Virtual Driver, 61)는 다중 링크 인식부(101)와 제 2 다중링크 관리부(102)를 포함한다.
상기 다중 링크 인식부(101)는 복수 개의 링크(다중 링크)에 대해 각각 인식을 수행한다.
그리고 제 2 다중링크 관리부(102)는 상기 다중 링크 인식부(101)에서 인식된 다중 링크에 대해 상태 감시를 하여 연결 및 해제에 대한 상태를 관리한다.
다음으로, 도 11 내지 도 13을 참조하여 본 발명에 따른 멀티호밍을 지원하기 위한 가상화 드라이브 장치에서 수행하는 주요 기능에 대하여 살펴보면 다음과 같다.
1. 이종 네트워크에서 단말의 네트워크 이동성 보장
이종 네트워크에서의 L3 계층 기반에서의 주소 이동성 보장을 위하여, 기존의 모바일(Mobile) IP 계층을 별도로 탑재한다(RFC 3344).
이때, 다중 링크를 하나의 멀티호밍 단말로 처리하게 하여 네트워크 이동성을 보장한다. 이러한 네트워크 이동성 보장 기능은 중간 다중화 드라이버(Intermediate MUX Driver, 62)에서 모바일 IP 기술을 이용하여 처리한다. 다운 패킷(Down packet)에 대해서는 모바일 IP 부분을 첨가하여 멀티호밍 서버로 전송하고, 업 패킷(Up Packet)에 대해서는 모바일 IP 부분을 제거하여 응용부로 전송한다.
2. 전송계층의 독립성 보장
하위 무선 네트워크 인터페이스와 별도의 가상화 드라이브 장치를 구현하고, 상기 모바일(Mobile) IP를 해당 가상화 드라이브 장치에 설정하여 물리적인 전송계층의 연결 및 해제 여부, 또는 무선 네트워크의 신호 세기를 고려하여 가상화 드라이브 장치에서 데이터를 전송함으로써, TCP/IP 기반 상위 응용 프로그램의 전송계층의 독립성을 보장한다. 이러한 전송계층의 독립성 보장 기능도 중간 다중화 드라이버(Intermediate MUX Driver, 62)에서 모바일 IP 기술을 이용하여 처리한다.
전술한 바와 같이, 네트워크 이동성 보장 및 전송 계층의 독립성 보장을 위한 모바일 IP 사용은 멀티호밍 단말과 멀티호밍 서버의 구간에 해당된다. 따라서 모바일 이동통신망에서 지원하는 모바일 IP는 이와 다르다.
여기서, 멀티호밍 단말의 한 개 이상의 모뎀은 멀티호밍 서버에 연결되어 하나의 모뎀처럼 동작하게 된다. 이를 위해 하나의 가상 IP 주소(Address)가 필요하다. 각 모뎀은 자신의 망에 연결된 후 멀티호밍 서버에게 가상 IP 주소(Address)를 요청하게 된다(Registration Request). 요청을 받은 멀티호밍 서버는 자신이 관리하는 IP 주소(Address) 중 하나를 할당해 주고, 향후 같은 멀티호밍 단말에서 요청하는 모뎀에 대해서는 같은 가상 IP 주소(Address)를 할당한다.
이렇게 멀티호밍 단말의 여러 개의 모뎀은 하나의 가상 IP 주소(Address)를 사용함으로써, 이동성을 보장받고 각 모뎀은 자신의 망을 통해 전송하므로 전송계층의 독립성을 보장받게 된다.
3. 인그레스 필터링(Ingress Filtering)
모든 IP 기반 이종 무선 네트워크의 패킷 게이트웨이는 인그레스 필터링을 이용하여 원 IP 패킷의 변형 재생을 불허하는 구조이므로, 상기 모바일(Mobile) IP를 이용하여 할당된 주소를 그대로 패킷의 주소에 사용할 경우 필터링될 여지가 있으므로, 응용 계층으로부터의 원 패킷을 터널링하여 사용한다. 이러한 인그레스 필터링 기능도 중간 다중화 드라이버(Intermediate MUX Driver, 62)에서 모바일 IP 기술을 이용하여 처리한다.
이러한 인그레스 필터링 기능에 대하여 좀 더 상세히 살펴보면, 모바일 이동통신망은 멀티호밍 단말에 자신이 관리하는 IP 주소(Address)를 할당해 준다. 일반적으로 이동통신망에 들어오는 패킷(Packet)의 IP 헤더 중 소스 IP 주소(Source IP Address)는 자신이 관리하는 IP 주소 중 하나일 것이다. 하지만, 이 소스 IP 주소(Source IP Address)를 임의의 값으로 변경하여 보내게 되면 임의의 IP 주소로 공격을 할 수 있다. 이를 방지하기 위해 소스 IP 주소가 해당 네트워크에서 보낼 수 없는 IP 대역인 패킷(Packet)을 필터링하는 기능이 설정되어 있다.
멀티호밍 단말은 가상 IP 주소(Address)를 사용하지만 인그레스 필터링을 당하지 않기 위해 아웃 IP 헤더(Outer IP Header)의 소스 IP 주소를 망에서 받은 IP 주소로 할당하고 인너 IP 헤더(Inner IP Header)의 소스 IP 주소는 가상 IP 주소를 할당한다(도 5 참조).
멀티호밍 서버 또한 외부 서버로부터 전달받은 패킷(Packet)에 대해 터널링(Tunneling)을 구성할 때 아웃/인너 IP 헤더(Outer/Inner IP Header)의 소스 IP 주소(Source IP Address)가 인그레스 필터링을 당하지 않도록 할당한다.
4. 다중 바인드/등록
다중 접속 무선망에서의 하위 물리 네트워크를 가상화 드라이브 장치에 다중 바인딩하도록 지원하여, 패킷을 집중/분산할 수 있도록 한다. 이러한 다중 바인드 기능은 중간 다중화 드라이버(Intermediate MUX Driver, 62)와 연결 관리기(63) 간에 수행된다.
이러한 다중 바인드 기능에 대하여 좀 더 상세히 살펴보면, 본 발명은 하나 이상의 단말을 멀티호밍 서버에 등록하여 동시에 사용할 수 있도록 한다. 이렇게 하기 위해서는 멀티호밍 단말과 멀티호밍 서버 간의 약정이 필요하며, 이러한 약정을 통해 여러 개의 모뎀을 등록/해제할 수 있다.
멀티호밍 단말에서는 여러 개의 IP 주소(Address)를 관리하여야 하며, 접속을 한대씩 순차적으로 진행해야 한다. 멀티호밍 단말을 등록하기 위해 전술한 모바일 IP를 사용하며, 최초 접속과 연속적인 접속을 구분하기 위한 플래그(flag)를 사용하여 멀티호밍 서버에서 인식할 수 있도록 한다.
5. 방화벽/NAT 통과
다중 접속 무선망의 IP 할당 정책이 서로 상이하므로, 해당 무선 접속망 내 핵심망(core network)에 방화벽 또는 주소변환기(NAT)가 존재할 가능성이 있다. 관련 네트워크 요소의 존재 여부를 감안하여 UDP 터널링을 구현한다. 이러한 방화벽/NAT 통과 기능도 중간 다중화 드라이버(Intermediate MUX Driver, 62)에서 모바일 IP 기술을 이용하여 처리한다.
도 11을 참조하여 살펴보면, MoIP UDP 터널링을 통하여 주소변환기(NAT)를 통과한다(RFC 3519). 이때, 별도의 MoIP 확장(extension)을 이용하여 방화벽 및 주소변환기(NAT) 환경을 통과한다(UDP 터널 헤더를 생성). 그리고 MoIP RRQ(Registration Request)/RRP(Registration Response) 메시지의 포트를 그대로 사용한다.
이러한 방화벽/NAT 통과 기능에 대하여 좀 더 상세히 살펴보면, 코어망 장비에서 외부에 있는 멀티호밍 서버로 접속하기 위해 주소변환기(NAT)를 통과할 수 있다. MoIP를 이용한 터널링을 생성하고 IPinIP 방식으로 데이터를 전송하게 되는데, 이 패킷은 주소변환기(NAT)를 통과할 수가 없다(매핑 정보 부족으로). 이러한 문제점을 해결하기 위해 본 발명에서는 RFC 3519을 수용하여 주소변환기(NAT) 통과를 지원한다.
주소변환기(NAT)는 내부 네트워크에서 외부 네트워크로 통신할 때 내부 IP 주소와 공인 IP 주소를 매핑하여 공인 IP 망과 통신할 수 있도록 한다. 예를 들어, HSDPA 망의 경우 모뎀이 최초 접속할 때 할당되는 IP 주소(Address)는 HSDPA 내부 망에서 사용되는 IP 주소(Address)이면 외부 인터넷을 사용할 경우에는 주소변환기(NAT)를 거쳐 내부 IP 주소와 외부 IP 주소를 매핑하여 인터넷을 사용할 수 있도록 한다.
RFC 3519에서 주소변환기 통과(NAT Traversal) 문제를 해결하기 위해서 UDP 패킷(Packet)과 터널링 패킷(Tunneling Packet)을 추가하여 해결한다. 그리고 터널링 패킷(Tunneling Packet)은 모바일 IP RRQ/RRP와 일반 데이터에 따라 다르게 적용한다.
6. 패킷 재정렬
전송 대역이 서로 다른 다중 접속 무선망에서는 패킷의 역전이 발생하며, 해당 역전현상은 상위 TCP/IP 전송계층의 재전송에 영향을 미쳐 성능의 저하를 초래할 위험이 있으므로, 패킷 재정렬 기능을 이용하여 성능의 저하를 방지한다. 이러한 패킷 재정렬 기능도 중간 다중화 드라이버(Intermediate MUX Driver, 62)에서 모바일 IP 기술을 이용하여 처리한다.
이때, IP 터널 계층에서의 패킷 재정렬은 하기의 [수학식 1]과 같이 수신한 터널링 패킷에 대해 재정렬하고, 불필요한 패킷 재전송을 제거하며, 과도한 버퍼링을 제거(16개만 버퍼링함)한다.
Figure 112010012544775-pat00001
여기서, Min은 최소값을 나타내고, Abs는 평균값을 나타내며, E는 예상값이고, r은 수신값이다.
다음으로, 조건 1을 살펴보면, 상기 [수학식 1]을 만족하고, 이전에 수신되지 않은 패킷에 대해 수신 버퍼에 저장한다. 이때, 별도의 64K 크기의 버퍼 비트맵을 이용하여 수신 패킷의 시퀀스 값을 관리한다.
다음으로, 조건 2를 살펴보면, E=r이면, 관련 패킷을 상위계층으로 전송한다(단말 : 프로토콜 드라이버, 서버 : IP 포워드). 이후, E를 증가시키고 버퍼 비트맵 내에 수신된 패킷에 해당 시퀀스가 있으면 상기 조건 2의 작업을 반복 수행한다.
이러한 패킷 재정렬 기능에 대하여 좀 더 상세히 살펴보면 다음과 같다.
먼저, 다중 경로 전송에 따른 패킷(Packet) 역전 현상의 발생 원인을 살펴보면, 전송 속도가 다른 하나 이상의 모뎀을 통하여 데이터를 패킷 단위로 분할하여 각 인터페이스로 전송할 경우 도 12에 도시된 바와 같이 패킷이 역전되는 상황이 발생한다. 이는 각 인터페이스의 전송 속도 및 망 상태 등과 같은 외부 요소에 의해 전송이 늦어질 경우에 빈번히 발생한다.
상기와 같이 패킷 역전 현상이 발생한 경우 패킷을 받는 측에서 적절한 조치를 취하지 않고 상위 응용계층으로 패킷을 전달하게 되면 해당 데이터는 버려지거나 응용 프로그램에 의존하여 처리될 수밖에 없다. 영상이나 음성의 경우 일부 단말에서는 역전된 부분에 영상이 정지되거나 열화 현상이 발생된다.
다음으로, 패킷 역전 현상의 처리 방식을 살펴보면, 다중 경로로 유입되는 패킷에 대한 역전 현상을 처리하기 위해 멀티호밍 서버에서 멀티호밍 단말로 전송할 패킷의 터널링 헤더 중 IP 계층(outer IP)의 식별(Identification) 필드에 순차적인 시퀀스 넘버(Sequence Number)를 기록하여 전송하게 되면, 멀티호밍 단말에서 상기 시퀀스 넘버(Sequence Number)를 기준으로 하여 패킷의 순서를 재조합하여 응용 계층으로 전달한다.
이때, 도 12를 참조하여 응용 계층으로의 전달 기준을 살펴보면, 기대치 시퀀스 넘버(Sequence Number)가 도착했을 때 기대치로부터 시퀀스 넘버(Sequence Number)가 연속적인 모든 패킷을 응용 계층으로 전달하고, 패킷 오더링 버퍼 비트맵이 모두 찼는데도 불구하고 기대치 시퀀스 넘버(Sequence Number)가 도착하지 않은 경우 버퍼 비트맵상의 모든 패킷을 응용 계층으로 전달한다. 본 발명에서는 패킷 오더링을 위한 버퍼 비트맵을 일예로 50개로 구현하였다.
도 14는 본 발명에 따른 멀티호밍을 지원하기 위한 가상화 드라이브 장치의 동작 방법에 대한 일실시예 흐름도로서, 그 구체적인 실시예는 전술한 바와 같으므로 여기서는 그 상세한 설명은 생략하기로 한다.
먼저, 가상 드라이버(61)가 복수 개의 링크(다중 링크)를 인식하고 상기 인식된 다중 링크의 상태를 감시하여 연결 및 해제 상태를 관리한다(141).
그리고 중간 다중화 드라이버(Intermediate MUX Driver, 62)가 응용부로부터 전송을 요청받은 다운 패킷(Down packet)에 대해 모바일 IP(Mobile IP) 부분을 첨가하고 터널링 데이터를 추가하여 터널링 패킷을 생성하여 상기 다중 링크를 통하여 멀티호밍 서버로 전송한다(142).
그리고 중간 다중화 드라이버(Intermediate MUX Driver, 62)가 상기 멀티호밍 서버로부터 상기 다중 링크를 통하여 수신되는 업 패킷(Up Packet)에 대해 터널링 데이터를 제거하고 모바일 IP 부분을 제거하여 IP 패킷을 추출하고 재정렬하여 상기 응용부로 전송한다(143).
한편, 전술한 바와 같은 본 발명에 따른 멀티호밍을 지원하기 위한 가상화 드라이브 장치의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시 예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시 예에 한정되는 것은 아니며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 치환, 변형 및 변경이 가능하다.
그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
본 발명은 다중 접속 무선망에서 단말이 대역폭 확장을 위해 복수 개의 무선 네트워크 인터페이스를 수용해야 할 경우 등에 이용될 수 있다.
61 : 가상 드라이버
62 : 중간 다중화 드라이버(Intermediate MUX Driver)
63 : 연결 관리기(CM)

Claims (10)

  1. 멀티호밍을 지원하기 위한 가상화 드라이브 장치에 있어서,
    다중 링크를 인식하고 상기 인식된 다중 링크의 상태를 감시하여 연결 및 해제 상태를 관리하기 위한 가상 드라이버; 및
    외부의 응용부로부터 전송을 요청받은 다운 패킷(Down packet)에 대해 모바일 IP(Mobile IP)를 첨가하고 터널링 데이터를 추가하여 터널링 패킷을 생성하여 상기 다중 링크를 통하여 외부의 멀티호밍 서버로 전송하고, 상기 멀티호밍 서버로부터 상기 다중 링크를 통하여 수신되는 업 패킷(Up Packet)에 대해 터널링 데이터를 제거하고 모바일 IP를 제거하여 IP 패킷을 추출하고 재정렬하여 상기 응용부로 전송하기 위한 중간 다중화 드라이버(Intermediate MUX Driver)
    를 포함하는 가상화 드라이브 장치.
  2. 제 1 항에 있어서,
    정보를 설정하고, 무선 인터페이스의 연결 상태를 확인하여 선택하며, 바인드(Bind) 처리를 통해 상기 선택된 무선 인터페이스를 상기 멀티호밍 서버와 연결하거나 해제하도록 하기 위한 연결 관리기(CM)
    를 더 포함하는 가상화 드라이브 장치.
  3. 제 2 항에 있어서,
    상기 연결 관리기는,
    환경정보를 설정하고, 상기 무선 인터페이스의 연결 상태를 확인하여 선택하며, 상기 선택된 무선 인터페이스에 대해 연결하거나 해제하기 위한 사용자 인터페이스부;
    상기 멀티호밍 서버와 상기 무선 인터페이스를 연결하거나 해제하기 위한 바인드(Bind) 처리부;
    현재 처리하고 있는 데이터 트래픽에 대한 정보를 확인하는 데이터 처리 확인부; 및
    상기 데이터 처리 확인부에서 확인된 트래픽 정보를 상기 중간 다중화 드라이버와 상기 가상 드라이버를 통하여 상기 멀티호밍 서버로 전송하기 위한 데이터 전송부
    를 포함하는 가상화 드라이브 장치.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 중간 다중화 드라이버는,
    상기 응용부로부터 전송을 요청받은 다운 패킷(Down packet)에 대해 모바일 IP(Mobile IP) 부분을 첨가하고 터널링 데이터를 추가하여 터널링 패킷을 생성하여 상기 다중 링크를 통하여 상기 멀티호밍 서버로 전송하고, 상기 멀티호밍 서버로부터 상기 다중 링크를 통하여 수신되는 업 패킷(Up Packet)에 대해 터널링 데이터를 제거하고 모바일 IP 부분을 제거하여 IP 패킷을 추출하고 재정렬하여 상기 응용부로 전송하기 위한 동적 트래픽 전송 제어부; 및
    현재 연결된 링크를 관리하고 유지하기 위한 제 1 다중 링크 관리부
    를 포함하는 가상화 드라이브 장치.
  5. 제 4 항에 있어서,
    상기 가상 드라이버는,
    상기 다중 링크에 대해 각각 인식을 수행하기 위한 다중 링크 인식부; 및
    상기 다중 링크 인식부에서 인식된 다중 링크에 대해 상태 감시를 하여 연결 및 해제에 대한 상태를 관리하기 위한 제 2 다중링크 관리부
    를 포함하는 가상화 드라이브 장치.
  6. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 중간 다중화 드라이버는,
    네트워크 이동성 보장 및 전송 계층의 독립성 보장을 위해, 모바일(Mobile) IP 계층을 탑재하고,
    상기 가상화 드라이브 장치는 상기 멀티호밍 서버로부터 할당받은 하나의 가상 IP 주소(Address)를 복수의 모뎀이 사용하는 가상화 드라이브 장치.
  7. 제 6 항에 있어서,
    상기 가상화 드라이브 장치는,
    인그레스 필터링(Ingress Filtering)을 방지하기 위해, 아웃 IP 헤더(Outer IP Header)의 소스 IP 주소로 통신망 측으로부터 전달받은 IP 주소를 할당하고, 인너 IP 헤더(Inner IP Header)의 소스 IP 주소로 상기 가상 IP 주소를 할당하는 가상화 드라이브 장치.
  8. 멀티호밍을 지원하기 위한 가상화 드라이브 장치의 동작 방법에 있어서,
    가상 드라이버가 다중 링크를 인식하고 상기 인식된 다중 링크의 상태를 감시하여 연결 및 해제 상태를 관리하는 단계;
    중간 다중화 드라이버가 전송을 요청받은 다운 패킷(Down packet)에 대해 모바일 IP(Mobile IP)를 첨가하고 터널링 데이터를 추가하여 터널링 패킷을 생성하여 상기 다중 링크를 통하여 전송하는 단계; 및
    상기 중간 다중화 드라이버가 상기 다중 링크를 통하여 수신되는 업 패킷(Up Packet)에 대해 터널링 데이터를 제거하고 모바일 IP를 제거하여 IP 패킷을 추출하고 재정렬하는 단계
    를 포함하는 가상화 드라이브 장치의 동작 방법.
  9. 제 8 항에 있어서,
    연결 관리기가 정보를 설정하고, 무선 인터페이스의 연결 상태를 확인하여 선택하며, 바인드(Bind) 처리를 통해 상기 선택된 무선 인터페이스를 연결하거나 해제하는 단계
    를 더 포함하는 가상화 드라이브 장치의 동작 방법.
  10. 제 8 항 또는 제 9 항에 있어서,
    상기 동작 방법은,
    상기 중간 다중화 드라이버가 네트워크 이동성 보장 및 전송 계층의 독립성 보장을 위해, 모바일(Mobile) IP 계층을 탑재하고,
    상기 가상화 드라이브 장치는 멀티호밍 서버로부터 할당받은 하나의 가상 IP 주소(Address)를 복수의 모뎀에서 사용하도록 하는 가상화 드라이브 장치의 동작 방법.
KR1020100017351A 2010-02-25 2010-02-25 멀티호밍을 지원하기 위한 가상화 드라이브 장치 및 그 방법 KR101082651B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100017351A KR101082651B1 (ko) 2010-02-25 2010-02-25 멀티호밍을 지원하기 위한 가상화 드라이브 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100017351A KR101082651B1 (ko) 2010-02-25 2010-02-25 멀티호밍을 지원하기 위한 가상화 드라이브 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20110097490A KR20110097490A (ko) 2011-08-31
KR101082651B1 true KR101082651B1 (ko) 2011-11-14

Family

ID=44932502

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100017351A KR101082651B1 (ko) 2010-02-25 2010-02-25 멀티호밍을 지원하기 위한 가상화 드라이브 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR101082651B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016012909A (ja) * 2014-06-03 2016-01-21 株式会社リコー 通信装置、通信方法および通信システム

Also Published As

Publication number Publication date
KR20110097490A (ko) 2011-08-31

Similar Documents

Publication Publication Date Title
CN109218186B (zh) 一种多路径数据传输处理方法及网络设备
US8824480B2 (en) Method and apparatus for end-host based mobility, multi-homing and multipath protocols
US8250643B2 (en) Communication device, communication system, communication method, and program
US9264356B2 (en) Network gateway apparatus
US8036108B2 (en) Method and apparatus for providing gateway to transmit IPv6 packet in a wireless local area network system
US20080008183A1 (en) Communication Device, Storage Medium, Integrated Circuit, and Communication System
JPH11163947A (ja) ゲートウェイ装置、無線端末装置、ルータ装置および通信ネットワークのゲートウェイ制御方法
US10742768B2 (en) Relaying system and method of transmitting IP address of client to server using encapsulation protocol
CN109156046B (zh) 一种家庭网关及其转发业务的方法
US20050120140A1 (en) Method of and system for multi-patch communication
AU2019261208A1 (en) System and method for accelerating data delivery
US10454712B2 (en) Access apparatus and access apparatus-performed method for connecting user device to network
CN109936492A (zh) 一种通过隧道传输报文的方法、装置和系统
KR101082651B1 (ko) 멀티호밍을 지원하기 위한 가상화 드라이브 장치 및 그 방법
JP5840575B2 (ja) マルチホーム通信方法およびシステム
Tachibana et al. Implementation of a proxy-based CMT-SCTP scheme for Android smartphones
CN113765799A (zh) 容器报文发送和接收的方法及存储介质、容器通信系统
JP3808882B2 (ja) ゲートウェイ装置および無線端末装置
CN114424599B (zh) 用于传输基于会话的包的方法和系统
WO2024001701A1 (zh) 数据处理方法、装置及系统
Paakkonen et al. Performance analysis of HIP-based mobility and triggering
TWI483605B (zh) 用於網路系統之部署方法及電腦系統
JP4220530B2 (ja) ゲートウェイ装置および無線端末装置
CN115567497A (zh) 远程接入方法、电子设备及存储介质
WO2018061213A1 (ja) 通信システム、端末装置、サーバ装置、通信プログラム、及び通信方法

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
LAPS Lapse due to unpaid annual fee