대용량 파일 전송 솔루션 'Aspera' 기술백서 3탄

2018. 8. 9. 10:06ASPERA/기술 백서

 

안녕하세요

아스파라를 알려주는 KNPEOPLE 입니다.

 

2탄에서는 아스파라의 자세한 소개를 드렸습니다.

 

못보신 분들이있다면

1탄) http://knpeople2018-itstudio.tistory.com/2?category=673181

2탄) http://knpeople2018-itstudio.tistory.com/3?category=673181

들어가셔서 확인해보세요.

 

 

간단하게 보러 오신분들은 조금 생소한 단어가 

많이 나올수있으니 유의해서 봐주시면 좋겠습니다 :)

 

 

고속 TCP 개요


 최근 몇 년 동안 이러한 변화를 구현하는 수많은 TCP 프로토콜 및 TCP 가속화 장치의 신규 고속 버전이 개발되었습니다. 고속 TCP 프로토콜은 AIMD의 근본적인 결함을 인지하고, 이로 인해 발생한 인위적인 병목현상을 줄이고 장기간의 평균 처리량을 향상시키기 위해 이 윈도우 기반 정체 통제 알고리즘을 바꿉니다. 이러한 최신 프로토콜 버전은 일반적으로, 손실이 발생할 때까지 처리량을 증가시키기보다는, 네트워크 대기열 지연 등의 많은 신호를 측정해 정체 감지력을 향상시키는 것을 목표로 삼고있습니다. 이렇게 하여 TCP 흐름이 패킷 손실을 발생시키지 않도록 하며, 인위적으로 정체 방지에 개입하여 거의 무손실인 네트워크에서 장기간 처리량을 향상시키고자 하는 것 입니다.

 

그러나, 그러한 개선이 WAN ( Wide Area Network)에서는 빠르게 줄어들며, 물리적 매체의 오류 또는 교차 트래픽 버스트를 통한 버퍼 오버플로로 인한 패킷 손실을 무시할 수 없게 되었습니다. 그러한 네트워크에서의 단일 패킷 손실로 인해 TCP 발신 창 (window) 이 심각하게 줄어드는 동시에 여러 가지 손실 발생이 데이터 처리량에 재앙과 같은 영향을 끼칩니다.

 

창 (window) 당 한개 이상의 패킷 손실로 일반적으로 전송 시간 초과와 발신자부터 수신자 흐름까지의 대역폭-지연 제품 파이프라인이 발생하고 데이터 처리량이 0으로 하락합니다. 발신자는 필연적으로 데이터 전송을 다시 느리게 시작해야 합니다.

 

대조적으로, Aspera FASP 에서는 전송률이 손실과 연결되지 않습니다. 손실 데이터는 엔드 투 엔드 (end-to-end) 방식의 원하는 대역폭에 해당하는 속도로 재전송 됩니다. 이러한 재전송은 사실상 이상적인 대역폭 효율성을 달성하며, 중복되어 전송되는 데이터가 없고 총 목표 용량이 완전히 활용됩니다.

 

다음 그림2 에서 보듯이, 1% 패킷 손실의 네트위크에서 고속 TCP의 상용 버전 ( CUBIC, H-TCP, BIC 등의 변형 포함 ) 중 하나인 FAST TCP 의 처리량은, 낮은 대기 시간 네트워크에 있는 표준 TCP Reno  상에서 처리량을 개선시키지만, 그 향상치는 일반적인 국가 간 및 대륙 간 링크의 높은 왕복 트립에서 급격한 성능 저하를 보입니다. 이와는 대조적으로, FASP 처리는 네트워크 지연 증가로 인한 저하 없이 95% 이상의 대역폭 용량에서 최대 100%의 효율적인 전송과 유효 파일 전송 처리량을 달성합니다. 마찬가지로, 패킷 손실이 증가할 때 ( ex) 5% 손실 또는 그 이상), FASP 처리량도 동일한 양까지만 감소합니다. 더 높은 손실률에서는 가속화 되었던 TCP 처리량이 Reno 에 근접합니다.

 

 

 

 

패킷 손실에 대한 표준 및 고속 TCP의 반응 떄문에 발신자는 발신 창을 줄여야 함으로써 불규칙한 전송 속도를 일으키며, TCP 순차 전송 보장을 유지하기 위해 재전송되는 패킷을 가지고 있는 발신 창에서 새로운 패킷을 회피하기까지도 합니다. 동일한 TCP 발신 창에서 새로운 패킷과 재전송 되는 패킷킷을 전송하게 되어, 전송 무결성을 보장하는 TCP 의존 통계장치에 의해 성능이 낮은 TCP 혼잡 통계 장치를 마비시키고, 벌크 (대량) 데이터와 같이 순차 전송이 필요 없는 애플리케이션에 전송 처리능력 저하를 초래합니다.

 

TCP 의존성은 데이터가 손실되지 않도록 보장하며 (손실된 패킷은 수신자가 감지하고 그 후 발신자가 재전송함), 수신된 데이터는 순서에 따라 애플리케이션으로 전송됩니다. TCP는 이러한 두 가지를 보장하기 위해 손실 패킷을 재전송할뿐만 아니라 누락된 패킷이 도착할 떄까지 조기 도착한 패킷, 순서를 벗어난 패킷을 지연시키고 (커널 메모리에 임시 보관) 수신된 데이터를 순차적으로 애플리케이션 계층에 전송할 수 있있습니다. 수신자가 누락되었던 데이터를 받을때까지, 들어오는 패킷을 RAM 에 계속 보관해야 하는 요구를 고려할 경우, 재전송은 급박한 최우선 순위이며, 새로운 데이터의 발신도 일제히 늦추어지게 됩니다. 특히, 패킷 손실이 있을 때마다, 새로운 패킷의 속도를 낮추고 ( 일반적으로 발신 창은 손실 패킷이 수신자에게 재전송되고 확인될 때 까지 동결됨) 재전송된 패킷을 기다렸다가 발신이 종료되었을 때 바이트 스트림의 "구멍"을 메꾸어야 합니다. 필연적으로, TCP 에서는 의존 성 (안정성) 과 흐름 통계 (또는 정체 통계)가 설계상 긴밀하게 연게되어있습니다.

 

이러한 유형의 메커니즘은 수많은 애플리 케이션이 요구하는 TCP에 엄격한 순차 바이트 스트림 전송을 지원하지만, 기본적으로 파일 전송 등 엄격한 바이트 순서가 필요하지 않은 애플리케이션에 엄청난 손실을 가하고, 해당 애플리케이션에 숨겨진 인위적인 병목 현상이 시작되어 해당 데이터 처리량을 계한합니다.

 

이상 3탄을 끝으로 4탄에서는 예제를 찾고 설명을 드리겠습니다 :)

 

 

 

 

제품문의는

 

E) info@knpeople.com

T) 02-6212-7882

 

이쪽으로 남겨주시면

친절하게 답변드리겠습니다.