Cloud/Network

Packet Travel - 핸드폰에서 웹 페이지 접속하면 네트워크에서 이뤄지는 과정

cstory-bo 2024. 2. 17. 16:39

Packet Travel - 핸드폰에서 웹 페이지 접속하면 네트워크에서 이뤄지는 과정

Overview

  1. AP
    • 무선랜 인증
  2. DHCP 서버
    • DORA (브로드캐스트)
  3. ARP Request / Reply
  4. DNS 서버
    • DNS Query / Answer
  5. ARP Request / Reply
  6. TCP 3-way HandShake
  7. Web Server
    • HTTP GET / 200
  8. TCP 4-way HandShake

이렇게 8개의 과정이 이뤄진다.

1. AP ( AccessPoint)

휴대폰에서 wifi 설정할 때 되는 통신으로 보면 된다.

wifi를 선택하고 비밀번호를 입력하게 되는데,
이 과정해서 해당 wifi 공유기와 비밀번호가 맞는지
인증 절차가 진행된다.

 

2. DHCP 서버

줄여서 DORA 과정이 진행된다.

  1. Discover
    • 클라이언트 -> 서버로 DHCP 서버를 찾기 위해 브로트캐스트로 보낸다.
  2. Offer
    • 서버 -> 클라이언트로 DHCP 서버가 할당한 IP address, subnet mask, default gateway, DNS 서버 주소 등을 보낸다.
  3. Request
    • 할당받은 IP 주소를 다른 장치가 이미 사용 중인지 확인하는 과정이다.
  4. ACK
    • DHCP 서버가 클라이언트에게 최종 할당하고 IP Pool에서 해당 IP 주소를 제외한다.

 

3. ARP

DNS 서버 IP의 MAC주소를 알기 위해 ARP request와 reply가 일어난다.

 

4. DNS 서버

사용자가 입력한 domain name(ex. www.google.com)의 Web Server IP주소를 묻는 DNS Query를 DNS 서버에게 보내고
DNS 서버가 찾은 domain name의 IP 주소를 담아 클라이언트에게 DNS Answer를 보낸다.

 

5. ARP

DNS 서버로 부터 알게된 Web Server IP주소의 MAC 주소를 알기위해 ARP Request, Reply 과정이 일어난다.

 

6. TCP 3-way HandShake

HTTP는 TCP로 통신하기 때문에 TCP 3-way HandShake 과정이 일어난다.

먼저 1) 클라이언트가 Web Server로 데이터를 전송하고 싶다는 SYN를 보내고
2) Web server는 이를 잘 받았으며 이제 데이터를 보내도 된다는 SYN + ACK를 보낸다.
3) 클라이언트는 이제부터 보낸다는 ACK를 보낸다.

 

7. Web Server

HTTP 통신이 이제 일어난다.

클라이언트가 Web Server로 부터 받고싶은 파일명을 HTTP GET 메세지에 담아
TCP 3-way HandShake의 마지막 과정인 ACK 바로 뒤따라 보낸다.

Web Server는 통신이 잘 되었다는 200 OK
함께 파일 내용을 담아 보낸다.

 

8. TCP 4-way HandShake

연결 해제를 위해
클라이언트가 연결을 끊겠다는 FIN을 보내고
Web Server는 ACK를 보낸다.

Web Server는 파일을 모두 전송한 후, 
Web Server도 연결을 종료하겠다는 FIN을 보내고
클라이언트가 ACK를 보내면 끝이다.