KR20050099759A - 이동통신망에서 무선 tcp 성능 최적화를 위한 방법 및시스템 - Google Patents

이동통신망에서 무선 tcp 성능 최적화를 위한 방법 및시스템 Download PDF

Info

Publication number
KR20050099759A
KR20050099759A KR1020040024942A KR20040024942A KR20050099759A KR 20050099759 A KR20050099759 A KR 20050099759A KR 1020040024942 A KR1020040024942 A KR 1020040024942A KR 20040024942 A KR20040024942 A KR 20040024942A KR 20050099759 A KR20050099759 A KR 20050099759A
Authority
KR
South Korea
Prior art keywords
wireless
tcp
accelerator
parameter
wireless accelerator
Prior art date
Application number
KR1020040024942A
Other languages
English (en)
Inventor
이상국
이훈상
Original Assignee
이케이테크놀러지(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이케이테크놀러지(주) filed Critical 이케이테크놀러지(주)
Priority to KR1020040024942A priority Critical patent/KR20050099759A/ko
Publication of KR20050099759A publication Critical patent/KR20050099759A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0289Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/04Error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/06Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless

Abstract

본 발명은 무선으로 연결된 구간이 포함된 통신 네트워크에서 TCP 구현에 따른 성능 최적화를 수행하는 무선 가속기를 설치하고, 상기 무선 가속기의 TCP 성능 최적화에 필요한 각종 TCP 알고리즘을 개선하고, 각종 TCP 파라미터 정보를 사용자가 직접 설정하고 조회하며 변경할 수 있도록 하여 시스템의 운영관리와 상태관리 또는 통계관리를 지원함으로써, 향상된 성능의 TCP/IP의 성능최적화를 구현하여 보다 빠르고 효율적인 데이터 통신을 가능하게 하며, 무선 가속기의 장애에 대비한 바이패스(Bypass) 기능을 추가하여 무선 가속기의 장애 시에도 정상적인 서비스가 가능한 무선 가속기에 관한 것이다.
본 발명에 따른 무선 가속기는, 무선 인터넷 환경에 있어서 상기 무선 가속기의 TCP/IP 성능 최적화에 필요한 TCP 알고리즘을 수정 보완하여 구현하고 이 새롭게 구현된 알고리즘에 소정의 파라미터 정보를 사용자로부터 직접 입력 받는 사용자 인터페이스를 제공하기 위한 UI 제공부와, 상기 사용자 인터페이스를 통해 상기 사용자로부터 입력 받은 상기 파라미터 정보를 상기 무선 가속기의 TCP/IP 성능 최적화에 필요한 소정의 세팅 테이터로 변환하기 위한 파라미터 변환부와, 상기 무선 가속기의 메모리 수단에 저장되어 있는 커널(kernel) 레벨의 파라미터 정보를 상기 파라미터 변환부에서 변환한 상기 소정의 세팅 데이터로 갱신하기 위한 파라미터 갱신부와, 상기 갱신된 세팅 데이터를 적용하여 상기 무선 가속기의 구동을 제어하기 위한 구동 제어부, 및 상기 무선 가속기가 사용자가 설정한 파라미터 정보에 의해 동작하는지 여부를 감시하는 장애 감시부와 장애가 발생한 무선 가속기의 동작을 제어하는 장애 처리부를 포함하는 감시 제어부로 구성되어 동작하는 것을 특징으로 한다.
본 발명에 따른 무선 가속기에 따르면, 무선 가속기의 TCP 성능 최적화에 필요한 TCP 알고리즘을 수정, 보완하고 각종 TCP 파라미터 정보를 사용자가 직접 설정하고 조회하며 변경할 수 있도록 하여 시스템의 운영관리와 상태관리 또는 통계관리를 지원함으로써, 보다 빠르고 효율적인 데이터 통신이 가능한 효과를 얻을 수 있고, 커널(Kernel)의 이상 유무 및 소프트웨어의 홀딩(holding) 상태, 전원 및 네트워크의 상태를 감시하는 기능을 제공함으로써 지속적이고 안정적인 TCP 성능 최적화를 수행하여 시스템의 안정성을 도모하는 효과를 얻을 수 있다.

Description

이동통신망에서 무선 TCP 성능 최적화를 위한 방법 및 시스템{A METHOD AND A SYSTEM FOR OPTIMIZING QUALITY OF TCP PERFORMANCE IN MOBILE COMMUNICATION NETWORK}
본 발명은 무선으로 연결된 구간이 포함된 통신 네트워크에 있어서 TCP 구현의 성능 최적화를 수행하는 무선 가속기에 관한 것으로, 더욱 상세하게는 상기 네트워크의 라우터(Router)와 스위치(Switch) 사이 또는 스위치(Switch)와 각종 서버(HTTP, E-mail, FTP, VOD, MOD 등)사이의 구간에 설치되어, TCP 구현의 성능 최적화를 수행하는 무선 가속기의 동작에서 TCP 성능 최적화에 필요한 각종 TCP 파라미터 값을 사용자가 직접 설정하고 조회하며 변경할 수 있도록 하여 시스템의 운영관리와 상태관리 또는 통계관리를 지원함으로써, 보다 빠르고 효율적인 데이터 송수신을 수행하는 네트워크 운용을 가능하게 하고, 무선 가속기가 사용자가 입력한 파라미터 정보에 의해 동작하는지 여부를 감시하고 제어하는 감시 제어부를 상기 무선 가속기에 추가 구성하여 프로세스와 하드웨어의 상태에 대한 장애 여부를 관리함으로써 네트워크 운용의 연속성을 보장하기 위한 시스템의 안정성을 확보할 수 있는 무선 가속기에 관한 것이다.
유선망을 바탕으로 한 인터넷 서비스는 다양한 응용을 통해 대표적인 데이터 통신 시스템으로 발달되어 왔으며, 셀룰러 및 PCS 이동 통신망 기술은 보편적인 음성 통신 수단으로 자리잡고 있다. 최근 들어 사용자들은 이동이 가능하며 케이블을 필요로 하지 않는 무선 단말기를 이용해 보다 자유롭게 인터넷을 이용하기를 원하고 있으며, 동시에 기존의 유선망에서와 같은 품질을 기대하고 있다. 이를 위하여 차세대 이동 통신 서비스인 IMT-2000은 고속 무선 패킷 데이터 서비스의 제공을 목적으로 개발되어 현재 시범 운영 중이다.
이처럼 지금까지의 인터넷은 LAN, ADSL, 케이블 모뎀 등 유선 환경에서 주로 사용되고 있지만 앞으로는 사용자들이 이동이 가능한 휴대용 무선 단말기나 무선 모뎀 등을 이용한 무선 환경에서의 인터넷 사용이 증가할 전망이다. 향후 무선 환경에서 제공되는 서비스는 현재 유선 환경에서 PC기반으로 제공되는 서비스로 점차 영역을 확대해 갈 것으로 예상된다. 텍스트 기반의 인터넷 검색, E-mail 송수신, 전자상거래 등에서 파일 전송(FTP), 원격 로그인(Telnet) 등, 점차 광대역의 멀티미디어 서비스로의 확대가 예상된다. 이러한 서비스들은 모두 네트워크의 종단간 신뢰성이 보장되는 TCP/IP 프로토콜에 기반을 둔 응용 프로그램들이다. 그러므로 이러한 프로그램들은 TCP/IP 프로토콜의 성능에 크게 영향을 받는다.
하지만 TCP가 처음 만들어졌을 당시에 유선 링크를 고려해서 만들어졌기 때문에 유선 링크에 비해 상대적으로 전송 에러(Transmission Error)가 큰 무선 링크 상에서 TCP 성능은 고려되지 않았으며, 이로 인해 무선 링크 상에서의 TCP 성능이 많이 저하되는 단점이 있다. 따라서 유선에서 이용되고 있는 TCP를 무선 링크의 특성을 고려하지 않고 그대로 무선 링크에서 사용할 경우 사용자가 데이터를 전송할 경우, 많은 패킷(packet)의 손실을 가져오게 되고 TCP 성능이 현저하게 저하된다. TCP는 성능 저하의 원인을 기존의 유선에서 고안된 대로 혼잡에 의한 것이라 판단하고, 이로 인해 양 종단간의 장비가 TCP/IP 동작 상의 불필요한 과정을 반복함으로써, 데이터 전송의 성능을 최적화 시키는데 많은 시간이 소요되고, 성능 향상을 이루지 못하게 된다. 현재 TCP에서 손실된 패킷은 중복 ACK(Duplicate Acknowledgment), ECN, SACK 또는 재전송 타임아웃(Retransmission Timeout)에 의해 감지된다. 패킷이 손실됨에 따라 영향을 받는 대표적인 TCP 파라미터는 SSTHRESH(Slow Start Threshold)와 CWND(Congestion Window)이다. SSTHRESH는 패킷이 손실되었을 경우 현재 SSTHRESH의 값을 현재 CWND 값의 반으로 정의하고. CWND는 중복 ACK에 의한 경우는 현재 CWND 크기의 반으로 줄이고, 수신된 중복 ACK의 수를 더한 값으로 정의하고, 재전송 타임아웃인 경우는 CWND를 1로 설정하고 손실을 인지한 데이터를 수신측에 재전송하게 된다. 이러한 TCP 동작은 처음에 TCP가 만들어졌을 당시에 유선 환경만을 고려해서 만들어졌고 무선 링크에 비해 상대적으로 전송 에러(Transmission Error)에 의한 패킷 손실이 거의 없는 유선 환경에서 모든 손실은 망의 혼잡에 의해서만 발생한다는 가정 하에서 최적의 성능을 나타낼 수 있도록 계속 수정되어 왔다.
하지만 무선 환경은 유선 환경과는 달리 경로 손실, 페이딩, 노이즈, 간섭, 핸드오프 등으로 높은 BER(Bit Error Rate)을 가지며, 이로 인해 패킷 손실률이 증가한다. 따라서 유선에서 이용되고 있는 TCP를 무선 링크의 특성을 고려하지 않고 그대로 무선 링크에서 사용할 경우 전송 에러에 의한 손실들을 모두 혼잡 손실로 인식하고 혼잡 제어(Congestion Control)를 하게 된다. 이러한 TCP 동작은 패킷 손실이 전송 에러에 의해 발생하였을 경우는 불필요한 동작일 뿐 아니라 상당한 성능의 저하를 초래하게 된다.
위와 같은 단점을 극복하기 위하여 무선 링크가 포함된 TCP 연결에서 TCP 성능을 최적화시키는 방법으로는 TCP 송신자를 혼잡에 의한 손실만 감지하게 하고, 에러가 많이 발생하는 부분을 송신자와 격리시키는 방법과, TCP 송신자가 혼잡 손실과 비혼잡 손실을 구별할 수 있도록 ECN(Explicit Congestion Notification) 또는 ELN(Explicit Loss Notification)을 사용하는 방법이 있는데, 이러한 두 가지 접근 방법은 Link Layer 프로토콜, TCP Layer 프로토콜, End to End 프로토콜의 범주로 나뉘어진다.
이러한 무선 링크에서의 TCP 성능을 향상시키는 무선 가속기가 종래에도 개발되어 사용되고 있으나, TCP 성능 최적화에 영향을 미치는 TCP 파라미터 값이 커널 레벨에 고정 입력되어 있어서, 운영상태와 장애상태 등 시시각각 변할 수 있는 통신 환경과 무선 링크가 서비스되는 지역의 네트워크 고유 특성에 알맞게 대처할 수 없다는 단점이 제기되고 있다. 또한 무선가속기의 정상 동작 상태를 감시하고 제어하는 장치가 마련되어 있지 않아서, TCP 성능 최적화를 위해 설치되는 무선 가속기에 장애가 발생하여 네트워크 전반에 걸친 마비를 초래한다면 이는 그 본래의 기능에 오히려 역행하는 결과를 초래한다는 단점이 꾸준히 지적되고 있다.
본 발명은 상기와 같은 종래 기술을 개선하기 위해 안출된 것으로서, 무선으로 연결된 구간이 포함된 통신 네트워크에서 TCP 성능 최적화를 수행하는 무선 가속기를 설치하고, 상기 무선 가속기의 TCP 성능 최적화에 필요한 각종 TCP 알고리즘을 수정, 보완함은 물론, TCP 파라미터 정보를 사용자가 직접 설정하고 조회하며 변경할 수 있도록 하여 시스템의 운영관리와 상태관리 또는 통계관리를 지원함으로써, 향상된 성능의 TCP 최적화를 구현하여 보다 빠르고 효율적인 데이터 통신을 가능하게 하는 무선 가속기를 제공하는 것을 목적으로 한다.
또한, 본 발명에 따른 무선 가속기는 상기 무선 가속기가 사용자가 설정한 파라미터 정보에 의해 정상적으로 동작하는지 여부를 감시하고 제어하는 감시 제어부를 구성에 포함하여 시스템의 하드웨어나 프로세스에 장애가 발생하면 즉시 사용자에게 장애 사실을 알리고, 무선 가속기의 동작에 장애가 발생한 것으로 판단되는 경우에 무선 가속기의 입력 인터페이스로 유입되는 입력 데이터를 출력 인터페이스로 바이패스(Bypass)하도록 제어함으로써, 상기 무선 가속기가 포함된 네트워크의 운용 안정성을 지원하는 무선 가속기를 제공하는 것을 목적으로 한다.
또한, 본 발명에 따른 무선 가속기는 상기 무선 가속기가 포함된 전체 네트워크의 트래픽(Traffic), Throughput, Network Load Statistics 등의 현황에 대한 정보를 실시간으로 입수하고 통계 처리하여 사용자에게 알림으로써, 사용자가 상황에 맞는 TCP 파라미터를 설정할 수 있게 하여 보다 효율적이고 안정적인 무선 네트워크 운영을 가능하게 하는 무선 가속기를 제공하는 것을 목적으로 한다.
상기의 목적을 이루고 종래기술의 문제점을 해결하기 위하여, 본 발명에 따른 무선 가속기는, 무선 인터넷 환경에 있어서 상기 무선 가속기의 TCP 성능 최적화에 필요한 소정의 파라미터 정보를 사용자로부터 직접 입력 받는 사용자 인터페이스를 제공하기 위한 UI 제공부와, 상기 사용자 인터페이스를 통해 상기 사용자로부터 입력 받은 상기 파라미터 정보를 상기 무선 가속기의 TCP 혼잡제어에 필요한 소정의 세팅 테이터로 변환하기 위한 파라미터 변환부와, 상기 무선 가속기의 메모리 수단에 저장되어 있는 커널(kernel) 레벨의 파라미터 정보를 상기 파라미터 변환부에서 변환한 상기 소정의 세팅 데이터로 갱신하기 위한 파라미터 갱신부 및 상기 갱신된 세팅 데이터를 적용하여 상기 무선 가속기의 구동을 제어하기 위한 구동 제어부로 구성되어 동작하는 것을 특징으로 한다.
또한, 본 발명에 따른 무선 가속기는, 상기 무선 가속기의 버퍼(Buffer) 파라미터와, TCP 연결시 혼잡윈도우(CWND : Congestion Window) 크기를 지수적으로 증가시키기 위한 슬로우 스타트(Slow Start) 파라미터와, 상기 혼잡윈도우의 크기를 선형적으로 증가시키는 혼잡회피(Congestion Avoidance) 파라미터와, 데이터 전송 중에 손실된 패킷이 타임아웃 시간까지 낭비되는 휴지시간을 피하기 위한 고속 재전송/고속 회복(Fast Retransmit/Fast Recovery) 파라미터 및 상기 데이터를 전송하고 답변 데이터를 받는 시간 정보와 관련한 재전송 타이머 아웃(RTO : Retransmission Timer Out) 파라미터 중 하나 이상을 사용자가 직접 설정하고 조회하며 변경할 수 있는 사용자 인터페이스를 제공하는 것을 특징으로 한다.
또한, 본 발명에 따른 무선 가속기는, 상기 무선 가속기가 상기 파라미터 정보에 의해 동작하는지 여부를 감시하는 장애 감시부와, 장애가 발생한 무선 가속기의 동작을 제어하는 장애 처리부로 구성되는 감시 제어부를 더 포함하여 상기 무선 가속기의 동작에 장애가 발생한 것으로 판단되는 경우, 상기 무선 가속기의 입력 인터페이스로 유입되는 입력 데이터를 출력 인터페이스로 바이패스(Bypass)하도록 제어하는 것을 특징으로 한다.
이하에서는 본 발명에서 주로 언급되는 유선 인터넷(ADSL, 랜(LAN), 케이블)에서 데이터를 송수신 하기 위한 TCP 성능 최적화의 방법에 대하여 상세히 설명한다.
TCP는 인터넷의 Best-Effort 특성으로 인하여 발생하는 비순서적 패킷 전달과 패킷 중복 전달, 손실 등을 보완하여 신뢰성 있게 데이터를 전송하기 위한 프로토콜이다. TCP는 슬라이딩 윈도우(Sliding Window)와 혼잡 제어를 사용하여 패킷의 흐름이 지연과 대역폭 등의 네트워크 상황에 유연하게 적응하는 탄력적 트래픽(Elastic Traffic)이 되도록 데이터 트래픽을 제어한다. TCP는 ARQ에 기반한 전송 프로토콜로써 순서적(in-order)이며, 신뢰성 있는 데이터 전송을 위해 Cumulative ACK와 바이트 기반(byte-based) 시퀀스 번호를 사용한다.
혼잡 제어 방법은 송신단이 혼잡에 의한 손실 없이 안전하게 전송할 수 있는패킷 양을 알 수 있도록 통신 망의 가용 용량을 송신단이 결정할 수 있도록 한다. 많은 TCP 연결들이 동적으로 설정되고 해제되므로 통신 망의 가용 대역폭은 시간에 따라 동적으로 변한다. 따라서 송신단이 알아서 전송중인 패킷 양을 조절하기 위해 TCP는 점진적 증가/배수적 감소(AIMD, Additive Increase Multiplicative Decrease), 슬로우 스타트(Slow Start), 고속 재전송(Fast Retransmit)과 고속 복구(Fast Recovery)를 결합시켜 혼잡 상태를 제어한다. 망에서 TCP 패킷이 전달되지 않고 손실이 발생하는 이유는 주로 망 경로에 있는 노드의 버퍼 용량을 초과하는 패킷들이 수신되어 폐기되기 때문이다. 전체 손실에서 99% 이상이 이러한 버퍼의 용량 초과로 인한 것이고, 전송 에러로 인해 손실되는 패킷의 비율은 1% 미만으로 알려져 있다. 이러한 결과를 바탕으로 TCP는 재전송 타임아웃을 망의 과부하 인한 혼잡 신호로써 해석하여 전송 속도를 줄인다.
점진적 증가/배수적 감소는 망이 혼잡 상태일 때 CWND를 이전 값의 절반으로 줄여 지수적으로 감소시키며, 계속해서 패킷이 손실되면 CWND를 최소 1까지 줄인다. 이렇게 줄어든 CWND로는 망의 가용 용량을 충분히 사용하지 못하는 경우가 많다. 따라서 CWND를 점진적으로 증가시키기 위해 TCP에서는 수신단이 보내온 ACK가 도착할 때마다 일정량을 증가시켜 망의 가용 자원을 효율적으로 사용하게 된다. 혼잡 손실을 발견하고 복구하기 위해서 RTT(Round Trip Time)의 측정치를 이용하여 계산된 재전송 타임아웃 내에 전송된 패킷에 대한 ACK가 수신되지 않으면, 손실된 패킷을 재전송하는 시간 기반 재전송(Timer-Driven Retransmission)을 이용한다.
그러나, 시간 기반 재전송은 네트워크의 가용 대역폭 이용율을 낮게하기 때문에 이를 개선하는 방법으로 수신된 중복 ACK가 일정한 임계값을 넘을 경우 패킷이 손실된 것으로 간주하고, 패킷을 재전송하는 데이터 기반 재전송(Data-Driven Retransmission)을 함께 이용한다. Old-Tahoe 버전에서는 시간 기반 재전송 기법만을 이용하지만, Tahoe, Reno, Newreno 등의 버전에서는 시간 기반 기법과 데이터 기반 재전송 기법을 함께 이용하고 있다.
슬로우 스타트(Slow Start) 모드는 TCP 연결을 시작할 때 CWND를 선형적으로 증가시키는 것이 아니라 지수적으로 증가시켜 망의 가용 대역폭에 빠르게 접근하기 위해서 사용된다. TCP 연결이 처음 생성되었을 때 CWND는 1로 설정되고, 하나의 패킷을 전송한다. 수신단에서 이 패킷을 수신하고 나서 수신된 패킷에 대한 ACK를 송신단에게 전송한다. 송신단은 이 ACK를 수신하면 CWND를 1 증가 시켜 CWND는 2가 된다. 송신단은 CWND가 2이기 때문에 두개의 패킷을 전송하고, 두개의 ACK를 수신한다. 각 ACK를 수신할 때마다 송신단은 CWND를 1씩 증가시키기 때문에 CWND는 4가 된다. 결국 TCP는 매 Round-Trip 시간 마다 CWND를 두 배씩 증가시킬 수 있게 된다. 이러한 CWND의 값은 실질적으로 수신단이 송신단에게 현재 남은 버퍼 크기를 알려주는 AdWin(Advertised Window)과 비교해서 작은 값으로 설정된다. AdWin의 최대값은 64Kbyte이다.
연결이 설정되어 송신단이 최초로 패킷을 전송하기 시작할 때 송신단은 수신단이 보내온 AdWin만큼 한꺼번에 패킷을 전송한다면 망 대역폭에 여유가 있음에도 불구하고 중간에 위치한 노드들의 버퍼 크기에 따라서 버스트(Burst)한 패킷을 전송하지 못하는 경우가 발생할 수 있다. 슬로우 스타트는 이러한 버스트가 발생하지 않도록 패킷 전송의 간격을 조절하도록 하기 위한 것이다. 즉 지수적 증가가 선형 증가보다 빠르더라도 한번에 AdWin 크기의 데이터를 송신하는 것보다는 느린 속도로 전송하는 것이다. 슬로우 스타트는 처음 연결 시와 타임아웃, 패킷 손실(packet loss)이 발생할 때 사용된다.
망에서 전송 가능한 최대의 대역폭에 빠르게 접근하기 위해서 슬로우 스타트를 사용하지만 CWND가 슬로우 스타트 모드의 임계값(Slow Start Threshold: SSTHRESH)에 도달하면 혼잡 회피(Congestion Avoidance) 모드로 전환된다. 혼잡 회피 모드에서는 매 ACK가 도착할 때마다 현재 CWND의 역수만큼씩 증가하여 대략 한 RTT 내에서 한 세그먼트씩 증가하는 선형적인 증가 형태로 진행된다. 결국 TCP는 망의 가용 대역폭을 충분히 이용하면서 망의 상태에 적응한다.
도 1a는 슬로우 스타트와 혼잡회피 메커니즘의 동작을 나타내는 그래프를 도시한 도면이다.
슬로우 스타트 기간에서는 망의 상황이 좋은 것으로 판단하여 매 RTT마다 CWND가 2배씩 지수적으로 증가함으로써 연결 초기의 지연을 피할 수 있다. 망의 혼잡이 발생한 경우에는 SSTHRESH(Slow-start Threshold)을 CWND/2으로 결정하고 Slow-start를 동작한다. SSTHRESH 값에 도달한 후에는 망의 혼잡을 고려하여 CWND가 선형적으로 증가하는 혼잡회피 알고리즘으로 동작한다. 따라서, Slow-start와 혼잡회피 알고리즘은 별개의 알고리즘이지만 같이 동작한다. 한편, 혼잡으로 인한 패킷 손실 발생시 TCP는 재전송 타임 아웃이 발생될 때까지 기다리게 되므로, 그만큼의 시간이 낭비하게 된다. 재전송 타임 아웃이 일어나면, 소스는 현재 CWND의 반으로 SSTHRESH 값을 설정한 후 Slow-start을 동작한다. 결과적으로, 대역폭은 낭비된 시간만큼 휴지 상태가 될 것이고, 소스는 손실된 패킷 이후 모든 패킷을 재전송하게 되는데, 이는 TCP 성능 저하에 가장 핵심적인 요인이 된다.
타임아웃에 의한 재전송은 재전송 타이머를 이용하게 된다. 이 재전송 타이머는 500ms 단위로 시간을 측정한다. 이러한 긴 단위의 해상도를 갖는 타이머를 이용하기 때문에 실제 패킷을 전송하고 ACK를 기다리는 시간이 타이머 단위로 이루어 지게 된다. 이러한 타이머의 동작은 손실된 패킷에 대해 긴 시간동안 아무런 동작도 취할 수 없게 되고 결국 대역폭을 낭비하는 결과를 초래한다. 따라서 이러한 단점을 보완하기 위해 고속 재전송(Fast Retransmission)이 제안되었다.
고속 재전송(Fast Retransmission)은 위에서도 잠깐 언급이 되었듯이 데이터 기반 재전송으로 송신단이 일정 수 이상의 중복 ACK를 수신하면 패킷이 손실된 것으로 간주하고 타임아웃이 되기 전에 손실된 것으로 보여지는 패킷을 재전송한다. 중복 ACK를 3개까지 기다렸다가 재전송하는 것은 이전 패킷이 손실되지 않고 망 안에서 서로 다른 지연을 겪어 수신단에게 전달될 때 송신단이 전송한 순서대로 도착하지 않을 경우도 있기 때문이다. 이러한 고속 재전송을 사용하게 되면 타임아웃 발생횟수를 줄일 수 있고 성능의 향상도 기대할 수 있다. 하지만 CWND의 값이 작아서 고속 재전송을 호출할 충분한 ACK를 수신하지 못하는 경우에는 재전송 타임아웃에 의해 재전송 된다.
도 1b는 고속 재전송 알고리즘을 도시한 도면이다.
상기 도 1에서 도시된 바와 같이, 패킷 3이 전송에 실패를 하고 수신측에서는 패킷 4를 받게 된다. 이런 경우 수신측에서 ACK 값을 패킷 3을 받지 못했다는 의미로써 패킷 2와 같은 값을 중복 ACK로 보내게 된다. 그런데 송신측의 TCP는 어떤 중복 ACK가 전달되었을 때 과연 세그먼트가 혼잡에 의한 손실인지 단순히 순서가 바뀌어서 전달된 것이지 알 수 없으므로 일단은 몇 개의 중복 ACK(일반적으로3개)가 도착하기 까지는 기다리게 된다. 만약 단순히 세그먼트의 순서가 뒤바뀐 것이라면 1개에서 2개까지의 중복 ACK가 수신되는 동안 순서가 바뀐 세그먼트가 전달되어 중복 ACK가 발생했을 가능성이 높다고 할 수 있는 반면, 3개 이상의 중복 ACK가 연속적으로 수신된다면 순서가 바뀐 그 세그먼트는 손실되었을 가능성이 높다고 할 수 있다. 따라서, TCP는 이 중복 ACK를 3개 이상 받게 되면 소스는 RTO(Retransmit Time Out)에 이르는 휴지 시간을 기다리지 않고 즉시 재전송 하는 것이 빠른 재전송 알고리즘이다.
고속 회복(Fast Recovery)은 손실된 패킷을 고속 재전송한 후에 슬로우 스타트를 하지 않고 바로 혼잡 회피(Congestion Avoidance) 모드로 전환되는 것을 말한다. 여기서 고속 재전송을 수행하게 하는 3개의 중복 ACK는 패킷이 손실되었다는 것만을 의미하는 것이 아니다. 즉 수신단은 새로운 패킷을 수신했을 경우에만 중복 ACK를 전송할 수 있기 때문에 두 개의 송신단과 수신단 사이에 아직 패킷이 전송중임을 나타낸다. 따라서 고속 재전송을 수행한 이후에 급격하게 슬로우 스타트를 하게 되는 것은 망의 자원을 낭비하는 것이 된다. 따라서 고속 재전송과 고속 회복은 같이 구현되는 것이 바람직하다.
이하에서는 첨부된 도면을 참조하여 본 발명에 따른 무선 가속기의 TCP 성능 최적화에 대한 실시예를 상세히 설명한다.
도 2는 본 발명의 바람직한 일실시예에 따른 무선 가속기가 설치된 무선 링크 구간을 포함한 통신 네트워크 구성을 도시한 도면이다.
도 2를 참조하면, 무선 통신 사용자가 데이터 통신을 하기 위하여 셀룰라폰, PCS폰, 노트북, PC, PDA 등의 소정의 단말기로 기지국(BTS: Base Tranceiver System)을 통하여 기지국 제어장치(BSC: Base Station Controller)에 접속하면, 기지국내의 무선데이터 처리부(PDSN: Packet Data Serving Node) 또는 WAP게이트웨이(Wireless Application Protocol Gateway)에서 상기 사용자 단말기로부터 입력된 정보와 관련한 데이터를 처리하게 되고, 상기 데이터의 송수신을 위하여 라우터(Router)가 상기 데이터에 관련된 경로를 찾아, L2/L4 스위치를 통하여 사용자가 원하는 소정의 서비스 제공 서버(FTP, HTTP, E-mail)나 호스트와 사용자 단말기를 접속시켜 준다. 이때 무선 가속기는 무선 데이터 처리부(PDSN) 또는 WAP 게이트웨이 뒷단이나 소정의 서비스 제공 서버의 앞단에 설치되어 사용자 단말기와 소정의 서비스 제공 서버나 호스트 사이의 데이터 통신에 따른 TCP 혼잡제어 및 망 흐름 제어(Flow Control)을 통하여 성능 최적화를 수행하게 된다. 상기 무선 가속기는, 스위치와 각종 서비스 제공 서버(FTP, HTTP, E-mail, VOD, MOD 등)사이에 위치할 수도 있으며, 상기 무선 링크가 포함된 통신 네트워크는 이동 통신망에 독립적으로 적용될 수 있는 것을 특징으로 한다.
도 3a는 사용자가 TCP 파라미터를 직접 설정하고 관리할 수 있는 무선 가속기의 내부 구성을 도시한 구성도이다.
본 발명의 바람직한 일실시예에 따른 무선 가속기의 내부 구성은 이동 통신망의 성능 최적화를 위한 각종 TCP 파라미터를 사용자가 직접 설정, 조회, 변경하고, 운영자를 등록하고 삭제, 수정할 수 있으며, 시스템 사용자 접근을 조정할 수 있는 사용자 인터페이스를 제공하는 UI 제공부, 상기 사용자 인터페이스를 통해 사용자로부터 입력 받은 파라미터 정보를 무선 가속기의 TCP 성능 최적화에 필요한 소정의 세팅 테이터로 변환하기 위한 파라미터 변환부, 무선 가속기의 메모리 수단에 저장되어 있는 커널(kernel) 레벨의 파라미터 정보를 파라미터 변환부에서 변환한 소정의 세팅 데이터로 갱신하기 위한 파라미터 갱신부, 갱신된 세팅 데이터를 적용하여 상기 무선 가속기의 동작을 제어하기 위한 구동 제어부, 및 상기 무선 가속기의 동작에 장애가 발생하였는지 여부를 감시하는 장애 감시부와 장애가 발생한 무선 가속기의 동작을 제어하는 장애 처리부를 포함하는 감시 제어부로 구성되어 동작한다.
상기 무선 가속기는 시스템 운영자를 위해서 개발된 관리 기능이 포함된 것을 특징으로 하는데, 관리 기능적인 측면에서의 구성은 구성관리, 운영관리, 장애관리, 상태관리, 통계관리로 분류될 수 있다. 구성관리에서는 TCP 제어 파라미터를 사용자가 직접 설정하고 조회하며 변경할 수 있고, 무선 가속기의 운영을 담당하는 운영자를 등록하거나 삭제 또는 수정하여 사용자 설정을 할 수 있으며, 디버깅(Debugging) 모드를 온오프(on/off) 시키거나 모니터링(monitoring) 할 수 있는 기능을 사용자에게 제공한다. 운영관리에서는 시스템 사용자의 접근을 제어할 수 있고, 상기 무선 가속기가 설치된 이동통신 네트워크의 구성을 관리할 수 있으며, 시스템의 부트업(bootup)과 셧다운(shutdown)을 제공하고, 프로세스의 상태를 확인할 수 있는 기능을 제공한다. 장애관리에서는 하드웨어나 프로세스에 장애가 발생할 시 이를 운영자에게 경고(alert)하여 주는 기능을 제공한다. 상태관리에서는 CPU의 상태 및 Usage를 조회할 수 있고, 메모리의 상태 및 Usage를 조회할 수 있으며, 주요 프로세스의 상태를 조회할 수 있는 기능을 제공한다. 통계관리에서는 상기 무선 가속기가 설치된 웹(WEB), FTP등 서비스 제공 서버의 트래픽(traffic) 현황과 작업처리(Throughput) 현황, 현재 사용하고 있는 가입자의 수 등 네트워크의 로드(load) 현황을 통계하여 운영자에게 나타내는 기능을 제공한다.
도 3b는 본 발명에 따른 무선 가속기 내부의 감시 제어부의 구성을 도시한 구성도이다.
본 발명의 바람직한 일실시예에 따른 무선 가속기의 감시 제어부 내부는 크게, 상기 무선 가속기 동작 상태의 장애 여부를 감시하기 위한 장애감시부(WDT: Watch Dog Timer)(360) 및 무선 가속기의 동작에 장애가 발생할 경우 상기 무선 가속기의 입력 인터페이스로 유입되는 입력 데이터를 출력 인터페이스로 바이패스(Bypass)하도록 제어하는 장애 처리부(370)로 구성된다. 또한 상기 장애 처리부(370)는 무선 가속기로 유입되는 데이터를 입력 받기 위한 입력 인터페이스부(372), 상기 무선 가속기를 통해 TCP 성능 최적화가 구현된 데이터를 외부로 출력시키기 위한 출력 인터페이스부(374), 상기 입력 인터페이스부(372)와 출력 인터페이스부(374)를 무선 가속기 내부를 거치지 않고 직접 연결시켜 주는 우회선(373), 및 상기 입/출력 인터페이스부의 스위치를 구동시키는 스위치 구동부(371)로 구성된다.
장애 감시부(360)는 무선 가속기의 동작에 장애가 발생하였는지의 여부를 감시하고, 무선 가속기의 동작에 장애가 발생할 경우에 스위치 구동부(371)에 장애 발생을 알리는 신호를 전송한다. 상기 장애 발생 신호를 수신한 스위치 구동부(371)는 입력 인터페이스부(372)의 스위치와 출력 인터페이스부(374)의 스위치를 구동시키고, 상기 구동된 스위치들은 입력 인터페이스부(372)를 통해 유입된 데이터를 무선 가속기로 전송하지 않고, 우회선(373)을 통해 출력 인터페이스부(374)로 바이패스(Bypass)시킨다. 상기와 같은 과정으로 감시 제어부는 외부에서 유입된 데이터가 장애가 발생한 상기 무선가속기의 영향을 받지 않고 바로 우회할 수 있도록 하여, 네트워크 운용의 연속성을 보장하고 시스템의 안정성을 확보할 수 있게 한다.
도 4는 사용자로부터 설정되는 각각의 파라미터에 따른 UI 제공부의 구성을 도시한 블록도이다.
본 발명의 바람직한 일실시예에 따르면, 상기 UI 제공부는 무선 가속기의 버퍼(Buffer) 파라미터를 설정하는 버퍼 파라미터부, TCP 연결시 혼잡윈도우(CWND: Congestion Window) 크기를 지수적으로 증가시키기 위한 슬로우 스타트(Slow Start) 파라미터를 설정하는 슬로우 스타트부, 상기 혼잡윈도우의 크기를 선형적으로 증가시키는 혼잡회피(Congestion Avoidance) 파라미터를 설정하는 혼잡 회피부, 데이터 전송 중에 손실된 패킷이 타임아웃 시간까지 낭비되는 휴지시간을 피하기 위한 고속 재전송/고속 회복(Fast Retransmit/Fast Recovery) 파라미터를 설정하는 고속 재전송/고속 회복부, 및 상기 데이터를 전송하고 답변 데이터를 받는 시간 정보와 관련한 재전송 타이머 아웃(RTO: Retransmission Timer Out) 파라미터를 설정하는 재전송 타이머 아웃부 중 하나 이상을 포함하는 것을 특징으로 구성된다.
버퍼 파라미터부에서는 MSS(Maximum Segment Size), 수신버퍼(Receive Buffer), 및 윈도우 스케일링(Window Scaling)에 대한 파라미터를 설정할 수 있는데, MSS는 /proc/sys/net/ipv4/tcp_mss의 값을 설정할 수 있고, 수신버퍼는 /proc/sys/net/ipv4/tcp_rwin 값으로 설정될 수 있으며, 윈도우 스케일링은 /proc/sys/net/ipv4/tcp_window_scaling 값으로 설정될 수 있다.
슬로우 스타트부에서는 초기 혼잡윈도우(Initial CWND), 초기 슬로우 스타트 임계값(Initial SSThreshold), 혼잡윈도우 증가크기(CWND Increment Size), 및 슬로우 스타트 종료조건(Out of Slow Start Stage Conditions)에 대한 파라미터를 설정할 수 있는데, 초기 혼잡윈도우는 /proc/sys/net/ipv4/tcp_init_win 값으로 설정될 수 있고, 초기 슬로우 스타트 임계값은 /proc/sys/net/ipv4/tcp_init_ssthresh 값으로 설정될 수 있으며, 혼잡윈도우 증가크기는 /proc/sys/net/ipv4/tcp_slow_start_increment 값으로 설정될 수 있다.
혼잡 회피부에서는 혼잡회피 증가크기(Congestion Avoidance Increment Size), 슬로우 스타트 임계값(SSThreshold), 혼잡회피 종료조건(Out of Congestion Avoidance Stage conditions), 및 혼잡회피 종료후의 설정값에 대한 파라미터를 설정할 수 있는데, 혼잡회피 증가크기는 /proc/sys/net/ipv4/tcp_cong_avoid_increment 값으로 설정될 수 있다.
고속 재전송/고속 회복부에서는 고속 재전송 임계값(Fast Retransmit Threshold), 고속 회복 설정값(Fast Recovery), SACK(# of Duplicate Ack), 정확한 RTT 계산을 위한 timestamp option 및 ECN 용량(Capability)에 대한 파라미터를 설정할 수 있는데, 고속 재전송 임계값은 /proc/sys/net/ipv4/tcp_reordering 값으로 설정될 수 있으며, SACK는 /proc/sys/net/ipv4/tcp_reordering 값으로 설정될 수 있고, ECN 용량은 /proc/sys/net/ipv4/tcp_ecn (on/off) 값으로 설정될 수 있다.
재전송 타이머 아웃부는 백오프 타임(Back-off Time), 초기 재전송 타이머 아웃값(Initial RTO), 최소 재전송 타이머 아웃값(Min RTO), 최대 재전송 타이머 아웃값(Max RTO), 및 RTT(Round Trip Time)에 대한 파라미터를 설정할 수 있는데, 백오프 타임은 2의 지수배(2, 4, 8, … , 2n)로 재전송 타이머 아웃값이 증가하는 것을 특징으로 하여 설정될 수 있고, 초기 재전송 타이머 아웃값, 최대 재전송 타이머 아웃값, 최대 재전송 타이머 아웃값은 Tcp.h에서 초기(Initial), 최소(Minimum), 최대(Maximum) 재전송 타이머 아웃(RTO) 값이 설정될 수 있다. 상기에 나열한 파라미터 정보들은 각 사업자의 무선망에 기초하여 적절한 값을 설정할 수 있고, 본 발명에서는 종래에 제시하고 있는 TCP 알고리즘을 바탕으로 국내 무선 이동통신망에 적합하게 수정 보완하고, 각 알고리즘이 제시하고 있는 파라미터 정보 이외에 많은 현장 시험과 시뮬레이선(simulation)을 이용한 시험을 통하여 국내 무선 이동통신망에 적합한 파라미터 정보를 채택 적용함으로써 보다 적극적으로 TCP 성능 향상을 도모할 수 있다.
도 5는 UI 제공부의 사용자 인터페이스에서 Web을 이용한 사용자 시스템 관리(management) 화면을 도시한 도면이다.
본 발명의 바람직한 일실시예에 따르면, 사용자는 로그인 과정을 거쳐 무선 가속기에 접속하여 이동 통신망에서의 TCP 성능 최적화와 관련한 각종 파라미터를 설정하고 변경하며 조회할 수 있고, 그와 관련한 시스템의 운영과 장애, 상태, 통계처리 등을 관리할 수 있다.
도 6은 본 발명의 바람직한 일실시예에 따른 무선 가속기를 이용한 TCP 성능 최적화의 과정을 도시한 흐름도이다.
무선 링크를 포함한 통신 네트워크에 설치된 무선 가속기의 동작에 있어서, 사용자가 UI 제공부(310)를 통해 원하는 TCP 성능 최적화를 위한 파라미터 정보를 입력하면(S610), 파라미터 변환부(320)는 상기 파라미터 정보를 무선 가속기의 TCP 성능 최적화에 필요한 소정의 세팅 데이터로 변환한다(S620). 상기 소정의 세팅 데이터는 운영 체계(Operating System) 중 하나인 리눅스(Linux)를 기반으로 한 소정의 기계 언어로 구현될 수 있다. 파라미터 갱신부(330)는 상기 세팅 데이터를 입력 받으면, 커널 레벨의 본 정보를 상기 세팅 데이터로 갱신하고(S630), 구동 제어부는 상기 세팅 데이터로 갱신된 커널 레벨의 정보가 적용된 상기 무선 가속기의 TCP 성능 최적화 동작을 수행한다(S650). 또한 본 발명에 따른 무선 가속기는 커널 레벨의 정보가 새로운 세팅 데이터로 갱신되는 과정에서도, 종래의 무선 가속기가 수행하는 재부팅 과정을 거치지 않고, 갱신된 커넬 레벨을 자동으로 적용하여 TCP 성능 최적화 동작을 계속 수행한다.
TCP 성능 최적화를 위한 무선 가속기의 동작이 구현되는 동안 감시 제어부는 상기 무선 가속기의 동작을 감시하며(S660), 무선 가속기의 일련의 동작에 오류가 발생하여 기능을 제대로 수행하지 못하게 될 경우(S670), 감시 제어부에서 상기 무선 가속기의 입력 인터페이스로 유입되는 일련의 데이터를 받아(S671), 무선 가속기 내부 시스템으로 데이터를 전송하는 것이 아니라 출력 인터페이스로 바이패스(Bypass) 시켜서, 오류가 발생한 무선 가속기의 불능으로 인한 전체 통신 네트워크의 장애를 사전에 방지하는 기능을 수행한다(S672). 상기 바이패스 기능이 수행되는 동안에도 전체 통신 네트워크의 TCP/IP를 이용한 각종 서비스 제공 서버의 동작은 계속 수행된다(S680).
이하에서는 본 발명의 바람직한 일실시예에 따라, 도심의 특정 구역에 상기 무선 가속기를 포함한 통신 네트워크를 구성하여 TCP 성능 최적화를 구현하였을 경우에 나타날 수 있는 성능의 향상에 대하여 설명하도록 한다.
도 7은 네트워크의 동시 접속자 수에 따른 용량 시험 결과를 나타낸 도면이다.
상기 구성된 네트워크에서 제공 가능한 최대 동시 가입자 수인 1000 session에 대하여 처리하고, TCP 동시 접속자 발생 툴로서 httperf를 사용하여 시험한 결과, HTTP Sever에서 최대 CPU 점유율이 54%, 최대 메모리 점유율이 32MB로 나타났고, 무선 가속기에서는 최대 CPU 점유율이 1%, 최대 메모리 점유율이 3MB로 나타남으로써, 메모리 사용률 및 CPU 점유율 측면에서 모두 만족할 만한 결과가 도출되었다.
도 8은 네트워크 데이터 통신의 최대 처리 용량 시험 결과를 나타낸 도면이다.
상기 용량 시험에서는 유선구간상에서 FTP를 사용하고, Fast Ethernet Line 부하율을 에질런트 LAN Advisor를 이용하여 측정하였다. 그 결과 업로드/다운로드를 포함한 총 97.88 Mbps 다운로드 부하율에 대하여 정상적으로 FTP 다운로드가 동작함을 확인할 수 있다.
도 9는 네트워크 운영에 따른 필드 성능 시험 결과를 도시한 도면이다.
상기 시험에서는 300KB, Traffic Timeout 80초 등 정보통신부 품질 측정 기준을 근거로 시험을 진행하였고, 시험을 실시한 지역으로는 서울시 구로-대방-여의도 주변을 그 대상으로 하였다. 무선 가속기를 사용하였을 경우에 데이터 평균 전송 속도는 79.157 Kbps가 측정되었고, 무선 가속기를 사용하지 않고 직접 연결하였을 경우에 데이터 평균 전송 속도는 71.183 Kbps가 측정되어 약 11.2% (7.94)의 성능 향상 결과가 도출되었다.
도 10은 시뮬레이터를 이용한 본 발명에 따른 무선가속기와 종래기술에 따른 무선 가속기와의 성능 비교 시험 결과를 도시한 도면이다.
상기 시험에서는 단일 이동통신 가입자를 대상으로 시뮬레이터(Shunra)를 이용하여, 본 발명에 따른 무선가속기를 사용하였을 경우와, 종래기술에 다른 무선 가속기를 사용하였을 경우, 및 가속을 하지 않았을 경우 각각의 데이터 전송 시간과 속도를 측정하였다. 그 결과로써 패킷 손실을 최대치인 Burst Loss로 시뮬레이터 환경을 설정한 경우, 가속을 하지 않았을 때는 17.65 kbps의 데이터 전송 속도가 측정되었고, 종래기술에 따른 무선 가속기를 사용하였을 때는 25.15 kbps의 데이터 전송 속도가 측정되었으며, 본 발명에 따른 무선 가속기를 사용하였을 때는 39.98 kbps의 데이터 전송 속도가 측정되었다. 상기 시험 결과로, 본 발명에 따른 무선 가속기를 이동통신망의 무선 데이터 통신 시스템에 적용할 경우, 보다 탁월한 TCP 성능 최적화 구현을 도모할 수 있다는 사실을 입증할 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.
본 발명에 따른 무선 가속기에 따르면, 무선으로 연결된 구간이 포함된 통신 네트워크에 TCP 구현에 따른 성능 최적화를 수행하는 무선 가속기를 설치하고, 상기 무선 가속기의 TCP 성능 최적화에 필요한 각종 TCP 파라미터 값을 사용자가 직접 설정하고 조회하며 변경할 수 있도록 하여 시스템의 운영관리와 상태관리 또는 통계관리를 지원함으로써, 보다 빠르고 효율적인 데이터 통신이 가능한 효과를 얻을 수 있다.
또한, 본 발명에 따른 무선 가속기에 따르면, 상기 무선 가속기가 사용자가 설정한 파라미터 정보에 의해 정상적으로 동작하는지 여부를 감시하는 감시 제어부를 구성에 포함하여 시스템의 하드웨어나 프로세스에 장애가 발생하면 즉시 사용자에게 장애 사실을 알리고, 무선 가속기의 동작에 장애가 발생한 것으로 판단되는 경우에 무선 가속기의 입력 인터페이스로 유입되는 입력 데이터를 출력 인터페이스로 바이패스(Bypass)하도록 제어함으로써, 상기 무선 가속기가 포함된 네트워크의 운용 안정성을 지원할 수 있는 효과를 얻을 수 있다.
또한, 본 발명에 따른 무선 가속기에 따르면, 상기 무선 트래픽(Traffic), Throughput, Load Statistics 등의 현황에 대한 정보를 실시간으로 입수하고 통계 처리하여 사용자에게 알림으로써, 사용자가 상황에 맞는 TCP 파라미터를 설정할 수 있게 하여 보다 효율적이고 안정적인 무선 네트워크 운영을 가능하게 하는 효과를 얻을 수 있다.
도 1a은 종래기술에 따른 TCP 혼잡제어의 슬로우 스타트와 혼잡회피 메커니즘의 동작을 나타내는 그래프를 도시한 도면.
도 1b는 고속 재전송 알고리즘을 도시한 도면.
도 2는 본 발명의 바람직한 일실시예에 따른 무선 가속기가 설치된 무선 링크 구간을 포함한 통신 네트워크 구성을 도시한 도면.
도 3a는 사용자가 TCP 파라미터를 직접 설정하고 관리할 수 있는 무선 가속기의 내부 구성을 도시한 구성도.
도 3b는 본 발명에 따른 무선 가속기 내부의 감시 제어부의 구성을 도시한 구성도.
도 4는 사용자로부터 설정되는 각각의 파라미터에 따른 UI 제공부의 구성을 도시한 블록도.
도 5는 UI 제공부의 사용자 인터페이스에서 Web을 이용한 사용자 시스템 관리(management) 화면을 도시한 도면.
도 6은 본 발명의 바람직한 일실시예에 따른 무선 가속기를 이용한 TCP 성능 최적화의 과정을 도시한 흐름도.
도 7은 네트워크의 동시 접속자 수에 따른 용량 시험 결과를 나타낸 도면.
도 8은 네트워크 데이터 통신의 최대 처리 용량 시험 결과를 나타낸 도면.
도 9는 네트워크 운영에 따른 필드 성능 시험 결과를 도시한 도면.
도 10은 시뮬레이터를 이용한 본 발명에 따른 무선가속기와 종래기술에 따른 무선 가속기와의 성능 비교 결과를 도시한 도면.
<도면의 주요 부분에 대한 부호의 설명>
310 : UI 제공부 320 : 파라미터 변환부
330 : 파라미터 갱신부 340 : 구동 제어부
350 : 감시 제어부 360 : 장애 감시부
370 : 장애 처리부

Claims (11)

  1. 무선 가속기에 있어서,
    무선 이동통신망 환경에 있어서 상기 무선 가속기의 TCP 성능 최적화에 필요한 소정의 파라미터 정보를 사용자로부터 직접 입력 받는 사용자 인터페이스를 제공하기 위한 UI 제공부;
    상기 사용자 인터페이스를 통해 상기 사용자로부터 입력 받은 상기 파라미터 정보를 상기 무선 가속기의 TCP 혼잡제어에 필요한 소정의 세팅 데이터로 변환하기 위한 파라미터 변환부;
    상기 무선 가속기의 메모리 수단에 저장되어 있는 커널(kernel) 레벨의 파라미터 정보를 상기 파라미터 변환부에서 변환한 상기 소정의 세팅 데이터로 갱신하기 위한 파라미터 갱신부; 및
    상기 갱신된 세팅 데이터를 적용하여 상기 무선 가속기의 구동을 제어하기 위한 구동 제어부
    를 포함하는 것을 특징으로 하는 무선 가속기.
  2. 제1항에 있어서,
    무선 가속기의 TCP 성능 최적화에 필요한 소정의 파라미터 정보는,
    상기 무선 가속기의 버퍼(Buffer) 파라미터, TCP 연결시 혼잡윈도우(CWND : Congestion Window) 크기를 지수적으로 증가시키기 위한 슬로우 스타트(Slow Start) 파라미터, 상기 혼잡윈도우의 크기를 선형적으로 증가시키는 혼잡회피(Congestion Avoidance) 파라미터, 데이터 전송 중에 손실된 패킷이 타임아웃 시간까지 낭비되는 휴지시간을 피하기 위한 고속 재전송/고속 회복(Fast Retransmit/Fast Recovery) 파라미터, 및 상기 데이터를 전송하고 답변 데이터를 받는 시간 정보와 관련한 재전송 타이머 아웃(RTO : Retransmission Timer Out) 파라미터 중 하나 이상을 포함하는 것을 특징으로 하는 무선 가속기.
  3. 제2항에 있어서,
    상기 버퍼 파라미터는 MSS(Maximum Segment Size), 수신버퍼(Receive Buffer), 및 윈도우 스케일링(Window Scaling) 정보 중 하나 이상을 포함하는 것을 특징으로 하는 무선 가속기.
  4. 제2항에 있어서,
    상기 슬로우 스타트 파라미터는 초기 혼잡윈도우(Initial CWND), 초기 슬로우 스타트 임계값(Initial SSThreshold), 혼잡윈도우 증가크기(CWND Increment Size), 및 슬로우 스타트 종료조건(Out of Slow Start Stage Conditions) 정보 중 하나 이상을 포함하는 것을 특징으로 하는 무선 가속기.
  5. 제2항에 있어서,
    상기 혼잡회피 파라미터는 혼잡회피 증가크기(Congestion Avoidance Increment Size), 슬로우 스타트 임계값(SSThreshold), 혼잡회피 종료조건(Out of Congestion Avoidance Stage conditions), 및 혼잡회피 종료후의 설정값 중 하나 이상을 포함하는 것을 특징으로 하는 무선 가속기.
  6. 제2항에 있어서,
    상기 고속 재전송/고속 회복 파라미터는 고속 재전송 임계값(Fast Retransmit Threshold), 고속 회복 설정값(Fast Recovery), SACK(# of Duplicate Ack), Timestamp 및 ECN 용량(Capability) 중 하나 이상을 포함하는 것을 특징으로 하는 무선 가속기.
  7. 제2항에 있어서,
    상기 재전송 타이머 아웃 파라미터는 백오프 타임(Back-off Time), 초기 재전송 타이머 아웃값(Initial RTO), 최소 재전송 타이머 아웃값(Min RTO), 최대 재전송 타이머 아웃값(Max RTO), 및 RTT(Round Trip Time) 중 하나 이상을 포함하는 것을 특징으로 하는 무선 가속기.
  8. 제1항에 있어서,
    상기 구동 제어부는 상기 파라미터 갱신부가 상기 커널 레벨의 파라미터 정보를 상기 세팅 데이터로 갱신하는 경우, 상기 무선 가속기를 재부팅하지 않고 갱신된 파라미터 정보를 적용하여 상기 무선 가속기를 동작하게 하는 것을특징으로 하는 무선 가속기.
  9. 제1항에 있어서,
    상기 무선 가속기의 상기 커널은 리눅스(Linux)를 운영 체계(Operating System)로 동작하는 것을 특징으로 하는 무선 가속기.
  10. 제1항에 있어서,
    상기 무선 가속기의 동작 상태를 감시하고 제어하는 감시 제어부를 더 포함하는 것을 특징으로 하는 무선 가속기.
  11. 제10항에 있어서,
    상기 감시 제어부는 상기 무선 가속기의 동작에 장애가 발생한 것으로 판단되는 경우, 상기 무선 가속기의 입력 인터페이스로 유입되는 데이터를 출력 인터페이스로 바이패스(Bypass)하도록 제어하는 것을 특징으로 하는 무선 가속기.
KR1020040024942A 2004-04-12 2004-04-12 이동통신망에서 무선 tcp 성능 최적화를 위한 방법 및시스템 KR20050099759A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040024942A KR20050099759A (ko) 2004-04-12 2004-04-12 이동통신망에서 무선 tcp 성능 최적화를 위한 방법 및시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040024942A KR20050099759A (ko) 2004-04-12 2004-04-12 이동통신망에서 무선 tcp 성능 최적화를 위한 방법 및시스템

Publications (1)

Publication Number Publication Date
KR20050099759A true KR20050099759A (ko) 2005-10-17

Family

ID=37278759

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040024942A KR20050099759A (ko) 2004-04-12 2004-04-12 이동통신망에서 무선 tcp 성능 최적화를 위한 방법 및시스템

Country Status (1)

Country Link
KR (1) KR20050099759A (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100619949B1 (ko) * 2004-10-29 2006-09-13 엘지전자 주식회사 고속 이동통신망에서의 티씨피 흐름 제어방법
KR100846344B1 (ko) * 2007-01-05 2008-07-15 삼성전자주식회사 이동통신 시스템에서 전송 제어 프로토콜의 전송 지연을줄이기 위한 장치 및 방법
KR101398589B1 (ko) * 2007-11-15 2014-05-23 삼성전자주식회사 무선 네트워크에서 티시피 성능 향상을 위한 장치 및 방법
KR20170093938A (ko) * 2014-12-10 2017-08-16 노키아 솔루션스 앤드 네트웍스 오와이 통신들의 경험 품질 시행
KR20220056381A (ko) 2020-10-28 2022-05-06 (주)에이시에스 섬유 염색공정용 지능형 제조혁신을 위한 생산자원 데이터 통합화 방법
KR20220056380A (ko) 2020-10-28 2022-05-06 (주)에이시에스 산업지능화 구축을 위한 제조업의 생산자원 데이터 표준화 도출방법

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100619949B1 (ko) * 2004-10-29 2006-09-13 엘지전자 주식회사 고속 이동통신망에서의 티씨피 흐름 제어방법
KR100846344B1 (ko) * 2007-01-05 2008-07-15 삼성전자주식회사 이동통신 시스템에서 전송 제어 프로토콜의 전송 지연을줄이기 위한 장치 및 방법
US8155051B2 (en) 2007-01-05 2012-04-10 Samsung Electronics Co., Ltd Apparatus and method for reducing latency in the transmission control protocol layer of a portable communication terminal
KR101398589B1 (ko) * 2007-11-15 2014-05-23 삼성전자주식회사 무선 네트워크에서 티시피 성능 향상을 위한 장치 및 방법
KR20170093938A (ko) * 2014-12-10 2017-08-16 노키아 솔루션스 앤드 네트웍스 오와이 통신들의 경험 품질 시행
KR20220056381A (ko) 2020-10-28 2022-05-06 (주)에이시에스 섬유 염색공정용 지능형 제조혁신을 위한 생산자원 데이터 통합화 방법
KR20220056380A (ko) 2020-10-28 2022-05-06 (주)에이시에스 산업지능화 구축을 위한 제조업의 생산자원 데이터 표준화 도출방법

Similar Documents

Publication Publication Date Title
US7706269B2 (en) Method, system and device for controlling a transmission window size
KR100785293B1 (ko) 다중 tcp확인응답을 이용한 tcp 혼잡 제어 시스템및 그 방법
JP4283589B2 (ja) 通信装置、通信制御方法及びプログラム
Sinha et al. WTCP: A reliable transport protocol for wireless wide-area networks
US7460472B2 (en) System and method for transmitting information in a communication network
US7277390B2 (en) TCP processing apparatus of base transceiver subsystem in wired/wireless integrated network and method thereof
JP3637389B2 (ja) パケット通信方法及び提案ノード
Lefevre et al. Understanding TCP's behavior over wireless links
US20070223492A1 (en) Methods and apparatus for optimizing a TCP session for a wireless network
WO2010108144A1 (en) Systems and methods for improved wireless interface aggregation
US20060209838A1 (en) Method and system for estimating average bandwidth in a communication network based on transmission control protocol
US20040264370A1 (en) Congestion control method and system for reducing a retransmission timeout count in a transmission control protocol
KR20050021522A (ko) 전송 윈도 사이즈를 계산하는 방법
WO2003015337A1 (en) Uplink session extension
Tsaoussidis et al. Wave & wait protocol (WWP): an energy-saving transport protocol for mobile IP-devices
EP1278348A1 (en) Long-lived TCP connection using ICMP messages in wireless mobile communications
KR20050099759A (ko) 이동통신망에서 무선 tcp 성능 최적화를 위한 방법 및시스템
Ding et al. Delay performance of the new explicit loss notification TCP technique for wireless networks
Abdelsalam et al. Evaluation of TCP wave performance applied to real HTTP traffic
TWI308012B (en) Method for adaptive estimation of retransmission timeout in wireless communication systems
KR101231793B1 (ko) Tcp 세션 최적화 방법 및 네트워크 노드
West et al. TCP enhancements for heterogeneous networks
Ewerlid Reliable communication over wireless links
Itaya et al. Dynamic parameter adjustment for available-bandwidth estimation of TCP in wired–wireless networks
Kirov A simulation analysis of the TCP control algorithms

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination