네트워크 기초

RTT(왕복 시간)가 100 ms인 웹 서버에 HTTPS(TCP 위의 TLS 1.3)로 새로 접속하여, 첫 요청을 보내고 응답을 받기 시작할 때까지 걸리는 시간에 가장 가까운 것은? DNS 이름 해석은 끝났으며, 서버의 처리 시간과 데이터 전송 시간은 무시한다.

  1. A약 100 ms
  2. B약 300 ms
  3. 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)도 제공합니다.

이 분야 연습하기 분야로 돌아가기

네트워크 기초의 다른 문제

  1. 프로토콜과 그 서버가 표준으로 사용하는 포트 번호의 조합으로 올바른 것은?
  2. TCP의 흐름 제어에서 수신 측이 윈도 크기(수신 윈도)를 송신 측에 알리는 목적으로 올바른 것은?
  3. TCP의 수신 윈도가 65536바이트로 일정하고 RTT가 10 ms인 연결에서, 회선의 대역폭은 충분히 크고 손실도 없다고 하자. 이 연결로 얻을 수 있는 처리량의 상한에 가장 가까운 것은?
  4. TCP 혼잡 제어의 기본적인 개념으로 올바른 것은?
  5. TCP의 송신 측이 세그먼트가 손실되었다고 판단하여 재전송하는 계기로 올바른 것은?