Tag Archive | "border gareway protocol"

Border Gateway Protocol (BGP) Nedir ?

Tags: , , , , , , , , , , , , , , , ,

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.

Popularity: 6% [?]

Posted in MakalelerComments (0)

Border Gateway Protocol (BGP) Neighbor (Komşuluğu)

Tags: , , , , , , , , , , , , ,

Border Gateway Protocol (BGP) Neighbor (Komşuluğu)


Border Gateway Protocol (BGP) Komşuluğu - BGP Neighbor

-

BGP routing protocol’ u Internet Servis Sağlayıcıları tarafından kullanılan bir protocol. Böyle olunca Internet’ i oluşturan onbinlerce Router BGP konuşuyor. Ve Internet’te 21000 e yakın autonomous system bulunuyor. BGP konuşulan bir ortamda Router lar birbirleriyle komşuluk kurmak zorunda ama bunu şöyle söyleyemeyiz: Internet ortamındaki onbin Router da biribirleriyle komşuluk kurmalı. Tabiki hayır. Zaten Layer 4 çalışan bir protokolde bunu yapmak gayet zor olucak. Hatırlarsınız ki BGP, TCP 179. port kullanır.

BGP Router ları komşulukları kendileri başlatamazlar. Diğer Routin protokollerde örnek EIGRP ve OSPF te komşuluk ilişkisi kurar ve onları bir tabloda muhafaza ederlerdi. Fakat biz özel bir komutla onların komşu olmalarını sağlamazdık. BGP terminolojisinde biz Router ları komşu yapıyoruz. “Neighbor” komutunu kullanarak aynı AS te olsun yada farklı AS te olsun önemli değil Router ları birbirine komşu yapıyoruz. Daha ilerki makalelerimde komutlarla bunun nasıl yapıldığını anlatacağım. Şimdi bilinmesi gereken neighbor komutunun kulanıldığı ve bunu yaparken komşuluk kurulacak Router’ın IP adresi ve hangi AS te olduğunu belirtmek olacak. BGP de komşu olan Routerların “PEER” olarak adlandırıldığınıda hatırlatmak isterim.

BGP routing protokolü, EGP bir protokol yani farklı AS leride biribiriyle haberleştiriyor. Böyle olunca BGP iki farklı komşuluk kurmuş oluyor. IBGP (Internal BGP) ve EBGP (External BGP).
Aynı autonomous içindeki Router lar birbirleriyle komşuluk kurduklarında IBGP olarak adlandırılırlar. TCP oturumu açarak BGP bilgilerini birbirleriyle paylaşırlar. IBGP bir komşudan öğrenilen network bilgisi Routing Table’ a Administrative Distance değeri 200 olarak yazılır.
Farklı autonomous içindeki Router lar birbirleriyle komşuluk kurduklarında EBGP olarak adlandırılırlar. TCP oturumu açarak BGP bilgilerini birbirleriyle paylaşılar. EBGP komşudan öğrenilen network bilgisi Routing Table’ a Administrative Distance değeri 20 olarak yazılır.

Yandaki şekilde IBGP ve EBGP yi ele alırsak. RtrA ve RtrB routerlarının kurduları komşuluk bir EBGP komşuluktur. Çünkü RtrA 65100 AS inde RtrB ise 65200 As inde bulunmakta. RtrB, RtrC ve RtrD router larının kurdukları komşuluk IBGP komşuluk olarak adlandırılır. Çünkü üç Router da aynı AS içinde bulunmakta.


Peki yukardaki örnekte RtrD ile RtrA routerları birbirleriyle komşuluk kurmak zorundalarmı. Bu sorunun cevabını diğer bir örnekle yapalım.

Yukarıdaki örnekte iki farklı AS görmekteyiz. Router A ve Router B birbirleriyle komşuluk kurmuşlar ve bu komşuluk bir EBGP. B, D ve C routerlarının da birbirleriyle komşuluk kurduğunu görmekteyiz. Yanlız dikkat edelim B ve A routerları birbirleriyle komşuluk ilişkisi kurmuyorlar. Zaten böyle bir komşuluğa da gerek yok. C Router ı 65500 AS inin yerine A Router ı ile bir komşuluk kurmu durumda. 65500 AS inin tüm bilgilerini Route C 65000 AS ine yani Router A ya ulaştırmış olacak.
Örneğimizde dikkatimi çeken yeni bir gelişme var. Evet Router C ve Router B de komşu olarak gösterilmişler peki biribirine bağlı olmayan bu Router lar neden komşu olmuşlar.

Dikkatlice baktığımızda Router D nin BGP konuşmadığını görüyoruz. Buda demek oluyorki BGP update leri bu router üzerinden geçemeyecek yani Layer 4 de bir TCP oturumu açılamayacak. Böylece Router B ve Router C de birbirleriyle haberleşemeyeceklerdi. Bu yüzden Router B ve Router C yi BGP komşusu yapmamız gerekecek. Büyük networkler de tüm Router ların BGP konuşmasını garanti edemeyiz ki zaten bunada gerek kalmayacaktır. Bir AS içindeki Router lar yol seçimlerini IGP bir protkole göre yapacaklar. Örneğin EIGRP veya OSPF gibi.

Örneğe bakarsak; 65102 AS içindeki Router ların hepsinin OSPF konuştuğunu görmekteyiz. 65102 AS inin iki ucunda bulunan Router larda yani B ve E routerlarında ise BGP konuşulduğunu görmekteyiz. Böyle bir yapıda B ve E routerları IBGP bir komşuluk oluşturacakar. Ve BGP bilgilerini birbirlerine gönderecekler. Tabiki 65101 ve 65103 AS lerinin birbirlerine ulaşmalarıda gerekecek. Burada yardıma Redistributing yetişecek. BGP yi OSPF e OSPF ide BGP ye redistribute ederek ortamdaki tüm Router ların birbirlerine ulaşmalarını sağlamış olacağız.

Eğer Redistribute yapmasaydık ne olurdu?

Örneğimizde şunu görmekteyiz. 10.0.0.0 network bilgisi AS 65103 den çıkıp AS 65102 ye gelmiş. Router E bu paketi kabul etmiş. Çünkü Router E ve Router F birbirleriyle EBGP bir komşuluk kurmuşlar. Daha sonra Router E 10.0.0.0 bilgisini Router C ye göndermiş fakat bu bilginin Router C tarafında değerlendirilmediğini görüyoruz.

Router C BGP paketlerini değerlendirmiyor. İşte bu yüzden Redistribute kullanıyoruz ve böylece BGP bilgilerini içeriye OSPF bilgisiymiş gibi gönderip Router B ye ulaşmasını sağlıyor ve Router B nin tekrardan bu bilgiyi AS 65101 e BGP bilgisi gibi ulaştırmasını sağlamış oluyoruz.Tabiki Redistribute işlemi AS teki diğer Router ların BGP konuşmadığı ortamlarda gerekecek. Bir diğer örneklede farklı IBGP komşuluklarını inceleyelim.

Bu örneğimizde iki farklı IBGP komşuluğu görmekteyiz. Partial-Mesh ve Full-Mesh IBGP. Ortamdaki tüm Router diğer örnekten farklı bir şekilde BGP konuşmaktalar.


İlk örnekte AS 65102 deki Router ların tümü sadece kendi linkleri ile komşuluk sağlamış. Router B den gelen updateler Router D ve Router C ye ulaşıyor. Router E ye direk olarak gönderilmiyor. Router E ye giden bilgileri ikinci el olarak adlandırabiliriz. Bu durumda Router E AS 65101 e ulaşamayacak. Aynı şekilde Router B de AS 65103 e ulaşamayacak. Bu durumda yapılması gereken ikinci örnektekini uygulamak olacak. Aynı AS içindeki tüm routerlar arasında komşuluk kurmak yani Full-Mesh IBGP oluşturmak.

Böylece tüm Router ların birbirlerine ulaşmalarını sağlayabiliriz.

Tabiki burda dikkat edilecek olan Router E nin hangi IP adresiyle komşuluk kurulacağı. Çünkü Router E iki farklı interface yani iki farklı IP Adresine sahip olacak. Burada yapılması gereken bir Loopback interface olacak.

Yazar : Barış Karaağaç

Popularity: 5% [?]

Posted in MakalelerComments (0)

Advertise Here