KR100886925B1 - 다중 터널을 지원하는 왠 가속 최적화 장치 및 그 방법 - Google Patents

다중 터널을 지원하는 왠 가속 최적화 장치 및 그 방법 Download PDF

Info

Publication number
KR100886925B1
KR100886925B1 KR1020060122969A KR20060122969A KR100886925B1 KR 100886925 B1 KR100886925 B1 KR 100886925B1 KR 1020060122969 A KR1020060122969 A KR 1020060122969A KR 20060122969 A KR20060122969 A KR 20060122969A KR 100886925 B1 KR100886925 B1 KR 100886925B1
Authority
KR
South Korea
Prior art keywords
tunnel
packet
module
gateway
wan acceleration
Prior art date
Application number
KR1020060122969A
Other languages
English (en)
Other versions
KR20080051576A (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 KR1020060122969A priority Critical patent/KR100886925B1/ko
Publication of KR20080051576A publication Critical patent/KR20080051576A/ko
Application granted granted Critical
Publication of KR100886925B1 publication Critical patent/KR100886925B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • 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/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/6225Fixed service order, e.g. Round Robin

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 다중 터널을 지원하는 WAN 가속 최적화 장치 및 그 방법을 제공하기 위한 것으로, 사용자 레벨에서 터널다중화모듈(TLBD), 터널제어명령부(TLBC), 터널대역폭자동측정 모듈(TLBAWD), TCP 프록시 모듈로 구성하고; 커널 레벨에서 가상 터널 디바이스, 라우팅 결정부, 패킷 손실 방지 모듈,패킷 재조합 및 재정렬 모듈,패킷손실 탐지모듈, 패킷 암호화 모듈, 패킷 압축 모듈 등의 서브모듈로 구성된 커널레벨의 패킷 프로세싱 모듈, 리디렉션 모듈, VEIP 모듈;을 포함하여 구성함으로서, 두 게이트웨이 간의 터널을 다중화하여 트래픽을 적절히 분산하고 장애 발생 시 장애 터널을 이용하던 트래픽이 정상 터널을 이용하도록 함으로써 끊김 없는 네트워크 환경을 구축할 수 있게 되는 것이다.
WAN, 터널 다중화, VPN, GRE, 패킷, 터널, 회선, WAN 최적화, WAN 가속, 터널 로드밸런싱

Description

다중 터널을 지원하는 왠 가속 최적화 장치 및 그 방법{Apparatus and method for WAN Acceleration and Optimization supporting for Multi-tunnel}
도 1은 일반적인 WAN구간에서의 터널링 및 VPN의 개념도이다.
도 2는 종래 WAN에서의 패킷분할 터널다중화에서의 패킷 전송 방법을 보인 개념도이다.
도 3은 종래 WAN에서의 패킷분할 터널다중화에서의 패킷 전송 방법을 보인 흐름도이다.
도 4는 종래 패킷단위 터널다중화 전송방법과 그때 발생하는 문제점을 보인 개념도이다.
도 5는 본 발명의 일 실시예에 의한 다중 터널을 지원하는 WAN가속 최적화 장치의 블록구성도이다.
도 6은 도 5에서 터널다중화모듈(TLBD)의 상세블록도이다.
도 7은 도 5에서 터널대역폭자동측정 모듈(TLBAWD)의 상세블록도이다.
도 8은 도 5에서 VEIP 모듈의 상세블록도이다.
도 9는 도 5 내지 도 8의 개념도이다.
도 10은 도 9에서 터널제어명령부(TLBC)와 터널다중화모듈(TLBD) 사이의 신호처리를 보인 개념도이다.
도 11은 도 5에서 VEIP 모듈의 개념도이다
도 12는 본 발명의 일 실시예에 의한 다중 터널을 지원하는 WAN 가속 최적화 방법을 보인 흐름도이다.
도 13은 도 12에서 동적 터널 부하 분산 가중치 할당의 상세흐름도이다.
도 14는 도 13에서 터널 용량 측정 예를 보인 개념도이다.
도 15는 도 13에서 동적 터널 부하 분산 가중치 할당 예를 보인 개념도이다.
도 16은 도 12를 수행하는데 필요한 패킷 프로세싱 모듈의 예를 보인 개념도이다.
도 17은 도 12에서 패킷 재정렬의 상세흐름도이다.
도 18은 도 17에서 패킷 재정렬의 예를 보인 개념도이다.
도 19는 도 17에서 사용하는 가상 터널 디바이스의 한 사례인 GRE 헤더 포맷을 보인 개념도이다.
도 20은 도 12에서 패킷 손실 탐지의 상세흐름도이다.
도 21은 도 20에서 패킷 손실 발생 시의 문제점을 보인 개념도이다.
도 22는 도 20에서 패킷 손실 탐지의 예를 보인 개념도이다.
도 23은 도 12에서 데이터 압축 예를 보인 개념도이다.
도 24는 도 12에서 데이터 암호화 예를 보인 개념도이다.
도 25는 도 12에서 TCP 프록시의 구성 예를 보인 개념도이다.
도 26은 도 12에서 패킷 손실 방지의 상세흐름도이다.
도 27은 도 26에서 패킷 손실 시 이를 감지하는 예를 보인 개념도이다.
도 28은 도 26에서 패킷 손실 시 이를 방지하는 예를 보인 개념도이다.
도 29는 도 27에서 패킷 손실 시 큐 타이머에 의해 패킷 손실로 인한 지연 현상을 방지하는 예를 보인 개념도이다
도 30은 도 12에서 가상 이더넷 IP 터널링 시의 패킷 구조를 보인 개념도이다.
도 31은 도 12에서 추가적으로 터널링 처리를 수행하는 예를 보인 흐름도이다.
도 32는 도 12에서 추가적으로 송신 패킷에 대한 핸들링의 예를 보인 흐름도이다.
도 33은 도 12에서 추가적으로 수신 패킷에 대한 핸들링의 예를 보인 흐름도이다.
* 도면의 주요 부분에 대한 부호의 설명 *
10 : TLBD
11 : TLB 정보 관리 모듈
12 : 터널 디바이스 관리 모듈
13 : IP 주소 관리 모듈
14 : 장애감지/라우팅관리 모듈
15 : 스케쥴러
16 : 터널 정보 저장 모듈
17 ; L4/VRRP 모듈
20 : TLBC
30 : TLBAWD
31 : TLB 정보 수집 모듈
32 : 터널 용량 측정 모듈
40 : TCP 프록시 모듈
50 : 패킷 프로세싱 모듈
51 : 패킷 손실 방지 모듈
52 : 패킷 재정렬 모듈
53 : 패킷 손실 탐지 모듈
54 : 재정렬 큐
55 : 패킷 압축 모듈
56 : 패킷 암호화 모듈
60 : 라우팅 결정부
70 : 리디렉션 모듈
80 : VEIP 모듈
본 발명은 왠 (WAN, Wide Area Network, 광대역 통신망, 이하 “WAN"이라 함)에 관한 것으로, 특히 WAN에서 두 게이트웨이 간의 터널을 다중화하여 트래픽을 적절히 분산(Load Balancing)하고 장애 발생 시 장애 터널을 이용하던 트래픽이 정상 터널을 이용하도록 함으로써 끊김 없는 네트워크 환경을 구축하기에 적당하도록 한 다중 터널을 지원하는 WAN 가속 최적화 장치 및 그 방법에 관한 것이다.
일반적으로 WAN(Wide Area Network, 광대역 통신망 또는 광역 통신망)은 LAN(Local Area Network, 근거리 통신망)에 대응되는 것으로, 지역적으로 넓은 영역에 걸쳐 구축하는 다양하고 포괄적인 컴퓨터 통신망을 말한다. 이러한 WAN은 도시와 같은 넓은 지역, 국가나 대륙 같은 광범위한 지역에 걸쳐 구성하는 컴퓨터 통신망을 의미하며, 종전의 정보통신망의 총칭이라 해도 틀린 말은 아니다. 금융기관이나 대기업 또는 공공기관 등에서 구축한 통신망은 모두 광역통신망이라 할 수 있다.
랜(LAN)은 불과 몇 대에서 몇 십대 단위의 컴퓨터들을 연결하지만, 광역통신망(WAN)에서는 수백, 수천 대의 컴퓨터와 각종 컴퓨터 장비들을 연결하기 때문에 초고속 처리가 가능한 주 컴퓨터를 사용할 필요가 있다. 요즈음의 광역통신망은 랜과 랜을 고속 전송이 가능한 통신망으로 연결하는 형태를 취하고 있으며, 곳곳에 주 컴퓨터의 부담을 줄이려는 장치를 설치하고 있다.
대부분의 광역통신망은 송출라인과 교환장치 2가지로 구성되어 있다. 회로, 채널 또는 중계선이라고도 불리는 송출라인은 여러 장치간에 정보를 전달한다. 교환장치는 2개 이상의 송출라인을 연결하는 데 사용하는 라우터(router)를 말한다. 광역통신망을 설계할 때 중요한 설계상의 문제는 라우터들의 상호 연결이 위상학적으로 어떤 모습이어야 하는가이다. 이것들의 유형에는 별형, 링형, 트리형, 완성 형, 교차 링형, 불규칙형 등이 있다.
이러한 WAN에 대해 여러 회선의 품질과 성능을 향상시키기 위한 기술로는 터널다중화 기술이 있다. 터널다중화 기술은 하나 이상의 회선 상에 가상 터널을 형성하고, 이 터널들에 대해 로드밸런싱을 함으로써, 확장된 대역폭을 가진 하나의 회선처럼 사용할 수 있도록 하는 기술이다. 터널 다중화는 2개의 게이트웨이 간의 EN-TO-END 연결로서 터널의 시작이 되는 게이트웨이와 터널을 종단시키는 게이트웨이 구간에 적용되며, 이 구간을 통해 양단의 네트워크 간에는 VPN이 구성될 수 있다.
터널링을 구현하는 기술로는 현재 표준화가 이루어진 IPSec(IP Security Protocol), L2TP(Layer 2 Tunneling Protocol) 등이 가장 많이 이용되어지며, 그 외에 GRE(Generic Routing Encapsulation), PPTP(Point to Point Tunneling Protocol), L2F(Layer 2 Forwarding Protocol), VTP(Virtual Tunneling Protocol) 등이 이용되고 있다. WAN 서비스를 제공할 때 일반적으로 적용되는 암호화 기술은 인증, 암호화, 부호화 등이 있으며, 암호화 방법에는 IPSec에 사용되는 데이터 암호화 표준(Data Encryption Standard, DES)과 3DES, AES 및 PPTP에 사용되는 RC4 등이 있다.
도 1은 일반적인 WAN구간을 가지는 2개의 SITE와 이를 게이트웨이를 통해 터널링한 VPN의 개념도이다.
여기서 A는 특정 지점의 게이트웨이 A이고, B는 게이트웨이 A와 터널링되어진 다른 특정 지점의 게이트웨이 B이다. A내부 네트워크와 B내부 네트워크는 VPN으 로 연결되어진다.
도 2는 종래 WAN에서의 패킷분할 터널다중화 전송방법을 보인 개념도이고, 도 3은 종래 VPN에서의 패킷 전송 방법을 보인 흐름도이다.
그래서 송신부(Gateway A)에서는 각각의 패킷을 회선에 의해 형성된 터널 수 만큼의 조각(fragment)으로 나누어 전송하는 단계(ST1)와; 수신부(Gateway B)에서는 전송받은 조각으로 나누어진 패킷을 재조합시키는 단계(ST2);를 수행한다.
즉, 종래 패킷분할 터널다중화 전송기술에서는 멀티소켓(Multi-Socket) 방식을 사용하는데, 이는 멀티링크 PPP(Point to Point Protocol)에서 사용하는 대역폭 애그리게이션(Bandwidth Aggregation) 기술로서, 송신측에서 하나의 패킷을 터널수 만큼의 작은 조각으로 나누어 보내고, 수신측에서 이를 재조합하는 기술이다.
이러한 종래기술의 장점은 패킷 리오더링의 문제가 발생하지 않는다는 점이다.
그러나 이러한 종래기술의 단점은 애그리게이션 성능이 가장 느린 터널의 속도에 영향을 받는 한계가 있었다. 이 때문에 터널의 속도가 서로 다를 때 처리율(Throughput)이 저하되는 문제점을 발생시킨다.
또한 패킷 프래그멘테이션(Fragmentation)에 따른 오버헤드(Overhead)로 인해 처리율이 저하되는 문제점도 있었다.
도 4는 종래 패킷단위 터널다중화 전송기술에서 패킷 전송 시 패킷 리오더링에 의한 문제점을 보인 개념도이다.
여기서, 패킷단위 터널다중화 전송방식은 패킷분할 터널다중화 방식과 달리, 하나의 패킷을 분할하지 않고, 각각의 패킷들을 패킷 단위로 로드밸런싱하는 대역록 애그리게이션 기술을 말한다.
그래서 종래 패킷단위 터널다중화 전송기술 중 하나인 GRE(Generic Routing Encapsulation) 기반의 VPN 터널 다중화 기술을 적용할 경우, 부하 분산을 위한 라우팅 결정 메커니즘으로는 Per-Flow 방식과 Per-Packet 방식을 사용할 수 있다. 이 중 Per-Packet 방식을 사용할 경우, 다중화된 각 터널의 속도 및 Latency의 차이로 인하여 송신단에서 송신한 패킷의 순서와 수신단에서 수신한 패킷의 순서가 불일치하는 패킷 리오더링(Reordering)이 발생하게 되는 문제점도 있었다.
TCP 어플리케이션의 경우, 패킷 Reordering이 발생하게 되면, 패킷 재전송이 발생하여 전체적인 회선 속도 및 어플리케이션의 성능 저하를 초래하게 되며, UDP 어플리케이션의 경우에는 서비스의 품질을 저하시키는 문제가 발생한다.
이러한 문제를 해결하기 위해서는 Reordering된 패킷을 수신부에서 재정렬 해주어야 한다. 또한, 수신부에서의 패킷 재정렬에 소요되는 부하를 최소화하기 위해, 패킷 Reordering을 최소화하기 위한 방안이 부가적으로 마련되어야 한다.
이에 본 발명은 상기와 같은 종래의 제반 문제점을 해결하기 위해 제안된 것으로, 본 발명의 목적은 WAN에서 두 게이트웨이 간의 터널을 다중화하여 트래픽을 적절히 분산하고 장애 발생 시 장애 터널을 이용하던 트래픽이 정상 터널을 이용하도록 함으로써 끊김 없는 네트워크 환경을 구축할 수 있는 다중 터널을 지원하고, 커널 기반의 패킷 재조합 재정렬 및 압축과 암호화를 통해 회선속도를 높이고 보안성을 향상시키는 WAN 가속 최적화 장치 및 그 방법을 제공하는데 있다.
상기와 같은 목적을 달성하기 위하여 본 발명의 일실시예에 의한 다중 터널을 지원하는 WAN 가속 최적화 장치는,
사용자 레벨에서 터널 다중화 정보 관리, 터널 디바이스 관리, IP 주소 관리, 터널 장애 감지 및 라우팅 관리 등을 수행하는 데몬인 TLBD와; 사용자 레벨에서 터널 다중화 그룹의 추가/수정/삭제, 가중치 변경, 그룹/IP주소 정보 요청을 포함한 사용자 요청을 상기 TLBD에 전달하는 역할을 수행하는 TLBC와; 사용자 레벨에서 터널 용량 측정에 필요한 다중화 터널 구성 정보를 수집하여, 일정 주기마다 각 터널별 용량을 측정하고, 터널 용량에 따른 가중치를 계산하여 TLBD 데몬에게 가중치 변경을 요청하는 TLBAWD와; 상기 TLBAWD와 연결되고, 커널 레벨의 리디렉션 모듈과 연동하여, 사용자 레벨에서 외부 또는 내부로의 TCP 연결을 중계하는 역할을 수행하는 TCP 프록시 모듈과; 커널 레벨에서 패킷 재정렬, 패킷 손실 탐지, 패킷 압축, 패킷 암호화를 수행하는 패킷 프로세싱 모듈과와; 커널 레벨에서 가중 라운드 로빈 방식을 사용하여 다중화 터널들을 통한 트래픽 분배를 수행하는 라우팅 결정부와; 커널 레벨에서 외부 또는 내부 네트워크로 향하는 TCP 연결을 로컬 TCP 프록시에게 전달하는 기능을 수행하고, 이 때 특수한 소켓 인터페이스를 통해 원래의 목적지를 유지할 수 있도록 하여 Transparent 프록시 구현을 가능하게 하는 리디렉션 모듈과; 상기 패킷 프로세싱 모듈과와 연결되고, 이더넷으로 구성된 네트워크에 서 외부와 IP 통신이 가능하도록 캡슐화를 수행하는 VEIP 모듈;을 포함하여 이루어짐을 그 기술적 구성상의 특징으로 한다.
상기와 같은 목적을 달성하기 위하여 본 발명의 일실시예에 의한 다중 터널을 지원하는 WAN 가속 최적화 방법은,
게이트웨이 간 터널 다중화 수행 시 터널에 대해 동적 가중치 할당을 수행하는 제 1 단계와; 상기 제 1 단계 후 패킷 재정렬과 패킷 손실 탐지를 수행하는 제 2 단계와; 상기 제 2 단계 후 데이터 압축과 데이어 암호화를 수행하는 제 3 단계와; 상기 제 3 단계 후 TCP 프록시 설정을 수행하는 제 4 단계와; 상기 제 4 단계 후 패킷 손실 방지를 수행하는 제 5 단계와; 상기 제 5 단계 후 가상 이더넷 IP 터널링을 형성하는 제 6 단계;를 포함하여 수행함을 그 기술적 구성상의 특징으로 한다.
이하, 상기와 같은 본 발명, 다중 터널을 지원하는 WAN 가속 최적화 장치 및 그 방법의 기술적 사상에 따른 일실시예를 도면을 참조하여 설명하면 다음과 같다.
도 5는 본 발명의 일 실시예에 의한 WAN 최적화를 위한 회전 다중화 장치의 블록구성도이다.
이에 도시된 바와 같이, 사용자 레벨에서 터널 다중화 정보 관리, 터널 디바이스 관리, IP 주소 관리, 터널 장애 감지 및 라우팅 관리 등을 수행하는 데몬인 TLBD(Tunnel Load Balancing Daemon)(10)와; 사용자 레벨에서 터널 다중화 그룹의 추가/수정/삭제, 가중치 변경, 그룹/IP주소 정보 요청을 포함한 사용자 요청을 상기 TLBD(10)에 전달하는 역할을 수행하는 TLBC(Tunnel Load Balancing Command)(20)와; 사용자 레벨에서 터널 용량 측정에 필요한 다중화 터널 구성 정보를 수집하여, 일정 주기마다 각 터널별 용량(Tunnel capacity)을 측정하고, 터널 용량에 따른 가중치를 계산하여 TLBD(20) 데몬에게 가중치 변경을 요청하는 TLBAWD(Tunnel Load Balancing Automatic (Dynamic) Weighting Daemon)(30)와; 상기 TLBAWD(30)와 연결되고, 커널 레벨의 리디렉션 모듈(70)과 연동하여, 사용자 레벨에서 외부 또는 내부로의 TCP 연결을 중계하는 역할을 수행하는 TCP 프록시 모듈(TCP Proxy Module)(40)과; 커널 레벨에서 패킷 재정렬, 패킷 손실 탐지, 패킷 압축, 패킷 암호화를 수행하는 패킷 프로세싱 모듈(50)과; 커널 레벨에서 가중 라운드 로빈(Weighted Round Robin) 방식을 사용하여 다중화 터널들을 통한 트래픽 분배를 수행하는 라우팅 결정부(Routing Decision Module)(60)와; 커널 레벨에서 외부 또는 내부 네트워크로 향하는 TCP 연결을 로컬 TCP 프록시에게 전달하는 기능을 수행하고, 이 때 특수한 소켓 인터페이스를 통해 원래의 목적지를 유지할 수 있도록 하여 Transparent 프록시 구현을 가능하게 하는 리디렉션 모듈(Redirection Module)(70)과; 상기 패킷 프로세싱 모듈(50)과 연결되고, 이더넷(계층 2)으로 구성된 네트워크에서 외부와 IP 통신(계층 3)이 가능하도록 캡슐화(Virtual Ethernet-IP Encapsulation)를 수행하는 VEIP 모듈(80);을 포함하여 구성된 것을 특징으로 한다.
도 6은 도 5에서 TLBD의 상세블록도이다.
이에 도시된 바와 같이, 원격지 게이트웨이와 연결되는 가상 터널을 생성 또는 삭제하고, 생성된 가상 터널에 관한 정보를 갱신하는 터널 디바이스 관리 모듈(12); 상기 터널 디바이스 관리 모듈(12)에 의해 생성된 적어도 하나의 가상 터널로 구성되는 터널 다중화 그룹에 관한 정보를 관리하는 TLB(Tunnel Load Balancing, 터널다중화) 정보 관리 모듈(11)과; 상기 TLB 정보 관리 모듈(11) 및 상기 터널 디바이스 관리 모듈(12)과 연결되고, 생성된 가상 터널에 대한 상태 정보를 저장하는 터널 정보 저장 모듈(16)과; 로컬 게이트웨이의 IP 주소 변경을 감지하는 경우 해당 IP 주소와 관련된 가상 디바이스를 갱신하고, 원격지 게이트웨이에도 IP 주소 변경 사실을 알려 관련된 가상 디바이스를 갱신하도록 하는 IP 주소 관리 모듈(13)과; 원격지 게이트웨이와 장애 감지를 위해 터널장애감지용 패킷을 전송하고, 상기 원격지 게이트웨이로부터의 응답 상태에 따라 터널 장애 여부를 판단하고, 터널 장애 발생시 해당 터널 다중화 그룹에 대한 라우팅을 변경하는 터널감지/라우팅관리 모듈(14)과; 주기적으로 터널 다중화 그룹별로 터널 장애 감지 패킷(Route Detection Packet)을 전송하도록 상기 터널감지/라우팅관리 모듈(14)을 제어하고, 주기적으로 로컬 게이트웨이의 IP 주소 변경 여부를 체크하도록 상기 IP 주소 관리 모듈을 제어하는 스케줄러(15)와; 상기 IP 주소 관리 모듈(13) 및 상기 장애감지/라우팅 관리 모듈(14)과 연결되고, 이중화된 게이트웨이들의 TLB(터널 다중화) 정보를 공유하도록 하는 L4/VRRP(Virtual Router Redundancy Protocol) 모듈(17);을 포함하여 구성된 것을 특징으로 한다.
도 7은 도 5에서 TLBAWD의 상세블록도이다.
이에 도시된 바와 같이, 터널 용량 측정에 필요한 WAN 다중화 터널 구성 정보를 수집하는 TLB 정보 수집 모듈(31)과; 상기 TLB 정보 수집 모듈(31)과 연결되고, 일정 주기마다 각 터널별 용량을 측정하는 터널 용량 측정 모듈(32);을 포함하여 구성된 것을 특징으로 한다.
도 8은 도 5에서 패킷 프로세싱 모듈의 상세블록도이다.
이에 도시된 바와 같이, 상기 패킷 프로세싱 모듈(50)은, 커널 기반의 고속 패킷 처리과정과 패킷에 대한 사용자 옵션 필드를 정의하고 활용한 점을 특징으로 한다.
또한 상기 패킷 프로세싱 모듈(50)은, 터널 장애를 조기에 감지하여, 장애 터널을 통해 전송되는 패킷의 손실을 최소화 하는 패킷 손실 방지 모듈(Packet Loss Prevention Module)(51)과; 커널 레벨에서 리오더링된 패킷들을 수신했을 때, 이 패킷들을 재정렬하는 패킷 재정렬 모듈(Packet Re-sequencing Module)(52)과; 패킷 손실을 탐지하여, 패킷 재정렬 큐에서의 지연을 최소화하는 패킷 손실 탐지 모듈(Packet Loss Detection Module)(53)과; 상기 패킷 재정렬 모듈(52)에서 재정렬된 패킷을 임시 저장하여 상기 패킷 손실 탐지 모듈(53)에서 처리하도록 하는 재정렬 큐(54)와; 상기 패킷 손실 탐지 모듈(53)과 연결되고, 패킷 송신시 페이로드 데이터를 압축하고, 수신시 압축된 데이터를 푸는 기능을 수행하는 패킷 압축 모듈(Packet Compression Module)(55)과; 상기 패킷 압축 모듈(55)과 연동하여 패킷 송신시 페이로드 데이터를 암호화하고, 수신시 암호화된 데이터를 복호화하는 패킷 암호화 모듈(Packet Encryption Module)(56);을 포함하여 구성된 것을 특징으로 한 다.
도 11은 도 5에서 VEIP 모듈의 개념도이다.
이에 도시된 바와 같이, 상기 VEIP 모듈(80)은, 내부 디바이스(Dev)와 VEIP 디바이스를 브리지 디바이스(Bridge Dev)로 연결하여 브리지 디바이스를 내부 디바이스로 사용하고, 게이트웨이 양단의 VEIP(Virtual Ethernet IP) 디바이스를 터널로 연결하여 사설 IP의 사용이 가능하도록 구성된 것을 특징으로 한다.
도 12는 본 발명의 일 실시예에 의한 다중 터널을 지원하는 WAN 가속 최적화 방법을 보인 흐름도이다.
이에 도시된 바와 같이, WAN최적화 및 가속화 수행시 가상 디바이스 터널링을 수행하는 제 1 단계(ST12)와; 상기 제 1 단계 후 터널에 대해 동적 가중치 할당을 수행하는 제 2 단계(ST13)와; 상기 제 2 단계 후 패킷 재정렬과 패킷 손실 탐지를 수행하는 제 3 단계(ST14, ST15)와; 상기 제 2 단계 후 데이터 압축과 데이어 암호화를 수행하는 제 4 단계(ST16, ST17)와; 상기 제 4 단계 후 TCP 프록시 설정을 수행하는 제 5 단계(ST18)와; 상기 제 5 단계 후 패킷 손실 방지를 수행하는 제 6 단계(ST19);를 포함하여 수행하는 것을 특징으로 한다.
상기 제 1 단계에서 가상 디바이스 터널링은, GRE 터널링을 수행하는 것을 특징으로 한다.
상기 다중 터널을 지원하는 WAN 가속 최적화 방법은, 상기 제 1 단계 이전에 가상 이더넷 IP 터널링을 형성하는 단계(ST11);를 더욱 포함하여 수행하는 것을 특징으로 한다.
도 13은 도 12에서 동적 터널 부하분산 가중치 할당의 상세흐름도이다.
이에 도시된 바와 같이, 상기 제 2 단계는, 송신측 게이트웨이(Gateway A) 내의 터널 용량 측정부에서 수신측 게이트웨이(Gateway B) 내의 터널 용량 측정부로 테스트 패킷을 전송하는 제 11 단계(ST21)와; 상기 제 11 단계 후 상기 수신측 게이트웨이에서 수신된 두 패킷의 수신 시간 차(difference)를 이용하여 터널의 업로드 용량을 측정하는 제 12 단계(ST22)와; 상기 제 12 단계 후 상기 수신측 게이트웨이(Gateway B) 내의 터널 용량 측정부에서 상기 송신측 게이트웨이(Gateway A) 내의 터널 용량 측정부로 테스트 패킷을 전송하는 제 13 단계(ST23)와; 상기 제 13 단계 후 상기 송신측 게이트웨이에서 수신된 두 패킷의 수신 시간 차(difference)를 이용하여 터널의 다운로드 용량을 측정하는 제 14 단계(ST24)와; 상기 제 1 단계에서 측정된 각 터널별 용량을 기반으로 각 터널에 할당할 가중치를 계산하여 적용하는 제 15 단계(ST25);를 포함하여 수행하는 것을 특징으로 한다.
도 17은 도 12에서 패킷 재정렬의 상세흐름도이다.
이에 도시된 바와 같이, 상기 제 3 단계는, 터널링 송신부에서는 각 패킷의 전송 순서에 맞게 시퀀스 번호를 붙여 전송하는 제 21 단계(ST31)와; 상기 제 21 단계 후 VPN 수신부에서는 상기 수신부에서 전송받은 패킷의 시퀀스 번호를 검사하는 제 22 단계(ST32)와; 상기 제 22 단계 후 현재 기다리고 있는 시퀀스 번호 보다 큰 시퀀스 번호를 가진 패킷이 수신되었는지 판별하는 제 23 단계(ST33)와; 상기 제 23 단계에서 현재 기다리고 있는 시퀀스 번호 보다 큰 시퀀스 번호를 가진 패킷이 수신되었다고 판별되면, 시퀀스 번호 순으로 정렬된 순서로 패킷을 재정렬 큐(54)에 넣는 제 24 단계(ST34)와; 상기 제 24 단계 후 상기 재정렬 큐(54)의 지정된 최대값이 초과되었는지 판별하는 제 25 단계(ST35)와; 상기 제 25 단계에서 지정된 최대값이 초과되지 않았다고 판별되면, 연속된 시퀀스 번호를 가진 패킷들을 상기 재정렬 큐(54)로부터 방출하는 제 26 단계(ST36)와; 상기 제 25 단계에서 지정된 최대값을 초과했다고 판별되면, 패킷을 상기 재정렬 큐(54)로부터 강제 방출시키는 제 27 단계(ST37)와; 상기 제 26 단계 또는 상기 제 27 단계 후 재정렬된 패킷을 출력시키는 제 28 단계(ST38);를 포함하여 수행하는 것을 특징으로 한다.
도 20은 도 12에서 패킷 손실 탐지의 상세흐름도이다.
이에 도시된 바와 같이, 상기 제 4 단계는, 터널링 수신부에서 터널 디바이스를 통해 수신된 마지막 패킷의 시퀀스 번호를 터널 디바이스 정보에 저장하는 제 31 단계(ST41)와; 상기 제 31 단계에서 저장된 시퀀스 번호들 중에서 가장 작은 값(smin)을 추출하여 현재 기다리고 있는 시퀀스 번호(s)가 추출된 가장 작은 값(smin) 보다 작은지(s < smin) 판별하는 제 32 단계(ST42, ST43)와; 상기 제 32 단계에서 현재 기다리고 있는 시퀀스 번호(s)가 추출된 가장 작은 값(smin) 보다 작으면, 현재 기다리고 있는 시퀀스 번호(s)를 손실된 패킷이라고 판단하여 재정렬 큐(54)에서 강제로 방출(Dequeue)시키는 제 33 단계(ST44);를 포함하여 수행하는 것을 특징으로 한다.
도 26은 도 12에서 패킷 손실 방지의 상세흐름도이다.
이에 도시된 바와 같이, 상기 제 6 단계는, VPN 터널을 통해 수신되는 패킷 의 수를 검사하는 제 41 단계(ST51)와; 상기 제 41 단계 후 각 터널과 연결된 가상 터널 디바이스로 유입되는 패킷의 수를 기준으로 터널 장애를 감지하는 제 42 단계(ST52)와; 상기 제 42 단계에서 장애 터널로 감지된 터널이 있으면, 해당 장애 터널로 라우팅된 패킷을 정상 터널 쪽으로 다시 라우팅하고, 장애 터널 쪽으로도 복사된 패킷을 전송하는 제 43 단계(ST53)와; 상기 제 43 단계 후 큐 타이머로 큐잉 지연을 방지하는 제 44 단계(ST54);를 포함하여 수행하는 것을 특징으로 한다.
도 31은 도 12에서 추가적으로 터널링 처리를 수행하는 예를 보인 흐름도이다.
이에 도시된 바와 같이, 상기 다중 터널을 지원하는 WAN 가속 최적화 방법은, 터널링 처리 시, 입력된 TLB 정보를 이용하여 TLB 정보 구조를 만드는 제 51 단계와; 상기 제 51 단계 후 가상 디바이스를 생성하는 제 52 단계와; 상기 제 52 단계 후 루트가 가중치를 추가하는 제 53 단계와; 터널 장애 검출과 IP 변화 검출을 수행하여 터널 및 가중치를 변경시키는 제 54 단계;를 포함하여 수행하는 것을 특징으로 한다.
도 32는 도 12에서 추가적으로 송신 패킷에 대한 핸들링의 예를 보인 흐름도이다.
이에 도시된 바와 같이, 상기 다중 터널을 지원하는 WAN 가속 최적화 방법은, 터널 구간에서 송신 패킷이 있으면 IP 패킷을 입력받아 터널 다중화(Load Balancing)에 의해 라우팅 결정을 수행하는 제 61 단계와; 상기 제 61 단계 후 송신할 패킷에 시퀀스 번호를 첨부시키는 62 단계와; 상기 62 단계 후 압축과 암호화를 수행하는 제 63 단계와; 상기 제 63 단계 후 라우팅을 결정하는 제 64 단계와; 상기 제 64 단계 후 터널 장애를 점검하여 정상적인 터널을 탐색하고, 패킷을 복사하여 찾은 정상 터널로 패킷을 출력시키는 제 65 단계;를 포함하여 수행하는 것을 특징으로 한다.
도 33은 도 12에서 추가적으로 수신 패킷에 대한 핸들링의 예를 보인 흐름도이다.
이에 도시된 바와 같이, 상기 다중 터널을 지원하는 WAN 가속 최적화 방법은, 터널 구간에서 수신 패킷이 있으면 가상 패킷을 입력받아 어떤 디바이스에서 패킷의 임계치를 넘어섰는지 판별하는 제 71 단계와; 상기 제 71 단계에서 패킷의 임계치를 넘어선 디바이스는 장애 처리하고, 패킷의 임계치를 넘어서지 않은 디바이스의 패킷의 암호화를 풀고 복호화한 다음 패킷의 시퀀스를 체크하는 72 단계와; 상기 시퀀스가 아웃-오프-오더이면, 재정렬 큐(54)에서 인큐(Enqueue) 한 다음 상기 재정렬 큐(54)에 전송 패킷이 남아 있는지 판별하는 제 73 단계와; 상기 제 73 단계에서 상기 재정렬 큐(54)에 전송 패킷이 남아 있으면 강제로 디큐(Dequeue)시키는 제 74 단계와; 상기 제 72 단계에서 시퀀스가 인-오더(In Order)이거나 또는 상기 제 74 단계를 수행했으면 라우팅을 결정한 다음 패킷을 아웃풋 디바이스로 출력시키는 제 75 단계;를 포함하여 수행하는 것을 특징으로 한다.
이와 같이 구성된 본 발명에 의한 다중 터널을 지원하는 WAN 가속 최적화 장치 및 그 방법의 바람직한 실시예를 첨부한 도면에 의거하여 상세히 설명하면 다음과 같다. 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서, 이는 사용자, 운용자의 의도 또는 판례 등에 따라 달라질 수 있으며, 이에 따라 각 용어의 의미는 본 명세서 전반에 걸친 내용을 토대로 해석되어야 할 것이다.
먼저, 본 발명은 WAN의 최적화 및 가속화를 위한 것으로, VPN 뿐만 아니라 각종 터널링과 관려된 기술에 모두 적용 가능하다.
본 발명은 WAN에서 두 게이트웨이 간의 회선을 통해 형성된 터널을 다중화하여 트래픽을 적절히 분산하고 장애 발생 시 장애 터널을 이용하던 트래픽이 정상 터널을 이용하도록 함으로써 끊김 없는 네트워크 환경을 구축 하고자 한 것이다.
본 발명은 궁극적으로 다중화된 터널의 대역폭(Bandwidth)을 최대화하고 데이터 통신의 품질을 최적화하기 위한 기술로써, 패킷 Reordering을 최소화하는 송신 기술과 패킷 재정렬을 수행하는 수신 기술을 개발하고, 전체 대역폭(Bandwidth) 이상의 성능을 발휘할 수 있도록 대역폭을 증폭시키는 패킷 압축 및 데이터 기밀성을 위한 암호화 기술의 구현을 목표로 하였다.
그리고 상기의 기술들을 포괄하여 WOT(WAN Optimization Technology, WAN 최적화 기술)라고 칭한다. WOT 기술은 다중 터널을 지원하는 WAN 가속 최적화 장치로서, 이에 포함되는 기술 요소들을 보다 자세히 나열해 보면 다음과 같다.
- 가상 디바이스 터널링(Virtual Device Tunneling)
- 동적 터널 부하분산 가중치 할당 (Dynamic Tunnel Load Balancing Weight Assignment)
- 패킷 재정렬 (Packet Re-sequencing)
- 패킷 손실 탐지 (Packet Loss Detection)
- 데이터 압축 (Data Compression)
- 데이터 암호화 (Data Encryption)
- TCP 프록시 (TCP Proxy)
- 패킷 손실 방지 (Packet Loss Prevention)
- 가상 Ethernet-IP 터널링 (Virtual Ethernet-IP Tunneling)
1) WOT의 전체 구조
WOT는 크게 사용자 수준(User level)의 프로그램과 커널 수준(Kernel level)의 모듈로 구분할 수 있다(도 9 참조).
먼저 사용자 수준의 프로그램들과 그 역할에 대해 간략히 살펴보면 다음과 같다.
- TLBC (Tunnel Load Balancing Command)
이는 회선다중화 그룹의 추가/수정/삭제, 가중치 변경, 그룹/IP주소 정보 요청 등의 사용자 요청을 TLBD에 전달하는 역할을 수행하는 사용자 명령어 처리를 수행한다.
- TLBD (Tunnel Load Balancing Daemon)
이는 다중화 터널 정보 관리, 터널 디바이스 관리, IP 주소 관리, 터널장애 감지 및 라우팅 관리 등을 수행하는 데몬 프로그램 처리를 수행한다.
- TLBAWD (Tunnel Load Balancing Automatic (Dynamic) Weighting Daemon)
이는 터널 용량 측정에 필요한 다중화 터널 구성 정보를 수집하여, 일정 주기마다 각 터널별 용량(tunnel capacity)을 측정하고, 터널 용량에 따른 가중치를 계산하여 TLBD 데몬에게 가중치 변경을 요청한다.
- TCP 프록시 데몬 (TCP Proxy Daemon)
이는 커널 수준의 리디렉션 모듈과 연동하여, 외부 또는 내부로의 TCP 연결을 중계하는 역할을 수행한다. TCP 프록시를 통해 중계되는 TCP 연결은 프록시가 구동되고 있는 게이트웨이 장비의 TCP 소켓 특성을 따르게 된다.
한편 커널 수준의 모듈들은 다음과 같이 구성되어 있다.
- 패킷 재정렬 모듈 (Packet Re-sequencing Module)
이는 Reordering된 패킷들을 수신했을 때, 이 패킷들을 재정렬한다.
- 패킷 손실 탐지 모듈 (Packet Loss Detection Module)
이는 패킷 손실을 탐지하여, 패킷 재정렬 큐에서의 지연을 최소화한다.
- 패킷 압축 모듈 (Packet Compression Module)
이는 패킷 송신 시 페이로드 데이터를 압축하고, 수신시 압축된 데이터를 푼다.
- 패킷 암호화 모듈 (Packet Encryption Module)
이는 패킷 송신 시 페이로드 데이터를 암호화하고, 수신시 암호화된 데이터를 복호화한다.
- 라우팅 결정 모듈 (Routing Decision Module)
이는 Weighted Round Robin 방식을 사용하여, 다중화 터널들을 통한 트래픽 분배를 수행한다.
- 리디렉션 모듈 (Redirection Module)
이는 외부 또는 내부 네트워크로 향하는 TCP 연결을 로컬 TCP 프록시에게 전달하는 기능을 수행한다. 이 때, 특수한 소켓 인터페이스를 통해 원래의 목적지를 유지할 수 있도록 하여, Transparent 프록시 구현을 가능하게 한다.
- 패킷 손실 방지 모듈 (Packet Loss Prevention Module)
이는 터널 장애를 조기에 감지하여, 장애 터널을 통해 전송되는 패킷의 손실을 최소화 한다.
- VEIP 캡슐화 모듈 (Virtual Ethernet-IP Encapsulation Module)
이는 Ethernet(Layer 2)으로 구성된 네트워크에서, 외부와 IP 통신(Layer 3)이 가능하도록 캡슐화를 수행한다.
2) 동적 터널 부하분산 가중치 할당 (Dynamic Tunnel Load Balancing Weight Assignment)
기존의 다중화 터널을 통한 패킷 전송은 트래픽 분산 시 각 터널의 대역폭에 따라 가중치(weight)를 달리하여 패킷을 전송함으로써, 각 다중화 터널들의 전체 대역폭을 사용하도록 설계되어 있으나, 터널의 속도 변화에 능동적으로 대응하고 있지는 못한 상태이다. 따라서 다중화 터널 중 일부 터널에 속도 저하가 일어나게 되면, 각 터널별 송신 비율과 할당된 가중치의 비율이 서로 일치하지 않게 되므로, 이는 터널의 성능 저하로 이어지게 된다.
본 발명에서는 이러한 문제를 해결하기 위해, 동적 터널 부하분산 가중치 할당 기술을 사용하여 터널의 속도 변화를 감지하고, 송신단과 수신단의 터널별 가중치를 항상 최적화된 값으로 유지함으로써, 전체적인 터널의 성능 저하를 최소화 하였다.
동적 터널 부하분산 가중치 할당에 사용하는 기술 요소들은 다음과 같다.
- 터널 용량 측정 (Tunnel Capacity Estimation)
도 14는 도 13에서 터널 용량 측정 예를 보인 개념도이다.
그래서 각 터널별 현재 용량을 측정하는 것은 터널별 송신율을 결정하는 가중치 계산에 가장 중요한 요소이다. 가중치 자동 할당에 사용되는 터널 용량 측정은 네트워크에 영향을 주지 않고(non-intrusive), 빠르고 정확한(accurate) 측정이 요구된다.
터널 용량은 TLBAWD에서 수행되며, 그 측정 방법은 다음과 같다.
게이트웨이 A를 기준으로 업로드 용량을 측정하기 위해, 게이트웨이 A에서 게이트웨이 B로 2개의 테스트 패킷을 동시에 전송한다. 이 때, 게이트웨이 B에서 수신된 두 패킷의 수신 시간 차(difference)를 이용하여 터널의 업로드 용량을 측정한다. 이 때, 계산된 업로드 용량값이 다운로드 용량 측정을 위한 테스트 패킷에 적재되어 전송된다. 마찬가지로, 게이트웨이 B에서 게이트웨이 A로 동시 전송된 두 패킷의 수신 시간 차를 이용하여, 게이트웨이 A의 다운로드 용량이 계산된다.
- 동적 터널 부하분산 가중치 할당
도 15는 도 13에서 가중치 할당 예를 보인 개념도이다.
터널의 현재 용량을 주기적으로 측정하여, 그 측정치를 기반으로 각 터널에 할당할 가중치를 계산하여 적용한다. 터널 용량 측정 및 가중치 계산은 TLBAWD 라는 별도의 데몬으로 구현하고, 가중치 적용은 TLBC와 TLBD 데몬을 이용하여 구현하였다.
3) 패킷 재정렬 (Packet Re-sequencing)
도 16은 도 12를 수행하는데 필요한 패킷 프로세싱 모듈의 예를 보인 개념도이다.
앞에서 설명한 바와 같이, 다중화 터널을 통한 패킷 송수신시 발생하는 패킷 Reordering은 터널의 대역폭을 저하시키는 요인이 된다. 기존의 Bandwidth Aggregation 기술 중 하나인 Multilink PPP(MPPP) 방식에서는 이러한 문제를 해결하기 위해, 각각의 패킷을 터널 수만큼의 조각(fragment)으로 나누어 전송하고, 수신부에서 이를 재조합하는 방식을 사용하고 있기 때문에 패킷 Reordering이 발생하지 않는다. 하지만 이러한 MPPP 방식의 경우 하나의 패킷이 재조합되기 위해서는 모든 패킷 조각들이 수신되어야 하므로, 전체 다중화 터널의 성능은 가장 느린 터널의 속도에 영향을 받게 되는 단점이 있다.
이와 달리, WOT 기술에서 구현하고 있는 방식은 송신부에서 기존과 같은 Weighted Round Robin 방식의 로드밸런싱을 이용하여 전송하고, 수신부에서 패킷 재조합을 수행하는 방식을 취하고 있다. 이렇게 함으로써, MPPP 방식과 달리 각 패킷들이 서로 독립적이므로, 전체 터널의 성능이 가장 느린 터널의 영향을 받지 않 게 된다.
도 18은 도 17에서 패킷 재정렬의 예를 보인 개념도이다.
패킷 재조합을 수행하기 위해서는 패킷의 송신 순서를 알아야 하므로, GRE 표준 헤더의 시퀀스 필드(Sequence Field)를 사용한다.
도 19는 도 17에서 사용하는 터널 헤더 중에서 한 사례인 GRE 헤더표준 포맷을 보인 개념도이다.
그래서 송신부에서 각 패킷의 전송 순서에 맞게 시퀀스 번호를 붙여 보내면, 수신부에서는 이를 재정렬하여 순서에 맞게 패킷을 전달한다.
패킷 재정렬을 위해, 수신부의 터널 디바이스는 큐(Queue)를 가진다. 패킷이 수신부에 도착했을 때 패킷의 시퀀스 번호를 검사하여, 현재 기다리고 있는 시퀀스 번호 보다 큰 시퀀스 번호를 가진 패킷인 경우, 큐에 넣는다. 패킷을 큐에 넣을 때에는 항상 시퀀스 번호 순으로 정렬된 순서로 넣고, 연속된 시퀀스 번호를 가진 패킷들은 큐로부터 방출된다. 또한, 큐의 길이가 일정 길이 이상으로 늘어나지 않도록, 지정된 최대값을 초과할 경우 큐에 있는 패킷을 강제로 방출한다.
4) 패킷 손실 탐지 (Packet Loss Detection)
회선 상의 문제로 인하여, 패킷 손실이 발생할 경우 수신부에서는 패킷 손실 여부를 알 수 없으므로, 손실된 패킷을 기다리는 동안 터널 디바이스의 큐 길이는 최대값까지 증가하게 된다.
도 21은 도 20에서 패킷 손실 발생 시의 문제점을 보인 개념도이다.
위에서 설명한 바와 같이 최대값을 초과하면 큐에서 패킷을 강제로 방출하므 로, 이때는 통신에 문제가 없으나, 큐에 패킷이 쌓이는 동안에는 패킷이 전달되지 않으므로 순간적인 터널 속도의 저하가 발생한다.
이러한 패킷 손실에 따른 속도 저하를 방지하기 위하여, 수신부에서 패킷의 손실 여부를 판단할 수 있는 패킷 손실 탐지 알고리즘을 개발하였다. 패킷 손실 탐지 알고리즘을 간략히 설명하면 다음과 같다.
다중화 터널을 구성하는 각각의 터널 디바이스를 통해 수신된 마지막 패킷의 시퀀스 번호를 터널 디바이스 정보에 저장한다. 저장된 시퀀스 번호들 중 가장 작은 값을 smin이라고 할 때, 현재 기다리고 있는 시퀀스 번호 s가 smin보다 작으면, s를 손실된 패킷이라고 판단한다.
도 22는 도 20에서 패킷 손실 탐지의 예를 보인 개념도이다.
단, 패킷 손실을 탐지하기 위해서는 다음과 같은 조건을 만족하여야 한다.
- 조건 : 동일 터널을 통해 수신되는 일련의 패킷들 사이에는 Reordering이 발생하지 않는다.
즉, 동일한 터널을 통해 Reordering된 패킷이 수신되면 나중에 수신된 작은 시퀀스 번호의 패킷은 손실된 패킷으로 간주된다.
5) 패킷 압축 (Packet Compression)
위에서 설명한 동적 가중치 할당, 패킷 재정렬, 패킷 손실 탐지 등의 기술들은 다중화 터널을 구성하는 각 터널들의 주어진 대역폭을 최대한 사용할 수 있도록 해주는 기술들인 반면, 본 절에서 설명하는 패킷 압축 기술은 정해진 대역폭 이상 의 터널 속도를 얻을 수 있도록 해주는 대역폭 증폭 기술에 해당된다.
패킷 압축이란, 송신부에서 패킷의 헤더를 제외한 나머지 페이로드(Payload) 부분을 압축하여 전송하고, 수신부에서 압축된 패킷을 풀어 원래의 패킷을 복원함으로써, 대역폭 절감 효과를 얻을 수 있는 기술이다.
도 23은 도 12에서 데이터 압축 예를 보인 개념도이다.
이론적으로는 패킷의 압축률이 50%일 경우 대역폭은 약 2배 증가하는 효과를 얻을 수 있다. 하지만, 이미 압축되어 있는 파일 등을 전송하는 경우에는 압축 효율이 좋지 않고, 오히려 패킷의 길이가 증가하는 경우도 발생하여 송신부 및 수신부의 부하(load)만 증가시키는 결과를 발생시킬 수 있다. 이러한 문제를 해결하기 위해, 본 발명에서는 작은 크기(90바이트 미만)의 패킷이나, 압축 효율이 좋지 않는 패킷은 압축되지 않은 형태로 전송한다. 압축 패킷과 비압축 패킷은 가상 헤더인 GRE 헤더의 특정 플래그 비트를 이용하여 표시하는데, 송신부에서 압축 여부에 따라 플래그 비트는 설정하여 보내면 수신부에서 이 플래그 비트를 확인하여 수신된 패킷의 압축 여부를 알 수 있다.
6) 패킷 암호화 (Packet Encryption)
본 절에서는 WOT 기술에 포함되어 있는 패킷 암호화 기술에 대하여 설명한다. 패킷 암호화 기술은 송신부에서 패킷의 가상 헤더인 GRE 헤더를 제외한 나머지 페이로드 부분을 암호화하여 전송하고, 수신부에서 암호화된 패킷을 복호화하여 원래의 패킷을 복원함으로써, 전송 패킷의 비밀성(Confidentiality)을 제공하는 기술이다.
도 24는 도 12에서 데이터 암호화 예를 보인 개념도이다.
WOT에서 제공하는 암호화 기술은 128비트 크기의 블록 단위로 암호화를 수행하는 블록키 암호 알고리즘을 사용하고 있다. 또한 암호화 기술은 압축 기술과 함께 사용될 수 있으며, 송신부에서는 압축 암호화 순으로, 수신부에서는 복호화 압축해제 순으로 수행된다.
이러한 암호화 기술을 사용함으로써, 도청(eavesdropping)과 같은 Passive 공격에 대한 방어 능력을 향상시킬 수 있다.
7) TCP 프록시
터널 다중화 기술은 앞에서 설명한 바와 같이 여러 터널을 통해, 트래픽을 분산시킴으로써, 네트워크의 대역폭을 확장시키는 기술이다. 이 때 확장된 대역폭은 다중화 그룹을 구성하고 있는 터널들의 대역폭에 비례하여 증가되는 반면, 터널의 latency 측면에서는 다중화의 효과를 얻지 못한다. 높은 latency는 TCP 어플리케이션의 전송률을 제한하기 때문에, 네트워크의 대역폭이 확장된다고 하더라도, 하나의 TCP 연결이 확장된 대역폭을 모두 사용할 수 없게 된다.
높은 latency 환경에서 TCP 어플리케이션의 전송률을 향상시키기 위해서는, 서버 또는 클라이언트 컴퓨터 내의 소켓 버퍼(송신 버퍼/수신 버퍼)를 높게 설정해 주어야 한다. 다음의 표 1은 윈도우 OS 별로 latency에 따른 TCP 데이터 수신 성능을 보여주고 있다.
Figure 112006090409967-pat00001
이 표 1에서 OS의 종류에 따라, TCP 성능이 다르게 나타나는 것은 기본적으로 설정되어 있는 소켓 버퍼의 크기가 OS별로 다르기 때문에 나타나는 현상이다. 참고로, 윈도우 NT는 8760 Bytes, 윈도우 2000은 17520 Bytes의 수신 버퍼 크기를 기본값으로 가지고 있다.
위에서 설명한 것과 같이, 기존의 latency 해결 방법은 서버 또는 클라이언트 컴퓨터의 설정을 모두 변경해 주어야 하는 문제점을 안고 있다. 본 발명에서는 TCP 연결을 중계하는 TCP 프록시 기능을 사용함으로써, 게이트웨이 장비에서의 소켓 버퍼 설정 만으로, TCP 전송 성능을 개선시킬 수 있다.
도 25는 도 12에서 TCP 프록시의 구성 예를 보인 개념도이다.
TCP 프록시는 도 25에서 표시하고 있는 것처럼, 커널 수준의 패킷 리디렉션(redirection) 모듈과 사용자 수준의 TCP 프록시 데몬으로 구성되어 있으며, TCP 어플리케이션의 종류와 무관하게, 서버와 클라이언트 간의 TCP 연결을 중계하는 역할을 수행한다.
클라이언트 측에서 서버로 연결을 시도하게 되면, 게이트웨이의 리디렉션 모듈은 TCP 프록시 데몬으로 연결 요청을 전달하고, TCP 프록시 데몬에서 서버로의 연결이 이루어진다. 즉, TCP 프록시 데몬 및 클라이언트 간의 TCP 연결과 TCP 프록시 데몬 및 서버 간의 TCP 연결이 만들어진다. 이 때, 커널 수준의 리디렉션 모듈에는 클라이언트와 서버 간의 연결 정보(mapping table)가 저장되고, 특수한 소켓 인터페이스를 통해, 목적지 주소 정보를 TCP 프록시 데몬에게 제공함으로써, TCP 프록시가 transparent 프록시 기능을 수행할 수 있도록 해준다.
8) 패킷 손실 방지 (Packet Loss Prevention)
터널 다중화 그룹을 구성하고 있는 터널들 중 일부 터널에 장애가 발생하였을 경우, TLBD 데몬에서 이를 감지하여 다중화 그룹에서 장애 터널을 제거하고, 장애 터널 쪽으로 패킷이 라우팅되지 않도록 하고 있다. 이 때 TLBD에서 수행하는 터널의 장애 감지는 특정한 시간을 주기로 하여 검사되기 때문에, 검사 주기 내에 장애를 감지하지 못하는 구간이 발생하게 되어, 패킷의 손실이 발생하게 된다. 또한 손실되는 패킷량은 패킷 전송률에 따라 적거나 혹은 많을 수도 있다. 이러한 패킷의 손실은 다른 프로토콜들보다도 특히, TCP 어플리케이션에 대해서 좋지 않은 성능을 초래하게 된다. 일부 터널에서의 패킷 손실은 패킷의 재전송을 초래할 뿐만 아니라, TCP 세션 유지를 어렵게 하는 요인이 될 수 있다.
패킷 손실 방지 기술은 터널 장애를 조기에 탐지할 수 있는 기술로서, 특정 시간을 주기로 장애를 탐지하는 것이 아니라, 터널을 통해 수신되는 패킷의 수를 검사하여 장애를 판별한다. 따라서 터널 장애시 손실되는 패킷의 수는 패킷의 전송량과 무관하게 특정한 개수의 패킷으로 제한된다. 이렇게 함으로써, 터널 장애시에도 패킷의 재전송을 최소화하는 동시에, TCP 세션 끊김을 억제하는 효과를 얻을 수 있다.
도 27은 도 26에서 패킷 손실시 이를 감지하는 예를 보인 개념도이다.
패킷 손실 방지 기술에서 사용하고 있는 터널 장애 감지 기법은 각 터널과 연결된 가상 터널 디바이스로 유입되는 패킷의 수를 기준으로 한다. 즉, 다중화 그룹을 구성하는 터널 중 한 터널에 장애가 발생하게 되면, 정상적인 터널로의 패킷 유입량이 증가하는 동안, 장애 터널 쪽으로는 패킷 유입이 이루어 지지 않게 되는 상태를 판단 기준으로 삼는다. 따라서 감지 대상 터널로 유입되는 패킷량이 0인 동안, 나머지 터널들로 유입되는 패킷량의 총합이 특정한 임계치에 다다르는 동안, 그 터널에 장애가 발생한 것으로 간주한다.
도 28은 도 26에서 패킷 손실시 이를 방지하는 예를 보인 개념도이다.
일단, 장애 터널로 감지되면 해당 터널로 라우팅된 패킷을 정상 터널 쪽으로 다시 라우팅시킨다. 이 때, 장애 터널 쪽으로도 복사된 패킷을 보내게 되는데, 이는 장애 터널이 복구되었을 때 정상 터널로 판별할 수 있도록 하기 위함이다. 즉, 장애 터널로 계속 패킷을 전송하지 않을 경우, 터널 상태가 정상으로 복구되더라도, 수신부 입장에서 유입되는 패킷이 없으므로, 계속 장애 터널로 간주하게 되기 때문이다. 여기에서 복사된 패킷은 헤더 부분의 특정 비트를 켜서, 복사된 패킷임을 표시하고, 수신부에서 이를 자동 폐기하여 터널 복구를 위한 검사 용도로만 사용하게 된다.
도 29는 도 26에서 패킷 손실시 큐 타이머에 의해 패킷 손실로 인한 지연 현상을 방지하는 예를 보인 개념도이다
패킷 손실 방지 기술에 포함된 또 하나의 기술로 큐 타이머(Queue Timer)가 있다. 이는 패킷 손실에 따른 큐잉 지연을 방지하는 데 목적이 있다. 예를 들어, 터널의 불안정한 상태로 인하여 일부 패킷이 손실될 경우, 패킷 순서 재정렬을 위해 큐에 들어가 있는 선행 패킷들은 손실된 패킷을 기다리면서, 큐를 빠져나가지 못하고 대기하게 된다. 이 때문에 터널의 전송률이 나빠지게 되고, TCP 세션 유지도 어렵게 된다. 따라서 큐에 들어간 패킷을 일정 시간 후에 강제로 방출하도록 함으로써, 큐잉 지연을 해결하는 것이 큐 타이머의 역할이다.
9) VEIP (Virtual Ethernet-IP)
VEIP는 L2(Layer 2) 네트워크와 L3(Layer 3) 네트워크를 중계해 주는 기술이다. 즉, 이더넷 프레임을 변경없이 인터넷을 통해 전송할 수 있도록 해준다. 이는 이더넷 프레임을 IP 패킷으로 캡슐화 해주는 VEIP 모듈(80)을 통해 이루어지며, 내부 네트워크와 연결된 내부 네트워크 디바이스와 VEIP 모듈(80)이 브리지(bridge) 형태로 구성되어, 이더넷 헤더의 변경없이 캡슐화가 이루어진다. 마지막으로 인터넷 구간에서는 터널 다중화 기술(WOT)을 이용하여 전송이 이루어진다.
도 11은 도 5에서 VEIP 모듈의 개념도이고, 도 30은 도 12에서 가상 이더넷 IP 터널링 시의 패킷 구조를 보인 개념도이다.
이와 같이 본 발명에서는 다중화 터널의 성능 극대화 및 패킷 Reordering의 최소화를 위해 동적 가중치 할당 및 패킷 재정렬 기술을 개발하였다. 또한, 패킷 손실이 발생하였을 때의 성능 저하를 최소화하기 위한 패킷 손실 탐지 기술과 대역폭 증폭을 위한 패킷 압축 기술 및 데이터의 비밀성을 보장할 수 있는 패킷 암호화 기능, TCP 성능을 개선시켜주는 TCP 프록시와 패킷 손실 방지 기능을 추가로 개발하였다.
본 발명으로 인하여, 다중화 터널상에서의 패킷 전송의 효율성과 패킷 손실 최소화 등의 효과를 얻을 수 있을 것으로 기대된다. 향후에는 패킷 손실을 더욱 최소화할 수 있는 기술 개발을 위한 연구가 계속적으로 이루어져야 할 것으로 생각된다.
이상에서 살펴본 바와 같이, 본 발명에 의한 다중 터널을 지원하는 WAN 가속 최적화 장치 및 그 방법은 WAN에서 두 게이트웨이 간의 터널을 다중화하여 트래픽을 적절히 분산하고 장애 발생시 장애 터널을 이용하던 트래픽이 정상 터널을 이용하도록 함으로써 끊김없는 네트워크 환경을 구축할 수 있는 효과가 있게 된다.
이상에서 본 발명의 바람직한 실시예에 한정하여 설명하였으나, 본 발명은 이에 한정되지 않고 다양한 변화와 변경 및 균등물을 사용할 수 있다. 따라서 본 발명은 상기 실시예를 적절히 변형하여 응용할 수 있고, 이러한 응용도 하기 특허청구범위에 기재된 기술적 사상을 바탕으로 하는 한 본 발명의 권리범위에 속하게 됨은 당연하다 할 것이다.

Claims (16)

  1. 사용자 레벨에서 터널 다중화 정보 관리, 터널 디바이스 관리, IP 주소 관리, 터널 장애 감지 및 라우팅 관리 등을 수행하는 데몬인 TLBD와;
    사용자 레벨에서 터널 다중화 그룹의 추가/수정/삭제, 동적 터널 부하분산 가중치 변경, 그룹/IP주소 정보 요청을 포함한 사용자 요청을 상기 TLBD에 전달하는 역할을 수행하는 TLBC와;
    사용자 레벨에서 터널 용량 측정에 필요한 다중화 터널 구성 정보를 수집하여, 일정 주기마다 각 터널별 용량을 측정하고, 터널 용량에 따른 가중치를 계산하여 TLBD 데몬에게 터널 부하분산 가중치 변경을 요청하는 TLBAWD와;
    상기 TLBAWD와 연결되고, 커널 레벨의 리디렉션 모듈과 연동하여, 사용자 레벨에서 외부 또는 내부로의 TCP 연결을 중계하는 역할을 수행하는 TCP 프록시 모듈과;
    커널 레벨에서 패킷 재정렬, 패킷 손실 탐지, 패킷 압축, 패킷 암호화를 수행하는 패킷 프로세싱 모듈과;
    커널 레벨에서 가중 라운드 로빈 방식을 사용하여 다중화 터널들을 통한 트래픽 분배를 수행하는 라우팅 결정부와;
    커널 레벨에서 외부 또는 내부 네트워크로 향하는 TCP 연결을 로컬 TCP 프록시에게 전달하는 기능을 수행하고, 이 때 특수한 소켓 인터페이스를 통해 원래의 목적지를 유지할 수 있도록 하여 Transparent 프록시 구현을 가능하게 하는 리디렉션 모듈과;
    상기 패킷 프로세싱 모듈과 연결되고, 이더넷으로 구성된 네트워크에서 외부와 IP 통신이 가능하도록 캡슐화를 수행하는 VEIP 모듈;
    을 포함하여 구성된 것을 특징으로 하는 다중 터널을 지원하는 WAN 가속 최적화 장치.
  2. 청구항 1에 있어서, 상기 TLBD는,
    원격지 게이트웨이와 연결되는 가상 터널을 생성 또는 삭제하고, 생성된 가상 터널에 관한 정보를 갱신하는 터널 디바이스 관리 모듈과;
    상기 터널 디바이스 관리 모듈에 의해 생성된 적어도 하나의 가상 터널로 구성되는 터널 다중화 그룹에 관한 정보를 관리하는 TLB 정보 관리 모듈과;
    상기 TLB 정보 관리 모듈 및 상기 터널 디바이스 관리 모듈과 연결되고, 생성된 가상 터널에 대한 상태 정보를 저장하는 터널 정보 저장 모듈과;
    로컬 게이트웨이의 IP 주소 변경을 감지하는 경우 해당 IP 주소와 관련된 가상 디바이스를 갱신하고, 원격지 게이트웨이에도 IP 주소 변경 사실을 알려 관련된 가상 디바이스를 갱신하도록 하는 IP 주소 관리 모듈과;
    원격지 게이트웨이와 장애 감지를 위해 터널장애감지용 패킷을 전송하고, 상기 원격지 게이트웨이로부터의 응답 상태에 따라 터널 장애 여부를 판단하고, 터널 장애 발생시 해당 터널 다중화 그룹에 대한 라우팅을 변경하는 터널감지/라우팅관리 모듈과;
    주기적으로 터널 다중화 그룹별로 터널 장애 감지 패킷을 전송하도록 상기 터널감지/라우팅관리 모듈을 제어하고, 주기적으로 로컬 게이트웨이의 IP 주소 변경 여부를 체크하도록 상기 IP 주소 관리 모듈을 제어하는 스케줄러와;
    상기 IP 주소 관리 모듈 및 상기 장애감지/라우팅 관리 모듈과 연결되고, 이중화된 게이트웨이들의 TLB 정보를 공유하도록 하는 L4/VRRP 모듈;
    을 포함하여 구성된 것을 특징으로 하는 다중 터널을 지원하는 WAN 가속 최적화 장치.
  3. 청구항 1에 있어서, 상기 TLBAWD는,
    터널 용량 측정에 필요한 다중화 터널 구성 정보를 수집하는 TLB 정보 수집 모듈과;
    상기 TLB 정보 수집 모듈과 연결되고, 일정 주기마다 각 터널별 용량을 측정하고 측정된 터널 용량값을 자동으로 터널 정보에 반영하는 터널 용량 측정 모듈;
    을 포함하여 구성된 것을 특징으로 하는 다중 터널을 지원하는 WAN 가속 최적화 장치.
  4. 청구항 1에 있어서, 상기 패킷 프로세싱 모듈은,
    커널 기반의 고속 패킷 처리 과정을 특징으로 하는 다중 터널을 지원하는 WAN 가속 최적화 장치.
  5. 청구항 1에 있어서, 상기 패킷 프로세싱 모듈은,
    터널 장애를 조기에 감지하여, 장애 터널을 통해 전송되는 패킷의 손실을 최소화 하는 패킷 손실 방지 모듈과;
    커널 레벨에서 리오더링된 패킷들을 수신했을 때, 이 패킷들을 재정렬하는 패킷 재정렬 모듈과;
    패킷 손실을 탐지하여, 패킷 재정렬 큐에서의 지연을 최소화하는 패킷 손실 탐지 모듈과;
    상기 패킷 재정렬 모듈에서 재정렬된 패킷을 임시 저장하여 상기 패킷 손실 탐지 모듈에서 처리하도록 하는 재정렬 큐와;
    상기 패킷 손실 탐지 모듈과 연결되고, 패킷 송신시 페이로드 데이터를 압축하고, 수신시 압축된 데이터를 푸는 기능을 수행하는 패킷 압축 모듈과;
    상기 패킷 압축 모듈과 연동하여 패킷 송신시 페이로드 데이터를 암호화하고, 수신시 암호화된 데이터를 복호화하는 패킷 암호화 모듈;
    을 포함하여 구성된 것을 특징으로 하는 다중 터널을 지원하는 WAN 가속 최적화 장치.
  6. 청구항 1 내지 청구항 5 중 어느 하나의 항에 있어서, 상기 VEIP 모듈은,
    내부 디바이스와 VEIP 디바이스를 브리지 디바이스로 연결하여 브리지 디바이스를 내부 디바이스로 사용하고, 게이트웨이 양단의 VEIP 디바이스를 터널로 연결하여 사설 IP의 사용이 가능하도록 구성된 것을 특징으로 하는 다중 터널을 지원하는 WAN 가속 최적화 장치.
  7. 터널 다중화 수행시 가상 디바이스 터널링을 수행하는 제 1 단계와;
    상기 제 1 단계 후 터널에 대해 동적 가중치 할당을 수행하는 제 2 단계와;
    상기 제 2 단계 후 패킷 재정렬과 패킷 손실 탐지를 수행하는 제 3 단계와;
    상기 제 3 단계 후 데이터 압축과 데이터 암호화를 수행하는 제 4 단계와;
    상기 제 4 단계 후 TCP 프록시 설정을 수행하는 제 5 단계와;
    상기 제 5 단계 후 패킷 손실 방지를 수행하는 제 6 단계;
    를 포함하여 구성된 것을 특징으로 하는 다중 터널을 지원하는 WAN 가속 최적화 방법.
  8. 청구항 7에 있어서,
    상기 제 1 단계에서 가상 디바이스 터널링은,
    GRE 터널링을 수행하는 것을 특징으로 하는 다중 터널을 지원하는 WAN 가속 최적화 방법.
  9. 청구항 7에 있어서,
    상기 다중 터널을 지원하는 WAN 가속 최적화 방법은,
    상기 제 1 단계에 앞서 가상 이더넷 IP 터널링을 형성하는 단계;
    를 더욱 포함하여 구성된 것을 특징으로 하는 다중 터널을 지원하는 WAN 가속 최적화 방법.
  10. 청구항 7에 있어서, 상기 제 2 단계는,
    송신측 게이트웨이 내의 터널 용량 측정부에서 수신측 게이트웨이 내의 터널 용량 측정부로 테스트 패킷을 전송하는 제 11 단계와;
    상기 제 11 단계 후 상기 수신측 게이트웨이에서 수신된 두 패킷의 수신 시간 차를 이용하여 터널의 업로드 용량을 측정하는 제 12 단계와;
    상기 제 12 단계 후 상기 수신측 게이트웨이 내의 터널 용량 측정부에서 상기 송신측 게이트웨이 내의 터널 용량 측정부로 테스트 패킷을 전송하는 제 13 단계와;
    상기 제 13 단계 후 상기 송신측 게이트웨이에서 수신된 두 패킷의 수신 시간 차를 이용하여 터널의 다운로드 용량을 측정하는 제 14 단계와;
    상기 제 1 단계에서 측정된 각 터널별 용량을 기반으로 각 터널에 할당할 가중치를 계산하여 적용하는 제 15 단계;
    를 포함하여 구성된 것을 특징으로 하는 다중 터널을 지원하는 WAN 가속 최적화 방법.
  11. 청구항 7에 있어서, 상기 제 3 단계는,
    터널링 송신부에서는 각 패킷의 전송 순서에 맞게 시퀀스 번호를 붙여 전송하는 제 21 단계와;
    상기 제 21 단계 후 VPN 수신부에서는 상기 수신부에서 전송받은 패킷의 시퀀스 번호를 검사하는 제 22 단계와;
    상기 제 22 단계 후 현재 기다리고 있는 시퀀스 번호 보다 큰 시퀀스 번호를 가진 패킷이 수신되었는지 판별하는 제 23 단계와;
    상기 제 23 단계에서 현재 기다리고 있는 시퀀스 번호 보다 큰 시퀀스 번호를 가진 패킷이 수신되었다고 판별되면, 시퀀스 번호 순으로 정렬된 순서로 패킷을 재정렬 큐에 넣는 제 24 단계와;
    상기 제 24 단계 후 상기 재정렬 큐의 지정된 최대값이 초과되었는지 판별하는 제 25 단계와;
    상기 제 25 단계에서 지정된 최대값이 초과되지 않았다고 판별되면, 연속된 시퀀스 번호를 가진 패킷들을 상기 재정렬 큐로부터 방출하는 제 26 단계와;
    상기 제 25 단계에서 지정된 최대값을 초과했다고 판별되면, 패킷을 상기 재정렬 큐로부터 강제 방출시키는 제 27 단계와;
    상기 제 26 단계 또는 상기 제 27 단계 후 재정렬된 패킷을 출력시키는 제 28 단계;
    를 포함하여 구성된 것을 특징으로 하는 다중 터널을 지원하는 WAN 가속 최적화 방법.
  12. 삭제
  13. 청구항 7 내지 청구항 11 중 어느 하나의 항에 있어서, 상기 제 6 단계는,
    터널을 통해 수신되는 패킷의 수를 검사하는 제 41 단계와;
    상기 제 41 단계 후 각 터널과 연결된 가상 터널 디바이스로 유입되는 패킷의 수를 기준으로 터널 장애를 감지하는 제 42 단계와;
    상기 제 42 단계에서 장애 터널로 감지된 터널이 있으면, 해당 장애 터널로 라우팅된 패킷을 정상 터널 쪽으로 다시 라우팅하고, 장애 터널 쪽으로도 복사된 패킷을 전송하는 제 43 단계와;
    상기 제 43 단계 후 큐 타이머로 큐잉 지연을 방지하는 제 44 단계;
    를 포함하여 구성된 것을 특징으로 하는 다중 터널을 지원하는 WAN 가속 최적화 방법.
  14. 청구항 7에 있어서,
    상기 제1단계는 터널링 처리 시, 입력된 TLB 정보를 이용하여 TLB 정보 구조를 만드는 제 51 단계와, 상기 제 51 단계 후 가상 디바이스를 생성하는 제 52 단계를 포함하여 구성되고,
    상기 제2단계는 상기 제 52 단계 후 루트가 가중치를 추가하는 제 53 단계와, 터널 장애 검출과 IP 변화 검출을 수행하여 터널 및 가중치를 변경시키는 제 54 단계를 포함하여 구성된 것을 특징으로 하는 다중 터널을 지원하는 WAN 가속 최적화 방법.
  15. 삭제
  16. 청구항 7에 있어서, 상기 제6단계는,
    터널링에서 수신 패킷이 있으면 가상 패킷을 입력받아 어떤 디바이스에서 패킷의 임계치를 넘어섰는지 판별하는 제 71 단계와;
    상기 제 71 단계에서 패킷의 임계치를 넘어선 디바이스는 장애 처리하고, 패킷의 임계치를 넘어서지 않은 디바이스의 패킷의 암호화를 풀고 복호화한 다음 패킷의 시퀀스를 체크하는 72 단계와;
    상기 시퀀스가 아웃-오프-오더이면, 재정렬 큐에서 인큐 한 다음 상기 재정렬 큐에 전송 패킷이 남아 있는지 판별하는 제 73 단계와;
    상기 제 73 단계에서 상기 재정렬 큐에 전송 패킷이 남아 있으면 강제로 디큐시키는 제 74 단계와;
    상기 제 72 단계에서 시퀀스가 인-오더이거나 또는 상기 제 74 단계를 수행했으면 라우팅을 결정한 다음 패킷을 아웃풋 디바이스로 출력시키는 제 75 단계;
    를 포함하여 수행하는 것을 특징으로 하는 다중 터널을 지원하는 WAN 가속 최적화 방법.
KR1020060122969A 2006-12-06 2006-12-06 다중 터널을 지원하는 왠 가속 최적화 장치 및 그 방법 KR100886925B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060122969A KR100886925B1 (ko) 2006-12-06 2006-12-06 다중 터널을 지원하는 왠 가속 최적화 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060122969A KR100886925B1 (ko) 2006-12-06 2006-12-06 다중 터널을 지원하는 왠 가속 최적화 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20080051576A KR20080051576A (ko) 2008-06-11
KR100886925B1 true KR100886925B1 (ko) 2009-03-09

Family

ID=39806545

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060122969A KR100886925B1 (ko) 2006-12-06 2006-12-06 다중 터널을 지원하는 왠 가속 최적화 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR100886925B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6105163B2 (ja) 2013-06-27 2017-03-29 徐 正 煥SEO, Jeong Hoan インターネットプロトコルを利用したサービスのための多重連結システム及びその方法
JP7092913B1 (ja) * 2021-03-24 2022-06-28 アンリツ株式会社 ネットワーク測定装置とそのフレームロス測定方法
CN116015943B (zh) * 2022-12-30 2024-03-12 电子科技大学 一种基于多级隧道混淆的隐私保护方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030013496A (ko) * 2003-01-14 2003-02-14 어울림정보기술주식회사 다중 터널 브이피엔 게이트웨이를 이용한 데이터 전송 장치
US6778492B2 (en) 2002-01-17 2004-08-17 Cisco Technology, Inc. Load balancing for fast reroute backup tunnels
KR20040098093A (ko) * 2003-05-13 2004-11-20 (주)디엔피그룹 멀티 터널 아이피에스이씨(ipsec)를 지원하는브이피엔(vpn) 시스템 및 운용방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6778492B2 (en) 2002-01-17 2004-08-17 Cisco Technology, Inc. Load balancing for fast reroute backup tunnels
KR20030013496A (ko) * 2003-01-14 2003-02-14 어울림정보기술주식회사 다중 터널 브이피엔 게이트웨이를 이용한 데이터 전송 장치
KR20040098093A (ko) * 2003-05-13 2004-11-20 (주)디엔피그룹 멀티 터널 아이피에스이씨(ipsec)를 지원하는브이피엔(vpn) 시스템 및 운용방법

Also Published As

Publication number Publication date
KR20080051576A (ko) 2008-06-11

Similar Documents

Publication Publication Date Title
US11115339B2 (en) Network congestion control method, device, and system
US9781052B2 (en) Virtual machine and application movement over local area networks and a wide area network
US20180288179A1 (en) Proxy for serving internet-of-things (iot) devices
US7283538B2 (en) Load balanced scalable network gateway processor architecture
US6510135B1 (en) Flow-level demultiplexing within routers
US7702809B1 (en) Method and system for scaling network traffic managers
US8516113B1 (en) Selective compression for network connections
WO2018165009A1 (en) Vertical packet aggregation using a distributed network
US8224919B2 (en) Mobile communications system including intermediate service provider and related methods
Dreibholz et al. Transmission scheduling optimizations for concurrent multipath transfer
WO2016049609A1 (en) Application-aware multihoming for data traffic acceleration in data communications networks
AU2007320794B2 (en) Selective session interception method
JP5098820B2 (ja) フレーム中継装置およびフレーム中継方法
JP2002281070A (ja) 情報中継装置及び転送方法
US9635148B2 (en) Partitioning data sets for transmission on multiple physical links
JP2002271363A (ja) ネットワーク接続装置
JP2004520725A (ja) サテライトを介するインターネット
KR100748698B1 (ko) 보안 통신 시스템의 패킷 처리 방법 및 그 장치
CN114268518B (zh) 一种实现sdwan数据隧道转发加速的方法及系统
CN111224888A (zh) 发送报文的方法及报文转发设备
KR100886925B1 (ko) 다중 터널을 지원하는 왠 가속 최적화 장치 및 그 방법
Niu et al. Backfill: An efficient header compression scheme for OpenFlow network with satellite links
US20200076718A1 (en) High bandwidth using multiple physical ports
Evensen et al. Using multiple links to increase the performance of bandwidth-intensive UDP-based applications
US8355399B1 (en) Communication method and system for a traffic shaper network

Legal Events

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

Payment date: 20130226

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140225

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee