프록씨 서버란?
클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터 시스템이나 응용프로그램을 말함
서버와 클라이언트 사이에 중계기라고 생각, 대리 통신하는걸 프록시라고하고 그 역할 하는게 프록시 서버임
prox씨 특징
- pc와 외부 인터넷 사이의 중계기 역할 --> 중계를 해주기때문에 외부 인터넷에서 client의 정보를 알수없음
- 외부 인터넷의 내부 침입을 막는 방화벽과 관련있음
- 캐시기능(왜? 이따 설명)있어서 전송시간 절약 및 불필요한 외부 연결 안함 -> 외부 트래픽 줄임 -> 네트워크 병목(bottle neck
진짜 병목이네;)현상 줄임 - IP를 바꾸기위한 용도로 많이 사용한다. -> 무료 프록시 서버 사용으로 다른나라 ip로 우회가능
- client -> proxy -> internet
캐씨
- 캐시란? - 컴퓨터의 기억장치에 관련된 기술임, 속도가 느린 기억장치친구(주기억장치)와 속도가 빠른 기억장치친구(Cache Memory)가 존재할 경우, 간단하게 말해서 빠른 친구에 느린 친구의 내용 중 최근에 사용한거 일부 넣어둠
- 사용 이유?--> 같은 내용을 여러 번 참조할 때, 두 번째부터는 빠른 속도로 읽을 수 있어(굳이 느린놈한테 엑세스 안해도됌)
- 기억 장치 계층👇👇👇👇👇👇👇👇👇👇 레벨업 할수록
묵직함
- 캐시 사용할만한곳 - ex) 반복되거나 동일한 결과 던져줄때(썸네일같은거), 리소스 사용량 줄이고싶을때
- 로컬 캐씨 - 로컬에서만 작동해서 속도 빠름 대신 다른서버랑 데이터 공유 어려움
- 글로벌 캐시 - 네트워크 통해서 데이터 가져와서 비교적 느림, 대신 공유 쉽겠지? -> 분산된 서버에서 데이터 저장 조회가능함
프록시 서버 종류
1. Forward proxy(앞으로 프록시)
- 클라이언트 호스트들이랑 원격 리소스 사이에 위치함 -> 직접 연결 대신 애가 중계 역할하는거
- 전형적으로 로컬에 데이터를 저장함 사용자들이 프록시 서버 설정해야하기때문에 프록시 서버를 사용중인거 인식함
- 대역폭 사용 감소 효과와 비교적 만들기 쉬워서 비용 저렴함
- 웹 사용환경 제한가능 -> 기업환경 등에서 자주 사용
2. Reverse proxy(역 프록시)
- 프록시 서버가 인터넷 리소스 또는 인트라넷 리소스 앞에 위치함
- 사용자가 데이터를 요청하면 애가 대신 받아서 요청하는 형식
애초에 내부서버가 직접 데이터 주는건 너무 위험함 db까지 털려봐야 정신차리제!
--> 보안에 유리(왜?) - 사용자들은 프록시 서버 인식 불가능함 + ex)위에 그림처럼 자바로 웹 만들었다치고 아파치 해킹해도 톰캣 포트 8080, 8009 포트만 접근할수있어서 웹서버 권한으로는 내부망 연결 못함
- 각 요청에 대한 데이터가 캐시되기 때문에 프록시 서버는 실제 서버들을 위한 부하 조절 기능을 가질 수 있음
3. Open proxy(열어요 프록시)
- 모든 인터넷 사용자가 액세스 할 수 있는 프록시 서버임
- 사용자가 웹 브라우징을 하거나 다른 인터넷 서비스를 사용하는 동안 자신의 IP 주소를 숨길 수 있도록 해줌.
- IP 추적을 방지하거나 우회해서 접속하는 기능을 수행할 수 있음
그래서 왜 필요함?
- 익명으로 컴퓨터 유지 -- > 보안 up
- 캐시 사용으로 리소스 접근 속도 up
- 사용률 기록 및 검사용으로 사용 가능 ex) 사용자가 요청한 콘텐츠 검사 ex)애기들 성인사이트 접속 막기
- 보안 및 통제 뜷을라고 사용 가능 -> ip추적 막는 기능, 역기능으로 ip우회가능 -> ex) 지역제한 우회로 뜷는거
보안, 속도, ACL(엑세스 깐트롤러 리스트 = 사이트 접근 정책 정의), 인트라넷, 지역 제한 우회, 요청 응답 필터링
'컴퓨터 시스템' 카테고리의 다른 글
메모리 구조 (0) | 2023.05.12 |
---|---|
프로그램의 기계수준 표현, 링커 (0) | 2023.05.12 |
동적 메모리 할당(Malloc과 Free, calloc, realloc) (1) | 2023.05.07 |
Red-Black 트리 (0) | 2023.05.07 |
Ubuntu 리눅스 명령어 정리 (0) | 2023.05.04 |