네트워크

네트워크 패킷이 인터넷을 여행하는 과정 (패킷 흐름 분석)

찬이한이 2025. 1. 21. 19:10

인터넷에서 웹사이트를 방문할 때, 우리가 입력한 URL이 어떻게 서버까지 도달하고 응답을 받을까요?
이번 글에서는 패킷(Packet)이 사용자의 컴퓨터에서 웹 서버까지 이동하는 과정을 분석하고, 실습을 통해 이를 직접 확인하는 방법을 소개하겠습니다.


1. 웹 요청 시 발생하는 네트워크 흐름

웹사이트(https://www.example.com)에 접속할 때, 아래와 같은 과정이 발생합니다.

  1. DNS 조회: 도메인(www.example.com)을 IP 주소로 변환
  2. TCP 연결: 클라이언트와 서버 간 세션을 생성 (3-way Handshake)
  3. HTTP 요청: 웹 브라우저가 서버로 요청(Request) 전송
  4. 데이터 전송: 서버가 응답(Response)을 패킷 단위로 클라이언트에게 보냄
  5. 패킷 이동 경로: 라우터, 스위치, 방화벽을 거쳐 최종 목적지 도달

2. 패킷 흐름을 시각화한 다이어그램

아래 다이어그램은 사용자가 웹사이트를 방문할 때 발생하는 주요 네트워크 흐름을 보여줍니다

[사용자] --> [DNS 서버] --> [라우터] --> [ISP 네트워크] --> [인터넷 백본] --> [웹 서버]

 

📌 각 단계 설명

  • 사용자 → DNS 서버: 웹사이트 주소를 IP로 변환
  • DNS 서버 → 사용자: 변환된 IP 주소 반환
  • 사용자 → 라우터 → ISP: 데이터를 패킷으로 나누어 인터넷에 전송
  • ISP → 인터넷 백본: 대형 데이터센터를 거쳐 서버까지 전달
  • 웹 서버: 클라이언트 요청 처리 후 응답 전송

3. 패킷 흐름 실습 (Wireshark & Traceroute 활용)

① DNS 조회 과정 확인

먼저, nslookup 또는 dig 명령어를 사용해 DNS 조회 과정을 확인해보겠습니다.

nslookup www.google.com
 

출력 예시:

Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: Name: www.google.com Address: 142.250.191.132

➡️ 사용자가 입력한 도메인이 실제 IP(142.250.191.132)로 변환됨.


② 패킷이 지나가는 경로 확인 (Traceroute 사용)

 
traceroute www.google.com​

출력 예시:

 
1 192.168.1.1 (LAN 라우터)
2 10.0.0.1 (ISP 게이트웨이)
3 203.0.113.1 (ISP 네트워크)
4 108.170.241.129 (Google 데이터센터)
5 142.250.191.132 (Google 서버)

 

➡️ 패킷이 내 컴퓨터에서 라우터, ISP, 인터넷 백본을 거쳐 목적지까지 이동하는 과정을 시각적으로 확인 가능.


③ TCP 연결 (3-way Handshake 확인)

Wireshark를 이용해 실제 웹사이트 접속 시 발생하는 TCP 3-way Handshake를 캡처해보겠습니다.

  1. Wireshark 실행 후, eth0 또는 wlan0 인터페이스 선택
  2. 필터 입력:
    tcp.flags.syn==1 && tcp.flags.ack==1
  3. 브라우저에서 https://www.example.com 입력 후 캡처 확인

Wireshark 캡처 예시:

1. SYN → 서버 (Client: "나 연결하고 싶어!")
2. SYN+ACK ← 서버 (Server: "좋아, 연결 승인!")
3. ACK → 서버 (Client: "고마워, 이제 데이터 전송 시작!")

➡️ TCP 연결이 정상적으로 이루어졌는지 확인 가능


4. 패킷 흐름을 최적화하는 방법

  1. DNS 캐싱 활성화: 반복된 도메인 조회 속도 향상
  2. CDN(Content Delivery Network) 사용: 최적의 서버에서 데이터를 제공
  3. MTU 최적화: 패킷 크기를 조정하여 전송 속도 개선
  4. HTTP/3 + QUIC 프로토콜 적용: 지연 시간 감소 및 연결 성능 향상

5. 결론

이번 글에서는 네트워크 패킷이 이동하는 과정을 분석하고, 실습을 통해 이를 직접 확인하는 방법을 소개했습니다.

  • DNS 조회라우팅 과정TCP HandshakeHTTP 요청 처리
  • Wireshark & Traceroute를 이용한 실습
  • 속도 최적화를 위한 네트워크 개선 방법