Network

[Network] 웹 서버 (Youtube) 접속 과정

운덩하는 개발자 2023. 11. 19.
반응형

전체 과정 요약

  1. DHCP
  2. ARP
  3. DNS
  4. ARP
  5. TCP 3 way Handshake
  6. HTTP GET
  7. TCP 3 way Handshake

 

 

전체 과정

DNS 조회 및 DHCP 과정을 포함하여 클라이언트가 "WWW.YOUTUBE.COM"를 브라우저에 입력하고 엔터키를 누를 때부터 웹페이지를 로드하는 과정에 대해 자세히 알아보자

1. WWW.YOUTUBE.COM 입력

 

2. DHCP 서버 (Dynamic Host Configuration Protocol) - DORA

 

클라이언트의 컴퓨터에 IP 주소 및 네트워크 설정 정보를 동적으로 할당한다

클라이언트의 컴퓨터는 로컬 네트워크에서 DHCP 서버를 찾아 연결 요청

DHCP 서버사용 가능한 IP 주소 중 하나를 할당하고, 네트워크 관련 정보를 제공

여기서의 네트워크 관련 정보는 클라이언트의 Subnet Mask, Default Gateway, DHCP 서버의 IP 주소 등이 해당된다

 

https://www.skillsire.com/read-blog/432_how-dora-works-dora-process-in-details.html

 

2.1 Discover

 

  1. Broadcast 메시지 (클라이언트 -> 모든 DHCP)
    • 클라이언트는 브로드캐스트 메시지인 DHCP Discover를 네트워크 상의 모든 장치에 전송
  2. 응답 대기 (서버)
    • 클라이언트는 DHCP 서버로부터 응답이 올 때까지 대기

 

 

2.2  ARP,  DHCP Lease Table - 사용 가능한 ip 주소 확인

 

Discvoer가 일어난 후 Offer가 일어나기 전, 먼저 할당 가능한 IP 주소를 확인하기 위해 다음과 같은 과정을 거친다

2.2.1 DHCP 서버의 ARP 확인 - 브로드캐스트

  1. ARP 요청 전송
    • DHCP Discover 메시지를 브로드캐스트하여 특정 IP 주소를 요청하면, DHCP 서버는 자신의 MAC주소와 확인하려 하는 IP주소를 포함하여 ARP 요청을 보낸다
  2. ARP 응답 확인
    • ARP 요청을 받은 네트워크 상의 모든 장치들은 해당 IP 주소에 대한 ARP 요청에 응답
    • DHCP 서버는 ARP응 답을 기다리고 있는다
  3. 응답 확인 및 결정
    • 만약 네트워크 상에서 다른 장치가 해당 IP 주소에 대한 ARP 응답을 하면, DHCP 서버는 이를 감지하고 중복된 IP 주소로 간주 
    • ARP 응답이 없거나 응답이 DHCP 서버의 Lease Table에 등록된 장치에 해당하는 경우, DHCP 서버는 해당 IP 주소를 사용 중이 아니라고 판단하고 DHCP Lease Table 확인으로 이동

 

2.2.2 DHCP Lease Table 확인

  • DHCP Lease Table을 확인하여 해당 IP 주소가 이미 다른 클라이언트에 의해 사용되었는지 확인
  • 이미 사용중이라면 중복된 IP 주소로 간주하고 대안 IP 주소를 택한다.

 

2.3 Offer

 

  1. 브로드캐스트를 통한 서버 응답 (DHCP -> 클라이언트)  
    • DHCP 서버는 DHCP Discover 메시지를 수신하면 클라이언트에게 할당 가능한 IP 주소와 SubnetMask, Default Gateway, DNS 서버 주소등의 정보를 담은 DHCP Offer 메시지를 클라이언트에게 보낸다
  2. 클라이언트의 준비 (클라이언트)
    • 클라이언트는 Offer를 받고, 제안된 IP 주소를 사용할 준비를 한다.

 

2.4 Request 

  1. 선택한 서버 통보 ( 클라이언트 -> DHCP )
    • 클라이언트는 여러 DHCP 서버로부터 Offer를 받았을 수 있다. 그중에서 하나의 DHCP 서버를 선택하고, 선택한 서버의 응답을 포함한 DHCP Request 메시지를 해당 서버에게 보낸다

 

2.5 Acknowledge

  1. 클라이언트 수락
    • DHCP 서버는 클라이언트의 Request 메시지를 수신하면, 해당 사용자에게 DHCP Acknowledge 메시지를 전송하여 IP 주소 및 네트워크 설정을 할당
  2. 클라이언트 설정
    • 클라이언트는 DHCP Acknowledge 메시지를 받으면 할당된 ip 주소를 사용하여 자신의 네트워크 설정을 완료
  3. 네트워크 참여
    • 클라이언트는 이제 할당받은 IP 주소를 사용하여 네트워크에 참여하고 통신을 할 수 있다.

 

3. ARP (Address Resolution Protocol)

네트워크 상에서 IP주소를 물리적 네트워크 주소(Mac 주소)로의 매핑을 위해 사용되는 프로토콜

IP주소와 MAC 주소를 일대일 매칭시켜 LAN에서 목적지를 찾아 갈 수 있도록 한다

3.1 왜 ARP가 필요할까?

 위 그림을 보면 DHCP로 Client의 IP 및 네트워크 동적 할당을 마치고 이제 "www..youtube.com"의 도메인에 해당하는 IP를 알아내야하기에 DNS 서버로 가야한다. 그러나 해당 DNS 서버에 대한 IP주소만 알 뿐 MAC주소를 모르기에 MAC주소를 알기 위해서 ARP Request / Reply가 필요하다

 

 

 

 

4.  DNS 서버

도메인 이름과 IP 주소를 서로 매핑해 주는 분산 데이터베이스 시스템

도메인은 사람이 이해하기 쉬운 주소이지만, 컴퓨터는 IP 주소를 사용하여 통신한다.

따라서, DNS는 도메인 이름을 IP 주소로 변환해 주는 역할이다.

WWW.YOUTUBE.COM ->  208.65.153.238

4.1 DNS 조회

  1. URL을 입력한 브라우저는 로컬 DNS 캐시를 확인
  2. 만약 캐시에 해당 도메인의 IP 주소가 없으면, 브라우저는 운영체제의 DNS 설정에 따라 DNS 서버에 DNS 쿼리를 보낸다

 

4.2 DNS 서버 요청

  1. 브라우저는 DNS 서버에 "www.youteube.com" 도메인의 ip 주소를 요청
  2. 로컬 DNS 서버가 해당 도메인의 IP 주소를 알고 있으면 그 정보를 반환하고, 그렇지 않으면 다른 DNS 서버에 쿼리를 보낸다

 

4.3 DNS 응답

  1. DNS 서버는 "www.youtube.com"의 ip 주소를 찾아서 브라우저에 응답

5. ARP  & Flooding

클라이언트는 웹 서버의 MAC 주소를 다시 알아내기 위해 ARP 요청을 보낸다. 웨

6. TCP 3 Way Handshake 

  1. 브라우저는 DNS 조회 결과로 얻은 웹 서버의 IP주소로 TCP/IP 연결 설정
  2. 웹 서버와 브라우저 사이의 데이터 통신을 위한 연결 형성

 

7. HTTP GET

작성 중

 

8.TCP 3 Way Handshake 

작성 중

 

 

 

 

반응형

댓글