TCP Express로 WAN 및 LAN 애플리케이션 성능 최적화

개요

인터넷 및 엑스트라넷 애플리케이션을 제공하는 기업의 경우, TCP/IP의 비효율성에 WAN 지연 시간과 패킷 손실의 영향까지 더해져 애플리케이션 성능이 저하됩니다. 그 결과 애플리케이션 응답 시간이 늘어나고 대역폭 활용 효율성(대역폭을 최대한 활용하는 능력)이 크게 떨어집니다.

F5의 BIG-IP Local Traffic Manager는 실제 클라이언트 및 인터넷 환경을 정확하게 모델링하지 못하는 패킷 폭주 테스트 하네스가 아닌 실제 네트워크에서 WAN 및 LAN 애플리케이션 성능을 획기적으로 향상하는 최첨단 TCP/IP 스택을 제공합니다.

TCP Express라고 하는 이 고도로 최적화된 TCP/IP 스택은 여러 첨단 TCP/IP 기술과 최신 RFC의 개선 사항을 결합합니다. F5가 개발한 다양한 개선 사항과 확장 기능은 혼잡과 패킷 손실 및 복구로 인한 영향을 최소화합니다. 독립적인 테스트 도구와 고객 경험에 따르면 TCP Express는 서버, 애플리케이션 또는 클라이언트 데스크톱을 변경하지 않고도 최종 사용자에게 최대 2배의 성능 향상과 4배의 대역폭 효율성 향상을 제공합니다.

솔루션

TCP Express: F5의 최적화된 TCP 스택

F5의 TCP Express는 다양한 클라이언트 및 서버 운영 체제에서 기본적으로 지원되는 최적화와 특정 운영 체제에 종속되지 않는 최적화를 활용하는, 표준 기반의 최첨단 TCP/IP 스택입니다. F5의 TCP/IP 스택에는 WAN과 LAN의 효율성을 모두 향상하는 수백 가지 개선 사항이 포함되어 있으며, 그 예는 다음과 같습니다:

  • 고속 LAN의 경우: F5의 TCP 스택은 버퍼 크기를 빠르게 확장하고 짧은 지연 시간을 감지하여 혼잡을 관리합니다.
  • 저속 WAN의 경우: F5의 TCP 스택은 클라이언트 속도를 감지하고 대역폭을 추정하여 패킷 손실을 줄이고 패킷이 유실된 경우 복구를 지원합니다.

BIG-IP Local Traffic Manager의 핵심에는 모든 BIG-IP 플랫폼과 소프트웨어 애드온 모듈에 F5의 최적화된 TCP/IP 스택을 제공하는 TMOS 아키텍처가 있습니다. LAN 및 WAN 통신의 클라이언트와 서버 모두에 적용되는 이러한 고유한 최적화 덕분에 F5 솔루션은 이에 상응하는 기능을 제공할 수 없는 패킷 단위 시스템보다 앞서 있습니다. 이러한 시스템은 최적화 수준, 패킷 손실 복구 또는 최적화되지 않은 클라이언트와 서버 간의 중개 측면에서도 F5 솔루션에 미치지 못합니다.

F5의 TMOS 풀 프록시 아키텍처와 TCP Express를 결합하면 모든 TCP 기반 애플리케이션의 성능이 크게 향상됩니다. 이러한 기술을 사용한 BIG-IP는 다음과 같은 성능을 제공하는 것으로 입증되었습니다:

  • 연결되는 모든 클라이언트 유형의 전송 속도 향상
    • 광대역 사용자 기준 평균 79%의 성능 향상
    • 전화 접속 클라이언트의 성능이 평균 35% 향상
  • 전화 접속 클라이언트의 연결 안정성 향상
    • TCP/IP 오류 평균 56% 감소(대부분 TCP 시간 초과)
  • 기존 ISP 제공업체 전반의 대역폭 효율성 향상
    • 회선을 통해 전송되는 데이터 224% 증가(3.2배 개선)
    • 네트워크상 패킷 50% 감소(2배 개선)
    • "빈" TCP 패킷을 63% 제거(2.7배 개선)

다음 섹션에서는 TMOS 지원 아키텍처와 TCP Express가 트래픽 흐름을 최적화하는 데 사용하는 표준 TCP RFC 및 최적화 기법 중 일부를 설명합니다. 모든 상황에 적합한 단일 솔루션은 없으므로, 이 문서에서는 TCP 프로파일을 사용자 지정하고 레거시 시스템과의 통신을 처리하는 방법도 설명합니다.

TMOS 아키텍처 및 TCP/IP 스택 브로커링

대부분의 조직은 서버 운영 체제를 자주 업데이트하지 않으며, 일부 애플리케이션은 여전히 매우 오래된 시스템에서 실행됩니다. 이러한 레거시 인프라는 애플리케이션이 WAN을 통해 전송될 때 상당한 지연을 유발할 수 있습니다. TCP Express가 적용된 BIG-IP Local Traffic Manager는 기업 데이터 센터 내 서버에서 실행 중일 수 있는 오래되었거나 표준을 준수하지 않는 TCP 스택을 보호하고 투명하게 최적화할 수 있습니다. 이는 해당 장치와의 호환성을 유지하는 동시에 연결의 클라이언트 측에서 F5의 TCP/IP 스택 최적화를 독립적으로 활용함으로써 구현되며, 연결된 모든 장치와 네트워크 상태에 완전히 독립적이고 최적화된 TCP 동작을 제공합니다.

다양한 TCP/IP 스택을 연결하는 풀 프록시인 TMOS는 F5의 고유한 TCP Express 기능 세트에 포함된 여러 WAN 최적화를 구현하는 핵심 요소입니다. 클라이언트와 서버 연결은 서로 분리되어 제어되며, 연결되는 모든 장치에 최상의 성능을 제공하도록 각각 독립적으로 최적화됩니다.

BIG-IP Local Traffic Manager는 클라이언트와 서버가 통신을 위해 최소 공통 기준을 협상할 필요가 없도록 해줍니다. 클라이언트를 대신해 중개(스택 브로커링이라고 함)하고 TCP Express를 사용하여 클라이언트 측 전송을 최적화하는 동시에, 다음 그림과 같이 네트워크 내부에서는 서버에 최적화된 연결을 유지합니다.

조직에서는 기존 서버와 애플리케이션을 제거하거나 교체할 리소스가 부족하거나 그럴 필요가 없는 경우가 많습니다. 이러한 시스템을 지원하기 위해 BIG-IP Local Traffic Manager는 다음과 같이 최적화되지 않았거나 서로 호환되지 않는 장치 간의 변환을 중개합니다:

  • 클라이언트와 서버가 모두 최적의 속도로 데이터를 전송할 수 있도록 각각 별도의 MSS를 유지합니다. 클라이언트와 서버는 TCP 통신의 한 세그먼트에 포함할 수 있는 최대 데이터 양을 결정하기 위해 MSS를 서로 알립니다. 양측은 최대한 호환되는 통신을 구현하기 위해 MSS를 협상하지만, 이 과정에서 가장 낮은 공통 MSS 값으로 협상해야 하므로 클라이언트나 서버 중 하나가 최적화되지 않는 경우가 많습니다.
  • 클라이언트가 지원되지 않는 서버에 연결할 때도 TCP 선택적 확인 응답(SACK), TCP 타임스탬프 등의 다양한 최적화 기능을 유지합니다.
  • 연결된 각 장치(모든 클라이언트와 모든 서버)에 맞게 TCP 윈도 크기와 TCP 혼잡 정보를 동적으로 자동 최적화합니다.
  • TCP FIN-PUSH와 상호 운용되지 않는 Windows 및 구형 Solaris 시스템과 같은 스택 간의 상호 운용성을 유지합니다. 이는 광범위한 사용자층에 서비스를 제공하려는 기업이 흔히 직면하는 다양한 스택 상호 운용성 문제 중 하나에 불과합니다.

BIG-IP Local Traffic Manager는 WAN 통신을 개선할 뿐만 아니라, 모든 클라이언트와 백엔드 서버 사이에서 브리지 또는 변환 장치 역할을 수행하여 이러한 기능을 전체 인프라에 적용합니다. 그 결과 BIG-IP Local Traffic Manager는 네트워크의 비효율성을 감추면서 성능을 향상합니다. 따라서 모든 클라이언트와 서버를 일일이 업데이트하고 튜닝할 필요가 없어 비용과 복잡성이 줄어듭니다.

TCP/IP RFC에 대한 F5의 개선 사항

F5의 가장 중요한 TCP/IP 개선 사항은 다음과 같습니다:

  • 클라이언트 가속 및 오류 방지
  • 링크 활용률 개선
  • 사용자 지정 가능한 TCP 제어

이러한 개선 사항은 업계 표준 RFC를 기반으로 구현되었습니다. 다음 섹션에서는 TCP Express의 주요 RFC 중 일부를 중점적으로 설명합니다.

클라이언트 가속 및 오류 방지 RFC

  • 지연 승인, 네이글 알고리즘 (RFC 896, 1122) BIG-IP Local Traffic Manager가 전송해야 하는 패킷 수를 줄여 데이터 전송을 가속화할 수 있도록 합니다. 지연 승인은 불필요한 승인 패킷을 줄이기 위해 승인 패킷을 언제 전송해야 하는지 결정하는 표준 메커니즘을 제공합니다. 또한 네이글 알고리즘은 여러 개의 작은 패킷을 더 적은 수의 큰 패킷으로 통합하는 표준 절차를 제공합니다.
  • 선택적 확인 응답 (RFC 2018, RFC 2883) BIG-IP Local Traffic Manager가 WAN 및 손실이 많은 네트워크에서 손실되거나 순서가 뒤바뀐 패킷을 더욱 효과적이고 신속하게 처리할 수 있도록 합니다. 이 기능은 인터넷 통신을 위해 Windows XP 이상과 기타 모든 최신 TCP 스택에서 기본적으로 활성화되어 있습니다. 확장 기능을 사용하면 SACK 옵션의 사용을 지정하거나 중복 패킷을 확인 응답할 수 있습니다.
  • 명시적 혼잡 알림 ECN (RFC 3168, 2481)은 BIG-IP Local Traffic Manager가 중간 라우터의 과부하 상태를 피어에 선제적으로 알려, 피어가 전송 속도를 낮추고 패킷 손실을 방지할 수 있도록 합니다. TCP 헤더의 예약 플래그(ECE 및 CWR)를 사용하여 피어에 혼잡 상태를 전달할 수 있습니다.
  • 제한 및 빠른 재전송 (RFC 3042, RFC2582) 손실된 데이터를 효율적으로 재전송하여 패킷 손실로 인한 시간 초과의 영향을 없앨 수 있습니다.
  • 적응형 초기 혼잡 윈도우 (RFC 3390) TCP 슬로 스타트 혼잡 회피로 인한 비용을 줄입니다. 더 큰 초기 혼잡 윈도우에 관한 연구에 따르면 패킷 손실률 증가 없이 위성 링크를 통한 HTTP 전송 성능은 30%, 28.8bps 전화 접속 사용자의 성능은 10% 향상되었습니다. 동일한 경로를 공유하는 TCP 연결(인터넷 호스트 100대로 16KB 전송)의 경우, 초기 윈도우가 1개 세그먼트일 때와 비교해 4개 세그먼트(512바이트 MSS)로 구성된 초기 윈도우를 사용한 전송 성능이 약 25% 향상되었습니다.

링크 활용도 개선 관련 RFC

  • 혼잡 회피를 적용한 TCP 슬로 스타트 (RFC 3390, 2581) 패킷이 손실될 정도로 링크가 혼잡해지지 않도록 링크를 통해 전송할 적절한 데이터 양을 찾아가는 방식입니다. 이 기능을 통해 조직은 대역폭 활용도를 높이고 기존 공용 인터넷 연결 및 전용 회선에서 더 높은 처리량을 달성할 수 있습니다.
  • 대역폭 지연 제어 (RFC 793, RFC 2914, RFC 1257) F5는 네트워크 용량을 초과하지 않으면서 네트워크에 전송할 최적의 부하를 더욱 정확하게 추정할 수 있도록 대역폭 지연 계산 기능을 개선하고 확장했습니다.

TCP 확장 RFC

  • 타임스탬프 (RFC 1323) BIG-IP Local Traffic Manager에서는 다른 최적화에 도움이 되도록 TCP 세그먼트에 데이터를 추가하는 타임스탬프를 선택적으로 사용할 수 있습니다. 최신 네트워크에서는 타임스탬프가 매우 유용하지만, 일부 레거시 라우터와 NAT 장치는 타임스탬프를 0으로 설정하거나 업데이트하지 않아 그 이점을 무효화합니다. 따라서 이러한 기능과 기타 기능은 프로필별로 조정할 수 있습니다.
  • TCP TIME-WAIT 강제 종료 위험 개선 (RFC 1337) TIME-WAIT 동작을 최적화하면 발생 가능한 몇 가지 통신 오류를 방지할 수 있습니다. 특히 TIME-WAIT 상태에서 리셋 세그먼트를 수신했을 때 아무런 동작도 수행하지 않도록 할 수 있습니다.
  • 시퀀스 번호 공격 방어 (RFC1948) TCP Express는 안전한 ISN 생성을 사용하여 대부분의 시퀀스 번호 추측 공격을 차단합니다.
  • TCP 혼잡 관리 개선 (RFC 3168) TCP Express는 현재 인터넷에서 사용할 수 있는 최신 TCP 혼잡 회피 및 혼잡 복구 방식을 모두 구현하여 가용 대역폭을 늘리고 혼잡 발생 시 복구 속도를 높입니다.
  • 혼잡 윈도우가 큰 TCP의 느린 시작 개선 (RFC 3742) 연결에서 매우 큰 TCP 윈도우를 사용할 때 대량의 손실이 발생하지 않도록 보다 보수적인 느린 시작 동작을 사용합니다.
  • 적절한 바이트 계산 (RFC 3465) 각 ACK가 이전에 확인되지 않은 바이트 수를 사용하여 윈도우 크기를 더욱 지능적으로 조정하고 TCP 성능을 향상합니다.
  • TCP 빠른 복구 알고리즘 개선(NewReno) (RFC 3782) TCP의 빠른 복구 알고리즘에 대한 NewReno 수정안은 약간의 변경을 규정합니다. 이에 따라 TCP 송신자는 SACK이 유용하지만 사용할 수 없는 상황에서 부분 확인 응답을 바탕으로 다음에 전송할 세그먼트를 추론할 수 있습니다.

종합적인 성능 개선

TCP Express는 실제 환경에서 TCP 상호 운용성을 개선하는 수백 가지 기능을 구현하고, 상용 제품 스택(Windows 7 이상, IBM AIX, Sun Solaris 등)의 문제를 수정하거나 해결 방법을 제공하므로, 성능 향상의 대부분을 차지하는 단일 최적화 기법은 없습니다. 이러한 최적화는 특정 클라이언트/서버 유형과 트래픽 특성에 따라 달라집니다. 예를 들면 다음과 같습니다.

  • 대역폭이 훨씬 넓은 광대역 환경에서는 대부분의 TCP가 링크의 전체 용량을 효율적으로 활용하지 못하므로, BIG-IP는 추가적인 최적화 기능을 제공합니다.
  • 클라이언트가 전화 접속을 사용하는 경우, TCP Express의 주요 이점은 BIG-IP가 특정 트랜잭션에서 전송되는 총 패킷 수를 줄이고 더 빠른 재전송을 지원할 수 있다는 것입니다.

BIG-IP는 더 빠른 연결에서도 전화 접속 환경과 마찬가지로 패킷 왕복 횟수를 줄이고 재전송을 가속합니다. 또한 BIG-IP Local Traffic Manager와 TCP Express는 혼잡 제어와 윈도우 크기 조정을 최적화하여 최대 대역폭을 향상합니다. 전화 접속 사용자가 개선 효과를 가장 뚜렷하게 체감할 수 있지만, 일부 기능 향상이 고속 링크의 최고 성능을 크게 높이기 때문에 통계적으로는 광대역 사용자의 개선 효과가 가장 명확하게 나타납니다.

일반적으로 교환되는 데이터가 많을수록 대역폭 최적화가 더 많이 적용됩니다. 교환되는 데이터가 적을수록 왕복 지연 시간(RTT) 최적화가 더 많이 적용됩니다. 따라서 전화 접속처럼 많은 데이터를 교환하지 않는 트래픽 프로필은 광대역보다 더 큰 최적화 효과를 얻을 수 있습니다. 반면 많은 데이터를 교환하는 트래픽 프로필의 경우에는 광대역에서 가장 큰 최적화 효과를 얻을 수 있습니다. 두 경우 모두 TCP Express를 사용하면 상당한 성능 향상을 실현할 수 있습니다.

사용자 지정 가능한 TCP 제어

TCP Express는 자동으로 작동하며 별도의 수정이 필요하지 않지만, BIG-IP Local Traffic Manager는 사용자가 특정 비즈니스 요구 사항에 맞게 TCP 통신을 조정할 수 있도록 TCP 스택에 대한 고급 제어 기능을 제공합니다. 여기에는 장치에서 프런트엔드로 처리되는 각 애플리케이션별로 가상 서버 수준에서 최적화 옵션과 설정을 선택하는 기능이 포함됩니다. 관리자는 TCP 프로필을 사용하여 다음의 각 TCP 변수를 조정할 수 있습니다:

  • TIME-WAIT 재사용
  • 지연된 ACK
  • 프록시 MSS
  • 프록시 옵션
  • 지연 수락
  • 선택적 확인 응답
  • ECN
  • 제한 전송
  • rfc1323
  • 슬로 스타트
  • 대역폭 지연
  • 네이글
  • 프록시 버퍼

관리자는 이러한 제어 기능을 사용하여 특수한 네트워크 환경이나 애플리케이션 요구 사항에 맞게 TCP 통신을 조정할 수도 있습니다. 모바일 및 서비스 제공업체 업계의 고객은 알려진 장치(예: 휴대전화)와 네트워크 환경에 맞게 통신을 조정함으로써 성능, 안정성 및 대역폭 활용도를 더욱 향상할 수 있습니다.

애플리케이션을 위한 스택 설정 조정

TCP Express는 사용자 지정 서비스를 최적화할 수 있는 유연한 스택 설정을 제공합니다. 예를 들어 모바일 사용자에게 제공되는 ASP 애플리케이션을 최적화하도록 이러한 설정을 조정할 수 있습니다. 다음 표에서는 BIG-IP Local Traffic Manager에서 수정할 수 있는 스택 설정을 설명합니다.

LAN을 통한 고도의 대화형 트래픽 최적화

LAN의 트래픽이 고도의 상호작용을 요구하는 경우, F5는 최상의 성능을 위해 다른 TCP 설정 조합을 사용할 것을 권장합니다. F5는 Nagle 알고리즘이 WAN에서 패킷 수를 줄이고 일반적인 압축/RAM 캐싱을 수행하는 데 매우 효과적이라는 사실을 확인했습니다. 또한 다양한 버퍼 크기를 조정하면 지연 시간이 짧은 LAN에서 고도의 상호작용이 필요한 통신 성능을 향상할 수 있으며, 이로 인해 발생할 수 있는 유일한 비용은 BIG-IP Local Traffic Manager의 메모리 사용량 증가입니다.

다음 표에서는 수정 가능한 TCP 프로파일 설정에 대해 설명합니다.

기타 F5 가속 기술

TCP Express는 사용자 다운로드 시간을 더욱 단축하고 인프라 리소스를 최적화하는 다른 F5 가속 기능 및 제품과 함께 사용됩니다.

BIG-IP Local Traffic Manager에 통합된 기타 가속 기능은 다음과 같습니다:

  • HTTP 압축은 고도로 구성 가능한 GZIP 압축 기능을 사용하여 회선을 통해 전송되는 바이트의 크기를 줄입니다.
  • Fast Cache는 우선순위가 높은 애플리케이션을 캐싱하고 공유 시스템에서 여러 애플리케이션을 호스팅하기 위한 제어 기능을 확장하여 서버의 부하를 줄이고 서버 CPU를 절약합니다. 압축된 데이터를 캐시에 저장하면 콘텐츠를 더욱 빠르게 전송할 수 있으며 BIG-IP의 확장성이 향상됩니다.
  • OneConnect는 서버에서 TCP 연결을 오프로드하여 서버 용량을 최대 60%까지 늘립니다.
  • Content Spooling은 서버에서 수행해야 하는 TCP 세분화 작업량을 줄여 서버의 TCP 오버헤드를 감소시키고 서버 용량을 최대 15%까지 늘립니다.

결론

인프라의 용량과 성능을 개선하려는 조직에 BIG-IP Local Traffic Manager는 연결되는 모든 클라이언트와 서버가 더욱 효율적으로 작동하도록 투명하게 지원하는 독보적인 솔루션을 제공합니다. F5의 고유한 TCP Express는 실제 네트워크 및 애플리케이션 성능을 타의 추종을 불허하는 수준으로 향상시키며, 조직이 미션 크리티컬 애플리케이션의 TCP 통신을 최적화할 수 있도록 전례 없는 수준의 제어 기능을 제공합니다.

2017년 10월 27일 게시