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.
Cem Kemal Erbaş Network, Siber Güvenlik ve Teknik Rehberler