연구 및 초안

TCP 조사

TCP의 초기 정체 기간을 늘리기 위한 인수

TCP 흐름은 최대 4개의 세그먼트 또는 약 4KB의 데이터로 구성된 초기 정체 기간에서 시작됩니다. 대부분의 웹 트랜잭션은 수명이 짧기 때문에 초기 정체 기간은 흐름이 완료되는 속도를 결정하는 데 중요한 TCP 매개변수입니다. 지난 10년 동안 글로벌 네트워크 액세스 속도가 평균적으로 급격하게 증가했지만, TCP의 초기 정체 기간의 표준 값은 변경되지 않았습니다. 이 문서에서는 TCP의 초기 정체 기간을 최소 10개 세그먼트 (약 15KB)로 늘릴 것을 제안합니다. Google은 대규모 인터넷 실험을 통해 네트워크 대역폭, 왕복 시간 (RTT), 대역폭 지연 제품 (BDP) 및 애플리케이션 특성의 기능별로 더 긴 기간을 사용할 때의 지연 시간 이점과 비용을 정량화하고 있습니다. HTTP 응답의 평균 지연 시간이 약 10% 개선되었으며, 높은 RTT 및 BDP 네트워크에서 가장 큰 이점이 증명되었습니다. 이번 실험에서는 저대역폭 네트워크의 지연 시간도 크게 개선되었습니다. 평균 재전송 속도는 적당히 0.5% 증가했으며 대부분의 증가는 여러 동시 연결을 사용하여 TCP의 느린 스타트 알고리즘을 효과적으로 우회하는 애플리케이션에서 발생합니다. 실험 결과에 따르면 최초 정체 기간은 세그먼트 10개 이상이어야 하며 IETF에서 표준화를 위해 동일한 기간을 조사해야 합니다.

TCP 빠른 열기

오늘날의 웹 서비스는 대부분 TCP 흐름이 매우 짧아서 핸드셰이크 후 몇 번의 왕복을 종료합니다. 이 핸드셰이크는 이러한 흐름에서 지연 시간의 중요한 원인입니다. 이 문서에서는 TCP의 초기 핸드셰이크 중에 데이터 교환을 가능하게 하는 새로운 메커니즘인 TCP Fast Open 프로토콜의 설계, 구현 및 배포에 대해 설명합니다. 이렇게 하면 TCP 빠른 열기는 애플리케이션 네트워크 지연 시간을 한 번의 전체 왕복 시간만큼 줄여서 이렇게 짧은 TCP 전송으로 발생하는 지연을 줄입니다. Google은 3방향 핸드셰이크 중 데이터 교환을 허용하는 데 내재된 보안 문제를 해결하며, IP 주소 소유권을 확인하는 보안 토큰을 사용하여 이러한 문제를 완화합니다. 또한 다른 대체 방어 메커니즘을 자세히 설명하고 미들박스, 기존 네트워크 스택에 대한 하위 호환성, 점진적 배포에서 직면한 문제를 해결합니다. 트래픽 분석 및 네트워크 에뮬레이션에 따르면 TCP 빠른 열기를 사용하면 HTTP 트랜잭션 네트워크 지연 시간이 평균 15%감소하고 전체 페이지 로드 시간이 평균 10% 이상, 경우에 따라 최대 40% 감소하는 것으로 나타났습니다.

TCP에 대한 비례 비율 감소

패킷 손실은 웹 사용자의 지연 시간을 증가시킵니다. 빠른 복구는 TCP가 패킷 손실에서 복구하는 핵심 메커니즘입니다. 이 문서에서는 RFC 3517에 설명된 표준 알고리즘과 Linux에서 구현된 비표준 알고리즘의 몇 가지 약점을 살펴봅니다. 이러한 알고리즘은 짧은 흐름, 애플리케이션 중단, 버스트 손실, 승인 (ACK) 손실 및 재정렬, 스트레치 ACK의 결합 효과로 인해 실제 환경에서 의도된 동작에서 벗어납니다. Linux에서는 과도한 정체 기간 감소가 발생하는 반면, RFC 3517은 손실이 큰 상황에서 대규모 버스트를 전송하므로 둘 다 흐름의 나머지 부분에 해를 입히고 웹 지연 시간을 증가시킵니다. 주요 기여는 빠른 복구를 통한 전송을 제어하는 새로운 설계로, 비례 속도 감소 (PRR)라고 합니다. PRR은 수신된 ACK에 걸쳐 재전송 속도를 조절하여 손실에서 빠르고 원활하고 정확하게 복구합니다. PRR 외에도 짧은 전송의 중복 확인 임곗값을 낮추는 TCP 조기 재전송 (ER) 알고리즘을 평가하고, 짧은 간격으로 조기 재전송을 지연하는 것이 약간의 순서 변경이 있는 경우 허위 재전송을 방지하는 데 효과적임을 보여줍니다. PRR 및 ER는 응답 크기에 따라 손실이 발생한 연결의 TCP 지연 시간을 3~10% 줄입니다. 또한 미국 및 인도의 Google 웹 및 YouTube 서버에서 계측된 계측을 기반으로 TCP 재전송의 특성에 대한 주요 통계도 제공합니다.

라미나 TCP

Laminar는 각 RTT 중에 전송된 총 데이터 양을 결정하는 순수한 정체 제어로부터 데이터가 전송되는 시기를 정확히 결정하는 전송 스케줄링을 분리하는 TCP 정체 제어를 위한 새로운 프레임워크입니다. Laminar는 새로운 고급 알고리즘을 지원하여 TCP 트래픽을 더 정확하게 통제할 수 있을 것으로 예상됩니다.

SSL 및 TLS 초안

전송 계층 보안 (TLS) 거짓 시작

False Start는 TLS 구현의 선택적 동작입니다. 이는 유선 프로토콜 데이터가 아닌 프로토콜 타이밍에만 영향을 미치며 일방적으로 구현할 수 있습니다. TLS False Start 기능을 사용하면 특정 핸드셰이크의 경우 왕복 지연 시간이 1회 줄어듭니다.

전송 계층 보안 (TLS) Next 프로토콜 협상 확장

애플리케이션 계층 프로토콜 협상을 위한 전송 계층 보안 (TLS) 확장 이를 통해 애플리케이션 계층은 추가 왕복을 피하는 방식으로, 그리고 애플리케이션 계층 프로토콜과 독립된 방식으로 보안 연결을 통해 어떤 프로토콜을 수행해야 하는지 협상할 수 있습니다.

DNS 초안

DNS 요청의 클라이언트 서브넷

이 초안은 DNS 쿼리를 생성한 네트워크와 응답을 캐시할 수 있는 네트워크에 관한 정보를 전달하는 EDNS0 확장 프로그램을 정의합니다.