데이터 전송 지연 현상

데이터 전송 지연 현상

상태
해결
분야
Computer Resouce
Computer Network

Challenge to be addressed

미국에서 회사로 데이터를 전송할 때, 기존에는 지연없이 안정적으로 수신되었다. 새로운 Fortigate 방화벽 설치 이후부터 미국 지역에서만 데이터 전송 지연(latency) 현상이 발생했다. 초기에는 해저 케이블 문제로 의심하였으나, 관련 모니터링 사이트를 통해 케이블 상태에 이상이 없음을 확인하였다. 현재의 지연 현상을 해소하고 기존처럼 안정적으로 데이터가 수신되도록 복구하는 것이 해결해야 할 문제이다.
 
notion image

Client

클라이언트에서 데이터 전송 시 소요시간을 확인하기 위해 WireShark로 분석하였지만, AWS 오사카 Region에서 전송했을 때와 AWS 북미 Region에서 전송했을 때를 비교했을 때 별다른 차이를 찾지 못하였다.

Fortigate Firewall

클라이언트 데이터 전송시 바로 패킷 로그가 뜨는 것을 확인하였다.

Server

Fortigate에서 패킷 로그가 뜨자마자 서버가 받는 것도 확인하였다.
 
3개를 봤을 때, 바로바로 패킷이 가지만 어디서 병목현상이 일어나는지 알지 못하였다.
 
약 하루 정도 원인을 찾아보았지만 문제를 해결하지 못했다. 이후 선임님께서 원인을 찾아 해결하셨다. 포트게이트 설정에 문제가 있을 것으로 생각되어 관련 사례를 찾아보시고, TLS 1.2를 TLS 1.1로 변경하자 병목 현상이 해소되었다고 한다.
 

원인

문제는 TLS 암호화 협상(Handshake) 과정에서의 비호환성과 처리 지연이었다. Fortigate는 기본적으로 TLS 1.2를 우선 사용하도록 설정되어 있었고, 미국쪽 클라이언트는 TLS 1.1만 지원했을 가능성도 높다. 이로 인해 양측이 암호화 알고리즘을 재협상하거나 세션을 여러 번 시도하면서 복잡한 암호화 연산과 긴 네트워크 거리(RTT) 가 겹쳐 병목(latency)이 발생했다.
 

왜 일본에서는 문제가 없었을까?

짧은 왕복 지연 시간(RTT) 때문이다. TLS 1.2의 추가적인 핸드셰이크 절차가 있어도 체감 지연이 거의 없다고 한다.