IT Technology/Network

L4, L7 로드밸런서 스위치 개요

by빵수 2021. 4. 1. 16:57
728x90
반응형

L4, L7 스위치 장비란?

 

 - Layer4 장비 : OSI 3~4계층에 속하는 IP 주소 및 TCP/UDP 포트 정보를 참조하여 스위칭 하는 장비

 

 - Layer4 장비 : OSI 3~7계층에 속하는 IP 주소 및 TCP/UDP 포트 정보 및 패킷 내용까지 참조하여 스위칭 하는 장비

 

 

 

L4, L7 스위치 용도

 

 - 일반적으로 서버들의 로드밸런싱을 위해 사용된다.

 

 - 복수개의 모바일 전용 서버가 있을때, 임의의 모바일 전용 서버에 접속을 시도하면 스위치는 각 서버의 부하를 고려하여 적당한 서버와 연결시켜준다.

 

 - 알고리즘에 따라 순차적 연결 또는 접속이 가장 적은 서버에 연결하는 방식 등을 사용하여 서버에 접속된다.

 

 

L4 스위칭

 

 - Layer 4에서 패킷을 확인하고 세션을 관리하며, 로드밸런싱을 제공하는 스위치
 - TCP/UDP 패킷 정보를 분석해서 해당 패킷이 사용하는 서비스 종류 별로 처리(HTTP, FTP, SMTP...)
 - 세션관리, 서버/방화벽 로드밸런싱, 네트워크 서비스 품질 보장

 

 

L7 스위칭

 

 - L4 스위치의 서비스 단위 로드밸런싱을 극복하기 위해 포트 + 데이터 페이로드 패턴을 이용한 패킷 스위치 (e-mail 내용/제목, URL ...)
 - connection pooling(시스템 부하 감소), Traffic Compression (컨텐츠 압축 전송), 보안 기능

 

 

L4 vs L7 

 

공통점

 - 스위치로 들어온 패킷을 적절한 목적지로 전송해줌 (불필요한 패킷은 drop시킴)

차이점   

 - 기능과 역할은 동일하나 패킷을 분석하는 인텔리전스가 다름
 - L7은 보안 기능 강화 (DOS/SYN 공격 방어, CodeRed/Nimda 등 감염 패킷 필터링, 네트워크 자원 독점 방지 등)

 

 


L7 스위치에 대한 오해 

 
 - L7 스위치는 레이어 7 계층을 위한 스위치이다.

   : 기본적으로 L2, L3 및 부분적으로 L4 스위치를 지원한다. 레이어5 세션 계층 위주이다.


 - L7 스위치는 URL 기반 스위치다.
   : L7 스위치 기능에 대한 일부분을 말한 것이다.

 - L7 스위치는 모든 TCP/UDP 포트(0-65535)에 대한 인지가 가능하다.
   : 알려진 일반 포트에 대한 세션처리는 가능하지만, 순간적으로 사용하는 임시 포트는 제한적이다.

 

L4 Sticky Session

 

 - L4 스위치를 통해 분배된 서비스 세션은 하나의 연결 요청에 1~n 중에 한 대의 서버에 분배된다.
 - 여러 번 시도해도 그 때마다 1~n 중에 한 대에 분배되므로, 같은 서버에 접속될 확률은 1/n이 된다.
 - 그러나 처음에 접속했던 서버와 같은 서버에 계속 연결할 수 있게, 사용하는 옵션이 sticky 옵션이다.


 
(일반적인 상태)
사용자A -> L4 -> 1번서버
사용자A -> L4 -> 3번서버

(sticky 상태)
사용자A -> L4 -> 1번서버
사용자A -> L4 -> 1번서버

 - 기존 사용자의 세션 상태를 timeout 시간 내에는 계속 유지시켜주는 것이 sticky session이다.
 - timeout 시간은 60분 이내로 조절 가능하다.

 

L4 Sticky Session 문제점 

 

 

 - L4 스위치의 가장 큰 목적인 로드밸런싱이 제대로 동작하지 않을 수 있다.

 - 개별 사용자가 사용할 경우에는 세션 timeout이 있으므로 어느 정도 로드밸런싱을 충족시킨다.
 - But 프록시서버를 사용하는 경우 문제가 된다. 예를 들어 회사에서 외부로 나가는 경우 각 PC의 IP가 아니라 프록시서버의 IP를 달고 나간다.

 - 여러 사람이 timeout 시간 내에 접속하는 경우, 외부에서 보기에는 동일한 사람으로 보이므로 계속해서 한 서버에만 로드가 집중된다.

문제점 해결 방법


 - SSL이나 기타 다른 보안모듈을 이용해서 인증된 특정 사용자에 대해서 Cookie/DB에 기록 후 해당 사용자에 대해서만 세션을 유지하도록 한다. (단점 : performance 저하 및 기타 cost)
 - L7 스위치를 사용한다.

 

 

 

L7 스위치 방식

 

 

URL 스위칭 

  •  URL 주소에서 특정 String을 검사하고, 검색된 문자열을 기준으로 부하를 분산시키는 방식이다.
  • 예를 들어www.test.co.kr/test.html 이라는 주소로 사용자들이 웹페이지를 요청을 시도한다
  • 해당 페이지는 이미지가 주기적으로 변경되고, 이미지 크기도 커서 전체적으로 로딩이 느리다
  • 이 경우, Client의 http request 내용에 html이 들어가면, 메인 웹서버로 전송하고 해당 request에 PNG 등의 이미지를 요청하는 경우 다시 이미지 웹서버로 전송하여 패킷을 분산할 수 있다.

 

Cookie 스위칭

 

  • Http header의 cookie 값에 따른 특정 String을 기준으로 부하를 분산하는 방식
  • Cookie 값 필드를 보고 설정된 분류 기준에 따라 어느 서버로 보낼지 결정한다

 

Content 스위칭

 

  •  Legacy한 L7 스위치는 URL/Cookie 스위칭을 사용했으나, 최근 L7 스위치는 Content 스위칭 방식을 이용 
  • 기존에는 제한적인 기능, 즉 호스트네임, URL, Cookie 를 기준으로 로드밸런싱을 하였으나, L7 content 스위칭은 추가적인 기능을 지원한다.
  •   Http header 의 모든 필드를 기반으로 한다.
  •   XML content를 기반으로 한다.
  •   XML tags 나 multiple Http header를 기준으로 복잡한 로드밸런싱을 구현한다.
  •   Cookie 와 http header의 insertion과 deletion을 포함한 contents-rewrite 기능을 지원한다.
  •   Alternate한 url이나 도메인의 redirecting request를 지원한다.
반응형

'IT Technology > Network' 카테고리의 다른 글

Ethernet Physical error(CRC, Frame,...) 점검 방법  (0) 2021.04.03
RSTP란? Rapid Spanning  (0) 2021.04.02
STP란? Spanning Tree Protocol  (0) 2021.03.31
BGP 란 ?  (0) 2021.03.24
Etherchannel 이란?  (0) 2021.03.15