ECMP/UCMP 학습

전희준·2026년 9월 13일

Network

목록 보기
7/10

ECMP/UCMP를 알기 위해선 먼저 Multi-Path Routing부터 알아보겠습니다.

1. Multi-Path Routing

보통 라우터는 목적지까지 가는 경로(Route)를 보고 패킷을 전송합니다.

예를 들어

PC
|
R1
|
R2
|
Server

이 구조라면 R1 입장에서 Server로 가는 길은 하나입니다.

하지만 만약 아래와 같은 구조라면

         R2
        /  \    
 PC -- R1  R4 -- Server
        \  /
         R3

R1에서 Server로 가는 경로가 두개가 생깁니다.

경로 1 : R1 → R2 → R4 → Server
경로 2 : R1 → R3 → R4 → Server

이렇게 하나의 목적지에 대해 여러 경로를 사용할 수 있는 방식을 Multi-Path Routing이라고 합니다.

간단히 말하자면 목적지는 하나인데, 갈 수 있는 길이 여러 개 있는 상황이라고 볼 수 있습니다.

1.2 왜 사용할까?

한 경로만 사용하면 그 경로가 꽉 차거나 고장이 생겼을 때 문제가 생깁니다.

반대로 여러 경로를 사용하면

  • 트래픽 분산
  • 장애 대비
  • 대역폭 활용

의 장점이 있습니다.

2. Routing Metric / Cost

경로가 여러 개가 되면 라우터는 어느 경로가 좋은 경로인지 탐색하게 됩니다.

그래서 라우팅 프로토콜은 경로를 비교하기 위해 점수를 사용합니다.

이걸 보통 Metric 또는 Cost라고 부릅니다.

예를 들어

경로 A -> Cost 10 
경로 B -> Cost 30 

이라면 일반적으로 더 작은 값인 Cost 10 경로가 더 좋은 경로로 선택이 됩니다.

Multi-Path Routing이 도로라고 생각하면 Metric이나 Cost는 시간이 더 적은 길로 선택하는 네비게이션이라고 생각하면 이해가 쉽습니다.

하지만 프로토콜마다 기준이 다릅니다.

예를 들어 OSPF에서는 링크의 Cost를 보고, RIP은 Hop Count를 보고, BGP는 여러 Attribute를 종합해서 경로를 판단합니다.

중요한 요점은 Metric/Cost는 여러 경로 중 어떤 경로가 더 좋은지 판단하기 위한 기준이라는 점입니다.

3. ECMP

ECMP는 Equal-Cost Multi-Path의 약자입니다.

의미는 비용이 같은 여러 경로를 동시에 사용하는 방식입니다.

예를 들어

경로 A -> Cost 10 
경로 B -> Cost 10

이면 둘 다 같은 비용이니까 한쪽만 쓰지 않고 둘 다 사용이 가능합니다.

구조로 보면

          Path A
         /
Traffic <
         \
          Path B

이렇게 됩니다.

3.1 ECMP 동작 방식

라우터가 목적지까지 가는 동일한 비용의 경로를 여러 개 가지고 있으면, 트래픽을 여러 경로로 나눠 보냅니다.

다만 보통 패킷 하나씩 번갈아 보내는 방식은 패킷 순서가 꼬일 수 있기 때문에 잘 사용하지 않습니다.

예를 들어

Packet 1 → Path A
Packet 2 → Path B
Packet 3 → Path A

인데 Path B가 조금 느리다고 하면

Packet 1
Packet 3
Packet 2

순서로 도착할 수도 있습니다.

그래서 실제로는 Flow 단위로 경로를 나눠 쓰는 경우가 많습니다.

3.2 ECMP의 장점

첫 번째는 대역폭 활용입니다.

한 링크만 사용하게 되면

Path A → 100%
Path B → 0%

Path B가 놀게 됩니다.

하지만 여기서 ECMP를 사용하면

Path A → 일부 트래픽
Path B → 일부 트래픽

으로 트래픽을 나눌 수 있게 됩니다.

두 번째는 고가용성입니다.

Path A 장애
Path B 정상

이라면 다른 장애가 아닌 정상적인 경로를 이용할 수 있게 됩니다.

즉 ECMP는 성능과 장애 대응을 동시에 챙길 수 있는 방식이 됩니다.

3.3 Flow Hashing

ECMP에서 굉장히 중요한 역할을 합니다.

라우터가 각 연결을 어느 경로로 보낼지 결정할 때 Hash를 사용할 수 있습니다.

대표적으로 다음과 같은 값들을 조합합니다.

Source IP
Destination IP
Source Port
Destination Port
Protocol

위의 다섯 개를 보통 5-Tuple이라고 합니다.

예를 들어

10.0.0.10:50000
→
10.0.0.20:443
TCP

이 정보를 해시 함수에 넣어서 결과가

Hash 결과 → Path A

가 나오게 되면 해당 Flow는 Path A로 보낼 수 있습니다.

다른 사용자는 Hash 결과가 Path A가 아니라 Path B라면 그쪽으로 보내게 되는겁니다.

그래서

Flow 1 → Path A
Flow 2 → Path B
Flow 3 → Path A
Flow 4 → Path B

처럼 분산되게 됩니다.

중요한 점은 같은 Flow는 가급적 같은 경로를 사용하게 해서 패킷 순서가 꼬이는 문제를 줄여주게 된다는 것입니다.

4. UCMP

UCMP는 Unequla-Cost Multi-Path의 약자로

의미는 비용이 서로 달라도 여러 경로를 함께 사용할 수 있는 방식입니다.

예를 들어

Path A → Cost 10
Path B → Cost 20

위의 경로대로 ECMP 기준이라면 Path A가 선택될 가능성이 높습니다.

하지만 UCMP에서는 Path A와 Path B를 둘 다 사용할 수 있습니다.

4.1 ECMP와 UCMP의 차이

가장 이해하기 쉽게 설명한다면

ECMP
= 같은 비용의 경로 여러 개

UCMP
= 다른 비용의 경로 여러 개

라고 할 수 있습니다.

그런데 UCMP는 단순하게 “둘 다 사용한다”에서 의미가 끝나지 않고 경로 성능이나 비용에 따라 트래픽 비율도 다르게 줄 수 있다는 점입니다.

4.2 Weighted Load Balancing

위에서 말한 경로 성능이나 비용에 따라 트래픽 비율도 다르게 줄 수 있다는 것을 Weighted Load Balancing이라고 합니다.

예를 들어

Path A → 10Gbps
Path B → 1Gbps

두 경로에 똑같이 50:50으로 트래픽을 보내게 되면 Path B가 꽉 차게 됩니다.

그래서 이 부분을 해결하기 위해 아래와 같이

Path A → 90%
Path B → 10%

가중치를 다르게 줄 수 있습니다.

이 부분이 UCMP에서 중요한 개념입니다.

쉽게 이해할 수 있게 설명하자면

길의 성능이 다르니까 좋은 길에는 더 많이 보내고, 상대적으로 약한 길에는 적게 보내는 것

입니다.

5. ECMP vs UCMP 비교

구분ECMPUCMP
이름Equal-Cost Multi-PathUnequal-Cost Multi-Path
경로 비용같음다를 수 있음
여러 경로 사용가능가능
트래픽 분산보통 균등 또는 해시 기반가중치 기반 가능
난이도상대적으로 단순더 복잡
활용 목적동일한 품질의 여러 경로 활용성능이 다른 여러 경로까지 활용

핵심만 짚고 넘어가자면

ECMP
→ 같은 조건의 여러 길

UCMP
→ 다른 조건의 여러 길

6. 실제 활용 사례

6.1 ICMP 활용 사례

현재 데이터센터에서는 서버가 굉장히 많습니다.

그래서 단순하게

Server → Switch → Router

이런식으로 구성하지 않고, Spine-Leaf 구조를 많이 사용합니다.

예를 들면

          Spine1        Spine2
          /   \         /   \
         /     \       /     \
      Leaf1   Leaf2  Leaf3   Leaf4
       |        |      |       |
     Server   Server  Server  Server

Leaf 스위치는 서버와 연결되고, Spine 스위치는 Leaf들을 서로 연결해줍니다.

여기서 Leaf1이 Leaf3로 통신한다고 하면

갈 수 있는 경로가

Leaf1 → Spine1 → Leaf3
Leaf1 → Spine2 → Leaf3

두 개가 생깁니다.

그래서 보통 구조가 대칭적이라 Cost도 같게 설계되는 경우가 많기 때문에 Cost가 비슷하면 경로를 다 사용하는 ECMP가 보통 많이 사용됩니다.

6.2 UCMP 활용 사례

하이브리드 네트워크를 예로 생각해 볼 수 있습니다.

온프레미스
   │
   ├── Direct Connect
   │
   └── VPN
        │
      Cloud

Direct Connect는 대역폭과 안정성이 높고, VPN은 상대적으로 느릴 수 있습니다. 이런 경로들이 동시에 사용 가능한 구조라면, 같은 비율로 보내기보다 성능 차이를 고려해서 트래픽 비율을 다르게 가져가는 개념인 UCMP를 활용할 수 도 있습니다.

7. 마무리

ECMP/UCMP에 대해 학습하면서 머리속으로는 이해됐지만 뭔가 아쉽다는 느낌이 많이 남았습니다. 다음에는 실습을 통해 구조적인 부분에서 더 파보면서 학습을 해봐야겠다는 생각이 들었습니다.

다음 포스팅은 이전에 네트워크 책을 통해 배웠던 라우팅에 대한 실습과 6장에서 배울 로드밸런싱 실습에 대한 포스팅을 올릴 생각입니다.

0개의 댓글