네트워크 기초
RTT(왕복 시간)가 100 ms인 웹 서버에 HTTPS(TCP 위의 TLS 1.3)로 새로 접속하여, 첫 요청을 보내고 응답을 받기 시작할 때까지 걸리는 시간에 가장 가까운 것은? DNS 이름 해석은 끝났으며, 서버의 처리 시간과 데이터 전송 시간은 무시한다.
- A약 100 ms
- B약 300 ms
- C약 200 ms
정답과 해설 보기
정답: B. 약 300 ms
먼저 TCP의 3-way 핸드셰이크에 1왕복이 걸립니다(클라이언트는 마지막 ACK와 함께 TLS의 첫 메시지를 보낼 수 있습니다). 다음으로 TLS 1.3 핸드셰이크에 1왕복, 그 후 HTTP 요청과 응답에 1왕복이 걸려 합계 3왕복, 3 × 100 = 300 ms입니다. TLS 1.2에서는 키 교환에 2왕복이 걸리므로 4왕복인 400 ms가 됩니다. 이 대기 시간은 거리로 정해지는 RTT의 횟수로 결정되므로 회선의 대역폭을 늘려도 짧아지지 않습니다. HTTP/3에서 사용되는 QUIC은 전송 계층과 암호의 핸드셰이크를 1왕복으로 합치고, 재접속할 때는 첫 왕복에서 데이터를 보내는 방법(0-RTT)도 제공합니다.