Cisco ECMP + CEF: Trafik Gerçekten İki Hatta Eşit Dağılıyor mu?

Routing table’da iki eşit maliyetli route görmek, trafiğin mutlaka %50 / %50 dağılacağı anlamına gelmez.

Cisco tarafında:

ECMP → Birden fazla eşit maliyetli path sağlar.
CEF → Paketlerin bu path’lerden hangisine gönderileceğini belirler.

1. Routing Table’da Birden Fazla Path Var mı?

İlk kontrol:

show ip route 10.20.20.0

Örneğin:

10.20.20.0/24
 via 10.1.1.2
 via 10.2.2.2

görüyorsanız destination için birden fazla next-hop forwarding adayı vardır.

Ancak yalnız routing table’a bakmak yeterli değildir.

2. CEF Tarafını Kontrol Edin

show ip cef 10.20.20.0 detail

CEF, control plane tarafından seçilen route’ların forwarding plane’de hangi adjacency ve next-hop’larla kullanılacağını gösterir.

Cisco IOS XE’de gerçek packet forwarding CEF/FIB üzerinden gerçekleştirilir.

Bu nedenle:

Routing Table → Control Plane
CEF/FIB → Forwarding Plane

ayrımını troubleshooting sırasında yapmak önemlidir.

3. Trafik Neden Tam %50 / %50 Dağılmıyor?

CEF birçok platformda per-destination / flow-based hashing kullanır.

Hash hesabında platform ve yapılandırmaya göre:

Source IP → Destination IP → Source/Destination Port

gibi bilgiler kullanılabilir. Cisco’nun bazı platformlarında varsayılan hash source/destination IP üzerinden yapılırken L4 portlarının da hash’e dahil edilmesi desteklenir.

Amaç aynı flow’a ait paketlerin aynı path üzerinde kalmasını sağlayarak packet reordering riskini azaltmaktır.

Bu nedenle tek büyük TCP flow:

10.10.10.10:50000
        ↓
10.20.20.20:443

sürekli aynı next-hop üzerinden ilerleyebilir.

Yani:

🔥 2 × 1 Gbps link ≠ Tek TCP flow için 2 Gbps

Çok sayıda farklı flow olduğunda trafik dağılımı istatistiksel olarak daha dengeli hale gelebilir. Cisco da per-destination load sharing’in source/destination çiftlerinin sayısı arttıkça daha etkili dağılım sağladığını belirtir.

4. Belirli Bir Flow Hangi Path’i Kullanıyor?

Kontrol:

show ip cef exact-route 10.10.10.10 10.20.20.20

Bu komut belirli source/destination kombinasyonu için CEF’in seçtiği exact route’u gösterir.

Desteklenen platformlarda source/destination port bilgisi de kullanılabilir:

show ip cef exact-route 10.10.10.10 src-port 50000 10.20.20.20 dest-port 443

Farklı flow kombinasyonlarını test ederek hangi next-hop’un seçildiğini görebilirsiniz.

5. Routing Protokolünü de Kontrol Edin

ECMP’nin oluşabilmesi için routing protokolünün birden fazla path’i routing table’a yükleyebilmesi gerekir.

Özellikle BGP’de yalnız iki eşit route öğrenmek yeterli olmayabilir. Multipath forwarding için uygun:

maximum-paths

yapılandırması gerekebilir.

Cisco BGP multipath seçiminde Weight, Local Preference, AS-PATH, Origin ve MED gibi attribute’ların uygunluğu da önemlidir.

Hızlı Troubleshooting Akışı

Routing Table → ECMP Path → CEF/FIB → Hash → Exact Route → Interface Counters → Gerçek Trafik

Buradaki kritik nokta:

🔥 İki link aktif olması, trafiğin byte bazında eşit dağıldığı anlamına gelmez.

Asıl soru:

“Kaç ECMP path var ve CEF farklı flow’ları bu path’ler arasında nasıl dağıtıyor?”

olmalıdır.

About Cem Kemal Erbaş

Buna da göz atın

Cisco 802.1X + ISE: Access Layer’da Kimlik Tabanlı Erişim Kontrolü

Bir cihazın switch portuna fiziksel olarak bağlanması, doğrudan network erişimi alması gerektiği anlamına gelmez. 802.1X …

Bir yanıt yazın