Ana içeriğe geç

Bölüm 26:Sanal Yerel Ağlar

8 dakikalık okumaGüncelleme:

Ağlar'a “Sen”i Katmak yazısının parçası: adres çubuğuna yazdığın tek bir isteğin peşinden bakırla fiberin fiziğine kadar inen uzun bir teknik yolculuk.

Tüm bölümler
  1. Giriş
  2. Adres Çubuğundan İsteğe
  3. Paket Anahtarlamalı Yol
  4. İsimden Adrese
  5. Önbellek, Tazelik ve Güven
  6. Port Numarası ve Soket
  7. Bağlantısız Taşıma: UDP
  8. Üç Adımlı El Sıkışma
  9. Simetrik Şifreleme
  10. Açık Anahtarlı Kriptografi
  11. TLS El Sıkışması
  12. Sertifika Zinciri
  13. HTTP Mesajının Anatomisi
  14. Durum, Çerez ve Oturum
  15. HTTP/2'den HTTP/3'e
  16. İçerik Dağıtım Ağları
  17. Diğer Uygulama Protokolleri
  18. Katmanlı Mimari
  19. Kapsülleme ve Başlıklar
  20. Paket Yakalama ve Çözümleme
  21. Ağ Arayüz Kartı
  22. Fiziksel Adresleme
  23. Hata Sezme ve CRC
  24. Adres Çözümleme: ARP
  25. Anahtarlama ve Ortam Erişimi
  26. Ağ Topolojileri
  27. Sanal Yerel Ağlar
  28. Kablosuz Erişim: 802.11
  29. Radyo Kanalı ve Kapasite
  30. Kablosuz Ağ Güvenliği
  31. Hücresel Ağlar
  32. Spektrum ve Kuşaklar
  33. Hareketlilik ve Aktarma
  34. Adres Kiralama: DHCP
  35. Adresin Anatomisi
  36. Adres Tükenmesi ve IPv6
  37. Yönlendirici Mimarisi
  38. Kuyruk Yönetimi
  39. Cihaz Yapılandırma
  40. Yönlendirme Protokolleri
  41. Kontrol Düzlemi ve SDN
  42. Ağ İzleme ve Yönetimi
  43. Alanlar Arası Yönlendirme
  44. Adres Çevirisi
  45. Ara Kutular
  46. Tünelleme ve IPsec
  47. Güvenlik Duvarları
  48. Operatör ve Metro Ağları
  49. Bitten Sinyale
  50. Çoklama Teknikleri
  51. İletim Ortamları
  52. Kablo Sonlandırma
  53. Fiber Optik İletim
  54. Bakır Erişim Ağı: DSL
  55. Pasif Optik Ağlar
  56. Kablo Erişim Ağları
  57. Denizaltı Kabloları
  58. Veri Merkezi Ağları
  59. Kapsülleme Çözme
  60. Güvenilir Aktarım
  61. Tıkanıklık Denetimi
  62. Trafik Çözümleme
  63. Gecikme Bütçesi
  64. Son Söz

Structured cabling’in (yapısal kablolamanın) yıldız düzeninde her priz kat dolabındaki anahtara bağlanıyordu. Geriye bir soru kalıyor: aynı anahtara takılı iki bilgisayar aynı ağda olmak zorunda mı?

Zorunda değil. Tek bir anahtar, birbirini hiç görmeyen ağları aynı anda taşıyabiliyor. Peki bunu neyle yapıyor?

Aynı kutuda kaç ağ var?

ARP isteği, broadcast domain’deki bütün komşuların kartını tek tek uyandırıyordu. Yayın yalnızca ARP değil. DHCP de, hedefi henüz öğrenilmemiş her çerçeve de aynı yolu izliyor. Hepsi LAN’ın tamamını dolaşıyor, bant genişliğini yiyor ve herkese herkesin trafiğini duyuruyor.

Sanal yerel ağ, yöneticinin çizdiği bir port kümesi ve o kümenin dışına taşmayan bir broadcast domain. Sınır tek bir kutunun içinde de durabiliyor, birkaç anahtara da yayılabiliyor. Çizgiyi donanım çekmiyor; anahtarın çerçeveyi hangi porta ileteceğine karar veren yazılım çekiyor. Kutunun içine bakarsan ikiye bölünmüş bir şey göremezsin.

Port tabanlı ayrımda arayüzleri gruplara bölen kişi ağ yöneticisi oluyor ve her grup bir VLAN sayılıyor. Sonuç trafik yalıtımı: bir gruptaki porttan çıkan çerçeve yalnızca aynı gruptaki portlara ulaşıyor. Yirmi dört portlu bir anahtarı ikiye bölmek, onu iki bağımsız on iki portlu anahtara ayırmakla aynı sonucu veriyor. Öğrenilen adresler de ayrılıyor. Bir VLAN’da görülen MAC, öbürünün tablosuna hiç yazılmıyor.

Grubu belirleyen ölçüt coğrafya olmaktan çıkıyor. Bir port, üstündeki makinenin hangi ekibe ya da hangi uygulamaya hizmet ettiğine göre VLAN’a giriyor. Eskiden bunun tek yolu makineleri aynı kat dolabına toplamaktı. Şimdi bir çalışan ekip değiştirdiğinde kablolamaya dokunulmuyor; üçüncü katman adresi bile aynı kalıyor. Değişen tek şey, portun hangi VLAN’a ait olduğu.

Ölçek tarafında da kazanç var. Altı küçük grubun her birine ayrı bir anahtar almak yerine kırk sekiz portlu tek bir kutu hepsini alabiliyor. VLAN’sız o kutu yalıtım vermez.

Yönetici her portu bir VLAN’a bildiriyor ve anahtarın içinde bir port-VLAN eşleme tablosu birikiyor. Bildirilmemiş portlar varsayılan VLAN’a düşüyor; yerel VLAN diye de anılıyor. Orası ölü bir alan değil. Anahtar kendi yönetim adresini ve komşularıyla konuştuğu keşif trafiğini orada tutuyor. Yani boş bıraktığın port, çalışan bir ağın ucunda açık duruyor.

Üyelik illa porta bağlı da değil. Statik üyelikte portu VLAN’a katan yönetici; dinamik üyelikte kararı anahtar veriyor. Takılan makinenin MAC adresine, mantıksal adresine ya da konuştuğu protokole bakıyor. MAC tabanlı üyelikte cihaz hangi porta takılırsa takılsın kendi VLAN’ına düşüyor.

portVLANne takılı
1-810muhasebe masaüstleri
9-1630laboratuvar makineleri
24trunküst kattaki anahtar

Bu tabloda muhasebe masası laboratuvar makinesini hiç görmüyor. Aynı kutuya takılı olmaları bir şey değiştirmiyor.

İki anahtarı nasıl bağlarsın?

Ağ tek kutuda bitmiyor. İki anahtarda da aynı VLAN’lar varsa, aralarına VLAN başına bir kablo çekmek işe yarıyor. Ama ölçeklenmiyor. N tane VLAN, yalnızca iki anahtarı birbirine bağlamak için her anahtarda N port yiyor.

Ölçeklenen çözümün adı trunk portu. İki anahtarda birer port trunk olarak ayarlanıyor ve aralarına tek bir hat çekiliyor. Trunk’ta VLAN ayrımı yok; hangi VLAN’ın çerçevesi olursa olsun o tek hattan geçiyor. İki VLAN’lı bir kurulumda kablo sayısı ikiden bire iniyor: %50 tasarruf.

Uç cihazın takıldığı, tek bir VLAN’a ait ve etiketsiz çalışan porta erişim portu deniyor. İkisi arasındaki fark çerçevenin üstünde görünüyor.

Trunk’tan geçen çerçeve sıradan bir Ethernet çerçevesi olamaz. Üstünde hangi VLAN’a ait olduğu yazmak zorunda. Anahtar, çerçeveyi hatta vermeden önce ona küçük bir alan basıyor; karşı uçtaki anahtar o alanı okuyup söküyor. Etiketi ekleyen de söken de anahtar. Uç cihaz onu hiç görmüyor. Bu işin standart adı IEEE 802.1Q.

802.1Q 1998’de yayımlandı ve VLAN’ı üreticiden bağımsız hâle getirdi. Ondan önce etiketleme üreticiye özel yollarla yapılıyordu ve ortama göre ayrışmıştı: Fast Ethernet’te ISL, FDDI’da 802.10, ATM’de LAN Emulation. ISL veriyi kapsülleyip başına 26 baytlık bir başlık, sonuna 4 baytlık bir CRC ekliyordu. 30 bayt ek yük, 802.1Q etiketinin yedi buçuk katı.

VLAN listesinin kendisi de anahtarlar arasında dolaşabiliyor. Bir kutuyu sunucu kipine alıp listeyi orada tutuyorsun; aynı yönetim alanındaki diğerleri listeyi ondan çekiyor. Kolaylık, ama bütün ağı tek noktadan bozma yetkisi de aynı yerde.

Trunk kararının kendisi de pazarlığa açık. Bir portun trunk olup olmayacağı beş kipten biriyle ayarlanıyor ve otomatik kipteki bir port, karşı taraf istekliyse kendiliğinden trunk’a dönüşüyor. Sızma testi kitaplarının atlama saldırısı dediği şey buradan besleniyor: saldırgan kendini komşu bir anahtar gibi tanıtan bir pazarlık mesajı yolluyor, takılı olduğu erişim portunu trunk’a çevirtiyor, sonra istediği VLAN kimliğini kendi çerçevesine yazıp o broadcast domain’in içine düşüyor.

Saldırı iki ihmalin üstünde yürüyor: portun pazarlığa açık bırakılması ve varsayılan VLAN’ın dokunulmadan durması. İkisini de kapatmak zor değil. Kullanılmayan bir port ya elektriksel olarak kapatılır ya da hiçbir yere çıkmayan tek bir VLAN’a sabitlenip pazarlık dışı bırakılır.

DerinleşmePortu baştan kapalı saymak neyi değiştirir?

Varsayılan VLAN’ın kolaylığı ortada: anahtarı kutusundan çıkarıp takıyorsun ve hiçbir ayar yapmadan çalışıyor. Bedeli, hiç ayarlanmamış bir portun da aynı sebeple çalışıyor olması. Açıkları tek tek kapatmak da kalıcı bir çözüm değil, çünkü her yeni port unutulabilecek yeni bir ayar demek.

IEEE 802.1X varsayımı tersine çeviriyor. Port baştan kapalı sayılıyor; kabloyu takan cihaz kimliğini kanıtlayana kadar oradan yalnızca kimlik denetimi trafiği geçiyor. Kimliği soran taraf anahtarın kendisi, kararı veren arkadaki kimlik doğrulama sunucusu, kanıtı sunan da istemci. Kanıt kabul edilirse port normal trafiğe açılıyor, edilmezse kapalı kalıyor.

Standardın kendisi kimliğin nasıl kanıtlanacağını söylemiyor. 802.1X yalnızca EAP yöntemlerini taşıyan bir çerçeve tanımlıyor ve tanımlanmış yaklaşık 40 yöntem var; parolayı, sertifikayı ya da SIM kartını seçmek ağın sahibine kalıyor. Bir güvenlik standardının kimlik denetimini standartlaştırmak yerine onun taşınacağı yolu standartlaştırması, ilk bakışta eksiklik gibi duruyor. Ağların birbirine hiç benzemediği düşünülünce tasarımın asıl sağlam tarafı orası.

Genel ders şu: varsayılan bırakılmış bir ayar, saldırgan için bedava bir varsayımdır.

Dört bayt nereye giriyor?

Etiket 4 bayt ve çerçevenin başına girmiyor. İki adres alanının ardından, tür alanının önüne sokuluyor. Kapsüllemede her başlık kendi yükünün önüne ekleniyordu. 802.1Q bu düzeni bozuyor.

hedef MAC      6 bayt
kaynak MAC     6 bayt
--- 802.1Q etiketi, 4 bayt --------------------------------
TPID           2 bayt   sabit 0x8100
TCI            2 bayt   3 bit öncelik + 1 bit + 12 bit kimlik
-----------------------------------------------------------
tür alanı      2 bayt
veri          46-1500 bayt
FCS            4 bayt   etiketten sonra yeniden hesaplanır

İlk iki bayta etiket protokol tanımlayıcı deniyor ve değeri hep aynı kalıyor: onaltılık 8100. Bu değeri gören alıcı, elindeki çerçevenin etiketli olduğunu anlıyor.

Wireshark ekranında etiketli bir çerçeve: paket ayrıntı bölmesinde 802.1Q alanları vurgulu, TPID değeri 8100 ve VLAN kimliği 100 okunuyor. Metinde bayt bayt sayılan dört baytlık etiketin gerçek bir yakalamadaki karşılığı.

Sonraki iki bayt etiket denetim bilgisi. O 16 bitin 12 biti VLAN kimliği, 3 biti öncelik; geriye 1 bit kalıyor. On iki bitlik alan 4.096 farklı değer ayırt ediyor. Kullanılabilir numara sayısı 4.094; ayrılan iki değeri IEEE 802.1Q metni söylüyor. Cisco dönemi bir cihazda tanımlanabilen aralık ise 1 ile 1001 arasıydı. O, standardın sınırı değil, cihazın sınırıydı.

Öncelik bitleri 802.1p’nin hizmet sınıfı bitleri: üç bit, sekiz düzey, sıfırdan yediye. IP başlığındaki hizmet türü alanının bu kattaki karşılığı sayılabilir. Bir portta öncelik açıksa, tıkanma anında önce yüksek öncelikle işaretlenmemiş çerçeveler düşürülüyor.

Etiket eklendikten sonra çerçevenin sonundaki FCS yeniden hesaplanıyor; sebebi CRC’nin çerçevenin tamamını kapsaması. Boy da değişiyor: etiketsiz azami çerçeve önsöz hariç 1.518 bayt, etiketli 1.522 bayt. Veri alanı ise sabit: 46 ile 1.500 bayt arası.

1.522 bayt standarda IEEE 802.3ac ekiyle 1998’de girdi. 2006’daki 802.3as eki, bütün etiketleme biçimleri için sınırı 2.000 bayta çekti; zarf çerçeve azami boya 482 bayt daha ekliyor.

Etiketin asıl bedeli en küçük çerçevede görünüyor: etiketsiz asgari 64 bayt, etiketli 68 bayt. Dört baytın küçük çerçevede neden ağır bastığını FCS’nin payını hesaplarken görmüştün.

Etiketli bir çerçeve, etiket bilmeyen bir istasyona düşerse ne oluyor? O istasyon başlıkta tanımadığı bir tür değeri buluyor ve çerçeveyi sessizce düşürüyor. Böyle bir çerçevenin oraya varması da pek olmuyor, çünkü etiketi yalnızca bunun için ayarlanmış cihazlar basıyor.

Anahtarın MAC öğrenme tablosunu doldurması ve döngüyü kesen spanning tree tanıdık. Spanning tree ağaç da VLAN başına ayrı işliyor. Çoklu spanning tree 802.1s ekiyle 2003’te tanımlandı, 802.1Q’nun 2005 baskısına girdi ve her bölge 64’e kadar ayrı örnek çalıştırabiliyor.

İki VLAN nasıl konuşur?

Ayırmak kolay oldu. Ayırdıklarını tekrar konuşturmak üçüncü katmana çıkmayı gerektiriyor. Ayrı broadcast domain, ayrı IP alt ağı demek. Muhasebe 192.0.2.0/24 olsun, laboratuvar 198.51.100.0/24. Aradaki her datagramın, iki alt ağı da tanıyan bir cihaza uğraması gerekiyor. Sanki ortada bağlantısız iki anahtar var.

Yönlendiricide her VLAN için ayrı bir fiziksel arayüz tutmak pahalı. Tek arayüzün üstünde alt arayüz açılıyor; her birine ayrı bir alt ağ ve ayrı bir VLAN numarası veriliyor. Böylece tek bir kablo, kaç VLAN varsa o kadar mantıksal bacak taşıyor.

Yönlendirici çerçeveyi alıyor, etiketi söküp hangi alt ağa ait olduğunu buluyor, kararını verdikten sonra hedef VLAN’ın etiketini takıp aynı porttan geri yolluyor. Üreticiler ikisini tek kutuda birleştirip satıyor.

Bunu kendi makinende de görebilirsin. Linux’ta bir arayüzün üstüne etiketli bir alt arayüz eklemek üç satır sürüyor.

ip link add link eth0 name eth0.10 type vlan id 10
ip addr add 192.0.2.10/24 dev eth0.10
ip -d link show eth0.10

Son komutun çıktısında vlan protocol 802.1Q id 10 satırını görüyorsun. O arayüzden çıkan her çerçeve artık etiketli.

Özet

Peki, ne öğrendik?

  • Sanal yerel ağ bir port kümesidir: anahtarın iletim yazılımı, aynı kutunun içinde birbirini görmeyen broadcast domain’ler kurar.
  • Etiket dört bayttır: iki bayt sabit tanımlayıcı, iki bayt da kimlik ile önceliği taşıyan denetim alanıdır.
  • Trunk tek hattır: bütün VLAN’lar aynı kablodan geçer, etiketi ise yalnızca iki uçtaki anahtarlar görür.
  • VLAN’lar arası geçiş yönlendirmedir: ayrı alt ağlar ancak üçüncü katmana çıkıp geri dönerek konuşabilir.
  • Boş port boş değildir: hiçbir VLAN’a bildirilmemiş bir arayüz, anahtarın yönetim trafiğini taşıyan varsayılan VLAN’da bekler.

Aynı kabloda birden çok ağ taşımayı çözdük; ayrımı dört baytlık bir etiket ile anahtarın iletim kararı yapıyor. Kablosuz bağlıysan ortada kablo yok; çerçeve o boşlukta nasıl gidiyor?

27. bölüme devam et: Kablosuz Erişim: 802.11