VLAN
Last updated
Last updated
Virtual LAN => Virtual Local Area Network
IEEE tarafından geliştirilmiştir.
Vlan yapısını kullanarak mantıksal alt ağlar oluşturabilir. Bu mantıksal ağlar aslında bölümlenmiş birer broadcast domaindir.
Broadcast trafiği ; Kaynaktan gelen paketin herkese iletildiği bir trafik türü idi.
Bu da Local networkteki trafiği çoğaltacağından dolayı gereksiz bir trafik oluşturuyor işte burada devreye vlan giriyor.
Belirli bir adette, cihaz olduğu anda çok fazla broadcast oluşuyor broadcast oluşmaması için biz router koyuyoruz. Ama araya fazla router eklemek çok kolay değil. Tüm cihazları da aynı switche bağlarsak Aynı broadcast de olması sıkıntı olabilir çünkü broadcast herkese gidiyor. Bilgisayar sayısı artıkça broadcast fazla artıyor. Bilgisayarların performansı düşüyor. İkincisi aynı broadcast domainde olmak güvenlik riskleri de getiriyor.
Bir switch diğer switche frame yollarken buna hangi grupta olduğu bilgisini de eklesin. Tag'lenerek iletiliyor. Frame büyümüş oldu. 1518 byte maksimum değer biraz da büyük bir frame oldu normal şartlarda bir ethernet portu üzerinde ek bir başlık eklersen 1518 byte'dan büyük olursa bunu çöpe atar. 802.1Q ile ethernet başlığının hemen peşine 4 bytelık bir etiket başlığı ekliyor. Ondan sonra 3. katman ve data başlığı geliyor.
4 byte içinde VID (vlan numarası) ekliyor ve istenirse QoS (Quality of Service) önceliklendirme numarası ekliyor. Swithcler arası bu bağlantı yapılan portlara trunk denilir. Bazı markalar buna Tagged diyor. Cisco vs Trunk diyorlar. Frame diğer swithce gittiği zaman ilgili port bu vlan tag'i kaldırıyor çünkü bu tag'i bilgisayar anlamıyor. Switch portlarımızın iki ayrı rolü olabiliyor. Birincisi swithchler arasında bağlantıyı sağlayan Vlan etiketi ekleyen Trunk roldeki portlar. Birde ucunda tek bir istemci olan Access Portlar.
Vlanlar konfigurasyon dosyası içerisinde bulunmaz. Konfigurasyon dosyasını silsek bile vlanlar silinmez. Flash içerisinde vlan. dat (database) dosyası içerisinde bulunur. Tanımladığımız vlanları silmek istersek vlan.dat dosyasını silmemiz gerekiyor. Sildikten sonra cihazı restart etmemiz gerekiyor. VTP ise cisco'ya özgü bir protokoldür. Switchler arasında senkronizasyonu sağlar. Örnek olarak biz Misafir diye bir vlan tanımladık. Vlan2 olsun. networkümüzde de 100 tane switch var. Vtp protokolü bu 100 tane switchi otomatik olarak senkronize eder.
Port Bazlı Vlan ==>Switchin portları oluşturulan VLAN'lara alınır.
Protokol Bazlı Vlan ==>Taşınan bilginin türüne göre (protokol) paketler Vlan'lara alınır.
Switch içinde Vlan oluşturulur.
Portlar ilgili Vlan'lara alınır.
Farklı Vlanlardaki orta bağlı cihazlar birbiriyle haberleşemez.
Her vlan bağımsız bir switch gibidir.
Vlanlar farklı switchlere genişleyebilir.
Trunklar birçok vlan trafiğini taşır.
Trunlar,farklı vlanlar arasında ayrım yapabilmek için özel encapsulation kullanırlar.
Ağdaki ses, internet ve iptv paketleri farklı protokollerle taşınır. Cihazlar paket içindeki protokol bilgisine göre paketi farklı Vlan'a alır. Ağ cihazlarında farklı vlanlar için öncelik sırası belirlenir. Bu şekilde bir sıkışma anında hangi hizmete ait trafiğin öncelikli taşınacağı belirlenmiş olur Hizmet kalitesi ve müşteri memnuniyeti artacaktır.
1.Öncelikli :Ses 2.Öncelikli: IPTV 3.Öncelikli: Data(internet)
Her vlan kendisine ait bir broadcast domain oluşturmaktadır
Vlan’lar en az Layer-2 bir cihaz kullanılarak oluşturulabilir.
Eğer VLAN oluşturulan ortamda Layer-3 işlevi görebilecek yeteneklere sahip bir cihaz yoksa Vlan’lar arası haberleşme sağlanamaz.
Oluşturduğumuz her vlan aslında kendi içerisinde kapalı kalacak şekilde broadcast domaini oluşturuyor. Yani o vlan içerisindeki client’ın yapacağı broadcast trafik sadece ilgili Vlan içerisinde kalıyor ve diğer Vlanlara ait hedeflere gitmiyor. Doğal olarak trafiği daha da rahatlatmış oluyoruz. Minimum bir layer 2 cihaza ihtiyacımız var genelde bu Edge Switch dediğimiz Kenar Switch oluyor. Eğer birden fazla Vlan oluşturmak ve bu Vlanlar arasında haberleşmeyi sağlamak istiyorsak Layer 3 cihazımız olması gerekiyor.
VLAN İşlevleri
Vlanlar bir network içerisinde broadcast domainleri istediğimiz gibi yönetmemizi sağlar.
Broadcast domainler birbirinden yalıtıldığı için güvenlik daha etkin bir biçimde düzenlenir.
Access Control List(ACL)’lerin daha etkin kullanımını sağlar.
Kısaca özetlemek gerekirse; Network’ü alt ağlara bölüyoruz ve o kargaşa trafiği küçültüyoruz kendi içinde kalmasını sağlıyoruz. Böylece broadcast paketlerin sayısı azalıyor ve gereksiz paketler, gereksiz yerlere gitmediği için gereksiz bir trafik oluşmamış oluyor.
Broadcast domainleri birbirinden yalıttığımız için daha güvenli oluyor aslında.
VLAN PORT ÇEŞİTLERİ
Access Port
Herhangi bir cihazın bir Vlan’a switch üzeriden üye edilmesi ile oluşan fiziksel hattır.
Trunk Port
Bir switch’in bir başka switch’e bağlanması ile oluşan ve Vlan bilgilerini taşıyan hattır.
Resim Trunk ve Access port ile ilgili
Vlan yapısında Switchportlara vermiş olduğumuz 2 tane mod vardır. Bir access mode bir de trunk mode. Eğer bizler o port üzerinden birden fazla vlan bilgisini geçmesini istiyorsak bu portumuzu trunk port haline
Vlan1 default vlan'dır ve açılışta tüm portlar vlan1dedir. Vlan 1 silinemez ve ismi de değiştirilemez.
Yerel VLAN “Trunk” bağlantı noktasına atanmış VLAN’dır. Bir “Trunk” bağlantı noktası herhangi bir VLAN etiketi olmayan trafiği ve çok sayıda VLAN tarafından oluşturulan trafiği destekler. “Trunk” bağlantı noktası herhangi bir VLAN’dan gelmeyen trafiği Yerel VLAN’a yönlendirir.
Yani native vlan hiçbir etiket eklenmeden switchten switche trafiğin geçirilmesini sağlayan bir mekanizma. İki switching etiketsiz vlanların haberleşmesi için aynı native vlan numarasına sahip olmaları gerekiyor.
Switch'i yönetmek üzere yapılandırılımış bir VLAN'dır. Yönetim VLAN'ına bir IP adresi veya alt ağ maskesi atandığında bu switch'e HTTP, Telnet, SSH veya SNMP gibi yollarla bağlanılabilir. Bu SVI'dır.
int vlan 1
ip add 10.0.0.1 255.0.0.0
Management Vlanımız burada vlan1 çünkü vlan1 den switchi yönetiyorsunuz. Vlan 1 aynı zamanda default Vlan'dır. Yani üzerinde varsayılan vlandır.Vlan1 yerine Vlan2 ye ip adresi verseydik o zaman management vlan'ımız vlan2 olurdu ama varsayılan vlanımız her zaman vlan 1 dir.
İp telefonların takıldığı vlan olarak tanımlanır.
Telefondaki birinci port networke bağlı. Diğer portu bilgisayara bağlı. Switch içerisinde anakartında bir kablolama var o da telefonu besliyor. Dışardan 2 kablo görüyoruz içine gömülü bir kablo da var. O da telefona gidiyor. Yani telefonun içerisine switch gömülü demişlerki biz bunu switchi vlan destekli hale getirelim. Trunk olursa 2 vlanı birden geçirebilirim. şeklinde düşünebilirsiniz.
Vlan Etiketi
Vlan ID (Vlan Numarası) 12 bit uzunluğundadır. 4096 tane vlan tanımlaması yapabiliriz.
3 Bit Öncelik verme numarası ekler. 0-7' arasında öncelik numarası yerleştirebiliyoruz. Burası optsiyonel öncelik vermek zorunda değiliz. Büyük olan numara her zaman önceliklidir.
Vlan'a etiket eklendiği için bunun yapısını bozduğu için FCS( Frame Check Sequence)'i yani hata kontrol numarasını tekrardan hesaplamak zorundadır.
Ingress =>Bir porttan içeri giren trafiğe denir. Egress ==>Bir porttan dışarı doğru çıkan trafiğe denir.
Switchler cihazların mac adreslerine bakarak anahtarlama yapan cihazlardır. Hedef mac adresine bakar. Mac adreslerini CAM(Content Addressable Memory) tablosunda tutar. Arp tablosunda değil. Router'larda hedef networke bakar. Karar verme mekanizmasında kaynağa bakmıyorlar, nerden çıkacak vs diye. Kararı hedef mac adresine göre veriyorlar.
Hiçbir zaman bir intefaceden giriş yapan (ingress) olan bir paket aynı interfaceye geri yollanmaz çünkü loop'a sebep olur. Kendisinden geri çıkış yapmaz.
Router'lar routing tablosuna bakar. Swichtler Mac adresi tablosuna bakıp kararını verir.
Switch içerisine bir paket giriş yaptığı anda ilk yaptığı şey kaynak mac adresini öğrenmektir. İkinci yaptığı işlem ise hedef mac adresinin nerde olduğunun tespitidir. Öğrendiği bu Mac adresi kayıtını örnek olarak A bilgisayarı 1.portta trafik devam ettirdiği sürece unutmaz. Ama hiçbir trafik oluşturmazsa 5 dk sonra tablodan siler. İkinci adımda ise hedefin nerde olduğu tespiti var. Hangi interfaceden paketi yollayacağı daha doğrusu. Bunun için hedef Mac adresine bakar. Örnek olarak B bilgisayarın Mac adresini bilmediği için tüm portlardan bunu yollamak. Yani trafik 2. porttan da çıkış yapar 3. porttan da çıkış yapar. Ama 1.porttan çıkış yapmaz yani geldiği porttan geri yollanmaz. Loop olur.
Yönetilemez bir switchin kendi mac adresi yoktur ama yönetilebilir bir switching kendi mac adresi vardır. Switch cihazları anahtarlamayı özel işlemciler ile yapar buna ASICs (Application specific integrated circuits) adı verilir.
Store and Forwarding Switch ==> Tüm frame'i içerisine alır ve Frame geçerli mi diye kontrol eder. Tüm swithcler neredeyse bu şekilde çalışır. Mikrosaniyeler türünde biraz gecikme olur çünkü tüm frame hafızaya yerleşir ondan sonra gider. Cut-through Switch ==> Frame'nin belirli bir kısmını alır. İlk 64 btye'nı alıp oradan hedef mac adresini tespit edip, nerden yollayacağına karar verip paketi yollamaya başlıyor. Bu gecikmeyi azaltıyor yani 1500 byte switchin içerisine girmeden anahtarlıyor. 10 microsaniyeden küçük gecikme istiyorsanın kullanılıyor. FCS kontrol etmiyor. Hata sorunu ile karşılaşabilrsiniz.
Aynı anda 2 paketin yollanması ve bunların çakışmasıdır. Swithchler collison oluşmasını engeller. Karşılıklı 2 bilgisayar var aynı anda paket yollayabilirler yani günümüzde collision oluşmaz. Günümüzde sistemler full dublex çalışır. Verinin yollandığı ile verinin alındığı kanallar birbirinden farklıdır. Eski nesil bir hub kullanıyorsanız collison oluşur. Full dublex de olmaz. Half dublexde olabilir. Swithcler collison geçirmez. Swithchlerin herbir bacağı birer collision domaindir. Örnek olarak 4 portlu bir swichte 4 tane collison domain vardır.
Broadcast trafiği ise herkese giden trafik. Çeşitli protokoller bunu kullanıyor. Örnek olarak Arp protokolü, dhcp vs sorgu yaparken herkese yolluyordu. Ya da bir bilgisayar hedef ip adresi olarak 255.255.255.255'e gönderiyordu. Router'la brodcast domainleri böler çünkü broadcast domainleri geçirmiyor.
vlan oluşturduktan sonra ilgili portlara atamak gerekiyor. Access porttun ucunda bilgisayar vardır. Trunk portun ucunde Switch vardır. Burada fa 0/1 portu vlan 10'a aldım. Farklı vlanda olan bilgisayarlar birbilerini pingleyemez.
Arp vs gibi Brodcast sorgularından dolayı biz Switchte hangi vlanlar varsa sadece o vlanların trafiği geçsin isteriz. Örnek olarak sağ switchte vlan 20 yok onun trafiği boşu boşuna geçmesin isteriz. Onu da şu şekilde yapıyoruz. Sadece 10 geçecek. Eğer 10 ile 20 arasında geçmesini istersek 10-20 şeklinde yazıyoruz. hem 10 geçsin hem 11 yazmak istersek 10,11 şeklinde araya virgül koyuyoruz.
Üstüne yazarak ilerliyor.
Native vlan 2 tarafda da aynı olmak zorunda. Default olarak vlan1dir.
Ip telefonun arkasındaki bilgisayar ip telefondan farklı vlanda olabilir.
Telefon takarsak vlan 30 da oluyor. Ama bilgisayar takarsak vlan 10 da oluyor.
Vlan silmek istersek no vlan [vlan 10] komutu ile tek tek silebilirsiniz. Tek tek silmek istemezseniz delete vlan.dat . Sonrasında restart etmek gerekiyor.
Portun trunk ya da access olup olmadığını görmek istersek
Cisco'ya özel bir protokol. DTP güvenlik açığı oluşturduğu için genelikle kullanılmıyor. DTP kısaca Cisco Switchler arasında çalışan ve iki anahtarlayıcının aralarında paylaştıkları DTP mesajı ile, bağlı oldukları portu Trunk portu yapmasını sağlayan bir protokoldür.
Default olarak tüm portlar dynamic auto pozisyonundadır. Hiçbir yerde dynamic auto bırakılmaz. Tüm portlar mode access yapılır. Access olduğu anda dinamik özelliği kalkar. Eğer ucuna switch takmak gerekirse o portu trunk yapıyoruz. Hiçbir port boş kalmaması gerekiyor onu access yapmalıyız.
Dynamic Auto ; Trunk olmaya isteksiz port demektir. İkiside isteksiz ise Trunk olmaz Access olur. Dynamic Desirable ; Trunk olmaya isteklidir.
Dtp komple kapatmak istersek aşağıdaki komutu kullanmalıyız.
switchport nonegotiate
Sanal ağlardan (VLAN) oluşan bir ağda her sanal ağ, ayrı bir "broadcast domain oluşturduğu için varsayılanda farklı sanal ağlardaki cihazlar haberleşemez. Farklı sanal ağlardaki cihazların iletişim kurabilmeleri için yönlendirici üzerinde yapılandırma yapılması gerekmektedir
Farklı sanal ağların yönlendirici üzerinde tanımlanması işlemi, her sanal ağ için yönlendiricinin farklı bir arayüzü kullanılarak yapılabileceği gibi, yönlendiricinin bir arayüzünde alt arayüz tanımlanarak da yapılabilir. Alt arayüzler, yönlendiricinin bir arayüzü üzerinde tanımlanmış birden fazla sanal arayüzdür ve her alt arayüz farklı bir sanal ağ tanımladığı için farklı alt ağ maskeleriyle yapılandırılır. Yönlendiricilerde alt arayüzler tanımlanarak yapılan yapılandırmalar "Router On a Stick" olarak adlandırılır.
Router ile Switch arası trunk port olmalıdır.
Fiziksel interafce altına 2 tane gateway oluşturmak adına sanal interfaceler oluşturuyorum. İnterface numarasından sonra nokta koyuyoruz (int fa0/0.10 ) Sonra hangi vlana ait olduğunu belirtiyorsunuz. encapsulation dot1q 10 ) 802.1Q protokolü ile 10 numaralı etiket ile geliyorsa bu sanal interfaceye gelmiştir. sonrasında ip adresi veriyoruz
Tek bir kablo üzerinden tüm trafiği geçirdiğimiz için darboğaza sokar. Çok iyi bir çözüm değil. O yüzden kurumsal ağlarda bu tür çözüm tercih edilmiyor. Küçük bir ofis vs tercih edebilirsiniz.
Tek kablo ile çıktığımız için Routerı trunk yapmak zorundayız.
Farklı vlanda olmalarına rağmen haberleştirme bu şekilde yapılmış oldu.
Daha iyi bir çözüm olarak Layer 3 switch kullanılabilir. Layer 3 switch önü Layer2 switch arkasını router olarak düşünebilirsiniz. Layer 3 switch içerisinde router olduğu için fiziksel porta sahip değil. Bu vlanları sanal portlara atıyoruz. Bunlara SVI (Switch Virtual İnterface) adı verilir. Switchlere ip adresi verirken Vlan interfacelerine veriyorduk. Layer 3 switchte vlana ip vermek. İçindeki routera ip vermek demektir.
SVI
interface vlan 10 interface vlan 20
ip add 10.0.0.1 255.0.0.0 ip add 20.0.0.1 255.0.0.0
no shut no shut
Haberleşmek istersek nasıl olacak peki. Vlan 10 daki bilgisayar vlan 20'ye gitmek isterse, Layer3 switch bunu sağlıyor. Omurga switch budur. Anahtarlama kapasitleri çoktur.
Her port, her vlan başka fiziksel vlanda. Bunun sorunu her vlan için ayrı bir kablo takmak gerekiyor.
Defaultta tüm trunk interfaceler native olarak Vlan 1 dir.
Ip telefona takılan porta Vlanlardan bir tanesini seçiyorsunuz. Örneğin vlan 8 diyorsunuzki benim buradan ip telefon trafiğim geçecek. IP telefonların ciddi bir kısmı kripto yapmaz ses trafiği açık gider. Koruma mekanizmaları vs yoktur. IP telefon yapılıyorsa bunları güvenliği önemlidir ve başka vlana alınmalıdır.Ses trafiği öncelikli olmalı(QoS) öncelik verme operasyonu yapılmalıdır. Ses trafiğinin gecikmesi az olmalıdır. 150 ms geçmemesi lazım.