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 |
댓글