본문 바로가기
IT/네트워크

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

by 신인용 2020. 5. 4.
반응형

 

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

반응형

'IT > 네트워크' 카테고리의 다른 글

Wireshark 패킷 분석 (DNS, TCP)  (2) 2020.05.10
[ 네트워크 ] Electronic mail (E-mail)  (0) 2020.05.04
[ 네트워크 ] Cookie  (0) 2020.05.04
[ 네트워크 ] Web and HTTP  (0) 2020.05.03
[ 네트워크 ] Processes Communicating  (0) 2020.05.03

댓글