En başından…
Adres çubuğuna bir şey yazıp Enter’a bastığında ne oluyor?
Bu soruyu herkes cevaplayabilir: “sayfa geliyor.” Biraz daha ileri gidenler DNS’ten, TCP’den, belki TLS’ten söz eder. Ama sorunun peşine gerçekten düşenler azdır, çünkü cevap tek bir yerde durmuyor. Adres çözümlemede, transport layer’ında, bir switch’in MAC tablosunda, bir router’ın TCAM’inde, bir cam liften geçen ışığın kırılma açısında ve iki operatör arasındaki ticari anlaşmada aynı anda duruyor.
Bu kitap o cevabı baştan sona takip ediyor: tek bir isteğin peşinden yetmiş durak boyunca gidiyoruz.
Kitabın tek sorusu ve üç omurgası
Kitap boyunca izlediğimiz nesne değişmiyor: adres çubuğuna yazdığın tek bir HTTP isteği. Her bölümde “istek şu anda nerede?” sorusunun bir cevabı var. Bölümleri birbirinden bağımsız konu başlıkları olarak değil, aynı yolculuğun durakları olarak sıraladım.
Bunun altında üç soru yatıyor. Üçünü şimdi soruyorum, kitabın farklı yerlerinde tek tek kapatacağız; son sözde de üçünü birlikte toparlayacağız.
1. Bir isim nasıl adrese dönüşüyor ve bunu sana kim söylüyor?
2. Kaybolabilen bir yolun üstünde kaybolmayan bir aktarım nasıl kuruluyor?
3. Kimsenin yolun tamamını bilmediği bir ağda paket yolunu nasıl buluyor?
Okumadan önce
Bölümler birbirine sorularla bağlı: her biri bir öncekinin sonunda sorulan soruyla açılıyor, o yüzden sıra bozulmadan okumak en kolayı. Konuyu zaten biliyorsan yol haritasından istediğin durağa atlayabilirsin; bir bölüm önceki bir durağa dayanıyorsa oraya bağlantı veriyor.
Bölümlerin içinde yer yer katlanabilir paneller göreceksin. Tasarım gerekçesini, tarihsel kararı ve ödünleşimi onların içine koydum; kapalıyken de bölümün tamamı anlaşılıyor.
Bazı terimleri İngilizce bıraktım: switch, router, frame, flow ve OSI katmanlarının adları (application layer, transport layer gibi). Komut çıktılarında, belgelerde ve iş ilanlarında karşına bu adlarla çıkacaklar. Her birini ilk ele aldığım yerde Türkçe açıklıyorum; Türkçesi yerleşmiş olanlarda (adres, bağlantı, önbellek) Türkçeyi kullanıyorum.
Kod bloklarındaki komutları çalıştırmak zorunda değilsin; çıktılarını metnin içinde gösteriyorum. Denemek istersen komutların çoğu Linux ve macOS’ta olduğu gibi çalışıyor; Windows’ta farklı olanların bir kısmının karşılığını da yanlarına yazdım.
Her bölümün başlığının altında okuma süresi yazılı. Klavyede j bir sonraki, k bir önceki bölüme geçiriyor.
Yolun haritası
Bölümleri on iki kısma ayırdım. İlk dokuz kısım yolculuğun kendisi; her birinin adı isteğin o sırada nerede olduğunu söylüyor. Yolculuk 70. bölümde bitiyor, kitap bitmiyor. Son üç kısım aynı fikirleri yolun kenarındaki başka ağlarda sürdürüyor: isteği tarayıcı olmadan kendi kodunla göndermek ve bir protokol tasarlamak, ses ve görüntünün ağdan nasıl aktığı, pille yaşayan kablosuz sensör ağları. En sonda da bütün kitabı toparlayan bir kapanış bölümü var.
Parmağın tuşun üstünde duruyor. Bastığın anda o metin kimin eline geçiyor?
1. bölüme devam et: Adres Çubuğundan İsteğe »