Proxy Server (프록시 서버)란?
서버와 클라이언트 사이에 위치하여 두 호스트를 중계해주는 역할을 주로 한다. 중계 역할 이외에도 캐싱 기능, 보안 기능을 제공하며 프록시가 어디에 위치하느냐에 따라 Forward Proxy, Reverse Proxy 두 종류로 나눌 수 있다.
Forward Proxy vs. Reverse Proxy
Forward Proxy
클라이언트측과 인터넷 사이에 위치한 프록시를 Forward Proxy라고 한다.
캐싱 기능
프록시에서 제공하는 기능의 첫 번째는 캐싱이다. 이 경우 클라이언트가 데이터를 요청하고 응답받는 순서는 클라이언트 → 프록시 → 인터넷 → 서버 → 인터넷 → 프록시 → 클라이언트 순으로 된다. 이 때 프록시 서버는 서버에서 클라이언트 측으로 전송한 데이터를 캐싱하고 있다가 다시 클라이언트로부터 같은 데이터를 요청받을 때 서버측으로 데이터를 요청하지 않고 자신이 캐싱하고 있던 데이터를 응답한다. 이를 통해 네트워크 통신 횟수와 서버측에 도달하는 요청 횟수를 줄여 서버측의 트래픽을 낮춰주는 기능을 제공한다.
보안 기능
클라이언트의 정보를 서버가 알 수 없게 숨겨주는 역할을 한다. 프록시 서버가 없다면 클라이언트는 직접 서버에게 데이터를 요청하게되고, 이 때 클라이언트의 정보가 자연스럽게 서버에게 노출된다. 하지만 중간에 프록시가 존재함으로써 서버는 어떤 클라이언트가 요청했는지 알 수 없다. 단순히 프록시가 요청한 것으로 인식한다.
Reverse Proxy
인터넷과 서버 사이에 위치한 프록시를 Reverse Proxy라고 한다.
캐싱 기능
Forward Proxy와 완전한 동일한 캐싱 기능을 제공한다.
보안 기능
서버가 클라이언트의 정보를 알 수 없는 Forward Proxy와는 달리, 클라이언트가 서버의 정보를 알 수 없다는 점이 Forward Proxy와의 유일한 차이점이다. Client는 프록시에게 요청을 보낼 뿐 실제로 데이터를 응답하는 서버의 정보는 알 수 없다.
부하 분산
프록시가 요청을 받고, 이 요청을 각 서버에 분산해주기 때문에 요청이 급격하게 늘어났을 때 scale-out을 용이하게 해준다.
참고자료
http://www.ktword.co.kr/test/view/view.php?m_temp1=1829
'Computer Science > Network' 카테고리의 다른 글
네트워크의 구조 - 네트워크, 패킷, 대역폭 (0) | 2021.06.25 |
---|