| Yazan: Hayrullah Kolukisaoglu,
Tarih: 27-03-2008 14:33
|
Okunma Sayısı : 1853  |
Beğenilme : 2 |
 Bu yazımızda Switchler arasında Vlan bilgilerinin nasıl taşınacağı hakkında bilgiler vereceğiz. Switchportları sadece bir tane data vlanına üye olabilirler, dolayısıyla Switchler arasındaki bağlantılarda birden fazla Vlan bilgisini taşıyabilmemiz için özel portlara ihtiyacımız vardır. Burada özel portlar derken aslında söylemek istediğim donanımsal olarak özel bir port değil özel bir konfigürasyona sahip olan portlardır. Bu özeli konfigürasyona “Trunk” denir ve Trunk Portları üzerinden geçirdikleri framelere hangi Vlana ait oldukları ile ilgili bilgiyi etiketler.
Şekildeki iki Switch üzerinde Vlan1, Vlan2 ve Vlan3’e üye olan portlara sahiptir. Aynı Switch üzerinde aynı Vlana üye olan portlar aralarında veri transferini rahatlıkla yapabilirler. Fakat, örneğin Switch1 üzerinde Vlan 2’ye üye olan bir bilgisayarın, Switch2 üzerindeki aynı Vlan’a üye olan başka bir bilgisayara ARP mesajı gönderdiğini düşünelim. Bu durumda Switch2’nin kendisine gelene frame’in Vlan2’ye üye olan porttan geldiğini bilmelidir. Ancak busayede frame’i ilgili Vlan portlarına gönderebilecektir. Burada Switch1’in diğer Switche gönderdiği frame üzerine, frame’in ait olduğu Vlan bilgisini eklemesi sorunu çözecektir. Frame’i alan Switch2, hangi Vlandan geldiğini anlayacağı için, sadece ilgili Vlanlara gönderecektir. Bu işlemler Switchler arasındaki linkin “Trunk Portu” olarak konfigürasyonu ile sağlanabilecektir.
Trunk konfigürasyonu iki farklı protokol ile sağlanabilir.
1. ISL – Inter-Switch Link 2. 802.1q
ISL Cisco’nn geliştirdiği bir protokol olmasına rağmen artık çokfazla kullanılmamaktadır. Dolayısıyla burada detaylı olarak 802.1q üzerinde duracağım. Ama ISL ilede ilgili bazı bilgileri vermekte fayda var.
ISL bir encapsulation yöntemidir. Yani frame üzerine etiketleme yapmak yerine frame’i yeniden encapsule eder. Yeni encapsulation ile paket boyutu toplamda 30 byte artacaktır. Bu 30 byte’ın 4 byte’ı CRC değeri, kalan 26 byte’ı ise ISL Header’ıdır. ISL Headerı içerisinde Vlan bilgilerinin yanında kaynak ve hedef Mac adresleri gibi bilgiler bulunur. Burada kaynak ve hedef Mac adresleri asıl frame headerından farklıdır. Switch kendi mac adresini kaynak, gönderdiği switchin mac adresini hedef olarak belirler.
ISL ile birlikte frame’in yeniden encapsule edilmesi, ISL’i protokolden bağımsız yapar. Dolayısıyla ISL Ethernet dışındaki Layer 2 teknolojileri ile birlikte de kullanılabilir. Ayrıca ISL PVST yani Per-Vlan Spanning-Tree’yi de destekler. Buna karşın 802.1q’da bahsedeceğimiz Native Vlan özelliği yoktur, bütün frameler encapsule edilir.
Diğer taraftan kullanabileceğimiz bir başka Trunk protokolüde bundan sonra kısaca “dot1q” şeklinde adlandıracağımız IEEE standardı olan 802.1q’dur. hemen şunu belirtmek isterimki Cisco’nun yeni ürünleri arasında sadece 802.1q’yu dstekleyenler, ISL’i Cisco’nun protokolü olmasına rağmen desteklemeyenler mevcuttur. Dot1q bir encapsulation değil, Tagging (etiketleme) protokolüdür. Frame’ler yeniden encapsule etmek yerine, mevcut header’ına Vlan bilgilerini içeren bir etikte yapığtırı. Etiketleme işlem dışında frame’im mevcut FCS alanı çıkartılıp, header değiştiği için, yeniden hesaplanarak eklenir. Tag üzerinde 4 farklı alan vardır. Bunlardan EtherType, frame’in Dot1q frame’i oduğunu gösteren alandır ve her zaman 0x8100 değerine sahiptir. Priority alanı paketlere öncelşk vermek amacıyla işaretleme için kullanılabilir. (CoS – Class of Service değerleri bu alana atanabilir.) Token ring biti vardır ki, Ethernet networkler iiçin 0 değerine sahiptir. Son olarak ise en önemli alanımız, Vlan ID alanı vardır. Bu alanda standart Vlan ID’ler ve Extended Range bilgileri defaul olarak desteklenir.
Dot1q tagging yöntemi ile bir Vlan Native Vlan olarak atanabilir. Default olarak Vlan 1 olan Native Vlana ait paketler, Trunk portlarından etiketlenmeden taşınabilir. Bu sayede network içerisinde Trunk konfigürasyonu yapılamayan cihazlar var ise, bunlara bağlı olan portlarında Vlan’a üye olması (native Vlan’a) sağlanabilir. Şekile baktığımızda durum daha iyi anlaşılabilir. Alt tarafta resmedilen bilgisayarlar frameleri etiketsiz göndereceği için, Switchler tarafından bu framelerin Native Vlan’a üye oldukları kabul edilir. Aynı şekilde Native Vlan’a üye olan bilgisayarlarında gönderdikleri data etiketsiz olacağı için bu bilgisayarlar tarafından anlaşılabilecektir. Dolayısıyla bu bilgisayarlar diğer Native Vlan üyeleri ile haberleşebilir. Şekilde üzerinde konuştuğumuz network tabi ki kötü bir dizayn sonucu ortaya çıkmıştır fakat yine Vlan uygulamalarına engel değildir.
Trunk Örnek Konfigürasyonu
İşlem Basamakları:
1. Port “shutdown” komutu ile kapatılır. Burada amaç portun bizim konfigürasyonumuz bitmeden dinamik olarak autoconfigure olmasını engellemektir. 2. Trunk şekli belirlenir. (ISL veya Dot1q). Bazı Switchler sadece ISL veya sadece Dot1q destekliyor olabilir. Bu durumda bu adım atlanacaktır. 3. Trunk enable edilir. 4. Native Vlan belirlenir. Default olarak Vlan1’dir. 5. Trunk portundan geçmesine izin verilecek Vlanlar belirlenir. Default olarak bütün Vlan bilgileri taşınır. Bu konfigürasyon ile gereksiz bazı paketlerin gönderilmesi engellenebilir. Örneğin bir Switch üzerinde üye portu bulunmayan bir Vlan’a, bu Switch ile olan Trunk bağlantısında, bu konfigürasyon ile, paket gönderilmesi engellenebilir. 6. “no shutdown” komutu ile port açılır. 7. Konfigürasyon “show” komutlarıyla ile doğrulanır.
Not: Aşağıdaki konfigürasyonlar 3550 serisi Cisco Switch üzerinde yapılmıştır.
 Evet il aşamada portumuzu kapattık. Bundan sonra encapsulation tipimizi beliledik. Konfigürasyon sırasında “?” ile isl’ide görmenizi sağladım. Yani ISL konfigürasyonu da aynı şekilde yapılabilir. Encapsulationı Dot1q olarak belirledikten sonra bir sonraki adımımızda Port modunu Trunk yapacağız. Yazımız içerisinde bahsettiğimiz gibi Dot1q trunk içerisinde native vlan dediğimiz bir Vlan vardı. Native Vlan default olarak Vlan 1’dir ve istenirse yukarıdaki gibi değiştirilebilir. Native Vlan, etiketsiz olarak paketlerin taşındığı Vlan olması sebebiyle güvenlik açığıdır ve networkümüzü saldırılar karşısında zor durumda bırakabilir. (Bkz. Vlan Hopping)
“Switchport trunk allowed vlan” komutu ile trunk portlarımızdan geçebilecek Vlanları belirleyebileceğimizi söylemiştik. “Switchport trunk allowed vlan” komutu bir kere kullandıktan sonra, ihtiyaç halinde yeni Vlanlar bu komuta eklenebilir (add) veya var olan Vlanlardan bazıları çıkarılabilir (remove).
Trunk konfigürasyonumuzu doğrulamak için “show interface trunk” komutu kullanılabilir. Evet arkadaşlar, bu yazımız içerisinde, Vlan konfigürasyonlarının bir devamı olarak Trunking işlemlerinin nasıl yapılacağı hakkında bilgileri sizler ile paylaştık. Bu konfigürasyonlar ile statik olarak portları Trunk moduna çekebileceğimiz gibi Cisco Switchler üzerinde çalışan DTP (Dynamic Trunking Protocol) dediğimiz bir protokol ile de Trunking işlemleri tamamlanabilmektedir. Umarım bu yazı okuyanlara faydalı olmuştur.
İyi çalışmalar...
Hayrullah Kolukısaoğlu
|
|
|
Okuyucu yorumları  |
|
Ortalama Üye Değerlendirmesi
(0 Oylama)
|
|
Yorumunuzu ekleyin
|