Cloudflare 오리진 키 교환 자동화, HelloRetryRequest 52%에서 3.7%로 감소
- Cloudflare가 오리진 연결에 Automatic Key Exchange를 적용한 뒤 HelloRetryRequest 발생률이 약 52%에서 3.7%로 줄었고, p90 핸드셰이크 지연이 150ms 이상 감소함
- TLS 1.3은 첫 패킷에서 키 교환 알고리즘을 확정해야 해서 추측이 틀리면 왕복이 한 번 더 필요한데, Cloudflare는 오리진을 미리 프로브해 지원 알고리즘을 알아내고 첫 시도부터 그 알고리즘으로 시작함
- 기존 고정 추측은 X25519였고 측정한 오리진 연결의 약 30%에서 최적이 아니었으며, 포스트퀀텀 하이브리드 X25519MLKEM768을 우선 적용함
- 롤아웃으로 수십만 도메인이 별도 설정 없이 포스트퀀텀 오리진 연결을 쓰게 됐고, Cloudflare는 2029년까지 인터넷을 양자 내성으로 만드는 로드맵을 세움
- 포스트퀀텀 오리진 연결은 그동안 Cloudflare 쪽 설정을 켜거나 오리진 서버가 요구하는 수동 방식이었고, 잘못 설정하기 쉬웠음
Hacker News opinions
진짜 궁금한데 이런 건 왜 진작 안 했을까. 크리티컬 패스에서 당연히 할 만한 최적화 같은데 뭔가 더 있는 듯.
추측인데, 모든 프록시에 설정을 배포해야 하고 그 배포가 실패하면 지표가 이상해짐. 실제로 배포 채널 한계에 부딪혀 장애 난 적도 있고.
요약하면 TLS 1.3 핸드셰이크가 첫 추측을 틀리면 왕복 한 번 더 쓰는 구조라, Cloudflare가 매일 오리진을 스캔해 지원 알고리즘을 저장한다는 거임. 근데 절대 조회 지연이 얼마나 붙는지는 안 알려줬음.
캐시 미스면 어차피 오리진 정보를 조회할 텐데 거기 몇 바이트 더 붙는 수준 아님?
TLS 1.3은 버전 바이트만 올리면 중간 보안 장비가 터져서 TLS 1.2 재개인 척하는 거임. 모르는 서버면 안 맞는 가짜 세션 ID가 되고.
15ms 아끼고 나서 정작 사이트 들어가기 전에 20초짜리 안내 화면 보게 하는 게 더 짜증남.
남의 웹서버 긁어가는 LLM은 문제라면서 자기들은 첫 연결 몇 마이크로초 아끼려고 매일 프로브를 때리는 게 웃김.
신뢰 관계가 다르지. 불특정 다수의 하루 수천 건 요청이랑 가입한 고객 서버에 대한 하루 한 번 핸드셰이크는 같은 게 아님.
그 요청이 무의미하다니. 명백히 최적화용이고, 애초에 남의 서버가 아니라 고객 서버임.
Cloudflare는 스케일에서만 드러나는 문제를 푸는 대표 사례임. 이런 게 필요한 줄 아는 것 자체가 스케일의 산물이고.
아이러니하게 이 글 자체가 바이브 코딩 느낌임. 문체가 Claude가 쓴 것 같고.
http2, http3 때부터 느꼈는데 Cloudflare가 최신 프로토콜과 암호 스위트를 다 가져가서 오픈소스는 몇 년 뒤처짐. HTTP/3 쓸 만한 소프트웨어도 h2o 빼면 없었음.