Upstream, Downstream, Hop

네트워크 흐름 용어 정리

upstream은 요청을 넘기는 다음 단계, downstream은 보내온 이전 단계로 상대적 개념이다. hop은 경유지 하나를 지나는 절대적 단위.

Basics

개념

네트워크·프록시 문서를 읽다 보면 자주 나오는 세 용어다. 처음 보면 헷갈리는 이유는 upstream/downstream이 "누구 기준"인지에 따라 달라지는 상대적 개념이라는 것. 반면 hop은 경유지 수를 세는 절대적 개념이다. 이 상대/절대 구분을 잡으면 나머지는 자연스럽다.

  • upstream — 내 기준에서 요청을 넘기는 다음 단계
  • downstream — 내 기준에서 요청을 보내온 이전 단계
  • hop — 라우터·프록시 같은 경유지 하나를 지나는 한 단계

upstream vs downstream

upstream downstream
기준 내 다음 단계 내 이전 단계
방향 서버 쪽 클라이언트 쪽
예시 (A → B → C → 서버, B 기준) C A

실제 사용 예시

Nginx

upstream backend {
    server 10.0.0.1:8080;
    server 10.0.0.2:8080;
}

Nginx 입장에서 backend 서버들이 upstream. 요청을 보내는 브라우저가 downstream.

API Gateway

브라우저 → Gateway → Auth 서비스 → DB
  • Gateway 입장 — Auth 서비스가 upstream, 브라우저가 downstream
  • Auth 서비스 입장 — DB가 upstream, Gateway가 downstream

같은 노드라도 누구 기준이냐에 따라 upstream/downstream이 바뀐다.

Hop

  • 패킷이 경유지를 하나 지날 때마다 hop이 1 증가
  • traceroute google.com으로 hop 수 확인 가능
  • HTTP 헤더 X-Forwarded-For에 hop마다 IP가 추가됨
클라이언트 → 프록시1 → 프록시2 → 서버
             hop 1     hop 2     hop 3

더 보기

  • Nginxupstream 블록 설정
  • Proxy — Forward Proxy와 Reverse Proxy에서 흐름 방향 구분
  • API-Gateway — 여러 hop이 쌓이는 전형적 구조
sunshinemoon · 2026