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 |