본 내용은 한양대학교 이석복 교수님의 강의를 참고하여 정리하였습니다. 교재는 Pearson/Addison Wesley에서 출판한 Computer networking : a top-down approach입니다.
Proxy server
- Proxy : server와 client 사이에 중계하는 대리 통신
- Proxy server : 대리 통신을 하는 컴퓨터 시스템이나 응용 프로그램
- Proxy server는 proxy server에 요청된 내용들을 캐시를 이용해서 저장
- Client에게 빠른 데이터 전송 가능
- Server에 몰리는 트래픽 감소
Proxy server가 필요한 이유
- 저렴한 비용으로 속도 개선
- 문제 상황 : 사용자가 브라우저를 클릭해서 요청을 보내고 응답을 받는 시간이 오래 걸리는 상황
* 문제 상황 : 시간이 오래 걸림
* 조건
+ 평균 object size : 1M bits
+ 브라우저에서 서버까지 평균 요청률 : 15/sec
+ 평균 데이터 전송률 (client에게 보내는) : 15 Mbps
+ Router A에서 origin server에 요청을 보내고 응답을 받는 시간 (Internet delay) : 2s
* 결론
+ LAN의 ultilization은 15Mbps/100Mbps * 100 = 15%이므로, 여기서는 msecs이 걸린다.
+ Access link의 ultilization은 15Mbps/15.4Mbps * 100 = 99%이므로, 여기서는 수 mintue이 걸린다.
+ Router A에서 요청을 보내고 받은 시간은 2이다.
+ 평균 총 시간 : 2s + mins + msecs
- 해결 방법 1
* Access link의 cable을 확장 공사
* 예시
+ 15.4Mbps를 154Mbps로 확장한다면, access link utilization은 99%에서 9.9%로 감소할 것이다. 그리고 여기서 걸리던 시간도 minutes에서 msecs으로 감소할 것이다.
* 평균 총 시간 : 2s + msecs
* 단점 : 비쌈
- 해결 방법 2
* 사용자의 request를 충분히 처리할 수 있을 정도의 데이터를 저장할 수 있는 proxy server 설치
* 예시
+ Hit rate = 0.4이 되는 proxy server를 설치하면 대학교 내부에서 요청의 40%는 proxy server에서 처리하고 나머지 60%만 밖으로 나가게 됩니다.
+ 시간 계산 : (모든 네트워크가 원활할 때, 대학교 밖으로 나가는 요청과 응답 시간) * (나가는 비율) + (대학교 내부에서 요청과 응답 시간) * (proxy server로 처리되는 비율)
+ 평균 총 시간 : (2.0xxx) * 0.6 + (0.0xxx) * 0.4
일관성 문제
- Proxy server에 있는 데이터는 최신 버전인가?
- 일관성 유지 방법 : Conditional GET
* Proxy server에서 자신이 가진 데이터의 업데이트 날짜를 보내서 server와 비교하여 데이터를 갱신하는 방법
* 동작
참고
'Software Courses > Network' 카테고리의 다른 글
Application : Socket programming (0) | 2020.12.31 |
---|---|
Application : DNS (0) | 2020.12.30 |
Application : HTTP (0) | 2020.12.29 |
Application layer : 개요 (0) | 2020.12.29 |
네트워크 구성요소 : Network Core (0) | 2020.12.28 |