TCP 가속

TCP acceleration

TCP 가속은 최종 애플리케이션을 수정하지 않고, 표준 TCP가 달성하는 것보다 네트워크 연결에서 더 나은 처리량을 달성하기 위한 일련의 기법의 이름이다. 그것은 TCP 튜닝의 대안이나 보충물이다.

일반적으로 사용되는 접근방식으로는 체크섬 오프로드, TCP 세분화 재조립 오프로드, DMA 오프로드, ACK 페이싱, 둘 이상의 미들박스에 있는 TCP 투명 프록시, TCP 오프로드 엔진 등이 있다.

TCP 투명 프록시

TCP 투명 프록시는 네트워크 내에서 TCP 연결을 가로채고 중계함으로써 긴 엔드투엔드 제어 루프를 몇 개의 작은 제어 루프로 분해하는 것을 포함한다. 이 절차를 채택함으로써, 그들은 TCP 흐름이 네트워크 내에서 발생할 수 있는 패킷 손실에 대한 반응 시간이 더 짧도록 허용하고 따라서 더 높은 처리량을 보장한다.

TCP 가속기의 아이디어는 네트워크 프로세서 내부의 TCP 연결을 종료한 다음 데이터를 엔드 시스템을 향한 두 번째 연결로 중계하는 것이다. 송신자로부터 발신되는 데이터 패킷은 패킷 손실 시 로컬 재전송을 담당하는 가속기 노드에서 버퍼링된다. 따라서, 손실이 발생할 경우, 송신자와 수신자 사이의 피드백 루프는 가속 노드와 수신자 사이의 루프로 단축되어 수신자에게 더 빠른 데이터 전달이 보장된다.

TCP는 속도 적응형 프로토콜이기 때문에, TCP 송신자가 패킷을 네트워크에 주입하는 속도는 수신기의 처리 용량뿐만 아니라 네트워크 내의 지배적인 부하 조건에 정비례한다. 네트워크 내에서 만연한 조건은 송신자가 수신한 수신확인에 근거하여 송신자에 의해 판단된다. 가속 노드는 송신자와 수신자 사이의 피드백 루프를 분할하여 패킷당 더 짧은 라운드 트립 시간(RTT)을 보장한다. 더 짧은 RTT는 네트워크의 변화에 더 빠른 응답 시간을 보장하고 송신자에 의한 더 빠른 적응을 보장하여 이러한 변화에 대처하는 데 도움이 된다.

이 방법의 단점으로는 TCP 세션이 가속기를 통해 지시되어야 한다는 점이 있다. 이는 라우팅이 변경되어 가속기가 더 이상 경로에 있지 않게 되면 연결이 끊어진다는 것을 의미한다. 그것은 또한 TCP ack 메커니즘의 엔드투엔드 속성을 파괴한다; 송신자가 ACK를 수신했을 때 패킷은 수신자에게 전달되지 않고 가속기에 의해 저장되었다.

비대칭 TCP 가속

프록시 간에 실행되는 프로토콜이 대개 독점적이기 때문에 TCP 프록시는 그러한 장치를 통신의 양쪽에 배치하도록 요구하는 반면, 비대칭 TCP 가속화는 일방적 배포로 네트워크 성능을 높일 수 있는데, 이는 장치나 소프트웨어를 배치하기 위해서는 피어 연결의 한쪽 끝만이 필요하다는 것을 의미한다.

비대칭 TCP 가속은 WAN 측 프로토콜이 동일한 5-tup 및 상태의 TCP여야 함을 의미한다. 구현은 일반적으로 TCP 프록시처럼 LAN 쪽의 TCP 흐름을 종료한다. 그러나 WAN 쪽에서는 TCP 상태 시스템을 미러링하여 TCP 흐름을 피어로 설정(전송)한다. 가속을 위해, 그들은 대개 WAN 측에서 성능 향상이 있는 호환되는 버전의 TCP를 실행한다. 개선 서비스(FAST TCP, Zeta-TCP, ViBE, Sandvine, Wanos 등)의 대부분은 TCP 정체 회피 알고리즘에 초점을 맞추고 있지만, 일부는 프로토콜의 다른 측면의 성능을 촉진하려고 시도하기도 한다. 예를 들어, 제타-TCP는 혼잡 방지 알고리즘 외에 보다 정확한 손실 감지 및 경험적 다운로드 가속화를 제공하며, ViBEVoIP 안정성을 강화한다.

대칭 TCP 프록시와 비교했을 때, 비대칭 TCP 가속은 모든 종류의 배치 시나리오에서 더 유연하다. 서버 측에만 비대칭 가속 장치를 배치하는 것이 일반적인 설정이다. 그러면 별도의 소프트웨어를 설치할 필요 없이 접속하는 모든 고객들은 그것으로부터 혜택을 받을 것이다. 성능 측면에서 보면 압축 인자가 없으면 비대칭 TCP 가속은 대칭 TCP와 동일한 수준의 개선을 제공할 수 있다.

그러나 대칭 배포를 통해 프록시는 데이터 압축 및 캐싱 작업을 수행할 수 있어 압축 비율의 한 요소만큼 성능을 더욱 향상시킬 수 있다. 그러나 압축/캐싱의 단점은 수신기 측에서 대기 시간이 추가되고 버스트된다.

참고 항목