IT/네트워크

[ 네트워크 ] Web Caching (proxy server)

신인용 2020. 5. 4. 20:29
반응형

 

Web Caching (proxy server)

 

 

 

Web caches

 client가 멀리 있는 origin server까지 가지 않고 가까운 proxy server의 web caches 파일에 접근하여 원하는 파일을 받아오는 기술이다.

 

 과정은 이러하다.

 - client가 proxy server에 접근해 caches file이 있는지 본다.

  => caches가 있으면 proxy server에서 데이터를 받아온다.

  => caches가 없으면 proxy server는 origin server로부터 데이터를 요청하여 받아온다. 받은 데이터는 proxy server에 저장된다. 그리고 client에게 데이터를 전달해준다. 

 

 그래서 최초의 client를 제외한 clients는 proxy server에서 정보를 받아올 수 있게 된다.

 

 

 cache는 ISP가 운영한다고 한다. 하나의 네트워크를 운영하는 대학교, 회사 등등... 

 

 

 

 

 

Web caches의 장점

1. response time을 줄일 수 있다.

 Web caches는 굳이 멀리 있는 origin server로 가지 않고, 가까이 있는 proxy server로 가서 정보를 가져오기 때문에 요청-응답 시간을 줄일 수 있다.

 위 그림으로 예를 들자면, origin server까지 가려면 access link와 public Internet을 지나야 한다. 그러나 가까운 곳에 proxy server를 두면, 1Gbps의 LAN link만 지나면 되기 때문에 훨씬 향상된 response time을 제공받을 수 있다.

 

 

 

2. server의 traffic을 줄일 수 있다.

 Web caches를 사용하면 client의 request가 모두 server로 가는 것이 아닌, proxy server로 분산되기 때문에, 그만큼 request에 대한 traffic을 아낄 수 있다. 만약 40%가 hit되어 origin server로 오지 않는다면, 40%만큼 traffic을 아낄 수 있는 것이다.

 

 

 

 

 

 

Cacing 예시

 

1. Web cache를 이용하지 않는 경우

이와 같이 가정하자.

 avg object size : 100K bits

 avg request rate (client -> origin server) : 15/sec

 RTT (institutional router -> origin server) : 2 sec

 access link rate : 1.54 Mbps

 client에서 origin server까지 15개의 object를 request하고, object size가 100K bits 이기 때문에 avg data rate는 15 * 100K bits = 1500K bits = 1.5Mbits 이다.

 

 institutional network를 대학교라고 가정하자.

대학교가 국가기관망에 1.54Mbps의 access link로 연결되어 있다.

web cache를 이용하지 않는다면 이 access link를 거쳐 origin server를 다녀와야 한다.

 

 institutional network는 1Gbps LAN이 깔려있다. 1Gbps의 LAN이 깔려있는데 1.5Mbps를 사용하여 데이터가 전달(LAN delay = 1.5Mbps / 1Gbps)되고 있다. 

 

 access link에서는 1.54Mbps가 주어져 있는데, 1.5Mbps를 보내고 있으니, bandwidth에 거의 꽉차게 보내고 있다. 이것은 queueing delay에서 배웠던 L*a/R => 1 에 가까울수록 delay시간은 엄청나게 늘어난다는 사실을 보면, 1.5Mbps/1.54Mbps = 0.97... (1에 가깝다) 엄청난 delay가 발생할 것이다.

 

 

위처럼 web caches를 사용하지 않는다면, 

total delay = Internet delay (2sec) + access delay(엄청난 delay) + LAN delay (1.5Mbps / 1Gbps)

가 된다. 

 

 

 

 

 

2. Web caches를 사용하는 경우

 avg object size : 100K bits

 avg request rate (client -> origin server) : 15/sec

 RTT (institutional router -> origin server) : 2 sec

 access link rate : 1.54 Mbps

 avg data rate : 1.5Mbps

 hit rate (request 데이터가 web cache에 있다면 hit이라고 한다) : 0.4

 

 hit이 40%라면, access link를 통과하는 데이터는 원래 지나던 데이터의 60%만 지나면 된다. 그러므로 access delay는 1.5Mbps * (0.6) / 1.54Mbps = 0.9Mbps / 1.54Mbps = 0.52... 이 되므로 delay가 훨씬 감소하였다.

 

 

 위처럼 web caches를 사용한다면,

 total delay = internet delay(2s) * 0.6 + access delay(약 0.52s) + LAN delay(0.9Mbps/1Gbps)

 가 된다.

 

이것으로 web caches를 사용하면 훨씬 적은 delay를 가져올 수 있다는 것을 알 수 있었다.

 

 

 

 

 

 

정리

web caches의 장점 2가지

1. response time을 줄일 수 있다.

- web caches를 사용하지 않았을 때

total delay = Internet delay (2sec) + access delay(엄청난 delay) + LAN delay (1.5Mbps / 1Gbps)

- web caches를 사용했을 때

total delay = internet delay (2sec) * 0.6 + access delay(약 0.52s) + LAN delay(0.9Mbps / 1Gbps)

 

2. server traffic을 줄일 수 있다.

 hit rate만큼 server router의 부담을 줄일 수 있다.

 

 

 

 

 

 

 

[참고]

Computer Networking A Top-Down Approach 7-th Edition / Kurose, Ross / Pearson

반응형