DMVPN (2): NHRP Operasyonu

Önceki yazımda mGRE kavramını açıklayarak DMVPN teknolojisine bir giriş yapmıştım. DMVPN’i verimli bir şekilde kullanabilmek için dinamik yönlendirme ve tünel source’larının dinamik bir şekilde keşfedilmesi (NHRP) gerektiğinden bahsetmiş ancak çalışma mantığını kavramak adına hem yönlendirmeyi statik yapmış hem de NHRP girdilerini staik girmiştim. Bu yazıda ise NHRP’yi dinamik olarak yapılandırıp çalışma mantığını inceleyeceğiz. Yönlendirmeyi ise şimdilik yine statik olarak bırakacağız.

 

 

 

 

 

 

 

 

 

R1’i hub, R2 ve R3’ü spoke olarak seçelim. Bu durumda R1’e NHRP girdisi yazmayacağız çünkü spoke’lar hub’a otomatik olarak kayıt olacak ve bu şekilde R1 tüm tünel source’larını öğrenecek. Spoke’lara ise birbirlerinin NHRP girdisini yazmayacağız, çünkü bilmedikleri tünel source’ları için Hub’a sorgu gönderecekler. Dolayısıyla spoke’lara sadece hub için NHRP girdisi yazacağız. Buna ek olarak da spoke’larda R1’in hub olduğunu belirtmek için tunnel interface’i altında ip nhrp nhs 10.0.0.1 yazacağız (NHS = Next Hop Server). Dikkat edilirse bu komutta tünel IP’si belirtiyoruz ancak bu IP için statik NHRP girdisi olduğundan sorun olmuyor. Yani sadece tünel interface’lerinin yapılandırmasında değişiklik olacak ve bu yapılandırmalar şu şekilde olacak:

Hub (R1):

 

 

 

Spoke (R2):

 

 

 

Spoke’lar hub’a kayıt olduktan sonra router’larda sh ip nhrp komutunun çıktısı aşağıdaki gibi olacaktır:

 

 

 

 

 

 

Bu noktada R2’nin loopback’inden R3’ün loopback’ine ping atabiliriz. Çözümleme işleminin nasıl olduğuna bakmadan önce ping’den sonraki NHRP tablolarına bakalım:

 

 

 

 

 

 

 

 

 

 

Çıktıları incelersek: İlk çıktılarda spoke’lar hub’a otomatik olarak kayıt olduğundan R1’de R2’nin ve R3’ün NHRP girdilerini dynamic ve registered olarak görebiliriz. R2’ye baktığımızda ise sadece R1’e ilişkin static bir girdi görüyoruz. Girdilerde  tünel adreslerinin ve tünel source adreslerinin (NBMA address olarak geçiyor) bulunduğuna dikkat edilmeli. Bu yazıda tüm flag’lere değinmeden sadece ilk etapta anlaşılabilir olanlardan bahsedeceğim. Bu arada NHRP paketlerinin doğrudan GRE ile kapsüllendiği notunu da düşeyim:

 

Peki ping attığımzda neler oluyor? 10.0.3.1’e ping atmak istediğimizde R2 10.0.3.0/24’ün next hop’unun 10.0.0.3 olduğunu görür ve bunun bir mGRE tünel IP’si olduğunu ve bu IP’ye karşılık gelen tünel source IP’sini bilmediğini farkeder. Bu bilgiyi de tek kaynağı olan NHS ‘e sorar. Bu sorguda source IP 20.0.0.2, destination IP 20.0.0.1’dir. NHRP başlığında ise kendi tünel IP’si (10.0.0.2), kendi tünel source IP’si (20.0.0.2) ve sorgulanan tünel IP’si (10.0.0.3) yer alır.

R1 bu sorguyu R3’ün tünel source IP’sini bildiğinden R3’e gönderir. Bu pakette source IP 20.0.0.1, destination IP ise 20.0.0.3 olarak değişirken NHRP başlığı ise aynen kalır.

R3 bu sorguyu aldığında NHRP başlığındaki bilgilerinden R1’in tünel IP’sini ve tünel source IP’sini öğrendiğinden cevabı direk R1’e gönderir. Bu pakette de source IP 20.0.0.3, destination IP de 20.0.0.1’dir. Buna ek olarak NHRP başlığında da R3’ün tünel source IP’si (20.0.0.3) bulunur. Böylece R2 ve R3’te ikinci çıktıda görünen birbirlerine ilişkin NHRP girdileri oluşmuş olur.

Bu girdiler oluşana kadar ping’ler R1 üzerinden dönerken girdiler oluştuktan sonra doğrudan R2 ile R3 arasında gidip gelir.

Dikkat edilirse R3’te R2’de olmayan bir implicit flag görülüyor. Bunun sebebi R3’ün R2’nin tünel source IP’sini sorgu yapmadan direk kendisine gelen NHRP sorgusundan öğrenmiş olmasıdır. (no-socket) flag’i lokal router’ın bu girdiyi IPSEC socket oluşturmasında kullanmayacağı anlamına geliyor (IPSEC entegrasyonuna daha sonra değineceğiz).

Önceki yazıda mGRE kavramına giriş yapmıştım, bu yazıda da NHRP’nin çalışma mantığını biraz daha açıkladım. Unutmayalım ki DMVPN’in verimli bir şekilde çalışması için NHRP’nin yanı sıra yönlendirmenin de dinamik olması gerekir. Bir sonraki yazıda ise yönlendirmeyi de dinamik yapıp daha gerçekçi DMVPN topolojilerinin basit bir örneğine bakacağız.

Bir sonraki yazıda görüşmek üzere.

“DMVPN (2): NHRP Operasyonu” için bir cevap

Bir Cevap Yazın

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