728x90
반응형
cache는 ISP에서 설치
Web caches (proxy server)
- origin server까지 가지 않고 proxy server에서 대신 처리
- client가 무조건 cache를 이용하여 server에 접속할 수 있도록 설정해야 함
- 그 객체가 cache에 있다면 proxy server에서 처리
- 없다면 origin server에서 처리
- client와 server가 동시에 실행되어야 함
- cache가 client에게는 server처럼, server에게는 client처럼 일해야 함
- 대학, 회사, 가정용 ISP에서 이용
- 사용하는 이유
- access traffic을 줄이기 위해서
- request에 대한 “response time”을 줄이기 위해서
- server와 인터넷을 연결한 link의 대역폭이 낮을 때,
- 인기있는 파일만 proxy server에 올려두면 이에 대해 대처할 수 있다
Caching Ex
가정
- avg object size는 100K
- 요청 속도는 1초당 15개를 서버에 요청 : 15/sec (avg request rate)
- 브라우저로 보내는 평균 데이터 전송 속도는 1.50 Mbps
- origin server로부터 자신의 public internet 속 router까지 RTT 2sec
- access link rate : 1.54Mbps
- institutional network에서의 LAN의 capacity: 1 Gbps
결과
- avg data rate
- = 15/sec * 100K = 1.50 Mbps
- 하나의 요청을 전송하는데 걸리는 시간 : L/R
- 100K / 1.50Mbps = 0.0667 sec
- traffic intensity (TI)
- 15 * L/R =
- avg access delay
- (L/R) / (1-TI)
- total avg response time
- = avg access delay + avg internet delay(2 sec)
- LAN utilization
- = avg data rate / LAN의 capacity = 1.50Mbps / 1 Gbps = 0.15%
- access link utilization
- = avg data rate / access link rate = 1.50Mbps / 1.54Mbps 거의 99%
- total delay = Internet delay + access delay + LAN delay
- 인터넷을 건너오는데 드는 시간 2초 (RTT)
- access link에서 걸린 시간은 가늠하기 힘듦
- access link utilization이 99%, 즉 이 때 delay는 기하급수적으로 증가
- 그래서 대략적으로 분 단위라고 표현
- = 2 sec + minutes + usecs
만약 access link의 대역폭을 10배 키운다면
- minutes -> msecs로 단축
- 그러나 이 방법은 비용이 많이 들어감
다른 방법 : local web cache 도입
institutional network에 “local web cache” 도입
- LAN utilization은 0.15%로 그대로
- data 전송 속도 1.50Mbps를 local web cache를 통해 해소
- 그렇기에, access link utilization, total delay가 줄어듦
- cache hit rate를 추가적으로 고려해서 delay를 계산해야 함
- cache hit rate = 0.4라고 가정하면,
- 요청 중 40%는 cache에서, 60%는 origin에서 해야 함
- 그럼 60%에 대해서만 data rate over access link를 계산
- 0.6 * 1.50Mbps = 0.9 Mbps in access link ( access link에 발생한 traffic의 양)
- utilization : 0.9/1.54 (access link의 대역폭)
- = 0.58 (99% -> 58%)
- total delay = 0.6 * (delay from origin server) + 0.4 * (delay from cache)
- 0.6 * (2+0.01) + 0.4(msec) = 1.2sec
- internet을 건너오는데 2sec,
- access link utilization이 정상 범주 내에 있기에 msec 소요
- 그래서 2+0.01
- msec = 0.01
- +) avg access delay
- (L/R) / (1-0.6*TI)
- access link 확장보다 비용 측면에서 저렴
- 그리고 delay도 훨씬 줄어듦
Conditional GET
cache의 마지막 수정 시간을 기준으로 요청한 object가
그 전에 수정되었다면 보내주지 않음
목표
- proxy server가 client로
- origin server가 server 로.
- proxy server가 가진 object가 최신 버전이면 보내지 않음
- object transmission delay X
- lower link utilization
proxy server
- HTTP request에 cache를 받아온 시간을 표시
- date는 해당 web page가 web cache에 저장된 시간
origin server
- 그 요청을 받으면, 그 시간과 이후로 object가 변하지 않았다면 object 없이 응답
- 그러나, 변했다면 새 버전의 object로 실어서 보냄 : <data>
728x90
반응형
'CS > Network' 카테고리의 다른 글
DNS (0) | 2021.10.15 |
---|---|
Electronic Mail (0) | 2021.10.15 |
Web and HTTP ( header & cookie ) (0) | 2021.10.15 |
Application layer (0) | 2021.10.15 |
Networks Under Attack : Security (0) | 2021.10.15 |