Datagramlar ağ iletişim protokollerinin temel yapı taşlarından birini temsil eder. Veri paketlerinin iletilmesi için yapılandırılmış bir format sağlayarak çeşitli ağ teknolojileri arasında verimli ve esnek veri alışverişini kolaylaştırırlar.
Datagramın Kökeni ve İlk Sözü
Datagram kavramının kökeni bilgisayar ağının ilk günlerine kadar uzanabilir. Datagram terimi ilk kez 1970 yılında Fransız bilgisayar bilimcisi Louis Pouzin tarafından ortaya atıldı. Pouzin, internetin gelişimini etkileyen öncü bir Fransız projesi olan CYCLADES ağının tasarımında datagramı tanıttı.
CYCLADES ağı önemliydi çünkü uçtan uca ilkesini ve bağlantısız ağ katmanını uygulayan ilk ağlardan biriydi. Bu ağ, paketlerin veya datagramların ayrı ayrı gönderilmesine ve her birinin kaynaktan hedefe kendi yolunu bulmasına izin verdi.
Datagram: Daha Yakından Bir Bakış
Bilgisayar ağı alanında, bir datagram, kaynak ve hedef bilgisayarlar arasındaki daha önceki alışverişlere dayanmaksızın, kaynaktan hedefe yönlendirilmeye yetecek kadar bilgiyi taşıyan bağımsız bir veri paketidir. Başka bir deyişle datagramlar, her biri ayrı ayrı iletilen bağımsız veri paketleridir.
Datagramlar, paket anahtarlamalı bir ağ üzerinden veri aktarımı için kullanılan bir protokol olan İnternet Protokolünün (IP) birincil bileşenidir. Her IP datagramı yalnızca yükü (gerçek veriler) değil aynı zamanda kaynak ve hedef IP adresleri gibi başlık bilgilerini de içerir.
Datagramların, Datagram Hizmeti modeli olarak bilinen bağlantısız bir iletişim modunda kullanıldığını belirtmekte fayda var. Bu modelde her mesaj diğerlerinden bağımsız olarak ele alınır. Veri aktarımı başlamadan önce kaynak ile hedef arasında özel bir yolun oluşturulduğu bağlantı odaklı hizmet modelinden farklı olarak, iletimden önce özel bir yol oluşturmaya gerek yoktur.
Datagramın Yapısını ve İşlevselliğini Anlamak
Bir IP datagramı iki ana bileşenden oluşur:
- Datagram Başlığı: Bu, kaynak ve hedef IP adresleri, kullanılan protokol (TCP, UDP, vb.), datagramın toplam uzunluğu ve parçalanma ve yeniden birleştirmeyi kontrol etmek için diğer bayraklar gibi çeşitli kontrol bilgilerini içerir.
- Yük: Bu, datagramın taşıdığı gerçek verilerdir. Genellikle taşıma katmanı verilerinin kapsüllenmiş bir bölümüdür.
Bir datagram bir ağ üzerinden iletildiğinde, hedefteki ağ arayüzü katmanı tarafından alınır. Burada, datagramın bir sonraki nereye iletileceğini belirlemek için IP başlığı incelenir. Datagram nihai varış noktasına ulaştığında, yük çıkarılır ve daha ileri işlemler için OSI modelinin üst katmanlarına iletilir.
Datagram'ın Temel Özellikleri
Datagram yaklaşımı çeşitli tanımlayıcı özelliklerle birlikte gelir:
- Bağımsızlık: Her datagram diğerlerinden bağımsızdır. Bu, herhangi bir sırayla gönderilip alınabilecekleri anlamına gelir.
- Kendi kendine yeten: Datagramlar, başlangıç noktasından varış noktasına yönlendirme için gerekli tüm bilgileri taşır.
- Önceden belirlenmiş bir yol yok: Bir datagram ağında veriyi iletmeden önce bir yol oluşturmaya gerek yoktur.
- Esnek: Her datagram kendi yolunu seçebildiği için bu model daha sağlam olabilir ve ağ arızalarına veya tıkanıklıklara karşı uyarlanabilir.
- Garantili teslimat yok: Datagram ağları garantili teslimat veya başarısız teslimat bildirimi sağlamaz.
Datagram Türleri
Datagramlar, ilişkili oldukları protokole göre geniş bir şekilde sınıflandırılabilir. En yaygın ikisi şunlardır:
- IP Datagramı: İnternet Protokolünde kullanılan bu datagramlar, internet üzerinden veri aktarımı için birincil paket formatını oluşturur. Veri dağıtımı için hem TCP (İletim Kontrol Protokolü) hem de UDP (Kullanıcı Datagram Protokolü) tarafından kullanılırlar.
- UDP Datagramı: Bu datagramlar Kullanıcı Datagram Protokolünün bir parçasıdır. UDP, IP ağları üzerinden veri alışverişi için basit ama hızlı bir yöntem sağlar. TCP'nin karmaşıklığından ve ek yükünden yoksundur ancak aynı zamanda teslimatı, siparişi veya hata kontrollerini garanti etmez.
Datagram Kullanımı, Zorluklar ve Çözümler
Datagramlar bilgisayar ağlarındaki çok sayıda uygulamada kullanılır. Canlı akış, video konferans ve çevrimiçi oyun gibi hızın çok önemli olduğu ve ara sıra veri kaybının tolere edilebildiği senaryolarda özellikle kullanışlıdırlar.
Ancak datagramların kullanılması bazı zorlukları da beraberinde getirir. Teslimatı garanti etmedikleri veya paketlerin sırasını korumadıkları için, bazı datagramlar kaybolabilir veya hatalı şekilde ulaşabilir. Bu genellikle TCP gibi protokollerin düzenli, güvenilir teslimat sağladığı uygulama katmanında yönetilir.
Örneğin, datagramları göndermek için UDP kullanıyorsanız, datagramların alındığını onaylamak veya vardıklarında bunları yeniden sıralamak için uygulamanıza ek mantık oluşturabilirsiniz.
Datagram ve Benzer Ağ İletişimi Terimleri
- Datagram ve Paket: Bir datagram, bir paket türüdür, özellikle kaynaktan hedefe yönlendirilecek yeterli bilgiyi taşıyan, kendi kendine yeten, bağımsız bir veri varlığıdır.
- Datagram ve Çerçeve: Çerçeve, bilgisayar ağındaki dijital veri iletim birimidir. Bir datagramın aksine, bir çerçeve senkronizasyon bilgilerini, hata kontrolünü ve kontrol verilerini içerir ve bunların bir sonraki doğrudan bağlı ağ düğümüne güvenilir bir şekilde iletilmesini sağlar.
Datagramın Geleceği ve Gelişen Teknolojiler
Ağ teknolojisi geliştikçe datagram kavramı, özellikle verimli, esnek veri iletimi gerektiren Nesnelerin İnterneti (IoT) ve uç bilgi işlem gibi teknolojilerin büyümesiyle birlikte geçerliliğini sürdürüyor.
Ayrıca, Datagram Aktarım Katmanı Güvenliğinin (DTLS) geliştirilmesi, güvenli datagram tabanlı uygulamalara olan ilginin arttığını göstermektedir. DTLS, TLS (güvenli web taramasında kullanılır) ile aynı güvenlik garantilerini sağlar, ancak UDP gibi datagram protokolleri için.
Proxy Sunucuları ve Datagram
Proxy sunucuları datagramları işleyebilir ve diğer sunuculardan kaynak arayan istemcilerden gelen istekler için aracı görevi görebilir. Güvenlik, gizlilik ve veri sıkıştırma dahil olmak üzere çeşitli işlevler sağlayabilirler.
Örneğin, bir proxy sunucusu, bir istemcinin diğer ağ hizmetleriyle dolaylı bir ağ bağlantısı kurmasına izin verebilir. Bir istemci proxy sunucusuna bağlanarak bir bağlantı, dosya veya farklı bir sunucuda bulunan diğer kaynakları talep eder. Proxy sunucusu, kaynağı muhtemelen belirtilen sunucuya bağlanarak veya sunucuya bir önbellekten hizmet vererek sağlar.
Datagramlar açısından, bir proxy sunucusu bunları yakalayabilir, verileri okuyabilir ve yorumlayabilir ve ardından datagramın içeriğine bağlı olarak çeşitli görevleri gerçekleştirebilir. Bu, veri biriminin yeniden yönlendirilmesini, verinin değiştirilmesini ve hatta tamamen bloke edilmesini içerebilir.
İlgili Bağlantılar
Datagramlar ve ilgili kavramlar hakkında daha fazla bilgi için aşağıdaki kaynakları göz önünde bulundurun: