1. URL 해석 & 소켓 준비
▪️웹브라우저가 URL(www.test.com)을 파싱
→TCP 소켓을 만들 준비(에페머럴 포트 할당).
2. DNS 조회
(1) 브라우저/OS 캐시 확인 → 없으면
(2) 시스템 DNS 해석기(보통 KT DNS 또는 설정한 1.1.1.1/8.8.8.8)로 질의(UDP/TCP 또는 DoH)
→ A/AAAA 레코드(예: 27.101.45.121) 획득.
※ 이 단계 지연은 보통 1~20ms 수준(캐시 있으면 01ms).
3. 로컬 네트워크 통과
▪️PC → (유선 권장) → 집 공유기 → NAT 테이블에 매핑 생성.
PPPoE를 쓰는 가정 회선이면 MTU 1492로 내려가고,
MSS 클램핑이 동작(미설정 시 PMTU 문제가 생길 수 있음).
4. 접속망 → 백본 진입
▪️공유기/모뎀(ONU) → 동 단말 수를 묶는 OLT/스위치(지역 집선)
→ BNG/BRAS(가정용 가입자 게이트웨이)
→KT 코어(백본/IP/MPLS)로 진입.
이 구간은 다수 가입자 공유(오버서브스크립션) 구조라, 시간대에 따라 큐잉 지연·지터가 발생.
5. 인터넷 경로 선택(라우팅/피어링)
▪️KT 백본에서 목적지까지의 경로를 결정(동일 KT망/타사/IX 경유).
특정 홉(예: 11홉 xxx.xxx.xxx.xxx)에서 부하가 걸리면
RTT가 8ms ↔ 60ms로 출렁일 수 있음.
6. TCP 3-way 핸드셰이크 (SYN → SYN/ACK → ACK)
▪️목적지 IP:포트에 연결.
▪️1 RTT가 기본적으로 소요. (지연이 낮을수록 유리)
7. TLS 1.3 핸드셰이크 + ALPN/SNI
▪️ClientHello(SNI=www.test.com) → 서버 인증서/키 교환
→ 암호화 확립.
▪️TLS 1.3은 기본 1 RTT, 세션 재개/0-RTT가 가능하나
서버 정책에 따라 비활성일 수 있음(재실행/재접속 시 이득).
8. HTTP/2(or 1.1) 요청 전송
▪️쿠키/헤더 포함한 관련 요청 전송(XHR/Fetch/폼 POST 등).
▪️서버 측에서는 보통 로드밸런서/리버스 프록시(WAF 포함 가능)
→애플리케이션→DB/캐시 단계를 거쳐 응답 생성.
9. 응답 수신 & 렌더링
▪️최초 바이트(TTFB)는
대략 DNS + TCP + TLS + 서버처리 + 네트워크 RTT 누적 결과.
이후 동일 커넥션을 재사용하면
핸드셰이크 비용 없이 RTT + 서버 처리시간만으로 왕복.
728x90
반응형