Link
Today
Total
04-30 06:08
Archives
관리 메뉴

초보개발자 긍.응.성

L4 스위치란? 본문

WEB

L4 스위치란?

긍.응.성 2020. 4. 8. 21:43
반응형

L4 Switch에 대해 여러 자료를 찾으며 공부한 것을 정리한 글입니다. 부족하거나 잘못된 내용이 있다면 알려주세요~

로드밸런싱

부하분산 또는 로드 밸런싱(load balancing)은 컴퓨터 네트워크 기술의 일종으로 둘 혹은 셋 이상의 중앙처리장치 혹은 저장장치와 같은 컴퓨터 자원들에게 작업을 나누는 것을 의미한다.

부하분산을 위한 대부분의 응용 프로그램은 다수의 서버를 가지고 한 가지 종류의 인터넷 서비스를 지원하는 방식이다. 보통 부하 분산은 트래픽이 많은 웹 사이트, IRC 네트워크, FTP 사이트, NNTP 서버 그리고 DNS 서버에 적용이 되고 있다.

로드밸런서의 종류

  • 운영체제 로드밸런서
    • 물리적 프로세서 간에 작업을 스케줄링
  • 네트워크 로드밸런서
    • 사용 가능한 백엔드에서 네트워크 작업을 스케줄링
      • L2: MAC Address를 참조하여 스위칭 (브릿지, 허브)
      • L3: IP주소를 확인하여 스위칭 (Router, ICMP, IP)
      • L4: IP주소 및 TCP/UDP 포트 정보를 참조하여 스위칭
      • L7: IP주소 및 TCP/UDP 포트 정보와 패킷 내용을 참조하여 스위칭


Switch?

네트워크 스위치는 처리 가능한 패킷의 숫자가 큰 것으로, 네트워크 단위들을 연결하는 통신 장비로서... 허브보다 전송 속도가 개선된 것... 스위치는 훨씬 향상된 네트워크 속도를 제공한다. 이는 각 컴퓨터에서 주고받는 데이터가 허브처럼 다른 모든 컴퓨터에 전송되는 것이 아니라, 데이터를 필요로 하는 컴퓨터에만 전송되기 때문에... 따라서 허브처럼 병목 현상이 쉽게 생기지 않는다. 또한 대부분의 스위치는 full duplex을 지원하기 때문에 송 수신이 동시에 일어나는 경우 훨씬 향상된 속도를 제공한다.

스위치는 이 기능을 수행하기 위해 각 컴퓨터의 고유한 MAC 주소를 기억하고 있어야 하며, 이 주소를 통해 어떤 데이터가 어디로 전송되어야 하는지 판단해야 한다.... 위키피디아

짧게 정리하면 스위치는 허브가 발전한 형태이며, 반이중 통신방식(half duplex - 송/수신이 동시에 이루어지지 못함)만을 지원하고 전달받은 데이터를 연결된 다른 모든 컴퓨터에게 전달하는 허브에서 전이중 통신방식 (full duplex - 송/수신이 동시에 이루어질 수 있음)을 이용하며 MAC 주소와 IP, Port정보를 분석하여 데이터를 필요한 컴퓨터에만 전송한다는 것이 장점이다.

L4 Switch

  • OSI 3, 4 Layer에 속하는 IP 주소 및 TCP/UDP 포트 정보를 참조하여 스위칭하는 장비이다

  • Transport Layer(IP + Port)를 이용한 Load Balancing

    IP + Port: 192.168.0.101:8000

  • TCP, UDP Protocol을 이용

  • Port 기반 스위칭 지원

  • VIP(Virtual IP)와 매핑한 테이블을 갖고 있어서 VIP로 들어오는 트래픽을 여러 서버에 분산시킬 수 있다

  • 주로 Round Robin 방식을 사용한다.

 

VIP?

VIP는 Virtual IP의 약자로, 서버 그룹의 대표 IP이다. 로드밸런싱을 수행하는 L4 스위치가 VIP를 가지고 있으며, 서버와 통신하고자 하는 클라이언트는 VIP를 향해 트래픽을 전송하고 L4 스위치가 이 트래픽을 받아 로드밸런싱 알고리즘을 통해 적절한 서버에 전송해준다.


L4 스위치의 주요 기능

1. 서버 로드밸런싱 기능

  • 서버 로드밸런싱이랑 인터넷의 서버 부하분산 기능을 말한다. 여러 대의 서버를 마치 하나의 서버처럼 동작하게 함으로써, 인터넷 서버의 성능 및 안정성을 향상할 수 있다.

2. 캐시 리다이렉션 기능

  • 캐시 리다이렉션은 캐싱 서버를 좀 더 효율적으로 사용할 수 있게 하는 것이다. 캐시는 인터넷의 서버와 클라이언트 단에서도 속도 향상과 WAN 구간의 트래픽 감소를 위해 서버의 데이터를 일시적으로 저장한다. 과거 캐싱 서버는 Client 측에서 Proxy 하게 동작했지만 L4 스위치를 사용해 투명한 캐싱 서비스를 제공할 수 있다. 투명하다는 의미는 Client에서 웹브라우저 아무런 설정 없이 캐싱 서비스를 이용할 수 있음을 말한다.

3. 방화벽/VPN 로드밸런싱 기능

  • 방화벽이나 VPN 게이트웨이 장비의 성능 향상과 안정성 향상을 위한 기능이다.


L4 스위치를 사용하는 이유

  1. Load Balancing
  • 하나의 공인 IP로 여러 개의 사설 IP를 사용할 수 있게 한다.
  • 여러 개의 사설 IP로 트래픽을 나누어 부하를 줄여준다.
  1. Fail Over (무결성)
    VIP를 이중화(Master & Slave) 시킴으로써 VIP장비의 실패에도 내성을 갖게 한다.
  • VIP로 접속을 하고 Active 된 로드밸런서로 연결 (마스터 LB로 연결시킨다).
  • 장애가 났을 경우 standby중인 로드밸런서로 연결 (마스터가 장애 발생하면 Standy 된 Slave가 동작하여 서비스가 정상 작동하도록 한다)
  • 이중화된 로드 밸런서에서 Health Check(주기적으로 Health Check 패킷을 보내며 상태를 체크)
  • 장애로 여분의 로드밸런서가 동작할 경우 이를 통해 서버에 접근


 

L4 스위칭 과정

  1. 브라우저에서 www.naver.com입력

    • PC에 설정된 Local DNS 서버로 DNS Query
    • Local DNS 서버는 www.naver.com을 관리하는 DNS 서버에 DNS Query 하여 L4의 VIP주소 획득
  2. Local DNS는 획득한 VIP 주소를 전송

  3. 획득한 DNS를 기반으로 L4 VIP로 http요청

  4. LoadBalancer(이하 L/B) 장비는 최적의 서비스 서버를 내부 알고리즘(Round Robin 등)을 통하여 선별, 요청을 전송

  5. 처리 서버는 작업 결과를 L/B장비로 전송

  6. 전달받은 http결과를 L/B장비를 통해 Client에 전송함으로 요청 처리를 끝냄

 

L4 스위치 알고리즘

1. Least Connection

  • 현재 세션이 가장 적은 쪽으로 세션을 보낸다.
  • 세션수를 고려하기 대문에 약간의 메모리 자원을 소비하게 된다.

2. Round Robin

  • 리얼 서버의 마지막 번호를 가진 서버로부터 출발하여 순차적으로 세션을 맺도록 한다.
  • 일반적인 웹사이트에서 많이 선택한다
  • 간단하여 거의 부하가 일어나지 않는다

3. Hash

  • Client와 Server 간에 한번 성립된 세션을 계속해서 유지해주는 방식으로 특정 client는 특정 server로만 접속하게 된다.
  • client의 source IP Address(32bit) 값을 real server의 대수로 나눈 나머지 값으로 connection 할 서버를 결정한다.

4. Minimum Misses

  • Hash와 유사하며 client source IP Address를 real server의 대수로 나눈 나머지 값으로 connection 할 서버를 결정한다.
  • 어떤 서버가 서버 그룹에서 제외된 경우 해당 서버에 할당된 사용자에 대해서만 재할당 작업을 한다.
  • 주로 사용하는 타깃이 다르다. 주로 Cache Redirection에 주로 사용하도록 권장한다.

5. Fastest Response Time

  • 요청에 가장 빠르게 응답하는 Real Server에게 분배

참고자료

 

반응형

'WEB' 카테고리의 다른 글

Filter 와 Interceptor의 차이란?  (0) 2020.04.12
JSP란?  (0) 2020.04.10
Apache & Nginx & Tomcat란?  (0) 2020.04.09
Reverse Proxy란?  (0) 2020.04.09
Web Server란? WAS란?  (0) 2020.04.09
Servlet 이란?  (0) 2020.04.09
GSLB란?  (2) 2020.04.09
DNS란?  (0) 2020.04.09
Comments