스위치의 분류 :
L2 : OSI 레이어 2에 속하는 MAC 어드레스를 참조하여 스위칭하는 장비
L3 : OSI 레이어 3에 속하는 IP주소를 참조하여 스위칭하는 장비
L4 : OSI 레이어 3~4에 속하는 IP 주소 및 TCP/UDP 포트 정보를 참조하여 스위칭하는 장비
L7 : OSI 레이어 3~7에 속하는 IP 주소, TCP/UDP 포트 정보 및 패킷 내용까지 참조하여 스위칭함
L4/L7 스위치의 용도 :
일반적으로 서버들의 로드밸런싱을 위해 사용됨
복수개의 웹서버가 있을 때, 임의의 웹서버에 접속을 시도하면, 스위치가 각 서버의 부하를 고려하여
적당한 서버와 연결시켜준다.
설정에 따라 순차적 연결 또는 접속이 가장 적은 서버에 연결하는 방식 등이 있다.
L4 스위치 :
Layer 4에서 패킷을 확인하고 세션을 관리하며, 로드밸런싱을 제공하는 스위치
TCP/UDP 패킷 정보를 분석해서 해당 패킷이 사용하는 서비스 종류 별로 처리(HTTP, FTP, SMTP...)
세션관리, 서버/방화벽 로드밸런싱, 네트워크 서비스 품질 보장
L4 스위치의 서비스 단위 로드밸런싱을 극복하기 위해 포트 + 데이터 페이로드 패턴을 이용한 패킷 스위치
(e-mail 내용/제목, URL ...)
connection pooling(시스템 부하 감소), Traffic Compression (컨텐츠 압축 전송), 보안 기능
차이점 :
L7은 보안 기능 강화
(DOS/SYN 공격 방어, CodeRed/Nimda 등 감염 패킷 필터링, 네트워크 자원 독점 방지 등)
L7 스위치에 대한 오해 :
: 기본적으로 L2, L3 및 부분적으로 L4 스위치를 지원한다. 레이어5 세션 계층 위주이다.
L7 스위치는 URL 기반 스위치다.
: L7 스위치 기능에 대한 일부분을 말한 것이다.
L7 스위치는 모든 TCP/UDP 포트(0-65535)에 대한 인지가 가능하다.
(sticky 상태)
사용자A -> L4 -> 1번서버
사용자A -> L4 -> 1번서버
기존 사용자의 세션 상태를 timeout 시간 내에는 계속 유지시켜주는 것이 sticky session이다.
대안 :
URL 스위칭 :
출처 : http://freeism.web-bi.net/tc/657
------------------------------------------------------------------------------------------
L4장비 로드 밸런싱 알고리즘
1. Hashing algorithm
Hashing (hash) 알고리즘에서는 새로은 연결(TCP/UDP)시 각 클라이언트에 대해 hashing key를 가지고 경로를 지정한다. Hashing key는 클라이언트의 IP + port 혹은 IP 주소만으로 결정된다.
장점 : 메모리를 적게 사용하고 요구 절차가 간단.
2. Round-robin algorithm
Round-robin 알고리즘은 round-robin 방식으로 경로를 지정한다. 모든 클라이언트는 동일하게 취급되며 실 서버 혹은 경로는 같은 처리량을 보유해야 한다. SLB에 많이 사용되며 만약 각기 다른 처리 능력을 가진 서버가 있을 경우 weigted round-robin 알고리즘이 더 효율적이다.
3. Weighted round-robin algorithm
Weighted round-robin 알고리즘은 서로 다른 처리 능력을 가진 서버가 있을 경우 사용한다. 가중치를 주어 많이 처리할 수 있는 서버로 많은 트래픽을 할당한다.
4. Least connection algorithm
이 알고리즘은 연결 수가 가장 적은 서버에 네트워크 연결방향을 정한다. 동적인 분산 알고리즘으로 각 서버에 대한 현재 연결 수를 동적으로 카운트할 수 있다. 동적으로 변하는 요청에 대한 부하를 분산시킬 수 있다.
5. Weighted least-connectin algorithm
이 알고르짐은 서버의 처리 능력을 고려하여 가중치를 부여하면서 least-connection scheduling을 적용하여 트래픽을 고루게 분산시키는 방법이다.
--------------------------------------------------------------------------------------------
L4장비 사용( 로드밸런싱 사용 알고리즘 확인 필요)
1. 웹서버와 세션 유지시간 일치후 사용(sticky 옵션)
- 적절한 로드밸런싱이 이루어지지 않을 수 있음
> 단체에서 프록시 서버를 이용하는경우
- 라운드 로빈방식 보다는 hash방식에 적합
2. 세션 서버 사용
- 별도의 서버 필요(Redis, infinispan)
> 리소스 오버헤드
- 혹은 세션 클러스터링 설정(WAS, 라운드 로빈방식) 필요
3. 쿠키사용
> 보안 이슈, 암호화 필요
> 부분 정보 쿠키 사용시 매번 api호출 오버헤드 발생
> 일부 쿠키 지원안하는 브라우저 사용유저 발생 가능성
'Reference > 스크랩' 카테고리의 다른 글
[스크랩] Apache - Tomcat 로드 밸런싱, 세션 클러스터링 (0) | 2014.06.18 |
---|---|
ajaxplorer 사용법 (0) | 2013.07.07 |
[스크랩]ajaxplorer (1) | 2013.07.04 |
HTTP 에러 정리 (0) | 2013.03.11 |
루씬 개요 (0) | 2013.01.07 |