İçerikleri sosyal medya üzerinden paylaşarak daha fazla kişiye ulaşmasına yardımcı olabilirsiniz.



Folder Security Management
Kategori: Network
Fırat Boyan 04.10.2017 7

Default Gateway (Varsayılan Ağ Geçidi) Nedir?

Bir Client, bir IP Address’e veri göndermeden önce, hedef adresin kendi içinde bulunduğu Network’e ait olup olmadığını belirlemek zorundadır. Bu karar, IP Address ile Subnet Mask arasında yapılan Bitwise AND hesaplama işlemiyle verilir. Her iki değerin karşılıklı Bit’leri 1 olduğunda sonuç 1 olur, aksi durumda 0. Bu işlem sonucunda elde edilen Network ID, Client’ın bağlı olduğu Subnet’i temsil eder.

Aynı Bitwise AND hesaplama işlemi, hedef IP Address için de yapılır. Hedef IP’den elde edilen Network ID, Client’ın Network ID’siyle karşılaştırılır. Eğer ikisi aynıysa, hedef aynı Subnet içindedir ve veri doğrudan gönderilir. Bu durumda Client, ARP protokolüyle hedefin MAC adresini çözümler ve veriyi, Layer 2 seviyesinde iletir. Ancak Network ID’ler farklıysa hedef, başka bir Subnet’tedir ve veri doğrudan gönderilemez. Bu durumda, çıkış noktası olarak tanımlanmış olan Default Gateway devreye girer.

Default Gateway, Client’ın kendi Network’ü dışındaki hedeflere ulaşmak için kullandığı ilk yönlendirme noktasıdır. Bu adres, genellikle bir Router ya da Firewall cihazının LAN Interface’ine atanmış bir IP Address’tir. Client, hedefe ait IP Address’in kendi Subnet’iyle eşleşmediğini anladığında, paketi doğrudan bu Router ya da Firewall cihazının Default Gateway Port’una, yani kendi Network’ünde tanımlı çıkış Interface’ine gönderir. Bu noktadan sonra Router ya da Firewall cihazı, kendi Routing Table’ı üzerinden hedef IP’ye yönelik en uygun rotayı belirler. Çıkış yapacağı Interface tespit edilir; eğer NAT yapılandırması etkinse, iç Network’te kullanılan Private IP, çıkışta Public IP’ye dönüştürülür ve paket dış Network’e gönderilir.

Default Gateway

Bir Router ya da Firewall cihazı, Default Gateway olarak tanımlandığında yalnızca bir çıkış IP’si olarak değil, aynı zamanda yönlendirme kararlarının alındığı merkezi kontrol noktası haline gelir. Bu cihaz üzerinde tanımlı olan Routing Table, gelen her paketin hedef IP Address’ine göre en uygun çıkış arayüzünü belirler. Eğer hedef IP Address, bu tabloda açıkça tanımlanmış belirli bir rota ile eşleşiyorsa, paket doğrudan o rotaya uygun arayüzden iletilir. Ancak hedef IP için tanımlı özel bir rota yoksa, yönlendirme kararı varsayılan rota üzerinden alınır.

Varsayılan rota, genellikle 0.0.0.0/0 şeklinde tanımlanır ve Routing Table’da en düşük öncelikli ama en geniş kapsama sahip kural olarak yer alır. Bu yapı sayesinde, bilinmeyen veya tanımsız tüm hedef IP trafiği tek bir çıkış noktasına yönlendirilmiş olur. Yani bir Client, kendi Subnet’i dışında bir IP’ye ulaşmak istediğinde yalnızca kendi Default Gateway’ine erişmekle yetinemez; bu Gateway’in, gelen paketin hedefini değerlendirebileceği düzgün tanımlanmış bir Routing Table’a sahip olması gerekir. Aksi halde, paket ilk noktada teslim alınsa bile uygun bir rota bulunamadığı için düşer ya da yönsüz kalır.

Routing Table üzerinde varsayılan rota tanımlı değilse ya da hedef IP, bilinen bir Network ile eşleşmiyorsa, bu durumda paketler çoğunlukla silinir ya da ICMP Destination Unreachable hatası üretilir. Bu nedenle sadece Client tarafında Default Gateway tanımlamak yeterli değildir; aynı zamanda Router ya da Firewall cihazının Routing Table’ı da trafiğin hedefe ulaşabilmesini sağlayacak şekilde yapılandırılmış olmalıdır.

LAN ve WAN Arasındaki Fark ve İlişki

LAN (Local Area Network), fiziksel veya mantıksal olarak aynı Subnet içinde yer alan Client’ların doğrudan, yüksek hızlı ve düşük gecikmeli şekilde haberleştiği Network yapısıdır. Tüm Client’lar aynı Network ID’ye sahiptir ve Switch üzerinden MAC adresleriyle iletişim kurar. Layer 2 seviyesinde, Broadcast ve ARP gibi protokollerle doğrudan erişim sağlanır.

WAN (Wide Area Network) ise birbirinden bağımsız LAN yapılarını birbirine bağlayan, daha geniş bir kapsama alanına sahip Network ortamıdır. LAN’daki bir Client, WAN üzerindeki bir hedefe ulaşmak istediğinde veriyi önce kendi Default Gateway’ine gönderir. Bu geçişte artık sadece IP farklılığı değil, fiziksel Network segmentasyonu da devreye girer. LAN ile WAN arasındaki bağlantı çoğu zaman NAT, erişim kontrolü ve yönlendirme kuralları ile sınırlandırılmıştır. Tüm bu işlemler, Client tarafında değil, Router ya da Firewall gibi yönlendirici cihazlar üzerinde gerçekleştirilir.

Virtual Local Area Network (VLAN) yapılarında da benzer bir mekanizma geçerlidir. Her VLAN, ayrı bir IP Subnet olarak tanımlanır ve kendine ait bir Default Gateway adresi bulunur. Örneğin VLAN 10 için 192.168.10.1, VLAN 20 için 192.168.20.1 kullanılıyorsa, bu iki VLAN arasındaki iletişim, yalnızca Routing (yönlendirme) özelliği olan bir cihaz üzerinden gerçekleşebilir. VLAN yapısı sayesinde Broadcast Domain’ler ayrıştırılır, trafiğin segmentasyonu yapılır ve güvenlik politikaları uygulanabilir hale gelir.

Default Gateway, yalnızca bir IP çıkışı değildir. Routing, NAT, Access Control (erişim kontrolü) ve Client’tan gelen veri akışının hedef IP Address’e göre uygun çıkış arayüzüne yönlendirilmesi gibi işlemlerin merkezinde yer alır. Client’ın kendi Network’ü dışındaki her hedef için başvurduğu yegane noktadır. Yanlış tanımlanması durumunda, dış Network’lerle iletişim tamamen kesilir. Bu yüzden Default Gateway, tüm Network mimarisi içinde salt bir ayar değil, veri akışının başladığı ve şekillendiği stratejik bir bileşendir.

Default Gateway, yalnızca hedefi bilinmeyen trafiğin değil, tüm yönlendirme sürecinin başladığı ilk noktadır. Bu yapının nasıl çalıştığını anlamak için tanımsal açıklamalar tek başına yeterli değildir. Asıl ilişki, Client ile Default Gateway arasında kurulan bağlantının IP/Subnet düzeyinde nasıl değerlendirildiğinde gizlidir. Aşağıdaki bölümlerde, bu yapının aynı Network içinde ve farklı Network’ler arasında nasıl işlediği senaryolar üzerinden adım adım incelenmiştir.

⚡ Senaryo-1: Aynı Network'te Default Gateway Süreci

1- PC-1 bilgisayarının IP adresi 10.10.10.72, iletişim kuramak istediği PC-60 bilgisayarının IP adresi ise 10.10.10.107'dir. PC-1 bilgisayarı, bu her iki bilgisayara ait IP adreslerinin Binary değerleri ile yine PC-1 bilgisayarının 255.255.255.0 Subnet Mask bilgisinin Binary değerininin yukarıdaki PC-1 bilgisayarının Routing Table bilgisi içinde yazılı olan Network ID ile aynı Network içinde olup olmadığını Bitwise AND yöntemi ile kontrol edecektir.

Default Gateway
 

Bitwise AND Hesaplama İşlemi

IP adresleme yapısı içinde Subnet Mask ile birlikte kullanılan Bitwise AND işlemi, bir IP adresinin hangi Network ID’ye ait olduğunu belirlemek için kullanılan Bit düzeyinde bir karşılaştırma yöntemidir. Bu işlemde IP adresi ve Subnet Mask, Binary formatta alt alta yazılır ve her iki değerin karşılıklı Bit’leri AND işlemine tabi tutulur. Kural nettir: sadece iki taraf da 1 ise sonuç 1 olur; diğer tüm durumlar 0 döner. Elde edilen Binary ifade, adresin bağlı olduğu Network ID’yi verir.

Bu işlem yalnızca hesaplama düzeyinde kalmaz. İşletim sistemi, paketin aynı Local Network (LAN) içinde mi kalacağını yoksa Routing Table (yönlendirme tablosu) üzerinden dış bir hedefe mi gideceğini belirlemek için doğrudan bu sonucu kullanır. Özellikle Kernel Mode'da, IP stack tarafından yürütülen bu kontrol sayesinde hedef adresin bulunduğu Network doğru biçimde tespit edilir ve trafik uygun çıkış noktasına yönlendirilir. Eğer hedef aynı Network içindeyse, ARP üzerinden MAC adresi çözülerek iletişim doğrudan kurulur. Aksi durumda paket, varsayılan Default Gateway’e yönlendirilir.

Tüm bu işlemler, CPU ve işletim sistemi tarafından yazılım düzeyinde gerçekleştirilir. NIC (Network Interface Card), bu hesaplamaları doğrudan yapmaz; yalnızca Network Stack üzerinden aldığı talimatla verinin fiziksel olarak iletilmesini sağlar.

Şimdi aşağıdaki örnek üzerinden, IP adresleri ile Subnet Mask'lerin birlikte nasıl kullanıldığını ve Bitwise AND işlemi sonucunda hangi Network ID’ye ait olduklarının nasıl hesaplandığını adım adım göstereceğim. Böylece iki IP adresinin aynı Network içinde olup olmadıkları teknik olarak da doğrulanmış olacak.

Konuya hiç ya da tam hakimiyeti olmayan ve konunun daha derin teknik boyutunu incelemek isteyenler, ayrıca hazırladığım Bitwise AND ile Network ID Hesaplama başlıklı makaleye de göz atabilir.
 

PC-1
IP Adresi
10 10 10 72
Binary Değeri
10100000 10100000 10100000 10001000
Subnet Mask Değeri
255 255 255 0
Binary Değeri
11111111 11111111 11111111 00000000

 

PC-60
IP Adresi
10 10 10 107
Binary Değeri
10100000 10100000 10100000 01101011
Subnet Mask Değeri
255 255 255 0
Binary Değeri
11111111 11111111 11111111 00000000


1.1- Elde ettiğim bu Binary değerlerini alt alta koyarak sağlamasını yapıyorum. Sağlama yaparken kural, her zaman şu şekilde olacaktır:

1 + 1 = 1
1 + 0 = 0
0 + 1 = 0
0 + 0 = 0

1.2- Aşağıdaki Bitwise AND hesaplama işlemi sonucunda 10.10.10.72 ve 10.10.10.107 IP adreslerinin 10.10.10.0/24 Network'ünde olduğu yani aynı Network'te oldukları sonucu çıkacaktır.

  PC-1 Bitwise AND İşlemi
IP Adresi 10100000 10100000 10100000 10001000
Subnetmask 11111111 11111111 11111111 00000000
Sonuç 10100000 101000000 10100000 00000000
Network 10 10 10 0

 

  PC-60 Bitwise AND İşlemi
IP Adresi 10100000 10100000 10100000 01101011
Subnetmask 11111111 11111111 11111111 00000000
Sonuç 10100000 101000000 10100000 00000000
Network 10 10 10 0

2- Bu Bitwise AND hesaplama sonucunda PC-1 bilgisayarı, iletişim kuracağı PC-60 bilgisayarları ile aynı Network'te olduğunu kontrol ettikten sonra, senaryomuz gereği, ilk defa iletişime geçeceği için ARP Request Frame'i oluşturup, Target IP alanına PC-60 bilgisayarının 10.10.10.107 IP adresi bilgisini, Target MAC Address alanına ise Broadcast MAC adresi olan FF:FF:FF:FF:FF:FF bilgisini yazacaktır.

Default Gateway
 

PC-1 ARP Request Frame içeriği

Default Gateway

2.1- PC-1 bilgisayarı, Data paketinin iç Network ortamında yönlendirme işlemini, Routing Table içinde 2. satırdaki yönlendirme rotasını kullarak gerçekleştirecek.

Default Gateway

3- PC-1 tarafından yollanan ARP Request Frame'i içindeki Target IP bilgisinde PC-60 bilgisayarının IP adresi olan 10.10.10.107 IP adresi bilgisi yazılı olduğu için ARP Request paketi, PC-60 bilgisayarı tarafından kabul edildi. ARP Request ile Broadcast yapıldığı için iligi ARP Request, doğal olarak aynı Network içindeki Default Gateway IP adresi olan 10.10.10.254 IP adresine de iletildi ancak ARP Request Frame'i içinde yer alan Target IP bilgisindeki hedef IP adresi 10.10.10.254 olmaması sebebiyle ARP Request, Default Gateway tarafından reddedildi.

Default Gateway

⚡ Senaryo-2: Farklı Network'te Default Gateway Süreci #1

1- Bu senaryoda 10.10.10.0/24 Network'ündeki IP adresi 10.10.10.72 olan PC-1 bilgisayarı, bu sefer de 172.16.0.0/24 Network'ündeki IP adresi 172.16.0.70 olan PC-55 bilgisayarı ile haberleşecek. PC-1 bilgisayarı, aynı şekilde tekrar her iki bilgisayara ait IP adresinin Binary değerleri ile kendi Subnet Mask değeri olan 255.255.255.0 Binary değerini, Routing Table bilgisi içinde yazılı olan Network ID ile aynı Network içinde olup olmadığını, Bitwise AND yöntemi ile kontrol edecek.

Default Gateway

2- Bu Bitwise AND hesaplama işlemi sonucunda IP adresi 10.10.10.72 olan PC-1 bilgisayarı, iletişim kuracağı hedef Network'teki IP adresi 172.16.0.70 olan PC-55 bilgisayarı ile aynı Network'te olmadığı sonucunu çıkartacak ve Daha önceden Default Gateway IP adresinin MAC adresi bilgisini kendi Cache'ine yazdığı için Data paket Frame'i içindeki Target IP alanına PC-55 bilgisayarının IP adresini, Target MAC Address alanına da Default Gateway MAC adresi bilgilerini ekleyerek Data paketini, kendi Network'ü dışına çıkartabilmek için, doğrudan Default Gateway'e gönderecek.
 

PC-1 Data peket Frame içeriği
Default Gateway
 

PC-1 ARP Cache içeriği

Default Gateway

2.1- PC-1 bilgisayarı, Data paketini kendi Network'ü dışındaki hedef Network'e yollaması için Default Gateway'e iletmesi gerektiği bilgisini de yine Bitwise AND hesaplama işlemi sonucunda Routing Table içinde yazılı olan 1. satırdaki yönlendirme kuralına göre yapmaktadır.

Default Gateway
 

3- Data paketini Default Gateway Port'undan alan Firewall ya da Router cihazı; paketi, doğrudan hedef Network'e iletecek. Bir Data peketini Firewall ya da Router gibi Router cihazların Default Gateway Port'una ilettikten sonra geriye kalan tüm işlem, bu Router cihazlarınındır. Hedef Network'e yönlenme işlemi, bir VLAN ile ayrıştırılmış farklı bir Network olabileceği gibi, Intetnet ortamındaki farklı bir Network de olabilmektedir. Buradaki davranış biçimi, Firewall ya da Router gibi Router cihazlarda yazılı olan kurallar ile belirlenir.

Default Gateway

Default Gateway

⚡ Senaryo-3: Farklı Network'te Default Gateway #2

1- Bu senaryonun bir öncekinden farkı, PC-1 bilgisayarının ARP Cache'inin boş olması olacak. Bu sayede hedef Network ortamına Data paketi iletimi gerçekleşmeden önce Network ortamındaki Client PC ile Firewall ya da Router gibi Router cihazlar arasındaki iletişim sürecinin nasıl ilerlediğine değineceğim. Bu senaryoda 10.10.10.0/24 Network'ündeki IP adresi 10.10.10.72 olan PC-1 bilgisayarı, yine 172.16.0.0/24 Network'ündeki IP adresi 172.16.0.70 olan PC-55 bilgisayarı ile haberleşecek. PC-1 bilgisayarı, aynı şekilde tekrar her iki bilgisayara ait IP adreslerinin Binary değerleri ile 255.255.255.0 değerindeki kendi Subnet Mask bilgisinin Binary değerini, Routing Table bilgisi içinde yazılı olan Network ID ile aynı Network içinde olup olmadığını Bitwise AND yöntemi ile kontrol edecek. 


Default Gateway

2- Bu Bitwise AND hesaplama işlemi sonucunda PC-1 bilgisayarı, iletişim kuracağı 172.16.0.0/24 Network'ündeki 172.16.0.70 IP adresine sahip PC-55 bilgisayarı ile aynı Network'te olmadığı sonucunu çıkartacaktır. Daha önceden Default Gateway IP adresinin MAC adresi bilgisi, kendi ARP Cache'ine yazmadığı için bir ARP Request Frame'i oluşturup, Frame içindeki Target IP alanına Default Gateway IP adresi, Target MAC Address alanına da Boradcast MAC Adresi olan FF:FF:FF:FF:FF:FF bilgileri yazılmıştır.
 

PC-1 ARP Request Frame içeriği
Default Gateway
 

PC-1 ARP Cache içeriği
Default Gateway

2.1- PC-1 bilgisayarı, Data paketini kendi Network'ü dışındaki hedef Network'e yollaması için Default Gateway'e iletmesi gerektiği bilgisini de yine Bitwise AND hesaplama işlemi sonucunda Routing Table içinde yazılı olan 1. satırdaki yönlendirme kuralına göre yapmaktadır.

Default Gateway
 

3- PC-1 bilgisayarı tarafından yollanan ARP Request Frame'i içindeki Target IP bilgisinde Default Gateway IP adresi olan 10.10.10.254 bilgisi yazılı olduğu için ARP Protokolü, doğal davranış biçimi olarak ARP Request'i tüm Network ortamında Broadcast ile yayınlıyor.

Default Gateway

Default Gateway

4- ARP Request Frame'i içinde yazılı olan Target IP Address bilgisi 10.10.10.254 olduğu için ilgili Request Frame'i, Default Gateway tarafından kabul edildi.

Default Gateway

5- Default Gateway tarafından ARP Request'e dönülen ARP Reply Frame'i ile PC-1 bilgisayarı, Default Gateway MAC adresi bilgisini öğrenerek, bunu ARP Cache'ine kaydetti.
 

Default Gateway ARP Reply Frame içeriği
Default Gateway
 

PC-1 ARP Cache içeriği
Default Gateway
 

6-  Kendi iç Network'ündeki ARP sürecini tamamlayan PC-1 bilgisayarı, ilgili Data paketini hedef Network'e göndermek için Data paket Frame'i içindeki Target IP alanına 172.16.0.0/24 Network'ündeki PC-55'in IP adresi bilgisini, Destination MAC Address alanına da Default Gateway MAC adresi bilgisini ekleyip, paketini tekrar Default Gateway'e gönderecek.
 

PC-1 Data paket Frame içeriği
Default Gateway


6.1- PC-1 bilgisayarı, Data paketini kendi Network'ü dışındaki hedef Network'e yollaması için Default Gateway'a iletmesi gerektiği bilgisini de yine Bitwise AND hesaplama işlemi sonucunda Routing Table içinde yazılı olan 1. satırdaki yönlendirme kuralına göre yapmaktadır.

Default Gateway

7- Data paketini Default Gateway Port'undan alan Firewall ya da Router cihazı; paketi, doğrudan hedef Network'e iletecek. Bir Data peketini Firewall ya da Router gibi Router cihazların Default Gateway Port'una ilettikten sonra geriye kalan tüm işlem, bu Router cihazlarınındır. Hedef Network'e yönlenme işlemi, bir VLAN ile ayrıştırılmış farklı bir Network olabileceği gibi, Intetnet ortamındaki farklı bir Network de olabilmektedir. Buradaki davranış biçimi, Firewall ya da Router gibi Router cihazlarda yazılı olan kurallar ile belirlenir.

Default Gateway


Default Gateway

Makalenin buraya kadarki kısmında bir Host’un hedef IP adresine göre aldığı yönlendirme kararının temelinde yatan mekanizma detaylı biçimde incelendi. Hedef adres, Host’un bağlı bulunduğu Subnet dışında yer alıyorsa, bu paketin doğrudan hedef cihaza değil; tanımlı olan Default Gateway’e gönderilmesi gerektiği açıklandı. Burada belirleyici olan şey, hedefin ulaşılabilir olup olmaması değil; IP seviyesinde yapılan Subnet karşılaştırmasıdır.

IP başlığına bakarak yönlendirme kararı alınır, ardından bu karara uygun şekilde Ethernet Frame oluşturulur. Eğer hedef IP adresi farklı bir Subnet’e aitse, oluşturulan Frame'in Destination MAC Address alanına, hedef cihazın değil; Default Gateway’in MAC adresi yazılır. Bu sayede paket, yönlendirme işlemini gerçekleştirecek olan cihaza fiziksel düzeyde ulaştırılır. Layer 2 ve Layer 3 seviyeleri arasındaki bu eşgüdüm, veri iletiminin temel yapı taşlarından biridir.

Default Gateway tanımı, Subnet dışındaki Network’lere çıkış noktası olarak işlev görür. Bu tanım eksik ya da hatalı yapıldığında dış Network’lere erişim, tamamen kesilir. Hedefe ulaşmak bir yana, yönlendirme için gerekli ilk adım bile atılamaz. Ancak yapı doğru şekilde kurgulandığında her paket için karar mekanizması, sorunsuz biçimde devreye girer ve trafik akışı tutarlı şekilde yönlendirilir.

Subnet dışı IP adreslerine ulaşmak için kullanılan bu yöntem, bir IP paketi gönderildiği anda otomatik olarak çalışır. Paketler nereye gitmesi gerektiğini bilerek hareket eder; çünkü sistem, hedefin konumunu değerlendirip, ilk durağın Default Gateway olması gerektiğine kendisi karar verir. Bu davranış, modern Network’lerin arka planında sessizce ama kesinlikle işlemeye devam eder.

Şimdi de Windows'ta Bitwise AND Hesaplama Sürecinin nasıl işlediğine, işletim sisteminin bu süreçte hangi adımları izlediğine ve yönlendirme kararını alırken bu hesaplamayı nasıl kullandığına daha yakından bakalım.

Windows'ta Bitwise AND Hesaplama Süreci

Bitwise AND hesaplama, yalnızca bir matematiksel işlem değil; Windows işletim sisteminde bir IP Packet'in hangi yöne gönderileceğine karar veren temel mekanizmadır. Bu karar, Client’ın hedef IP Address için kendi Subnet içinde mi yoksa dışında mı bir yol izlemesi gerektiğini belirler. İşlem yüzeyde basit görünse de Windows Kernel, bu süreci sistemsel düzeyde ve gerçek zamanlı olarak yönetir.

Bir IP Packet, Windows TCP/IP Stack üzerinden çıkmadan önce, Kernel, Hedef IP doğrudan erişilebilir mi? yoksa bir Default Gateway aracılığıyla mı gönderilmeli? sorusunu net olarak yanıtlamalıdır. Bu kararın merkezinde Bitwise AND hesaplama vardır. İşletim sistemi, hedef IP Address ile yerel Subnet Mask arasında bit düzeyinde AND işlemi yapar. Aynı işlem, Client’ın kendi IP Address’i ile Subnet Mask’i arasında da uygulanır. Ortaya çıkan iki Network ID karşılaştırılır. Eşleşiyorsa hedef, aynı Subnet içindedir; paket doğrudan gönderilir. Eşleşmiyorsa Windows, bu paketi Routing Table’da tanımlı bir rota üzerinden yönlendirmeye çalışır. Tanımlı özel bir rota yoksa, karar doğrudan Default Gateway’e yönelir.

Burada dikkat edilmesi gereken nokta, Default Gateway tanımının kullanıcı arayüzünde görünen statik bir IP Address olmaktan ibaret olmamasıdır. Windows Kernel, bu adresi yalnızca varsayılan çıkış noktası olarak değil, aynı zamanda Routing Table’da tanımlı herhangi bir rota bulunmadığında başvurulacak genel rota olan 0.0.0.0/0 olarak değerlendirir. Hedef IP Address, Routing Table’daki başka bir satırla eşleşmiyorsa ya da Subnet dışındaysa, Kernel paketi doğrudan Default Gateway Interface’ine yönlendirir.

Bu karar, Windows’un Network Stack içinde Routing Decision Engine tarafından verilir ve işlem tamamlandığında paket NIC sürücüsü üzerinden çıkışa hazırlanır. Eğer fiziksel adres bilinmiyorsa, ARP süreci tetiklenir ve MAC adresi çözülür. Fakat tüm bu sürecin tetikleyicisi hala aynı yerdedir: Bitwise AND hesaplama sonucunda yapılan Subnet karşılaştırması.

Yani IP iletişiminin en temel ayrımı şudur: Paket doğrudan mı gönderilecek, yoksa Default Gateway üzerinden mi yönlendirilecek? Windows üzerinde her IP çıkışında bu karar ilk adımda verilir. Bitwise AND hesaplama bu yönüyle yalnızca bir protokol işlemi değil, aynı zamanda yönlendirme mantığının tetikleyicisidir. Bu kararın uygulanma noktası ise her zaman tanımlı olan Default Gateway Interface’idir.

1. IP ve Subnet Bilgileri İlk Olarak Registry’ye Yazılır

Kullanıcı, bir NIC'e manuel olarak IP adress, Subnet Mask ya da Default Gateway tanımladığında veya DHCP üzerinden bu bilgiler geldiğinde Windows, bu değerleri önce kalıcı olarak Registry’ye yazar. Bu kayıtlar şu yoldadır:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{GUID}

Windows'ta AND'leme Süreci

Yani burada her Network arayüzü için bir konfigürasyon saklanır. Ama bu veriler, paket iletimi sırasında aktif kullanılmaz. Registry, sadece bir depo gibidir; kararlarda söz sahibi değildir.

Aşağıdaki PowerShell komutunu kullanarak, Registry'de {GUID} altında tutulan bu IP, Subnet Mask, Default Gateway ve DNS gibi bilgileri sistem üzerinden kolayca görüntüleyebilirsiniz. Bu komut, doğrudan Registry'yi okumasa da aynı verileri TCP/IP yapılandırmasından çekerek kullanıcıya sunar.

Get-NetIPConfiguration -InterfaceAlias "Wi-Fi"; (Get-NetAdapter -InterfaceAlias "Wi-Fi").InterfaceGuid

Windows'ta AND'leme Süreci

2. Bilgisayar Açıldığında tcpip.sys Devreye Girer

Sistem açıldığında ya da ağ bağdaştırıcısı etkinleştiğinde, işletim sistemi çekirdeğinde çalışan tcpip.sys dosyası bu Registry kayıtlarını okur. Bu sürücü:

C:\Windows\System32\drivers\tcpip.sys

yolunda bulunur ama aslında bir dosya değil, bir çekirdek modülüdür. Yani çalışmaya başladığında RAM’e yüklenir ve artık canlı bir sistem bileşeni gibi davranır.

Windows'ta AND'leme Süreci

İşte tcpip.sys, bu IP ve Subnet bilgilerini Registry'den çekip RAM'de kendine ait veri yapıları içine yerleştirir. Bundan sonra sistemin vereceği tüm Routing kararları, bu RAM'deki güncel bilgilerle çalışır.

3. Bu Bilgiler RAM’de Nasıl Tutulur ve Kullanılır?

tcpip.sys, her bir NIC için bellekte özel bir yapı bloğu oluşturur. Bu yapıların içinde:

✔ IP address
✔ Subnet Mask
✔ Default Gateway
✔ Interface Index

gibi bilgiler tutulur. Bu bilgiler her paket iletiminde, diskten değil, doğrudan RAM'den çekilir. RAM üzerinde işlemek demek, bu yapıların CPU tarafından anlık olarak okunması, işlenmesi ve karar verilmesi demektir. Yani karar, CPU’da verilir.

İşlemci, RAM'deki verileri kendi Register'larına çeker; işlemi, Bitwise AND hesaplama işlemi dahil, burada yapar. Bitwise AND hesaplama, RAM’de duran source_ip ve subnet_mask gibi değerlerin CPU’da karşılaştırılmasıyla yapılır.

✅ IP address, Subnet Mask gibi bilgiler, tcpip.sys tarafından RAM'de yapılandırılmış veri bloklarında tutulur.
✅ İşlemci bu bilgileri RAM'den okur, CPU’nun kendi Register’larına çeker.
✅ Bitwise AND işlemi doğrudan CPU’da gerçekleşir.
✅ Sonuç tekrar RAM'de karşılaştırılır ya da yönlendirme kararında kullanılır.

4. Routing Kararı ve Bitwise AND İşlemi Tam Olarak Burada Başlar

Bir uygulama, bir dış IP adresine veri göndermek istediğinde sistem, önce OSI Transport Layer üzerinden gelen segmenti IP Packet haline getirir. Ardından OSI Network Layer tarafına geçilir. Tam bu aşamada işletim sistemi, bu hedef IP adresinin Network'te olup olmadığını anlamak için şu adımları izler:

1. source_ip (örnek: 10.10.10.10)
2. destination_ip (örnek: 10.10.20.5)
3. subnet_mask (örnek: 255.255.255.0)

Ardından RAM içinde bu iki Network ID karşılaştırılır:

✔ Eşitse → Paket aynı Network'e gider → ARP süreci başlar → Hedef MAC çözülür.
✔ Farklıysa → Paket başka Network’e yönlendirilir → Default Gateway MAC adresi çözülür.

Bu işlem Windows çekirdeği (Kernel) içindeki RtLookupRoute(), IppFindBestInterface() gibi fonksiyonlar aracılığıyla yürütülür ve tamamen tcpip.sys'in RAM'deki yapıları üzerinden ilerler.

5. NIC Bu Sürecin Hiçbir Yerinde Karar Verici Değildir

NIC (Network Interface Card), yukarıda anlatılan hiçbir karara dahil olmaz. O sadece işletim sisteminden aldığı Ethernet Frame’i fiziksel ortamda iletmekle sorumludur.

👉 Network Interface Card (NIC):

❌ IP bilmez
❌ Subnet Mask anlamaz
❌ Routing kararı veremez
❌ AND işlemi yapmaz

NIC'e sadece "şu hedef MAC adresine bu Frame'i gönder" denir. İşletim sistemi, NIC’e veri gönderme talimatını vermeden önce aslında çoktan onlarca teknik adımı tamamlamış olur. source_ip ve destination_ip bilgileri alınır, subnet_mask ile yapılan Bitwise AND (AND'leme) işlemiyle Network ID’ler hesaplanır, hedefin aynı Network'te olup olmadığı anlaşılır. Bu kontrol sonucuna göre ya doğrudan gönderim yapılır ya da paket önce Default Gateway’e yönlendirilir. Eğer gerekirse hedefin ya da Default Gateway MAC adresi, ARP ile çözülür ve Ethernet Frame, bu bilgilerle hazırlanır.

Tüm bu işlemler, işletim sisteminin çekirdeğinde çalışan tcpip.sys modülü tarafından gerçekleştirilir. IP bilgileri RAM üzerinde yapılandırılmış veri bloklarında tutulur. CPU, bu bloklardan verileri okur, hesaplamayı kendi içinde yapar ve sonucu yine RAM'deki yapılar üzerinde değerlendirir. Bu süreçte sabit diske dönülmez, herhangi bir dış bileşene ihtiyaç duyulmaz. Her karar çekirdek katmanda, milisaniyeler içinde alınır.

Network Interface Card (NIC), bu sürecin içinde hiçbir zaman aktif bir aktör değildir. Ne karar verir, ne kıyas yapar, ne yön belirler. NIC, sadece işletim sisteminden gelen hazır Ethernet Frame’i fiziksel ortama iletmekle görevlidir. Ona yalnızca hedef MAC adresiyle birlikte veri verilir ve o bunu taşır. Ne subnet_mask bilir, ne IP yorumu yapar, ne de Routing mantığına dair bir katkısı vardır.

Bu kadar görünmez ve hızlı ilerleyen bir süreçte bile sistem, her IP paketinde aynı kontrolü yeniden yapar. Çünkü IP iletişimi ezbere değil, her defasında yapılan hesaplamaya göre yönlendirilir. Bitwise AND hesaplama işlemi de bu karar sürecinin en temel adımıdır. Paket dış dünyaya çıkmadan önce, işletim sistemi RAM'deki verileri kullanarak hedefin nerede olduğunu hesaplar ve hangi yöne gideceğini belirler. NIC ise yalnızca bu kararın sonucunu fiziksel olarak ileten son duraktır.

Faydalı olması dileğiyle...


Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.



YORUMLAR
Bu makaleye 7 yorum yapıldı.
Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.


750 karakter yazabilirsiniz.
Captcha
Güvenlik kodunu BÜYÜK harflerle giriniz.
* Yorumlar, onaylandıktan sonra yayınlanmaktadır.
* E-posta, yorum onay bildirimi için gereklidir. Yayınlanmaz.


09.12.2021 Mustafa
Fırat Hocam Selamlar.Gerçekten emeğiniz bizlere büyük hakkınız ödenmez.Vakit ayırıpta bizlere bu kadar bilgi dağıtmanız zaten teşekkürle hiç ödenmez.Ayrıca site yapınız yazım şekliniz ve görseller harika.Allah gönlünüze göre versin.
03.08.2020 Ali RODOPLU
Yazınız çok öğretici çok beğendim
29.11.2019 mete yıldız
ben çok başarılı buldum.. paylaşımınız çok güzel
04.05.2019 Ahmed FİŞEKCİ
Gerçekten sade ve yalın bir anlatımla çok güzel bir bilgi paylaşımı olmuş ellerinize sağlık Fırat bey, başarılarınızın devamını dilerim.
06.11.2018 Kubilay
Yıllardır anlamadığım bir olayı 10 satır yazı ve görsel ile anladım Tebrik ederim.
11.09.2018 ferhat alaydin
FIRAT bey tesekkurler. aklima takilan bir soruya guzel ve aciklayici bilgi vermissiniz. Calismalarinizda basarilar diliyorum
09.10.2017 omerdemsiz
ben hayatımda bu kadar açıklayıcı , ücretsiz hazırlanmış network makaleleri görmedim , allah sizden , size bu gücü ilmi verenden razı olsun.