728x90
# 프록시 ; Proxy
- 클라이언트와 서버 간의 통신을 중계하는 역할을 하는 서버나 소프트웨어.
- 클라이언트는 서버에게 직접 요청을 보내지않고 프록시를 통해 요청을 보냄
- 프록시는 해당 요청을 대신 서버에게 전달하여 응답을 받아 클라이언트에게 전송
프록시 서버 : 프록시 기능을 수행하기 위해 사용되는 서버
# 포워드 프록시

- 일반적으로 여겨지는 프록시
- 주역할 : 웹서버 로드 감소
위치
- 클라이언트 바로 뒤에 있다
== 인터넷보다 프록시 서버를 먼저 호출한다. - 프록시 서버는 같은 내부망에 존재하는 클라이언트의 요청을 외부 네트워크(인터넷)로 중계
-> 서버에게 클라이언트가 누군지 감추는 역할.
특징 및 역할
1. 캐싱; 불필요한 로드 감소
- 웹페이지나 이미지와 같이 자주 요청되는 컨텐츠를 캐싱
- 클라이언트가 동일한 컨텐츠에 대해 다시 요청을 할 경우 프록시는 원본 서버에 요청을 전달하는 대신 캐싱된 컨텐츠를 제공한다.
- 클라이언트는 빠르게 컨텐츠를 응답받을 수 있고, 서버는 불필요한 로드를 감소해 부하를 완화
2. 익명성
- 서버에서 받는 IP는 클라이언트의 IP가 아니라 프록시 서버의 것.
- 클라이언트의 IP주소와 신원을 숨길 수 있어, 익명성과 개인 정보 보호를 제공한다.
3. 액세스 제어 ; 콘텐츠 필터링
- 액세스 제어 정책을 설정하여 특정 사이트나 콘텐츠에대한 액세스 제한 가능
- 조직이나 기관에서 인터넷 사용을 관리하거나 악성 콘텐츠 필터링 가능
# 리버스 프록시

좌측 : 사용자 / 우측 : 목적지
위치
- 서버의 앞단에 위치하여 클라이언트요청을 여러 대상 서버로 분산하여 전달.
- 인터넷 망에 있는 클라이언트가 프록시 서버를 호출하여 내부 망에 있는 서버를 호출.
특징 및 역할
1. 부하분산; 로드밸런싱
- 리버스 프록시 뒤에 여러개의 WAS를 둠으로써 사용자의 요청을 분산할 수 있다.
- 엔드포인트 마다 호출 서버를 설정 가능.
-> 역할에 따라 서버의 트래픽 분산 가능
2. 보안
- 웹 서버의 직접적인 접근을 차단 -> 보안 강화
- 웹서버의 IP와 신원을 숨기고, 악성 공격으로 부터 보호
- 클라이언트가 직접적으로 서버의 IP를 알 수 없으므로 보안이 다소 취약한 HTTP프레임 워크를 숨겨 이를 보호할 수 있다.
3. 캐싱
- 캐싱하여 자주 요청되는 컨텐츠를 저장하고 동일한 요청에 대해 캐싱된 응답 제공 가능
4. 애플리케이션 관리
- 여러개의 서버나 어플리케이션을 하나의 도메인 아래 통합 가능
- 다양한 어플리케이션을 단일 진입점에서 관리 가능
- URL 라우팅 SSL 인증서 관리 등을 수행할 수 있다.
- 하나의 IP로 다수의 웹서버를 동작시킬 수 있음-> IPv4의 한정된 수량 및 가격적인 측면에서 이점 존재
# 로드밸런서
한 곳의 서버만 집중되어 응답하는 현상을 개선하기 위한 목적으로 고가용성 장비가 트래픽을 분산시킴
로드밸런싱 알고리즘
1. 라운드 로빈 ; Round Robin
- 대상의 우선순위를 두지 않고 서버에 들어온 요청을 순서대로 돌아가면서 배정하여 트래픽 분산
2. 가중 라운드 로빈; Weighted Round Robin Method
- 각각의 서버마다 가중치를 매기고 가중치가 높은 서버에 클라이언트 요청을 우선적으로 배분
- 서버의 트래픽 처리 능력이 상이한 경우 사용
3. IP 해시 방식 ; IP Hash Method
- 클라이언트의 IP주소를 특정 서버로 매핑하여 요청을 처리
4. 최소 연결 방식 ; Least Connection
- 요청이 들어온 시점에 가장 적은 연결상태를 보이는 서버에 우선 배분
- 세션이 자주 길어지거나 서버에 분배된 트래픽들이 일정하지 않은 경우
5. 최소 리스폰 타임; Least Response Time
- 서버의 현재 연결 상태와 응답시간을 모두 고려하여 트래픽 배분
- 가장 적은 연결상태와 가장 짧은 은답시간을 보이는 서버에 우선적 배분
L4 로드밸런싱 VS L7 로드밸런싱
OSI7계층에서 상위계층으로 올라갈 수록 정교한 로드밸런싱이 가능하다
L4 로드밸런서 | L7 로드밸런서 | |
네트워크계층 | Layer 4 ; 전송 계층 | Layer 7 ; 응용 계층 |
특징 | TCP/UDP 포트 정보를 바탕으로 진행 | TCP/UDP 정보는 물론 HTTP의 URI, FTP의 파일명, 쿠키 정보 등을 바탕으로 함 |
장점 | - 데이터 내용 무관 패킷 레벨에서만 로드를 분산 -> 속도 빠름, 효율 굳 - 데이터의 내용을 복호화 할 필요 없음 -> 안전 - L7 로드밸런서보다 가격이 저렴 |
- 상위 계층에서 로드를 분산하기 때문에 훨씬 더 섬세한 라우팅이 가능 - 캐싱 기능을 제공 - 비정상적인 트래픽을 사전에 필터링 할 수 있어 서비스 안정성이 높다 |
단점 | - 패킷의 내용을 살펴볼 수 없기에 섬세한 라우팅 불가능 - 사용자의 IP가 수시로 바뀌는 겨우 연속적인 서비스 제공 불가 |
- 패킷의 내용을 복호화 해야 하기에 더 높은 비용을 지불 - 클라이언트가 로드밸런서와 인증서를 공유해야 하기 때문에 공격자가 로드밸런서를 통해서 클라이언트의 데이터에 접근 할 보안상의 위험 존재. |
https://m.post.naver.com/viewer/postView.naver?volumeNo=27046347&memberNo=2521903

728x90
'😒 저 저 저 개념없는 나 > 🌐 네트워크' 카테고리의 다른 글
[네트워크] TCP Handshake | TIME-WAIT (1) | 2024.11.24 |
---|---|
[네트워크] TCP 헤더 (1) | 2024.11.24 |
[네트워크] SSH (0) | 2024.11.22 |
[네트워크] HTTPS | SSL | TLS (1) | 2024.11.22 |
[네트워크] HTTP | URI | 요청 응답 (0) | 2024.11.21 |