카테고리 없음

[Application Layer]Web Cashes(proxy server)

바코94 2020. 5. 10. 21:14

 

web cashes goal: satisfy client request without involving origin server

 

origin server와 관계없이 페이지를 가져오기 위한 방법이 web cashes이다. client와 origin server 중간에 proxy server를 둔다. 즉, proxy server는 origin server을 대신해서 역할 하는 것이다. 

proxy server는 웹 컨텐츠를 저장할 수 있는 캐쉬메모리를 많이 장착해둔다. 클라이언트가 얻어 갔던 정보들을 proxy server의 캐쉬 메모리에 저장해두었다가 사용한다. 

 

1. client는 HTTP request를 proxy server에 보낸다.

2. proxy server에 해당 reqeust에 대한 object가 있다면 바로 response를 보내준다.

2. proxy server에 object가 없다면 client 대리 역할을 해서 origin server에 HTTP request 를 보내 res msg를 받는다. 받은 res msg를 저장하고 나서 client에 전송해준다.

 

proxy server는 web content가 있다면 서버 대리역할이 되고 없다면 클라이언트 대리역할이 된다.

 

proxy server는 university, company, residential ISP에 위치한다. 즉, 게이트웨이 옆에 proxy server를 둔다. 숭실대학교에 2만대의 클라이언트가 있을 때 internet core로 가는 게이트웨이가 있을 것이다. 게이트웨이 옆에 proxy server를 두는 것이다. 포트번호가 80인 패킷이면 proxy server에 먼저 보내서 처리하게 된다. proxy server에는 2만대가 가져왔던 수 많은 web content를 캐쉬메모리에 저장해두게 된다.

residential 에서도 access point 옆에 proxy server를 두어 포트 80번 관련 패킷들을 처리하게 한다. 도메인 단위로 proxy server를 설치한다는 것을 기억해두자.

 

proxy server 사용시 장점은 세 가지 이다.

1. response time이 좋아진다. 

2. institution's access network에서 inter core로 가는 link의 부하를 줄일 수 있다. proxy server의 hit ratio가 높을 수록 link에 걸리는 load가 줄어든다.

3. "poor" content provider를 도와줄 수 있다. naver 같은 수 많은 클라이언트를 감당할 수 있다. 하지만, 개인이 사용하는 pc를 통해 수 많은 클라이언트를 감당하려면 어렵다. 일반 pc에서 upload 속도가 느리므로 동시 접속시 문제가 심각하다. 따라서, proxy server에 저장해두어 개인 pc와 같은 "poor" content provider에게 부담을 줄여줄 수 있다. 

 좋은 컨텐츠를 가지고 있다면 proxy server에 저장이 되어 있다는 얘기기도 하다. 

 

출처: top down approach 책

 

proxy server가 없는 경우 

total delay = internet + access link + LAN

               = 2초(가정) + minutes( 1.5M/1.54M이면 무한대로 가서)  +  usec( 1.5M/1G이면)

                = minutes

 access link가 bottle neck이 되어 만드는 부하가 몇 분의 시간이 걸리게 된다.

 

 

출처: top down approach 책

 

access link 성능을 증가시킨 경우

access link의 사용율은 1.5M/154M이 된다. 2초면 된다. 하지만 월 사용료를 계속 내야한다.

 

출처: top down approach 책

 

web cash를 장착한 경우 access link로 가는 부하가 60%가 된다. aceess link의 utilization이 0.58일 때 delay를 10msec로 가정하면 2sec(인터넷 딜레이)+ 0.01sec 이 되어 2.01이 된다. 또한  한 번 proxy server를 구매하면 되기 때문에 비용적으로도 저렴하다.