VLAN Nedir? Access, Trunk ve 802.1Q Nasıl Çalışır?

VLAN neden kullanılır, broadcast domain ile ilişkisi nedir? Access ve trunk port farkı, 802.1Q etiketinin yapısı ve nerede eklenip kaldırıldığı, native VLAN, PVID ve izinli VLAN listesi; bir AP'nin neden trunk'a bağlanabildiği.

Huawei Info-Finder (VLAN), QinQ Frame Format (EDOC1100174721), Fat AP ve Cloud AP V200R019C00 komut referansı
Resmi dokümana göre
Cisco Catalyst 9600, Cisco IOS XE Amsterdam 17.2.x VLAN yapılandırma rehberi
Resmi dokümana göre
HPE Aruba Networking AOS-CX CLI referansı, vlan trunk native tag (10.07 ve sonrası)
Resmi dokümana göre
FortiSwitch FortiSwitch 6.4.2 yönetim rehberi, VLANs and VLAN tagging
Resmi dokümana göre

MAC, IP, ARP ve Default Gateway yazısında VLAN’ın L2 bağlantı alanını, yani ARP yayınının ulaştığı alanı belirlediğini söylemiştik. Bu yazı o alanın nasıl kurulduğunu anlatıyor: bir switch’i birden fazla mantıksal ağa bölen VLAN’ı, cihazların bağlandığı access portları, VLAN’ları switch’ler arasında taşıyan trunk bağlantıları ve bunu mümkün kılan 802.1Q etiketini.

VLAN neden var?

VLAN’sız bir switch tek bir yayın alanıdır (broadcast domain): bir cihazın gönderdiği yayın, örneğin bir ARP isteği, switch’e bağlı bütün cihazlara ulaşır. Personel bilgisayarları, yazıcılar, kameralar ve misafirler aynı switch’e bağlıysa hepsi birbirinin yayınını duyar ve aynı L2 alanını paylaşır.

VLAN (Virtual LAN), tek bir fiziksel switch’i birden fazla mantıksal switch’e böler. Huawei’nin tanımıyla her VLAN ayrı bir yayın alanıdır ve yayın paketleri tek bir VLAN’ın içinde kalır. Kampüs örneğimizde personel VLAN 20’de, sunucular VLAN 30’da, AP yönetimi VLAN 50’de, misafirler VLAN 60’tadır. Aynı switch’e bağlı olsalar bile VLAN 20’deki bir bilgisayarın yayını VLAN 60’taki bir misafire ulaşmaz.

Bu ayrımın sahada üç pratik faydası vardır:

  • Daha küçük yayın alanları: Her cihaz yalnızca kendi VLAN’ındaki yayınları alır.
  • Gruplara ayrı politika: VLAN’lar arasındaki trafik bir L3 cihazından geçtiği için personel, misafir ve kamera ağlarına farklı kurallar uygulanabilir.
  • Konumdan bağımsız gruplama: Aynı VLAN trunk’larla binanın her katına taşınabilir; muhasebe ekibi farklı katlarda otursa da aynı VLAN’da kalabilir.

Genellikle her VLAN’a bir IP alt ağı karşılık gelir (VLAN 20 için 10.0.20.0/24 gibi), ama ikisi farklı kavramlardır: VLAN L2’de bir yayın alanını, alt ağ L3’te bir adres aralığını tanımlar. Alt ağ hesabı IPv4 ve Subnetting yazısında. Farklı VLAN’lardaki cihazlar birbiriyle ancak bir L3 cihazı, yani router ya da L3 switch üzerinden konuşabilir; bunun nasıl yapıldığı ayrı bir yazının konusu. VLAN’ın tek başına bir güvenlik önlemi olmadığı ise Ağ segmentasyonu ve DMZ yazısında anlatılıyor.

Access port: tek VLAN, etiketsiz

Bilgisayar, yazıcı ya da kamera gibi uç cihazlar switch’e genellikle access port ile bağlanır. Access port tek bir VLAN’a aittir ve uç cihazla etiketsiz çerçeve alışverişi yapar. Cihaz hangi VLAN’da olduğunu bilmez; VLAN’ı switch portu belirler.

Port, uç cihazdan gelen etiketsiz bir çerçeveyi kendi VLAN’ına alır. Huawei bu değere PVID (Port Default VLAN ID) der: switch etiketsiz gelen çerçeveyi kendi iç işleyişinde PVID’nin gösterdiği VLAN’a atar. Bu, access kablosunda fiziksel bir 802.1Q etiketi oluştuğu anlamına gelmez; çerçeve kabloda etiketsizdir, VLAN bilgisi switch’in içinde tutulur. Çerçeve aynı VLAN’daki başka bir access porttan cihaza yine etiketsiz çıkar; trunk üzerinden etiketli gelmişse etiket bu çıkışta kaldırılır.

Normal kullanımda access porta etiketli çerçeve gelmez. Üreticiler bu durumu farklı ele alabilir. Örneğin Huawei’nin belgesine göre access port, etiketli bir çerçeveyi yalnızca etiketteki VLAN numarası portun PVID’siyle aynıysa kabul eder. Bu yüzden “access port etiketli çerçeveyi her zaman reddeder” genellemesi her cihaz için doğru değildir.

Trunk port: birden fazla VLAN, tek bağlantı

İki switch arasında hem VLAN 20 hem VLAN 30 taşınacaksa her VLAN için ayrı kablo çekmek yerine tek bir trunk bağlantısı kullanılır. Trunk’tan geçen çerçevenin hangi VLAN’a ait olduğu kaybolmasın diye çerçeveye bir 802.1Q etiketi eklenir. Karşı switch etiketi okur, çerçeveyi doğru VLAN’a koyar ve uç cihaza access porttan gönderirken etiketi kaldırır.

PC-1 VLAN 20 Yazıcı VLAN 30 PC-2 VLAN 20 Sunucu VLAN 30 Switch-A L2 Switch-B L2 TRUNK VID 20 VID 30 izinli: 20, 30 access · etiketsiz access · etiketsiz 1 PC-1 etiketsiz gönderir; Switch-A çerçeveyi portun VLAN'ına (20) alır. 2 Trunk'a çıkarken 802.1Q etiketi eklenir: VID 20. 3 Switch-B etiketi okur, çerçeveyi VLAN 20'ye koyar. 4 PC-2'nin access portundan çıkarken etiket kaldırılır. Düz çizgi VLAN 20, kesikli çizgi VLAN 30. Her VLAN ayrı bir yayın alanıdır.
Etiket trunk'a çıkarken eklenir, uç cihaza giden access porttan çıkarken kaldırılır. Uç cihazlar VLAN'ı bilmez; VLAN'ı switch portu belirler.

Etiketin yolculuğu şöyle özetlenebilir:

  1. PC-1, VLAN 20’deki access porta etiketsiz bir çerçeve gönderir. Switch-A çerçeveyi VLAN 20’ye alır.
  2. Çerçeve trunk’a çıkarken Switch-A ona VLAN numarası 20 olan bir 802.1Q etiketi ekler.
  3. Switch-B etiketi okur ve çerçeveyi VLAN 20’ye koyar.
  4. Çerçeve PC-2’nin access portundan çıkarken etiket kaldırılır; PC-2 çerçeveyi etiketsiz alır.

Trunk portta hangi VLAN’ların taşınabileceğini izinli VLAN listesi (allowed VLAN list) belirler. Örnekteki trunk’ta yalnızca 20 ve 30 izinlidir. FortiSwitch’in belgesindeki kural bunu iyi özetler: porta gelen etiketli çerçevenin VLAN’ı izinli listede ya da native VLAN olmalıdır; çıkışta da çerçevenin VLAN’ı bu listelerden birinde değilse çerçeve düşürülür. Yani bir VLAN listede yoksa o VLAN’ın çerçeveleri trunk’tan geçmez; AP’lerde sık görülen “istemci IP alamıyor” sorunlarının bir kısmı bu listedeki bir eksiklikten çıkar. Teşhisi AP Online Ama İstemci IP Alamıyor yazısında.

802.1Q etiketi: 4 bayt

802.1Q etiketi, Ethernet çerçevesinde kaynak MAC adresinden hemen sonra, EtherType alanından önce eklenen 4 baytlık bir alandır. İki parçadan oluşur:

  • TPID (Tag Protocol Identifier, 16 bit): Değeri 0x8100’dür ve bu çerçevenin 802.1Q etiketi taşıdığını söyler. IANA’nın kaydında bu değer “Customer VLAN Tag Type (C-Tag)” olarak geçer.
  • TCI (Tag Control Information, 16 bit): Üç alana bölünür:
    • PCP (Priority Code Point, 3 bit): Çerçevenin önceliği, 0 ile 7 arası. Huawei belgeleri bu alana PRI der.
    • DEI (Drop Eligible Indicator, 1 bit): Tıkanıklıkta önce düşürülebilecek çerçeveleri işaretler. Eski belgelerde bu bit CFI (Canonical Format Indicator) adıyla geçer.
    • VID (VLAN Identifier, 12 bit): Çerçevenin ait olduğu VLAN.
802.1Q ETİKETLİ ETHERNET ÇERÇEVESİ Hedef MAC 6 B Kaynak MAC 6 B 802.1Q 4 B EtherType 2 B Veri 46–1500 B FCS 4 B TPID · 16 bit 0x8100 PCP · 3 bit öncelik 0–7 DEI · 1 bit eski adı CFI VID · 12 bit VLAN 1–4094 TCI · 16 bit etiketin türü Etiket, kaynak MAC'ten sonra, EtherType'tan önce eklenir. Etiketsiz çerçeve en fazla 1518 B, etiketli 1522 B; veri alanı (IP MTU) yine 1500 B. VID 0: priority-tagged (VLAN'sız, yalnızca öncelik); VID 4095: ayrılmış. Yapılandırılabilir aralık platforma göre 1–4094'ten dar olabilir.
802.1Q etiketi çerçeveye 4 bayt ekler: 2 baytı etiketin türünü (TPID), 2 baytı öncelik, düşürme işareti ve VLAN numarasını (TCI) taşır. Kutu genişlikleri bayt oranını göstermez.

12 bitle 0 ile 4095 arasında 4096 değer yazılabilir, ama ikisi ayrılmıştır. 4095 kullanılmaz. 0, çerçevenin bir VLAN’a ait olmadığını, yalnızca öncelik bilgisi taşıdığını gösterir; bu tür çerçevelere priority-tagged denir ve alan switch onları genellikle etiketsiz çerçeve gibi portun VLAN’ına alır. Böylece kullanılabilir VLAN numaraları 1–4094 olur. Bazı platformlar iç kullanım için bazı numaraları ayırdığından yapılandırılabilir aralık cihaza göre daha dar olabilir; kesin aralık cihazın belgesindedir.

Etiketin bir yan etkisi çerçeve boyudur. OSI ve TCP/IP yazısında etiketsiz Ethernet çerçevesinin en fazla 1518 bayt olduğunu görmüştük. Etiket 4 bayt eklediği için etiketli çerçeve en fazla 1522 bayta çıkar. Bu, çerçevenin taşıdığı veri alanını büyütmez: IP paketinin sığabileceği alan, yani MTU, yine 1500 bayttır. 1522 çerçevenin toplam boyu, 1500 ise içindeki paketin sınırıdır.

Native VLAN, PVID ve izinli liste: üç ayrı görev

Trunk’larda etiketsiz trafik de olabilir. Bu noktada üç kavram sık karıştırılır:

  • PVID: Porta etiketsiz gelen çerçevenin hangi VLAN’a alınacağını belirler. Giriş yönüyle ilgilidir.
  • Native VLAN: Trunk’ta etiketsiz taşınan VLAN’dır. Cisco ve FortiSwitch bu terimi kullanır. Cisco’nun Catalyst 9600 (IOS XE 17.2.x) yapılandırma rehberine göre varsayılan olarak native VLAN’daki trafik etiketsiz iletilir; VLAN numarası çıkış portunun native VLAN’ıyla aynı olan çerçeve etiketsiz gönderilir. Varsayılan native VLAN 1’dir ve trunk’ın iki ucunda aynı olmalıdır. FortiSwitch’te native VLAN, porta etiketsiz gelen çerçevelerin alındığı VLAN’dır ve bu VLAN’ın çerçeveleri porttan etiketsiz çıkar.
  • İzinli VLAN listesi: Portun hangi VLAN’ları hiç taşıyabileceğini belirler.

Native VLAN ile PVID birbirine yakın ama aynı kavram değildir. PVID giriş yönündeki atamayı anlatır; native VLAN ise trunk’ta etiketsiz taşınan VLAN’ı anlatır ve çıkış yönünü de kapsar. Huawei’nin belgesi de bazı üreticilerin varsayılan VLAN’a native VLAN dediğini not eder. Ayrıca native VLAN’ın her koşulda etiketsiz gönderildiği de söylenemez:

  • HPE Aruba AOS-CX’te vlan trunk native tag komutu native VLAN’ın da etiketli gönderilmesini sağlar; bu durumda porta gelen etiketsiz çerçeveler (BPDU’lar dışında) düşürülür.
  • FortiSwitch native VLAN’ın yanında ayrı bir untagged VLAN listesi de tutar. Bu liste yalnızca çıkış yönüne uygulanır; listedeki VLAN’lar porttan etiketsiz çıkar ve aynı zamanda izinli listede olmalıdır.
  • Huawei’de access ve trunk’a ek olarak hybrid port türü vardır. Hybrid portta hangi VLAN’ların porttan etiketli, hangilerinin etiketsiz çıkacağı yapılandırmayla belirlenir; birden fazla VLAN etiketsiz gönderilebilir.

Yani “trunk” ve “native VLAN” kelimeleri her üreticide aynı davranışı anlatmaz. Bir bağlantının iki ucunda hangi VLAN’ın etiketsiz taşındığı ve hangi VLAN’ların izinli olduğu her iki cihazda ayrı ayrı kontrol edilmelidir. Native VLAN’ın yanlış yapılandırılmasının güvenlik tarafı Layer 2 Saldırıları yazısında.

Bir bağlantıyı kontrol ederken

Trunk ve access ayarları bağlantının iki ucunda birlikte anlam kazanır. İki switch, bir switch ile AP ya da bir switch ile firewall arasında bir VLAN’ın çalışmadığı durumda önce şu dört soruya bakılır:

  1. Portlar iki uçta da beklenen türde mi (access mı, trunk mı)?
  2. Taşınması gereken VLAN iki uçta da izinli listede mi?
  3. İki uç, hangi VLAN’ın etiketsiz taşınacağı konusunda aynı ayarda mı?
  4. VLAN, bu bağlantının ötesinde, gateway’e kadar her trunk’ta da taşınıyor mu?

Bu soruların adım adım uygulandığı bir WLAN örneği AP Online Olmuyor yazısında.

Bir AP neden trunk’a bağlanabilir?

Bir AP birden fazla SSID yayınlıyorsa ve her SSID’nin trafiği farklı bir VLAN’a gidecekse, AP’nin switch’e bağlandığı tek kablo birden fazla VLAN taşımalıdır. Kampüs örneğimizde trafik AP’den doğrudan kablolu ağa çıkıyor (local bridge):

  • “Personel” SSID’sinin trafiği VLAN 20’ye, “Misafir” SSID’sinin trafiği VLAN 60’a gider. AP bu çerçeveleri switch’e 20 ve 60 etiketleriyle gönderir.
  • AP’nin kendi yönetim trafiği VLAN 50’dedir. Bu tasarımda VLAN 50 portta etiketsiz taşınır; AP açılışta etiketsiz çerçeveyle DHCP’den yönetim adresini alır.

VLAN 50’nin etiketsiz olması bizim örnek tasarımımızın bir seçimidir, her AP için bir zorunluluk değildir; yönetim VLAN’ı etiketli de taşınabilir. Trafiğin controller’a tünelle taşındığı mimarilerde SSID trafiği tünelin içinde gider ve AP portunun yalnızca yönetim VLAN’ını taşıması yeterli olabilir. Bu ayrım Local Bridge mı, Tunnel Forwarding mi? yazısında.

Kaynaklar

#temeller#vlan#8021q#switching

Kemal Keleş

Network & Security Engineer · CCNA · HCSA · NSE 3

Switching, routing, firewall ve kampüs ağlarında presales ve saha deneyimimi, teknik araştırmalarımı ve üretici dokümantasyonlarını bir araya getirerek pratik, üreticiden bağımsız içerikler hazırlıyorum.

Aynı konudan