Border Gateway Protocol (BGP) Route Seçimi

Border Gateway Protocol (BGP) Route Seçimi

Merhaba, bu makalede BGP ‘de Route Seçiminde kullanılan temel attribute’ları kısaca açıklayıp, uygulama üzerinde yöntemlerin karşılaştırmasını yapmaya çalışacağım. Uygulama olarak GNS3 emulatör programını kullandım.

BGP Temel Öğeleri (Attribute)


WEIGHT Cisco’ya özgü parametredir, hiçbir route güncellemesinde taşınmaz yani sadece router’ın lokalinde kalır. Parametre 0 dan 65535 arası değere ayarlanabilir default olarak 32768’dir.Weight değeri yüksek olan route en iyi route seçilir.

AS PATH

AS PATH öğesi AS numaralarının listesinden ibarettir. Bu liste, route için geçtiği AS ‘lerin eklenmesi ile oluşturulur. AS Path listesi kısa olan route en iyi route seçilir.

LOCAL PREF

LOCAL Pref öğeside isminden  anlaşıldığı üzere lokaldir  ancak Weight öğesinden farklı olarak AS içinde yayılır. Bu öğe AS ler arası taşınmaz, default değeri 100’dür ve  lokal pref değeri yüksek olan route en iyi route seçilir.

MED (Multi Exit Dif)

MED öğesi AS ler arasında yayılır. Default değeri 0’dır ve düşük MED değeri olan route en iyi route seçilir.

BGP Seçim Kriterleri

BGP Selection Algoritması aşağıdaki sıraya göre çalışır.

1.En yüksek WEIGHT değeri önceliklidir.
2.En yüksek LOCAL PREF değeri önceliklidir.
3.Network veya redistrubute komutları kullanarak yapılan BGP dağıtımı, aggregate komutu ile yapılana göre önceliklidir.
4.En kısa AS PATH tercih edilir.
5.En düşük origin type seçilir, IGP , EGP ye göre düşüktür, EGP ise INCOMPLETE’e göre düşüktür. (Eğer BGP içine eklerken network komutu ile eklersek “i” olarak, redistribute edersek”?” olarak ilgili route BGP ye gönderilir)
6.En düşük MED değeri önceliklidir.
7.EBGP nin Administrative Distance değeri (20) , IBGP den daha düşük olduğu için (200) , EBGP;  IBG’ye göre daha  önceliklidir.
8.En düşük IGP metriği tercih edilir.
9.BGP Multipath olması tercih edilir.
10.Next Hop olarak önce öğrendiği router tercih edilir.
11.Düşük Router ID den gelen route tercih edilir.
12.En düşük cluster listesi uzunluğu tercih edilir.
13.Düşük IP adresine sahip komşudan gelen route tercih edilir.

Yukarıdaki BGP öğelerinin ve BGP Selection Algoritmasının detaylarına bu makalede değinmeyeceğim zira ayrıntısı [1] referansında açıklanmıştır.

Uygulama

Uygulamadaki amacımız tek bir topoloji kullanarak yukarıda kısaca açıklanan öğelerden arasında kıyaslama yapabilmektir.
Figure 1 deki topolojiyi oluşturmak için Cisco nun bir çok image’ını çalıştırabileceğimiz GNS3’ü kullandım. Topolojide IGP olarak OSPF kullanıldı ve R1 –R2 arasında IBGP (AS 100), R1-R3 ve R2-R4 arasında ise EBGP ‘ler kuruldu. Amacımız aynı route’un birden fazla routerdan öğrenilmesi durumunda hangi kritere göre Next Hop seçileceğini görmek olduğu için 33.33.33.33/32 li route’u hem R3 hem de R4 den anons ettirildi. (33.33.33.33/32 li network R3 ve R4 te loopback olarak tanımlanıp BGP altına network komutu ile eklendi).

Network

  • R2 routerından “sh ip route” komutu ile baktığımızda R2 nin 33.33.33.33 route’u için next hop olarak R4’ü  (10.2.1.4) seçtiğini görürürüz. Çünki R4 ten EBGP ile R1 den ise IBGP ile ilgili route öğrenilmiştir ve BGP Seçim Kriterlerine baktığımızda diğer maddeler eşit olduğundan 7.maddedeki Administrative Distance’a bakılır ve EBGP nin düşük olduğundan tercih edilir.

Network

Şimdi R2nin ilgili route için (33.33.33.33/32) R1’i seçmesini sağlayalım. R2 ‘de baktığımızda R1 den gelen routelar için local pref değerinin 100 olduğu R4 den gelenler için ise default (100) olduğu görülür. Biz R2 üzerinde eğer R1 den alınan route lar için local pref’i 200 yapmasını sağlayan route-map yazarsak, BGP seçim kriterlerine göre artık R1 i (10.1.1.1) seçmesini  sağlamış olacağız.

Network


R2#
access-list 5 permit 33.33.33.33
route-map LOC permit 10
match ip address 5
set local-preference 200
 conf router bgp 100
neighbor 10.1.1.1 route-map LOC in

Bu değişikliği yaptığımda R2 nin artık ilgili route için R1’i seçtiğini görmüş olacağız.
BGP öğelerini daha iyi anlamak için aynı mantıkla devam edip 33.33.33.33 için next hop olan R1’i tekrar R4’e çevirmeye çalışalım. Bunu sağlamanın birçok yolu vardır, öncelikle WEIGHT parametresi ile başlayalım. Burada yapmamız gereken R2’ye R4 ve  ve R1 komşularından aldığı route lar için weight değeri atamaktır ve hangisini tercih etmesini istiyorsak onun weight değerini yüksek vermektir.

R2#
Conf router bgp 100
neighbor 10.1.1.1 weight 100  //R1 komşu
neighbor 10.2.1.4 weight 200  //R4 komşu 

R2 üzerinde “sh ip bgp” komutu ile baktığımda ayarladığımız weightleri görürüz ve “sh ip route” dediğimizde artık R2 nin next hop olarak R1’i (10.1.1.1) seçtiğini görürüz.

Network

Referans
[1] http://www.cisco.com/en/US/tech/tk365/technologies_tech_note09186a00800c95bb.shtml#metricattribute

iyi çalışmalar

Mehmet ÖZDEM
Türk Telekom IP Grubu

1 yorum

  1. Mehmet bey,
    Networking ile ilgili yazılarınızı ilgi ile takip etmekteyim ve verdiğiniz emeğin yeteri kadar taktir edilmediğini düşünüyorum. Bununla birlikte yazınızda belirttiğiniz attribute’ların biraz daha detaylandırılmaya ihtiyacı olduğu kanısındayım. Ayrıca route seçim kriterlerinde belirtmenize rağmen “origin type” ile ilgili bir açıklama yapılmamış bu ve diğer route seçim kriterleri ile ilgili bilgi verilebilirse yada referans metinler gösterilebilirse daha faydalı olacağı kanaatindeyim.
    İyi çalışmalar…

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir