1. DNS 조회 (Domain Name System Lookup)
naver.com 을 입력했을 때 벌어지는 일,
주소를 알았고 이제 전화번호부에서 실제 주소 (IP)를 찾는 단계
- 브라우저/OS 캐시 확인: 이전에 방분한 적이 있다면 저장된 IP를 즉시 사용.
- 재귀적 조회(Recursive Query): 캐시에서 없다면 통신사(ISP)의 DNS서버로 요청을 보냄.
- 계층적 탐색: Root DNS → TLD DNS(.com, kr 등) → Authoritative DNS 순으로 타고 올라가 최종 IP 주소를 획득.
- 재귀적 조회 시작: 내 컴퓨터가 통신사 DNS 서버에게
naver.com의 IP를 달라고 재귀적 요청을 보냅니다.
- 계층적 탐색 (반복적 조회): 요청을 받은 통신사 DNS 서버가 이제부터 '발품'을 팝니다.
- Root에게 물어봄 → ".com 담당자 주소" 획득
- *TLD(.com)**에게 물어봄 → "naver.com 담당자 주소" 획득
- *Authoritative(네이버)**에게 물어봄 → "최종 IP 주소" 획득
- 재귀적 조회 완료: 통신사 DNS 서버가 최종 IP를 내 컴퓨터에 전달합니다.
심화. DNS - 계층적 탐색
심화. 캐시(Cache)
2. TCP 3-Way Handshake (연결 수립)
찾은 IP를 바탕으로 서버와 신뢰할 수 있는 연결 통로를 만듭니다.
- SYN: 클라이언트가 서버에게 “연결하고 싶어”라고 요청(Synchronize)을 보냄.
- SYN-ACK: 서버가 요청을 받고 “그래, 나 준비됐음”라고 응답(Acknowledgement)하며 자신의 요청도 함께 보냄.
- ACK: 클라이언트가 서버의 응답을 확인 했다는 신호를 보내며 연결이 완료.
| 단계 |
패킷 종류 |
설명 |
주요 상태 변화 |
| 1단계 |
SYN |
클라이언트가 서버에 접속 요청 (seq=x) |
SYN_SENT |
| 2단계 |
SYN + ACK |
서버가 수락(ack=x+1) 및 응답 요청 (seq=y) |
SYN_RECEIVED |
| 3단계 |
ACK |
클라이언트가 최종 확인 (ack=y+1) |
ESTABLISHED (연결됨) |
심화. TCP 3-Way Handshake
심화. TCP (Transmisson Control Protocol)