Redirection, Forwarder, and Proxy의 뜻


Router, Proxy Server, Firewall, Web server, Exchange mail server 등등을 공부하다보면 Redirection, Forwarder, Proxy 라는 용어가 나온다. 이 용어의 뜻을 정확하게 알아두면 쉽게 기능을 이해할 수 있다.

  • Redirection: 방향 재지정
    PC1이 Web Server인 Server1에게 접속할 때 Server1은 자신이 아니고 다른 서버(Server2)라고 알려준다. 그러면 PC1은 다시 또 다른 Web Server인 Server2에 접속하게 된다. 이 때 Server1은 PC1의 요구를 Redirection하게 된다.
    여기서 중요한 것은 Server1이 PC1 대신 Server2에 접속하는 것이 아니고, 처음부터 접속을 해 온 PC1이 다시 Server2에 접속하도록 도와주는 것이 바로 Redirection이다.
    그 결과 PC1이 Server2에 접속을 한 경우에 PC1에서 netstat -ano를 하면 Server2에 접속한 사실을 알 수 있다
  • Forwarder: 전달자
    PC1이 DNS Server인 Server1에 powershell.kr에 대한 IP Address를 알려달라고 할 때 Server1에는 powershell.kr이라는 Zone이 없다면 Server1은 미리 지정해 둔 Forwarder인 8.8.8.8보 그 요청을 전달해버린다.(미리 지정해 놓지 않은 쪽으로 절대로 전달하지 않는다) 그러면 PC1은 8.8.8.8인 Google DNS Server에서 powershell.kr의 IP Address를 알아오게 된다.
    PC1은 Server1에게 IP Address를 요청했지만 사실은 8.8.8.8이 powershell.kr의 IP Address를 알아서 Server1에게 알려주고 그 다음에 Server1이 최종적으로 PC1에 powershell.kr의 IP Address를 알려준다.
    전달자(Forwarder)는 어디로 요청을 보낼지 사전에 정해놓는다. 즉, Forwarder의 위치는 정해져있다. DNS server에 forwarder를 정해놓으면 그 DNS는 Forwarder의 도움으로 PC1의 요청에 대하여 문제를 해결해 주고, PC1은 전달자가 아닌 자신이 요청한 서버에서 문제를 해결하게 된다
  • Proxy: 위임받은 자
    Proxy와 Forwarder와 비슷하지만 자세히 생각해 보면 다름을 알 수 있다. 아빠가 아들에게 콜라를 사달라고 부탁을 하면 아들이 아빠의 부탁을 들어 콜라를 사온다. 아들은 아빠 대신 콜라를 사오게 된다. 아빠는 저녁에 아들에게 또 부탁을 한다. 이 번에는 피자가 먹고 싶다고 말하면 아들이 대신 피자를 주문해준다. Proxy는 처리하는 내용은 모두 다르다. 하지만 Forwarder는 항상 동일한 곳(Server)으로 처리하게 된다.
    더 나아가서 아빠가 콜라 심부름을 시키면 1시간 후에 엄마가 또 콜라를 사오라고 하는 것을 아들이 알고 있기 때문에 처음 아빠의 부탁을 받았을 때 콜라를 한 병 더 사올 수도 있다. 그러면 엄마가 부탁할 때 금방 콜라를 줄 수 있다. 위임받은 자는 이렇게 지능적으로 일을 처리할 수 있다.
    이것은 바로 Web Server에 접속하는 시간을 줄이는 효과를 제공하는 것이다. 그래서 회사에서 Proxy Server를 사용하는 이유는 웹 서버 접속시간을 단축시키는데 있다.

    또한 Proxy은 대신 처리할 뿐 아니라 아예 거부할 수도 있다. 사전에 아빠가 콜라를 시키면 심부름을 하지 말라고 엄마의 부탁을 받았다면 아들은 콜라를 사오지 않는다. 그러므로 Proxy는 특정한 Web Site에 접속하는 것을 차단하기도 한다.

    마지막으로 Reverse Proxy도 있는데, 이것은 외부에서 내부로 접속해 올 때 Proxy Server가 대신 안에 있는 서버에 접속을 한 후 그 결과를 알려주는 것이다. 이것은 회사의 사장 비서와 비슷하다. 고객이 직접 사장을 만날 수 없지만 비서에게 요청하면 비서가 대신 요청을 처리해주는 것과 같다. 기업에서 Reverse Proxy를 많이 사용한다. 그러면 해킹 공격을 받을 때실제로 서비스하는 서버는 중지하지 않고 대신 Proxy Server가 죽게 되므로 내부의 서버는 여전히 안전하며, 대신 Proxy Server만 다시 살리면 된다.

이렇게 Redirection, Forwarder, Proxy(Forward Proxy, Reverse Proxy)의 개념을 정확하게 이해하는 것이 필요하다.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s