Kurumsal Network Kurulumu

Layer 3 Switch Nedir? SVI ve VLAN'lar Arası Yönlendirme

Layer 3 switch nedir, SVI nasıl çalışır? İki switch arasında ölçtüm: yönlendirme uzaktayken aynı switch'teki iki cihazın trafiği omurga bağından iki kez geçti.

İlker Pehlivan

Layer 3 switch, VLAN’ların içinde anahtarlama yapmanın yanında VLAN’lar arasında IP yönlendirmesi de yapan switch’tir. Her VLAN için switch’in içinde bir sanal arayüz açılır; buna SVI (Switch Virtual Interface) denir. SVI’nın adresi o VLAN’daki cihazların ağ geçidi olur ve VLAN’lar arası trafik ayrı bir router’a gitmeden switch’in içinden geçer.

Bu yazıda iki switch arasında VLAN’lar arası yönlendirmeyi kuruyor ve dört şeyi ölçüyorum:

  1. Yönlendirici yokken. VLAN 10’daki bir cihaz VLAN 20’ye ulaşmayı denediğinde ne oluyor?
  2. SVI var, yönlendirme kapalıyken. Ağ geçidi cevap verdiği hâlde trafik geçiyor mu?
  3. Yönlendirme açıkken. Paket VLAN’lar arasında nasıl geçiyor, geçtiği nasıl anlaşılıyor?
  4. Yönlendirmenin yeri. Yönlendirmeyi omurgada ya da erişim switch’inde yapmak trafiği nasıl değiştiriyor?

Kümenin benzetmesiyle switch bir süpermarket şubesidir ve her VLAN bir reyondur. Müşteri reyonlar arasında serbest yürür, ama VLAN’lar arası geçiş bir yönlendirici ister. Bu yazıda o geçişi yapan kişiyi ekliyoruz: bir reyondan ötekine ürün taşıyan transfer görevlisi. Görevli arka depodaysa her ürün koridordan depoya gider ve geri gelir. Satış alanındaysa ürün reyonun yanından yanına geçer.

Layer 3 switch benzetmesi: süpermarket şubesinde transfer görevlisi iki reyonun arasındaki masada ürünleri sandığa aktarıyor, arkada depoya giden koridor boş
Transfer görevlisi reyonların arasında çalışınca ürün yanından yanına geçer ve depo koridoru boş kalır. Layer 3 switch de VLAN'lar arası trafiği omurgaya göndermeden kendi içinde yönlendirir.

Bu yazı switch nedir yazımızdaki switch çeşitlerinin ayrıntısıdır ve Kurumsal Network Kurulumu hizmetimizin bir parçasıdır. Aynı işi müşterilerimizin ağında nasıl yürüttüğümüzü switch kurulumu ve VLAN yapılandırma hizmeti sayfamızda anlattık. Yönlendirmeyi bir switch’te adım adım açmayı switch’te VLAN’lar arası yönlendirme yazımızda gösterdim.

Layer 3 Switch Nedir? Layer 2 Switch’ten Farkı

Bir switch çerçeveyi MAC adresine bakarak iletir ve bu bakışı tek bir VLAN’ın içinde yapar. Bu, OSI modelinin ikinci katmanıdır; bu yüzden sıradan switch’e Layer 2 switch denir. Switch’in adres tablosunun yalnız MAC adresi, VLAN ve port taşıdığını switch nedir yazımızda gösterdik.

VLAN’lar ağı parçalara böler ve her parça ayrı bir IP ağıdır. Farklı VLAN’lardaki iki cihazın konuşması için paketin bir IP ağından ötekine taşınması gerekir. Bu iş üçüncü katmanın, yani IP yönlendirmenin işidir. VLAN’ın neden bu sınırı kurduğunu VLAN yazımızın yönlendirme bölümünde anlattık.

Yönlendirmeyi yapabilecek üç yer vardır:

  1. Ayrı bir router. Switch’e tek bir trunk kabloyla bağlanır ve her VLAN için bir alt arayüz taşır. Bu düzene router-on-a-stick denir.
  2. Layer 3 switch. Yönlendirmeyi switch’in kendisi yapar; her VLAN için bir SVI taşır.
  3. Güvenlik duvarı. VLAN’lar arası her geçişin bir kurala uğraması isteniyorsa yönlendirme güvenlik duvarında yapılır.

Layer 3 switch’i ayıran şey hızdan çok yerdir. Yönlendirme trafiğin zaten geçtiği cihazda yapıldığı için paket ayrı bir cihaza gidip dönmez. Bu farkı aşağıda bayt bayt ölçtüm.

Yönlendirici Olmadan VLAN’lar Arası Trafik: Ağ Geçidi Sessiz Kalır

Ölçümler için Veri Merkezi’nde iki sanal switch kurdum: omurga vmsw01 ve erişim switch’i vmsw02. İkisi de açık kaynak Open vSwitch çalıştırıyor ve aralarında iki kablolu bir bağ var. Adlardaki vm, kümenin adlandırma kuralında lokasyon kodudur ve Veri Merkezi’ni gösterir.

vmsw02’ye biri VLAN 10’da (10.34.10.21), biri VLAN 20’de (10.34.20.21) iki istemci bağladım; ikisinin de ağ geçidi kendi VLAN’ının .1 adresi. vmsw01’e de VLAN 10’da bir sunucu bağladım.

Önce aynı VLAN içindeki trafiğe baktım. VLAN 10’daki istemci, öbür switch’teki VLAN 10 sunucusuna ping attı ve cevaplar ttl=64 ile geldi. Paket iki switch’ten ve aradaki bağdan geçti, ama hiçbir yönlendiriciden geçmedi.

Sonra aynı istemci VLAN 20’deki istemciye ping attı. Henüz hiçbir switch’te yönlendirme yoktu:

Çıktı
PING 10.34.20.21 (10.34.20.21) 56(84) bytes of data.

--- 10.34.20.21 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 1009ms

Üç paketin üçü kayboldu ve hiçbir hata mesajı gelmedi. Nedenini istemcinin komşu tablosu söylüyor:

Çıktı
10.34.10.11 dev e-istemci10 lladdr 72:0a:da:f9:f5:23 REACHABLE 
10.34.10.1 dev e-istemci10 INCOMPLETE 

İstemci başka bir ağa giden paketi ağ geçidine teslim etmek ister. Bunun için ağ geçidinin MAC adresini ARP ile sorar. 10.34.10.1 adresinde kimse olmadığı için soru cevapsız kaldı ve kayıt INCOMPLETE durdu. Paket istemciden hiç çıkmadı.

SVI Nedir? Switch’in VLAN İçindeki Arayüzü

SVI, switch’in bir VLAN’ın içinde duran sanal arayüzüdür. Fiziksel bir portu yoktur. VLAN’daki cihazlar için o VLAN’a bağlı bir cihaz gibi görünür ve bir IP adresi taşır. O adres VLAN’ın ağ geçidi olur.

vmsw01’e iki SVI ekledim: VLAN 10 için 10.34.10.1, VLAN 20 için 10.34.20.1. Yönlendirmeyi ise bilerek kapalı bıraktım. İlk akla gelen beklenti şudur: ağ geçidi ping’e cevap veriyorsa yönlendirme de çalışıyordur. Ağ geçidine ping atınca cevaplar geldi:

Çıktı
64 bytes from 10.34.10.1: icmp_seq=1 ttl=64 time=2.40 ms
64 bytes from 10.34.10.1: icmp_seq=2 ttl=64 time=0.628 ms
64 bytes from 10.34.10.1: icmp_seq=3 ttl=64 time=0.783 ms
3 packets transmitted, 3 received, 0% packet loss, time 1006ms

VLAN 20’deki istemciye ping ise yine hiç cevap almadı: 3 packets transmitted, 0 received, 100% packet loss. Paketin nerede kaybolduğunu görmek için vmsw01’in iki SVI’ında aynı anda paket yakaladım. VLAN 10’un arayüzü paketleri aldı:

Çıktı
22:46:18.541180 IP 10.34.10.21 > 10.34.20.21: ICMP echo request, id 2161, seq 1, length 64
22:46:19.046294 IP 10.34.10.21 > 10.34.20.21: ICMP echo request, id 2161, seq 2, length 64
22:46:19.550366 IP 10.34.10.21 > 10.34.20.21: ICMP echo request, id 2161, seq 3, length 64
3 packets captured

Aynı sürede VLAN 20’nin arayüzünden tek paket çıkmadı: 0 packets captured. Switch’in iki VLAN’da da adresi vardı ama paketleri birinden ötekine taşımadı. İstemciye de bunu söyleyen bir hata dönmedi.

Ağ geçidinin ping’e cevap vermesi yalnız SVI’nın çalıştığını gösterir. Yönlendirmenin çalıştığını göstermez. Switch’lerde yönlendirme SVI’dan ayrı, genel bir ayardır; bu ayarın switch’teki karşılığını switch’te VLAN’lar arası yönlendirme yazımızda gösterdim.

Layer 3 Switch’te Yönlendirme Açılınca: TTL Bir Azalır

SVI’lar yerinde, eksik olan yönlendirmeydi. vmsw01’de yönlendirmeyi açtım ve aynı ping’i tekrarladım:

Çıktı
64 bytes from 10.34.20.21: icmp_seq=1 ttl=63 time=2.69 ms
64 bytes from 10.34.20.21: icmp_seq=2 ttl=63 time=0.908 ms
64 bytes from 10.34.20.21: icmp_seq=3 ttl=63 time=1.17 ms
3 packets transmitted, 3 received, 0% packet loss, time 1002ms

Paketler geçti. Öğretici satır cevapların kendisi değil, yanındaki ttl=63. Aynı VLAN içindeki ping ttl=64 ile dönmüştü. TTL, paketin geçtiği her yönlendiricide bir azalır; 63, arada tam bir yönlendirme adımı olduğunu söyler. Anahtarlama TTL’ye dokunmaz, yönlendirme dokunur.

Yolun kendisini tracepath gösteriyor:

Çıktı
 1?: [LOCALHOST]                      pmtu 1500
 1:  10.34.10.1                                            1.136ms 
 1:  10.34.10.1                                            0.623ms 
 2:  10.34.20.21                                           1.095ms reached
     Resume: pmtu 1500 hops 2 back 2

İlk adım VLAN 10’un SVI’ı, yani ağ geçidi. İkinci adım hedef. Aradaki iki switch ve bağ görünmüyor, çünkü onlar anahtarlama yapıyor.

Layer 3 Switch Nerede Yönlendirmeli? Omurga mı Erişim mi?

Yönlendirme çalışıyor. Son soru şudur: yönlendirmenin yapıldığı switch trafiği nasıl değiştirir? Düzende iki istemci de erişim switch’i vmsw02’de, yönlendirme ise omurga vmsw01’de. İki istemci arasında 500 MB veri taşıdım ve vmsw02’den omurgaya giden bağın sayaçlarını okudum:

Yönlendirmenin yeriBağdan omurgaya gidenOmurgadan dönen
Omurga (vmsw01)550.080.668 bayt550.080.668 bayt
Erişim switch’i (vmsw02)772 bayt248 bayt

Yönlendirme omurgadayken iki istemci aynı switch’te durduğu hâlde aktarım bağdan iki kez geçti. Her paket VLAN 10’dan çıkıp omurgaya gitti, orada VLAN 20’ye yönlendirildi ve aynı bağdan geri döndü. SVI’ları erişim switch’ine taşıdığımda aynı aktarım bağa hiç uğramadı. Bağdan geçen yaklaşık 1 KB, LACP’nin kendi kontrol çerçeveleriydi.

Transfer görevlisi depodayken her ürün koridordan depoya gidip döner. Görevli satış alanına alındığında ürün reyonun yanından yanına geçer ve koridor boş kalır.

Router-on-a-stick aynı durumu yapısı gereği yaşar. Router trunk’ın öbür ucunda durduğu için VLAN’lar arası her paket o kablodan bir gidip bir gelir. Bu yüzden VLAN’lar arası yoğun trafik taşıyan bir ağda o kablo darboğaz olur. Bağın kendisini nasıl iki kabloya çıkaracağınızı LACP yazımızda anlattık.

Doğru yer, VLAN’lar arası trafiğin buluştuğu yere en yakın switch’tir. Sunucular omurgaya bağlıysa ve kullanıcılar ile sunucular arasındaki trafik baskınsa omurga doğru yerdir, çünkü o trafik omurgaya zaten gidecektir. Aynı katta, aynı switch’e bağlı iki VLAN arasında yoğun trafik varsa yönlendirmeyi uzakta tutmak omurga bağını boşuna iki kez doldurur.

Layer 3 Switch Kurarken Sık Yapılan Hatalar

VLAN’lar arası trafik geçmiyorsa ya da beklenenden yavaşsa önce şunlara bakın:

  • SVI’ya adres verip yönlendirmeyi açmamak. Ağ geçidi ping’e cevap verir ama VLAN’lar arası tek paket geçmez ve hata dönmez.
  • İstemcide ağ geçidini yanlış yazmak. Ağ geçidi, istemcinin kendi VLAN’ının SVI adresidir. Başka bir VLAN’ın adresi yazılırsa komşu tablosu INCOMPLETE kalır.
  • Ağ geçidi ping’ini yönlendirmenin kanıtı saymak. Asıl kanıt başka VLAN’daki cihazdan gelen cevaptır; TTL’nin bir azalması da yönlendirmenin gerçekleştiğini gösterir.
  • Yönlendirmeyi trafikten uzakta yapmak. Aynı switch’teki iki VLAN arasındaki trafik omurgaya gidip döner ve bağı iki kez doldurur.
  • Aynı ağ geçidi adresini iki cihaza elle yazmak. İki switch’in aynı SVI adresini paylaşması gerekiyorsa bunun yolu bir yedeklilik protokolüdür; VRRP nedir yazımızda ölçtük.
  • Yönlendirmeyi açınca erişimi kısıtlamayı unutmak. Yönlendirme VLAN’lar arası her trafiğe izin verir. Hangi VLAN’ın hangisine ulaşacağını bir erişim kontrol listesiyle belirlemek gerekir; erişim matrisini ağ segmentasyonu yazımızda anlattık.

Sonuç: Layer 3 Switch Yönlendirmeyi Trafiğin Yanına Getirir

Layer 3 switch, her VLAN için bir SVI taşıyan ve VLAN’lar arası IP yönlendirmesini kendi içinde yapan switch’tir. Lab’da yönlendirici yokken istemci ağ geçidini bulamadı. SVI’lar varken ama yönlendirme kapalıyken ağ geçidi cevap verdi, VLAN’lar arası tek paket geçmedi. Yönlendirme açılınca paket tek bir adımla geçti ve TTL 64’ten 63’e indi.

Asıl fark yönlendirmenin yerinde çıktı. Yönlendirme uzaktaki switch’teyken aynı switch’teki iki istemcinin 500 MB’lık aktarımı omurga bağından iki kez geçti. Yönlendirme istemcilerin switch’ine taşınınca bağdan yalnız 1 KB kontrol trafiği geçti.

Girişteki süpermarket benzetmesine dönersek: reyonlar arasında ürün taşıyan transfer görevlisi nerede duruyorsa ürünler oraya gider ve oradan döner. Görevliyi reyonların yanına almak depo koridorunu boşaltır; switch’te bu, yönlendirmeyi trafiğin buluştuğu switch’e almaktır. Aynı switch’teki iki VLAN arasındaki trafik o zaman omurga bağına hiç uğramaz.

VLAN’lar arası yönlendirmeyi bir switch’te adım adım kurmayı switch’te VLAN’lar arası yönlendirme yazımızda, switch kurulumunun tamamını switch yapılandırma rehberimizde anlattık.

Layer 3 Switch Hakkında Sık Sorulan Sorular

Layer 2 switch trafiği yalnız bir VLAN'ın içinde, MAC adresine bakarak taşır. Layer 3 switch bunun yanında VLAN'lar arasında IP yönlendirmesi de yapar. Lab'da yönlendirme yokken VLAN 10'daki istemci VLAN 20'deki cihaza tek paket gönderemedi, ağ geçidinin MAC adresini bile öğrenemedi. Yönlendirme açılınca paket tek bir adımla geçti ve TTL 64'ten 63'e indi.
SVI (Switch Virtual Interface), switch'in bir VLAN içindeki sanal arayüzüdür. Adresi o VLAN'daki cihazların ağ geçidi olur. SVI tek başına yönlendirme yapmaz: lab'da iki VLAN'ın arayüzü adresliyken yönlendirme kapalıyken ağ geçidi ping'e cevap verdi, ama VLAN 20'ye tek paket geçmedi ve istemciye hiçbir hata dönmedi.
Router-on-a-stick'te yönlendirme, switch'e tek bir trunk kabloyla bağlı ayrı bir cihazda yapılır ve VLAN'lar arası her paket o kablodan iki kez geçer. Lab'da yönlendirme uzaktaki switch'teyken aynı switch'teki iki istemci arasındaki 500 MB'lık aktarım bağdan 550'şer MB gidip döndü. Yönlendirme istemcilerin switch'ine taşınınca bağdan yalnız 1 KB kontrol trafiği geçti.
İlker Pehlivan
Yazan

BT Danışmanı | Ağ, Sistem ve Güvenlik Yönetimi

İlker Pehlivan, karmaşık BT altyapılarını ölçeklenebilir ve güvenli sistemlere dönüştürür. Buradaki rehberleri kendi laboratuvarında kurup ölçerek yazar.

LinkedIn

Benzer Makaleler

Kurumsal Network Kurulumu altındaki diğer 114 makale