😒 저 저 저 개념없는 나/🌐 네트워크

[네트워크] 프록시 | 로드밸런서

우주수첩 2024. 11. 22. 17:27
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://xxeol.tistory.com/29

https://m.post.naver.com/viewer/postView.naver?volumeNo=27046347&memberNo=2521903

 

 

728x90