-
(geri sayım: 7, 6, 5, 4, 3, 2, 1)
-
İnternet
Paketler, Yönlendirme ve Güvenilirlik
-
Merhaba, ismim Lynn Root. Spotify'da
yazılım mühendisiyim. İnternetin
-
güvenilirliğini çoğu zaman sorgulamadan
kabul ettiğimi ilk ben itiraf edeceğim.
-
İnternette dolaşan bilgi yoğunluğuna
inanamazsınız. Ama her bir veri parçasının
-
size güvenilir biçimde ulaşması
nasıl mümkün?
-
Diyelim ki
Spotify'da bir şarkı çalacaksınız.
-
Bilgisayarınız doğrudan Spotify
sunucularına bağlanıyor ve Spotify
-
şarkıyı size doğrudan, paylaşımsız
bir hattan gönderiyor gibi görünür.
-
Aslında, internet böyle çalışmaz.
-
İnternet doğrudan, paylaşımsız
bağlantılardan oluşsaydı bir şeyleri
-
milyonlarca kullanıcı katılırken
çalıştırmaya devam etmek imkansız olurdu.
-
Çünkü her bir telin ve bilgisayarın
her daim çalışacağının garantisi yok.
-
Bunun yerine, veri internet üzerinde
daha az doğrudan bir şekilde gezer.
-
Uzun yıllar önce, 1970'lerin başında,
ortağım Bob Kahn ile
-
şimdi internet dediğimiz şeyin
tasarımı üzerine çalışmaya başladık.
-
Bob ve benim
internet protokolleri ve mimarisini
-
tasarlama sorumluluğumuz
ve fırsatımız vardı.
-
Biz de internetin gelişimine ve evrimine
-
katkıda bulunmakta ısrarımızı
bunca zamandır sürdürüyoruz.
-
Bilginin bir bilgisayardan
diğerine aktarımı oldukça ilgi çekici.
-
Belirli bir yol takip etmeye
gerek duymuyor, hatta kullandığınız yol
-
bilgisayardan bilgisayara yapılan
bir konuşmanın ortasında değişebilir.
-
İnternette bilgi
bir bilgisayardan diğerine
-
"bilgi paketi" dediğimiz bir şeyle gider.
Bir paket, internette bir yerden bir yere
-
sizin bir yerden bir yere
arabayla seyahat ettiğiniz gibi ulaşır.
-
Trafik sıkışıklığına
veya yolların durumuna bağlı olarak
-
aynı yere varmak için
farklı bir yol seçebilir
-
veya seçmek zorunda kalabilirsiniz.
-
Ve tıpkı bir arabada her türlü şeyi
taşıyabildiğiniz gibi
-
çeşitli dijital bilgiler de
"IP paketleriyle" gönderilebilir.
-
Fakat bazı kısıtlar vardır.
Diyelim ki bir uzay mekiğini
-
inşa edildiği yerden fırlatılacağı yere
taşımanız gerekiyor. Mekik bir kamyona
-
sığmayacağından parçalara ayrılıp
bir kamyon filosu ile taşınması gerekir.
-
Her biri farklı güzergahlar takip edebilir
-
ve varış yerine
farklı zamanlarda ulaşabilirler.
-
Fakat tüm parçalar ulaştığında
parçaları yeniden birleştirebilirsiniz
-
ve mekik fırlatmaya hazır hale gelir.
-
İnternette de detaylar benzer şekildedir.
-
Bir arkadaşınıza göndermek veya
bir web sayfasına yüklemek istediğiniz
-
çok büyük boyutlu bir görsel
on milyonlarca bit'lik 1 ve 0'lardan
-
oluşabilir ve tek bir pakette
gönderilemeyebilir.
-
Veri bilgisayarda olduğundan
görseli gönderen bilgisayar bu veriyi
-
"paket" denen yüzlerce ve hatta
binlerce parçaya hızla ayırabilir.
-
Araba veya kamyonlardan farklı olarak
bu paketlerin sürücüleri yoktur
-
ve güzergahlarını seçmezler. Her bir paket
geldiği yerin ve gideceği yerin
-
internet adresini taşır. İnternetteki
"yönlendirici" denen özel bilgisayarlar
-
paketlerin ağlar üzerinde
sorunsuzca ilerlemesini sağlamak için
-
trafik yöneticisi gibi hareket eder.
Bir güzergah sıkışıksa kişisel paketler
-
internet üzerinde farklı güzergahlara
geçebilir ve varış noktasına
-
birbirlerinden az farkla
veya düzensiz biçimde ulaşabilirler.
-
Nasıl işlediğine bir bakalım.
"İnternet protokolü"nün bir parçası olarak
-
her yönlendirici paket göndermek için
birden çok yolun takibini yapar
-
ve paketin varış IP adresine bağlı olarak
her bir veri parçası için
-
erişilebilir en ucuz veri yolunu seçer.
-
Bu durumda "en ucuz" maliyetten ziyade
zaman ve şirketler arası
-
politika ile ilişkiler gibi
teknik olmayan faktörleri ifade eder.
-
Sıklıkla, verinin ulaşımı için en doğrudan
güzergahın, en iyi olması gerekmez.
-
Farklı yol seçeneklerine sahip olmak
ağı "arızaya dayanıklı" hale getirir. Yani
-
bir şeyler korkunç derecede ters gitse de
ağ, paketleri göndermeye devam edebilir.
-
Bu, bir internet ana prensibinin
temelini oluşturur: "güvenilirlik".
-
Peki bir veri talep etmek istemişseniz
ve her şey teslim edilmemişse?
-
Diyelim ki
bir şarkı dinlemek istiyorsunuz.
-
Tüm verilerin teslim edilip
şarkının başarıyla çalacağından
-
nasıl yüzde yüz emin olabilirsiniz?
-
Yeni en iyi arkadaşınızla tanışın.
"TCP: Geçiş Kontrol Protokolü".
-
TCP tüm verilerinizin paketler halinde
gönderilip alınmasını yönetir.
-
Taahhütlü posta hizmeti gibi düşünün.
-
Cihazınızda bir şarkı istediğinizde
Spotify şarkıyı
-
paketlere bölünmüş halde gönderir.
-
Paketleriniz ulaştığında
TCP etraflı bir sayım yapar
-
ve alınan her paket için teyit gönderir.
-
Tüm paketler ulaşmışsa TCP
teslim edildiğine dair imza atar
-
ve görev tamamlanır.
-
♪ (hareketli müzik) ♪
-
TCP bazı paketlerin kayıp olduğunu
fark ederse imza atmaz,
-
yoksa şarkınızın sesi pek iyi çıkmaz
veya bazı kısımları eksik olabilir.
-
Her bir eksik veya tamamlanmamış paketi
Spotify yeniden gönderir.
-
TCP bir şarkı için birçok paketin
teslim edildiğini doğruladığında
-
şarkınız çalmaya başlayacaktır.
-
♪ (hareketli müzik) ♪
-
TCP ve yönlendirme sistemlerinin en iyi
tarafı "ölçeklendirilebilir" olmalarıdır.
-
8 cihazla da
8 milyar cihazla da çalışabilirler.
-
Aslında, "arızaya dayanıklılık"
ve "yedeklilik" ilkeleri dolayısıyla
-
ne kadar "yönlendirici" eklersek
internet o kadar "güvenilir" hale gelir.
-
Güzel olan bir diğer şeyse interneti
herhangi bir kullanıcının hizmetini
-
sekteye uğratmadan
geliştirip ölçeklendirebilmemiz.
-
İnternet, fiziksel olarak bağlı
yüz binlerce "ağdan" ve milyarlarca
-
bilgisayar ve "cihazdan" oluşur. İnterneti
oluşturan bu farklı sistemler verilerin
-
internette nasıl gönderileceğine dair
üzerinde anlaşılan standartlar dolayısıyla
-
birbirlerine bağlanır, birbirleriyle
iletişim kurar ve birlikte çalışırlar.
-
Bilgisayarlar veya internet üzerindeki
yönlendiriciler tüm paketlerin yeniden
-
birleştirilecekleri varış noktasına,
gerekliyse sırayla, ulaşmalarını sağlar.
-
Bu bir günde milyarlarca kez,
siz veya bir başkası e-posta gönderirken,
-
bir web sitesini ziyaret ederken,
görüntülü konuşma yaparken,
-
bir mobil uygulama kullanırken
veya internet üzerindeki sensörler
-
veya cihazlar birbirleriyle
konuşurlarken gerçekleşir.