MPLS VPN

Daha önceki bir yazıda VRF hakkında temel bilgiler vermişti. Bu yazıda temel MPLS VPN uygulaması ile ilgili bilgilerle birlikte VRF uygulaması açıklanacaktır.

MPLS VPN

MPLS VPN’I anlamak için BGP,IGP, MPLS ve MP-BGP konusunda fikir  sahibi olmak gereklidir.  Bu yazıda MPLS VPN nin altyapısını sağlayan temel konseptler hakkında bilgi verilecektir, bunlar:

  • VRF
  • Route Distinguisher (RD)
  • Route Target (RT)

VRF

Aynı IP adres gruplarını kullanan farklı müşterileri desteklemek için MPLS VPN içerisinde sanal router konsepti kullanılır.  Sanal routerları oluşturmak için VRF tabloları oluşturulur, bu sayede  istenilen routerda birbirinden izole edilmiş farklı IP tabloları tutulur. VRFler üzerinde MPLS çalışan PE routerlarında tanımlanıp kullanılır.

Konsepti bir örnek ile açıklayacak olursak aşağıda A ve B müşterilerine bağlı PE2 routeri vardır.  Müşteri ve servis sağlayıcı routerı arasında RIPv2 (Herhangi başka bir protokolde olabilir)  kullanılmaktadır.  PE2 routerı A ve B routerlarından aynı ip adresi gruplarını öğrenmektedir. Şekilde belirtilen 1,2,3 numaralı adımları açıklayacak olursak;

  1. CE routerları PE routerına RIP-2 kullanarak 10.3.3.0/24 networkunu anons ederler.
  2. PE routerında A ve B müşterisi için VRF-A ve VRF-B tanımlanmış olduğundan bu portlardan gelen anonsları uygun VRF içine sokar. A müşterisi için S0/1/0 portundan gelen updateleri VRF-A altında diğer işlemlerden ayrı bir şekilde RIP prosesine sokar. Aynı işlemi S0/1/1 porttundan gelen B müşterisi içinde VRF-B içerisinde yapar.
  3. RIP hesaplamaları yapıldıktan sonra VRF-A altında RIB tablsouna bu rota için gerekli satır eklenir. Aynı işlem B müşterisi içinde tamamlanır.  Her VRF için RIB ve FIB tabloları tutulur.

Multi Protocol BGP (MP-BGP) ve Route Distinguishers (RD)

PE2 routerı yukarıda verilen örnekte A ve B müşterisinden gelen anonsları değerlendirerek birbirinden bağımsız iki farklı RIB oluşturdu.  Şuan bu bilgierin Servis sağlayıcıdaki diğer routerlar aracılığıyla diğer sağlayıcı routerlara ve müşterinin diğer noktalarına ulaştırılması gerekiyor.  BGP yinelenen prefixlerinin iletilmesi için tam olarak bir çözüm sağlamamaktadır.  Yinelenen ip adreslerinin birbirinden ayrılabilmesi için BGP NLRI önüne bir ekleme yapılarak müşterinin NLRI değerlerinin istenildiği gibi birbirinden farklı olması sağlanır.  Bunu sağlamak için BGP Updatelerinde NLRI değerlerini güncellenemeye izin veren MP-BGP (RFC 4760) kullanılır.  IPv4 adreslerinin ayrıştırılabilmesi için başına eklenen bu ayrıştırıcıya da Route Distinguisher (RD) denir.

RD kullanım koseptini özeleyecek olursak anonslarda her NLRI için geleneksel ip adresinin başına 64bitlik RD değeri eklenir ve aynı IPv4 adreslerinin başına gelen farklı RD değerleri sayesinde yepyeni birbirinden farklı NLRI formatı ortaya çıkar.

64bitlik RDnin, ilk 16bit i BGP extended commmunity tipini belirtmek için ayrılmıştır, bu yüzden rd tanımlamak için elimizde 48bit vardır. RD değeri iki farkı şekilde girilebilir.

16bit:32bit (AutonomSistemNumarası:XXX)

32bit:16bit (IpAdresi:XXX)

Her iki yöntemde uygulanabilir olmasına rağmen ilk verilen yöntem daha sık kullanılmaktadır.

VRF örneğinde farklı müşterilerden RIP-2 ile anonsları alan ve VRF-A ve VRF-B için ayrı RIB tabloları oluşturan PE2 üzerinden konuyu açıklamaya devam edelim. VRF-A için RD 1:111, VRF-B için RD 2:222 kullanılmış olsun. RD değeri olmasaydı PE2 routerı 10.3.3.0/24 ile ilgili aldığı anonsu BGP üzerine redistribute (RIP ile öğrendiği rotaları BGP üzerine aktarıp BGP ile dışarıya anons etmesi, ayrıntılı bilgi için bkz :  http://www.agciyiz.net/index.php/routing/route-redistribution/) ettiği anda sağlayıcının başka noktasıdaki PE1 routerı bunlardan sadece bir tanesini best route olarak değerlendirip onu kullanırdı. RD değeri eklendiği zaman BGP tablosunda aynı IPv4 adresinin ayrıştırılması sağlanır. Aşağıda görülen 1,2 ve 3 numaralı adımları yine sırayla açıklayalım

  1. PE2 öğrendiği rotaları VRF-A ve VRF-B için oluşturduğu RIB de tutmaktadır. Bu rotalar BGP üzerinde redistribute edilsin.
  2. BGP tablosu oluşturulurken NLRI değeri olarak VRF-A ve VRF-B de tutulan satırların başına bu VRF e ait RD değeri eklenir.  Şekilde verilen BGP tablosuna bakıldığında aynı ip adres grubu için yeni NLRI değerleri ortaya çıktığı görülmektedir.
    A müşterisi için = 1:111:10.3.3.0/24
    B müşterisi için = 2:222:10.3.3.0/24
  3. PE2 IBGP ile bu bilgileri PE1 routerına ilettiği anda, PE1 farklı RD değerleri sebebiyle bu iki rotayı da öğrenir.

Üzerinden hareket edilen örnekte PE1 routerı 10.3.3.0/24 networkü için VPN-A ve VPN-B için olmak üzere iki farklı rota öğrendi. Sonraki aşamada PE1 routerı BGP tablosunda bulunan bu rotaları kendi üzerinde doğru VRFlerin içerisine sokması gerekmektedir.  Bunu sağlamak için Router Targetler kullanılır.


Route Targets (RT)

RT’yi anlamak için öncelikle basit bir şekilde ne işe yaradığını belirtelim; MPLS RTyi IBGP ile öğrendiği rotları PE üzerindeki hangi VRF üzerine aktaracağını belirlemek için kullanır. RT temel olarak RD ile aynı formattadır. Fakat belirli bir prefix sadece bir RD değerine sahil olabilirken, aynı prefixe birden fazla RT değeri atanabilir.

PE routerları RT değerlerini BGP updateleri içerisinde BGP Extended Community Path Attribute olarak dağıtırlar.

RT değerini açıklamaya VRF ve RD de kullandığımız topoloji üzerinden devam edelim. Şekilde VRF A ve B için verilen RD, RT import ve export değleri görülmektedir.

1,2,3,4,5,6 numaralı adımları sırayasıyla belirlerek durumu daha iyi kavrayalım.

  1. PE2 üzerinde iki VRF üzerinde Export RT değerleri verilmiştir. VRF-A için 1:100 VRF-B için 2:200. PE1 üzerinde Import RT değerleri VRF-A için 1:100 VRF-B için 2:200 olarak verilmiştir.
  2. RIP üzerinden BGP ye redistribution gerçekleşir.
  3. RD ile NLRI oluşturulmasından önceki aşamada bahsedilmişti bu aşamada dikkatimizi vermemiz gereken kısım BGP tablosunda eklenen RT değeridir. Export işlemi VRF den BGP üzerine redistribution yaparken kullanılır, bu sebeple konfigurasyonda export rt değeri girilmiştir.  BGP tablsouna ise VRFler için verilen RT export değerleri eklenmiştir.
  4. PE2 IBGP kullanarak rotaları RT değerleriyle birlite PE1 e anons eder.
  5. PE1 IBGP ile rotaları ve RT değerlerini öğrenir
  6. PE1 her rota için RT değerlerini bilmektedir bu rotaları VRFler üzerine BGP den redistribute ederken izin verilen Import değerlerine bakar ve VRF-A içerisindeki RIBe A müşterisinin rotalarını, VRF-B içerisindeki RIBe de B müşterisinin rotalarını yazar.

Yukarıda anlatılan işlemde PE1 e bağlı A müşterisinin routerı PE2 deki A müşterisinin routerındaki adres grubunu öğrenmiştir. PE2 deki A müşterisi Routerının PE1 deki A müşterisinin rotalarını öğrenmesi için aynı şekilde PE1 de bulunan VRF-A üzerinde RT export, PE2 de bulunan VRF-A üzerinde RT import işlemi yapması gerekmektedir.

RT ve RD değerleri aynı veya farklı olarak tanımlanabilir.

“MPLS VPN” için bir cevap

Bir Cevap Yazın

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