Ağ Katmanı
Ağ katmanı, OSI (Açık Sistemler Arası) modelinde ikinci katman olarak adlandırılır ve ağ üzerinde veri paketlerinin yönlendirilmesi ve taşınması işlemlerinden sorumludur. Ağ katmanı, verilerin kaynaktan hedefe güvenli bir şekilde iletilmesini sağlar.
Host to host iletişim, ağ katmanı sayesinde gerçekleştirilir. Kaynak bilgisayardaki bir uygulama, ağ katmanı aracılığıyla hedef bilgisayarda çalışan bir uygulamaya veri gönderir. Ağ katmanı, gönderilen veriyi uygun protokollere göre paketler ve bu paketleri ağ üzerinde hedef bilgisayara doğru yönlendirir. Hedef bilgisayar da ağ katmanı aracılığıyla bu paketleri alır, yeniden düzenler ve ilgili uygulamaya teslim eder. Host to host iletişim, uygulama düzeyinde gerçekleşen process to process iletişimden farklıdır, çünkü ağ katmanı aracılığıyla veriler doğrudan hedef uygulamaya iletilebilir.
Ağ katmanı, IP (Internet Protokol) adreslerini kullanarak verilerin yönlendirilmesini sağlar. Her cihaz, ağda benzersiz bir IP adresi alır ve ağ katmanı bu adresleri kullanarak verilerin kaynaktan hedefe doğru yönlendirilmesini sağlar. Bu nedenle, ağ katmanı ağdaki cihazların birbirleriyle iletişim kurmalarını mümkün kılar ve internet gibi büyük ağlarda verilerin güvenli ve doğru bir şekilde yönlendirilmesine yardımcı olur.
Forwarding ve Routing
Forwarding ve routing, ağ katmanındaki iki temel işlemdir ve paket yönlendirme sürecinde önemli rol oynarlar.
Forwarding, ağ cihazlarının (örneğin, router'lar) gelen paketi doğru çıkış arabirimine yönlendirmesidir. Bu, bir paketin ağ katmanında ilerleyerek hedefine ulaşmasını sağlar.
Routing ise, bir paketin kaynak ve hedef adresleri arasındaki en uygun yolu bulma sürecidir. Bu süreç, router'ların ağ topolojisini ve diğer ağ cihazlarından gelen yönlendirme bilgilerini kullanarak, gelen paketin doğru hedefe yönlendirilmesini sağlar.
Process-to-process iletişim, ağ katmanındaki host-to-host iletişimden farklıdır. Host-to-host iletişim, bir kaynak host'taki bir uygulama veya süreçten, hedef host'taki aynı uygulamadaki bir sürece kadar olan tüm ağ katmanlarından geçen veri transferini içerir. Ancak process-to-process iletişim, sadece kaynak uygulamadan hedef uygulamaya kadar olan iletişimi kapsar. Bu, uygulamalar arasındaki doğrudan iletişimi ifade eder ve ağ katmanı seviyesindeki tüm işlemlerden bağımsızdır.
Datagram Ağlar
Datagram ağları, veri paketlerinin bağımsız bir şekilde ilerlediği ve her birinin kendine özgü adresleme bilgisi taşıdığı ağ türüdür. Bu paketler, herhangi bir önceden belirlenmiş yol izlemeden, tek tek gönderen cihazdan alıcı cihaza doğru ilerlerler.
Datagram ağlarında veri paketleri, ağ katmanındaki protokoller tarafından yönlendirilir. Paketlerin hedef cihaza ulaşabilmesi için, her birinin bir hedef IP adresi ve diğer ağ kimlik bilgileri taşıması gerekir. Bu nedenle, her paket, ağda farklı bir yol izleyebilir.
Datagram ağları, özellikle İnternet gibi dağıtık ağlar için önemlidir, çünkü herhangi bir veri paketi herhangi bir yoldan ilerleyebilir ve herhangi bir yönlendirici üzerinden geçebilir. Bu özellikler, paket kaybı veya ağın bazı kısımlarındaki kesintilerle başa çıkmaya yardımcı olabilir. Ancak, bu ağ türü, veri paketleri üzerindeki kontrolün azalması nedeniyle güvenilirliği azaltabilir.
IPV4 Datagram Formatı
IPv4 (Internet Protocol version 4) kullanılan ağ katmanı protokolüdür. IPv4, internetin büyük kısmında kullanılan bir protokoldür. Bu protokol, bir kaynaktan hedefe gönderilen paketlerin taşınmasını sağlar.
IPv4 datagram formatı, IPv4 paketinin yapısal bileşenlerini tanımlar ve aşağıdaki alanları içerir:
- Version: IPv4 paketinin sürüm numarasını belirtir. IPv4 için sürüm numarası 4'tür.
- Header Length: IPv4 başlığının uzunluğunu belirtir. Başlık uzunluğu, 32 bit sözcüklerinde ifade edilir ve maksimum 60 byte olabilir.
- Type of Service: Paketin hizmet türünü belirtir.
- Total Length: Paketin tamamının uzunluğunu belirtir.
- Identification: Paketin tanımlayıcı numarasını belirtir.
- Flags: Parçalanmış paketlerdeki durum bilgisini belirtir.
- Fragment Offset: Parçalanmış paketlerde, parçanın başlangıç ofset değerini belirtir.
- Time to Live: Paketin, ağda maksimum kaç sıraya (router) uğraması gerektiğini belirtir.
- Protocol: Taşınan verilerin hangi protokol ile gönderildiğini belirtir. Örneğin, TCP protokolü için değeri 6'dır.
- Header Checksum: Başlık alanındaki hata tespit etmek için kullanılan bir toplam doğrulama (checksum) değeridir.
- Source IP Address: Gönderen adresini belirtir.
- Destination IP Address: Alıcı adresini belirtir.
- Options: İsteğe bağlı olan, ancak başlık uzunluğunu arttıran ek bilgiler içerir.
- Data: TCP ve UDP gibi taşınan verilerin içerdiği alan.
IPv4 datagram formatı, paketin yollarının bulunmasına yardımcı olan IP yönlendirme protokollerine izin verir.
IPv6 Datagram Formatı
IPv6, Internet Protocol version 6'nın kısaltmasıdır. IPv6, IPv4'ten daha gelişmiş bir adresleme ve hizmet kalitesi sağlayan bir ağ protokolüdür. IPv6, IPv4'ün 32 bitlik adreslerine kıyasla 128 bitlik adreslere sahip olması nedeniyle daha fazla adresleme kapasitesi sunar.
IPv6 datagram formatı şu özelliklere sahiptir:
- Version: 4 bitlik alan, IPv6 protokolünün sürümünü belirtir. IPv6'da sürüm numarası 6'dır.
- Traffic Class: 8 bitlik alan, trafiğin önceliği ve öncelik seviyesi hakkında bilgi verir.
- Flow Label: 20 bitlik alan, aynı kaynaktan gelen belirli bir veri akışına öncelik verilmesini sağlar.
- Payload Length: 16 bitlik alan, taşınan yükün toplam boyutunu belirtir.
- Next Header: 8 bitlik alan, veri yükünün izleyen protokolünü belirtir. Örneğin ICMPv6, TCP veya UDP gibi.
- Hop Limit: 8 bitlik alan, ağ üzerinde maksimum hop sayısını belirtir.
- Kaynak Adresi (Source Address): 128 bitlik alan, veri paketinin gönderildiği cihazın IPv6 adresini belirtir.
- Hedef Adresi (Destination Address): 128 bitlik alan, veri paketinin gönderileceği cihazın IPv6 adresini belirtir.
- Veri Yükü (Payload): Değişken boyutlu alan, protokolün taşıdığı verileri içerir.
IPv6, IPv4'ün aksine, IP protokolüne dayanan farklı bir adresleme yapısına sahiptir. IPv6 adresleri, 128 bit uzunluğunda ve 8 blok halinde yazılır. Her blok, 16 bit uzunluğundadır ve dört haneli onaltılık sistemde yazılır. Örneğin: 2001:0db8:85a3:0000:0000:8a2e:0370:7334. IPv6 adresleme yapısında ayrıca, özel adresler, çoklu yayın adresleri ve bağlantı yerel adresleri gibi özel adres türleri de bulunur.
IPv4’ten IPv6’ya geçiş
IPv4 ve IPv6 farklı adresleme yöntemlerini kullandığı için, geçiş süreci planlanarak yürütülmektedir. Geçiş sürecinde iki ana yöntem kullanılmaktadır:
- Çift Yığın Yöntemi (Dual Stack): Bu yöntemde, ağ cihazları hem IPv4 hem de IPv6 adresleme yöntemlerini desteklemektedir. Bu sayede, IPv6'ya geçiş yapılırken ağda bulunan IPv4 trafiğinin de devam etmesi sağlanmaktadır. Ancak bu yöntem, ağda bulunan tüm cihazların IPv6'ya geçiş yapmasını gerektirir.
- Tünel Yöntemi (Tunneling): Bu yöntemde, IPv4 ağları üzerinden IPv6 trafiği taşınmaktadır. Bu işlem, IPv6 trafiğinin IPv4 ağlardan geçirilmesi için bir tünel oluşturulmasını gerektirmektedir. Bu yöntem, IPv6'ya geçiş yapmayan cihazlar için bir çözüm olmaktadır.
IPv4'ten IPv6'ya geçiş süreci, tüm dünya genelinde yavaş yavaş devam etmektedir. Bu süreç, özellikle internet hizmet sağlayıcıları ve büyük kuruluşlar tarafından gerçekleştirilmektedir. Ancak, IPv4'ten IPv6'ya geçişin tamamlanması birçok teknik zorluk ve maliyet gerektirdiği için bu sürecin tamamlanması birkaç yıl alabilir.