티스토리 뷰

IT

L4 Swtich 개념 및 로드밸런싱 방식

iamhappe 2023. 5. 6. 13:22
반응형

* L4 Switch

L4 스위치는 로드밸런싱을 위한 하드웨어 장비로서, 4 계층(Transport layer)의 IP 주소와 포트 번호 정보를 기반으로 트래픽을 분산시키는 방식입니다.

IP 주소와 포트 번호를 보고 클라이언트의 요청을 각각의 서버로 전달하는 역할을 합니다.

L4 스위치는 일반적으로 네트워크의 전면에 위치하여 외부와의 통신을 처리합니다.

클라이언트의 요청이 들어오면, L4 스위치는 요청의 IP 주소와 포트 번호를 확인하여 각 서버의 부하 상태를 고려하여 가장 적합한 서버로 요청을 전달합니다.

이 때, L4 스위치는 각 서버의 응답 시간을 측정하여 응답 시간이 가장 짧은 서버로 요청을 전달하므로, 서버의 부하를 균형 있게 분산시킬 수 있습니다.

대규모 웹 사이트, 데이터 센터, 클라우드 컴퓨팅 등에서 사용되며, 특히 TCP, UDP 등의 프로토콜을 이용하는 서비스에서 유용합니다.

예를 들어, 웹 서버에서는 HTTP 프로토콜을 사용하므로, L7 로드밸런싱이 적합합니다. 반면에 DNS, FTP, SMTP 등의 프로토콜을 사용하는 서비스에서는 L4 스위치를 이용한 로드밸런싱이 적합합니다.

L4 스위치는 하드웨어 기반으로 동작하므로, 높은 성능과 안정성을 보장합니다.

로드밸런싱 방식에는 여러가지가 있습니다.

* 라운드로빈 방식

라운드로빈 방식은 로드밸런싱 알고리즘 중 가장 간단하고 기본적인 방식 중 하나입니다. 이 방식은 클라이언트의 요청을 순서대로 여러 대의 서버에 균등하게 분산시키는 방식입니다.

예를 들어, 서버1, 서버 2, 서버 3이 있다고 가정하면, 첫 번째 요청은 서버 1로 보내고, 두 번째 요청은 서버 2로 보내고, 세 번째 요청은 서버 3으로 보내는 식으로 순서대로 요청을 분배합니다.

이후 요청도 이와 같이 순서대로 분배하며, 모든 서버에 공평하게 요청이 분배됩니다.

라운드로빈 방식은 구현이 쉽고, 서버의 부하를 균등하게 분산시킬 수 있으며, 요청을 처리할 수 있는 서버가 추가될 경우 자동으로 분배 대상에 포함됩니다.

하지만, 모든 서버가 동일한 성능을 가지고 있지 않거나, 서버의 상태가 다른 경우에는 부하 분산 효과가 떨어질 수 있습니다.

또한, 한 대의 서버에서 처리해야 할 작업이 다른 서버에 비해 더 많은 경우에는 해당 서버에 부하가 집중될 수 있습니다.

* 가중 라운드로빈 방식

가중 라운드로빈 방식은 라운드로빈 방식에서 가중치를 부여하여 부하 분산 효과를 높이는 방식입니다.

중치가 높은 서버일수록 더 많은 요청을 처리하도록 설정하며, 가중치가 낮은 서버일수록 더 적은 요청을 처리하도록 설정합니다.

예를 들어, 서버1의 가중치가 3이고, 서버 2의 가중치가 1이라면, 서버 1은 서버 2보다 3배 더 많은 요청을 처리합니다.

가중 라운드로빈 방식은 서버의 부하 상태를 고려하여 부하를 분산시킬 수 있습니다.

따라서 서버의 성능이 다른 경우에도 효과적으로 부하를 분산시킬 수 있습니다.

또한, 새로운 서버가 추가될 경우 해당 서버의 가중치를 설정하여 쉽게 부하를 분산시킬 수 있습니다.

* IP해시 방식

IP해시 방식은 클라이언트의 IP 주소를 해시 함수에 적용하여 서버를 선택하는 방식입니다.

이 방식에서는 클라이언트의 IP 주소를 해시 함수에 입력하면, 해당 해시 값에 따라 서버가 선택됩니다.

예를 들어, 10.10.0.1 IP 주소를 해시 함수에 입력하면 해시 값이 0x12345678이 되고, 이 값에 따라 서버가 선택됩니다.

같은 IP 주소를 입력하면 항상 같은 서버가 선택되므로, 클라이언트가 항상 같은 서버로 연결되는 것을 보장할 수 있습니다.

P 해시 방식은 클라이언트의 IP 주소를 기반으로 서버를 선택하므로, 클라이언트의 IP 주소에 따라 부하 분산 효과가 다를 수 있습니다.

예를 들어, 같은 스위치 내에서 동작하는 클라이언트는 모두 같은 서버로 연결될 가능성이 높아집니다.

따라서 서버가 여러 개의 스위치에 걸쳐 분산되어 있는 경우에는 IP 해시 방식이 부하 분산 효과가 떨어질 수 있습니다.

* 최소 연결 방식

최소 연결 방식은 부하가 가장 적은 서버에 클라이언트의 연결을 우선적으로 전달하는 방식입니다.

이 방식에서는 로드 밸런서가 현재 서버의 부하 상태를 모니터링하여 가장 부하가 적은 서버를 선택합니다.

새로운 클라이언트 요청이 들어오면, 해당 요청을 처리할 수 있는 가장 부하가 적은 서버에 전달합니다.

이 방식은 각 서버의 현재 부하 상태를 고려하기 때문에, 부하가 가장 적은 서버에 연결이 집중되는 것을 방지할 수 있습니다.

최소 연결 방식은 다른 로드 밸런싱 방식과 달리, 각 서버에 대한 가중치(weight)를 지정할 수 없습니다.

따라서, 서버 간에 성능 차이가 크지 않은 경우에 적합합니다.

그러나 이 방식은 부하가 높은 상황에서는 부하 분산 효과가 떨어질 수 있으므로, 다른 로드 밸런싱 방식과 함께 사용하는 것이 좋습니다.

* 최소 리스폰타임 방식

최소 리스폰타임 방식은 가장 빠른 응답 시간을 보인 서버에 클라이언트의 요청을 우선적으로 전달하는 방식입니다.

이 방식에서는 로드 밸런서가 각 서버에 일정한 주기로 테스트 요청을 보내서, 서버의 응답 시간을 측정합니다.

이때 가장 빠른 응답 시간을 보인 서버에 우선적으로 클라이언트의 요청을 전달합니다.

이 방식은 각 서버의 응답 속도를 고려하기 때문에, 부하가 적은 서버에 연결이 집중되는 것을 방지할 수 있습니다.

반응형

'IT' 카테고리의 다른 글

TCP/IP(3-way handshake/4-way handshake)  (0) 2023.05.08
NMS(Network Management System)  (0) 2023.05.07
RAID(Redundant Array of Independent Disks)  (0) 2023.05.05
AWS 용어 정리  (0) 2023.05.04
STP(Spanning Tree Protocol)  (0) 2023.05.03
05-02 06:15
반응형
Total
Today
Yesterday