1. L4는 IP,포트,세션을 기반으로한 로드밸런싱이다.
2. L4 스위치는 부하분산 장비이며, L4 스위치를 로드밸런서 라고 한다. (Load Balancer)
동일한 역할을 수행하는 서버 그룹을 VIP를 통해 관리하며, 서버로 향하는 트래픽을 일단 VIP를 가진 L4 스위치로 수신한뒤
분배 정책에 따라 적절한 서버에 분배해 주는 것을 말한다.
VIP는 Virtual IP 의 약자로, 서버 그룹의 대표 IP라 할 수 있습니다. 이 VIP를 로드밸런싱을 수행하는 L4 스위치가 있습니다.
서버와 통신하고자 하는 클라이언트는 VIP를 향해 트래픽을 전송하고 L4 스위치가 이 트래픽을 받아 적절한 서버에 로드밸런싱 해주는 것이 L4 스위치의 역할 입니다.
3. 보통 서버 한대로 사용자의 트래픽을 감당하기 어렵기 때문에 동일한 역할을 수행하는
서버를 여러 대 두어서 사용자들의 트래픽이 많아져도 유연하고 안정적으로 사이트를
운영하기 위해 L4 스위치를 통한 로드밸런싱을 한다.
4. 장점
1) 서버 이용률과 네트워크 대역폭의 효율이 증가 한다.
- 사용자 세션 트래픽이 서버 풀에 있는 현재 가용한 서버들 중에서 부하가 적은 서버를 통해 처리 됩니다. 그러므로, 하나의 서버에 트래픽이 집중되는 것을 막아주고 서버의 트래픽처리 지연으로 인해 발생할 수 있는 대역폭의 낭비도 줄일 수 있습니다.
2) 사용자에게 신뢰성 있는 서비스를 제공할 수 있습니다.
- 하나의 서버에 문제가 발생하더라도 나머지 서버들에 의해 어플리케이션과 데이터로 접속할수 있습니다.
3) 서비스의 범용성을 높일 수 있습니다.
- 사용자가 늘어나고 서버들의 처리 용량이 부족하게 되는경우, 기존 서비스에 영향을 주지 않고 새로운 서버를 서버풀에 추가 할 수 있습니다.
참고:
http://blog.naver.com/dltlahs007?Redirect=Log&logNo=100037040202
http://finerss.tistory.com/40
정리 제일 잘된거 펌! http://finerss.tistory.com/40
한마디로 말하면,
L4의 핵심은 'IP, 포트, 세션' 을 기반으로한
로드 밸런싱(Load Balancing)이다!
라고 말하고 싶네요. L4에서 가장 중요한건 역시 4계층답게
포트(port)라는 생각이 드네요.
2계층의 MAC
3계층의 IP
그럼 4계층은 바로 포트 입니다.
그리고 이 포트와 맞물려 로드 밸런싱이라는 개념이 등장 합니다.
L4 스위치는 마치 포트와 로드밸런싱의 오묘한 조합이랄까요.
L4 스위치 = 포트 + 로드밸런싱(물론 IP,세션도 중요합니다)
L4스위치가 로드밸런싱을 수행하는 장비이기 때문에 L4스위치를
다른말로 로드 밸랜서(Load Balancer) 라고도 합니다.
로드밸런싱은, 동일한 역할을 수행하는 서버 그룹을 VIP를 통해 관리하며,
서버로 향하는 트래픽을 일단 VIP를 가진 L4스위치로 수신한 후
분배정책에 따라 적절한 서버에 분배해 주는 것을 말합니다.
VIP는 Virtual IP의 약자로, 서버그룹의 대표 IP라 할 수 있습니다.
이 VIP를 로드밸런싱을 수행하는 L4 스위치가 가지고 있습니다.
서버와 통신하고자 하는 클라이언트는 VIP를 향해 트래픽을 전송하고
L4스위치가 이 트래픽을 받아 적절한 서버에 로드밸런싱 해주는 것이
L4스위치의 역할입니다.
한마디로, L4 스위치는 부하분산 장비입니다.
요즘 웬만한 사이트는 서버 한 대로 사용자들의 트래픽을 감당하기
어렵기 떄문에 동일한 역할을 수행하는 서버를 여러 대 두어서 사용자들의
트래픽이 많아져도 유연하고 안정적으로 사이트를 운영하기 위해
L4스위치를 통한 로드밸런싱을 하는걸로 알고 있습니다.
L4스위치, 즉 로드밸란서가 없어도 네트워크를 하는데 지장은 없습니다.
하지만 IT가 발전하고 트래픽이 과도해지면서 로드밸런서 없이는 안정적인
네트워크를 구성하는것이 불가피해지고 있다는 생각이 드네요.
이 그림에서 보는바와 같이, ################################################### 그러면 L4를 왜 쓰느냐?? 2가지 이유가 있습니다.첫 번째 로드를 분산하기 위해서 입니다.(로드 발란싱) 예를 들어 한 서버에 웹 서비스(80)를 하는 서버가 있습니다. 그런데 서버에 부하 때문에 서버를 증설 해야 합니다. 하지만 서버를 분리 시키면 IP가 하나 더 필요하게 되고 IP가 늘어나면 기존 서비스와 IP가 달라지는 문제가 생깁니다.이 때 사용하는 것이 L4장비의 VIP입니다. 예를 들어 기존에 사용하는 서버의 IP가 128.x.x.1이라고 합시다. 이 IP를 L4장비에 VIP로 할당합니다. 128.x.x.1 for 80 128.x.x.1 regarding 80 (VIP는 가상의 아이피를 말합니다.) 기존 서버에는 128.x.x.2 와 새로운 서버에는 128.x.x.3을 할당합니다. (물론 기존 서버와 새로운 서버는 데이타가 동기되어 있어야 합니다.) 그리고 L4장비에 로드발란싱이 가능하게 세팅합니다. 그러면 이제 128.x.x.1로 요청하는 응답에 대해서 L4가 처리 하게됩니다. (대표IP로 서버여러대를 가지치기 할수 있다.) L4는 로드발란싱 규칙에 따라서 기존 서버에서 응답하게 할 수도 있고 신규 서버에서 응답하게 할 수도 있습니다. 간단하게 L4에서 홀수 번째 요청은 기존 서버에서 짝수 번째 요청은 신규 서버에서 응답하게 설정 할 경우 요청에 대한 응답을 정확하게 반으로 나눌수 있습니다. 이렇게 한 서버의 요청건수를 줄여주어 실제로 한대의 서버가 처리해야 할 요청을 두대(여러 대)의 서버가 처리하게 되는 것을 로드 발란싱이라고 합니다. 알테온으로 설명 드리면, 웹서버 두대를 로드밸런싱 하려면 먼저웹서버를 각각 real server 로 각각 ip를 등록합니다. 이렇게 하면 128.x.x.1 for 80 은 오직 80 포트만을 받고, 다른 포트는 filtering 된다.. 쓸데없는 포트로 들어오는 공격을 막을수 있다. 그리고 L4의 두번째 기능으로 무결성을 위한 fail over기능입니다. 흔히 가장 안정적으로 서비스되는 서버는 일년에 다운타임(동작 불능시간)이 50분 미만인 서버라고 합니다. (1년동안 50분 정도 다운되면 최고로 안정적인 서버가 되는 것입니다.) 서버역시 기계인 것이라 영원히 죽지 않는 서버는 존재하지 않습니다. 그러나 사람들은 좀더 서버가 안정적으로 동작하길 윈하게 되죠 아주 중요한 서버(예를 들면 정치 관련 홈페이지나 은행과 같은 금융 그리고 그 외 쇼핑몰등)의 경우 일년에 50분의 다운이라도 서비스에 큰 타격을 입을 수 있습니다. 예를 들어 128.x.x.1이라는 서버가 있습니다. 그러나 이 서버는 중요한 서버라 절대 서버에 장애가 있으면 안됩니다. 이럴경우 사용하는 장비가 L4입니다. L4에 VIP를 이용해서 128.x.x.1이라는 IP를 할당합니다. 기존 서버의 IP를 128.x.x.2로 변경합니다. 새로운 서버에 128.x.x.3으로 할당합니다.(물론 기존 서버와 자료가 같도록 동기화 되어 있어야 합니다.) L4에 fail over기능을 이용 할 경우 128.x.x.1로 오는 모든 요청에 대해서 L4는 128.x.x.2가 응답하게 합니다. 그리고 128.x.x.2에 장애가 있을 경우(서버가 다운될 경우)에는 128.x.x.3서버가 자동으로 응답하게 처리하게 됩니다. 이렇게 미리 동일한 서버를 준비해 놓고 L4를 이용해서 fail over로 연결하면 첫번째 서버(마스터)에 장애가 있을 경우라도 미리 준비해 놓은 서버(슬래이브)가 동작하게 되므로 실제로 서비스에는 문제가 없게되는 것입니다. Alteon L4 스위치 기본 설정방법
Main# IP Interface 1# /cfg/l3/gw ; default gateway 설정... Default gateway 1# /cfg/slb/real 1 ; 첫번째 real 서버 설정... Real server 1# /cfg/slb/real 2 ; 두번째 real 서버 설정... Real server 2# /cfg/slb/group 1 ; real 서버 그룹 설정... Real server group1# /cfg/slb/virt 1 ; virtual 서버 설정... Virtual server 1# /cfg/slb/port 1 ; L4의 물리적인 포트 1번 설정... SLB port 8# /cfg/slb/port 8 ; L4의 물리적인 포트 8번 설정... SLB port 8# /cfg/slb ; SLB 설정...
※ 설정 시 port 9번은 미사용
L4/L7 스위치 개요 (로드밸런서)from 이유있는 코드 2010/02/01 14:05
|
'2019년 이전 정리 > Server' 카테고리의 다른 글
[HTTP] keep-alive 2 (0) | 2014.07.14 |
---|---|
[HTTP] Keep-Alive 기능 (0) | 2014.07.14 |
DTO로 VO를 쓸것인지 Map을 쓸것인지에 대한 고찰 [좋은글 펌] (0) | 2014.01.02 |
Tomcat 에러 java.lang.UnsupportedClassVersionError (0) | 2013.12.16 |
클러스터링 환경 (0) | 2013.12.14 |