Border Gateway Protocol (BGP) Nedir ?

Border Gateway Protocol (BGP) Nedir ? 

BGP hem teoride hemde konfigürasyonda diğer routing protokolere göre oldukça zor bir protokol. Biliyoruz ki Routing Protokoller IGP ve EGP olarak ikiye ayrılır.IGP protokoller aynı AS leri haberleştirirken, EGP ise farklı AS leri haberleştirir. BGP; EGP bir routing protokol. Bu yüzden Internet alt yapısında BGP routing protokolü kullanılır.

BGP gerçektende güvenilir, sağlıklı çalışan bir routing protokol olmasına karşın yavaş bir routing protokoldür. Neden Internette kullanıldığı şimdiden anlaşılmıştır sanırım.

BGP; Autonomous System mantığına göre çalışan bir protokol. Autonomous System Number aralığı 1 – 65535 e kadar gitmektedir. RFC 1930 da AS Number ile ilgili detaylı bilgilere ulaşılabilir. 64512 den başlayıp 65535 e kadar giden aralık Private AS olarak adlandırılır. Bunu Private IP Adreslerine benzetebiliriz.

Her Router bir AS içerisinde bulunur. IGRP ve EIGRP de AS mantığına göre çalışırlar ve yine her Router bir AS içerisinde olurdu. Fakat BGP de Routerlar diğer AS lerdeki Routerlar ile komşuluk ilişkisi kuruyorlar ve böylece diğer AS lerede ulaşmış olmaktalar. BGP AS bilgisini kullanarak Routing Loop oluşmasınıda engellemektedir. Eğer bir update bir AS i terk ederse o AS numarası bu update’ e eklenir. Eğer aynı update tekrar aynı AS’ e geri dönerse Router tarafından discard edilir yani bu update bilgisi değerlendirilmez. Böylece Routing Loop engellenmiş olur.

Aynı zamanda AS bilgisi yol seçimi içinde kullanılır. Hemen size RIP (Routing Information Protocol) örneğini vermek isterim. RIP bir hedef networke gitmek için en iyi yol seçini yaparken atlayacağı Router sayısına yani Hop Count’ a bakardı. Bu değerin en azını seçer ve en iyi yol olarak orayı kullanırdı. BGP de bir hedef networke giderken atlayacağı AS sayısına bakacak ve en az AS sayısını kullanarak hedef networke erişmiş olacak. Böylece BGP ye bir PATH-VECTOR routing protokol diyebiliriz.

Evet BGP bir Path-Vector Routing Protokol. BGP Router ları bir network bilgisini başk bir AS’ teki BGP Router’ ına göndereceklerinde kendi AS bilgisini update paketine yazarlar. Böylece o networkün hangi AS içerisinde olduğu diğer AS’ lerdeki Router lar tarafından öğrenilmiş olur. Bunu güzel bir örnek ile anlatalım.

Evet örneğimizde 10.1.1.0 network bilgisi diğer AS’ lere gönderilmiş. 10.1.1.0 networkü 65400 AS i içinde ve 65300 nolu AS’e gönderiliyor. 65300 nolu AS den çıkarken hem 65400 bilgisi hemde 65300 bilgisi gönderliyor. Buda demek oluyorki 65400 e ulaşmak için önce 65300 den geçmek gerekiyor. Bu bilgi topolojideki 65100 AS ine geldiğinde 10.1.1.0 bilgisine geçtiği tüm AS lerin bilgisi eklenmiş oluyor.BGP komşuluk ilişkisi kuran bir protokol. BGP içerisinde komşu Router’lar PEERS olarak adlandırılır. BGP, RIP gibi Layer 4 e kadar çıkan bir protokol.BGP TCP 179. port u kullanarak daha güvenli bir iletişim sağlar.

BGP kullanılan bir sistemde yedekli bir bağlantıya ihtiyaç duyabiliriz. Bunun için birden fazla ISP ye bir bağlantı oluşturmmız gerekecek. Buna Multihoming diyoruz. Bu tip bir sistemde ISP bize 3 farklı yol sağlayabilir.

Default Routes From Each Provider : ISP tarafından sadece bir Default Route ile çıkabiliriz. En az band genişliği harcanmış olur.

Örnekte gördüğümüz gibi C Routerı AS 64520 ye ulaşmak için en küçük IGP metric değerini kullanmış ve AS 65250 kullanarak hedef networke ulaşmış.Default Routes Plus Some More Specific Routes : ISP tarafında Default Route ile birlikte ihitiyacımız olan BGP bilgilerinide almış oluruz.

Yukarıdaki örnekte C Routerı AS 64100 e ulaşmak için A Routerını kullanmış ve hedefe ulaşmış. Kendisine ait diğer AS lere gitmek için ise ISP tarafından öğrendiği Routing bilgilerini kullanmış. All Routes From All Providers : Tüm bilgileri almış oluruz. Yüksek band genişliği kullanılır. BGP policy ler uygulanarak network trafiği kontol edilmiş olur.

Bu örnekte C Routerı topolojide ki tüm network bilgilerini kendi Routing Tablosuna yazmış. Böylece her hangi bir hedef networke en iyi yol üzerinden ulaşmaktadır.

BGP DATABASESBGP 3 database tutar . Neighbor Database, BGP Database, Routing Table. Neighbor Database : Daha öncede söylediğim gibi BGP komşuluk ilişkisi kuran bir protokol. Ve bu komşulara Peer denilir. Bu tablo içerisinde komşu Router’ ın IP Adresi, AS Numarası gibi bilgiler bulunur. “ show ip bgp summary ” komutu kullanılarak Neighbor Database görülebilir.

BGP Database yada RIB (Routing Information Base) : BGP tarafından öğrenilmiş olan network bilgilerinin bulunduğu yer. Bu networkler ile ilgili AS_Path bilgileri ve daha ilerde anlatacağımız Attribute bilgileri yer alır. “ sh ip bgp ” komutu kullanılarak tablo görüntülenebilir.

Routing Table : Hedef networklere gidilecek en iyi yol bilgileri ve next hop bilgileri bu tabloda yer alır. “ sh ip route ” komutu kullanılarak tablodaki bilgilerden görüntülenir.

EK BİLGİ – 1 : Daha sonraki yazılarımızda anlatacağımız fakat şimdiden söylemek istediğim bir bilgi. Biliyoruz ki her routing protokolün bir default Administrative Distance ifadesi vardır. BGP 2 farklı Administrative Distance değeri kullanır. Aynı AS içinde 200, farklı AS de ise 20 değerlerini default Administrative Distance olarak kullanılır.

EK BİLGİ – 2 : Her Routing Protokol yol seçiminde metric bir değer kullanılır. BGP AS_Path değerini yani en az atlayacağı AS sayısını kullanacak. Bununla beraber BGP için zengin metric değerleri var diyebiliriz. AS_Path default bir ifade. İstersek MED, Weight gibi BGP ye özel metric değerler kullanılabilir.

BGP MESSAGE TYPES

BGP Router ları 4 farklı mesaj kulnılırlar. Bunlar ; Open, Update, Keepalive, Notification mesajlarıdır.

Open : Komşular Router’a tanılıldıktan sonra Router Open mesajı yollayarak komşuluğu başlatmak ister . Bu mesaj sayesinde iki Router BGP komşuluğunu başlatırlar. Gönderilen Open mesajı içerinde;

Version Number : BGP versiyon bilgisi gönderilir. Şuan kullandığım BGP Version 4 dür.

AS Number : Local Router’ ın AS bilgisi gönderilir. Eğer gönderilen AS bilgileri yanlış ise komşuluk sona erer.

Hold Time : Keepalive mesajı almadıktan ne kadar sonra komşuluğun biteceğini belirten süredir.

BGP Router ID : 32 bitlik bir alandır. OSPF de olduğu gibi en büyük IP Adresi seçilir.

Update : İki Komşu (Peer) Router arasında gönderilen Routing bilgisidir. Network bilgileri bu mesaj içerisinde bulunur.

Keepalive : İki komşu Router (Peer) biribirlerine periyodik olarak bu mesajı gönderirler. Her 60 saniyede bir Keepalive mesajı gönderilir. Bu mesaj sayesinde BGP komşuluğu Active olarak kalır.

Notification : Bir problem olduğunda birbirine komşu olan Router lar tarafından gönderilen mesajdır. Bu mesaj ile BGP komşuluğunun bittiği komşuya iletilir ve BGP komşuluğu sona erer.

6 yorum

  1. Merhaba, arkadaşlar çok yararlı olduğunu söylemiş ancak ben pek beğenemedim. Anlatış tarzınız çok direk. Yani bir olay örgüsü içinde anlatmıyorsunuz. Yarım yamalak bir çeviri gibi olmuş.

  2. Örnek resimlerde yada linklerinde sıkıntı var sanıyorum. Hiç biri görüntülenemiyor. İlgilenirseniz çok sevinirim.

    Saygılar.

Bir Cevap Yazın

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