GVRP
Generic VLAN Registration Protocol
Gvrp ağımızdaki cihazlar arasında vlan konfigurasyon bilgisinin otomatik olarak yayılması için geliştirilmiş bir protokoldür. İşlem olarak Cisco’nun VTPsine denktir.
![](https://sefa-memis.gitbook.io/~gitbook/image?url=https%3A%2F%2F2292156749-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FDfDBccroFkvJ25uVFqYX%252Fuploads%252F2gsMWEEajGV0MWALChcY%252Fimage.png%3Falt%3Dmedia%26token%3D6b589955-1bf7-48a7-bf7b-d900f9d1c1e8&width=768&dpr=4&quality=100&sign=63fadad5&sv=1)
GVRP network cihazlar arasında vlan bilgilerini paylaşılmasını sağlayan VTP yani Vlan Trunking Protocol ile işlevi aynıdır.Fakat VTP cisco cihazlara özgü bir protocol olduğundan dolayı sadece Cisco cihazlar arasında çalışabilir durumdadır. Bu durumda GVRP, Cisco harici cihazlarda VLAN bilgisi paylaşımında görev alır.
GARP (Generic Attribute Registration Protocol) : Aslen kendi başına bir protokol olmayıp özel bir paket türüdür.
IEEE tarafından 802.1Q standardı içinde tanımlanmıştır.
GVRP kullanılarak büyük ağlarda kullanıcı bilgisayarlarının ve diğer cihazların bağlı olduğu vlan bilgilerini herbir anahtarda manuel olarak tanımlamak yerine vlan bilgilerini merkezi bir anahtarda tanımlayıp diğer ağ anahtarlarının bu bilgilerin 802.1Q kullanan Trunk linkler üzerinden otomatik olarak alınmasını sağlamak, yönetimsel açıdan büyük kolaylık getirmektedir. Ayrıca manuel konfigurasyon yapılmasından kaynaklanabilecek. Olası hatalarda minimize edilebilmektedir.
Diğer taraftan büyük bir ağda herhangi bir Vlan’ın değişik anahtarlar boyunca uzanması bu VLAN’a ait kullanıcıların aynı Layer 2 broadcast domaininde olması anlamına gelir. Dolayısıyla bu VLAN üzerindeki her cihaz birbirine trafik iletmek ve ip almak için broadcast iletim biçimi kullanan arp ve dhcp protocollerini kullanacak ve bu durum ağ anahtarlar arasında gereksiz bir trafik oluşmasına sebep olacaktır. Ayrıca bu Vlan üzerinde çalışan herhangi bir Layer 2 protocolde oluşabilecek bir arıza VLAN tanımlandığı tüm anahtarları etkileyecektir. Örneğin Layer 2' de döngü engellemek için tasarlanan STP de bu vlan üzerinde çalışıyorsa STP kaynaklı arıza, VLAN’ın tanımlandığı tüm anahtarların CPU seviyelerini yükseltebilecek hatta çalışmaz duruma getirebilecektir. Bu nedenlerden dolayı ,günümüzde büyük ağlarda her vlanın ve bu vlan için tanımlanan ip subnetin mümkün olduğunca küçük tutulması ve ağ boyunca uçtan uca uzanmamasına dikkat edilmesi önerilmektedir. Bu yaklaşımın bir ileri aşaması olarak artık erişim seviyesi anahtarlarda tanımlı vlanların ağ boyunca ağ anahtarları arasındaki linklerden trunk olarak geçmek yerine ağ anahtarlarının layer 3 olarak kullanıp ağ anahtarlarının kendi aralarında ip haberleşmesini dinamik bir router protokolü üzerinden yaparak vlan bilgilerini VXLAN benzeri protokoller ile ağ anahtarları arasında Layer 3 haberleşme üzerinden yapılması arıza olasılığını azaltılması açısından en doğru ve kararlı uygulamalar olarak görülmektedir. Her konuda olduğu gibi ağ mühendisliğinde de her yaklaşım avantaj ve dezavantajları beraberinde getirmektedir
Her ne kadar switchler arasında L3 dinamik yönlendirme protokolleri( OSPF, IS-IS vb.) ve VLAN'ları VXLAN üzerinden taşımak anlatılan avantajları içerse de, bu protokolleri destekleyen switch'lerin Layer 2 switch'lere kıyasla daha pahalı olmaları da hangi yaklaşımı uygulayarak ağ tasarımı yapılacağı belirlenirken göz önüne alınmalıdır.
Bu nedenlerden dolayı giderek kullanımı azalıyor olsa da GVRP halen birçok ağda kullanılmaktadır. GVRP genel bir standart olan 802.1Q üzerinde tanımlandığı için değişik üreticilerin swithcleri arasında çalışabilmektedir. Üreticilerin kendi geliştirdikleri benzer işlevselliğe sahip protokoller de mevcuttur. Örneğin Cisco tarafından geliştirilen ve benzer işlev olarak kullanılan VTP sadece cisco marka cihazlar arasında çalışabilir durumdadır. GVRP nin farklı üreticilere ait ağ anahtarlayıcılarında çalışabilmesi diğer üretici specific üreticilere göre daha fazla tercih edilmesini sağlamıştır. Switchler arasında otomatik vlan dağıtımının tercih edilmesinin nedenlerinden bir diğeri de büyük ölçekli ağlarda ağ yöneticilerinin ağ anahtarları arasında Trunk linkleri tanımlarken genelde bu portları default konfigurasyonları bırakmaları ve bu durumun özel erişim seviyesini anahtarların kendilerinde tanımlı olmayan vlanlara ait trafiği almalarına neden olmasıdır.
Her ne kadar kendilerinde tanımlı olmayan vlanlara ait trafiği drop etseler de drop işlemi de anahtarın kaynak harcamasını gerektiren bir durumdur.
Birçok üreticinin default trunk konfigurasyonu trunk tanımlı porttan anahtarda tanımlı tüm vlanları izin verir.
Örnek olarak 50 adet ağ anahtarına sahip ve 20 adet vlan kullanılan bir yerel ağ düşündüğümüzde her anahtar arasında hangi vlanlara izin verileceğine yönelik olarak ilgili her trunk portta konfigurasyon yapmanın ne kadar yorucu bir işlem olacağı açıktır.
Erişim seviyesi anahtarlardan birininde söz konusu 20 vlanın sadece 3ü kullanılıyor olabilir. Bu durumda ağ yöneticisinin o anahtara bağlı dağıtım seviyesi anahtarın portuna sadece bu 3 vlana izin vermesi gerekecektir.
Daha da kötüsü yeni bir vlan tanımlanması ya da silinmesi gerektiğinde ağ yöneticisinin her seferinde ilgili tüm trunk portlarda vlan ekleme ya da çıkarma işlemi yapması gerekecektir.
Tüm bu işlemleri birden fazla üreticiye ait anahtarların kullanıldığı hibrit ağlarda otomatik olarak yapabilmek GVRP’nin en önemli tercih edilebilme yöntemidir.
GVRP switchler arasındaki 802.1Q trunk linkler üzerinden vlan bilgilerini paylaşım için GARP kullanır. GARP protokolü herhangi bir özelliği yani Attribute Garp paketleri içinde duyurulmasını sağlar. Bu anlamda GARP protokolü başka protokoller tarafında da ilgili protokolün herhangi bir özelliğini taşımak amaçlı da kullanılabilir.
GVRP GARP’I Vlan bilgilerini ağ anahtarlarını paylaşmak için kullanılır. IEEE 802.1Q şekildeki mac adresine hedef mac adresi olarak kullanılması şartı ile GVRP için tanımlamıştır. Dolayısıyla bir switchten diğerine 802.1Q kullanılan bir Trunk Link üzerinden hedef mac adresi olarak bu mac adresi kullanılarak bir Frame gönderildiğinde Frame alan ağ anahtarlarında GVRP çalıştırılıyorsa anahtar bu mesajı alır ve içeriğine göre hareket eder. GVRP çalıştırılan anahtarın ilgili trunk portlarına GVRP katılımcıları yani Partipant adı verilir.
GVRP, GARP tabanlı olduğu için attribute olarak VLAN ID (VID) kullanır ve switch arasındaki mesajlarla VLAN ID'leri katılımcı portlara atar (registering) ya da kaldırır(deregistering) GVRP mesajları bir switchten diğerine katılımcı porttaki trunk hatta hangi VLAN'lara izin verileceğini belirlemek için iletilir. Üzerinde GVRP configure edilmiş her port GVRP katılımcısıdır. Katılımcı portlara otomatik olarak Vlanlar atılır. Veya portlardan vlanlar kaldırılır. Atama ve kaldırma işlemleri sırasıyla vlan registration ve vlan deregistration nedir.
Bir switch bağlı olduğu Trunk porttan GVRP mesajı aldığında mesajın içindeki vlan idleri inceler. Bu vlan idler karşı switchin kendi portunda izin verdiği vlan numaralarıdır. Eğer bu vlanlar alıcı anahtarlarda tanımlı değillerse herbir vlana otomatik olarak oluşturur ve kendi trunk portundaki izin verilen VLAN listesine ekler. Bu şekilde GVRP tarafından otomatik oluşturulan vlanlara dinamik gvrp adını verir.
Dinamik GVRP vlanları sadece değiştirebiilir ya da silebilir. Bu vlanlar GVRP mesajları içerisinde karşı anahtardan alındığı süre boyunca portun izin verilen vlanlar listesinde kalır. Eğer karşı anahtardan bu vlanlara erişkin VID özellikleri gelmeze ya da alıcı anahtarda bu vlanlara erişkin aktif kullanıcı portu yoksa GVRP bu vlanlara anahtardan siler.
Eğer bu vlanlar anahtara daha önceden tanımlı ancak Trunk portuna izin verilmişse kendi trunk portundaki izin verilen vlan’ların listesine ekler. Bu şekilde daha önce anahtara tanımlı vlan, GVRP tarafından porta eklenirse bu porta dynamic gvrp port adı verilir.
Eğer karşı anahtardan ilgili vlan’a ya da vlanlara ait mesajlar kesilirse gvrp bu vlanları dinamik gvrp porttan kaldırır. Ancak anahtar konfigurasyonundan silmez.
GVRP de üzerinde çalışılan GARP tabanlı 3 mesaj tipi vardır.
JOIN MESAJLARI
LEAVE MESAJLARI
LEAVEALL MESAJLARI
Join mesajları sayesinde belirttiğimiz vlan attribute declaration yapılır. Ve portlara vlan bilgileri atanır.
Leave mesajlarında ise vlan attribute withdraw declaration işlemi gerçekleştirilir. Ve portlardan vlan bilgileri kaldırılır.
LeaveAll mesajı gönderildiğinde ise GVRP katılımcıları tüm vlan bilgileri kaldırılır.
![](https://sefa-memis.gitbook.io/~gitbook/image?url=https%3A%2F%2F2292156749-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FDfDBccroFkvJ25uVFqYX%252Fuploads%252FUdzfuW2isDBEbO98VO9v%252Fimage.png%3Falt%3Dmedia%26token%3D3e94f083-fbd1-4b8d-bf4c-daac6f490546&width=768&dpr=4&quality=100&sign=90ad8500&sv=1)
GVRP de bu işlemler için bir takım zamanlayıcılar yani timer da kullanılır.
Bu zamanlayıcılar Join Timer , Hold Timer, Leave Timer ve LeaveAll timer olarak adlandırılır.
Join mesajı iletiminin güvenirliğini sağlamak için GVRP katılımcısı 2 kere join mesajı gönderebilir. Ilk join mesajını gönderdikten sonra GVRP katılımcısı join Timer’I başlatır.
Eğer join timer dolmadan karşı taraftan join information (mesajının alındığını belirten karşı taraftan gönderilen ) mesajıni alırsa GVRP katılımcısı tarafından ikinci join mesajı gönderilmez. Eğer join information mesajı dönmezse 2. join mesajı gönderilir.
Hold Timer =>Bir GVRP katılımcısı üzerinde bir özellik configure edildiğinde veya ona bir request mesajı geldiğinde bununla ilgili bilgi hemen diğer katılımcılara duyurmaması bir süre bekleyip tüm istekleri tek bir PDU içinde cevap verilmesi için kullanılır. Böylece birçok mesaj tek bir paket içinde iletilerek iletilen paket miktarı azaltılır. Hold Timer değeri Join Timer değerinin yarısından büyük olmalıdır.
Leave Timer =>Eğer bu süre boyunca herhangi bir join mesajı alınmazsa ilgili Leave mesajı ile daha önce kaldırılması istenmiş vlan bilgisinin kaldırılmasını sağlayan zamanlayıcıdır.
Bu süre sonunda vlan bilgisi porttan kaldırılır. GARP katılımcıları leave mesajı aldıklarında bu bütün katılımcıların ilgili vlan bilgisini kaldırdığı anlamına gelmez. Dolayısıyla Leave Timer kadar beklenerek Silme işlemi bunun sonunda gerçekleşir.
LeaveAll Timer süre sonunda leave all mesajlaırı gönderilir ve tüm vlan bilgileri kaldırılarak yeniden oluşturulur.
Bu da vlan bilgilerinin güncel tutulmasın sağlamaktadır.
![](https://sefa-memis.gitbook.io/~gitbook/image?url=https%3A%2F%2F2292156749-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FDfDBccroFkvJ25uVFqYX%252Fuploads%252FbypWUxU5Z7XC5pyJZOmL%252Fimage.png%3Falt%3Dmedia%26token%3Da2b72b4d-4b38-4f30-947f-5c30c867d810&width=768&dpr=4&quality=100&sign=4526bda0&sv=1)
GVRP Port Modlarında bahsedecek olursak da GVRP de portların atanabileceği 3 tip port modu vardır. Bunlar Normal Fixed ve Forbidden modlarıdır. Bu moddar VTP deki Server, Transparent ve Client modlara karşılık gelmektedir.
Normal modda port üzerine vlan atama gerçekleştirilebilir. Bunlar diğer katılımcılara duyurulabilir. Fixed Modda Vlan atama işlemi yapılamaz fakat bunlar diğer katılımcılara duyurulabilir.
Forbidden modda ise ne atama işlemi ne de diğer katılımcılara duyurma işlemi yapılabilir.
![](https://sefa-memis.gitbook.io/~gitbook/image?url=https%3A%2F%2F2292156749-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FDfDBccroFkvJ25uVFqYX%252Fuploads%252FOwphz47pBsm9sO4sqnnB%252Fimage.png%3Falt%3Dmedia%26token%3Df480ae18-bdaf-45d4-8bf1-62188f080120&width=768&dpr=4&quality=100&sign=4acd2775&sv=1)
MVRP(Multiple Vlan Registration Protocol)
GVRP’nin revize edilmiş yeni versiyonudur ve aynı şekilde kendi başına bir protocol olmayıp GARP’ın revize edilmiş yeni versiyonu olan MRP’nin özel bir paket türüdür. MRP ile GARP arasında büyük bir farklılık olmayıp sadece küçük revizyonlar yapılmıştır.
MVRP vs VTP
Vtp çok fazla sayıda switch bulunan ağlarda, protokolün adından da anlaşılabileceği gibi, "trunk" portlar sayeside, VLAN'ları diğer switchlere taşımayı sağlar. VTP bir anlamda VLAN Domain (VLAN Etki Alanı) olarak da adlandırabilir. VLAN'lar üzerinde VTP ağ yöneticisine ekleme, silme, ad değiştirme gibi çeşitli yetkiler verilir ve VTP sayesinde yeni olan bilgilerin ağ üzerindeki diğer switchlere bildirilir.
VTP'de güvenlik nedeniyle bulunan domain adı, parola gibi seçenekler MVRP'de bulunmaz. Bunun haricinde MVRP verinin güncelliği için PDU ve timerlarını kullanır, revizyon number saymaz.
Revizyon number, VTP'de önemli bir yer tutar. Peki revizyon number nedir ? Ağ içerisinde VLAN'lar üzerinde bir değişiklik yapıldığında, üzerinde değişiklik yapılan sunucu modundaki switch revizyon numarasını bir artırır. Revizyon numarası değişen switch aynı etki alanında bulunan diğer switchlere VTP bilgisi gönderir.
VTP de bulunan modlar farklı isimlerle de olsa MVRP’de de bulunur. VTP modlarını açıklayacak olursak bunlardan Server yani sunucu Vlanlar üzerinde tüm değişiklikleri yapma yetkisi olan yaptığı değişiklik bilgilerini gönderme bilgi alma güncelleme özellikleri olan moddur.
Client yani istemci ;VTP sunucularından bilgileri alabilme,güncelleme ve aldığı bilgileri gönderebilme yapabilen ayrıca vlanlar üzerinde herhangi bir değişiklik yapabilen moddur. Her ne kadar literatrürde değişiklik yapamaz olarak nitelendirilse de pratikte yaparlar. Cisco son yıllarda çıkardığı dökümanlarda bunu belirtmeye başlamıştır. Bu moda ait yapılandırma NVRAM üzerinde saklanmaz ve gecicidirler.
Trasparent yani şeffaf bu modda çalışan Switch aslında sunucu gibidir. Üzerlerinden vlanları oluşturabilirler,silinebilirler veya değiştirebilirler. Bu işlemler sadece bu switchin vlan veritabanını etkiler. Burada yapılan değişiklikler diğer swithclere aktarılamazlar. Bu moda ait yapılandırma NVRAM üzerinde saklanır.
Ancak MVRP ‘de VTPdeki gibi Vlanları swithcler öğrenmez interfaceler öğrenir. Yani bu modlar interfacelerin modlarıdır.
Switchler için bir mod belirlenmez. MVRP 7 farklı MRP paket türünü ve 3 farklı timer kullanmaktadırlar.
GVRP Doğrulama ve Örnek Topoloji
![](https://sefa-memis.gitbook.io/~gitbook/image?url=https%3A%2F%2F2292156749-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FDfDBccroFkvJ25uVFqYX%252Fuploads%252F2EN4Up44vCnBzGFIvkiT%252Fimage.png%3Falt%3Dmedia%26token%3D596b47b1-953c-423a-879f-cf8f8c28b01f&width=768&dpr=4&quality=100&sign=4cfc6f15&sv=1)
GVRP nin etkin olduğunu doğrulamak için show gvrp komutu girilir. Etkinleştirmek için ise GVRP enable komutu global configuration modda yazılmalıdır.
Bir örnek üzerinden konuyu açıklayacak olursak bu senaryomuzda switch 1 ve switch 3 vlan bilgisine sahip fakat switch 2 değil.
![](https://sefa-memis.gitbook.io/~gitbook/image?url=https%3A%2F%2F2292156749-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FDfDBccroFkvJ25uVFqYX%252Fuploads%252F86D4dCejXbYpcAu8xrEC%252Fimage.png%3Falt%3Dmedia%26token%3D452244b7-b1d1-46c4-b298-f58add7989ab&width=768&dpr=4&quality=100&sign=aa469a2f&sv=1)
Switch 2nin de vlanı öğrenmesi için GVRP’yi kullanırız. Switch1 üzerindeki port 1.0.1 interfacesi bir PDU gönderir. Bu PDU vlan 10’da dahil olmak üzere switch 1 üzerindeki tüm vlanların bilgisini içermektedir. Switch 2 üzerindeki port 1.0.2 interfacesi bu PDU'yu alır ve inceler. Bu durumda kendi üstünde bulunmayan vlan 10 bilgisini öğrenir. Bunula birlikte Switch kendi üzerinde dynamic bir gvrp vlanı tanımlar ve 10 id'sini atar. Ve sonrasında port 1.0.2 ile vlan 10 üyesi olarak ekler. Swithc 2 üstündeki port 1.0.3 interfacesi bir PDU gönderir. Bu PDUyu yine switch üstündeki tüm vlan bilgisini içermektedir. Bu noktada port 1.0.3 hala vlan 10'a üye değildir.
Üye olması için bu bilgiyi içeren bir PDU alması gerekmektedir. Switch 3 üzerindeki port 1.0.4 interfacesi bu PDU alır ve inceler. Kendisi için yeni bir vlan bilgisi içermediğinden yeni bir vlan tanımlanamaz. Ama port 1.0.4ün Vlan 10’a üye olup olmadığını kontrol eder değilse ekler. Switch 3 üstündeki port 1.0.4 interfaceye bir PDU gönderir. Switch 2 üstündeki Port 1.0.3 interfacesi bu PDU’yu alır ve inceler.
Last updated