Software Courses/Network

Application : Proxy server

김 정 환 2020. 12. 30. 14:50
반응형
본 내용은 한양대학교 이석복 교수님의 강의를 참고하여 정리하였습니다. 교재는 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와 비교하여 데이터를 갱신하는 방법

 

        * 동작

   

 

 

 

참고

    - Proxy server 이미지

    - Proxy 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