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

tae_in·2022년 10월 16일
0

CS

목록 보기
8/10

Web Caching (proxy server)

Web caches

Web Caching은 client가 멀리 있는 origin server까지 가지 않고 가까운 proxy server의 web caches 파일에 접근하여 원하는 파일을 받아오는 기술이다. 그림을 통해 과정을 알아보자.

  1. client가 proxy server에 접근해 caches file이 있는지 본다.
    2-1.caches가 있으면 proxy server에서 데이터를 받아온다.
    2-2. caches가 있으면 proxy server는 origin server로부터 데이터를 요청하여 받아온다. 받은 데이터는 proxy server에 저장된다. 그리고 client에게 데이터를 전달해준다.
    그래서 최초의 client를 제외한 clients는 proxy server에서 정보를 받아올 수 있게 된다.(데이터를 찾을 때 RAM에서 찾아본 뒤 없으면 하드디스크에 가서 찾듯이 클라이언트가 proxy server에 먼저 접근해 Web caches는 굳이 멀리 있는 origin server로 가지 않고, 가까이 있는 proxy server로 가서 정보를 가져오기 때문에 요청-응답 시간을 줄일 수 있다.서 caches file이 있는지 보고 없으면 proxy server가 origin server에게 데이터를 요청하여 이를 받아서 proxy server에 저장한다. 이후 찾는 caches file은 proxy server에 있기 때문에 proxy server에서 데이터를 받아온다.) cache는 ISP가 운연한다고 한다.(하나의 네트워크를 운영하는 대락교, 회사 등등)

    Web caches의 장점

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

위의 그림으로 알아보자. 클라이언트가 origin server까지 가려면 acces link(1.54 Mbps)와 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 이다.
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(RTT) (2sec) + access delay(엄청난 delay(1.5Mbps/1.54Mbps)) + 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(100K * 10)
hit rate (request 데이터가 web cache(proxy server)에 있다면 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를 가져올 수 있다.)

1개의 댓글

comment-user-thumbnail
2022년 10월 16일

이욜 eom~~

답글 달기