Yönlendirme seçimi: özgüllük ve metrik


17

Linux , yönlendirme seçimi yaparken hedefe giden en spesifik rotayı seçtiğini anlıyorum . Peki bir rotanın ölçüsü ne olacak? Rotanın özgüllüğünden daha yüksek önceliğe sahip mi?

Linux tarafından kullanılan yönlendirme seçim algoritmasının ayrıntılarına yapılan bir referans da takdir edilecektir.

Yanıtlar:


26

Güzergah metriği, eşit özgüllüğe sahip güzergahlar arasında tercih belirlemektir. Bu genel olarak yönlendirme için geçerlidir (örn. Cisco, Windows, vb.). Yani model şöyle çalışır:

  1. En spesifik rotayı bulun (en uzun önek eşleşmesi * )
  2. Aynı özgüllüğe sahip birden fazla yol varsa, en düşük yönetim mesafesine sahip olanı seçin (Bu, doğrudan bağlı yollar, statik yollar ve çeşitli yönlendirme protokolleri gibi şeyleri ayırt eder).
  3. Bu yönlendirme protokolü ve belirli rota içinde (rota özgüllüğü ve yönetim mesafesi aynı ise), en düşük metriğe sahip rotayı seçin

Kaynak IP adresine göre rota gibi şeyler yapmanıza olanak tanıyan böyle bir ilke tabanlı yönlendirme üzerinde olabilecek başka şeyler olduğunu unutmayın . Ancak rota özgüllüğü, idari mesafe ve sonra metrik, ana üç şey olarak değerlendireceğim şeydir.

* İkili bir alt ağ (örneğin / 24) gibi göründüğü için en uzun önek eşleşmesi olarak adlandırılır 11111111.11111111.11111111.00000000. Böylece bir yönlendirici sadece öneki ikili 1'ler için tarayabilir ve sıfıra çarptığında durabilir ve ardından önekle eşleşebilir.


1
Metrik ve idari mesafe arasında bir ayrımın olmadığı Linux'ta bu doğru değil.
jch

1
@jch Quagga ve ortak. metriği buna göre ayarlayarak AD'yi taklit eder mi? (
Kyle Brandt

1
Hayır, Quagga AD'yi zebraarka plan programında dahili olarak uygular ve yalnızca seçilen yolları çekirdeğe gönderir - böylece çekirdek hiçbir zaman AD ile uğraşmak zorunda kalmaz. Kontrol etmem gerekecekti ama Quagga'nın çekirdek metriğini sabit bir değere ayarladığını düşünüyorum.
JCH

Bunun ethernet köprülerinde geçerli olmadığını belirtmek isteriz, örneğin, aynı metriğe sahip farklı cihazlar üzerinden iki özdeş rota, trafiğin daha uzun ve yanlış bağlantı üzerinden yanlış yönlendirilmesine neden oldu.
Areeb Soo Yasir

9

Linux, esnek yönlendirme seçimi için bir dizi araç sağlar.

Tek yönlendirme tablosu

En basit durumda, yalnızca bir çekirdek yönlendirme tablosu vardır ve SRC özniteliğine sahip hiçbir rota yoktur. Bu tablo ip route add, DHCP arka plan programı tarafından veya cinleri yönlendirerek manuel olarak ( ) yerleştirilen birkaç yol içerir . Bu durumda, çekirdek şunları seçer:

  • en spesifik rota;
  • eşit derecede spesifik birden fazla rota varsa, en küçük çekirdek metriğine sahip olan rota.

Çekirdek metriğinin (tarafından görüntülenen ip route show) yönlendirme arka plan programı tarafından seçildiğini ve belirli bir yönlendirme protokolünün metriğiyle ilgili olmadığını unutmayın. Örneğin, Quagga, protokolün metriğinden bağımsız olarak çekirdeğe kurduğu tüm yollar için aynı metriği kullanır.

Kaynağa özgü rotalar

Linux ayrıca, yalnızca belirli bir kaynak adresiyle paketleri eşleştiren bir SRC özniteliğine sahip yolları da destekler. SRC yalnızca IPv6 için çalışır ve çok yakın zamana kadar buggy idi (bellek hizmet veriyorsa 3.11); Ne yaptığınızı bilmiyorsanız kullanmanızı önermiyorum.

Birden çok yönlendirme tablosu

Yukarıdakilerden daha fazla esnekliğe ihtiyacınız varsa, birden fazla yönlendirme tablosu ile oynamanız ve her paket için belirli bir yönlendirme tablosu seçmek için kurallar yazmanız gerekir. Yaygın olarak kullanılan bir teknik, kaynağa özgü rotaları simüle etmek için kaynak adresinde gönderim yapmaktır. Diğer bir teknik, her yönlendirme cini kendi yönlendirme tablosunda çalıştırmak ve Cisco'nun "idari mesafesini" simüle etmektir. Bütün bunlar LARTC'nin 4. Bölümünde ayrıntılı olarak açıklanmaktadır .


srcÖzniteliğin yaptığı bu değil . Okumak man ip-routeveya diğer dokümanları isteyeceksiniz . IPv4 ile de çalışır. Tek bir ağdan ağa IPSec tüneli üzerinden yönlendiricinin trafiği de dahil olmak üzere tüm trafiği almak için kullanıyorum.
Zan Lynx

1
RTA_SRCNitelik dedim tam olarak ne yapar; komut fromseçeneği ile erişilebilir ip. ipKomutun srcseçenek ayarlar RTA_PREFSRCsize açıklamak ne özelliği.
jch
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.