[네트워크] 웹사이트 접속 과정에 대하여 (네트워크 과목 총 정리) | 주소창에 www.google.com을 입력하면 생기는 일

웹사이트 접속 과정

한 대학생이 캠퍼스에서 노트북으로 구글에 접속한다고 하자. 어떤 과정을 통해 사용자는 구글에 접속할 수 있을까?

이 게시글은 그동안 공부한 내용들을 총 정리한다고 볼 수 있다. 자세한 내용이 궁금하다면 참고 링크를 참고하자.

 

1. 목적지 IP 주소 확인

캐시 확인
[그림 1] 캐시 확인

사용자가 웹 브라우저의 주소창에 www.google.com을 입력하면, 해당 목적지의 IP주소를 알아야 한다. 브라우저는 캐싱된 DNS 기록이 있는지 체크하고, 만약 캐시가 있다면 캐시의 정보를 이용하고 없다면 DNS 서버에 정보를 요청해야 한다. 

 

 

참고 :

 

[네트워크] 도메인(Domain)과 DNS(Domain Name System)란?

도메인(Domain)이란? 도메인은 웹 브라우저를 통해 특정 사이트에 진입할 때, IP 주소를 대신하여 사용하는 주소이다. 도메인을 이용하면 한눈에 파악하기 힘든 IP주소를 보다 분명하게 나타낼 수

code-lab1.tistory.com

 

 

 

2. DHCP

DHCP Request
[그림 2] DHCP Request

클라이언트는 DHCP Request를 UDP 패킷에 담고, UDP 패킷을 IP 데이터그램에 담고, IP 데이터그램을 프레임에 담는다. 이 프레임은 LAN에서 브로드캐스트 되어 DHCP Server에 도달한다.  

 

DHCP ACK
[그림 3] DHCP ACK

DHCP Server는 DHCP Request를 받고 DHCP ACK를 보낸다. DHCP ACK는 클라이언트의 IP주소, 1st-hop 라우터(가장 가까운 라우터)의 IP주소, DNS Serever의 IP주소를 포함한다. 따라서 클라이언트는 가장 가까운 라우터의 IP 주소 및 DNS 서버의 IP 주소를 알게 되었다.

 

참고 :

 

[네트워크] DHCP(Dynamic Host Configuration Protocol)란?

DHCP(Dynamic Host Configuration Protocol)란? DHCP는 Host IP 구성 관리를 단순화하는 IP 표준이다. 동적 호스트 구성 프로토콜 표준에서는 DHCP 서버를 사용하여 IP 주소 및 관련된 기타 구성 세부 정보를..

code-lab1.tistory.com

 

 

[네트워크] UDP란?, UDP의 개념과 이해 | UDP checksum

UDP란? UDP(User Datagram Protocol)는 비연결형, 신뢰성이 없는 전송 프로토콜이다. IP데이터그램을 캡슐화하여 보내는 방법과 연결 설정을 하지 않고 보내는 방법을 제공한다. UDP는 TCP/IP 5계층에서 Transp

code-lab1.tistory.com

 

 

3. ARP

ARP query
[그림 4] ARP query

하지만 클라이언트는 아직 1st-hop 라우터의 MAC 주소를 알지 못한다. 클라이언트는 ARP query를 브로드캐스트 하고 1st-hop 라우터는 ARP reply를 통해 자신의 MAC 주소를 전달한다.   

 

참고 : 

 

[네트워크] MAC주소와 ARP(Address Resolution Protocol)란? | MAC 주소의 필요성

MAC 주소란? IP 주소는 네트워크 계층(Network Layer)에서 사용되는 주소다. 반면 MAC 주소는 데이터 링크 계층(Data Link Layer)에서 사용되는 주소로, LAN(Local Address Network)에서 목적지와 통신하기 위한..

code-lab1.tistory.com

 

4. DNS

DNS query
[그림 5] DNS query

드디어 클라이언트는 DNS 서버에 DNS query를 보낼 수 있게 되었다. 클라이언트는 DNS query를 IP 데이터그램에 담아 1st-hop 라우터에 보낸다. 1st-hop 라우터는 RIP, OSPF, IS-IS, BGP 등의 프로토콜로 생성된 Routing Table과 Forwarding Table을 참고하여 DNS query를 DNS 서버에 전송한다. 

DNS reply
[그림 6] DNS reply

DNS query를 받은 DNS 서버는 www.google.com의 IP주소를 클라이언트로 전송한다. 드디어 클라이언트는 구글의 IP주소를 알게 되었다!

 

5. HTTP 

HTTP Request
[그림 7] HTTP Request

클라이언트는 TCP 소켓을 열고 구글 서버와 3-way handshake를 통해 TCP connection을 설립한다. 이후 TCP 소켓을 통해 HTTP Request를 구글 서버에 보내고, 구글 서버는 HTTP Reply를 클라이언트에 보낸다. 드디어 사용자는 구글의 첫 화면을 모니터에서 보게 된다!

 

참고:

 

[네트워크] TCP란? | TCP의 특징 | TCP RDT | tcp 3way handshake

TCP란? TCP(Transmission Control Protocol)는 애플리케이션에서 보낸 데이터를 신뢰성 있게 수신 측에 전송을 보장하는 프로토콜이다. 다음과 같은 특징들을 가진다. point-to-point : 하나의 송신 측과 하나의

code-lab1.tistory.com

 

 

 

[네트워크] HTTP란? non-persistent HTTP vs persistent HTTP | RTT란?

Web 과 HTTP 웹 페이지는 객체(object)로 구성된다. 객체(object)는 HTML 파일, JPEG 이미지, JAVA applet, 오디오 파일 등이 될 수 있다. 웹페이지는 여러 참조된 객체를 포함하는 기본 HTML 파일로 구성되며,

code-lab1.tistory.com

 

 

 

[네트워크] TCP 혼잡제어(congestion control)| AIMD, Slow Start | TCP Reno, Tahoe

TCP 혼잡 제어란? 혼잡(congetion)하다는 것은 너무 많은 source가 너무 많은 data를 너무 빨리 전송해 네트워크가 이를 처리하지 못하는 상태를 말한다. 조금 더 자세히 설명하자면 데이터의 양이 수신

code-lab1.tistory.com

 

반응형

댓글

Designed by JB FACTORY