[서버네트워크]

LACP 부하분산 및 지연불일치

펭귀니 2024. 10. 7. 15:39

**LACP(Link Aggregation Control Protocol)**는 여러 개의 물리적인 링크를 **하나의 논리적 링크**로 묶어, 이 링크들 간에 **부하 분산(load balancing)**을 수행합니다. 이는 네트워크 성능을 향상시키고, 단일 링크에 문제가 생기더라도 네트워크가 지속적으로 동작할 수 있도록 **유연성과 안정성**을 제공합니다. 

### 부하 분산(Load Balancing)이 발생하는 상황:

부하 분산은 LACP에서 여러 물리적 링크가 **동시에 활성화된 상태**에서 발생하며, 각 링크에 데이터 트래픽이 분산되어 전송됩니다. 그러나 LACP에서의 부하 분산은 **트래픽을 균등하게 분산**하지 않으며, 주로 **해시 기반의 알고리즘**을 사용하여 특정 기준에 따라 트래픽을 링크에 할당합니다.

LACP에서 **부하 분산이 발생하는 상황**은 다음과 같습니다:

1. **여러 개의 활성 링크가 구성된 경우**:
   - LACP는 두 개 이상의 **활성화된 물리적 링크**가 구성되어 있을 때 부하 분산을 수행합니다. 각 링크는 하나의 논리적 링크로 묶이며, 네트워크 트래픽은 이 묶인 링크들 간에 분산됩니다.
   
2. **트래픽 분배 기준**:
   - 트래픽은 **해시 알고리즘**을 기반으로 각 링크로 분산됩니다. 일반적인 해시 알고리즘은 **출발지 MAC 주소, 목적지 MAC 주소, VLAN, IP 주소, TCP/UDP 포트 번호** 등의 조합을 사용하여 각 프레임의 해시 값을 계산하고, 그 해시 값에 따라 트래픽을 특정 링크에 할당합니다.
   - 예를 들어, 특정 출발지 MAC 주소와 목적지 MAC 주소 조합의 트래픽은 링크 1을 사용하고, 다른 MAC 주소 조합의 트래픽은 링크 2를 사용하게 될 수 있습니다.

3. **트래픽 유형에 따른 분산**:
   - 트래픽이 어떤 링크로 분산되는지는 **트래픽의 유형**에 따라 달라집니다. 일반적으로, **동일한 세션의 트래픽**은 한 개의 링크로 유지되며, 세션 간 트래픽이 여러 링크로 분산됩니다. 즉, 특정 TCP 연결(세션)에 대한 트래픽은 하나의 링크를 통해 전송되고, 다른 TCP 연결에 대한 트래픽은 다른 링크로 전송됩니다.

### LACP와 지연 불일치(Delay Discrepancies):

LACP에서 **지연 불일치**는 **큰 문제가 되지 않습니다**. 즉, 물리적 링크들 간에 **일정한 지연 차이(delay discrepancy)**가 발생하더라도, LACP는 **정상적으로 부하 분산을 수행**할 수 있습니다.

- **지연 불일치란?**: 이는 각 물리적 링크를 통해 데이터가 전송될 때, **전송 시간에 차이가 발생하는 것**을 의미합니다. 즉, 각 링크의 전송 지연 시간이 다를 수 있습니다.
  
- **LACP의 동작 원리**: LACP는 각 링크의 **대역폭**과 **상태**를 기반으로 트래픽을 분산시키기 때문에, **지연 시간이 달라도 문제 없이 동작**합니다. 트래픽이 분산되는 동안, LACP는 각 링크가 정상적으로 연결된 상태인지와 대역폭 사용 가능 여부만을 고려합니다. 트래픽은 동일한 링크에서 전송되기 때문에, 특정 세션의 패킷들이 여러 링크로 분산되지 않으므로 **지연 차이로 인한 문제**는 발생하지 않습니다.

### LACP의 부하 분산 예시:

- **상황**: 두 대의 서버가 스위치를 통해 연결되어 있고, 서버 간에 데이터가 교환되고 있다고 가정합니다. 두 서버는 각각 스위치에 **4개의 물리적 링크**로 연결되어 있으며, 이 링크들은 LACP를 통해 **하나의 논리적 링크**로 묶여 있습니다.

- **부하 분산 동작**: 서버 간에 데이터를 주고받을 때, **출발지 IP 주소, 목적지 IP 주소, 포트 번호** 등의 정보를 기반으로 **해시 값**이 계산됩니다. 그 결과, 서버 간에 전송되는 데이터는 4개의 물리적 링크 중 각각 다른 링크로 분산되어 전송됩니다. 이 과정에서 **동일한 세션의 트래픽은 한 링크로 전송**되지만, **다른 세션의 트래픽은 다른 링크로 분산**됩니다.

- **지연 불일치 처리**: 각 물리적 링크의 지연 시간이 다를 수 있지만, LACP는 각 세션이 **동일한 링크로만 전송**되기 때문에, 지연 시간 차이가 데이터 전송에 영향을 주지 않습니다.

### 요약:
- **부하 분산**은 **LACP로 묶인 여러 개의 물리적 링크**를 통해 발생하며, **해시 알고리즘**을 사용하여 트래픽을 링크에 분산합니다. 트래픽은 **세션 단위로** 분산되며, 동일한 세션의 데이터는 항상 같은 링크를 통해 전송됩니다.
- **지연 불일치**는 LACP에 큰 영향을 미치지 않으며, 각 링크 간의 지연 시간이 다르더라도 LACP는 **정상적으로 부하 분산을 수행**합니다.