IP yönlendirme işlemi oldukça basit ve network büyüklüğüne göre değişmeyen bir iştir. Aşağıda görülen çok basit tasarım üzerinde sizlere adım adım Host A (Kullanıcı A) farklı bir netwok’te bulunan Host B (Kullanıcı B) ile görüşmek isterse router üzerinde IP Routing işlemi esansında neler olduğunu adım adım açıklayacağım.
Örneğimizde Host A’da çalışan bir kullanıcı Host B’nin IP adresine (172.16.20.2) PING paketi göndermektedir.
1. Internet Control Message Protocol (ICMP) echo paketini oluşturur.
2. ICMP IP ile iletişime geçerek echo paketini Internet Protocol (IP)‘ e iletir. IP daha sonra IP paketini oluşturur. Paket, IP Source Address, IP Destination Address ve Protocol Field kısımlarından oluşur. Cisco cihazlarda paket görünümü hexadecimal olarak (0x01) şeklindedir.
3. Paket oluşturulunca, IP destination address (hedef adresi); in local(içeride) network’te mi, dışarıda mı olduğuna bakar.
4. Örneğimizde, hedef adres dış network’te olduğundan IP paketin default gateway (varsayılan ağ geçidi)‘e gönderilmesi gerektiğine karar verir. Windows’ta default gateway adresi Registry üzerinde tutulur.
5. 172.16.10.2 (Host A) cihazının default gateway’i 172.16.10.1 olarak ayarlanmıştır. Paketin bu adrese gönderilebilmesi için Router’ın Eth0 bacağının donanım adresi (MAC) bilinmesi gerekmektedir. Bundaki amaç verinin Data Link layer’a iletilebilmesi ve frame içerisine gömülerek 1 ve 0’lar şeklinde router’ın 172.16.10.0 network’ünün bağlı olduğu bacağına gönderilebilmesidir. NOT:LAN içerisindeki iletişim MAC adresleri aracılığı ile yapılmaktadır.
6. Adress resolution Protocol (ARP) default gateway’in IP adresinin donanım adresi olarak çözümlenip çözümlenmediğine bakar.
7. Eğer çözümlendiyse paket Data Link katmanına iletilebilmeye hazırdır. Tabiki de destination address, donanım adresi ve paket birlikte Data Link katmanına iletilir. ARP cache’ini görmek için command promt’a ”arp -a” komutnunu yazarız.
8. Eğer donanım adresi daha çözümlenmediyse, 172.16.10.1 IP adresinin donanım adresini çözümlemek için “ARP Broadcast” paketi yerel network’e gönderilir. Router isteğe cevap vererek Eth0 bacağının MAC adresini Host A’ya iletir ve Host A’da bu adresi cache’ler.
9. Paket ve hedef donanım adresi Data Link katmanına iletildiğinde, LAN sürücüsü (ethernet kartı, wireless kartı) LAN içerisinde kullanılan medya erişim tipini belirtir(örneğimizde Gbit Ethernet). Frame oluşturulur, paket ve kontrol bilgisi Frame içerisine gömülür (encapsulation). Genelde medya tipi ve kontrol bilgisi Frame’in sonunda FCS (Frame Check Sequence) içerisine gömülüdür. Frame içerisinde destination address bilgisi bulunmaz.
10. Frame tamamlanınca Physical Laye’a iletilir. Fiziksel iletim ortamına konur . Örneğimizde cross twisted pair (UTP-6)
11. Collision domain içerisinde (Yerel ağdaki tüm cihazlar) bu bitleri alır ve CRC’yi kontrol ederler, CRC uyumsuzsa paket gözardı edilir. CRC uyumlu ise hedef donanım adresi (destination MAC) kontrol edilir. Doğru ise Ethernet Type (medya tipi) kontrol edilir. Böylece paket teslim alınan cihaz tarafından işlenebilecek seviyededir.
12. Frame yukarıda anlatıldığı şekilde hedefe ulaşınca Packet (IP Paketi) mesaj içerisinden alınır. Paket IP’ye iletilir.
13. IP paketi alınca IP destination address’ini kontrol eder. Hedef IP adresi uyumsuz ise router IP adresini routing table’dan kontrol eder.
14. Routing table’da 172.16.20.0 network’ü için kayıt bulunması gerekmektedir. Eğer kayıt yoksa gönderen cihaza (Host A) “destination network unreachable” ICMP echo packetleri geri gönderilir.
15. Routing table’da söz konusu cihaz için kayıt bulunursa router çıkış bacağı olan Eth1’e paketleri anahtarlar. Aşağıdaki şekilde görülen C “directly connected” anlamına gelmektedir ve hiçbir yönlendirme protokolüne ihtiyaç duyulmadan yönlendirilebilen network anlamındadır. Örneğimizdeki her iki network’te “directly connected” olduğundan router doğrudan paketleri protokol kullanmadan anahtarlayacaktır.
16. Router paketi Eth1 bacağının buffer’ına anahtarlar.
17. Eth1 hedef cihazın donanım adresini bilmek zorundadır. Bunun için router ARP cache’ini kontrol eder.
18. Eğer, Host B’nin donanım adresi (MAC) çoktan ARP tarafından çözümlendiyse packet ve MAC adresi Data Link katmanına iletilir. “–” işaretinin manası router üzerindeki fiziksel arayüz demektir. Şekilde de görüldüğü gibi Cisco 2811 router her iki cihazın MAC adresini de ARP cache’te tutmaktadır. Cisco router’larda MAC adres bilgisi 4 saat boyunca saklanır.
19. Eğer Host B’nin donanım adresi (MAC) çözülmediyse, Eth1’den ARP isteği gönderilir. Böylece 172.16.20.2 IP adresinin MAC adresi router tarafından öğrenilir ve cache’lenir.
20. Daha sonra Data Link katmanı destination address ve source address, Ethernet Type, FCS kısımlarını oluşturarak Frame’i Physical Layer katmanına fiziksel arayüzden bit’ler şeklinde gönderilmek üzere iletir.
21. Host B frame’i alır ve CRC’ye bakarak kontrolü yapar. Sırası ile destination MAC ve Ethernet Type konrollerinin ardından paketi IP katmanına iletir.
22. Network katmanında IP paketi alınca IP destination adress’ini kontrol eder. Daha sonra Paketin kime verileceği bilgisne “Protocol” kısmına bakarak karar verir.
23. Paket ICMP‘ye iletilir. ICMP echo isteğini anlar ve ICMP anında isteğe cevap verir ve “echo reply” yapar.
24. Böylece bir Packet source ve destination address bilgileri ile “Protocol” kısımlarını içerecek şekilde oluşturulur. Destination address bilgisi Host A’ya aittir.
25. Paket oluşturulunca, IP destination address (hedef adresi) in local network’te mi dışarıda mı olduğuna bakar.
26. Varsayılan ağ geçidi bilgisi Windows Registry‘den bulunur. ARP cache kontrol edilir.
27. Varsayılan ağ geçidinin MAC adres bilgisi ARP cache’ten bulununca, paket ve destination (MAC) donanım adresi Data Link katmanına frame oluşturmak için iletilir.
28. Data Link katmanı frame’i hedef ve kaynak donanım adres bilgisini, Ethernet Type bilgisini (0x0800 ile başlar), FCS ve CRC bilgilerini içerecek şekilde oluşturur.
29. Frame, Physical Layer’a iletilir ve bitler halinde iletim oratamından gönderilir.
30. Router Eth1 bacağı arayüzü bitleri kabul eder ve farme’i geri oluşturarak CRC kontrolü ve FCS kısmını taraması yapılır.
31. CRC bulununca donanım hedef adresi kontrol edilir. Router arayüzü eşleşip, Ethernet Type uyumlu ise paketin gönderileceği yer Network katmanında tespit edilmiş olur.
32. IP paketi kabul eder. IP, CRC kontrolünü gerçekleştirir. IP adresini kontrol eder.
33. Router paketi bir kez getirdiği için 172.16.10.0 network‘üne nasıl ulaşacağını bilir. Bu yüzden Eth0 arayüzüne paketi anahtarlar.
34. ARP cache’te 172.16.10.2 adresi önceden çözüldüğünden donanım adresini alır ve 172.16.10.2 adresi çoktan cache’lendiğinden paket ile donanım adres bilgisini Data Link layer’a iletir.
35. Tekrar Data Link layer frame‘i oluşturur. Destination address ve source address MAC, IP Ether Type bilgisi ve CRC ile FCS ekleyerek frame’i physical layer’a iletir.
36. Physical layer dan UTP-6 üzerinden bitler host’a iletilir.
37. Host A bitleri alınca frame’i oluşturur ve CRC kontrolü yapar ve destination MAC (hardware address) ve Ethernet Type bilgisine bakar paketin IP’ye iletileceğine karar verir.
38. IP Network katmanında paketin ICMP’ye iletilmesi gerektiğini bulur.
39. ICMP daha sonra “echo reply” mesajı aldığını (!) işaretini application katmanında cmd.exe’ye çıkartması için iletir.
Böylece bir adet echo paketi gönderilmiş ve bir adet echo reply paketi geri alınmış olur. PING komutu içerisinde toplam 5 adet echo ve echo reply paket alış verişi yapılmaktadır ve bu işlem dört defa daha tekrarlanacaktır. Burada dikkat edilmesi gereken konu router’ın kendine doğrudan bağlı networkleri tanıdığı ayrı bir routing protokolüne ihtiyaç duymadığı ve router üzerinde MAC addres değişimininin yapıldığıdır.
Emre Çağlar HOŞGÖR