공부하는 스누피
[네트워크] 프록시 본문
프록시
: 클라이언트의 입장에서 트랜잭션을 수행하는 중개인
프록시 vs 게이트웨이
프록시는 같은 프로토콜을 사용하는 둘 이상의 App을 연결하고,
게이트웨이는 서로 다른 프로토콜을 사용하는 둘 이상의 App을 연결한다.
프록시를 쓰는 이유
- 모든 트래픽을 볼 수 있고, 건드릴 수 있어 부가 기능을 제공할 수 있다.
- 보안을 강화할 수 있다. (방화벽 프록시)
프록시의 종류 1 - 쓰임에 따른 종류
- 보안 방화벽
- 웹 캐시
- 대리 프록시(Surrogate, 리버스 프록시)
- 콘텐츠 라우터: 콘텐츠의 종류에 따라 다른 웹 서버와 연결
- 익명화 프록시(Anonymizer) : HTTP 메시지에서 신원을 식별할 수 있는 특성을 제거해 익명성 보장에 기여함.
프록시의 종류 2 - 배치에 따른 종류
- 출구(Egress) 프록시: 로컬 네트워크와 더 큰 인터넷 사이를 오가는 트래픽을 제어한다. 방화벽을 제공하거나, 트래픽의 성능을 개선시킬 수 있다.
- 접근(입구) 프록시: ISP 접근 지점에 위치시켜 모든 요청을 종합적으로 처리하고, 캐싱으로 접근 속도를 개선시킨다.
- 대리 프록시(리버스 프록시): 웹 서버의 바로 앞에 위치하여 필요할 때만 웹 서버에게 자원을 ㄴ요청한다. 캐싱, 보안 기능으로 성능을 개선시킬 수 있다.
- 네트워크 교환 프록시: 캐시를 이용한 혼잡 완화, 트래픽 흐름 감시 용으로 네트워크 사이의 인터넷 피어링 교환 지점들에 놓인다.
클라이언트 트래픽이 프록시로 가도록 하는 방법
- 클라이언트를 수정한다: 클라이언트에서 요청을 바로 프록시로 보내도록 함
- 네트워크를 수정한다(인터셉트 프록시): HTTP 트래픽을 지켜보고 가로채서 프록시로 보내도록 한다. 스위치나 라우터에서 제어한다.
- DNS 이름공간을 수정한다: 대리 프록시가 웹 서버의 이름과 IP 주소를 직접 사용하도록 한다.
- 웹 서버를 수정한다: 웹 서버가 요청을 프록시로 리다이렉트한다.
프록시 URI와 서버 URI 차이점
웹 서버로 요청을 보내면 scheme, host, port 번호가 없는데, 프록시로 요청을 보낼 땐 완전한 URI를 갖는다.
Hostname Resolution
프록시가 없으면 사용자가 타이핑한 URI를 가지고 그에 대응하는 IP 주소를 찾는데, 호스트가 발견되지 않으면 호스트명 확장을 제공함.
- www 자동으로 붙임
- 호스트명의 앞부분만 입력하면 자동으로 도메인 검색
[확장 단계]
1) 사용자가 ABC를 입력
2-1) 브라우저는 DNS를 통해 ABC를 찾는다
2-2) 실패함
3-1) 브라우저는 ABC를 www.ABC.com으로 확장함
3-2) 브라우저는 DNS로 www.ABC.com을 찾는다
3-3) 성공하면 IP 주소를 돌려준다
4-1) 브라우저는 IP 주소들에 대해 성공할 때까지 하나씩 접속 시도
4-2) 성공하면 커넥션을 맺는다
5-1) 브라우저는 HTTP 요청을 보낸다
5-2) 브라우저는 HTTP 응답을 받는다
[주의]
!명시적인 프록시 사용하면 부분 호스트명을 자동확장하지 않는다
!인터셉트 프록시일 경우 프록시가 없을 때와 작동 방식이 동일하지만 커넥션이 만들어지고 나서는 작동이 다르다.
(참고)
HTTP 완벽 가이드(2014). 데이빗 고울리.이응준 옮김.인사이트
'CS > 네트워크' 카테고리의 다른 글
[네트워크] SSL과 TLS (0) | 2021.10.30 |
---|---|
[보안] 방화벽(Firewall), 침입 탐지 시스템(IDS) (0) | 2020.11.05 |
[보안] 대칭키, 비대칭키 암호화 (0) | 2020.11.05 |
[네트워크] 가상 근거리 네트워크 VLAN (0) | 2020.11.03 |
[네트워크] 이더넷 (0) | 2020.11.03 |
Comments