프록시 서버

IT 위키

Proxy Server

클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 시스템
  • 통상적으로 줄여서 '프록시(Proxy)'라고도 부른다.

동작 구조[편집 | 원본 편집]

프록시 동작 과정.png

  • 클라이언트의 요청은 프록시를 통해 목적 서버로 전달되고,
  • 서버의 응답 또한 프록시를 통해 요청 클라이언트에게 전달된다.

유형[편집 | 원본 편집]

  • 하나의 프록시에서 포워드/리버스 기능을 모두 수행할 수 있다.
구분 설명
포워드 프록시
  • 서버의 메시지를 클라이언트에 전달하는 역할 수행
  • Back-end to Front-end
리버스 프록시
  • 클라이언트의 요청을 다수 서버에 분배하여 전달하는 역할 수행
  • Front-end to Back-end

사용 용도[편집 | 원본 편집]

용도 설명 목적
캐싱
  • 데이터를 릴레이 하는 과정에서 자주 사용되는 데이터는 저장한다.
  • 재요청이 있을 때 원본 서버까지 가지 않고 캐시된 데이터를 전송한다.
  • 속도
  • 효율성
트래픽 통제
  • 네트워크 접근이 특정 프록시 서버를 통해서만 이루어지도록 한다.
  • 프록시 서버에서 네트워크 패킷을 검열하거나 필터링 할 수 있다.
  • 내부자 보안
  • 감시·통제
익명성
  • 실제 접근 호스트가 아닌 마치 다른 호스트에서 접속한 것 처럼 한다.
  • 내부 정보를 숨기거나, IP를 우회하는 용도로 사용할 수 있다.
  • 접속자 보호
  • 접속 우회

유사 개념과의 차이[편집 | 원본 편집]

  • cf. 릴레이 서버
    • 별도의 서버를 경유해 송수신지 간 데이터를 전달한다는 공통점이 있다.
    • 프록시는 주로 클라이언트-서버간 통신에 이용되는데 반해 릴레이 서버는 주로 서버간 중계에 이용된다.
    • 프록시 서버가 기본적으로 캐싱을 지원하는 것에 반해, 릴레이 서버는 실시간 전송을 기본으로 한다.
  • cf. 캐시 서버
    • 자주 사용되는 데이터를 저장해둠으로써 트래픽 비용이나 속도를 개선한다는 점에서 공통점이 있다.
    • 프록시 서버는 릴레이 기능에 캐싱이 결합된 형태로, 단순 캐싱만을 수행하지 않고 중계기능을 같이 수행한다.
    • 자체적으로 캐싱 기능을 제공하기도 하고 캐시 서버를 별도로 두기도 한다.
  • cf. 라우터
    • 패킷을 받아서 다른 서버로 전달한다는 점에서 공통점이 있다.
    • 라우팅은 주로 L3에서 IP패킷을 전달하는데 반해, 프록시 서버는 L7에서 애플리케이션 데이터를 중계한다.
  • cf. 토르의 어니언 라우팅
    • 클라이언트에게 익명성을 부여한다는 점에서 공통점이 있다.
    • 타겟 서버에겐 익명성이 제공되지만, 프록시 서버에 클라이언트의 정보가 노출된다.
    • 토르는 어니언 라우팅을 통해 중계 서버에서도 클라이언트의 정보를 알 수 없도록 설계되어 있다.

참고 문헌[편집 | 원본 편집]