728x90
1. DNS 캐시 탐색
- 브라우저에서 캐싱된 DNS 기록을 뒤져 www.google.co.kr의 IP 주소가 있는지 탐색한다.
브라우저가 캐싱된 DNS 기록을 찾는 과정
브라우저 내 캐시 확인
- 브라우저는 일정 기간 유저가 방문한 사이트의 DNS 정보를 기록하고 있는데 이를 확인한다.
OS 캐시 확인
- 브라우저 캐시에 없다면 운영체제에 systemcall을 요청해 운영체제 내에 기록되어 있는 DNS 정보를 확인한다.
- systemall : 운영체제 수준에서 커널 영역을 사용자 모드의 프로그램이 사용할 수 있게 해 준다.
라우터 캐시 확인
- 전송계층의 라우터에 들어있는 DNS 정보를 확인한다.
ISP 캐시
- ISP는 DNS 서버를 구축하고 있어 이곳에서 DNS 정보를 찾는다. 없는 경우에는 캐시 탐색이 종료된다.
- ISP가 제공하는 DNS 서버를 DNS recursor라고 한다.
2. ISP의 DNS 서버에서 DNS query를 전송
- DNS 캐시 탐색에서 DNS 정보를 찾지 못하면 DNS recursor에서 다른 DNS 서버에 DNS query를 보내 DNS 서버를 찾는다.
- DNS query는 IP 주소를 찾을 때까지 여러 DNS 서버를 거친다.
- IP 주소가 없거나, 주소 정보를 담고 있는 패킷이 유실되면 에러가 발생한다.
3. 브라우저와 서버의 TCP 연결
- 브라우저가 서버의 IP 주소를 받게 되면 서버와 연결을 시도하는데 이때 TCP로 연결을 한다.
- 일반적으로 웹사이트의 http 연결은 TCP로 연결한다.
- 3-way handshake 과정을 거쳐 서버 간 신뢰할 수 있는 연결이 이루어진다.
4. 브라우저가 웹서버에 HTTP 요청
- 먼저 컴퓨터에서 OSI 모델의 캡슐화가 이루어진다.
- 응용 계층에서 HTTP 프로토콜을 이용하여 GET 요청이 담긴 HTTP 메시지를 보낸다.(웹 브라우저가 HTTP 메시지 생성)
- 전송 계층에서 TCP 헤더가 추가된다.(출발지와 목적지의 포트 번호가 포함) -> 세그먼트
- 네트워크 계층에서 IP 헤더가 추가된다.(출발지와 목적지의 IP 주소가 포함) -> IP 패킷
- 데이터 링크 계층에서 이더넷 헤더와 트레일러가 추가된다.-> 이더넷 프레임
- 물리 계층 랜 카드를 이용하여 데이터를 전기 신호로 변환하고 네트워크로 전송된다.
- 패킷은 스위칭 허브 등을 경유하여 라우터를 거쳐 ISP로 전달되어 인터넷으로 이동한다.
- 웹서버까지 도착한다.
- 웹서버에서 OSI 모델의 역캡슐화가 이루어진다.
5. 서버가 요청을 처리하고 응답을 생성
- status code로 response 상태를 표현한다.
- 반대로 사용자의 컴퓨터로 응답 데이터 전송
- 흐름은 위와 동일
6. 브라우저가 HTML content를 보여줌
- 이때 정적인 파일들은 브라우저가 캐싱하여 해당 페이지를 다시 방문할 경우 서버에게 데이터를 재요청하지 않아도 된다.
참고 :
모두의 네트워크 / 길벗
https://velog.io/@doodream/google.com/google.com을-치면-일어나는-일
728x90
'넓고 얕은 네트워크 지식' 카테고리의 다른 글
HTTP와 HTTPS, SSL/TLS 초간단 요약 (0) | 2023.02.14 |
---|---|
TCP, UDP 핵심 1분 요약 정리 (0) | 2023.02.13 |
DNS 1분 요약 정리 (0) | 2023.02.13 |
OSI 7 Layer - 전송 계층 1분 요약 정리 (0) | 2023.02.13 |
서브넷(Subnet) 1분 요약 정리 (0) | 2023.02.13 |